📄 shiyan2.m
字号:
%-----实验四
%butterworth模拟滤波器设计
%技术指标fp=2khz fs=10 khz Ap<=0.5dB As>=50 dB
Ap=0.5;
As=50;
Wp=2*pi*2000;
Ws=2*pi*10000;
%采样间隔
t=0.02*pi;
Fs=2*pi/t;
[n,wc]=buttord(Wp,Ws,Ap,As,'s');
[numa,dena]=butter(n,wc,'s');
fprintf('butterworth模拟滤波器设计成功!')
fprintf('order of filter=%.Of\n',n);
disp('Numerator polyminial');
fprintf('%.4e\n',numa);
disp('Denominator polynamial');
fprintf('%.4e\n',dena);
%模拟滤波器设计成功,下面为脉冲响应不变法设计数字波器
[numd,dend]=impinvar(numa,dena,44100);
%双线性变换法设计
[numd2,dend2]=bilinear(numa,dena,44100);
%数字滤波器的幅频响应曲线
%w=[0:0.02*pi:pi/2]
%h=freqz(numd,dend,w);%频率响应
%h2=freqz(numd2,dend2,w);%频率响应
%subplot(2,3,1);
%plot(w/pi,abs(h),'--r',w/pi,abs(h2),'.-b');
%grid;
%xlabel('Nornalized frequency');
%ylabel('幅度');
%title('幅频响应');
%subplot(2,3,2);
%plot(w/pi,angle(h),'--r',w/pi,angle(h),'.-b');
%grid;
%xlabel('Nornalized frequency');
%ylabel('角频率');
%title('频率响应');
%输入的序列
x=[-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16,-38,-60,-84,-90,-66,-32,-4,-2,-4,8,12,12,10,6,6,6,4,0,0,0,0,0,-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0]
w2=0:55
%subplot(2,,3);
%stem(w2,x);
%xlabel('k');
%title('原来序列');
h=freqz(numd,dend,w2);%频率响应
h2=freqz(numd2,dend2,w2);%频率响应
f=fft(x);
ff=f.*h;
ff2=f.*h2;
subplot(3,1,1);
stem(w2,abs(f));
grid;
xlabel('Nornalized frequency');
ylabel('频率');
title('频率响应');
shum=ifft(ff);
shum2=ifft(ff2);
subplot(3,1,2);
stem(w2,abs(shum));
xlabel('k');
title('脉冲响应不变法的x[k]的响应');
subplot(3,1,3);
stem(w2,abs(shum2));
xlabel('k');
title('双线性变换法的x[k]的响应')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -