www.gusucode.com > signal 案例源码程序 matlab代码 > signal/ResampleWithKaiserWindowExample.m
%% Resample Using Kaiser Window % Construct a sinusoidal signal. Specify a sample rate such that 16 samples % correspond to exactly one signal period. Draw a stem plot of the signal. % Overlay a stairstep graph for sample-and-hold visualization. %% fs = 16; t = 0:1/fs:1-1/fs; x = 0.75*sin(2*pi*t); stem(t,x) hold on stairs(t,x) hold off %% % Use |resample| to upsample the signal by a factor of four. Use the % default settings. Plot the result alongside the original signal. ups = 4; dns = 1; fu = fs*ups; tu = 0:1/fu:1-1/fu; y = resample(x,ups,dns); stem(tu,y) hold on stairs(t,x) hold off legend('Resampled','Original') %% % Repeat the calculation. Specify |n| = 1 so that the antialiasing filter % is of order $2\times1\times4=8$. Specify a shape parameter $\beta=0$ for % the Kaiser window. Output the filter as well as the resampled signal. n = 1; beta = 0; [y,b] = resample(x,ups,dns,n,beta); fo = filtord(b) stem(tu,y) hold on stairs(t,x,'--') hold off legend('n = 1, \beta = 0') %% % The resampled signal shows aliasing effects that result from the % relatively wide mainlobe and low sidelobe attenuation of the window. % % Increase |n| to 5 and leave $\beta=0$. Verify that the filter is of % order 40. Plot the resampled signal. n = 5; [y,b] = resample(x,ups,dns,n,beta); fo = filtord(b) stem(tu,y) hold on stairs(t,x,'--') hold off legend('n = 5, \beta = 0') %% % The longer window has a narrower mainlobe and attenuates aliasing effects % better. It also attenuates the signal. % % Leave the filter order at $2\times5\times4=40$ and increase the shape % parameter to $\beta=20$. beta = 20; y = resample(x,ups,dns,n,beta); stem(tu,y) hold on stairs(t,x,'--') hold off legend('n = 5, \beta = 20') %% % The high sidelobe attenuation results in good resampling. % % Decrease the filter order back to $2\times1\times4=8$ and leave % $\beta=20$. n = 1; [y,b] = resample(x,ups,dns,n,beta); stem(tu,y) hold on stairs(t,x,'--') hold off legend('n = 1, \beta = 20') %% % The wider mainlobe generates considerable artifacts upon resampling.