Home > cbassSouthFunctions > CJCThesisFunctions > hartrao > pfbBrute1.m

pfbBrute1

PURPOSE ^

Analysis parameters:

SYNOPSIS ^

This is a script file.

DESCRIPTION ^

 Analysis parameters:

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 % Analysis parameters:
0002 M = 31;         % Window length (we'll use a "Hanning window")
0003 N = 64;         % FFT length (zero padding around a factor of 2)
0004 M = 8192;         % Window length (we'll use a "Hanning window")
0005 N = 8192;         % FFT length (zero padding around a factor of 2)
0006 
0007 pfbTaps=4;
0008 
0009 hold all
0010 vec=[];
0011 vecpfb=[];
0012 vecfft=[];
0013 interval=0.01;
0014 steps=10000;
0015 wxT
0016 for i=1:8192
0017     % Signal parameters:
0018     wxT = 2*pi/(4);   % Sinusoid frequency in rad/sample (1/4 sampling rate)
0019     wxT=wxT-i./(8.*8192);
0020     A = 1;          % Sinusoid amplitude
0021     phix = 0;       % Sinusoid phase
0022     
0023     % Compute the signal x:
0024     n = [0:N-1];    % time indices for sinusoid and FFT
0025     x = A * exp(j*wxT*n+phix); % the complex sinusoid itself: [1,j,-1,-j,1,j,...]
0026     
0027     % Compute Hanning window:
0028     nm = [0:M-1];   % time indices for window computation
0029     %w = (1/M) * (cos((pi/M)*(nm-(M-1)/2))).^2;  % Hanning window = "raised cosine"
0030     w=hamming(M)';
0031      wzp = [w,zeros(1,N-M)]; % zero-pad out to the length of x
0032     xw = x .* wzp;          % apply the window w to the signal x
0033     pfb1=xw(1:M./pfbTaps);
0034     pfb2=xw(M./pfbTaps+1:2.*M./pfbTaps);
0035     pfb3=xw(2.*M./pfbTaps+1:3.*M./pfbTaps);
0036     pfb4=xw(3.*M./pfbTaps+1:4.*M./pfbTaps);
0037     pfbSum=pfb1+pfb2+pfb3+pfb4;
0038     fft_pfb=fft(pfbSum);
0039     fft_xw=fft(xw);
0040     fft_fft=fft(x);
0041      vec=[vec;wxT abs(fft_xw(1960))];
0042     vecfft=[vecfft;wxT abs(fft_fft(1960))];
0043     vecpfb=[vecpfb; wxT abs(fft_pfb(1960./4))];
0044     
0045     vec2=[vec;wxT abs(fft_xw(1964))];
0046     vecfft2=[vecfft;wxT abs(fft_fft(1964))];
0047     vecpfb2=[vecpfb; wxT abs(fft_pfb(1964./4))];
0048    % plot(abs(fft_pfb))
0049     %plot(abs(fft_xw(1635)))
0050 end
0051 
0052 subplot(311)
0053 plot(20.*log10(vecpfb(:,2)))
0054 subplot(312)
0055 plot(20.*log10(vecfft(:,2)))
0056 subplot(313)
0057 plot(20.*log10(vec(:,2)))
0058 
0059 tophat=rectwin(8192)
0060 samples=[1:8192]
0061 subplot(421)
0062 plot(samples,tophat)
0063 xlim([1 8192])
0064 
0065 vecSam=[1:10]
0066 subplot(422)
0067 plot(vecfft(:,1),20.*log10(vecfft(:,2)))
0068 hold all
0069 plot(vecpfb(:,1),20.*log10(vecpfb(:,2)))

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