文档库 最新最全的文档下载
当前位置:文档库 › IIR滤波器的MATLAB设计及DSP实现

IIR滤波器的MATLAB设计及DSP实现

IIR滤波器的MATLAB设计及DSP实现
IIR滤波器的MATLAB设计及DSP实现

1 绪论

1.1 滤波器技术的发展状况

数字信号处理主要是研究用数字或符号的序列来表示信号波形,并用数字的方式去处理这些序列,把它们改变成在某种意义上更为有希望的形式,以便估计信号的特征参量,或削弱信号中的多余分量和增强信号中的有用分量。具体来说,凡是用数字方式对信号进行滤波、变换、调制、解调、均衡、增强、压缩、固定、识别、产生等加工处理,都可纳入数字信号处理领域。

数字信号处理理论与技术的发展,主要是由于电子计算机与大规模集成电路的大量生产和广泛应用,替代了原来的模拟信号处理中的线性滤波与频谱分析所应用的模拟计算机和分立元件L、C、R线性网络,高度发挥了计算技术与数字技术相结合的特色和优越性。特别是微处理器和微型计算机技术日新月异的发展,经更有利于电子仪器与电子技术应用系统朝着数字化、小型化、自动化以及多功能等方向发展,促使它们成为富有智能型的电子系统。现在,包括数字滤波在内的数字信号处理技术正以惊人的速度向纵深和高级的方向发展;据统计这种趋势还要持续一个较长的时期,未来的发展可能会比过去的进程更为激动人心,必将引起某些领域的飞跃性发展。

1.2 数字滤波器的定义和分类

数字滤波器是数字信号处理的基础, 用来对信号进行过滤、检测与参数估计等处理,在通信、语言、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。尤其在图像处理、数据压缩等方面取得了令人瞩目的进展和成就。鉴于此,数字滤波器的设计就显得尤为重要。由于图像在摄取过程中收到摄取器件、周围环境、通道传输误差等影响,会使摄取到的图像中含有噪声。噪声通常是随机产生的,因而具有分布和大小的不规律性。影响了图像的视觉效果和有关处理工作。因此需要对图像中的噪声进行消除。而噪声消除也就是滤波,目前数字滤波器的设计有许多现成的高级语言设计程序,但他们都存在设计效率低,不具有可视图形,不便于参数修改等缺点,而MATLAB的FDATool工具为数字滤波器的研究和应用提供了一个直观、高效、便捷的利器。它以矩阵运算为基础,把计算、可视化、仿真设计融合到一个交互式的工作环境中。尤其是MATLAB工具箱使各个领域的研究人员可以直观方便地进行科学研究和工程应用。

数字滤波器是用来完成信号滤波处理功能的,用有限精度算法实现的离散时间线

性非时变系统,其输入是一组数字量,其输出是经过变换的另一组数字量。因此,数

字滤波器本身既可以是用数字硬件装配成的一台完成给定运算的专用的数字计算机,

也可以将所需要的运算编成程序,让通用计算机来执行。从数字滤波器的单位冲击响

应来看,可以分为两大类:有限冲击响应(FIR)数字滤波器和无限冲击响应(IIR)数字

滤波器。滤波器按功能上分可以分为低通滤波器(LPF)、高通滤波器(HPF)、带通滤波

器(BPF)、带阻滤波器(BSF)。

理想滤波器就是一个让输入信号中的某些有用频率分量无任何变化的通过,同时

又能完全抑制另外那些不需要的成分的具有某种选择性的器件、网络或以计算机硬件

支持的计算程序。数字滤波器是指输入输出都是数字信号的滤波器。离散系统分为递

归型和非递归型两大类,相应的滤波器也有这两大类之分。IIR 滤波器就是递归型,

而FIR 滤波器属于非递归型。递归型滤波器是无限冲击响应滤波器,这类滤波器的冲

击响应h(n)是无限长度[1]。

1.3 数字滤波器的实现方法

实现滤波器的设计,就是要确定其传递函数,传递函数H(z)已知后,则可以确定系统的频率响应为)()(|)()(w j jw e z jw e e H z H e H jw Φ===,其中)()(w e H jw Φ和分

别是幅频特性和相位特性。对于无失真传输系统,有

τjw jw ke e H -=)(,即

?????-=Φ=τ

w w k e H jw )()( 幅频特性为常数,信号通过系统后各频率分量的相对大小保持不变,没有幅度失

真。相位特性为线性,使对应的时域方程的时延量为常数:)()(τ-=n kx n y ,即系统

对各频率分量的延迟时间相同,保证了各频率分量的相对位置不变,没有相位失真。

数字通信对相位的要求比模拟通信高许多,线性相位很重要。数字系统描述时延

的函数有两个: 群时延:dw w d /)(Φ-:反映相频曲线的线性程度;相时延:w w /)(Φ-:

反映各频率分量在时域的相对延时。所以无相位失真的传输条件是要具有恒群时延和

恒相时延,即dw w d /)(Φ-=w w /)(Φ-=常数τ[2]。

数字滤波器的实现方法一般有以下几种:

(1)在通用的计算机(如PC)上用软件(如C语言)实现。软件可以是由自己编写,也可以使用现成的软件包。这种方法的缺点是速度太慢,不能用实时系统,主要用于DSP算法的模拟与仿真。

(2)在通用的计算机系统中加上专用的加速处理机实现。这种方法不便于统的独立运行。

(3)用通用的单片机实现。单片机的接口性能良好容易实现人机接口。由单片机采用的是冯诺依曼总线结构,系统比较复杂,实现乘法运算速度较慢,在数字滤波器中涉及大量的乘法运算,因此,这种方法适用于一些不太复杂数字信号处理。

(4)用通用的可编程DSP芯片实现。与单片机相比,DSP有着更适合于数滤波的特点。它利用改进的哈佛总线结构,内部有硬件乘法器、累加器,使流水线结构,具有良好的并行特点,并有专门设计的适用于数字信号处理的令系统等。

(5)用专用的DSP芯片实现。在一些特殊的场合,要求的信号处理速度极,而通用DSP芯片很难实现,这种芯片将相应的信号处理算法在芯片内部用件实现,无须进行编程。

(6)用FPGA等可编程器件来开发数字滤波算法。使用相关开发工具和VHDL等硬件开发语言,通过软件编程用硬件实现特定的数字滤波算法。这一法由于具有通用性的特点并可以实现算法的并行运算,无论是作为独立的数信号处理,还是作为DSP芯片的协作处理器都是比较活跃的研究领域。

通过比较这些方法可见:可以采用MATLAB等软件来学习数字滤波器的基知识,计算数字滤波器的系数,研究算法的可行性,对数字滤波器进行前期的仿真。可以采用DSP或FPGA来实现硬件电路[3]。

1.4 本文的研究内容

本论文主要:①研究数字滤波的理论知识,为系统整体设计奠定了理论基础;②研究了MATLAB软件在数字信号处理,尤其是数字滤波器处理中的应用,仿真出了几种数字滤波器的基本模型;③研究TI公司TMS320VC5402数字信号处理器的内部结构及片上资源,并研究通信电子线路中各种接口的相互连接关系,设计了一个价格低、功耗小、精度高的数字滤波器系统。④研究无限长冲激响应数字滤波器在DSP中的具体实现方法。

2 IIR 滤波器的原理及设计方法

2.1 IIR 滤波器的介绍

无限长冲击响应数字滤波器特点是具有无限持续时间的冲激响应,由于这种滤波

器一般需要用递归模型来实现,因而又称为递归滤波器。因为IIR 滤波器不仅用了输

入有限项计算,而且把滤波器以前输出的有限项重新输入再计算,这在工程上称为反

馈。IIR 滤波器系统函数的极点可以在单位圆内的任何位置,实现IIR 滤波器的阶次

较低,所用的存储单元较少,效率高,又由于IIR 数字滤波器能够保留一些模拟滤波

器的优良特性,因此应用很广。设计IIR 数字滤波器的方法主要有基于冲激响应不变

法的IIR 数字滤波器设计,基于双线性Z 变换法的IIR 数字滤波器设计,数字高通、

带通及带阻IIR 滤波器设计,基于MATLAB 函数直接设计IIR 数字滤波器。IIR 滤波

器的滤波表达式可以定义为一个差分方程:

01()()()M N

k k k k y n a x n k b y n k ===---∑∑ (2-1)

式中:x(n)、y(n)分别为输入和输出时域信号序列; k a ,k b 均为滤波系数。它的系统

传递函数也可以用下式表示: 0

1()1M k k

k N

k

k k a z H z b z -=-==+∑∑ (2-2) 式中:N 为IIR 滤波器的阶数(滤波器系统传递函数的极点数);M 为滤波器系统传递函

数的零点数;和均为权函数系数。

IIR 数字滤波器的设计通常借助于模拟滤波器原型,再将模拟滤波器转换为数字

滤波器。模拟滤波器的设计较为成熟,既有完整的设计公式,还有较为完整的可供查询

的图表,因此,充分利用这些已有的资源无疑会给数字滤波器的设计带来很多便利[4]

。 2.2 IIR 滤波器的结构

无限长单位脉冲响应滤波器的系统函数为:

1()1M r k

r N

k

k k a z H z b z -=-==-∑∑ (2-3)

对应的差分方程为:

01()()()M N

r k r k y n b x n r a y n k ===-+-∑∑ (2-4)

其中,y(n)由 两部分构成:第一部分0

()M

r r b x n r =-∑是一个对x(n)的M 字节延时链结构,

每节延时抽头后加权相加;第二部分1

()N k k a y n k =-∑是一个对y(n)的延时抽头加权后相

加,因此是一个反馈网络,这种结构称为直接型I ,如图2-1所示。

图2-1 直接型Ⅰ结构方框图

将上式写成(当M=N 的情况):

01

()()()1()()()()()1N r r N k

r k k Y z Y z W z H z b z X z W z X z a z --====?=-∑∑ (2-5)

因此H (z )可视为分子多项式0N

r

r r b z -=∑和分母多项式11N k k k a z -=-∑的倒数所构成的两个系函数的乘积,这相当于两个子系统的级联。其中第一子系统实现零点为:

()H z = ()()Y z W z = 0

N r r r b z -=∑ (2-6) 故得:

()Y z = 0N

r r r b z -=∑()W z (2-7)

其时域表达式为:

0()()N

r r y n b w n r ==-∑ (2-8)

第二子系统实现极点为:

()H z = ()()W z X z = 111N k

k k a z -=-∑ (2-9)

整理后得:

()W z = ()X z + 11

1N k

k k a z -=-∑ (2-10)

时域表达式:

1()()()N

k k w n x n a w n k ==+-∑ (2-11)

如果相同输出的延迟单元合并成一个,则得到如图2-2所示的结构图。N 阶滤波

器只需要N 级延迟单元,这是实现N 阶滤波器所必须的最少数量的延迟单元。这种结

构称为直接型II ,有时将直接型工简称为直接型,将直接型II 称为典型形式。

图2-2 直接型Ⅱ结构方框图

线性信号流图理论中有许多运算处理方法,可以在保持输入和输出之间的传输关

系不变的情况下,将信号流图变换成各种不同的形式。其中流图转置的方法可导出一

种转置滤波器结构,具体地讲,就是把网络中所有支路的方向都颠倒反向,且输入输

N a

出的位置互相调换一下。对于单输入输出系统来说,倒转后的结构和原结构的系统函

数相同,但对有限字长而言,转置结构与原结构性质不同。

直接型I ,II 结构的优点是简单直观。它们的共同缺点是:系数a [k],b [r]对滤波器

性能的控制关系不直接,因此调整不方便。更严重的是这种结构的极点位置灵敏度太

大,对字长效应太敏感,容易出现不稳定现象,产生较大误差。由于直接型结构存在

上述缺点,因此一般采用以下结构更具有优越性。将式中的分子分母表达为因子的形

式,即:

111111(1)()(1)

1M M r

r r r r N N k

k k k k b z c z H z A d z a z --==--==-==--∑∑ (2-12) 式中A 为归一化常数。由于系统函数H(z)的系数k a ,r b 互.都是实系数,故零点、极

点r c , k d 只有两种情况:或者是实根,或者是共扼复根[5]

。 2.3 IIR 滤波器的总体设计步骤

设计过程:

1、按设计任务,确定滤波器性能要求,制定技术指标

2、用一个因果稳定的离散系统的系统函数H(z)逼近此性能指标

3、利用有限精度算法实现此系统函数:如运算结构、字长的选择等

4、实际技术实现:软件法、硬件法或DSP 芯片法

IIR 数字滤波器的系统函数是z 的有理函数,可表示为:

10

1101(1)()1(1)M M i i i i i N

N i

i i i i c z b z

H z A a z d z --==--==-==--∑∏∑∏ (2-13) 系统函数的设计就是要确定系数

i i a b 或者零、极点i i c d ,以使滤波器满足给定的

性能要求。

设计方法: 1、零极点位置累试法。当滤波器性能未达到要求时,通过多次改变零极点的位

置来达到要求。此方法只适用于简单滤波器。

2、用模拟滤波器理论来设计数字滤波器。在IIR 数字滤波器的设计中较多的采

用这种方法。

3、用计算机辅助设计,优化技术设计[6]

。 2.3.1 用脉冲相应不变法设计IIR 数字滤波器

利用模拟滤波器来设计数字滤波器,也就是使数字滤波器能模仿模拟滤波器的特

性,这种模仿可以从不同的角度出发。脉冲响应不变法是从滤波器的脉冲响应出发,

使数字滤波器的单位脉冲响应序列h (n )模仿模拟滤波器的冲激响应h a (t ),即将h a (t )

进行等间隔采样,使h (n )正好等于h a (t )的采样值,满足

h (n )=h a (nT )式中,T 是采样周期。

如果令H a (s )是h a(t )的拉普拉斯变换,H (z )为h (n )的Z 变换,利用采样序列的

Z 变换与模拟信号的拉普拉斯变换的关系得

(2-14)

则可看出,脉冲响应不变法将模拟滤波器的S 平面变换成数字滤波器的Z 平面,这个

从s 到z 的变换z =e sT 是从S 平面变换到Z 平面的标准变换关系式。

图2-3 脉冲响应不变法的映射关系

但是,任何一个实际的模拟滤波器频率响应都不是严格限带的,变换后就会产生

周期延拓分量的频谱交叠,即产生频率响应的混叠失真,如图2-4所示。这时数字滤

波器的频响就不同于原模拟滤波器的频响,而带有一定的失真。当模拟滤波器的频率

响应在折叠频率以上处衰减越大、越快时,变换后频率响应混叠失真就越小。这时,

采用脉冲响应不变法设计的数字滤波器才能得到良好的效果。

??? ??-=Ω-=∑∑∞-∞=∞-∞==k T j s X T jk s X T z X k a s k a e z sT π21)(1)(

图2-4 脉冲响应不变法中的频响混叠现象

对某一模拟滤波器的单位冲激响应h a(t)进行采样,采样频率为f s,若使f s增加,即令采样时间间隔(T=1/f s)减小,则系统频率响应各周期延拓分量之间相距更远,因而可减小频率响应的混叠效应。

但脉冲响应不变法的最大缺点是有频率响应的混叠效应。脉冲响应不变法只适用于限带的模拟滤波器(例如,衰减特性很好的低通或带通滤波器),而且高频衰减越快,混叠效应越小。至于高通和带阻滤波器,由于它们在高频部分不衰减,因此将完全混淆在低频响应中。如果要对高通和带阻滤波器采用脉冲响应不变法,就必须先对高通和带阻滤波器加一保护滤波器,滤掉高于折叠频率以上的频率,然后再使用脉冲响应不变法转换为数字滤波器。当然这样会进一步增加设计复杂性和滤波器的阶数[7]。2.3.2双线性变换法

为了克服脉冲响应不变法所存在的缺点,提出采用双线性变换法。该法的基本思想是首先按给定的指标设计一个模拟滤波器,其次将这个模拟滤波器的系统函数H (s),通过适当的数学变换方法把无限宽的频带,变换成频带受限的系统函数 H (s~)。最后再将H (s~)进行常规z变换,求得数字滤波器的系统函数H (z)。这样由于在数字化以前已经对频带进行了压缩,所以数字化以后的频响可以做到无混叠效应。显然,这里寻找压缩频带而又能满足上述映射条件的变换式是个关键。

双线性变换法不仅解决了直接z变换中存在的混叠误差,而且还因为它是个代数变换,所以只要将s与z之间存在的简单代数关系,直接代入,模拟滤波器系统函数式中,就可以求得相应的数字滤波器的系统函数和频响。这样,模拟滤波器所具有的优良特性就得以保存。但是在运用双线性变换法时应当清楚看到,由于从s—s~的变换过程,频率关系不是线性的只有在低频段接近线性,频率越高ω~被压缩得越厉害,

因而出现频率非线性畸变(扭曲),原模拟滤波器的转折点频率的位置因非线性而产生了变化,相频特性也因非线性而出现了畸变[8]。

3 IIR滤波器的MATLAB辅助设计

3.1 MATLAB的介绍

MATLAB是矩阵实验室 (Matrix Laboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言做完相同的事情简捷得多,当前流行的 MATLAB5.3包括拥有数百个内部函数的主包和三十几种工具包(Tool box)。工具包又可以分为功能性工具包和学科工具包。功能工具包用来扩充MATLAB 的符号计算,可视化建模仿真,文字处理及实时控制等功能。学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。MATLAB 具有许多的优点比如:语言简洁紧凑,使用方便灵活,库函数极其丰富;MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性;程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行,等等优点。因此在各个学科和领域得到了广泛的应用。

3.2 低通滤波器的MATLAB仿真

IIR数字滤波器设计借助模拟滤波器原型,再将模拟滤波器转换成数字滤波器。这些过程已经成为一整套成熟的设计程序。模拟滤波设计已经有了一套相当成熟的方法,它不但有完整的设计公式,而且还有较为完整的图表供查询。因此,充分利用这些已有的资源将会给数字滤波器的设计带来很大的方便。

MATLAB工具箱提供了几种模拟滤波器的原型产生函数,Besesl低通模拟滤波器原型,Butterworth滤波器原型,Chebyshev(I型、11型)滤波器原型、椭圆滤波器原型等不同的模拟滤波器原型;模拟低通滤波器原型向低通、高通、带通、带阻的转变函数;从模拟滤波器向数字滤波器转换的双线性变换法和冲激响应不变法等方法;模拟IIR数字滤波器阶数选择函数以及数字滤波器直接设计函数等等[9]。另外,MATLAB 信号处理工具箱提供了几个直接设计IIR数字滤波器的函数。这一整套设计函数给在MATLAB中设计IIR数字滤波器带来了极大的方便。利用MATLAB设计滤波器,可以随时对比设计要求和滤波器特性调整参数,直观简便,极大地减轻了工作量,有利于滤波器设计的最优化。基于MATLAB的IIR数字滤波器的设计步骤如下:

(1)按一定规则将给出的数字滤波器的技术指标转换成模拟低通滤波器的技术指

标。

(2)根据转换后的技术指标使用滤波器阶数选择函数,确定最小阶数和固定频率。

(3)运用最小阶数产生模拟滤波器原型。

(4)运用固有频率把模拟低通滤波器原型转换成低通、高通、带通、带阻滤波器。

(5)运用冲击响应不变法或双线性变换法把模拟滤波器转换成数字滤波器[10]。

下面结合一个具体的实例,根据程序设计流图本课题使用MATLAB 语言编写了下

列程序。

设模拟低通巴特沃斯通滤波器,通带纹波为

1p R dB =通带上限角频率0.2p w π=,阻带下限角频率

0.3s w π=,阻带最小衰减15s a dB =,根据该低通模拟滤波器,利用冲激响应不变法设计相应的数字低通滤波器,并画出设计后的数字低通滤波器的特性

曲线。

MATLAB 程序:

function[db,mag,pha,grd,w]=freqz_m(b,a)

[H,w]=freqz(b,a,500);

mag=abs(H);

db=20*log10(mag/max(mag));

pha=angle(H);

grd=grpdelay(b,a,w);

wp=0.2*pi;

ws=0.3*pi;

Rp=1; As=15;

T=1;

Rip=10^(-Rp/20);

Atn=10^(-As/20);

OmgP=wp*T;

OmgS=ws*T;

[N,OmgC]=buttord(OmgP,OmgS,Rp,As,'s');

[cs,ds]=butter(N,OmgC,'s');

[b,a]=impinvar(cs,ds,T);

[db,mag,pha,grd,w]=freqz_m(b,a);

subplot(2,2,1);

plot(w/pi,mag);

title('幅频特性');

xlabel('w(/pi)');

ylabel('|H(jw)|');

axis([0,1,0,1。1]);

set(gca,'XTickMode','manual','XTick',[0 0。2 0。3 0。5 1]); set(gca,'YTickMode','manual','XTick',[0 Atn Rip 1]);

grid

subplot(2,2,2);

plot(w/pi,db);

title('幅频特性(dB)');

xlabel('w(/pi)');

ylabel('dB');

axis([0,1,-40,5]);

set(gca,'XTickMode','manual','XTick',[0 0。2 0。3 0。5 1]); set(gca,'YTickMode','manual','XTick',[-40 -As -Rp 0]);

grid

subplot(2,2,3);

plot(w/pi,pha/pi);

title('相频特性');

xlabel('w(/pi)');

axis([0,1,-1,1]);

set(gca,'XTickMode','manual','XTick',[0 0。2 0。3 0。5 1]); grid

subplot(2,2,4);

plot(w/pi,grd);

title('群延迟');

xlabel('w(/pi)');

ylabel('Sample');

axis([0,1,0,12]);

set(gca,'XTickMode','manual','XTick',[0 0。2 0。3 0。5 1]);

grid

仿真结果

图3-1低通滤波器的特性曲线

3.3 带通滤波器的MATLAB仿真

根据以上IIR数字滤波器设计方法,下面运用双线性变换法基于MATLAB设计一

个IIR 带通滤波器,其中带通的中心频率为ωp0=0.5π,;通带截止频率ωp1=0.4π,ωp2=0.6π;通带最大衰减αp=3dB;阻带最小衰减αs=15dB;阻带截止频率ωs2=0.7π

1、设计流程图:

2、 设计步骤:

(1)根据任务,确定性能指标:在设计带通滤波器之前,首先根据工程实际的需要确定滤波器的技术指标:带通滤波器的阻带边界频率关于中心频率ωp0几何对称,因此ws1=wp0- (ws2-wp0)=0.3π通带截止频率wc1=0.4π,wc2=0.6π;阻带截止频率wr1=0.3π,wr2=0.7π;阻带最小衰减αs=3dB 和通带最大衰减 αp=15dB;

(2)用Ω=2/T*tan(w/2)对带通数字滤波器H(z)的数字边界频率预畸变,得到带通模拟滤波器H(s)的边界频率主要是通带截止频率ωp1,ωp2;阻带截止频率ωs1,ωs2的转换。为了计算简便,对双线性变换法一般T=2s 通带截止频率wc1=(2/T)*tan(wp1/2)=tan(0.4π/2)=0.7265,wc2=(2/T)*tan(wp2/2)=tan(0.6π/2)=1.3764。阻带截止频率wr1=(2/T)*tan(ws1/2)=tan(0.3π/2)=0.5095,

wr2=(2/T)*tan(ws2/2)=tan(0.7π/2)=1.9626。阻带最小衰减αs=3dB 和通带最大衰减αp=15dB;

(3)运用低通到带通频率变换公式λ=(((Ω^2)-(Ω0^2))/(B*

Ω))将模拟带通滤波器指标转换为模拟低通滤波器指标。

B=wc2-wc1=0.6499

normwr1=(((wr1^2)-(w0^2))/(B*wr1))=2.236

normwr2=(((wr2^2)-(w0^2))/(B*wr2))=2.236

normwc1=(((wc1^2)-(w0^2))/(B*wc1))=1

normwc2=(((wc2^2)-(w0^2))/(B*wc2))=1

得出,normwc=1,normwr=2.236。模拟低通滤波器指标:normwc=1,normwr=2.236,αp=3dB,αs=15dB

(4)设计模拟低通原型滤波器。用模拟低通滤波器设计方法得到模拟低通滤波器的传输函数Ha(s);借助巴特沃斯(Butterworth)滤波器、切比雪夫(Chebyshev)滤波器、椭圆(Cauer)滤波器、贝塞尔(Bessel)滤波器等。

(5)调用lp2bp函数将模拟低通滤波器转化为模拟带通滤波器。

(6)利用双线性变换法将模拟带通滤波器Ha(s)转换成数字带通滤波器H(z)。3、MATLAB程序:

clear

wp0=0.5*pi;wp1=0.4*pi;wp2=0.6*pi;

Ap=3;ws2=0.7*pi;As=15;T=2; %数字带通滤波器技术指标

ws1=wp0-(ws2-wp0); %计算带通滤波器的阻带下截止频率

wc1=(2/T)*tan(wp1/2);wc2=(2/T)*tan(wp2/2);

wr1=(2/T)*tan(ws1/2);wr2=(2/T)*tan(ws2/2);

w0=(2/T)*tan(wp0/2); %频率预畸变

B=wc2-wc1; %带通滤波器的通带宽度

normwr1=(((wr1^2)-(w0^2))/(B*wr1));

normwr2=(((wr2^2)-(w0^2))/(B*wr2));

normwc1=(((wc1^2)-(w0^2))/(B*wc1));

normwc2=(((wc2^2)-(w0^2))/(B*wc2)); %带通到低通的频率变换

if abs(normwr1)>abs(normwr2)

normwr=abs(normwr2)

else normwr=abs(normwr1)

end

normwc=1; %将指标转换成归一化模拟低通滤波器的指标

N=buttord(normwc,normwr,Ap,As,'s'); %设计归一化的模拟低通滤波器阶数N和3db截止频率

[bLP,aLP]=butter(N,normwc,'s'); %计算相应的模拟滤波器系统函数G(p)

[bBP,aBP]=lp2bp(bLP,aLP,w0,B); %模拟域频率变换,将G(P)变换成模拟带通滤波器H(s) [b,a]=bilinear(bBP,aBP,0.5); %用双线性变换法将H(s)转换成数字带通滤波器H(z)

w=linspace (0,2*pi,500);

h=freqz(b,a,w);

subplot(2,1,2);

plot(w,abs(h));

grid on

xlabel('w(rad)')

ylabel('|H(jw)|')

title('频谱函数')

subplot(2,2,1);

plot(w,20*log10(abs(h)));

axis([0,2*pi,-120,20]);

grid on

xlabel('w(rad)')

ylabel('20*lg|H(jw)|(db)')

title('20*lg|H(jw)|

其运行结果如下:

图3-2 带通滤波器的特性曲线

程序运行结果:normwr=2.2361,由设计流程计算得normwr=2.236与运行结果相同。低通原型的每一个边界频率都映射为带通滤波器两个相应的边界频率。根据通带截至频率和阻带截至频率与频谱函数曲线比较,满足设计要求。

4 IIR滤波器在DSP上的实现

4.1 DSP简介

DSP(digital signal processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。

DSP微处理器(芯片)一般具有如下主要特点:

(1)在一个指令周期内可完成一次乘法和一次加法;

(2)程序和数据空间分开,可以同时访问指令和数据;

(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;

(4)具有低开销或无开销循环及跳转的硬件支持;

(5)快速的中断处理和硬件I/O支持;

(6)具有在单周期内操作的多个硬件地址产生器;

(7)可以并行执行多个操作;

(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。

当然,与通用微处理器相比,DSP微处理器(芯片)的其他通用功能相对较弱些。

DSP优点:

(1)对元件值的容限不敏感,受温度、环境等外部参与影响小;

(2)容易实现集成;VLSI

(3)可以时分复用,共享处理器;

(4)方便调整处理器的系数实现自适应滤波;

(5)可实现模拟处理不能实现的功能:线性相位、多抽样率处理、级联、易于存储等;

(6)可用于频率非常低的信号。

DSP缺点:

(1)需要模数转换;

(2)受采样频率的限制,处理频率范围有限;

(3)数字系统由耗电的有源期间构成,没有无源设备可靠。

但是其优点远远超过缺点。

4.2 基于DSP 的数字滤波器总体硬件设计方案

TI 公司的2000系列和5000系列的DSP 都通用型的芯片,考虑到2000系列的DSP 多用于控制方面,而5000系列较2000系列具有更高的时钟频率、更低的价格和更加强大的运算功能,在数字滤波器系统的设计中采用了TI 公司的一款高性能、低功耗的定点DSP:TMS320VC5402。该DSP 具有较快的运算速度:运算速度最快可达532MIPS;采用了低功耗设计方式:内核电压为1.8V ,I/O 电压为3.3V 。数字滤波系统的具体方案框图见图4-1[11]。

4.2.1 TMS320VC5402内部结构 DSP 5402的片上外围电路包括:通用I/O 引脚(XF 和BIO#),定时器,时钟发生

器,一个与外部处理器通信的8位的HPI 接口,两个多通道缓冲串行口MCBSP 。器片内存储器的种类只要有以下几种:双访问RAM(DARAM),单访问RAM(SRAM)和ROM 。RAM 一般映射在数据空间。DRAM 一般由若干块构成,由于每块DRAM 在一个机器周期内可以被访问2次,中央处理单元和片内外设在一个周期内可以同时对其进行一次读和一次写操作。根据需要,通过改变处理器状态寄存器的三个位MP/MC 、OVYL 和DROM 来灵活地改变存储器的配置。数据存储空间还有一块特殊的区域,00H~08H

。这块区域图4-1 数字滤波器系统方案框图

简单低通滤波器设计及matlab仿真

东北大学 研究生考试试卷 考试科目: 课程编号: 阅卷人: 考试日期: 姓名:xl 学号: 注意事项 1.考前研究生将上述项目填写清楚. 2.字迹要清楚,保持卷面清洁. 3.交卷时请将本试卷和题签一起上交. 4.课程考试后二周内授课教师完成评卷工作,公共课成绩单与试卷交研究生院培养办公室, 专业课成绩单与试卷交各学院,各学院把成绩单交研究生院培养办公室. 东北大学研究生院培养办公室

数字滤波器设计 技术指标: 通带最大衰减: =3dB , 通带边界频率: =100Hz 阻带最小衰减: =20dB 阻带边界频率: =200Hz 采样频率:Fs=200Hz 目标: 1、根据性能指标设计一个巴特沃斯低通模拟滤波器。 2、通过双线性变换将该模拟滤波器转变为数字滤波器。 原理: 一、模拟滤波器设计 每一个滤波器的频率范围将直接取决于应用目的,因此必然是千差万别。为了使设计规范化,需要将滤波器的频率参数作归一化处理。设所给的实际频 率为Ω(或f ),归一化后的频率为λ,对低通模拟滤波器令λ=p ΩΩ/,则1 =p λ, p s s ΩΩ=/λ。令归一化复数变量为p ,λj p =,则p p s j j p Ω=ΩΩ==//λ。所以巴 特沃思模拟低通滤波器的设计可按以下三个步骤来进行。 (1)将实际频率Ω规一化 (2)求Ωc 和N 11010/2-=P C α s p s N λααlg 1 10 110lg 10 /10/--= 这样Ωc 和N 可求。 p x fp s x s f

根据滤波器设计要求=3dB ,则C =1,这样巴特沃思滤波器的设计就只剩一个参数N ,这时 N p N j G 222 )/(11 11)(ΩΩ+= += λλ (3)确定)(s G 因为λj p =,根据上面公式有 N N N p j p p G p G 22)1(11 )/(11)()(-+= += - 由 0)1(12=-+N N p 解得 )221 2exp(πN N k j p k -+=,k =1,2, (2) 这样可得 1 )21 2cos(21 ) )((1 )(21+-+-= --= -+πN N k p p p p p p p G k N k k 求得)(p G 后,用p s Ω/代替变量p ,即得实际需要得)(s G 。 二、双线性变换法 双线性变换法是将s 平面压缩变换到某一中介1s 平面的一条横带里,再通过标准变换关系)*1exp(T s z =将此带变换到整个z 平面上去,这样就使s 平面与z 平面之间建立一一对应的单值关系,消除了多值变换性。 为了将s 平面的Ωj 轴压缩到1s 平面的1Ωj 轴上的pi -到pi 一段上,可以通过以下的正切变换来实现: )21 tan(21T T Ω= Ω 这样当1Ω由T pi -经0变化到T pi 时,Ω由∞-经过0变化到∞+,也映射到了整个Ωj 轴。将这个关系延拓到整个s 平面和1s 平面,则可以得到

matlab滤波器设计

长安大学 数字信号处理综合设 计 专业_______电子信息工程_______ 班级__24030602___________ 姓名_______张舒_______ 学号2403060203 指导教师陈玲 日期_______2008-12-27________

一、课程设计目的: 1. 进一步理解数字信号处理的基本概念、基本理论和基本方法; 2.熟悉在Windows环境下语音信号采集的方法; 3.学会用MATLAB软件对信号进行分析和处理; 4.综合运用数字信号处理理论知识,掌握用MATLAB软件设计FIR和IIR数字滤波器的方法; 5. 提高依据所学知识及查阅的课外资料来分析问题解决问题的能力。 二、课程设计内容: 1.语音信号的采集 利用windows下的录音机录制一段自己的话音,时间控制在1秒左右;并对语音信号进行采样,理解采样频率、采样位数等概念。 2.语音信号的频谱分析 利用函数fft对采样后语音信号进行快速傅里叶变换,得到信号的频谱特性。 3.设计数字滤波器 采用窗函数法和双线性变换法设计下列要求的三种滤波器,根据语音信号的特点给出有关滤波器的性能指标: 1)低通滤波器性能指标,fp=1000Hz,fc=1200Hz, As=100dB,Ap=1dB; 2)高通滤波器性能指标,fc=4800Hz,fp=5000Hz ,As=100dB,Ap=1dB; 3)带通滤波器性能指标,fp1=1200Hz,fp2=3000Hz,fc1=1000Hz,fc2=3200Hz,As=100dB,Ap=1dB。 4.对语音信号进行滤波 比较用两种方法设计的各滤波器的性能,然后用性能好的滤波器分别对采集的语音信号进行滤波;并比较滤波前后语音信号的波形及频谱,分析信号的变化。 5.回放语音信号,感觉滤波前后的声音变化。 三、实验原理 (一)基于双线性Z变换法的IIR数字滤波器设计 由于的频率映射关系是根据推导的,所以使jΩ轴每隔2π/Ts便映射到单位圆上一周,利用冲激响应不变法设计数字滤波器时可能会导致上述的频域混叠现象。为了克服这一问题,需要找到由s平面到z平面的另外的映射关系,这种关系应保证: 1) s平面的整个jΩ轴仅映射为z平面单位圆上的一周; 2) 若G(s)是稳定的,由G(s)映射得到的H(z)也应该是稳定的; 3) 这种映射是可逆的,既能由G(s)得到H(z),也能由H(z)得到G(s); 4) 如果G(j0)=1,那么。 双线性Z变换满足以上4个条件的映射关系,其变换公式为

基于DSP 的FIR滤波器的设计

基于TMS320VC5416 的FIR 数字滤波器设计与实现 论文摘要:在现代电子系统中,数字滤波器在语音处理、图像处理、模式识别以及各种随机信号分析中有着广泛的应用,且其波形传递系统中都越来越多的要求信道具有线性的相位特性,在这方面FIR滤波器具有独到的优点,它可以在幅度特性随意设计的同时保证精确严格的线性相位。本文以窗函数法设计线性相位FIR数字滤波器为例,研究有限冲击响应(FIR)滤波器的基本原理,介绍用MATLAB工具软件设计数字滤波器的方法和如何在定点TMS320VC5416 DSP芯片上设计实现连续数字滤波器。 关键词:FIR滤波器,TMS320V5416 一. 课题的目的以及意义 随着集成电路技术的发展,各种新型的大规模和超大规模集成电路不断涌现集成电路技术与计算机技术结合在一起,使得对数字信号处理系统功能的要求越来越强。 DSP 技术就是基于VLSI技术和计算机技术发展起来的一门重要技术,DSP 技术已在通信、控制信号处理、仪器仪表、医疗、家电等很多领域得到了越来越广泛的应用.在数字信号处理中数字滤波占有极其重要的地位。数字滤波在语音信号、图象处理模式识别和谱分析等领域中的一个基本的处理技术。数字滤波与模拟滤波相比数字滤波具有很多突出的优点,主要是因为数字滤波器是过滤时间离散信号的数字系统,它可以用软件(计算机程序)或用硬件来实现,而且在两种情况下都可以用来过滤实时信号或

非实时信号。尽管数字滤波器这个名称一直到六十年代中期才出现,但是随着科学技术的发展及计算机的更新普及,数字滤波器有着很好的发展前景。同时它也有完全取代模拟滤波器的时候,原因是数字滤波没有漂移,它能处理低频信号,数字滤波的频率响应特征可做成极接近于理想的特性,它可以做成没有插入损耗和有线性相位特性,可相当简单地获得自适应滤波,滤波器的设计者可以控制数字字长,因而可以精确地控制滤波器的精度,其中的道理是数字滤波随着滤波器参数的改变,很容易改变滤波器的性能。这一特点就能允许我们用一种程序滤波器来完成多重滤波任务。滤波器对幅度和相位特性的严格要求,可以避免模拟滤波器所无法克服的电压漂移、温度漂移和噪声等问题。用可编程DSP芯片实现数字滤波可通过修改滤波器的参数十分方便地改变滤波器的特性,因此我们有必要对滤波器的设计方法进行研究,理解其工作原理优化设计方法,设计开发稳定性好的滤波器系统。我们将通过DSP设计平台来实现较为重要的“FIR和自适应滤波器系统”并实现了它们的应用系统以TMS320VC5416芯片为核心的硬件电路,实现能独立完成滤波功能的系统从而通过本课题的研究。掌握滤波器的设计技术和原理能为在通信领域、信号处理领域等诸多领域中对数字滤波器的设计提供技术和准备。本科题的研究将为今后设计以DSP为核心部件的嵌入式系统集成提供技术准备,这不仅具有重要的理论意义同时还具有重要的现实意义。 二、FIR滤波器的DSP实现的技术指标及性能

滤波器设计MATLAB

数字信号处理

第一章概述 《数字信号处理》课程是通信专业的一门重要专业基础课,是信息的数字化处理、存储和应用的基础。通过该课程的课程设计实践,使我们对信号与信息的采集、处理、传输、显示、存储、分析和应用等有一个系统的掌握和理解,巩固和运用在《数字信号处理》课程中所学的理论知识和实验技能,掌握数字信号处理的基础理论和处理方法,提高分析和解决信号与信息处理相关问题的能力,为以后的工作和学习打下基础。 数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。 其中,设计IIR数字滤波器一般采用间接法(脉冲响应不变法和双线性变换法),应用

最广泛的是双线性变换法。 我们在课本中学到基本设计过程是: ①先将给定的数字滤波器的指标转换成过渡模拟滤波器的指标; ②设计过渡模拟滤波器; ③将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。 而MATLAB信号处理工具箱中的各种IIR数字滤波器设计函数都是采用双线性变换法。第六章介绍的滤波器设计函数butter、cheby1 、cheby2 和ellip可以分别被调用来直接设计巴特沃斯、切比雪夫1、切比雪夫2和椭圆模拟和数字滤波器。 第二章总体方案设计 首先我将所给信号用MATLAB作图分析,然后通过观察st的幅频特性曲线,确定用高通滤波器作为处理信号的滤波器。选取滤波器的通带最大衰减为,阻带最小衰减为60dB为参数。 然后通过编程序调用MATLAB滤波器设计函数ellipord和ellip设计椭圆滤波器;通过编程序调用函数cheb1ord和cheby1设计切比雪夫滤波器,并绘图显示其幅频响应特性曲线。最后使用用滤波器实现函数filter,用两个滤波器分别对信号st进行滤波后绘图显示时域波形,观察滤波效果。 实验程序框图如图所示:

dsp滤波要点

数字信号处理 综合设计性实验报告 学院:电子信息工程学院 班级:自动化0706班 电子0701班 指导教师:高海林 学生:张越07213056 陈冠宇07214004 北京交通大学电工电子教学基地 2010年1月20日

利用DSP实现信号滤波 一:实验目的 实现离散信号滤波是DSP的基本功能,本实验中我们尝试实现分别了设计FIR 和IIR滤波器实现低通,高通,带通,带阻四种滤波器对正弦离散信号进行滤波。(1)学会编写滤波程序和输入信号程序。 (2)熟悉CCS集成开发环境,熟悉DSK板的使用。 (3)通过实验比较FIR和IIR在设计上和滤波效果上的区别。 二:FIR滤波器的设计 例:设计一个采样频率Fs为8000Hz,输入信号频率为1000HZ、2500HZ与4000HZ 的合成信号,通过设计FIR滤波器分别实现低通,高通,带通,带阻的滤波功能。 一:实验原理 一个线性位移不变系统的输出序列y(n)和输入序列x(n)之间的关系,应满 足常系数线性差分方程: x(n): 输入序列,y(n): 输出序列,ai、bi : 滤波器系数,N: 滤波器的阶数。在式上式中,若所有的ai 均为0,则得FIR 滤波器的差分方程: 对上式进行z 变换,可得FIR 滤波器的传递函数: FIR 滤波器的结构

FIR 滤波器的单位冲激响应h(n)为有限长序列。 若h(n)为实数,且满足偶对称或奇对称的条件,则FIR 滤波器具有线性相位特性。在数字滤波器中,FIR 滤波器具有如下几个主要特点: ① FIR 滤波器无反馈回路,是一种无条件稳定系统; ② FIR 滤波器可以设计成具有线性相位特性。 本实验程序设计的就是一种偶对称的线性相位滤波器。 程序算法实现采用循环缓冲区法。 二:算法原理: ①在数据存储器中开辟一个N个单元的缓冲区(滑窗),用来存放最新的N个输入样本; ②从最新样本开始取数; ③读完最老样本后,输入最新样本来代替最老样本,而其他数据位置不变; ④用BK 寄存器对缓冲区进行间接寻址,使缓冲区地址首尾相邻。 三:实验程序设计步骤 1.FIR滤波器设计 利用MATLAB中的FDA工具导出正确的参数。 2.产生滤波器输入信号文件 以下是一个产生输入信号的C语言程序,信号是频率为1000Hz、2500Hz和4000Hz 的正弦波合成的波形: #include #include

关于滤波器设计的matlab函数简表

关于滤波器设计、实现的Matlab函数分类函数名功能说明 滤波器分析 (求幅频、相频响应)abs求模值 angle求相角 freqs模拟滤波器的频率响应freqz数字滤波器的频率响应grpdelay群延迟 impz脉冲响应(离散的)zplane画出零极点图 fvtool滤波器可视化工具 滤波器实现(求输入信号通过滤波器的响应)conv/conv2卷积/二维卷积 filter求信号通过滤波器的响应 IIR滤波器阶数估算buttord巴特沃斯滤波器阶数估算 cheb1ord切比雪夫Ⅰ型滤波器阶数估算 cheb2ord切比雪夫Ⅱ型滤波器阶数估算 ellopord椭圆滤波器阶数估算 IIR数字滤波器设计(求系统函数H(z))butter cheby1 cheby2 ellip 模拟低通滤波器原型(归一化的)buttap模拟低通巴特沃斯滤波器原型cheb1ap模拟低通切比雪夫Ⅰ型滤波器原型cheb2ap模拟低通切比雪夫Ⅱ型滤波器原型ellipap模拟低通椭圆滤波器原型besselap模拟低通贝塞尔滤波器原型 模拟低通滤波器设计(求系统函数H(s))butter巴特沃斯滤波器设计cheby1切比雪夫Ⅰ型滤波器设计cheby2切比雪夫Ⅱ型滤波器设计ellip椭圆滤波器设计besself贝塞尔滤波器设计 模拟滤波器频带变换lp2bp低通→带通 lp2bs低通→带阻 lp2hp低通→高通 lp2lp低通→低通 滤波器离散化(由模拟滤波器得到数字滤波器)bilinear脉冲响应不变法impinvar双线性变换法 FIR滤波器设计fir1基于窗函数的FIR滤波器设计 fir2基于窗函数的任意响应FIR滤波器设 计 窗函数boxcar矩形窗 rectwin矩形窗 bartlett三角窗

数字滤波器的MATLAB设计与DSP上的实现

数字滤波器的MAT LAB设计与 DSP上的实现 数字滤波器的MATLAB 设计与DSP上的实现 公文易文秘资源网佚名2007-11-15 11:56:42我要投稿添加到百度搜藏 摘要:以窗函数法设计线性相位FIR数字滤波器为例,介绍用MATLAB工具软件设计数字滤波器的方法和在定点DSP上的实现。实现时,先在CCS5000仿真开发,然后将程序加载到TMS320VC5409评估板上实时运行,结果实现了目标要求。文中还讨论了定标、误差、循环寻址等在DSP上实现的关键问题。关键词 摘要:以窗函数法设计线性相位 FIR数字滤波器为例,介绍用 MATLAB工具软件设计数字滤波器的方法和在定点DSP上的实现。实现时,先在 CCS5000仿真开发,然后将程序加载到 TMS320VC5 409评估板上实时运行,结果实现了目标要求。文中还讨论了定标、误差、循环寻址等在DSP上实 现的关键问题。 关键词:数字滤波器MATLAB DSP 引言 随着信息时代和数字世界的到来,数字信号处理已成为今一门极其重要的学科和技术领域。数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应

用。在数字信号处理应用中,数字滤波器十分重要并已获得广泛应用。 1数字滤波器的设计 1.1数字滤波器设计的基本步骤 数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR )滤波器和有限长冲激响应(FIR )滤波器。IIR滤波器的特征是,具有无限持续时间冲激响应。种滤波器一般需要用递归模型来实现,因而有时也称之为递归滤波器。FIR滤波器的冲激响应只能延续一定时间, 在工程实际中可以采用递归的方式实现,也可以采用非递归的方式实现。数字滤波器的设计方法有多种,如双线性变换法、窗函数设计法、插值逼近法和Chebyshev逼近法等等。随着 MATLAB软件尤 其是MATLAB的信号处理工作箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以使设计达到最优化。 数字滤波器设计的基本步骤如下: (1确定指标 在设计一个滤波器之前,必须首先根据工程实际的需要确定滤波器的技术指标。在很多实际应用中,数字滤波器常常被用来实现选频操作。因此,指标的形式一般在频域中给岀幅度和相位响应。幅度指标主要以两种方式给岀。第一种是绝对指标。它提供对幅度响应函数的要求,一般应用于FI R滤波器的设计。第二种指标是相对指标。它以分贝值的形式给岀要求。在工程实际中,这种指标最受欢迎。对于相位响应指标形式,通常希望系统在通频带中人有线性相位。运用线性相位响应指标进行滤波器设计具有如下优点:①只包含实数算法,不涉及复数运算;②不存在延迟失真,只有固定数量的延迟;③长度为N的滤波器(阶数为N-1),计算量为N/2数量级。因此,本文中滤波器的设计就以线性相位FIR滤波器的设计为例。 (2)逼近

基于matlab的FIR数字滤波器设计(多通带,窗函数法)

数字信号处理 课程设计报告 设计名称:基于matlab的FIR数字滤波器设计 彪

一、课程设计的目的 1、通过课程设计把自己在大学中所学的知识应用到实践当中。 2、深入了解利用Matlab设计FIR数字滤波器的基本方法。 3、在课程设计的过程中掌握程序编译及软件设计的基本方法。 4、提高自己对于新知识的学习能力及进行实际操作的能力。 5、锻炼自己通过网络及各种资料解决实际问题的能力。 二、主要设计内容 利用窗函数法设计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处 四、设计步骤 1.设计滤波器 2.所设计的滤波器对多个频带叠加的正弦信号进行处理 3.比较滤波前后信号的波形及频谱 五、用窗函数设FIR 滤波器的基本方法 基本思路:从时域出发设计 h(n)逼近理想 hd(n)。设理想滤波器的单位响应在时域表达为hd(n),则Hd(n) 一般是无限长的,且是非因果的,不能

DSP的FIR设计(低通滤波)C语言编写

一、设计目的 低通滤波器设计。 本设计中使用的信号为 信息信号: signal=sin(2*pi*sl*n*T) 高频噪声1:noise1=0.7*sin(2*pi*ns1*n*T) 高频噪声2:noise2=0.4*sin(2*pi*ns2*n*T) 混合信号: x=(signal+noise1+noise2) 其中sl=500Hz ,ns1=3000Hz ,ns2=8000Hz ,T=1/20000。混合信号波形为滤波器输入信号波形,信息信号波形为输出信号波形,滤波器的效果为滤除两个高频噪声。 二、FIR 滤波器基本理论 (1)FIR 滤波器的特点 数字滤波器的功能,就是把输入序列通过一定的运算变换成输出序列。它的实现方法有很多,其中比较常用到的是无限长脉冲响应滤波器 IIR 和有限长脉冲响应滤波器FIR 两种。 在计算量相等的情况下,IIR 数字滤波器比FIR 滤波器的幅频特性优越,频率选择性也好。但是,它有着致命的缺点,其相位特性不好控制。它的相位特性 )argH( )f(ω ωj e =是使频率产生严重的非线性的原因。但是在图像处理、数据传 输等波形传递系统中都越来越多的要求信道具有线性的相位特性。在这方面 FIR 滤波器具有它独特的优点,设FIR 滤波器单位脉冲响应h(n)长度为N ,其系统函数H(z)为 ∑-=-= 1 )()(N n n z n h z H H(z)是1 -z 的(N-1)次多项式,它在z 平面上有(N-1)个零点,原点z=0是(N-1)阶重极点。因此,H(z)永远稳定,它可以在幅度特性随意设计的同时,保证精确、严格的线性相位。 (2)FIR 滤波器的基本结构 数字滤波是将输入的信号序列,按规定的算法进行处理,从而得到所期望的输出序列,FIR 滤波器的差分方程为: ∑-=-= 1 )()(N k k k n x a n y 对上式进行Z 变换得到FIR 滤波器的传递函数为: ()() () ∑-=-= = 1 N i k k z b z X z Y z H

matlab数字滤波器设计程序

%要求设计一butterworth低通数字滤波器,wp=30hz,ws=40hz,rp=0.5,rs=40,fs=100hz。>>wp=30;ws=40;rp=0.5;rs=40;fs=100; >>wp=30*2*pi;ws=40*2*pi; >> [n,wn]=buttord(wp,ws,rp,rs,'s'); >> [z,p,k]=buttap(n); >> [num,den]=zp2tf(z,p,k); >> [num1,den1]=impinvar(num,den); Warning: The output is not correct/robust. Coeffs of B(s)/A(s) are real, but B(z)/A(z) has complex coeffs. Probable cause is rooting of high-order repeated poles in A(s). > In impinvar at 124 >> [num2,den2]=bilinear(num,den,100); >> [h,w]=freqz(num1,den1); >> [h1,w1]=freqz(num2,den2); >>subplot(1,2,1); >>plot(w*fs/(2*pi),abs(h)); >>subplot(1,2,2); >>plot(w1*fs/(2*pi),abs(h1)); >>figure(1); >>subplot(1,2,1); >>zplane(num1,den1); >>subplot(1,2,2); >>zplane(num2,den2);

DSP高通滤波器课程设计报告

D S P课程设计报告 题目:FIR高通滤波器设计 姓名 学号 教学院系 专业年级 指导教师

DSP课程设计 目录 一、设计题目 (1) 二、设计目标 (1) 三、算法研究与参数计算 (1) 1、FIR的原理和参数生成公式 (1) 2、利用MATLAB计算滤波系数 (1) 3、输入信号参数计算 (2) 四、编写源程序 (3) 五、调试过程 (4) 1、调试前准备 (5) 2、MATLAB的使用 (5) 3、编写及编译程序 (5) 4、设置断点和探针 (6) 5、打开观察窗口 (6) 六、实验结果及分析 (6) 1、输入信号的时域波形和频域波形 (6) 2、输出信号的时域波形和频域波形 (7) 七、设计心得 (8)

1 一、设计题目 FIR 高通滤波器设计 二、设计目标 设计一个FIR 高通滤波器,通带边界频率为6000Hz ,采样频率为20000Hz 。FIR 滤波器的设计用MA TLAB 窗函数法进行。 三、算法研究与参数计算 1、FIR 的原理和参数生成公式 图3-1 2、利用MATLAB 计算滤波系数 在MATLAB 界面输入图3-2所示程序,可得到滤波系数并生成INC 文件。 图 3-2

DSP 课程设计 2 输入freqz (y ,1,512),MATLAB 中显示高通滤波器的滤波特性曲线。如图3-3所示。 图3-3 3、输入信号参数计算 MATLAB 中输入图3-4中所示程序,包含两种频率成分的正弦信号,一种信号频率1000Hz ,一种信号6000Hz 。 图3-4 其频谱特性曲线如图3-5。 图3-5

FIR高通滤波器设计 四、编写源程序 参考资料,编写汇编语言源程序: HIGHPASS .set 1 ;if you want to use ,please set the value to 1 .global start,fir .mmregs COFF_FIR_START: .sect "coff_fir" .copy "0126.inc" K_FIR_BFFR .set 64 d_data_buffer .usect "fir_bfr",64 FIR_DP .usect "fir_vars",0 d_filin .usect "fir_vars",1 output .usect "fir_vars",1 input .usect "fir_vars",1 d_filout .usect "fir_vars",100h stacksize .set 256 stack .usect "fir_vars",stacksize .asg AR4,FIR_DATA_P .asg AR6,INBUF_P .asg AR7,OUTBUF_P .asg AR3,OUTBUF .asg AR2,INBUF .sect "fir_prog" nop start: stm #stack+stacksize,SP LD #FIR_DP,DP STM #d_data_buffer,FIR_DATA_P RPTZ A,#K_FIR_BFFR-1 STL A,*FIR_DATA_P+ STM #d_filin,INBUF_P 3

DSP课程设计-FIR高通滤波器设计说明

FIR高通滤波器设计 师大学物科院

从实现方法方面考虑,将滤波器分为两种,一种是IIR滤波器,另一种是FIR 滤波器。 FIRDF的最大优点是可以实现线性相位滤波。而IIRDF主要对幅频特性进行逼近,相频特性会存在不同程度的非线性。我们知道,无失真传输与滤波处理的条件是,在信号的有效频谱围系统幅频响应应为常数,相频响应为频率的线性函数。另外,FIR是全零点滤波器,硬件和软件实现结构简单,不用考虑稳定性问题。所以,FIRDF是一种很重要的滤波器,在数字信号处理领域得到广泛应用。 FIRDF设计方法主要分为两类:第一类是基于逼近理想滤波器特性的方法,包括窗函数法、频率采样法和等波纹最佳逼近法;第二类是最优设计法。其中窗函数计法的基本思想是用FIRDF逼近希望的滤波特性。本次设计主要采用窗函数设计法,对理想滤波器进行逼近,从而实现高通滤波器的设计。 在MATLAB软件中,有一系列函数用于设计滤波器,应用时十分方便。因此,在本次设计中,滤波器的设计主要采用MATLAB软件,编写适当的程序,得到滤波器的单位脉冲响应。 本设计对滤波器的硬件仿真主要使用CCS软件,通过对滤波器的硬件仿真,可以较为真实的看出滤波器的滤波效果。 关键字:高通、FIRDF、线性相位、Hanning窗、MATLAB、CCS

1.设计目标 产生一个多频信号,设计一个高通滤波器消除其中的低频成分,通过CCS的graph view 波形和频谱显示,并和MATLAB计算结果比较 2.设计原理 2.1数字滤波器 数字滤波器(digital filter)是由数字乘法器、加法器和延时单元组成的一种装置。其功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。 由于电子计算机技术和大规模集成电路的发展,数字滤波器已可用计算机软件实现,也可用大规模集成数字硬件实时实现。数字滤波器广泛用于数字信号处理中,如电视、VCD、音响等。 按照滤波电路的工作频带为其命名:设截止频率为fp,频率低于fp的信号可以通过,高于fp的信号被衰减的电路称为低通滤波器,频率高于fp的信号可以通过,低于fp的信号被衰减的电路称为高通滤波器;而带通吗,就是频率介于低频段截止频率和高频段截止频率的信号可以通过的电路。 2.2高通滤波器 高通滤波器是容许高频信号通过、但减弱(或减少)频率低于截止频率信号通过的滤波器。对于不同滤波器而言,每个频率的信号的减弱程度不同。它有时被称为低频剪切滤波器;在音频应用中也使用低音消除滤波器或者噪声滤波器。高通滤波器与低通滤波器特性恰恰相反。这样的滤波器能够把高频率的声音引导至专用高音喇叭(tweeter),并阻止可能干擾或者损害喇叭的低音信号。使用线圈而不是电容的低通滤波器也可以同时把低频信号引导至低音喇叭(woofer)。高通和低通滤波器也用于数字图像处理中在频域中进行变换。 2.3高通滤波器的分析 2.3.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)窗口加权和使得变化快 的(即高频)正弦分量保留(理想高通)或衰减幅度小(实际高通) ,而变化缓慢(即 低频)的正弦分量正负抵消(理想高通)或衰减幅度大(实际高通) 。 设

基于MATLAB的滤波器设计

基于MATLAB 的滤波器设计 摘 要:利用MA TLAB 设计滤波器,可以按照设计要求非常方便地调整设计参数,极大地减轻了设计的工作量,有利于滤波器设计的最优化。Matlab 因其强大的数据处理功能被广泛应用于工程计算,其丰富的工具箱为工程计算提供了便利,利用Matlab 信号处理工具箱可以快速有效地设计各种数字滤波器,设计简单方便。本文介绍了在MATLAB R2011a 环境下滤波器设计的方法和步骤。 关键词:滤波器,matlab ,FIR ,IIR Abstract :By using MATLAB , we can design filters and modify the filters’parameters conveniently according to our demands. This relieves greatly design work loads and makes for optimization of filter designing. Matlab can be widely used in engineering calculations because of its powerful functions of data processing. Its rich toolbox makes the calculations easy. With Matlab signal processing toolbox, various digital filters can be designed effectively in simple way. This article introduce the methods and processes in the circumstance of MATLAB R2011a. Keywords :filter ,matlab ,fdatool 1.滤波器的原理 凡是可以使信号中特定的频率成分通过,而极大地衰减或抑制其他频率成分的装置或系统都称之为滤波器,相当于频率“筛子”。 滤波器的功能就是允许某一部分频率的信号顺利的通过,而另外一部分频率的信号则受到较大的抑制,它实质上是一个选频电路。 滤波器中,把信号能够通过的频率范围,称为通频带或通带;反之,信号受到很大衰减或完全被抑制的频率范围称为阻带;通带和阻带之间的分界频率称为截止频率;理想滤波器在通带内的电压增益为常数,在阻带内的电压增益为零;实际滤波器的通带和阻带之间存在一定频率范围的过渡带。 a .理想滤波器的频率特性 理想滤波器:使通带内信号的幅值和相位都不失真,阻喧内的频率成分都衰减为零的滤波器,其通带和阻带之间有明显的分界线。 如理想低通滤波器的频率响应函数为 0()()jw t C H jw A l W W Ω-=≤ 或 ()0()C H jw W W =>理想滤波器实际上并不存在。 b .实际滤波器 实际滤波器的特性需要以下参数描述: 1)恒部平均值A0:描述通带内的幅频特性;波纹幅度:d 。 2)上、下截止频率:以幅频特性值为A0/2时的相应频率值WC1,WC2作为带通滤波器的上、下截止频率。带宽21C C B W W =-。

基于MATLAB的数字滤波器设计

基于matlab的数字滤波器设计 摘要:本文介绍的是数字滤波器在MATLAB环境下的设计方法。数字滤波是数字信号处理的重要内容,在实际应用中有非常大的作用。我们研究的数字滤波器可分为IIR和FIR两大类。对于IIR数字滤波器的设计,我们需要借助模拟原型滤波器,然后再将模拟滤波器转化为数字滤波器,文中采用的设计方法是脉冲响应不变法、双向性变换法和完全函数设计法;对于FIR数字滤波器的设计,可以根据所给定的频率特性直接设计,文中采用的设计方法是窗函数法。根据IIR 滤波器和FIR滤波器的特点,本文在MATLAB坏境下分别用双线性变换法设计IIR和用窗函数设计FIR数字滤波器,并让这两种滤波器对采集的语音信号进行分析和比较,经过分析,最后给出了IIR和FIR对语音滤波的效果,并总结这两种滤波器在MATLAB环境下设计方法的优缺点。 关键词:数字滤波器;IIR ;FIR ;MATLAB

The Design of Digital Filter based on MATLAB Abstract:This article describes a digital filter in the MATLAB environment design. Digital filtering is an important part of digital signal processing which is playing a very big role in practice .The digital filter we studied can be divided into two categories——IIR and FIR. For the IIR digital filter design, we will need the help of simulation prototype filter, analog filters and then converted it into digital filter For the IIR digital filter design .The design methods used in the text is the same impulse response method, bi-sexual transformation and full function design ;We can based on the frequency characteristics of the given direct design, design method used in the text is the window function for FIR digital filter design. Based on the characteristics of IIR filter and FIR filters ,the bad paper in the MATLAB environment under the bilinear transformation method were used to design IIR and FIR with window function digital filter design and filters to capture both the voice signal analysis and compare. Through analysis of IIR and FIR Finally, the effect of filtering on the speech, and concluded the advantages and disadvantages in the two filter design methods in the MATLAB environment. Key words: Digital Filter ;IIR;FIR;MATLAB

DSP课程设计-FIR高通滤波器设计

DSP课程设计-FIR高通滤波器设计 FIR 高通滤波器设计 南京师范大学物科院 从实现方法方面考虑,将滤波器分为两种,一种是IIR 滤波器,另一种是FIR 滤波器。 FIRDF 的最大优点是可以实现线性相位滤波。而IIRDF 主要对幅频特性进行逼近,相频特性会存在不同程度的非线性。我们知道,无失真传输与滤波处理的条件是,在信号的 有效频谱范围内系统幅频响应应为常数,相频响应为频率的线性函数。另外,FIR 是全零 点滤波器,硬件和软件实现结构简单,不用考虑稳定性问题。所以,FIRDF 是一种很重要 的滤波器,在数字信号处理领域得到广泛应用。 FIRDF 设计方法主要分为两类:第一类是基于逼近理想滤波器特性的方法,包括窗函 数法、频率采样法和等波纹最佳逼近法;第二类是最优设计法。其中窗函数计法的基本思 想是用FIRDF 逼近希望的滤波特性。本次设计主要采用窗函数设计法,对理想滤波器进行逼近,从而实现高通滤波器的设计。 在MATLAB 软件中,有一系列函数用于设计滤波器,应用时十分方便。因此,在本次 设计中,滤波器的设计主要采用MATLAB 软件,编写适当的程序,得到滤波器的单位脉冲 响应。 本设计对滤波器的硬件仿真主要使用CCS 软件,通过对滤波器的硬件仿真,可以较为真实的看出滤波器的滤波效果。 关键字:高通、FIRDF 、线性相位、Hanning 窗、MATLAB 、CCS 1. 设计目标 产生一个多频信号,设计一个高通滤波器消除其中的低频成分,通过CCS 的graph view波形和频谱显示,并和MATLAB 计算结果比较 2. 设计原理 2.1 数字滤波器 数字滤波器(digital filter)是由数字乘法器、加法器和延时单元组成的一种装置。 其功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。由于电 子计算机技术和大规模集成电路的发展,数字滤波器已可用计算机软件实现,也可用大规 模集成数字硬件实时实现。数字滤波器广泛用于数字信号处理中,如电视、VCD 、音响等。

用巴特莱特窗函数法设计数字FIR带通滤波器dsp课程设计

课程设计课程设计名称:数字信号处理课程设计 专业班级:电信 学生姓名: 学号: 指导教师:乔丽红 课程设计时间: 6.16-6.20 电子信息工程专业课程设计任务书

说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页 一需求分析和设计内容 数字信号处理是把许多经典的理论体系作为自己的理论基础,同时又使自己成为一系列新兴学科的理论基础。现如今随着电子设备工作频率范围的不断扩大,电磁干扰也越来越严重,接收机接收到的信号也越来越复杂。为了得到所需要频率的信号,

就需要对接收到的信号进行过滤,从而得到所需频率段的信号,这就是滤波器的工作 原理。对于传统的滤波器而言,如果滤波器的输入,输出都是离散时间信号,则该滤 波器的冲激响应也必然是离散的,这样的滤波器定义为数字滤波器。它通过对采样数 据信号进行数学运算来达到频域滤波的目的. 滤波器在功能上可分为四类,即低通(LP )、高通(HP )、带通(BP )、带阻(BS ) 滤波器等,每种又有模拟滤波器(AF )和数字滤波器(DF )两种形式。对数字滤波器, 从实现方法上,具有有限长冲激响应的数字滤波器被称为FIR 滤波器,具有无限长冲 激响应的数字滤波器被称为IIR 滤波器。 FIR 数字滤波器的主要优点有:一、具有严格的线性相位特性;二、不存在稳定性 问题;三、可利用DFT 来实现。这些优点使FIR 数字滤波器得到了广泛应用。窗函数 法是一种设计FIR 数字滤波器的基本方法,但它不是最佳设计方法,在满足同样设计 指标的情况下,用这种方法设计出的滤波器的阶数通常偏大。在窗函数法的基础上, 以所定义的逼近误差最小为准则来进行优化设计的算法,由于其中的逼近误差可根据 不同的设计要求进行定义,故此算法适应性强,它既可用于设计选频型滤波器,又适 用于非选频型滤波器的设计。常用的窗函数有矩形窗函数、巴特莱特窗函数、三角窗 函数、汉宁(Hann )窗函数、海明(Hamming )窗函数、布莱克曼(Blackman )窗函数、 凯塞(Kaiser )窗函数等。本设计通过MATLAB 软件对FIR 型滤波器进行理论上的实现, 利用巴特莱特窗函数设计数字FIR 带通滤波器。FIR 系统不像IIR 系统那样易取得较好 的通带和阻带衰减特性,要取得较好的衰减特性,一般要求H (z )阶次要高,也即M 要大。 FIR 系统有自己突出的优点:系统总是稳定的;易实现线性相位;允许设计多通带(或多 阻带)滤波器,后两项都是IIR 系统不易实现的。FIR 数字滤波器的设计方法有多种, 如窗函数设计法、频率采样法和Chebyshev 逼近法等。随着Matlab 软件尤其是Matlab 的信号处理工作箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可 以使设计达到最优化。本实验的数字滤波器的MATLAB 实现是指调用MATLAB 信号处理 工具箱函数filter 对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n )。 用巴特莱特窗函数法设计一个数字FIR 带通滤波器,要求通带边界频率为400Hz , 500Hz ,阻带边界频率为350Hz ,550Hz ,通带最大衰减1dB ,阻带最小衰减40dB ,抽样 频率为2000Hz ,用MATLAB 画出幅频特性,画出并分析滤波器传输函数的零极点; 信号)2sin()2sin()()()(2121t f t f t x t x t x ππ+=+=经过该滤波器,其中=1f 450Hz ,

相关文档
相关文档 最新文档