网站大量收购独家精品文档,联系QQ:2885784924

实验四 窗函数例题.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验四:FIR数字滤波器的设计 FIR滤波器的设计方法主要有三种:窗函数法、频率取样法、切比雪夫等波纹逼近法。而在这个实验里,主要是采取第一种方法。 ?? ?我们要设计一个滤波器,跟前面设计IIR滤波器一样,得先知道一些关于滤波器的指标。在用窗函数设计FIR滤波器需要知道的指标是:通带,阻带的边界频率,阻带衰减和通带衰减。 ??? 因为是FIR,有限冲激响应的滤波器,我们通常的理想滤波器的单位脉冲响应 h 是无限长的,所以我们需要通过窗来截断它,然后对它进行滤波器设计。 ?一、?加窗方法设计的步骤大概分以下几步: 1、根据阻带的衰减,选择合适的窗: ?????????? 最小阻带衰减???? 过渡带带宽△w 矩形窗????? 20.9dB??????????? 0.92π/M 汉宁窗????? 43.9dB??????????? 3.11π/M 海明窗????? 54.5dB??????????? 3.32π/M 布莱克曼窗? 75.3dB??????????? 5.56π/M 2、根据窗函数得到的序列经过firl或fir2得到一个滤波器传输函数系数的序列。 1)fir1?: 用来设计传统的低通,高通,带通,带阻,多频带FIR滤波器; ?? 调用格式:b = fir1(N,Wn); ??????????? ?b = fir1(N,Wn,‘high’); ??????????? ?b = fir1(N,Wn, ‘stop’); ???参数说明:N:阶次,滤波器长度为N+1; ???????????? Wn:通带截止频率,其值在0~1之间,1对应Fs/2; ??????????? ?b:滤波器系数。 fir1自动选择Hamming窗。 2)fir2?: 用来设计具有任意幅度响应的FIR滤波器。 ?? 调用格式:b = fir2(N, F, M); M是和F相对应的所希望的幅频相应。 如同fir1, 缺省时自动选用Hamming窗。 3)为了观测到设计出来的滤波器的特性,我们可以用impz得到它的脉冲响应,用freqz得到频率响应。 其中在画频率响应的时候我们分为幅度和相位画出。 又因为我们要观测的是衰减的大小程度,以dB为单位,所以我们在画幅度的时候纵坐标应该转换成dB。 而相位,由于计算机中反正切函数规定,在一、二象限中的角度为0到π,三、四象限的角度为0到-π。我们一般要反应的角度变化是0到2π,但如果不经过处理,实际结果会在π处发生跳变,跳变的幅度为2π,这就是相位的卷绕。所以我们用解卷绕函数unwarp(w),使相位在π处不发生跳变,从而反应出真实的相位变化。 ? 二、实例 1:通带截止频率为0.2pi,阻带截止频率为0.3pi,阻带衰减不小于50dB,通带衰减不大于3dB,设计一个FIR滤波器,并验证。 wp=0.2*pi; ws=0.3*pi; %性能指标 wdelta=ws-wp; %过渡带宽度 M=ceil(3.32*pi/wdelta); %滤波器长度,朝正无穷方向舍入 N=2*M+1; %窗口长度 wc=(ws+wp)/2; %截止频率 win=hamming(N); %因为衰减不小于50dB,所以选择海明窗,这里得到海明窗的时域响应 b=fir1(N-1,wc/pi,win); n=0:1:N; [hi t]=impz(b,1,n);%得到脉冲响应 [hf w]=freqz(b,1,512); %得到频率响应 figure(1); subplot(3,1,1); stem(n,hi); xlabel(n); ylabel(Magnitude); title(impulse response); subplot(3,1,2); plot(w/pi,20*log10(abs(hf))); xlabel(Frequency(Hz)); ylabel(Magnitude(dB)); title(Frequency response); subplot(3,1,3); plot(w/pi,180/pi*unwrap(angle(hf))); xlabel(Frequency(Hz)); ylabel(Phase(degrees)); title(Frequency response); %验证: nn=0:50; x1=sin(nn*0.2*pi); x2=sin(nn*0.8*pi);%假设两个信号,低频和高频 in=x1+x2; out=filter(b,1,in); %滤波过程 figure(2); subplot(2,2,1); stem(x1); xlabel(n); y

文档评论(0)

phljianjian + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档