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

📄 iir_h.m

📁 数字信号课程设计
💻 M
字号:
x1=wavread('音乐.wav');
Rp=1;
Rs=10;
Fs=22050;
Ts=1/Fs;
wp=2*pi*4800/Fs;
ws=2*pi*5000/Fs;
wp1=2/Ts*tan(wp/2);                %将模拟指标转换成数字指标
ws1=2/Ts*tan(ws/2); 
[N,Wn]=buttord(wp1,ws1,Rp,Rs,'s');  %选择滤波器的最小阶数
[Z,P,K]=buttap(N);                  %创建巴特沃斯模拟滤波器
[Bap,Aap]=zp2tf(Z,P,K);         %变系统零点增益为传递函数形式
[b,a]=lp2hp(Bap,Aap,Wn);       %低通到高通模拟滤波器的变换
[bz,az]=bilinear(b,a,Fs);           %用双线性变换法实现模拟滤波器到数字滤波器的转换
[H,W]=freqz(bz,az);                 %绘制频率响应曲线

figure(1)
plot(W*Fs/(2*pi),abs(H))
grid
xlabel('频率/Hz')
ylabel('频率响应幅度')
title('巴特沃斯高通滤波器')

f1=filter(bz,az,x1);

figure(2)
subplot(2,1,1)
plot(x1)                          %画出滤波前的时域图
title('滤波前的时域波形');
subplot(2,1,2)
plot(f1);                         %画出滤波后的时域图
title('滤波后的时域波形');

sound(f1,44100);                    %播放滤波后的信号
F0=fft(f1,1024);
f=fs*(0:511)/1024;

figure(3)
y2=fft(x1,1024);
subplot(2,1,1);
plot(f,abs(y2(1:512)));             %画出滤波前的频谱图
title('滤波前的频谱')
xlabel('Hz');
ylabel('幅值');
subplot(2,1,2)
F1=plot(f,abs(F0(1:512)));          %画出滤波后的频谱图
title('滤波后的频谱')
xlabel('Hz');
ylabel('幅值');

⌨️ 快捷键说明

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