数字信号处理实验讲义
四、实验思考
1、双线性变换法中Ω和ω之间的关系是非线性的,在实验中你注意到这种非线性关系了吗?从那几种数字滤波器的幅频特性曲线中可以观察到这种非线性关系?
2、能否利用公式计?为什么?
H(z)?H(s)|s?1lnzT完成脉冲响应不变法的数字滤波器设
五、参考程序
1、设计一低通巴特沃斯滤波器,其通带截止频率3400Hz,通带最大衰减3dB;阻带截止频率4000Hz,阻带最小衰减40dB。
程序如下:
%A为系统函数Ha(s)的分母多项式系数行向量
%B为系统函数Ha(s)的分子多项式系数行向量 clear; close all fp=3400;fs=4000;
Rp=3;As=40; [N,fc]=buttord(fp,fs,Rp,As,'s')%计算阶数N和3dB截止频率fc [B,A]=butter(N,fc,'s');
[hf,f]=freqs(B,A,1024);%计算模拟滤波器频率响应,freqs为工具箱函数 subplot(3,2,1);
plot(f,20*log10(abs(hf)/abs(hf(1)))); grid;xlabel('频率(Hz)'); ylabel('幅度(dB)') axis([0,4000,-40,5]) line([0,4000],[-3,-3]); line([3400,3400],[-90,5])
0.2s2?0.3s?12、freqs 函数:模拟滤波器的频率响应。系统传递函数为H(s)?
s2?0.4s?1的模拟滤波器,在MATLAB 中可以用以下程序来实现: a=[1 0.4 1]; b=[0.2 0.3 1]; %设置分子分母的系数
w=logspace(-1,1); %产生从10?1到101 之间地0 个等间距点,即50 个频率点 freqs(b,a,w) %根据输入的参数绘制幅度谱和相位谱
0.2?0.3z?z?23、 freqz 函数:数字滤波器的频率响应。系统传递函数为H(z)?
1?0.4z?z?2的模拟滤波器,在MATLAB 中可以用以下程序来实现: a=[1 0.4 1];b=[0.2 0.3 1];
%根据输入的参数绘制幅度谱和相位谱,得到0 到π之间128 个点处的频率响应 freqz(b,a,128)
4、ButterWorth 模拟和数字滤波器
26
数字信号处理实验讲义
(1)butterd 函数:ButterWorth 滤波器阶数的选择。
调用格式:[n,Wn]=butterd(Wp,Ws,Rp,Rs),在给定滤波器性能的情况下(通带临界频率Wp、阻带临界频率Ws、通带内最大衰减Rp 和阻带内最小衰减Rs),计算ButterWorth 滤波器的阶数n 和截止频率Wn 。相同参数条件下的模拟滤波器则调用格式为: [n,Wn]=butterd(Wp,Ws,Rp,Rs,’s’)
(2)butter 函数:ButterWorth 滤波器设计。
调用格式:[b,a]=butter(n,Wn),根据阶数n 和截止频率Wn 计算ButterWorth 滤波器分子分母系数(b 为分子系数的矢量形式,a 为分母系数的矢量形式)。相同参数条件下的模拟滤波器则调用格式为:[b,a]=butter(n,Wn,’s’)
采样频率为1Hz,通带临界频率fp =0.2Hz,通带内衰减小于1dB(αp=1);阻带临界频率fs=0.3Hz,阻带内衰减大于25dB(αs=25)。设计一个数字滤波器满足以上参数。 [n,Wn]=buttord(0.2,0.3,1,25);
[b,a]=butter