不同阶数的FIR数字滤波器的DSP实现

发布者:chi32最新更新时间:2006-07-14 关键字:相位  线性  滤波  样本 手机看文章 扫描二维码
随时随地手机看文章

  FIR滤波器的结构主要是非递归结构,没有输出到输入的反馈。并且FIR滤波器很容易获得 严格的线性相位特性,避免被处理信号产生相位失真。而线性相位体现在时域中仅仅是h( n)在时间上的延迟,这个特点在图像信号处理、数据传输等波形传递系统中是非常重要的。此外,他不会发生阻塞现象,能避免强信号淹没弱信号,因此特别适合信号强弱相差悬殊的情况。其主要的不足之处是,其较好的性能是以较高的阶数为代价换来的。因此,在保证相同性能的前提下,努力降低其阶数是FIR数字滤波器设计的重要因素之一。

  下面介绍应用Matlab和DSP芯片来实现FIR滤波器的通用模式。

1 FIR滤波器的设计方法

  通常采用窗函数法设计FIR滤波器方法简单,但是这些滤波器的设计还不是最优的。 首先 通带和阻带的波动基本上相等,虽然一般需要δ2<δ1,但是在窗函数法中不能分别控制 这些参数。另外对于大部分窗函数来说,通带内或阻带内的波动不是均匀的,通常离开过渡 带时会减小。若允许波动在整个通带内均匀分布,就会产生较小的峰值波动。

  最优化设计是将所有的采样值作为变量,在某一优化准则下,通过计算机进行迭代运算得 到的最优结果。其优化准则可以使用均方误差准则。但实践证明,应用最大误差最小化准则 的等波纹迫近法是更为实用的方法,应用他设计时,阶数、通带和阻带的边缘以及误差的加 权函数都可以自由选择,十分灵活,设计得到的滤波器,其误差在整个频率范围内均匀分布 ,因而可以以最低的阶数迫近提出的指标要求。

  设待设计滤波器的幅频特性为HdA(ω),实际得到的滤波器的幅频特性为HA(ω),目的是使HA(ω)最好地迫近HdA(ω)。等波纹最佳一致迫近是根据设计要求,导出一组条件,使整个迫近频率区域上的迫近误差绝对值为最小,定义一个加权函数W(ω),W(ω)在不同的频带下可以取不同的值,可用他自由决定各个频 带中误差的权重。优化设计时,W(ω)为已知函数,这样,加权误差函数E(ω)可定义为:

   

  由于Q(ω)是一个已知的三角函数,故除在点ω=0,π外,上式处处有效。令:

  ?

  则可得到如下数学模型:

  ?

  据此,可以把FIR滤波器的设计问题,归纳为如下的加权契比雪夫迫近问题:寻找P( ω)的一组系数a(n)(或 使E(ω)的最大绝对值在整个频带上都达 到最小。即:

  ?

  其中:B表示整个有意义的频带。

  求解契比雪夫迫近问题的依据是交错定理(这里不再介绍)。

2 用Matlab设计FIR数字滤波器

  Matlab信号处理工具箱采用Remez算法实现线性相位FIR滤波器的等波纹最佳一致逼近设计 。与其他设计方法相比,其优点是:设计指标相同时,使滤波器阶数最低;阶数相同时,使 通带最平坦,阻带最小衰减最大;通带和阻带均为等波纹形式,适合设计片段常数型滤波器 。其调用格式如下:

  

  remezord函数用于估算FIR数字滤波器的等波纹最佳一致逼近设计的最低阶数N,从而使 滤波器在满足指标的前提下造价最低。基本调用格式如下:

  

  其返回参数供remez函数使用。编制程序(略)FIR数字滤波器的滤波仿真程序:

  设有一个正弦叠加信号:x=sin(2*pi*100*t)+sin(2*pi*200*t)+sin(2*pi*3 00*t);经过带通滤波器后,滤除频率为100 Hz和300 Hz的信号,如图1所示。结果如图2所示。

      


3 用DSP线性缓冲区和带位移的双操作数寻址方法来实现不同阶数的FIR数字滤波器

  实现的核心器件采用美国德州仪器公司生产的DSP芯片TMS320C5402。对于N级FIR滤波 器,在数据存储器中开辟一个称之为滑窗的N个单元的缓冲区,存放最新的N个输入样本 。从最老的样本开始,每读一个样本后,将此样本向下移位。读完最后一个样本后,输入最 新样本至缓冲区的顶部(见图3)。FIR滤波器的主程序(程序流程图见图4),其中包括3个子程序Variableinc,Bfunction.asm,Filter_coeffinc。Variableinc程序的主要作用是:将TMS320个寄存器定义为全局符号,这样就可以直接引用寄存器(符号)。Bf unction.asm程序的主要作用是:初始化FEC和初始化C54。Filter_coeff.inc程序提供滤波器的系数,其系数用Q15格式表示。

          ?

               

4 结语

  实践证明,该滤波器准确度高、稳定性好,易于移植使用,具有较强的实用性与灵活性。Mat lab可方便地设计出FIR数字滤波器,并且修改系数方便。由于DSP的可移植性好,所以能从不同方法得来的滤波器系数写入filter_coeff.inc子程序中,从而得到不同的滤波效果。

参考文献

1]丁玉美,高西全.数字信号处理[M].西安:西安电子科技大学出版社,2002 2] 吴湘淇.信号、系统与信号处理[M].北京:电子工业出版社,1999.
3] 薛年喜.Matlab在数字信号处理中的应用[M].北京:清华大学出版社,2003. 4] TMS320C54X DSP CPU and Peripherals (Reference SetVolume 1).
5]TMS320C54X DSP Mnemonic Instruction Set (Reference Set Volum e 2).

关键字:相位  线性  滤波  样本 引用地址:不同阶数的FIR数字滤波器的DSP实现

上一篇:TMS320C5402与MAX147的接口设计
下一篇:用EZ-USB实现TMS320C6X与主机数据传输

推荐阅读最新更新时间:2024-05-02 20:25

噪声、相位噪声、信噪比、噪声系数之间有什么区别
噪声、相位噪声、信噪比、噪声系数在通信系统中经常会用到的术语,从名字上看他们都跟噪声有关。那么,它们之间有什么区别呢,又是如何联系起来的呢? 噪声 噪声在无线通信系统中是一种较为常见的干扰,往往会影响到通信系统的性能。它由于电子的布朗运动,电子进行无规则的热振荡运动,它也是一种不确定性随机的信号,我们称为热噪声或白噪声(white noise)。 白噪声我们可以用下面的公式表示: 其中, k:Boltzmann常量1.38*10^-23J/K; T:开氏温度(0开氏度等于-273.15C或-459.69F); B:测量带宽,单位Hz; 理论上,白噪声的功率谱密度是一个常量,意味着在频域上每一个频点上的功率值是一样的,为什么这么
[嵌入式]
噪声、<font color='red'>相位</font>噪声、信噪比、噪声系数之间有什么区别
ADI : 我们已经为TD市场准备就绪
电子工程世界网讯-2007年07月09日- 最近,ADI TD-SCDMA产品系列增加的最新成员——Othello-3T AD6552,新的CMOS 射频收发器增加双频带和支持HSDPA,并且无需昂贵的声表面波滤波器简化了3G射频设计,是ADI为支持TD-SCDMA标准专门设计的第二代射频收发器。 目前,商用TD-SCDMA网络已经在中国的10个城市部署,估计这些城市的总人口超过6000万,大致相当于英国或法国的总人口。面对高达6000万潜在用户的网络,我们有必要了解一下为TD-SCDMA标准提供完整芯片组解决方案的唯一独家供应商的ADI如何做,如何想。为此,电子工程世界网(以下简称“EEworld”)特别邀请了ADI公司射频和
[焦点新闻]
基于STM32的CAN网络开发笔记之滤波器配置和ID设置
看了很多关于配置滤波器和设置ID(StdID ExtID)的文章,发现都有问题。经过自己实验测试,得到的结果如下: (1) 设置ID 如果你想使用的StdID,则ExtID可以随意设置,只需要配置正确StdID即可。同时,需要设置IDE=0。如果你想使用的是EXTID,则只需要正确配置EXTID即可,STDID可随意设置。注意,这一点很多地方认为是扩展ID的前11位由StdID设置,后18位由ExtID设置。而实际情况是,ExtID本身就是一个32位无符号整数,只需要正确设置它即可。这是我通过查看STM32的固件库函数和类型定义而得出来的,经过了实验的检验。设置ID还可参考我曾经发表过的一篇博文。 (2) 配置滤波器 滤波
[单片机]
基于STM32的CAN网络开发笔记之<font color='red'>滤波</font>器配置和ID设置
基于MAX4472的血压传感电路及滤波和放大电路
  如下图所示,本电路采用BP01型压力传感器和运放MAX4472。BP01型压力传感器是为检测血压而专门设计的,主要用于便携式电子血压计。它采用精密厚膜陶瓷芯片和尼龙塑料封装,具有高线性、低噪声和外界应力小的特点;采用内部标定和温度补偿方式,提高了测量精度、稳定性和重复性,在全量程范围内,精度为±1%、零点失调不大于±300μV。MAX4472是MAXIM公司的一款集成了四个运算放大器的低功耗放大芯片。本系统中内部集成运放A接恒流源,为压力传感器提供恒定的电流,运放B和运放C,运放D组成差分输入、单端输出放大电路,直接输入ADC0监视血压直流分量。 滤波和放大电路   如下图所示,电路由滤波和放大两部分组
[模拟电子]
基于MAX4472的血压传感电路及<font color='red'>滤波</font>和放大电路
基于Labview的幅值和相位差测量
比较两个正弦信号的幅值和相位差广泛应用于对比测试中,如与标准信号进行标定、滤波前后信号的比对、互感器的输出等方面。时域波形可以依靠示波器观察,幅值和相位信息需要频谱分析仪测定,但其仅能对一路信号进行测试。而对于相位差的测试,一般使用动态分析仪这样的高精度仪器进行分析。频谱分析仪和动态分析仪的价位较高,因此有必要使用基于采集卡的Labview开发这方面的测试功能。 Labview中有现成的信号处理的vi(图1),可以直接分析出信号的幅值和相位信息。对两个信号可以分别得到相关信息,然后做差。 频谱测试vi 由FFT的原理可以知道,经过FFT运算,采集获得的序列变成复数,有实部和虚部。而实部和虚部的平方再开方对应的是幅值,虚部
[测试测量]
基于Labview的幅值和<font color='red'>相位</font>差测量
抗振晶体振荡器相位噪声测试方法的对比研究
目前电子系统都要求对晶体振荡器进行振动状态下相位噪声测试。但对于抗振晶体振荡器,按照常规相位噪声测试方法进行测试时其结果有可能不正常。文中分析了抗振晶体振荡器振动状态下的相位噪声及测试方法,通过对比测试发现,不同的测试系统其测试结果也不相同。通过系统设置和实验验证,解决了测试结果不正常的问题,使测试结果达成一致。 在电子系统中,晶体振荡器的相位噪声是一项重要的技术指标,无论是静止还是振动状态都要求进行测试相位噪声性能。对于常规晶体振荡器静止状态下的相位噪声,常规相位噪声测试系统都能准确地进行相位噪声测试。但抗振晶体振荡器振动状态下的相位噪声曲线与常规晶体振荡器有较大不同。如果整机系统直接按常规晶体振荡器的测试方法对抗振晶体振荡器
[测试测量]
抗振晶体振荡器<font color='red'>相位</font>噪声测试方法的对比研究
基于RFID读取器的可编程基频滤波器LTC6602
引言   无线频率识别( RFID )是一种自动 ID 技术,其可识别任何含有编码卷标的物体。UHFRFID 系统由一个读取器 (或询问器) 组成,该读取器调变一个 860MHz 至 960MHz 频率范围内的 RF 讯号,并向卷标发送信息。一般情况下,卷标是被动的,它从发送连续波(CW) RF 讯号的读取器接收工作所需的全部能量。卷标透过调变其天线的反射系数作出响应,从而将信息讯号反向散射到读取器内。   卷标讯号检测需要测量讯号跃变之间的时间间隔 (代表数据“1”符号的时间间隔比代表数据“0”的符号长)。读取器透过发送一个指示卷标设置其反向散射数据速率及编码的讯号,以启动卷标提供库存信息的过程。   RFID 读取器
[模拟电子]
基于RFID读取器的可编程基频<font color='red'>滤波</font>器LTC6602
LOTO虚拟示波器软件功能演示之——FIR数字滤波
在此之前我们先来了解一下带通滤波和带阻滤波。我们都知道每个信号是不同频率不同幅值正弦波的线性叠加,为了方便直接得观察到这种现象,就有了频谱分析(FFT),频谱分析就是将信号中不同频率不同幅值的正弦波表示出来。频谱分析的横坐标是频率,纵坐标是幅值,这样就可以在频谱分析中看出组成一个信号的多个正弦波的性质(频率和幅值)。如图1,上部分是时域的波形,下部分是频域中的波形。带阻滤波和带通滤波针对的是频域下的频率,如果要将某个频率范围内的信号去除掉,我们就要用到带阻滤波,只需在FIR数字滤波界面输入要去除的频率范围,点击SET,便会将这一频率范围内的波形去除掉。带通滤波则相反,它会留住在所选频率范围内的信号。即让频率范围内的信号通过不被滤除
[测试测量]
LOTO虚拟示波器软件功能演示之——FIR数字<font color='red'>滤波</font>
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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