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

发布者:SereneGardener最新更新时间: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处理器设计
下一篇:基于DSP的直接转矩控制系统的设计与实现

推荐阅读最新更新时间:2024-08-23 12:12

混合有源电力滤波器的仿真研究
1 引言 电力 电子 产品广泛应用于工业控制领域,并且用户对电能质量要求越来越高,其中最为突出的是 电压 质量和谐波问题。因此,如何提高电压质量、治理谐波就成为输配电技术中最为迫切的问题之一。低成本的无源滤波器PF(Passive Filter)是目前普遍采用的补偿方法,但其滤波效果与系统运行参数密切相关,在特定情况下无源滤波器还可能与系统发生谐振。80年代以来,利用功率开关的有源电力滤波器APF(Active Power Filter)的研究越来越引起人们关注。APF是一种用于动态谐波抑制、无功补偿的新型电力电子装置,但是由于 电源 电压直接加在逆变桥上,其对开关器件电压等级要求较高;当负载谐波 电流
[电源管理]
混合有源电力滤波器的<font color='red'>仿真</font>研究
Altera 启动业界第一届5G算法创新大赛
5G大学竞赛依托备受瞩目的亚洲创新大赛,华为、英特尔、展讯等行业领导厂商齐力支持 2015年5月21日,西安 Altera公司 (NASDAQ: ALTR) 宣布启动第一届5G算法创新大赛。该大赛是业界首个面向未来无线通信最先进技术的大学竞赛。 第一届5G算法创新大赛,即2015年Altera亚洲创新大赛的5G专题竞赛,由Altera、西安电子科技大学、友晶科技主办,华为、英特尔、展讯等公司赞助,旨在增强学术界与领先的市场技术提供商之间的互动与交流,推动创新、培育人才,促进整个产业的发展。大赛面向全国大专院校硕士和博士研究生以及高年级本科生开放。参赛详情可登录http://www.innovateasia.com/5
[嵌入式]
虚拟仿真技术助力自动驾驶测试降本增效
虚拟仿真技术助力自动驾驶测试降本增效,加速智能汽车产业发展 多方跨界入局智能汽车,推动自动驾驶快速发展。纵观各大车企的推进节奏,宝马、特斯拉、大众、福特、一汽、上汽、蔚来等,均已计划自2021年开始布局L3及以上高阶自动驾驶,L3级自动驾驶升级的元年已经到来。 OEM、tier 1、测试测量公司等生态圈厂商布局逐渐完善,在EEVIA第九届年度中国电子ICT媒体论坛暨2021产业和技术展望研讨会上,NI资深汽车行业客户经理郭堉深入分析了自动驾驶测试的挑战,并解释了NI如何凭借多年在汽车测试领域的积累及“一个平台战略”构建自动驾驶测试闭环。 NI资深汽车行业客户经理郭堉 自动驾驶的发展趋势对测试提出的四大挑战
[汽车电子]
虚拟<font color='red'>仿真</font>技术助力自动驾驶测试降本增效
基于Proteus的LPC2106流水灯程序和仿真 测试成功
基于proteus的LPC2106流水灯程序,可以运行,良心程序.测试成功 仿真原理图如下: LPC2106流水灯源程序如下: /****************************************************************************** *File:Main.c *功能:LED闪烁控制。对发光二极管进行控制,采用软件延时方法 * 使用I/O口直接控制LED,采用灌电流方式 ******************************************************************************/ #include config.h #de
[单片机]
基于Proteus的LPC2106流水灯程序和<font color='red'>仿真</font> 测试成功
泛华恒兴推出多通道高速数据测试仿真平台
北京泛华恒兴科技有限公司(简称:泛华恒兴)近日推出的业内领先的多通道高速数据测试仿真平台,从工作模式和技术应用的角度,为数字信号处理带来了革命性的改变。 该平台专为从事数字信号信源、通信、信宿、处理等设备测试的工程师设计,可用于对高速、多通道数字信号仿真测试。根据客户定义,它既可接收并实时存储海量数字信号,也可为被测接收设备提供相应的海量数字信号激励。 多通道高速数据测试仿真平台利用数字信号储存并进行分析的方式,在数字信号处理及传输设备的设计、开发、生产阶段,代替了传统仪器(例如:示波器、逻辑分析仪等)需要观察波形改变来进行数据分析的工作方式,从根本上改变了传统数字信号处理的工作模式。 同时,它还具有业内首屈一指的测试
[嵌入式]
MEMS/NEMS表面3-D轮廓测量中基于模板的相位解包裹算法
在对微/纳机电系统(micro/nano electro me-chanical system, MEMS/NEMS)结构的特性参数进行测量和MEMS/NEMS可靠性进行测试的过程中,常要求对结构表面的三维轮廓、粗糙度、微小的位移和变形等物理量做精密测量 .目前显微干涉法凭借其高精度、高垂直分辨率、测量简单快捷、无损等优点,成为这类测量中最常用的手段之一 . 在使用相移显微干涉法对MEMS/NEMS结构表面进行测量时,先通过驱动电路驱动参考镜产生次波长量级的光程变化,即可由电荷耦合器件摄像机(CCD)和图像采集卡获得一组时间序列上的相关干涉图像,然后由干涉图的光强信息解算出被测表面的相位值,提取包裹的相位信息,最后通过一定的相位解包
[测试测量]
MEMS/NEMS表面3-D轮廓测量中基于模板的<font color='red'>相位</font>解包裹<font color='red'>算法</font>
SIGMA 1400 万像素的新型SD14数码相机将采用ADI BLACKFIN处理器
——Blackfin处理器将为从传感器到存储卡的图像流水线的每幅图像的每个像素进行200次计算 中国,北京—— 美国模拟器件公司(纽约证券交易所:ADI)今天宣布:Sigma公司SD14数码单镜反光(SLR)相机将采用ADI公司的 Blackfin处理器。SD14相机充分利用Foveon X3传感器独一无二的直接成像技术以及ADSP-BF561 Blackfin处理器的高性能,可以逐级重现高清晰度图像,因为SD14能够为图像中的每一个像素直接捕获100%红、绿、蓝 (RGB)三原色光,让原色彩无一遗漏全面显现。 “SD14相机通过捕获每个像素的真实色彩,可以告诉每幅图像的‘全部真相’,” Sigma公司首席运营官Kazuto
[焦点新闻]
小广播
最新应用文章

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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