Home > cbassSouthFunctions > CJCThesisFunctions > hartrao > checkpfb.m

checkpfb

PURPOSE ^

SYNOPSIS ^

This is a script file.

DESCRIPTION ^

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 // declarations
0002 filter[M]
0003 signal[M]
0004 b[N]
0005 output[N/2+1]
0006 // generate filter
0007 FOR i in M
0008 // sinc function
0009 filter[i] = sinc((i-M/2)/N)
0010 // window
0011 filter[i] *= 0.5-0.5*cos(2*PI*i/M)
0012 ENDFOR
0013 // acquire signal
0014 READ signal
0015 // perform polyphase structure
0016 FOR i in N
0017 b[i] = 0
0018 FOR j in P
0019 b[i] += filter[j*N+i]*signal[j*N+i]
0020 ENDFOR
0021 ENDFOR
0022 // perform FFT
0023 CALL fft(b,output,N)
0024 // write output
0025 WRITE out
0026 
0027 fs=100;
0028 x  = sin(2*pi*1e3/fs*n);      % Original signal--sinusoid at 1kHz.
0029 M=2^17
0030 N=1024
0031 P=4
0032 filter=zeros(1,M);
0033 signal=zeros(1,M);
0034 out=zeros(1,M);
0035 for i=1:M
0036    filter(i)=sinc((i-M/2)/N);
0037    filter(i)=filter(i)*0.5-0.5*cos(2*3.1457*i/M);
0038    signal(i)=sin(i./(2*3.1457));
0039 end
0040 
0041 b=zeros(1,N)
0042 for i=1:N
0043    for j = 1:P
0044        b(i)=b(i)+filter(j*N+i)*signal(j*N+i);
0045    end
0046 end
0047        
0048 tt=abs(fft(b))

Generated on Sun 14-Jun-2015 17:12:45 by m2html © 2005