基于Maflab的IIR数字滤波器设计及DSP实现

发布者:精灵宠儿最新更新时间:2014-03-30 来源: OFweek半导体照明网 关键字:Maflab  数字滤波器 手机看文章 扫描二维码
随时随地手机看文章

  21世纪是数字化的时代,随着越来越多的电子产品将数字信号处理(DSP)作为技术核心,DSP已经成为推动数字化进程的动力。在数字信号处理中,数字滤波占有极其重要的地位。在经典滤波中,常用的数字滤波器有FIR滤波器和IIR滤波器,其中IIR数字滤波器因具有结构简单、占用存储空间少、运算速度快、较高的计算精度和能够用较低的阶数实现、较好的选频特性等特点,得到了广泛应用。

  1 IIR数字滤波器的基本理论及设计方法

  数字滤波器的功能是把输入序列x(n)通过一定的运算变换成输出序列y(n)。不同的运算处理方法决定了滤波器实现结构的不同。IIR数字滤波器的单位抽样响应h(n)是无限长的,其差分方程如式(1)所示,是递归式的,即结构上存在着输出信号到输入信号的反馈。其系统函数如式(2)所示,因此在z平面的有限区间(0<|z|<∞)有极点存在。

系统函数

  目前,IIR数字滤波器设计最通用的方法是借助于模拟滤波器的设计方法。模拟滤波器设计已经有了一套相当成熟的方法,它不但有完整的设计公式,而且还有较为完整的图表供查询,因此,充分利用这些已有的资源将会给数字滤波器的设计带来很大方便,IIR数字滤波器的设计步骤是:

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

  2)根据转换后的技术指标设计模拟低通滤波器H(s);

  3)在按一定规则将H(s)转换为H(z);

  若所设计的数字滤波器是低通的,那么上述设计工作可以结束,若所设计的是高通、带通或者带阻滤波器,那么还有步骤4);

  4)将高通、带通或者带阻数字滤波器的技术指标先转化为低通滤波器的技术指标,然后按上述步骤2)设计出模拟低通滤波器H(s),再由冲击响应不变法或双线性变换将H(s)转换为所需的H(z)。

  2 IIR数字滤波器的Matlab设计

  Matlab信号工具箱提供了几个直接设计IIR数字滤波器的函数,直接调用这些函数就可以很方便地对滤波器进行设计。用巴特沃斯法、切比雪夫I、切比雪夫Ⅱ、椭圆法设计数字滤波器的函数如下:

椭圆法设计数字滤波器的函数

  本文设计一个三阶的切比雪夫I型高通数字滤波器,其采样频率为1 200 Hz,截止频率为200 Hz,通带的最大衰减Rp为0.5 dB。输入信号为100Hz和300Hz的合成信号,目的是通过所设计的滤波器将100 Hz的信号滤掉,余下300 Hz的信号成份,达到滤波的效果。高通滤波器仿真结果如图1所示,用高通滤波器进行滤波仿真结果如图2~4。从图中可看出,IIR数字滤波器设计正确,达到预期效果。

高通滤波器仿真结果

高通滤波器进行滤波仿真结果

  在编写汇编语言程序之前。首先确定滤波器的参数,从上面滤波器的设计中得出滤波器的参数如下:

Numemtor:   0.323557 -0.970672 0.970672  -0323557
Denominator:1.000000 -0.921478 0.642247  -0024733

  若设计参数有大于1的的数据.这样一个大于1的数据要直接用到DSP中,需要进行数据格式的浮点运算,这将增加编程的复杂度,而且会导致DSP运行程序速度的降低。一般情况下都不这样使用,而是将数据做一定比例的压缩后计算。例如将上面数据做8倍的压缩(即将上面数据除以8),得到新的数据为:

Numerator:  0.040 45   -0.121 334  0.121 334  -0.040 45
Denominator:1.000 000  -0.115 185  0.080 28   -0.003 092   3 IIR数字滤波器的实现

  TMS320VC5416是TI公司生产的新一代16位定点的数字信号处理器。在TMS320VC5416 DSP上实现IIR数字滤波器编程时,分别开辟4个缓冲区、存放输入、输出变量和滤波器系数,并将Matlab设计滤波器的系数A、B存入滤波器的缓冲区。并在TMS320VC5416 DSP上成功实现了IIR滤波,实验仿真结果如图5~图8所示,在TMS320VC5416DSP上输入100 Hz和300 Hz的混合信号,通过所设计的IIR数字滤波器达到滤波效果。通过实验结果表明IIR滤波器准确度高、稳定性好,设计结果满足性能指标要求。

实验仿真结果

实验仿真结果

  4 结束语

  本文首先介绍了IIR数字滤波器的理论及其Matlab常用设计函数,并针对TI公司的TMS320VC5416 DSP,结合一个高通滤波器的设计,叙述了其Matlab仿真设计及在DSP上的实现过程及结果。根据其实现思路,可以很方便设计出符合要求的滤波器。该该方法具有很强的实用性,对其他数字滤波器设计及DSP实现也有很好的参考价值。

关键字:Maflab  数字滤波器 引用地址:基于Maflab的IIR数字滤波器设计及DSP实现

上一篇:嵌入式实时操作系统μC/OS-Ⅱ在DSP上的移植
下一篇:借助音频DSP平台 超低功耗非触摸手势控制有谱

推荐阅读最新更新时间:2024-05-02 23:03

用于清除数据噪声的简单数字滤波器
很多系统都用一个ADC对温度和压力传感器产生的模拟数据进行采样。有时候,系统噪声或其它因素会使原本缓慢波动的数据乱跳起来。为了降低高频噪声,设计师经常会在传感器和模/数转换器级之间接一个模拟RC(电阻器-电容器)低通滤波器。但是,这种方法并不总是很理想或很实用。例如,要获得分钟级的时间常数,就需要非常大的R、C值。   图1显示的是一个模拟RC低通滤波器以及它的设计公式。去除ADC线性范围内的噪声信号还有另一种方法,即使用模拟RC低通滤波器的数字等式。该滤波器的软件只有两行C代码: LPOUT=LPACC/K,式中滤波器的输出值为LPACC除以一个常数。 LPACC=LPACC+LPIN-LPOUT,式中增加了输入与
[模拟电子]
基于AVR单片机的数字滤波器滤除工频干扰的快速算法
工频干扰广泛存在各种工业现场中,其产生的途径主要包括输电馈线、照明设备、发动机以及各种电子仪器设备等。一般可以通过滤波电路消除工频干扰,但这必将增加硬件结构的复杂程度。实际上,还可以采用数字信号处理的相关算法,通过软件滤波器滤除工频干扰。软件滤波算法的采用,无疑会在简化电路结构的同时,使系统的硬件资源得到更加充分的利用,并达到降低产品成本的要求。 AVR 单片机是Atmel 公司生产的8位精简指令集(RISC)单片机。与同类单片机相比,在运算速度、外设资源、灵活性等方面性能均衡,性价比较高。 AVR 单片机适合C语言开发,Mega 系列AVR 单片机还有一个内部硬件乘法器单元。这些特点都为软件滤波器的实现提供了极大的便利。 1
[单片机]
基于AVR单片机的<font color='red'>数字滤波器</font>滤除工频干扰的快速算法
数字滤波器的MATLAB设计与DSP上的实现
摘要:以窗函数法设计线性相位FIR数字滤波器为例,介绍用MATLAB工具软件设计数字滤波器的方法和在定点DSP上的实现。实现时,先在CCS5000仿真开发,然后将程序加载到TMS320VC5409评估板上实时运行,结果实现了目标要求。文中还讨论了定标、误差、循环寻址等在DSP上实现的关键问题。 关键词:数字滤波器 MATLAB DSP 引言 随着信息时代和数字世界的到来,数字信号处理已成为今一门极其重要的学科和技术领域。数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理应用中,数字滤波器十分重要并已获得广泛应用。 1 数字滤波器的设计 1.1 数字滤
[应用]
一种基于VB的虚拟数字滤波器的设计
1 虚拟仪器的构成 从构成要素讲,虚拟仪器系统是由计算机、应用软件和仪器硬件组成的。计算机与仪器硬件又称为VI的通用仪器硬件平台。基于PC机平台的虚拟仪器,不但具有强大的软件开发资源,而且造价低,适合于普通用户。本设计就是采用PC DAQ系统来实现的。本设计的系统构成如图1所示。其采用研华公司的PCL2818LS数据采集卡为主,构建计算机硬件外围电路,实现信号调理和高速数据采集。PCL2818LS数据采集卡有如下的功能和特点: 16路单端或8路差分模拟量输入;40 kHz 12位A/D转换器;可对每个输入通道的增益进行编程;带DMA的自动通道/增益扫描;16个数字量输入和16个数字量输出;一个12位模拟量输出通道(D/A转换)
[应用]
IIR数字滤波器的Matlab和FPGA实现
摘要:提出一种通过两个二阶节级联构成四阶IIR数字椭圆滤波器的设计方法,并利用Matlab仿真软件设计了通带内波纹不大于0.1 dB,阻带衰减不小于42 dB的IIR数字滤波器。论述了一种采用可编程逻辑器件,通过VHDL硬件描述语言实现该滤波器的方法。给出了在QuartusⅡ软件下的仿真结果,并在FPGA器件上验证实现。实验证明,这种方法是切实可行的。 关键词:无限长单位脉冲响应滤波器;Matlab;FPGA;VHDL 0 引言 数字滤波器具有比模拟滤波器精度高、稳定、体积小、重量轻、灵活、不要求阻抗匹配,以及能够实现模拟滤波器无法实现的特殊滤波功能等特点,因此数字滤波器被广泛应用于图像处理和识别、语音处理和识别、通信、
[嵌入式]
IIR<font color='red'>数字滤波器</font>的Matlab和FPGA实现
基于DSP C54x的数字滤波器设计
摘要:本文主要介绍基于DSP的数字滤波器的设计,使用CCS5000Simulator 实现FTSK数据输入, 使用FIR滤波器对FTSK调制信号进行处理,输出需要的波形与频谱。文中采用线性缓冲区和带移位双操作寻址的方法实现FIR滤波器。 关键词:数字滤波器,Matlab,Simulator 前言 一个实际的应用系统中,总存在各种干扰。使用DSP进行数字信号处理时,可以从噪声中提取信号,即对一个具有噪声和信号的混合源进行采样,然后经过一个数字滤波器,滤除噪声,提取有用信号;数字滤波器是DSP最基本的应用领域,也是熟悉DSP应用的重要环节。在系统设计中,滤波器的好坏将直接影响系统的性能。 数字滤波器的基本理论和设计
[应用]
旋转变压器信号处理的低成本、高分辨率方案
  旋转变压器(resover)包含三个绕组,即一个转子绕组和两个定子绕组。转子绕组随马达旋转,定子绕组位置固定且两个定子互为90度角(如图1所示)。这样,绕组形成了一个具有角度依赖系数的变压器。   图1:旋转变压器及其相关信号   将施加在转子绕组上的正弦载波耦合至定子绕组,对定子绕组输出进行与转子绕组角度相关的幅度调制。由于安装位置的原因,两个定子绕组的调制输出信号的相位差为90度。   通过解调两个信号可以获得马达的角度位置信息,首先要接收纯正弦波及余弦波,然后将其相除得到该角度的正切值,最终通过“反正切”函数求出角度值。由于一般情况下要使用DSP进行算术处理,因而需要将正弦及余弦波数字化。目前市面上有几
[电源管理]
旋转变压器信号处理的低成本、高分辨率方案
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved