数字信号处理实验讲义
四、实验思考
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(n,Wn); freqz(b,a,512,1);
5、Chebyshev 模拟和数字滤波器
(1)cheb1ord 函数:ChebyshevⅠ型Ⅱ滤波器阶数计算。
调用格式:[n,Wn]=cheb1ord(Wp,Ws,Rp,Rs),在给定滤波器性能的情况下(通带临界频 率Wp、阻带临界频率Ws、通带内波纹Rp 和阻带内衰减Rs),选择ChebyshevⅠ型滤波器 的最小阶n 和截止频率Wn。
(2)cheby1 函数:ChebyshevⅠ型滤波器设计。
调用格式:[b,a]=butter(n,Rp,Wn),根据阶数n、通带内波纹Rp 和截止频率Wn 计算
ButterWorth 滤波器分子分母系数(b 为分子系数的矢量形式,a 为分母系数的矢量形式)。 注:ChebyshevⅡ型滤波器所用函数和Ⅰ型类似,分别是cheb2ord、cheby2。
实现上例中的滤波器
[n,Wn]=cheb1ord(0.2,0.3,1,25); [b,a]=cheby1(n,1,Wn); freqz(b,a,512,1);
6、滤波器设计
(1)脉冲响应不变法设计数字ButterWorth 滤波器
调用格式:[bz,az]=impinvar(b,a,Fs),再给定模拟滤波器参数b,a 和取样频率Fs 的前提下,计算数字滤波器的参数。两者的冲激响应不变,即模拟滤波器的冲激响应按Fs 取样后等同于数字滤波器的冲激响应。
(2)利用双线性变换法设计数字ButterWorth 滤波器
调用格式:[bz,az]=bilinear[b,a,Fs],根据给定的分子b、分母系数a 和取样频率Fs,根据双线性变换将模拟滤波器变换成离散滤波器,具有分子系数向量bz 和分母系数向量az。模拟域的butter 函数说明与数字域的函数说明相同[b,a]=butter(n,Wn,’s’)可以得到模拟域的Butterworth 滤波器。
采样频率为1Hz,通带临界频率fp =0.2Hz,通带内衰减小于1dB(αp=1);阻带临界频率fs=0.3Hz,阻带内衰减大于25dB(αs=25)。设计一个数字滤波器满足以上参数。
27
数字信号处理实验讲义
实验六 用窗函数法设计FIR数字滤波器
一、实验目的
1、 掌握用窗函数法,频率采样法及优化设计法设计FIR滤波器的原理及方法,熟
悉响应的计算机编程; 2、 熟悉线性相位FIR滤波器的幅频特性和相频特性; 3、 了解各种不同窗函数对滤波器性能的影响。
二、实验原理与方法
线性相位实系数FIR滤波器按其N值奇偶和h(n)的奇偶对称性分为四种: 1、h(n)为偶对称,N为奇数
(N?1)/2?N?1??j?N?1j?H(e)??h()??2h(?n)cos(n?)?e22n?1??N?12
H(ej?)的幅值关于ω=0,π,2π成偶对称。
2、h(n)为偶对称,N为偶数
?N/2N1???j??j?H(e)???2h(?1?n)cos??(n?)??e22????n?1H(ej?)的幅值关于ω=π成奇对称,不适合作高通。
3、h(n)为奇对称,N为奇数
?N?1???j?j??H(e)???2h(?n)sin(n?)?e2???N?12
N?1????22?
H(ej?)的幅值关于ω=0,π,2π成奇对称,不适合作高通和低通。
4、h(n)为奇对称,N为偶数
?N1???H(e)???2h(?1?n)sin??(n?)??e22????n?1j?
28
N/2?N?1???j????22??数字信号处理实验讲义
H(ej?) ω=0、2π=0,不适合作低通。
(一) 窗口法
窗函数法设计线性相位FIR滤波器步骤
? ?
确定数字滤波器的性能要求:临界频率{ωk},滤波器单位脉冲响应长度N; 根据性能要求,合理选择单位脉冲响应h(n)的奇偶对称性,从而确定理想频率响应
H(ej?)的幅频特性和相频特性;
?
求理想单位脉冲响应hd(n),在实际计算中,可对Hd(e)按M(M远大于N)点等距离采样,并对其求IDFT得hM(n),用hM(n)代替hd(n);
选择适当的窗函数w(n),根据h(n)= hd(n)w(n)求所需设计的FIR滤波器单位脉冲响应;
求H(ej?),分析其幅频特性,若不满足要求,可适当改变窗函数形式或长度N,重复上述设计过程,以得到满意的结果。
jω
?
?
窗函数的傅式变换W(e)的主瓣决定了H(ej?)过渡带宽。W(e)的旁瓣大小和多少决
jω
jω
定了H(ej?)在通带和阻带范围内波动幅度,常用的几种窗函数有:
矩形窗 w(n)=RN(n) ;
?
?
Hanning窗 w(n)?0.5?1?cos??2?n?RN(n); ?N?1?2?n?RN(n)
N?1??;
?
Hamming窗 w(n)??0.54?0.46cos???
Blackmen窗 w(n)??0.42?0.5cos??2?n4?n??0.08cosRN(n) ?N?1N?1?;
2? Kaiser窗 w(n)?I0?1??2n/(N?1)?1?I0(?)??R(n)N 。
式中Io(x)为零阶贝塞尔函数。 (二)频率采样法
29