实验7-窗函数法设计FIR滤波器_第1页
实验7-窗函数法设计FIR滤波器_第2页
实验7-窗函数法设计FIR滤波器_第3页
实验7-窗函数法设计FIR滤波器_第4页
实验7-窗函数法设计FIR滤波器_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验7窗函数法设计FIR数字滤波器一、实验目的掌握窗函数法设计FIR数字滤波器的原理及具体方法。二、实验设备与环境计算机、MATLAB软件环境。三、实验基础理论1、基本原理窗函数设计法的基本思想为,首先选择一个适当的理想的滤Hd(ejω),然后用窗函数截取它的单位脉冲响应hd2、设计步骤(1)给定理想滤波器的频率响应Hd(ejω),在通带上具有单位增益和线性相位,在阻带上具有零响应。一个带宽为Hdejω=其中α为采样延迟,其作用是为了得到因果的系统。(2)确定这个滤波器的单位脉冲响应hdn=sin[ 为了得到一个h(n)长度为N的因果的线性相位FIR滤波α=N-12(3)用窗函数截取hdn得到hn=hdn3.窗函数的选择常用的窗函数有矩形(Rectangular)窗、汉宁(Hanning)窗、海明(Hamming)窗、布莱克曼(Blackman)窗、凯瑟(Kaiser)窗。MATLAB提供了一些函数用于产生窗函数。如表7-1所示。表7-1MATLAB中产生窗函数的命令MATLAB函数窗函数MATLAB函数窗函数boxcar矩形窗函数blackman布莱克曼窗函数hanning汉宁窗函数kaiser凯瑟窗函数hannming海明窗函数在设计过程中我们需要根据给定的滤波器技术指标,选择滤波器长度N和窗函数ω(n)。表7-2列出了常用窗函数的一些特性,可供设计时参考。表7-2常用窗函数的特性窗函数窗函数频率特性旁瓣峰值主瓣宽度加窗后滤波器指标过渡带宽最小阻带衰减(dB)矩形窗-134π1.8πN汉宁窗-318π6.2πN海明窗-418π6.6πNHamming窗: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=kaiser(N,beta);h=hd.*w_kaiser';subplot(221);stem(n,hd,'fill');axistight;xlabel('n');ylabel('hd(n)');[Hr,w1]=zerophase(h);subplot(222);plot(w1/pi,Hr);axistight;xlabel('\omega/\pi');ylabel('H(\omega)');subplot(223);stem(n,h,'fill');axistight;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');gridon; 2、设计一个数字带通FIR滤波器,其技术指标如下下阻带边缘:ω下通带边缘:ω上通带边缘:ω上阻带边缘:ω实验代码及结果:矩形窗:wp1=0.2*pi;wst1=0.35*pi;tr_width1=wst1-wp1;N1=ceil(1.8*pi/tr_width1)+1wp2=0.65*pi;wst2=0.8*pi;tr_width2=wst2-wp2;N2=ceil(1.8*pi/tr_width2)+1N=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');axistight;xlabel('n');ylabel('hd(n)');[Hr,w1]=zerophase(h);subplot(222);plot(w1/pi,Hr);axistight;xlabel('\omega/\pi');ylabel('H(\omega)');subplot(223);stem(n,h,'fill');axistight;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');gridon;Hanning窗:Hamming窗: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';subplot(221);stem(n,hd,'fill');axistight;xlabel('n');ylabel('hd(n)');[Hr,w1]=zerophase(h);subplot(222);plot(w1/pi,Hr);axistight;xlabel('\omega/\pi');ylabel('H(\omega)');subplot(223);stem(n,h,'fill');axistight;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');gridon; 由以上实验结果易知并非所有的窗函数都

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论