实验7 窗函数法设计FIR滤波器.docx

上传人:小** 文档编号:88560389 上传时间:2019-05-02 格式:DOCX 页数:14 大小:138.82KB
返回 下载 相关 举报
实验7 窗函数法设计FIR滤波器.docx_第1页
第1页 / 共14页
实验7 窗函数法设计FIR滤波器.docx_第2页
第2页 / 共14页
实验7 窗函数法设计FIR滤波器.docx_第3页
第3页 / 共14页
实验7 窗函数法设计FIR滤波器.docx_第4页
第4页 / 共14页
实验7 窗函数法设计FIR滤波器.docx_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《实验7 窗函数法设计FIR滤波器.docx》由会员分享,可在线阅读,更多相关《实验7 窗函数法设计FIR滤波器.docx(14页珍藏版)》请在金锄头文库上搜索。

1、实验7 窗函数法设计FIR数字滤波器一、实验目的掌握窗函数法设计FIR数字滤波器的原理及具体方法。二、实验设备与环境计算机、MATLAB软件环境。三、实验基础理论1、基本原理窗函数设计法的基本思想为,首先选择一个适当的理想的滤Hd(ej),然后用窗函数截取它的单位脉冲响应hd(n),得到线性相位和因果的FIR滤波器。这种方法的重点是选择一个合适的窗函数和理想的滤波器,使设计的滤波器的单位脉冲响应逼近理想滤波器的单位脉冲响应。2、设计步骤(1) 给定理想滤波器的频率响应Hd(ej),在通带上具有单位增益和线性相位,在阻带上具有零响应。一个带宽为c (c)的低通滤波器由下式给定 Hdej= 1e-

2、j |c 0 c| (7-1)其中为采样延迟,其作用是为了得到因果的系统。(2)确定这个滤波器的单位脉冲响应 hdn=sinc(n-)(n-) (7-2)为了得到一个h(n)长度为N的因果的线性相位FIR滤波器,我们令 =N-12 (7-3)(3)用窗函数截取hdn得到所设计FIR数字滤波器hn hn=hdnw(n) (7-4)3.窗函数的选择常用的窗函数有矩形(Rectangular)窗、汉宁(Hanning)窗、海明(Hamming)窗、布莱克曼(Blackman)窗、凯瑟(Kaiser)窗。MATLAB提供了一些函数用于产生窗函数。如表7-1所示。表7-1 MATLAB中产生窗函数的命令

3、MATLAB函数 窗函数 MATLAB函数 窗函数boxcar 矩形窗函数 blackman 布莱克曼窗函数hanning 汉宁窗函数 kaiser 凯瑟窗函数hannming 海明窗函数在设计过程中我们需要根据给定的滤波器技术指标,选择滤波器长度N和窗函数(n)。表7-2列出了常用窗函数的一些特性,可供设计时参考。表7-2 常用窗函数的特性窗函数窗函数频率特性旁瓣峰值 主瓣宽度加窗后滤波器指标过渡带宽 最小阻带衰减(dB)矩形窗-13 4N 1.8N -21汉宁窗-31 8N 6.2N -44海明窗 -41 8N 6.6N -53布莱克曼窗-57 12N 11N -74凯瑟窗是一种在实际应用

4、中广泛应用的窗函数,它由下式给定 W(n)=I01-(1-2nN-1)2I0 0nN-1 (7-5)其中I0x是修正的零阶贝塞尔(Bessel)函数,参数控制最小阻带衰减,这种窗函数对于相同的N可以提供不同的过渡带宽。由于贝塞尔函数比较复杂,这种窗函数的设计方程很难推导,然而幸运的是,有一些经验设计方程可以直接使用。已知给定的指标p,s,Rp和As,滤波器长度N和凯瑟窗参数可以按如下凯瑟窗设计方程给出:过渡带宽:=st-p (7-6)NAs-7.952.285+1 (7-7)= 0.1102As-8.7 As500.5842(As-21)0.4+0.07886As-21 21As50(7-8)

5、四、实验内容1、设计一个数字低通FIR滤波器,其技术指标如下 p=0.2 , Rp=0.25dB st=0.3 , As=50dB分别采用矩形窗、汉宁窗、海明窗、布莱克曼窗、凯瑟窗设计该滤波器。结合实验结果,分别讨论采用上述方法设计的数字滤波器是否都能满足给定指标要求。实验代码及结果:矩形窗:wp = 0.2*pi;wst = 0.3*pi;tr_width = wst-wp;N = ceil(1.8*pi/tr_width) + 1 n = 0:N-1;wc = (wp+wst)/2;alpha = (N-1)/2;hd = (wc/pi)*sinc(wc/pi)*(n-alpha); w_

6、boxcar = boxcar(N);h = hd.*w_boxcar; subplot(221);stem(n, hd, fill);axis tight;xlabel(n);ylabel(hd(n);Hr, w1 = zerophase(h);subplot(222);plot(w1/pi, Hr);axis tight;xlabel(omega/pi);ylabel(H(omega);subplot(223);stem(n, h, fill);axis tight;xlabel(n);ylabel(h(n);H, w = freqz(h, 1);subplot(224);plot(w/p

7、i, 20*log10(abs(H)/max(abs(H);xlabel(omega/pi);ylabel(dB);grid on;Hanning窗:Hamming窗:Blackman窗:Kaiser窗:wp = 0.2*pi;wst = 0.3*pi;tr_width = wst-wp;N = ceil(50-7.95)/(2.285*tr_width) + 1beta = 0.1102*(50-8.7) n = 0:N-1;wc = (wp+wst)/2;alpha = (N-1)/2;hd = (wc/pi)*sinc(wc/pi)*(n-alpha); w_kaiser = kaise

8、r(N, beta);h = hd.*w_kaiser; subplot(221);stem(n, hd, fill);axis tight;xlabel(n);ylabel(hd(n);Hr, w1 = zerophase(h);subplot(222);plot(w1/pi, Hr);axis tight;xlabel(omega/pi);ylabel(H(omega);subplot(223);stem(n, h, fill);axis tight;xlabel(n);ylabel(h(n);H, w = freqz(h, 1);subplot(224);plot(w/pi, 20*lo

9、g10(abs(H)/max(abs(H);xlabel(omega/pi);ylabel(dB);grid on;2、设计一个数字带通FIR滤波器,其技术指标如下 下阻带边缘:st1=0.2 , As=60dB 下通带边缘:p1=0.35 , Rp=1dB 上通带边缘:p2=0.65 , Rp=1dB 上阻带边缘:st2=0.8 , As=60dB实验代码及结果:矩形窗:wp1 = 0.2*pi;wst1 = 0.35*pi;tr_width1 = wst1-wp1;N1 = ceil(1.8*pi/tr_width1) + 1 wp2 = 0.65*pi;wst2 = 0.8*pi;tr_

10、width2 = wst2-wp2;N2 = ceil(1.8*pi/tr_width2) + 1 N = max(N1, N2) n = 0:N-1;alpha = (N-1)/2;wc2 = (wp2+wst2)/2;hd2 = (wc2/pi)*sinc(wc2/pi)*(n-alpha);wc1 = (wp1+wst1)/2;hd1 = (wc1/pi)*sinc(wc1/pi)*(n-alpha);hd = hd2-hd1; w_boxcar = boxcar(N);h = hd.*w_boxcar; subplot(221);stem(n, hd, fill);axis tight

11、;xlabel(n);ylabel(hd(n);Hr, w1 = zerophase(h);subplot(222);plot(w1/pi, Hr);axis tight;xlabel(omega/pi);ylabel(H(omega);subplot(223);stem(n, h, fill);axis tight;xlabel(n);ylabel(h(n);H, w = freqz(h, 1);subplot(224);plot(w/pi, 20*log10(abs(H)/max(abs(H);xlabel(omega/pi);ylabel(dB);grid on;Hanning窗:Ham

12、ming窗:Blackman窗:Kaiser窗:wp1 = 0.2*pi;wst1 = 0.35*pi;tr_width1 = wst1-wp1;N1 = ceil(60-7.95)/(2.285*tr_width1) + 1beta1 = 0.1102*(60-8.7) wp2 = 0.65*pi;wst2 = 0.8*pi;tr_width2 = wst2-wp2;N2 = ceil(60-7.95)/(2.285*tr_width2) + 1beta2 = 0.1102*(60-8.7) N = max(N1, N2)beta = max(beta1, beta2) n = 0:N-1;alpha = (N-1)/2;wc2 = (wp2+wst2)/2;hd2 = (wc2/pi)*sinc(wc2/pi)*(n-alpha);wc1 = (wp1+wst1)/2;hd1 = (wc1/pi)*sinc(wc1/pi)*(n-alpha);hd = hd2-hd1; w_kaiser = kaiser(N, beta);h = hd.*w_kaiser; s

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号