一种改进型的FIR数字滤波器设计

发布者:MysticGlow最新更新时间:2006-04-29 关键字:仿真  谐波  相位  算法 手机看文章 扫描二维码
随时随地手机看文章

      在数字信号处理中,滤波占有极其重要的作用,数字滤波器是谱分析、雷达信号处理、通信信号处理应用中的基本处理算法。目前常用的滤波器设计方法普遍采用Matlab仿真,DSP实现。但这一传统设计方法需要的开发周期较长,且设计过程反复进行,非常不便。

  针对这一问题,出现了系统级设计方法的构想将Matlab算法仿真和DSP的实现融合在一起。文中应用Matlab Link For CCS Development Tools进行系统级设计,来完成FIR滤波器的设计。

  1 FIR数字滤波器设计的基本步骤

  数字滤波器根据其冲激响应函数的时域特性,可分为2种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。FIR系统不像IIR系统那样易取得较好的通带和阻带衰减特性,要取得较好的衰减特性,一般要求H(z)阶次要高,也即M要大。FIR系统有自己突出的优点:系统总是稳定的;易实现线性相位;允许设计多通带(或多阻带)滤波器,后两项都是IIR系统不易实现的。FIR数字滤波器的设计方法有多种,如窗函数设计法、频率采样法和Chebyshev逼近法等。随着Matlab软件尤其是Matlab的信号处理工作箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以使设计达到最优化。

  FIR数字滤波器设计的基本步骤如下[1]:

  (1)确定技术指标

  在设计一个滤波器之前,必须首先根据工程实际的需要确定滤波器的技术指标。在很多实际应用中,数字滤波器常被用来实现选频操作。因此,指标的形式一般在频域中给出幅度和相位响应。幅度指标主要以2种方式给出。第一种是绝对指标。他提供对幅度响应函数的要求,一般应用于FIR滤波器的设计。第二种指标是相对指标。他以分贝值的形式给出要求。本文中滤波器的设计就以线性相位FIR滤波器的设计为例。

  (2)逼近

  确定了技术指标后,就可以建立一个目标的数字滤波器模型(通常采用理想的数字滤波器模型)。之后,利用数字滤波器的设计方法(窗函数法、频率采样法等),设计出一个实际滤波器模型来逼近给定的目标。

  (3)性能分析和计算机仿真

  上两步的结果是得到以差分或系统函数或冲激响应描述的滤波器。根据这个描述就可以分析其频率特性和相位特性,以验证设计结果是否满足指标要求;或者利用计算机仿真实现设计的滤波器,再分析滤波结果来判断。

  2 FIR数字滤波器的传统设计方法

  传统的FIR数字滤波器设计流程分为2个部分:开发设计和产品实现。在开发设计部分完成方案设计和算法设计与验证,一般用Matlab语言进行仿真,当仿真结果满意时,再进入产品的实现阶段。在实现阶段,将开发设计的阶段的算法用C/C++或者汇编语言实现,在硬件的单片机或DSP目标板上实现。

  下面以电力系统中的用于滤除高次谐波的低通滤波器为例,介绍设计线性相位FIR低通数字滤波器的传统设计方法。

  2.1 FIR滤波器的Matlab仿真[2]

  在电力分析实验仪中,只要求分析20次以下的谐波,30次以上的谐波由抗混叠滤波器滤波,20-30次的谐波则由数字滤波器滤除。所以电力系统的低通滤波器的技术指标如下:通带截止频率为1 000Hz,阻带截止频率为1 500Hz,通带波纹为0.001,阻带波纹为0.001,采样频率为4 000Hz,阻带衰减小于50 dB,因此设计中采用汉明窗比较合适。

  FIR滤波器的设计用Matlab数字信号处理软件包提供的专用函数来直接求取是非常方便的。

  先求出滤波器的阶数N:N=ceil(n)+1,通过相关程序仿真可以计算出N=28。

  滤波器h(n)的系数和他的幅频特性:

  调用格式为:b=fir1(N,wc,’ftype’,window)或b=fir2(N,wc,m,window);编制程序并运行,表1为计算所得滤波器系数,图1所示为设计的低通滤波器频率响应曲线。由此可见基本满足性能指标。h(n)的系数见表1。

  输入一混叠信号来测试所设计滤波器的功能:输入信号是频率为f1=400Hz和f2=1 800Hz的正弦交流信号。

  S1=sin(400×2πt);

  S2=sin(1800×2πt);

  S=S1+S2

  图2为混叠信号波形S=S1+S2。

  图3经滤波器滤波后的波形。由此可见,仿真结果基本令人满意。然后用DSP来实现系统。

  将上述系统存盘,建立一个数据文件fir01.txt,将Matlab中产生的fir01.txt文件,通过执行转换命令,将自动变换为Firdata.inc滤波器系数文件。转换命令为(在Matlab下):!firdata fic01.txt

  2.2 FIR数字滤波器的C54实现

  TMS320C5416有很强的数据处理功能[3],带数据移位的加法指令MACD在循环执行时,一但流水线启动,该指令就变为单周期指令。可以快速完成滤波器的设计和运算。

  下面讨论上述仿真得到的FIR滤波器的设计[4],程序流程图如图4所示。

  根据上述运算和流程图编制对称FIR低通滤波器程序,源程序清单略。在CCS5000上进行仿真调试运行,利用观察窗口可以看到如下图形,并分析输入信号和输出信号的频谱,结果如图5,图6所示。

  输入信号是频率为f1=400Hz和f2=1 800Hz的正弦交流信号的叠加。通过观察频域和时域图,得知:输入波形中的低频波形通过了滤波器,而高频部分则被滤除。滤波器实现了目标要求。

  这种方法尽管能设计出较好的滤波器。但需要用CCS把目标DSP程序运行的中间结果保存到PC机的硬盘上,然后调到Matlab工作空间,与Matlab算法的中间结果进行比较,可以发现DSP程序中由于设计或者精度导致的结果偏差。如此过程反复进行,非常不便。

  下面提出了一种改进型的设计方法。

  3 滤波器设计的改进方法

  目前提出了一种系统级设计方法的构想[5]。系统级设计方法的核心是将算法设计与系统级设计仿真在统一的环境中进行,进而将开发流程的两个部分有效地结合在一起。进行系统级设计需要一个统一的开发环境,且在该开发环境中可以对系统结构、算法进行描述,还能够对系统不同层次、不同组件和不同数据类型进行建模。Matlab Link for CCS Development Tools就是为了完成系统级设计出现的。

  3.1 Matlab Link for CCS Development Tools简介

  Mathworks公司和TI公司联合开发的Matlab Link for CCS Development Tools(CCS Link)提供了Matlab 和CCS的接口,即把Matlab和TI CCS及目标DSP连接起来。利用此工具可以像操作Matlab变量一样来操作TI DSP的存储器或寄存器,即整个目标DSP对于Matlab好像是透明的,开发人员在Matlab环境中就可以完成对CCS的操作。Matlab Link for CCS Development Tools可以支持CCS能够识别的任何目标板,包括TI公司的DSP,EVM板和用户自己开发的目标DSP(C2000,C5000,C6000)板。

  3.2 系统级设计探讨

  CCS Link向用户提供的3种接口如图7,可以完成系统级设计。

  3.3 数字滤波器的系统级设计方法

  利用Link for CCS IDE接口实现CCSIDE和Matlab之间的连接来设计FIR数字滤波器,利用此连接可以在Matlab控制下操作DSP的应用程序,利用Matlab中强大计算分析、可视化工具来分析和对比目标程序运行中的结果,大大缩短调试开发系统的周期。

  具体设计步骤如下[6]:

  (1)选择DSP型号:实验中用TMS320C5416DSP;

  (2)创建CCS IDE连接对象;

  (3)利用Matlab把文件加载到CCS IDE中;

  (4)在Matlab环境下对CCS IDE连接对象进行操作;

  (5)关闭CCS IDE连接对象。

  从这个设计步骤中可以看出,在Matlab环境下操作DSP中变量或者寄存器是很方便的。这样就可以在Matlab环境下完成DSP程序的仿真调试。而不用像传统的开发要把DSP运行结果调回PC机验证,方便了开发设计,缩短了开发周期。

  用这种方法所设计滤波器结果和上面基本相同,只是设计过程得到了很大简化,方便了开发设计。

  4.结语

  应用Matlab对DSP进行系统级的设计极大地改进了传统的设计方法。Matlab系统级的设计环境,有助于在设计早期发现错误和应对系统复杂性不断增加的挑战,方便了复杂DSP应用系统的设计。所设计的数字滤波器和传统设计的滤波器比较,速度提高了很多,设计过程得到了很大的简化,方便了开发设计。
 
      来源:现代电子技术

关键字:仿真  谐波  相位  算法 引用地址:一种改进型的FIR数字滤波器设计

上一篇:确保嵌入式系统的网络安全性
下一篇:用DSP控制器整合马达控制和功率因数校正

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

单片机的单CPU仿真器的设计
摘要 :本文基于对8051单片机存储空间结构的深层次分析,提出了一种基于单片机的单CPU仿真器设计方案。该方案实用廉价,工程实践性强,可用于设计新的教学设备。 引言 单片机以它的廉价、体积小、可塑性强、稳定性高的特性,有着广阔的市场前景。 在用单片机开发产品时,虽然许多厂家设计了可编程ISP单片机,但是从安全与便捷方面考虑,单片机仿真器仍然是开发人员不可或缺的工具。单片机仿真器在产品开发阶段可用来替代单片机进行软硬件调试,从而迅速发现、纠正程序中的错误,大大缩短单片机开发的周期。但实际中仿真器过于昂贵,因此,设计制作出一款廉价且实用的仿真器有着广泛的市场。 传统的单片机仿真器硬件系统一般有三种实现方法。一、采用专用仿真的单
[应用]
销量翻番,这家谐波减速器厂家驶入快车道
广告摘要声明广告 【文/sya】近几年,国产工业机器人的快速发展带动了一批谐波减速器厂商的兴起。 在众多的谐波减速器厂商中, 深圳市同川科技有限公司(同川精密)迅速出围 ,产品获得了国内工业机器人一线厂商的广泛认可,今年出现了订单激增、产能不足的现象。 同川科技早在2015年就开始投入谐波减速机和协作机器人的研发与制造。 在2021年初,同川科技创始人沈晓龙对外宣布:放弃协作机器人本体业务,专注于谐波减速器和机器人关节模块等产品,成为一家工业机器人优质部件供应厂商。 据介绍,同川精密近几年一直与国内注重技术研发和产品品质的本体厂商进行测试和合作。 经过不断摸索和改进,同川精密谐波在传动精度、振动噪音、精度保持寿命、可靠性、一致性
[机器人]
高速数字电路的设计与仿真
   摘要: 介绍了专用于高速数字电路的仿真工具Hyperlynx,并使用它对高速数字电路中的阻抗匹配、传输线长度与串扰问题进行布线前的模型建立和仿真,通过仿真结果分析给出了相应解决办法,尤其在传输线长度上提供了LVDS电路的解决办法。通过软件平台对电路参数的设置进行比较与分析,给出了高速数字电路设计的指导性结论。   高速数字系统设计成功的关键在于保持信号的完整,而影响信号完整性(即信号质量)的因素主要有传输线的长度、电阻匹配及电磁干扰、串扰等。设计过程中要保持信号的完整性必须借助一些仿真工具,仿真结果对PCB布线产生指导性意见,布线完成后再提取网络,对信号进行布线后仿真,仿真没有问题后才能送出加工。目前这样的仿真工具主要有c
[嵌入式]
BOOST电路的PSpice仿真分析与设计
   1 引言   BOOST 电路又称为升压型电路,是一种直流一直流变换电路,其电路结构如图1所示。此电路在开关电源领域内占有非常重要的地位,长期以来广泛的应用于各种电源设备的设计中。对它工作过程的理解掌握关系到对整个开关电源领域各种电路工作过程的理解,然而现有的书本上仅仅给出电路在理想情况下稳态工作过程的分析,而没有提及电路从启动到稳定之间暂态的工作过程,不利于读者理解电路的整个工作过程和升压原理。本文采用PSpice仿真分析方法,直观、详细的描述了BOOST电路由启动到达稳态的工作过程,并对其中各种现象进行了细致深入的分析,便于读者真正掌握BOOST电路的工作特性。   图1 BOOST 电路的结构    2 电路
[嵌入式]
BOOST电路的PSpice<font color='red'>仿真</font>分析与设计
速腾聚创首次发布LiDAR算法
“ 不要低估你车载LiDAR的威力。”今年4月份,速腾聚创宣布“普罗米修斯”计划,以“负责、开放、共享”的理念,向合作伙伴提供一系列由软硬结合的自动驾驶激光雷达解决方案。公司致力于推动自动驾驶技术发展的伙伴们一起,更好更快探索地自动驾驶领域。 半年时间,我们和首批来自汽车OEM厂商、科技公司与高校等领域的深度合作伙伴戮力齐心,基于不同的真实驾驶场景做了大量的实测工作,各个算法模块验证了稳定性。 现在,RS-LiDAR-Algorithms感知算法1.0版本正式向“普罗米修斯”计划合作伙伴开放啦! 一个让你的自动驾驶车立刻获得LiDAR感知能力的开发套件 RS-LiDAR-Algorithms感知算法SDK是专门为自动驾驶
[汽车电子]
速腾聚创首次发布LiDAR<font color='red'>算法</font>
在Matlab/Simulink中进行永磁同步电机流频比I/F控制系统的仿真分析
前言 本章节采用流频比I/F控制方法驱动永磁同步电机的转动,首先分析流频比I/F的控制原理,然后在Matlab/Simulink中进行永磁同步电机流频比I/F控制系统的仿真分析,为后续PMSM无感启动做铺垫。 一、流频比I/F控制原理 PMSM的恒压频比V/F控制是保持电机的电压和频率之比固定,即磁通为常数,既不需要转速闭环控制,也不需要进行电流采样,是一种完全的开环控制方式。V/F控制有两个明显的不足:不具备负载转矩匹配能力,转速容易产生振荡;最佳V/F曲线的整定比较困难,容易引起电机过电流。 相比于恒压频比V/F控制,流频比I/F控制是一种转速开环,电流闭环的控制方式,其无需保持电流幅值和频率的比值恒定,可依据负载转矩
[嵌入式]
在Matlab/Simulink中进行永磁同步电机流频比I/F控制系统的<font color='red'>仿真</font>分析
基于DCT域的公路车牌定位算法
  1 引 言   车辆牌照识别( VLPR: V ehic le L icense PlateRecognit iON) 系统作为一个专用的计算机视觉系统,能够自动摄取车辆图像并识别出车牌。这个系统可应用在公路自动收费、停车场管理、失窃车辆侦察、门卫系统、智能交通系统等不同场合。汽车牌照定位是车牌识别的难点,因此,公路车牌定位算法的研究有着重要而实用意义。车牌识别在图像处理技术中是典型的先分割目标进而识别的应用实例。类似的应用包括信封上邮政编码的分割与识别、货运列车车型车号的自动分割和识别、文字的识别等等。虽然车辆牌照识别系统是一个针对车牌识别的专用系统,然而对它的研究定会对上述类似问题的研究起到推动作用。   关于车牌
[嵌入式]
TMS320VC55x系列DSP的Flash引导方法研究
1 引言 随着数字信号处理技术的快速发展,DSP(数字信号处理器)越来越广泛地应用于各种数字信号处理系统中。最终开发的系统要想脱离仿真器运行,必须将程序代码存储在非易失性存储器中。Flash存储器以其大容量和可在线编程等特点已成为DSP系统的一个基本配置。如何将程序烧写进Flash,并在上电时加载到DSP内部的RAM是Flash在DSP系统中应用的两个基本技术问题。本文以基于TI公司的TMS320VC5509A和Atmel公司的AT49LV1024 Flash开发的系统为背景,详细介绍了系统引导相关的硬件设计、烧写软件设计以及自举引导和二次引导等实现方法。 2 TMS320VC5509A的自举引导 2.1 TMS320
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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