fig6_8.m

来自「数字信号处理Matlab演示文件,其中各个文件加放置了不同的matlab子文件」· M 代码 · 共 46 行

M
46
字号
%	Figure 6.8
% 	11 to 31 tap FIR LPF (rectangular window)
%
%	Ms Oh; Revised BM July 1998

clear
clf
colordef(1,'white')

wc = 0.1;	%normalised cut-off frequency
wc = wc*2;	%matlab scale
M = 256;	%no. of frequency samples

ii = 10;
b = fir1(ii,wc,boxcar(ii+1));
[h,w] = freqz(b,1,M);
mag = 20*log10(abs(h));
f = w/pi/2;

lm1 = line('Xdata',f,'Ydata',mag,'Linestyle','-','Color','y','Erasemode','Xor');
lm2 = line('Xdata',f,'Ydata',mag,'Linestyle','-','Color','r','Erasemode','None');
yy = [0 0 -90];
xx = [0 0.1 0.1];
lm3 = line('Xdata',xx,'Ydata',yy,'Linestyle','--','Color','b','Erasemode','None');
axis ( [ 0 0.5 -90 10 ]);
axis('square')
xlabel('frequency (rad/s)'),ylabel('gain (dB)');


fprintf(1,'Figure 6.7: 11-tap FIR filter\n')
fprintf(1,'          : press return for 21-tap and 31-tap\n')
pause

for ii=10:10:30

	b = fir1(ii,wc,boxcar(ii+1));
	[h,w] = freqz(b,1,M);
	mag = 20*log10(abs(h));
	
	set(lm1,'Xdata',f,'Ydata',mag);
	set(lm2,'Xdata',f,'Ydata',mag);
	
	pause(3);
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?