实验题目___________数字信号处理实验_____________
实验三、IIR 与 FIR 数字滤波器设计
一、实验目的
1、熟悉 FIR 滤波器的设计过程。
2、能够根据滤波器设计指标设计不同的滤波器。
3、熟悉 FDATool,SPTool 的一般操作。
二、实验环境
Matlab 信号处理工具箱。
三、实验内容
1、用模拟原型法设计法与窗函数法分别设计一个 IIR 和 FIR 低通滤波器 F1, F2,
并满足性能指标:通带归一化频率 wp=0.5,阻带归一化频率 ws=0.6,阻带衰减不小于
40dB,通带波纹不大于 3dB。假设一个信号 S,其中 f1=8Hz,f2=21Hz。信号采样频率
为 50Hz。试将原信号与通过滤波器的信号进行比较。
要求:
(1) 分别给出 IIR 和 FIR 滤波器的 MATLAB 代码。
IIR:
Fs=50;
wp=0.5;ws=0.6;rs=40;rp=3;
Nn=128; %采样间隔
[N,Wn]=buttord(wp,ws,rp,rs); %计算模拟滤波器的最小阶数
[b,a]=butter(N,Wn); %设计低通原型数字滤波器
figure(1)
[H,f]=freqz(b,a,Nn,Fs);%输出幅频响应和相频响应
subplot(2,1,1),plot(f,20*log10(abs(H)))
xlabel('频率/Hz'); ylabel('振幅/dB'); grid on;
subplot(2,1,2),plot(f,180/pi*unwrap(angle(H)))
xlabel('频率/Hz');ylabel('相位/^o');grid on;
figure(2)
dt=1/Fs;
f1=8;f2=21;
t=0:dt:3;
x=sin(2*pi*f1*t)+0.5*cos(2*pi*f2*t);%输入信号
subplot(2,1,1),plot(t,x),title('输入信号')
y=filter(b,a,x);%对信号进行滤波
subplot(2,1,2),plot(t,y),title('输出信号'),xlabel('时间/s');
- 1
- 2
前往页