Technical discussion about Matlab and issues related to Digital Signal Processing.
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