FIR数字滤波器设计
- 格式:doc
- 大小:76.00 KB
- 文档页数:7
重庆科技学院
实验报告
课程名称:数字信号处理开课学期:_09-10上_ __院(系):__电子信息工程学院___开课实验室:__I506_ __学生姓名:_ __ __专业班级:___测控普07_
学号:_____2007440762 _ ___
重庆科技学院学生实验报告
一、实验目的
1 .掌握FIR滤波器的设计基本方法;
2 .掌握用窗函数设计FIR数字滤波器的原理方法,熟悉用MATLAB设计;
3 .熟悉线性相位FIR 滤波器的幅频特性和相位特性。
二、实验内容和原理
实验原理
FIR 滤波器具有严格的相位特性,返对于诧音信号处理和数据传输是很重要的。目前FIR滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。常用的是窗函数法和切比雪夫等波纹逼近的最优化设计方法。本实验中的窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求不高的时候是比较灵活方便的。
如果FIR 滤波器h(n)为实数,而且满足以下任意条件, 滤波器就具有准确的线性相位,
(一)偶对称,h(n)=h(N-1-n) ,φ(ω)=-(N-1)ω/2
(二)奇对称,h(n)=-h(N-1-n), φ(ω)=-(N-1)ω/2 +pi/2 对称中心在n=(N-1)/2 处,
根据以上对称条件,可以将FIR滤波器分为4 种。
1.用窗函数设计FIR 滤波器的基本方法
基本思路:从时域出发设计h(n)逼近理想hd(n)。设理想滤波器的单位脉冲响应为h(n)的时域表达为hd(n),则:
Hd(n)一般是无限长的,且是非因果的,不能直接作为FIR 滤波器的单位脉冲响应。要想得到一个因果的有限长的滤波器单位抽样响应h(n) ,最直接的方法是先将hd(n)往右平移,再进行截断,即截取为有限长因果序列:h(n)=hd(n)w(n) ,并用合适的窗函数迕行加权作为FIR 滤波器的单位脉冲响应。
按照线性相位滤波器的要求,线性相位FIR数字低通滤波器的单位抽样响应h(n)必须是偶对称的。对称中心必须等于滤波器的延时常数,即用矩形窗设计的FIR 低通滤波器,所设计滤波器的幅度函数在通带和阻带都呈现出振荡现象,且最大波纹大约为幅度的9% ,返个现象称为吉布斯(Gibbs )效应。为了消除吉布斯效应,一般采用其他类型的窗函数。
●2.典型的窗函数矩形窗(Rectangle Window)
三角形窗(Bartlett Window)
汉宁(Hanning)窗,又称升余弦窗
汉明(Hamming)窗,又称改进的升余弦窗
布莱克曼(Blankman)窗,又称二阶升余弦窗
凯泽(Kaiser)窗
●3.用窗函数法设计FIR 滤波器
MATLAB 设计FIR 滤波器有多种方法和对应的函数。窗函数设计法不仅在数字滤波器的设计中占有重要的地位,同时可以用于功率谱的估计,从根本上讲,使用窗函数的目的就是消除由无限序列的截短而引起的Gibbs现象所带来的影响。
①.fir1函数:设计具有标准频率响应的FIR 滤波器
B=fir1(n,wn):设计的n 阶低FIR滤波器。b为滤波器的系数,wn 为截止频率;B=fir1(n,wn,’high’):设计一个n阶高通的FIR 数字滤波器;
B=fir1(n,wn,’low’):设计一个n阶低通的FIR 数字滤波器;
B=fir1(n,wn,’bandpass’) :设计一个n 阶带通的FIR 数字滤波器;
B=fir1(n,wn,’stop’) :设计一个n 阶带阻的FIR 数字滤波器;
B=fir1(n,wn,win) :输入参数win 用来指定所使用的窗函数的类型,默认为hamming 窗;
②.firl函数:设计具有任意频率响应的FIR滤波器B=fir2(n,f,a) :设计一个n 阶的FIR 滤波器,其幅频响应向量由输入参数f和a来指定,其中f 为频率点向量;
③.kaiserord 函数:估计采用凯泽窗设计的FIR 滤波器的参数[n,wn,beta,type]=kaiserord(f,a,dev,fs) :得到当采用凯泽窗设计FIR 滤波器时所需要的有关凯泽窗的参数,包括阶n、归一化截止频率wn、凯泽窗控制旁瓣的参数beta ,以及传递给函数firl用于指定滤波器类型的type.输入f 是频带边缘频率向量;a是f指定的各个频带上的幅值向量;dev 指定各个通带戒阻带上的最大输出误差。
窗函数设计法不仅在数字滤波器的设计中占有重要的地位,同时可以用于功
率谱的估计,从根本上讲,使用窗函数的目的就是消除由无限序列的截短而引起的Gibbs现象所带来的影响。
实验内容:
编制窗函数设计FIR 滤波器的主程序及相应子程序。绘制它的幅频和相位曲线,观察幅频和相位特性曲线的变换情况,注意长度N 对曲线的影响。
[1]设计一个截止频率为0.4rad/s,长度为50的低通FIR数字滤波器。
[2]用加窗法设计一个FIR 数字低通滤波器,其要求如下:
Wp=, Rp=0.25dB, Ws=, Rs=50dB
三、主要仪器设备
PC机(有MATLAB)一台
四、程序设计:
根据窗函数法设计FIR滤波器的一般步骤,根据实验设计程序如下:
1.设计一个截止频率为0.4rad/s,长度为50的低通FIR数字滤波器的程序如下:
b=0.4*sinc(0.4*(-25:25));
b=b*hamming(51);
[H,w]=freqz(b,1,512,2);
plot(w,abs(H));
grid on
title
2.用加窗函数设计一个FIR 数字低通滤波器程序如下:
clear;
Wp=0.2*pi;
Ws=0.3*pi;
Rp=0.25;
As=50;
W=[Wp/pi Ws/pi];
tr_width=Ws-Wp;