课程论文成绩: 评语: 任课教师签字: 年 月 日 数字滤波器及其DSP实现
2012级,控制工程学科 摘要:本论文首先介绍了滤波器的滤波原理以及模拟滤波器数字滤波器的设计方法,重点介绍了IIR数字滤波器的设计方法,即脉冲响应不变法和双线性变换法。在此基础上,用DSP虚拟实现任意阶IIR数字滤波器。此设计扩展性好,便于调节滤波器的性能,可以根据不同的要求在DSP上加以实现。 关键字: DSP;滤波;IIR数字低通滤波器
1绪论
1.1 数字滤波器的研究背景与意义
当今,数字信号处理 (DSP:Digtal Signal Processing)技术正飞速发展,它不但自成一门学科,更是以不同形式影响和渗透到其他学科:它与国民经济息息相关,与国防建设紧密相连;它影响或改变着我们的生产、生活方式,因此受到人们普遍的关注。
数字化、智能化和网络化是当代信息技术发展的大趋势,而数字化是智能化和网络化的基础,实际生活中遇到的信号多种多样,例如广播信号、电视信号、雷达信号、通信信号、导航信号、射电天文信号、生物医学信号、控制信号、气象信号、地震勘探信号、机械振动信号、遥感遥测信号等等。上述这些信号大部分是模拟信号,也有小部分是数字信号。模拟信号是自变量的连续函数,自变量可以是一维的,也可以是二维或的。大多数情况下一维模拟信号的自变量是时间,经过时间上的离散化(采样)和幅度上的离散化(量化),这类模拟信号便成为一维数字信号。因此,数字信号实际上是用数字序列表示的信号,语音信号经采样和量化后,得到的数字信号是一个一维离散时间序列;而图像信号经采样和量化后,得到的数字信号是一个二维离散空间序列。数字信号处理,就是用数值计算的
《 DSP技术与应用 》研究生课程论文
方法对数字序列进行各种处理,把信号变换成符合需要的某种形式。例如,对数字信号经行滤波以他的频带或滤除噪音和干扰,或将他们与其他信号进行分离;对信号进行频谱分析或功率谱分析以了解信号的频谱组成,进而对信号进行识别;对信号进行某种变换,使之更适合于传输,存储和应用;对信号进行编码以达到数据压缩的目的,等等。
数字滤波技术是数字信号分析、处理技术的重要分支。无论是信号的获取、传输,还是信号的处理和交换都离不开滤波技术,它对信号安全可靠和有效灵活地传输是至关重要的。在所有的电子系统中,使用最多技术最复杂的要算数字滤波器了。数字滤波器的优劣直接决定产品的优劣。
1.2 数字滤波器的应用现状与发展趋势
在信号处理过程中,所处理的信号往往混有噪音,从接收到的信号中消除或减弱噪音是信号传输和处理中十分重要的问题。根据有用信号和噪音的不同特性,提取有用信号的过程称为滤波,实现滤波功能的系统称为滤波器。在近代电信设备和各类控制系统中,数字滤波器应用极为广泛,这里只列举部分应用最成功的领域。
(1) 语音处理
语音处理是最早应用数字滤波器的领域之一,也是最早推动数字信号处理理论发展的领域之一。该领域主要包括五个方面的内容:第一,语音信号分析,即对语音信号的波形特征、统计特性、模型参数等进行分析计算;第二,语音合成,即利用专用数字硬件或在通用计算机上运行软件来产生语音;第三,语音识别,即用专用硬件或计算机识别人讲的话,或者识别说话的人;第四,语音增强,即从噪音或干扰中提取被掩盖的语音信号。第五,语音编码,主要用于语音数据压缩,目前已经建立了一系列语音编码的国际标准,大量用于通信和音频处理。近年来,这五个方面都取得了不少研究成果,并且,在市场上已出现了一些相关的软件和硬件产品,例如,盲人阅读机、哑人语音合成器、口授打印机、语音应答机,各种会说话的仪器和玩具,以及通信和视听产品大量使用的音频压缩编码技术。
(2) 图像处理
数字滤波技术以成功地应用于静止图像和活动图像的恢复和增强、数据压缩、去噪音和干扰、图像识别以及层析X射线摄影,还成功地应用于雷达、声纳、超声波和红外信号的可见图像成像。
(3) 通信
在现代通信技术领域内,几乎没有一个分支不受到数字滤波技术的影响。信源编码、信道编码、调制、多路复用、数据压缩以及自适应信道均衡等,都广泛地采用数字滤波器,特别是在数字通信、网络通信、图像通信、多媒体通信等应用中,离开了数字滤波器,几乎是寸步难行。其中,被认为是通信技术未来发展方向的软件无线电技术,更是以数字滤波技术为基础。
《 DSP技术与应用 》研究生课程论文
(4) 电视
数字电视取代模拟电视已是必然趋势。高清晰度电视的普及指日可待,与之配套的视频光盘技术已形成具有巨大市场的产业;可视电话和会议电视产品不断更新换代。视频压缩和音频压缩技术所取得的成就和标准化工作,促成了电视领域产业的蓬勃发展,而数字滤波器及其相关技术是视频压缩和音频压缩技术的重要基础。
(5) 雷达
雷达信号占有的频带非常宽,数据传输速率也非常高,因而压缩数据量和降低数据传输速率是雷达信号数字处理面临的首要问题。告诉数字器件的出现促进了雷达信号处理技术的进步。在现代雷达系统中,数字信号处理部分是不可缺少的,因为从信号的产生、滤波、加工到目标参数的估计和目标成像显示都离不开数字滤波技术。雷达信号的数字滤波器是当今十分活跃的研究领域之一。
(6) 声纳
声纳信号处理分为两大类,即有源声纳信号处理和无源声纳信号处理,有源声纳系统涉及的许多理论和技术与雷达系统相同。例如,他们都要产生和发射脉冲式探测信号,他们的信号处理任务都主要是对微弱的目标回波进行检测和分析,从而达到对目标进行探测、定位、跟踪、导航、成像显示等目的,他们要应用到的主要信号处理技术包括滤波、门限比较、谱估计等。
(7) 生物医学信号处理
数字滤波器在医学中的应用日益广泛,如对脑电图和心电图的分析、层析X射线摄影的计算机辅助分析、胎儿心音的自适应检测等。
(8) 音乐
数字滤波器为音乐领域开辟了一个新局面,在对音乐信号进行编辑、合成、以及在音乐中加入交混回响、合声等特殊效果特殊方面,数字滤波技术都显示出了强大的威力。数字滤波器还可用于作曲、录音和播放,或对旧录音带的音质进行恢复等。
(9) 其他领域
数字滤波器的应用领域如此广泛,以至于想完全列举他们是根本不可能的,除了以上几个领域外,还有很多其他的应用领域。例如,在军事上被大量应用于导航、制导、电子对抗、战场侦察;在电力系统中被应用于能源分布规划和自动检测;在环境保护中被应用于对空气污染和噪声干扰的自动监测,在经济领域中被应用于股票市场预测和经济效益分析等等。
1.3 数字滤波器的实现方法分析
数字滤波器的实现,大体上有如下几种方法: (1) 在通用的微型机上用软件来实现。
软件可以由使用者自己编写或使用现成的。自IEEE DSP Comm.于1979年推出第一个
《 DSP技术与应用 》研究生课程论文
信号处理软件包以来,国外的研究机构、公司也陆续推出不同语言不同用途的信号处理软件包。这种实现方法速度较慢,多用于教学与科研。
(2) 用单片机来实现。
目前单片机的发展速度很快,功能也很强依靠单片机的硬件环境和信号处理软件可用于工程实际,如数字控制、医疗仪器等。
(3) 利用专门用于信号处理的DSP片来实现。
DSP芯片较之单片机有着更为突出的优点,如内部带有乘法器、累加器,采用流水线工作方式及并行结构,多总线,速度快,配有适于信号处理的指令等,DSP芯片的问世及飞速发展,为信号处理技术应用于工程实际提供了可能。 1.4 本章小结
数字滤波器精确度高、使用灵活、可靠性高,具有模拟设备所没有的许多优点,已广泛地应用于各个科学技术领域, 例如数字电视、语音、通信、雷达、声纳、遥感、图像、生物医学以及许多工程应用领域。随着信息时代数字时代的到来,数字滤波技术已经成为一门极其重要的学科和技术领域。以往的滤波器大多采用模拟电路技术,但是,模拟电路技术存在很多难以解决的问题,例如,模拟电路元件对温度的敏感性等等。而采用数字技术则避免很多类似的难题,当然数字滤波器在其他方面也有很多突出的优点,在前面部分已经提到,这些都是模拟技术所不能及的,所以采用数字滤波器对信号进行处理是目前的发展方向。
《 DSP技术与应用 》研究生课程论文
2 IIR数字滤波器的设计
数字滤波器可以用查分方程、单位取样响应以及系统函数等表示。对于研究系统的实现方法,即它的运算结构来说,用框图表示最为直接。
一个给定的输入输出关系,可以用多种不同的数字网络来实现。在不考虑量化影响时,这些不同的实现方法是等效的;但在考虑量化影响时,这些不同的实现方法性能上就有差异。因此,运算结构是很重要的,同一系统函数H(z),运算结构的不同,将会影响系统的精度、误差、稳定性、经济性以及运算速度等许多重要性能。IIR(无限冲激响应)滤波器与FIR(有限冲激响应)滤波器在结构上有自己不同的特点,在设计时需综合考虑。 2.1数字滤波器的设计原理
数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。IIR滤波器的特征是,具有无限持续时间冲激响应。这种滤波器一般需要用递归模型来实现,因而有时也称之为递归滤波器。FIR滤波器的冲激响应只能延续一定时间,在工程实际中可以采用递归的方式实现,也可以采用非递归的方式实现。数字滤波器的设计方法有多种,如双线性变换法、窗函数设计法、插值逼近法和Chebyshev逼近法等等。随着MATLAB软件尤其是MATLAB的信号处理工作箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以使设计达到最优化。
数字滤波器设计的基本步骤如下: (1)确定指标
在设计一个滤波器之前,必须首先根据工程实际的需要确定滤波器的技术指标。在很多实际应用中,数字滤波器常常被用来实现选频操作。因此,指标的形式一般在频域中给出幅度和相位响应。幅度指标主要以两种方式给出。第一种是绝对指标。它提供对幅度响应函数的要求,一般应用于FIR滤波器的设计。第二种指标是相对指标。它以分贝值的形式给出要求。在工程实际中,这种指标最受欢迎。对于相位响应指标形式,通常希望系统在通频带中具有线性相位。运用线性相位响应指标进行滤波器设计具有如下优点:第一,只包含实数算法,不涉及复数运算;第二,不存在延迟失真,只有固定数量的延迟;第三,长度为N的滤波器(阶数为N-1),计算量为N/2数量级。因此,本文中滤波器的设计就以线性相位FIR滤波器的设计为例。
(2)逼近
确定了技术指标后,就可以建立一个目标的数字滤波器模型。通常采用理想的数字滤波器模型。之后,利用数字滤波器的设计方法,设计出一个实际滤波器模型来逼近给定的目标。
(3)性能分析和计算机仿真
上两步的结果是得到以差分或系统函数或冲激响应描述的滤波器。根据这个描述就可以分析其频率特性和相位特性,以验证设计结果是否满足指标要求;或者利用计算机仿真实现设计的滤波器,再分析滤波结果来判断。
1
《DSP技术与应用》研究生课程论文
2.2 IIR数字滤波器的设计方法
IIR滤波器是一种数字滤波器,滤波器的系统函数如式:
Y(z)H(z)X(z)h(n)zn0nr0rbzrM1akzk1N (2.1)
k由于它的脉冲响应序列h(n)是无限长的,故称无限冲激响应滤波器。IIR滤波器的设计就是根据滤波器某些性能指标要求,设计滤波器的分子和分母多项式。它和FIR滤波器相比优点是在满足相同性能指标要求条件下,IIR滤波器的阶数要明显低于FIR滤波器。但IIR滤波器的相位是非线性的。
IIR滤波器设计方法可分为三种:模拟滤波器变换(经典设计法)、直接设计法、参数模型设计法、最大平滑滤波器设计。
目前,IIR数字滤波器设计最通用的方法是借助于模拟滤波器的设计方法。模拟滤波器设计已经有了一套相当成熟的方法,它不但有完整的设计公式,而且还有较为完整的图表供查询,因此,充分利用这些已有的资源将会给数字滤波器的设计带来很大方便,IIR数字滤波器的设计步骤是:
(1)按一定规则将给出的数字滤波器的技术指标转换为模拟滤波器的技术指标; (2)根据转换后的技术指标设计模拟低通滤波器H(s); (3)在按一定规则将H(s)转换为H(z)。
若所设计的数字滤波器是低通的,那么上述设计工作可以结束,若所设计的是高通、带通或者带阻滤波器,那么还有步骤:
(4)将高通、带通或者带阻数字滤波器的技术指标先转化为低通滤波器的技术指标,然后按上述步骤(2)设计出模拟低通滤波器H(s),再由冲击响应不变法或双线性变换将H(s)转换为所需的H(z)。
s - z 映射的方法有:冲激响应不变法、阶跃响应不变法、双线性变换法等。下面讨论双线性变换法。
双线性变换法是指首先把s 平面压缩变换到某一中介平面s1 的一条横带(宽度为2πT,即从-πT到πT) ,然后再利用zesT的关系把s1平面上的这条横带变换到整个z平面。这样s
1平面与z平面是一一对应关系, 消除了多值变换性, 也就消除了频谱混叠现象。
s平面到z平面的变换可采用
tan(1T) (2.2) 22
《DSP技术与应用》研究生课程论文 jeej1T21T2eej1T21T2jj (2.3)
令 js,j1s1有:
sees1T2s1T2ees1T2s1T21es1T1es1T (2.4)
从s1平面到z平面的变换,即
zes1T (2.5)
1z1代入上式,得到: s (2.6) 11z 一般来说,为使模拟滤波器的某一频率与数字滤波器的任一频率有对应关系,可引入代定常数c,
ctan(1T) (2.7) 21z1) (2.8) 则 sc11z这种s平面与z平面间的单值映射关系就是双线性变换。有了双线性变换,模拟滤波器的数字化只须用进行置换。 2.3 IIR滤波器经典设计
基于模拟滤波器变换原理,首先是根据滤波器的技术指标设计出相应的模拟滤波器,然后再
将设计好的模拟滤波器变换成满足给定技术指标的数字滤波器。这就是IIR滤波器设计的经典法。经典法可设计出低通、高通、带通、带阻等各种IIR滤波器。在MATLAB中,经典法设计IIR数字滤波器采用下面的主要步骤:
模拟低通滤波原型 频率变换 模拟离散化 IR滤波器
图1 经典法设计IIR数字滤波器的主要步骤
由上可见,经典设计法是利用模拟滤波器的设计成果。第二步完成后,一个达到期望性能指标的模拟滤波器(低通、高通、带通和带阻)已经设计出来。第三步离散化主要任务就是把模拟
3
《DSP技术与应用》研究生课程论文
滤波器变换成数字滤波器,即把模拟滤波器的系数H(S)映射成数字滤波器的系统函数H(z)。数字滤波器的设计工作就全部完成。
实现系统传递函数s域至z域映射有脉冲响应不变法和双线性映射两种方法。 (1)脉冲响应不变法
利用模拟滤波器成熟的理论和设计方法来设计IIR数字低通滤波器是经常用的方法。设计过程是:按照技术要求设计一个模拟低通滤波器,得到模拟低通滤波器的传输函数Has转换成数字低通滤波器的系统函数H(z)。这样设计的关键问题就是找这种转换关系,将s平面上的Has转换成z平面上的H(z)。为了保证转换后的H(z)稳定且满足技术要求,对转换关系提出两点要求:第一,因果稳定的模拟滤波器转换成数字滤波器,仍是因果稳定的。我们知道,模拟滤波器因果稳定要求其传输函数Has的极点全部位于s平面的左半平面;数字滤波器因果则要求H(z)的极点全部在单位圆内。因此,转换关系应是s平面的左半平面映射z平面的单位圆内部。第二,数字滤波器的频率响应模仿模拟滤波器的频响,s平面的虚轴映射z平面的单位圆,相应的频率至间成线性关系。
将传输函数Has从s平面传换到z平面的方法有多种,但工程上常用的是脉冲响应不变法和双线性变换法。我们先研究脉冲响应不变法。
设模拟滤波器的传输函数为Has,相应的单位冲激响应是hat] t,Has=LT[haLT[.]代表拉氏变换,对hat进行等间隔采样,采样间隔为T,得到hanT,将h(n)= hanT作为数字滤波器的单位取样响应,那么数字滤波器的系统函数H(z)便是h(n)的Z变换。因此脉冲响应不变法是一种时域上的转换方法,它是h(n)在采样点上等于hat。
设模拟滤波器Has只有单阶极点,且分母多项式的阶次高于分子多项式的阶次,将Has用
部分分式表示:
Hasi1NAissi (2.9)
式中si为Has的单阶极点。将Has逆拉氏变换得到hat:
hatAiestu(t) (2.10)
iNi1式中u(t)是单位阶跃函数。对hat进行等间隔采样,采样间隔为T,得到:
hnha(nT)AiesnTu(nT) (2.11)
iNi1 对上式进行Z变换,得到数字滤波器的系统函数H(z):
4
《DSP技术与应用》研究生课程论文 HzAisiT1zi11eN (2.12)
siT对比上式,Has的极点si映射到z平面,其极点变成e,系数Ai不变化。下面我们分析
从模拟滤波器转换到数字滤波器,s平面和z平面之间的映射关系,从而找到这种转换方法的优缺点。这里我们以采样信号hat作为桥梁,推导其映射关系。
ˆ设hat的采样信号用hat表示,
ˆt hanh(t)(tnT) (2.13)
aˆ对hat进行拉氏变换,得到:
ˆsHa
ˆ(t)estdthaast[h(t)(tnT)]eh(nT)enasnTndt (2.14)
式中ha(nT)是haT时的幅度值,它与序列h(n)的幅度值相等,它与序列h(n)t在采样点t=n 的幅度值相等,即h(n)= ha(nT),因此得到:
Hˆash(n)ensnTh(n)znnzesTH(z)zesT
上式表示采样信号的拉氏变换与相应的序列的Z变换之间的映射关系可用下式表示:
zesT (2.15)
ˆtˆ(j)htH(j)Hhaaa我们知道模拟信号的傅立叶变换和其采样信号的傅立叶变换a和其ˆˆ采样信号hat的傅立叶变换Ha(j)之间的关系满足式:
ˆ(j)1HaTkHa(jjks) (2.16)
将sj代入上式,得
ˆ(j)1H(sjk) (2.17) HaasTk由 (3.8)、(3.10)式得到:
H(z)zesT1Ha(sjks) (2.18) Tk上式表明将模拟信号ha再按t的拉氏变换在s平面上沿虚轴按照周期s2/T延迟后,
3
《DSP技术与应用》研究生课程论文
照上式映射关系,映射到z平面上,就得到H(z),即标准映射关系。下面进一步分析这种映射关系。设
sj zrejw
按照(3.8)式,得到:rejwetejT 因此得到:
reTwT (2.19)
0,r1那么 0,r1
0,r1上式关系式说明,s平面的虚轴(0)映射z平面的单位圆(r1),s平面左平面(0)映射z平面单位内(r1),s平面右半平面映射z平面单位圆外(r1)。这说明如果Has因果稳定,转换后得到H(z)仍是因果稳定的。
另外,注意到z=e是一个周期函数,可写成
sTesTetejTeTej(2m/T)t,M为任意整数当不变,模拟频率变化2/T的整数倍时,映射值不变。或者说,将s平面沿着j轴分割成一条条宽为2/T的水平带,每条水平面都按照
ˆ(Z)所在的s平面与Hˆ(Z)所在的z平面的映射前面分析的映射关系对应着整个z平面。此时Haa关系如图所示。当模拟频率从/T变化到/T时,数字频率则从变化到,且按照(3.12)式,T,即与之间成线性关系。
ˆ(t),2/T为周期,沿虚轴方向进行周期化。如果原但是,从模拟信号ha(t)到采样信号ha模拟信号得频带不是限于/T之间,则会在/T得奇数倍附近产生频率混叠,从而映射到z平面上,在附近产生频率混叠。脉冲相应不变法的频率混叠现象如图所示。这种会使设计出的滤波器在T附近的频率特性,程度不同地偏离模拟滤波频率特性,严重时使滤波器不满足给定的技术指标。因此,希望设计的滤波器使带限滤波器,如果不是带限的,例如高通滤波器,带阻滤波器,需要在高通带阻滤波器之前加保护滤波器,滤除高于折叠频率/T以上的频带,以避免产生频率混叠现象。但这样会增加系统的成本和复杂性,因此,高通与带阻滤波器不适合用这种方法设计。
6
《DSP技术与应用》研究生课程论文 ˆa(j)没有频率混叠现象,即满足 假设Hˆ(j)0,/T Ha将关系式Sj,T代入,得到:
H(ej)1Ha(j), TT说明用脉冲响应不变法设计的数字滤波器可以很好地重现原模拟滤波器的频响。上式中,
H(ej)的幅度特性与采样间隔成反比,这样当T较小时,H(ej)就会有太高的增益。为避免这一现象,令h(n)Tha(nT)那么H(z)TAij,此时H(e)Ha(j/T), siT1zi11eN一般Ha(s)的极点Si是一个复数,且以共轭成对的形式出现,在式中讲一对复数共轭极点放在一起,形成一个二阶基本节。如果模拟滤波器的二阶基本节的形式为
s1,极点为2(s1)211j1可以推导出相应的数字滤波器二阶基本节(只有实数乘法)的形式为
11z1e1Tcos1T如果模拟滤波器二阶基本节的形式为,极点为2(s1)2112z1e1Tcos1Tz2e21T1j1,则对应的数字滤波器二阶基本节的具体形式为上这些变换关系,可以简化设计。 (2)双线性变换法
12z1z1e1Tsin1T利用以
e1Tcos1Tz2e21T这种变换方法,采用非线性频率压缩方法,将整个频率轴上的频率范围压缩到±π/T之间,
sTze再用转换到z平面上。设Ha(s),s=jΩ,经过非线性频率压缩后用Ha(s1),s1=jΩ1
表示,这里用正切变换实现频率压缩:
2tan0.51T (2.20) T式中T仍是采样间隔,当Ω1从-π/T经过0变化到π/T时,Ω则由-∞经过0变化到+∞,实现了s平面上整个虚轴完全压缩到s1平面上虚轴的±π/T之间的转换。这样便有
221zs1Tsth0.51TTT1zs1t
(2.21)
3
《DSP技术与应用》研究生课程论文
再通过zesT 转换到z平面上,得到:
21z1sT1z1 (2.22)
2szT2sT (2.23)
式(2.22)或式(2.23)称为双线性变换。从s平面映射到s1平面,再从s1平面映射到z平
面。由于从s平面到s1平面具有非线性频率压缩的功能,因此不可能产生频率混叠现象。另外,从s1平面转换到z平面仍然采用标准转换关系 zes1T,s1平面的 ±π/T之间水平带的左半部
分映射z平面单位圆内部,虚轴映射单位圆。这样,Ha(s)因果稳定,转换成的H(z)也是因果稳定的。下面分析模拟频率Ω和数字频率ω之间的关系。
jsj,ze令 ,并代入(2.23)式中,有
21ej 2tan1 (2.24) jT2T1ejjΩ jΩπ/T Im σ -π/T σ1 Re s平面 s1平
图2 双线性变换法的映射关
z平面
上式说明,s平面上Ω与平面上的ω成非线性正切关系。在ω=0附近接近线性关系;当ω增加是,Ω增加得愈来愈快;当ω趋近π时,Ω趋近于∞。正是因为这种非线性关系,消除了频率混叠现象。
8
《DSP技术与应用》研究生课程论文 Ω -π 0 π 图3 双线性变换法的频率变换
ω与Ω之间的非线性关系是双线性变换法的缺点,直接影响数字滤波器频响逼真的模仿模拟滤波器的频响,幅度特性和相位特性失真的情况如图所示。这种非线性影响的实质问题是:如果Ω的刻度是均匀的,则影射到z平面ω的刻度不是均匀的,而是随ω增加愈来愈密。
Ω
Ω
Ω Ω Haj
0 0
ω
Haj
ω
0 Hae j0 0 ω ω
0
Hej
图4 双线性变换法幅度和相位特性的非线性映射
双线性变换法可由简单的代数公式将Ha(s)直接转换成H(z),这是该变换法的优点。但当阶数稍高时,将H(z)整理成需要的形式,也不是一件简单的工作。
3.IIR滤波器的DSP实现.
在用定点DSP器件设计数字滤波器时,一个重要的问题就是由于硬件字长精度有限,运算会出现溢出。IIR滤波器可以用较少的阶数获得很高的选择特性,所用的存储单元少、运算次数少,具经济、高效的特点。在相位要求不敏感的场合,如语音通信等,很适合用IIR滤波器。 extern void InitC5402(void); extern void OpenMcBSP(void); extern void CloseMcBSP(void); extern void READAD50(void); extern void WRITEAD50(void);
/*********************************************************************** ** Main Function Program
3
《DSP技术与应用》研究生课程论文
***********************************************************************/ #include \"stdio.h\" #include \"math.h\" #define pi 3.1415926
double fs,nlpass,nlstop,nhpass,nhstop,a[3],b[3],x,y;
void biir2lpdes(double fs, double nlpass, double nlstop, double a[], double b[]); void biir2lpdes(double fs, double nlpass, double nlstop, double a[], double b[]) {
int i,u,v;
double wp,omp,gsa,t; omp=tan(wp/2.0); gsa=omp*omp; for (i=0; i<=2; i++) {
u=i%2; v=i-1;
a[i]=gsa*pow(2,u)-sqrt(2)*omp*v+pow(-2,u);
wp=nlpass*2*pi;
}
for (i=0; i<=2; i++) { u=i%2;
b[i]=gsa*pow(2,u); } t=a[0];
for (i=0; i<=2; i++) { a[i]=a[i]/t;
b[i]=b[i]/t; }
}
void main(void) {
int j,k=0; int n,x_ad,y_da; int *px = (int*)0x3000; int *py = (int*)0x3100; double w2,w1,w0;
10
《DSP技术与应用》研究生课程论文
{
w2=w1=w0=0.0;
for ( ; ; )
InitC5402(); /* initialize C5402 DSP */ OpenMcBSP(); fs=16000;
/* IIR LP filter */ nlpass = 0.1; nlstop = 0.3;
biir2lpdes(fs,nlpass,nlstop,a,b);
for (j=0; j<=4; j++)
{
READAD50(); for (n=0; n<=255; n++) { }
WRITEAD50(); k++;
px = (int*)(0x3000+n); x_ad = *px; x = x_ad/32768.0; w2=x-a[1]*w1-a[2]*w0; y=b[0]*w2+b[1]*w1+b[2]*w0; w0=w1; w1=w2;
y_da=(int)(y*32768.0); py = (int*)(0x3100+n); *py = y_da;
}
}
}
/*void PROCESSING(void) {
do the necessery operations here!*/
3
《DSP技术与应用》研究生课程论文
设计程序的调试结果和运行结果为:
DSP原理图: 电源220v转5v图:
最小系统图:
12
《DSP技术与应用》研究生课程论文 参考文献
[1] 刘令普.数字信号处理[M].哈尔滨:哈尔滨工业大学出版社,2002.
[2] 邓重一.滤波器的过去、现在与未来[J].世界电子元器件.2003,13(4):48~49. [3] 邓重一.滤波技术的发展现状[J].中国仪器仪表.2004,(02):1~4.
[4] 李洪伟,张长明.LMS自适应算法设计FIR、IIR数字滤波器的应用及比较[J].现代电子技术.2005,(15):79~80. [5] Oppenheim A V,Schafer R W.Digital signal processing[M].Englewood Cliffs,NJ:Prentice-Hall,1975. [6] 王世一.数字信号处理[M].北京:北京理工大学出版社,2005. [7] 李行一.数字信号处理[M].重庆:重庆大学出版社,2002.
[8] 刘正士,王勇,陈恩伟,葛运建.一种数字滤波器的设计方法及其应用[J].中国机械工程.2006,17(1):88~91. [9] 叶榆,贺国权.基于Pspice的八阶巴特沃斯低通滤波器设计与优化[J],山西电子技术,2006.(3):61~63. [10] 谢子常,徐水明.数字切比雪夫滤波器的设计及MATLAB仿真[J],福建电脑,2004.(5):31~32.
[11] 王田.Celestino A Corral.杨士中.椭圆函数滤波器边带特性优化方法[J],电路与系统学报,2005.10(5):2~4. [12] 丁磊,潘贞存,丛伟.基于MATLAB信号处理工具箱的数字滤波器设计与仿真[J].继电器. 2003, 31 (9):49~51. [13] 张亚妮,基于MATLAB的数字滤波器设计[J],辽宁工程技术大学学报 2005.24(5):716~718. [14] 杨大柱.MATLAB 环境下FIR 滤波器的设计与仿真[J].集成电路应用.2006,(9):101~107. [15] 刘波.MATLAB信号处理[M].北京:电子工业出版社,2006.
[16] 倪向东.基于FPGA的四阶IIR数字滤波器[J].基础电路应用.2003,(12):66~69.
[17] 严三国.基于VHDL语言的八阶IIR 语音低通数字滤波器[J].林航天工业高等专科学校学报.2005,(4):12~16. [18] 刘卫国,陈昭民,张颖.Matlab程序设计与应用[M].北京:高等教育出版社,2002. [19] 谭会生,EDA技术基础[M],长沙:湖南大学出版社,2004.
[20] 赖联有,吴伟力,许伟坚.基于FPGA的FIR滤波器设计[J].集美大学学报(自然科学版) .2006,11(4):347~350. [21] 张凯,林伟.vhdl实例剖析[M].北京:国防工业出版社,2004.
[22] 徐大鹏,李从善.基于FPGA的数字图像中值滤波器设计[J].电子器件.2006,29 (4) :1114~1117.
3
因篇幅问题不能全部显示,请点此查看更多更全内容