数字信号处理实验报告
实验四 窗函数法设计FIR数字滤波器
一、实验目的
1、掌握窗函数法设计FIR数字滤波器的原理及具体方法。 2、掌握频率取样法设计FIR数字滤波器的原理和基本方法。
3、学习利用窗函数法和频率取样法设计低通、带通、高通、带阻数字滤波器。 二、实验环境
计算机、MATLAB软件 三、实验基础理论
窗函数设计FIR滤波器 1.基本原理
窗函数设计法的基本思想为,首先选择一个适当的理想的滤波器Hd(ej?),然后
用窗函数截取它的单位脉冲响应hd(n),得到线性相位和因果的FIR滤波器。这种方法的重点是选择一个合适的窗函数和理想滤波器,使设计的滤波器的单位脉冲响应逼近理想滤波器的单位脉冲响应。
2.设计步骤
(1)给定理想滤波器的频率响应Hd(ej?),在通带上具有单位增益和线性相位,
在阻带上具有零响应。一个带宽为?c(?c??)的低通滤波器由下式给定:
其中?为采样延迟,其作用是为了得到一个因果系统。 (2)确定这个滤波器的单位脉冲响应
Hd(ej?)?e?ja?,|?|??c,Hd(ej?)?0,?c?|?|??hd(n)?sin(?c(n?a))
?(n?a)为了得到一个h(n)长度为N的因果的线性相位FIR滤波器,我们令
a?
N?1 2(3)用窗函数截取hd(n)得到所设计FIR数字滤波器:h(n)?hd(n)RN(n) 3.窗函数的选择
常用的窗函数有矩形(Rectangular)窗,汉宁(Hanning)窗,海明(Hamming)窗、布莱克曼(Blackman)窗、凯瑟(Kaiser)窗等
表4-1 MATLAB中产生窗函数的命令
MATLAB函数 Boxcar Hanning Hamming
1
窗函数 矩形窗函数 汉宁窗函数 海明窗 MATLAB函数 Blackman Kaiser 窗函数 布莱克曼窗 凯瑟窗函数 数字信号处理实验报告
表4-2 常用窗函数的特性
窗函数频率特性 窗函数 dB 矩形窗 汉宁窗 海明窗 布莱克曼窗 -13 -31 -41 -57 旁瓣峰值主瓣宽度 4π/N 8π/N 8π/N 12π/N 加窗后滤波器指标 过渡带宽 1.8π/N 6.2π/N 6.6π/N 11π/N 最小阻带衰减dB -21 -44 -53 -74 凯瑟窗是一种广泛在实际中广泛应用的窗函数,它由下式给定: ?2n2?I0??1?(1?)?N?1?
?(n)??I0[?]其中I0?x?是修正的零阶贝塞尔函数,参数?控制最小阻带衰减,这种窗函数对于相同的N可以提供不同的过渡带宽。由于贝塞尔函数比较复杂,这种窗函数的设计方程很难推导,然而幸运的是,有一些经验设计方程可以直接使用。
已知给定的指标?p,?st,Rp和As ,滤波器长度N和凯瑟窗参数?可以按如下凯瑟窗方程给出
过渡带带宽:????st??p
N?As?7.95?1
2.285????0.1102(As?8.7),As?50???0.4??0.5842(As?21)?0.07886(As?21),21?As?50
频率取样设计FIR滤波器 1.基本原理
频率取样法从频域出发,把理想的滤波器Hd(ej?)等间隔采样得到Hd(k),将Hd(k)作为实际设计滤波器的H(k):
H(k)?Hd(k)?H(ej?)|??2?kNk?0,1,?,N?1
j?得到H(k)以后可以由H(k)来确定唯一确定滤波器的单位脉冲响应h(n),H(e)可以由H(k)求得:
2
数字信号处理实验报告
h(n)?IDFT[H(k)]H(e)??H(k)?(??j?k?0N?12?
k)N其中?(x)为内插函数:
sin(N?/2)?j?N2?1?(?)??e
Nsin(?/2)有H(k)求得的频率响应H(ej?)将逼近Hd(ej?)。
如果我们设计的是线性相位FIR滤波器,则H(k)的幅度和相位满足线性相位滤波器的约束条件。
我们将H(k)表示为如下形式
H(k)=H(k)ej?(k)?Hr(k)ej?(k)
当h(n)为实数,则
H(k)?H*(N?k)
由此得到
Hr(k)?Hr(N?k)
即Hr(k)以k?N/2为中心偶对称。在利用线性相位条件可知,对于1型和2型线性相位滤波器:
?N?12?k?()?2N??(k)???(N?1)2?(N?k)?N?2?N?1?k?0,?,???2?
N?1??k???1,?N?1??2?对于3型和4型线性相位滤波器
??N?12?k??()?22N??(k)?????(N?1)2?(N?k)?N?222.设计步骤
?N?1?k?0,?,???2?
?N?1?k???1,?N?1?2??(1)由给定的理想滤波器给出Hr(k)和?(k)。 (2)由H(k)=H(k)ej?(k)?Hr(k)ej?(k)求得H(k)
3
数字信号处理实验报告
(3)根据H(k)求得h(n)或H(ej?)
四、实验内容
1、设计一个数字低通FIR滤波器,其技术指标如下:
?p?0.2?,Rp?0.25dB
?st?0.3?,As?50dB
分别采用矩形窗、汉宁窗、海明窗、布莱克曼窗、凯瑟窗设计该滤波器。结合实验结果,分别讨论采用上述方法设计的数字滤波器是否都能满足给定指标要求。
(1)矩形窗 程序代码:
wp=0.2*pi;wst=0.3*pi;tr_width=wst-wp; N=ceil(1.8*pi/tr_width) n=0:N-1;
wc=(wst+wp)/2; alpha=(N-1)/2;
hd=(wc/pi)*sinc((wc/pi)*(n-alpha)); w_boxcar=boxcar(N)'; h=hd.*w_boxcar; subplot(221);
stem(n,hd,'filled');
axis tight;xlabel('n');ylabel('hd(n)'); [Hr,w1]=zerophase(h); subplot(222); plot(w1/pi,Hr);
axis;xlabel('\\omega/\\pi');ylabel('H(\\omega)'); subplot(223);
stem(n,h,'filled');
axis tight;xlabel('n');ylabel('h(n)'); [H,w]=freqz(h,1); subplot(224);
plot(w/pi,20*log10(abs(H)/max(H)));
axis tight;xlabel('\\omega/\\pi');ylabel('dB'); grid on;
MATLAB图形:
4
数字信号处理实验报告
1.50.21hd(n)0.1H(?)05n10150.50-0.500.5?/?1000.2-20h(n)dB05n10150.1-40-600-8000.20.40.60.8?/?
(2)汉宁窗 程序代码:
wp=0.2*pi;wst=0.3*pi;tr_width=wst-wp; N=ceil(6.2*pi/tr_width) n=0:N-1;
wc=(wst+wp)/2; alpha=(N-1)/2;
hd=(wc/pi)*sinc((wc/pi)*(n-alpha)); w_boxcar=hanning(N)'; h=hd.*w_boxcar; subplot(221);
stem(n,hd,'filled');
axis tight;xlabel('n');ylabel('hd(n)'); [Hr,w1]=zerophase(h); subplot(222); plot(w1/pi,Hr);
axis;xlabel('\\omega/\\pi');ylabel('H(\\omega)'); subplot(223);
stem(n,h,'filled');
axis tight;xlabel('n');ylabel('h(n)'); [H,w]=freqz(h,1); subplot(224);
plot(w/pi,20*log10(abs(H)/max(H)));
5
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库实验四 窗函数法设计FIR数字滤波器在线全文阅读。
相关推荐: