⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shiyan2.m

📁 matlab离散信号时域分析
💻 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 + -