数字高通FIR滤波器目录1整体知识的介绍 (2)1.1MATLAB的介绍 (2)1.1.1基本功能 (2)1.1.2应用 (3)1.2滤波器的介绍 (3)1.3高通滤波器及其应用 (4)1.3.1高通滤波器的定义 (4)1.3.2高通滤波器的应用 (4)2 FIR滤波器的一般分析 (5)2.1高通滤波的时域分析 (5)2.2高通滤波器频域分析 (6)3频率取样法的数字高通滤波器的实现 (8)3.1设计条件 (8)3.2 FIR 滤波器的仿真实现 (10)3.2.1FDATOOL工具箱 (10)3.2.2 FIR滤波器参数设置 (11)3.2.3 利用SPTool仿真 (12)4实验小结 (14)5参考文献 (15)1整体知识的介绍1.1MATLAB的介绍MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
1.1.1基本功能MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
1.1.2应用MATLAB 产品族可以用来进行以下各种工作:● 数值分析● 数值和符号计算● 工程与科学绘图● 控制系统的设计与仿真● 数字图像处理技术● 数字信号处理技术● 通讯系统设计与仿真● 财务与金融工程MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。
附加的工具箱(单独提供的专用 MATLAB 函数集)扩展了 MATLAB 环境,以解决这些应用领域内特定类型的问题。
1.2滤波器的介绍数字滤波器(digital filter)是由数字乘法器、加法器和延时单元组成的一种装置。
其功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。
由于电子计算机技术和大规模集成电路的发展,数字滤波器已可用计算机软件实现,也可用大规模集成数字硬件实时实现。
数字滤波器广泛用于数字信号处理中,如电视、VCD、音响等。
按照滤波电路的工作频带为其命名:设截止频率为fp,频率低于fp的信号可以通过,高于fp的信号被衰减的电路称为低通滤波器,频率高于fp的信号可以通过,低于fp的信号被衰减的电路称为高通滤波器;而带通吗,就是频率介于低频段截止频率和高频段截止频率的信号可以通过的电路。
1.3高通滤波器及其应用1.3.1高通滤波器的定义高通滤波器是容许高频信号通过、但减弱(或减少)频率低于截止频率信号通过的滤波器。
对于不同滤波器而言,每个频率的信号的减弱程度不同。
它有时被称为低频剪切滤波器;在音频应用中也使用低音消除滤波器或者噪声滤波器。
高通滤波器与低通滤波器特性恰恰相反。
1.3.2高通滤波器的应用这样的滤波器能够把高频率的声音引导至专用高音喇叭(tweeter),并阻止可能干擾或者损害喇叭的低音信号。
使用线圈而不是电容的低通滤波器也可以同时把低频信号引导至低音喇叭(woofer)。
参见音频桥(en:audio crossover)。
高通和低通滤波器也用于数字图像处理中在频域中进行变换。
2 FIR 滤波器的一般分析滤波就是有选择性地提取或去掉(或削弱)某一段或某几段频率范围内的信号,数字滤波器是一种用来过滤时间离散信号的数字系统,它是通过对抽样数据进行数学处理来达到选频目的。
数字滤波器根据其单位冲激响应函数的时域特性分为两种:无限长冲激响应(IIR) 滤波器和有限长冲激响应(FIR)滤波器。
IIR 滤波器保留了模拟滤波器较好的幅度特性,设计简单有效。
但这些特性是以牺牲相位特性为代价而获得的,然而现在许多数据传输,图像处理系统都越来越多的要求系统具有线性相位特性。
在这方面,FIR 滤波器具有独特的优点,它可以保持严格的线性相位特性,因此越来越受到广泛的重视。
2.1高通滤波的时域分析在时域,信号经过系统的响应y (n)体现为激励x(n)跟系统单位抽样响应h(n)的卷积和y(n)=(n)×h(n)=ΣN –1m=0h(m)x(n-m)[223] 。
对于长度为N 的FIR 系统, h(n)可以看成一个长度为N 点的固定窗口,而x(n)则看成一个队列以齐步走的方式穿过h(n)窗口,每走一步,位于窗口中的x(n)部分的点跟h(n)的对应点的值相乘(即加权)再求和,所得结果构成此时系统的响应值y(n), x(n)队列每走一步就得到一个响应值y(n),即y(n)是h(n)对位于其窗口中的x(n)的加权求和。
高通滤波要求h(n)窗口具有波形锐化作用,即利用h(n)窗口加权和使得变化快的(即高频)正弦分量保留(理想高通)或衰减幅度小(实际高通) ,而变化缓慢(即低频)的正弦分量正负抵消(理想高通)或衰减幅度大(实际高通) 。
设其中N 必须取奇数,)/10002sin(2.0)/1002sin(8.0)()()(21s s f n f n n x n x n x ⨯⨯+⨯⨯=+=ππ 2.1.1 其中: fs = 11kHz, n 为整数,即x ( n)由100Hz 的x1(n)和1kHz的x2(n)两种频率的信号组成。
高通滤波的目的就是要尽可能地去掉x(n)中的低频分量x1(n) ,同时尽可能地保留x(n)中的高频分量x2(n)。
x(n)跟h(n)卷积结果如图1所示,从图1可看出,响应y(n)中几乎只剩下右移了(N-1)/2=5个样值点的1kHz的信号x2(n) 。
2.2高通滤波器频域分析在频域,信号经过系统的响应y(n)的频谱Y(ejω)体现为激励x(n)的频谱X (ejω)跟系统单位抽样响应h(n)的频谱H(ejω)(即系统的频谱)的乘积Y(ej ω)=|H(ejω)|×|X(ejω)|×ejφH+φx,即响应的频谱Y(ejω)的幅值由系统频谱H(ejω)的幅值对激励频谱X(ejω)的幅值相乘(加权)得到,响应的频谱Y(ejω)的幅角由系统的频谱H(ejω)的幅角跟激励频谱X(ejω)的幅角相加(移相)得到[122 ]。
高通滤波要求系统幅度函数|H(jf)|对需要保留的高频信号频谱加权权重较大(理想时为1) ,对需要滤除的低频信号频谱加权权重较小(理想时为0) 。
其中L为x(n)的长度(L=100), 0≤k≤L- 1,N为h(n)的有值长度,m、k均为整数,跟数字频率k相对应的模拟频率为f=fs×k/L (Hz)。
h(n)在不同N值时的频谱如图2所示(横轴单位为kHz),当N=11时,在f=m(kHz)即f=1kHz、2kHz、3kHz 等处为1,而在f=(2m-0.5)(kHz)即f=1.5kHz、3.5kHz等处幅度最大。
而在f=(2m+0.5)(kHz)即f=2.5kHz、4.5kHz等处幅度最小,如图2(b);当N=5时, 在f=mfs/5处为1,即f=2.2kHz、3.3kHz等处为1,在f=(4m-1)fs/10即f=3.3kHz 处幅度最大。
而在f=(4m+1)fs/10即f=5.5kHz处幅度最小,如图2(c);当N=21时,在f=mfs/21即f=524Hz、1047Hz等处为1, 在f=(4m-1)fs/42处幅度最大,而在f=(4m+1)fs/42处幅度最小,如图图2.2.1用不同宽度的h(n)对x(n)的滤波在频域上表现如图2.2.1所示,图2.2.1(a)为x(n)的频谱|X(jf)| ,从图2中可以看出x(n)中含有100Hz和1kHz两种频率的信号,图2.2.1(b)~(d)为不同长度的h(n)对同一x(n)的滤波情况,这跟在时域中分析的结论是一致的。
3频率取样法的数字高通滤波器的实现在应用Matlab 语言进行FIR 滤波器的设计时, 可以随时对比设计要求和滤波器特性, 并可通过不断调整设计参数, 获得较合适的冲激响应和幅度响应, 以使滤波器达到最优化。
3.1设计条件wp=0.23*pi; ws=0.43*pi; 阻带衰减为50dB,抽样频率为fs=15000,频谱分析采用freqz函数,实际振幅响应采用[Hr,ww,a,L] = hr_type1(h),[db,mag,pha,w] = freqz_m2(h,l);hr_type1:计算所设计的I型滤波器的振幅响应Hr = 振幅响应a = I型滤波器的系数L = Hr的阶次h = I型滤波器的单位冲激响应freqz_m2滤波器幅值响应(绝对、相对)、相位响应db: 相对幅值响应;mag: 绝对幅值响应;pha: 相位响应;w: 采样频率;b: 系统函数H(z)的分子项(对FIR,b=h)a: 系统函数H(z)的分母项(对FIR,a=1)对应本次的输入信号为:x=sin(2*pi*t*100)/2+sin(2*pi*t*500)/2+sin(2*pi*t*1000)/2+sin(2*pi *t*2000)/2+sin(2*pi*t*3200)/2;输出的波行如图3.3.1所示:图3.3.1 输入信号的波行y=filter(h,1,x);%输出信号[a,f1]=freqz(x);f1=f1/pi*fs/2;%输入频谱[b,f2]=freqz(y);f2=f2/pi*fs/2;%输出频谱图3.1.2高通输出图3.2 FIR 滤波器的仿真实现在滤波器设计中要对理想滤波器抽样响应进行截断. 截断后不可避免的产生了频谱泄漏, 为了尽量减小频谱泄漏, 在设计滤波器时要采用不同的窗函数来满足不同用途的要求.各种窗函数的幅频响应都存在明显的主瓣和旁瓣. 主瓣宽度和旁瓣的幅值衰减特性决定了窗函数的应用. 用于滤波器的窗函数,一般要求窗函数主瓣宽度窄,以获得较好过渡带:旁瓣相对值尽可能小, 以增加通带段的平稳度和增大阻带的衰减.窗函数应满足在0 Fn<N范围内关于a 对称,在其它区域取零值.这样,所得到的截断序列就可以作为理想低通滤波器的近似;为了满足一定的技术指标,还应该调整窗函数的长度或其它参数.窗函数设计方法首先根据要求选择一个适当的理想滤波器,由于理想滤波器的脉冲响应是非因果且无限长的,用适当的窗函数来截取它的脉冲响应,从而得到线性相位和因果的FIR滤波器. 通过合理地选择窗函数的长度,可以得到符合给定指标的近似的理想滤波器. 因此,窗函数设计的核心是选择一个合适的窗函数和理想滤波器.FIR滤波器可通过窗函数法、频率抽样法和最优化设计法来设计,本文先解释FIR数字高通滤波的物理过程,然后利用MATLB的FDATool采用窗函数法设计一高通滤波器。