实验三窗函数法设计FIR数字滤波器实验目的掌握用窗函数法设计FIR数字滤波器的原理和方法熟悉线性相位FIR数字滤波器特性了解各种窗函数对滤波特性的影响实验原理如果所希望的滤波器的理想频率响应函数为,则其对应的单位脉冲响应为窗函数设计法的基本原理是用有限长单位脉冲响应逼近。由于往往是无限长序列,且是非因果的,所以用窗函数将截断,并进行加权处理,得到:)(jwdeHdweeHnhjwnjwdd)(21)()(nh)(nhd)(nhd)(nw)(nhd)()()(nwnhnhd实验原理就作为实际设计的FIR数字滤波器的单位脉冲响应序列,其频率响应函数为式中,N为所选窗函数的长度(N-1阶数)。)(nh)(jweH10)()(NnjwnjwenheH)(nw实验原理如果要求线性相位特性,则还必须满足:根据上式中的正、负号和长度的奇偶性又将线性相位FIR滤波器分成四类。要根据所设计的滤波特性正确选择其中一类。)(nh)1()(nNhnh窗函数基本参数窗函数旁瓣峰值幅度/dB过渡带宽阻带最小衰减/dB矩形窗-134π/N-12三角形窗-258π/N-25汉宁窗-318π/N-44哈明窗-418π/N-53不莱克曼窗-5712π/N-74凯塞窗(α=7.865)-5710π/N-80实验原理以高通滤波器为例,其常用的设计指标有:1、通带截止频率2、阻带截止频率3、通带波动δp,单位为dB4、阻带波动αs,单位为dB数字频率=模拟频率/采样频率ps实验用MATLAB函数介绍fir1();fft();freqz();abs();angle();text();实验用MATLAB函数介绍b=fir1(n,Wn,’ftype’,window),窗函数法线性相位滤波器设计,b包含n阶滤波的n+1个系数,n为阶数、Wn是截止频率,如果输入是形如[W1W2]的矢量时,本函数将设计带通/带阻滤波器。默认选用hamming窗(window缺省);type=high,设计高通FIR滤波器type=stop,设计带阻FIR滤波器实验用MATLAB函数介绍[h,w]=freqz(hd,n):离散系统频响特性abs(X):绝对值(复数的幅值)P=angle(Z):相位角text(x,y,‘s’):在图面(x,y)位置处书写字符注释。实验用MATLAB函数介绍MATLAB中的窗函数(1)矩形窗(RectangleWindow)调用格式:w=boxcar(n),根据长度n产生一个矩形窗w。(2)三角窗(TriangularWindow)调用格式:w=triang(n),根据长度n产生一个三角窗w。(3)汉宁窗(HanningWindow)调用格式:w=hanning(n),根据长度n产生一个汉宁窗w。(4)海明窗(HammingWindow)调用格式:w=hamming(n),根据长度n产生一个海明窗w。(5)布拉克曼窗(BlackmanWindow)调用格式:w=blackman(n),根据长度n产生一个布拉克曼窗w。(6)恺撒窗(KaiserWindow)调用格式:w=kaiser(n,beta),根据长度n和影响窗函数旁瓣的β参数产生一个恺撒窗w。实验用MATLAB函数介绍例1、设计一个长度为8截止频率为0.4π的线性相位FIR滤波器。用矩形窗:Window=boxcar(8);b=fir1(7,0.4,Window);freqz(b,1)实验用MATLAB函数介绍实验用MATLAB函数介绍例1、设计一个长度为8截止频率为0.4π的线性相位FIR滤波器。用blackman窗:Window=blackman(8);b=fir1(7,0.4,Window);freqz(b,1)实验用MATLAB函数介绍实验用MATLAB函数介绍例2、设计线性相位带通滤波器,其长度N=15,上下边带截止频率分别为W1=0.3π,W2=0.5πWindow=blackman(15);b=fir1(14,[0.30.5],Window);freqz(b,1)实验用MATLAB函数介绍00.10.20.30.40.50.60.70.80.91-1500-1000-5000NormalizedFrequency(rad/sample)Phase(degrees)00.10.20.30.40.50.60.70.80.91-150-100-500NormalizedFrequency(rad/sample)Magnitude(dB)实验用MATLAB函数介绍例3、用窗函数法设计一FIR带通滤波器:阻带下截止频率:通带下截止频率:通带上截止频率:阻带上截止频率:通带最大衰减:阻带最小衰减:0.2ls0.35lp0.65up0.8us1pdB60sdB实验用MATLAB函数介绍解:阻带最小衰减,所以选择blackman窗,再根据过渡带宽度选择滤波器长度N,blackman窗的过渡带宽度解得N=80.调用参数为60sdB12/BN12/0.350.20.15lplsBNc[2,2]lpupcBB窗函数基本参数窗函数旁瓣峰值幅度/dB过渡带宽阻带最小衰减/dB矩形窗-134π/N-12三角形窗-258π/N-25汉宁窗-318π/N-44哈明窗-418π/N-53不莱克曼窗-5712π/N-74凯塞窗(α=7.865)-5710π/N-80实验用MATLAB函数介绍程序:wls=0.2*pi;wlp=0.35*pi;wup=0.65*pi;B=wlp-wls;%过渡带宽度N=ceil(12*pi/B);%计算阶数Nwp=[wlp/pi-6/N,wup/pi+6/N];%设置理想带通截止频率(关于pi归一化)hn=fir1(N-1,wp,blackman(N));freqz(hn,1);实验内容1、用窗函数法设计一个线性相位FIR高通滤波器,性能指标:通带截止频率,阻带截止频率,阻带衰减不小于40dB,通带衰减不大于3dB。3.0sw2.0pw实验内容2、用窗函数法设计线性相位FIR低通滤波器,实现对模拟信号采样后进行数字低通滤波器,对模拟信号的滤波要求如下:通带截止频率:阻带截止频率:阻带最小衰减:40dB采样频率:选择合适的窗函数及其长度,求出h(n),并画出幅频特性衰减(dB)和相频特性曲线。2pfkHz3sfkHz10sFkHz