实验五FIR数字滤波器的设计_第1页
实验五FIR数字滤波器的设计_第2页
实验五FIR数字滤波器的设计_第3页
实验五FIR数字滤波器的设计_第4页
实验五FIR数字滤波器的设计_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、.实验六 FIR数字滤波器的设计一、实验目的 1熟悉FIR滤波器的设计基本方法2掌握用窗函数设计FIR数字滤波器的原理与方法。二、实验内容1FIR数字滤波器的设计方法FIR滤波器的设计问题在于寻求一系统函数,使其频率响应逼近滤波器要求的理想频率响应,其对应的单位脉冲响应为。(1)用窗函数设计FIR滤波器的基本原理设计思想:从时域从发,设计逼近理想。设理想滤波器的单位脉冲响应为。以低通线性相位FIR数字滤波器为例。 (6-1)一般是无限长的,且是非因果的,不能直接作为FIR滤波器的单位脉冲响应。要想得到一个因果的有限长的滤波器h(n),最直接的方法是截断,即截取为有限长因果序列,并用合适的窗函数

2、进行加权作为FIR滤波器的单位脉冲响应。按照线性相位滤波器的要求,h(n)必须是偶对称的。对称中心必须等于滤波器的延时常数,即 (6-2) 用矩形窗设计的FIR低通滤波器,所设计滤波器的幅度函数在通带和阻带都呈现出振荡现象,且最大波纹大约为幅度的9%,这个现象称为吉布斯(Gibbs)效应。为了消除吉布斯效应,一般采用其他类型的窗函数。(2) 典型的窗函数 矩形窗(Rectangle Window) (6-3) 三角形窗(Bartlett Window) (6-4) 汉宁(Hanning)窗,又称升余弦窗 (6-5) 汉明(Hamming)窗,又称改进的升余弦窗 (6-6) 布莱克曼(Blank

3、man)窗,又称二阶升余弦窗 (6-7) 凯泽(Kaiser)窗 (6-8)其中:是一个可选参数,用来选择主瓣宽度和旁瓣衰减之间的交换关系,一般说来,越大,过渡带越宽,阻带越小衰减也越大。I0()是第一类修正零阶贝塞尔函数。 若阻带最小衰减表示为,的确定可采用下述经验公式: (6-9)若滤波器通带和阻带波纹相等即p=s时,滤波器节数可通过下式确定: (6-10)式中:(3)利用窗函数设计FIR滤波器的具体步骤如下:1、确定数字滤波器的性能要求,临界频率,滤波器单位脉冲响应长度N。2、根据性能要求,合理选择单位脉冲响应h(n)的奇偶对称性,从而确定理想频率响应的幅频特性和相频特性。3、求理想单位

4、脉冲响应,在实际计算中,可对采样,并对其求IDFT的,用代替。4、选择适当的窗函数w(n),根据求所需设计的FIR滤波器单位脉冲响应。5、求,分析其幅频特性,若不满足要求,可适当改变窗函数形式或长度N,重复上述设计过程,以得到满意的结果。2FIR数字滤波器的Matlab实现MATLAB提供的相关函数,函数调用格式:b=fir1(n,wn,ftype,window)其中,nFIR滤波器的阶数,对于高通、带阻滤波器n取偶数。wn为滤波器截止频率(归一化频率);ftype为滤波器类型;如high为高通,stop为带阻等;window窗函数(列向量、其长度为n+1),缺省时,自动取Hamming窗。

5、MATLAB提供了几个窗函数:wd=boxcar(N)返回N点矩形窗函数wd=triang(N)返回N点三角窗函数wd=hanning(N)返回N点汉宁窗函数wd=hamming(N)返回N点汉明窗函数wd=Blackman(N)返回N点布莱克曼函数wd=kaiser(N,beta)返回给定beta值时N点凯泽窗函数【实例6-1】根据以下技术指示,设计一个数字FIR低通滤波器。wp=0.2,ws=0.3,Rp=0.25dB,Rs=50dB因为衰减为50dB,可选择的窗口有汉明窗和布莱克曼窗。而汉明窗有较小的过度带,因此具有较小的阶数,因此选用汉明窗。解:源程序如下: wp=0.2*pi;ws=

6、0.3*pi;deltaw=ws-wp; N0=ceil(6.6*pi/deltaw);% 查表根据汉明窗设计计算所需的滤波器h(n)的长度, %ceil(x)取大于等于x的最小整数 N=N0+mod(N0+1,2);%为实现第一类偶对称滤波器,应确保长度N为奇数 wdhm=hamming(N);%求窗函数 wc=(ws+wp)/2;%求截止频率 tao=(N-1)/2;n=0:N-1;m=n-tao+eps;%求理想脉冲响应 hd=sin(wc*m)./(pi*m);% hn=hd.*wdhm;%设计的脉冲响应 或 wc=(wp+ws)/2/pi; 取关于pi归一化的频率hn=fir1(N-

7、1,wc,hamming(N)subplot(2,2,1),stem(n,hd);xlabel(n);ylabel(hd(n);title()subplot(2,2,2),stem(n,wdhm);xlabel(n);ylabel(wdhm);title()subplot(2,2,3),stem(n,Hhm);xlabel(n);ylabel(h(n);title() b=hd.*wdhm; H,w=freqz(b,1); subplot(2,2,4),plot(w,20*log10(abs(H);grid;title()【实例6-2】根据给定的滤波器指标,设计一款FIR滤波器:针对一个含有5

8、Hz、15Hz和30Hz的混和正弦波信号,设计一个FIR带通滤波器。参数要求:采样频率fs=100Hz,通带下限截止频率fc1=10Hz,通带上限截止频率fc2=20Hz,过渡带宽6Hz,通阻带波动0.01,采用凯塞窗设计。解:源程序如下:fc1=10; fc2=20; fs=100; n,Wn,beta,ftype=kaiserord(7 13 17 23,0 1 0,0.01 0.01 0.01,100); w1=2*fc1/fs; w2=2*fc2/fs;window=kaiser(n+1,beta); %使用kaiser窗函数b=fir1(n,w1 w2,window); %使用标准频

9、率响应的 %加窗设计函数fir1freqz(b,1,512); %数字滤波器频率响应t = (0:100)/fs;s = sin(2*pi*t*5)+sin(2*pi*t*15)+sin(2*pi*t*30);sf = filter(b,1,s); %对信号s进行滤波smp=512;f=100*(0:256)/smp; S=fft(s,smp);SF=fft(sf,smp);%f=1000*(0:256)/512; %设置频率轴(横轴)坐标,1000为采样频率;figuresubplot(2,2,1); plot(t,s) %画出时域内的信号subplot(2,2,2); plot(t,sf) %画出时域内的信号subplot(2,2,3); plot(f,abs(S)(1:257); %画出频域内的信号subplot(2,2,4); plot(f,abs(SF)(1:257); %画出频域

温馨提示

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

评论

0/150

提交评论