实验六FIR滤波器的设计
- 格式:doc
- 大小:132.00 KB
- 文档页数:5
fir滤波器设计实验报告fir滤波器设计实验报告引言:滤波器是数字信号处理中常用的工具,它能够对信号进行去噪、频率分析和频率选择等处理。
其中,FIR(Finite Impulse Response)滤波器是一种常见的数字滤波器,具有线性相位和稳定性等优点。
本实验旨在设计一个FIR滤波器,并通过实际测试验证其性能。
一、实验目的本实验的目的是通过设计一个FIR滤波器,掌握FIR滤波器的设计方法和性能评估。
具体包括以下几个方面:1. 了解FIR滤波器的基本原理和特点;2. 学习FIR滤波器的设计方法,如窗函数法、最小二乘法等;3. 掌握MATLAB等工具的使用,实现FIR滤波器的设计和性能评估;4. 通过实际测试,验证所设计FIR滤波器的性能。
二、实验原理FIR滤波器是一种非递归滤波器,其输出仅依赖于当前和过去的输入样本。
其基本原理是将输入信号与一组滤波器系数进行卷积运算,得到输出信号。
FIR滤波器的频率响应由滤波器系数决定,通过调整滤波器系数的值,可以实现不同的滤波效果。
在本实验中,我们采用窗函数法设计FIR滤波器。
窗函数法是一种常见的FIR滤波器设计方法,其基本思想是通过对滤波器的频率响应进行窗函数加权,从而实现对信号频率的选择。
常用的窗函数有矩形窗、汉宁窗、布莱克曼窗等。
三、实验过程1. 确定滤波器的要求:根据实际需求,确定滤波器的截止频率、通带衰减和阻带衰减等参数。
2. 选择窗函数:根据滤波器的要求,选择合适的窗函数。
常用的窗函数有矩形窗、汉宁窗、布莱克曼窗等,不同窗函数有不同的性能特点。
3. 计算滤波器系数:根据所选窗函数的特性,计算滤波器的系数。
这一步可以使用MATLAB等工具进行计算,也可以手动计算。
4. 实现滤波器:使用MATLAB等工具,将计算得到的滤波器系数应用于滤波器的实现。
可以使用差分方程、卷积等方法实现滤波器。
5. 评估滤波器性能:通过输入不同的信号,观察滤波器的输出,并评估其性能。
FIR滤波器设计实验报告实验报告:FIR滤波器设计一、实验目的:本实验旨在通过设计FIR滤波器,加深对数字信号处理中滤波器原理的理解,掌握FIR滤波器的设计方法和调试技巧。
二、实验原理:在窗函数法中,常用的窗函数有矩形窗、三角窗、汉明窗和黑曼窗等。
根据实际需求选择适当的窗口函数,并通过将窗口函数应用到理想低通滤波器的冲激响应中,得到FIR滤波器的冲激响应。
三、实验步骤:1.确定滤波器的阶数和截止频率。
2.选择适当的窗口函数,如汉明窗。
3.计算出理想低通滤波器的冲激响应。
4.将选定的窗口函数应用到理想低通滤波器的冲激响应中。
5.得到FIR滤波器的冲激响应。
四、实验结果:假设要设计一个阶数为10的FIR滤波器,截止频率为800Hz,采样频率为1600Hz。
1.选择汉明窗作为窗口函数。
2.根据采样频率和截止频率计算出理想低通滤波器的冲激响应。
假设截止频率为f_c,则理想低通滤波器的冲激响应为:h(n) = 2f_c * sinc(2f_c * (n - (N-1)/2))其中,sinc(x)为正弦函数sin(x)/x。
3.将汉明窗应用到理想低通滤波器的冲激响应中,得到FIR滤波器的冲激响应。
具体计算过程如下:h(n) = w(n) * h_ideal(n)其中,w(n)为汉明窗:w(n) = 0.54 - 0.46 * cos(2πn/(N-1))h_ideal(n)为理想低通滤波器的冲激响应。
4.计算得到FIR滤波器的冲激响应序列。
五、实验总结:本次实验通过设计FIR滤波器,加深了对数字信号处理中滤波器原理的理解。
掌握了FIR滤波器的设计方法和调试技巧。
通过设计阶数为10的FIR滤波器,截止频率为800Hz,采样频率为1600Hz的实例,了解了窗函数法设计FIR滤波器的具体步骤,并得到了滤波器的冲激响应。
【备注】以上内容仅为参考,具体实验报告内容可能根据实际情况有所调整。
实验六用窗函数法设计FIR滤波器分析解析一、引言数字滤波器是数字信号处理中的重要组成部分。
滤波器可以用于去除噪声、调整频率响应以及提取感兴趣的信号。
有许多方法可以设计数字滤波器,包括窗函数法、频域法和优化法等。
本实验将重点介绍窗函数法设计FIR滤波器的原理和过程。
二、窗函数法设计FIR滤波器窗函数法是设计FIR滤波器的一种常用方法。
其基本原理是将滤波器的频率响应与理想滤波器的频率响应进行乘积。
理想滤波器的频率响应通常为矩形函数,而窗函数则用于提取有限长度的理想滤波器的频率响应。
窗函数的选择在FIR滤波器的设计中起着重要的作用。
常用的窗函数包括矩形窗、汉宁窗、汉明窗、布莱克曼窗等。
对于每种窗函数,都有不同的特性和性能指标,如主瓣宽度、副瓣抑制比等。
根据不同的应用需求,可以选择合适的窗函数。
窗函数法设计FIR滤波器的具体步骤如下:1.确定滤波器的阶数N。
阶数N决定了滤波器的复杂度,一般情况下,阶数越低,滤波器的简单度越高,但频率响应的近似程度也会降低。
2.确定滤波器的截止频率。
根据应用需求,确定滤波器的截止频率,并选择合适的窗函数。
3.根据窗函数长度和截止频率计算理想滤波器的频率响应。
根据所选窗函数的特性,计算理想滤波器的频率响应。
4.根据理想滤波器的频率响应和窗函数的频率响应,得到所需的FIR滤波器的频率响应。
将理想滤波器的频率响应与窗函数的频率响应进行乘积,即可得到所需滤波器的频率响应。
5.对所得到的频率响应进行逆傅里叶变换,得到时域的滤波器系数。
6.实现滤波器。
利用所得到的滤波器系数,可以通过卷积运算实现滤波器。
三、实验结果与分析本实验以Matlab软件为平台,利用窗函数法设计了一个低通滤波器。
滤波器的阶数为16,截止频率为500Hz,采样频率为1000Hz,选择了汉宁窗。
根据上述步骤,计算得到了所需的滤波器的频率响应和时域的滤波器系数。
利用这些系数,通过卷积运算,实现了滤波器。
为了验证滤波器的性能,将滤波器应用于输入信号,观察输出信号的变化。
fir滤波器实验报告fir滤波器实验报告引言:滤波器是信号处理中常用的工具,它可以对信号进行频率选择性处理。
在数字信号处理中,FIR(Finite Impulse Response)滤波器是一种常见的滤波器类型。
本实验旨在通过设计和实现FIR滤波器,探索其在信号处理中的应用。
一、实验目的本实验的主要目的有以下几点:1. 了解FIR滤波器的基本原理和特性;2. 掌握FIR滤波器的设计方法;3. 实现FIR滤波器并对信号进行处理,观察滤波效果。
二、实验原理1. FIR滤波器的原理FIR滤波器是一种非递归滤波器,其输出仅依赖于输入和滤波器的系数。
它的基本原理是将输入信号与滤波器的冲激响应进行卷积运算,得到输出信号。
FIR滤波器的冲激响应是有限长度的,因此称为有限脉冲响应滤波器。
2. FIR滤波器的设计方法FIR滤波器的设计方法有很多种,常用的包括窗函数法、频率采样法和最小二乘法。
在本实验中,我们将使用窗函数法进行FIR滤波器的设计。
具体步骤如下:(1)选择滤波器的阶数和截止频率;(2)选择适当的窗函数,如矩形窗、汉宁窗等;(3)根据选择的窗函数和截止频率,计算滤波器的系数;(4)利用计算得到的系数实现FIR滤波器。
三、实验步骤1. 确定滤波器的阶数和截止频率,以及采样频率;2. 选择合适的窗函数,并计算滤波器的系数;3. 利用计算得到的系数实现FIR滤波器;4. 准备待处理的信号,如音频信号或图像信号;5. 将待处理的信号输入FIR滤波器,观察滤波效果;6. 调整滤波器的参数,如阶数和截止频率,观察滤波效果的变化。
四、实验结果与分析在实验中,我们选择了一个音频信号作为待处理信号,设计了一个10阶的FIR滤波器,截止频率为1kHz,采样频率为8kHz,并使用汉宁窗进行滤波器系数的计算。
经过滤波处理后,观察到音频信号的高频部分被有效地滤除,保留了低频部分,使得音频信号听起来更加柔和。
通过调整滤波器的阶数和截止频率,我们可以进一步调节滤波效果,使得音频信号的音色发生变化。
实验六FIR数字滤波器的设计实验六FIR数字滤波器的设计⼀、实验⽬的(1)掌握⽤窗函数法设计FIR数字滤波器的原理和⽅法。
(2)掌握⽤等波纹最佳逼近法设计FIR数字滤波器的原理和⽅法。
(3)掌握⽤海明窗设计FIR数字滤波器的原理和⽅法。
(4)学会调⽤MATLAB函数设计与实现FIR滤波器。
⼆、实验内容及步骤(1)掌握⽤窗函数法和等波纹最佳逼近法设计FIR数字滤波器的原理;(2)调⽤信号产⽣函数xtg产⽣具有加性噪声的信号xt,并⾃动显⽰xt及其频谱;图1 具有加性噪声的信号x(t)及其频谱(3)请设计低通滤波器,从⾼频噪声中提取xt中的单频调幅信号,要求信号幅频失真⼩于0.1dB,将噪声频谱衰减60dB。
先观察xt的频谱,确定滤波器指标参数。
(4)根据滤波器指标选择合适的窗函数,计算窗函数的长度N,调⽤MATLAB函数fir1设计⼀个FIR低通滤波器。
并编写程序,调⽤MATLAB快速卷积函数fftfilt实现对xt的滤波。
绘图显⽰滤波器的频响特性曲线、滤波器输出信号的幅频特性图和时域波形图。
(5)重复(3),滤波器指标不变,但改⽤等波纹最佳逼近法,调⽤MATLAB函数remezord和remez设计FIR数字滤波器。
并⽐较两种设计⽅法设计的滤波器阶数。
(6)⽤海明窗设计⼀个阶数为48,通带范围为0.35pi≤w≤0.65pi 的带通线性相位滤波器。
提⽰:1.采样频率Fs=1000Hz,采样周期T=1/Fs;2.可选择滤波器指标参数:通带截⽌频率fp=120Hz,阻带截⾄频率fs=150Hz,换算成数字频率,通带截⽌频率p 20.24pfωπ=T=π,通带最⼤衰为0.1dB,阻带截⾄频率s 20.3sfωπ=T=π,阻带最⼩衰为60dB。
3.实验程序框图:图2 实验程序框图附件:(1)信号产⽣函数xtg程序清单:function xt=xtg(N)%实验五信号x(t)产⽣,并显⽰信号的幅频特性曲线%xt=xtg(N) 产⽣⼀个长度为N,有加性⾼频噪声的单频调幅信号xt,采样频率Fs=1000Hz%载波频率fc=Fs/10=100Hz,调制正弦波频率f0=fc/10=10Hz. N=2000;Fs=1000;T=1/Fs;Tp=N*T;t=0:T:(N-1)*T;fc=Fs/10;f0=fc/10; %载波频率fc=Fs/10,单频调制信号频率为f0=Fc/10;mt=cos(2*pi*f0*t); %产⽣单频正弦波调制信号mt,频率为f0ct=cos(2*pi*fc*t); %产⽣载波正弦波信号ct,频率为fcxt=mt.*ct; %相乘产⽣单频调制信号xtnt=2*rand(1,N)-1; %产⽣随机噪声nt%=======设计⾼通滤波器hn,⽤于滤除噪声nt中的低频成分,⽣成⾼通噪声=======fp=150; fs=200;Rp=0.1;As=70; % 滤波器指标fb=[fp,fs];m=[0,1]; % 计算remezord函数所需参数f,m,devdev=[10^(-As/20),(10^(Rp/20)-1)/(10^(Rp/20)+1)];[n,fo,mo,W]=remezord(fb,m,dev,Fs); % 确定remez函数所需参数hn=remez(n,fo,mo,W); % 调⽤remez函数进⾏设计,⽤于滤除噪声nt中的低频成分yt=filter(hn,1,10*nt); %滤除随机噪声中低频成分,⽣成⾼通噪声yt%============================================ ====================xt=xt+yt; %噪声加信号fst=fft(xt,N);k=0:N-1;f=k/Tp;subplot(3,1,1);plot(t,xt);grid;xlabel('t/s');ylabel('x(t)');axis([0,Tp/5,min(xt),max(xt)]);title('(a) 信号加噪声波形') subplot(3,1,2);plot(f,abs(fst)/max(abs(fst)));grid;title('(b) 信号加噪声的频谱')axis([0,Fs/2,0,1.2]);xlabel('f/Hz');ylabel('幅度')(2)⽤窗函数法设计FIR滤波器% FIR数字滤波器设计及软件实现clear all;close all;%==调⽤xtg产⽣信号xt, xt长度N=1000,并显⽰xt及其频谱,=========N=1000;xt=xtg(N);fp=120; fs=150;Rp=0.2;As=60;Fs=1000; T=1/Fs; % 输⼊给定指标% (1) ⽤窗函数法设计滤波器wc=(fp+fs)/Fs; %理想低通滤波器截⽌频率(关于pi归⼀化)B=2*pi*(fs-fp)/Fs; %过渡带宽度指标Nb=ceil(11*pi/B); %blackman窗的长度Nhn=fir1(Nb-1,wc,blackman(Nb));Hw=abs(fft(hn,1024)); % 求设计的滤波器频率特性ywt=fftfilt(hn,xt,N); %调⽤函数fftfilt对xt滤波figure(2);subplot(3,1,1);myplot(hn,xt); %调⽤绘图函数myplot绘制损耗函数曲线y1t='y_w(t)';subplot(3,1,2);tplot(ywt,T,y1t);(3) % ⽤等波纹最佳逼近法设计滤波器fb=[fp,fs];m=[1,0]; % 确定remezord函数所需参数f,m,devdev=[(10^(Rp/20)-1)/(10^(Rp/20)+1),10^(-As/20)]; [Ne,fo,mo,W]=remezord(fb,m,dev,Fs); % 确定remez函数所需参数hn=remez(Ne,fo,mo,W); % 调⽤remez函数进⾏设计Hw=abs(fft(hn,1024)); % 求设计的滤波器频率特性yet=fftfilt(hn,xt,N); % 调⽤函数fftfilt对xt滤波figure(3);subplot(3,1,1);myplot(hn,xt); %调⽤绘图函数myplot绘制损耗函数曲线y2t='y_e(t)';subplot(3,1,2);tplot(yet,T,y2t)(4) 上⾯代码调⽤的⼦函数:(4-1) myplot:计算时域离散系统损耗函数并绘制曲线图。
fir滤波器设计实验报告一、实验目的本次实验的目的是设计FIR滤波器,从而实现信号的滤波处理。
二、实验原理FIR滤波器是一种数字滤波器,它采用有限长的冲激响应滤波器来实现频率选择性的滤波处理。
在FIR滤波器中,系统的输出只与输入和滤波器的系数有关,不存在反馈环路,因此具有稳定性和线性相位的特性。
FIR滤波器的设计最常采用Window法和最小二乘法。
Window法是指先对理想滤波器的频率特性进行窗函数的处理,再通过离散傅里叶变换来得到滤波器的时域响应。
最小二乘法则是指采用最小二乘法来拟合理想滤波器的频率特性。
本次实验采用的是Window法。
三、实验步骤1.设计滤波器的频率响应特性:根据实际需要设计出需要的滤波器的频率响应特性,通常采用理想滤波器的底通、高通、带通、带阻等特性。
2.选择窗函数:根据设计的滤波器的频率响应特性选择相应的窗函数,常用的窗函数有矩形窗、汉宁窗、汉明窗等。
3.计算滤波器的时域响应:采用离散傅里叶变换将设计的滤波器的频率响应特性转化为时域响应,得到滤波器的冲激响应h(n)。
4.归一化:将得到的滤波器的冲激响应h(n)进行归一化处理,得到单位加权的滤波器系数h(n)。
5.实现滤波器的应用:将得到的滤波器系数h(n)应用于需要滤波的信号中,通过卷积的方式得到滤波后的信号。
四、实验结果以矩形窗为例,设计一阶低通滤波器,截止频率为300Hz,采样频率为8000Hz,得到的滤波器系数为:h(0)=0.0025h(1)=0.0025滤波效果良好,经过滤波后的信号频率响应相对于滤波前有较明显的截止效应。
五、实验总结通过本次实验,我们掌握了FIR滤波器的设计方法,窗函数的选择和离散傅里叶变换的应用,使我们能够更好地处理信号,实现更有效的信号滤波。
在日常工作和学习中,能够更好地应用到FIR滤波器的设计和应用,提高信号处理的精度和效率。
实验六用窗函数设计FIR滤波器一、引言数字滤波器是用于处理数字信号的重要工具,而FIR(Finite Impulse Response)滤波器是其中一类常见的滤波器。
在FIR滤波器中,输出信号的每个样本值仅依赖于输入信号在过去固定时间窗口内的样本值。
窗函数则是用于设计FIR滤波器的一种常见方法。
本实验将介绍如何用窗函数设计FIR滤波器,并通过一系列实验验证其性能。
二、实验目的1.了解FIR滤波器的原理和窗函数设计方法。
2.利用MATLAB工具进行FIR滤波器设计与性能评估。
3.分析不同窗函数对FIR滤波器的影响。
三、窗函数设计方法在设计FIR滤波器时,可以通过选择不同的窗函数来实现不同的频率响应。
常见的窗函数有矩形窗、汉宁窗、汉明窗、布莱克曼窗等。
在本实验中,我们将以汉宁窗为例进行讲解。
1.首先确定滤波器的截止频率和通带误差。
2.根据通带误差和滤波器的截止频率计算阶数。
3.根据阶数选择合适大小的窗口长度。
4.选择合适的窗函数,如汉宁窗。
5.计算窗函数的系数,并与理想滤波器的冲击响应相乘得到最终的滤波器系数。
四、实验步骤1.确定滤波器参数:截止频率、通带误差等。
2.根据通带误差和截止频率计算滤波器的阶数。
3.选择合适大小的窗口长度,通常选择大于滤波器阶数的2倍。
4.选择窗函数,如汉宁窗,计算窗函数的系数。
5.根据窗函数系数和截止频率计算滤波器的系数。
6.绘制滤波器的频率响应曲线。
7.利用设计好的FIR滤波器对输入信号进行滤波,并观察滤波效果。
五、实验结果与分析在本实验中,我们选择了截止频率为1kHz的低通滤波器。
首先计算滤波器的阶数,假设通带误差为0.01,根据公式可得N=3.32/((截止频率*通带误差)/采样频率)≈60。
我们选择窗口长度为120,即滤波器的阶数的两倍。
接下来选择汉宁窗作为窗函数,并计算其系数。
最后通过窗函数系数和截止频率计算得到滤波器的系数。
实验采用不同窗函数设计的FIR滤波器进行滤波,观察不同窗函数对滤波器性能的影响。
实验六 用窗函数法设计FIR 数字滤波器一. 实验目的(1)掌握用窗函数法设计FIR 数字滤波器的原理与方法。
(2)熟悉线性相位FIR 数字滤波器的特性。
(3)了解各种窗函数对滤波特性的影响。
二. 实验内容和要求(1) 复习用窗函数法设计FIR 数字滤波器一节内容,阅读本实验原理,掌握设计步骤。
(2) 用升余弦窗设计一线性相位低通FIR 数字滤波器,截止频率rad c 4πω=。
窗口长度N =15,33。
要求在两种窗口长度情况下,分别求出()n h ,打印出相应的幅频特性和相频特性曲线,观察3dB 带宽和20dB 带宽。
总结窗口长度N 对滤波器特性的影响。
设计低通FIR 数字滤波器时,一般以理想低通滤波特性为逼近函数()ωj e H ,即()⎪⎩⎪⎨⎧≤<≤=-πωωωωωαωc c j jd ,,e e H 0 其中21-=N α ()()()[]()a n a n d e e d e eH n h c j j j j d d cc--===⎰⎰---πωωπωπωαωωωαωππωsin 2121(3) 33=N ,4πω=c ,用四种窗函数设计线性相位低通滤波器,绘制相应的幅频特性曲线,观察3dB 带宽和20dB 带宽以及阻带最小衰减,比较四种窗函数对滤波器特性的影响。
三. 实验方法、步骤及结果测试如果所希望的滤波器的理想的频率响应函数为()ωj d e H ,则其对应的单位脉冲响应为()()ωπωωππd e e H n h j j d d ⎰-=21 (4.1)窗函数设计法的基本原理是用有限长单位脉冲响应序列()n h 逼近()n h d 。
由于()n h d 往往是无限长序列,而且是非因果的,所以用窗函数()n ω将()n h d 截断,并进行加权处理,得到:()()()n n h n h d ω=(4.2)()n h 就作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数()ωj e H 为()()nj N n j en h eH ωω∑-==1(4.3)式中,N 为所选窗函数()n ω的长度。
实验6FIR滤波器设计FIR (Finite Impulse Response)滤波器是一种数字滤波器,其输出信号仅取决于振荡器的输入以前的有限个值。
FIR滤波器设计的目的是通过调整滤波器的系数以实现所需的频率响应。
在FIR滤波器设计中,首先确定滤波器的类型和频率响应的规格。
常见的滤波器类型有低通滤波器、高通滤波器、带通滤波器和带阻滤波器。
频率响应的规格由滤波器的截止频率、通带增益和阻带衰减等参数决定。
FIR滤波器的设计步骤如下:1.确定滤波器的类型和频率响应规格。
根据应用的需求,选择适当的滤波器类型和定义频率响应的参数。
2.确定滤波器的阶数。
阶数决定了滤波器的复杂度和性能。
一般而言,阶数越高,滤波器的性能越好,但计算复杂度也越高。
3.根据频率响应规格和系统设计的约束,选择一种滤波器设计方法。
常见的设计方法有窗函数法、频率采样法、最小均方误差法等。
4.设计滤波器的理想频率响应。
根据所选的设计方法,确定滤波器的理想频率响应。
这通常是一个分段线性函数,其中包括通带增益和阻带衰减。
5.将理想频率响应转换为时域的冲激响应。
这可以通过将理想频率响应进行反傅里叶变换来实现。
6.通过选择合适的窗函数,对冲激响应进行窗函数变换。
窗函数的选择是设计滤波器性能的重要因素。
7.通过窗函数变换得到滤波器的系数。
通过将窗函数变换应用于冲激响应,可以得到设计滤波器的系数。
这些系数确定了滤波器的时间响应和频率响应。
8.可选地,通过优化算法对滤波器的系数进行优化。
优化算法可以用来进一步改善滤波器的性能。
常用的优化算法包括加权最小二乘方法、梯度下降法等。
9.实现滤波器。
将设计好的滤波器系数应用于输入信号,得到滤波器输出。
可以使用编程语言或滤波器设计工具来实现滤波器。
10.验证滤波器的性能。
通过将滤波器应用于不同的输入信号,检验滤波器输出是否符合设计要求。
可以使用频谱分析工具和滤波器性能评估指标来评估滤波器的性能。
FIR滤波器设计是数字信号处理中重要的课题之一、设计一个性能良好的FIR滤波器需要对滤波器原理和设计方法有深入的了解,以及熟练的使用滤波器设计工具和编程工具。
实验6FIR滤波器设计FIR(Finite Impulse Response)滤波器是一种数字滤波器,它的输出只取决于输入序列和固定的系数,没有反馈回路。
FIR滤波器在很多领域中都有广泛的应用,比如音频信号处理、图像处理等。
本实验中我们将设计一个FIR滤波器,主要包括滤波器的设计、滤波器的实现以及滤波器的性能评估。
首先,我们需要选择一个滤波器的类型和规格。
常用的滤波器类型包括低通滤波器、高通滤波器、带通滤波器和带阻滤波器等。
在本实验中,我们选择设计一个低通FIR滤波器。
接下来,我们需要确定滤波器的规格,包括截止频率、滤波器阶数和滤波器的类型等。
根据实际需求,我们选择截止频率为2kHz、滤波器阶数为64阶,滤波器类型为汉宁窗设计。
然后,我们需要确定滤波器的系数。
在本实验中,我们使用频率采样法设计滤波器。
首先,确定归一化截止频率:将实际截止频率除以采样频率,即2kHz/1MHz=0.002、然后,根据阶数和归一化截止频率计算出滤波器的系数。
在设计完成后,我们需要将滤波器转化为差分方程。
差分方程的形式为:y[n]=b0*x[n]+b1*x[n-1]+b2*x[n-2]+...+bN*x[n-N]其中y[n]是输出序列,x[n]是输入序列,b0,b1,b2,...,bN是滤波器的系数。
接下来,我们需要实现设计好的滤波器。
可以使用现有的FIR滤波器实现库,比如MATLAB中的“fir1”函数。
将输入序列输入滤波器,即可得到滤波后的输出序列。
最后,我们需要评估滤波器的性能。
常用的评估指标有幅频响应、相频响应和滤波器的群延迟等。
可以利用这些指标来评估滤波器的性能是否达到设计要求。
比如,可以绘制滤波器的幅频响应曲线来观察滤波器在不同频率下的增益情况。
综上所述,本实验主要介绍了FIR滤波器的设计、实现以及性能评估。
通过掌握FIR滤波器的设计方法和实现步骤,可以更好地应用FIR滤波器进行信号处理和滤波。
实验六、用窗函数法设计FIR 数字滤波器一、实验目的:(1)熟悉基本的窗函数,及其特点。
(2)掌握用窗函数法设计FIR 数字滤波器的原理和方法。
(3)熟悉线性相位FIR 数字滤波器特性。
二.实验原理(一)FIR 滤波器的设计FIR 滤波器具有严格的相位特性,这对于语音信号处理和数据传输是很重要的。
目前FIR 滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。
本实验中的窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求不高的时候是比较灵活方便的。
它是从时域出发,用一个窗函数截取一个理想的)(n h d 得到h(n),以有限长序列h(n)近似理想的)(n h d :如果从频域出发,用理想的)(jw d e h 在单位圆上等角度取样得到H (k ),根据h(k)得到H(z)将逼近理想的)(z H d 这就是频率取样法。
(二)窗函数设计法同其它的的数字滤波器设计的方法一样,用窗函数设计滤波器也是首先要对滤波器提出性能指标。
一般是给定一个理想的频率响应)(jw d e h ,使所设计的FIR 滤波器的频率响应)(jw e h 去逼近所要求的理想的滤波器的响应)(jw d e h 窗函数设计的任务在于寻找一个可实现(有限长单位脉冲响应)的传递函数。
∑-=-=1)()(N n jw jwn e n h e H去逼近)(jw d e h 。
我们知道,一个理想的频率响应)(jw d e h 的傅里叶变换⎰=ππ20)(21)(dw e e H n h jwnjw d d 所得到的理想的单位脉冲响应)(n h d 往往是一个无限长序列,对)(n h d 经过适当的加权、截取处理才得到一个所需要的有限长脉冲响应序列。
对应不同的加权、截断,就有不同的窗函数。
所要寻找的滤波器脉冲响应就等于理想脉冲响应和窗函数的乘积。
即:)()()(n w n h n h d =由此可见,窗函数的性质就决定了滤波器的品质。
例如:窗函数的主瓣宽度决定了滤波器的过渡带宽;窗函数的旁瓣代销决定了滤波器的阻带衰减。
以下是几种常见的窗函数: 1、矩形窗 )()(n R n w N = 2、Hanning 窗 )()]12cos(1[5.0)(n R N nn w N --=π3、Hamming 窗 )()]12cos(46.054.0[)(n R N nn w N --=π 4、Blackman 窗 )()]14cos(08.0)12cos(5.042.0[)(n R N nN n n w N -+--=ππ 5、Kaiser 窗 )(]1))1(2[(1()(020ββI N nI n w ---=其中)(0∙I 是零阶贝塞尔函数。
Kaiser 窗可以通过改变β参数,改变其主瓣宽度和旁瓣大小。
在MATLAB 中产生窗函数十分简单: (1)矩形窗(Rectangle Window )调用格式:w=boxcar(n),根据长度n 产生一个矩形窗w 。
(2)三角窗(Triangular Window )调用格式:w=triang(n) ,根据长度n 产生一个三角窗w 。
(3)汉宁窗(Hanning Window )调用格式:w=hanning(n) ,根据长度n 产生一个汉宁窗w 。
(4)海明窗(Hamming Window )调用格式:w=hamming(n) ,根据长度n 产生一个海明窗w 。
(5)布拉克曼窗(Blackman Window )调用格式:w=blackman(n) ,根据长度n 产生一个布拉克曼窗w 。
(6)恺撒窗(Kaiser Window )调用格式:w=kaiser(n,beta) ,根据长度n 和影响窗函数旁瓣的β参数产生一个恺撒窗w 。
表1 各种窗函数的性能指标(三)Matlab 提供了基于窗函数法的FIR 滤波器的设计函数fir1和fir2Matlab 中,函数fir1()和fir2()利用加窗傅里叶级数法设计FIR 滤波器。
函数fir1()用来设计传统的LP (低通)、HP (高通)、BP (带通)、BS (带阻)和多频带FIR 滤波器;而函数fir2()用来设计具有任意幅度响应的的FIR 滤波器。
1. fir1:基于窗函数的FIR 滤波器设计-标准频率响应形状hn=fir1(M ,wc ),返回6dB 截止频率为wc 的M 阶(单位脉冲响应h(n)长度N=M+1)FIR 低通(wc 为标量)滤波器系数向量hn ,默认选用哈明窗。
滤波器单位脉冲响应h(n)与向量hn 的关系为h(n)=hn(n+1), n=0,1,2,3,……,MB=fir1(M,wc ,’ftype’,window)调用格式: n 为阶数、wc 是归一化截止频率(0<Wn<1)(如果输入是形如[W1 W2]的矢量时,本函数将设计带通滤波器,其通带为W1<ω<W2)、ftype 是滤波器的类型(低通-省略该参数、高通-ftype=high、带阻-ftype=stop)、Window 是窗函数。
应当注意,在设计高通和带阻滤波器时,阶数N只能取偶数(h(n)长度N+1为奇数)。
不过,当用户将N设置为奇数时,fir1会自动对N加1。
2.fir2:于窗函数的FIR滤波器设计-标准频率响应形状B=fir2(N,f,m,window)例题1:利用fir1函数设计为信号f =2*sin(2*pi*20*t)+4*sin(2*pi*60*t)设计一低通滤波器滤除频率为60Hz的信号。
clear,close all;fs=200;N1=200;n=0:N1-1;f=n*fs/N1;t=0:1/fs:(N1-1)/fs;x=2*sin(2*pi*20*t)+4*sin(2*pi*60*t);X=abs(fft(x));X1=X/(N1/2);X1(1)=X1(1)/2;plot(f(1:N1/2),X1(1:N1/2));title('原始信号f');N = 11; %滤波器节点个数wc = 0.5; %归一化截止频率hd = fir1(N,wc); % 基于加窗函数的FIR滤波器设计,系统默认窗为hanningft=filter(hd,1,x); %也可以采用ft=fftfilt(hd,f),或ft = conv(f,hd);figure;Y=abs(fft(ft));N2=length(Y);Y1=Y/(N2/2);Y1(1)=Y1(1)/2;plot(f(1:N2/2),Y1(1:N2/2));title('滤波后信号ft');函数fftfilt的调用格式为y=fftfilt(b,x) 该格式是利用基于FFT的重叠相加法对数据进行滤波,这种频域滤波技术只对FIR滤波器有效。
该函数是通过向量b描述的滤波器对x数据进行滤波。
x是等待滤波的信号;b是FIR滤波器的H(z)的分子多项式系数例题2:调用fir2函数逼近截止频率wc=0.6 的理想高通30阶FIR数字滤波器设计f = [0 0.6 0.6 1];m = [1 1 0 0];b = fir2(30,f,m);figure(1);stem(n,b,'.'),title('h(n)');grid[h,w] = freqz(b,1,128);figure(2)plot(f,m,w/pi,abs(h))legend('Ideal','fir2 Designed')title('Comparison of Frequency Response Magnitudes')例题3:利用窗函数法设计一个线性相位的低通滤波器,性能指标为:通带截止频率为0.2pi,阻带起始频率为0.3pi,通带最大衰减为3dB,阻带最小衰减为40dB,编写程序实现,并绘制滤波器的幅频响应与相频响应。
wp=0.2*pi;ws=0.3*pi;wdelta=ws-wp;N=ceil(8*pi/wdelta);wc=(wp+ws)/2;b=fir1(N-1,wc/pi,hanning(N));freqz(b,1,512)%求得频率响应,分子为b,分母为1(四)FDATool设计数字滤波器:在 MATLAB 命令窗口中输入 fdatool,即可启动FDATool 工具,出现一个综合、操作简单的图形用户界面。
FDATool 界面分为上下两大区域,一是设计区:用于设置待设计的数字滤波器各种参数,位于界面的下半部分;二是显示区:用于显示所设计的数字滤波器各种特性,位于界面的上半部分。
1、在FDATool 界面设计区的Response Type选项中选择Lowpass,在Design Method 选项中选择FIR ,Window选择。
然后,在Filter Order选项中选择11。
最后,分别在Frequency Specifications选项中设置Units为normalized(0 to 1),wc为0.6。
设置完毕后,点击 Design Filter 按钮即可完成 FIR低通数字滤波器的设计,并在FDATool 的 Filter Specifications 显示区呈现出滤波器的幅频响应三、实验内容1、利用fir1和三角窗(triang)和汉宁窗(hanning)窗函数分别设计一个N=51,截止频率为wc=0.5π的低通滤波器,分别画出冲激响应曲线和幅频响应曲线。
2、利用fir1及blackman窗设计一个N=52,ws1=0.3π、ws2=0.4π带阻滤波器,画出幅频响应及相频响应。
提示:ws=[0.3,0.4]h=fir1(N-1,ws,’stop’,blackman(N));3、s=sin(2*pi*t*5)+sin(2*pi*t*15)+sin(2*pi*t*30),信号中包含了5Hz、15Hz、30Hz 频率分量,对其采样的频率取100Hz。
带通滤波器要把低频5Hz分量滤掉,因此取样频率为fs=100Hz,由wp1=0.35*pi;wp2=0.65*pi;ws1=0.2*pi;ws2=0.8*pi过渡带宽:8Mπ,得出滤波器的阶数M。
注意:带通滤波器过渡带带宽的求法min((wp1-ws1),(ws2-wp2))理想带通滤波器的下截止频率:(wp1+ws1)/2/pi理想带通滤波器的上截止频率:(wp2+ws2)/2/pi要求:画出带通滤波器幅频响应、相频特性、滤波前后波形的频谱。
四、思考题如果没有给定h(n)长度N,而是给定了通带边缘截止频率w s阻带临界频率w c以及相应的衰减,你能根据这些条件用窗函数法设计线性相位FIR低通滤波器吗?。