matlab R数字滤波器的设计
实验二 IIR数字滤波器的设计
实验目的
学会用MATLAB设计IIR数字滤波器。
实验原理
实验内容
问题〔.1〕试设计一个模拟低通滤波器,fp=2400Hz,fs=5000?Hz,Rp=3 dB,Rs=25?dB。分别用巴特沃斯和椭圆滤波器原型,求出其3dB截止频率和滤波器阶数,传递函数,并作出幅频、相频特性曲线。 〔.2〕试设计一个巴特沃斯型数字低通滤波器,设采样率为8000Hz,fp=2100Hz,fs=2500?Hz,Rp=3dB,Rs=25?dB。实例〔.3〕试设计一个切比雪夫1型高通数字滤波器,采样率为8000Hz,fp=1000Hz,fs=700?Hz,Rp=3dB,Rs=20?dB。〔.4〕试设计一个巴特沃斯型模拟带通滤波器。Rp=1dB,Rs=?dB。设采样率为10000Hz.
设计问题。% ch3example1A.m
clear;
f_p=2400; f_s=5000; R_p=3; R_s=25; % 设计要求指标
[n, fn]=buttord(f_p,f_s,R_p,R_s, 's'); % 计算阶数和截止频率
Wn=2*pi*fn; % 转换为角频率
[b,a]=butter(n, Wn, 's'); % 计算H(s)
f=0:100:10000; % 计算频率点和频率范围
s=j*2*pi*f; % s=jw=j*2*pi*f
H_s=polyval(b,s)./polyval(a,s); % 计算相应频率点处H(s)的值
figure(1);
subplot(2,1,1); plot(f, 20*log10(abs(H_s))); % 幅频特性
axis([0 10000 -40 1]);
xlabel('频率 Hz');ylabel('幅度 dB');
subplot(2,1,2); plot(f, angle(H_s)); % 相频特性
xlabel('频率 Hz');ylabel('相角 rad');
figure(2); freqs(b,a); % 也可用指令freqs直接画出H(s)的频率响应曲线。
% ch3example1B.m
clear;
f_p=2400; f_s=5000; R_p=3; R_s=25; % 设计要求指标
[n, fn]=ellipord(f_p,f_s,R_p,R_s,'s'); % 计算阶数和截止频率
Wn=2*pi*fn; % 转换为角频率
[b,a]=ellip(n,R_p,R_s,Wn,'s'); % 计算H(s)
f=0:100:10000; % 计算频率点和频率范围
s=j*2*pi*f; % s=jw=j*2*pi*f
H_s=polyval(b,s)./polyval(a,s); % 计算相应频率点处H(s)的值
figure(1);
subplot(2,1,1); plot(f, 20*log10(abs(H_s))); % 幅频特性
axis([0 10000 -40 1]); xlabel('频率 Hz');ylabel('幅度 dB');
subplot(2,1,2); plot(f, angle(H_s)); % 相频特性
xlabel('频率 Hz');ylabel('相角 rad');
figure(2); freqs(b,a); % 也可用指令freqs直接画出H(s)的频率响应曲线。
% ch3example2A.m
f_N=8000; % 采样率
f_p=2100; f_s=2500; R_p=3; R_s=25; % 设计要求指标
Ws=f_s/(f_N/2); Wp=f_p/(f_N/2); % 计算归一化频率
[n, Wn]=buttord(Wp,Ws,R_p,R_s); % 计算阶数和截止频率
[b,a]=butter(n, Wn); % 计算H(z)
figure(1);
freqz(b,a, 1000, 8000) % 作出H(z)的幅频相频图, freqz(b,a, 计算点数, 采样率)
subplot(2,1,1); axis([0 4000 -30 3])
f