hello everyone,
i am Mahantesh from BASAVESHWAR ENGG COLLEGE,BAGALKOT. INDIA we are doing our
final year project on polyphase implementation of fir filter banks using MATLAB
.we have used a kaiser window digital filter in this.our aim of project is to
implement the polyphasing of filter such that it reduces the time needed for
convolution with any large input signal like speech and image signals.we are
dividing the filter in its poly phases as shown in the below example
if filter h(n)=[1 2 3 4 5 6 7 8]
then for two phase implementation we have h1(n)=[ 1 0 3 0 5 0 7 0]
and for h2(n)=[0 2 0 4 0 6 0 8]
then we calculate the time for convolution of this with a noise file of 50000
samples.
that is the program looks like
tic
y=conv(x,h) %where x=noise signal and h= filter coefficients
toc
this is the program with out phasing and which should take larger time to
execute than the phased programs.the programs for phased filter is
tic
y=conv(x,h1)+conv(x,h2) %where x=noise signal, h1 and h2 are two phased
filter
%coefficints as explained above
toc
according to logic the two phased program should take lesser time to execute
that is to convolve.
OUR PROBLEM IS WE ARE GETTING THE ELAPSED TIME WHICH IS NOT CONSTANT VARRIES
FOR EVERY EXECUTION OF THE ABOVE PROGRMS.SOME TIMES IT SHOWS LESSER TIME AND
SOME TIME IT SHOWS A LARGER TIME, WE ARE A BIT CONFUSED ABOUT THIS AND HAVE ALSO
CHECKED WITH INSTRUCTIONS etime and cputime in matlab but the problem
persists,we have written programs up to eight phases in all and not able to get
the exact out put, so we request you to help us regarding the program and the
execution time.we request you to guide whether our program is correct or not and
why the matlab shows the random execution time,please respond as quickly as you
get this mail
thanking you,
yours faithfully,
Mahantesh Ambole