APP下载

基于DSP的数字滤波器设计

2017-07-05孙越马琳玲

电子技术与软件工程 2017年12期
关键词:Matlab仿真

孙越++马琳玲

摘 要介绍了DSP滤波器的工作原理,讨论了DSP的硬件设计方法,并使用MATLAB进行仿真处理。介绍了在FIR與IIR之间的异同之处,简要较介绍了一般数字滤波器的设计步骤,阐述了在DSP设计滤波器时软件设计与其他工程中软件设计的相异之处。并介绍了一般数字滤波器中的性能测试程序。对基于FPGA(Field-programmable Gate Array)的DSP设计与传统DSP设计方法进行详细的比较分析。

【关键词】FIR数字滤波器 DSP MATLAB仿真

在信息处理技术快速发展的21世纪数字化时代,科技的发展越来越离不开数字信号处理技术,尤其是在电子、通信、自制这种高科技领域,数字信号处理水平决定了项目发展的高度。数字信号处理不存在漂移现象,所以相对与模拟滤波器而言,数字信号滤波器能更好的处理低频信号,并具有更理想的频率响应特性,更高的精度,且易于集成化处理。因此,数字滤波器在高科技领域的应用越来越普遍。

1 FIR与IIR数字滤波器介绍

数字滤波器的实现方法主要有IIR滤波器和FIR滤波器两种。

1.1 IIR数字滤波器

无限长冲激响应滤波器IIR,通过设计模拟滤波器的方法,优点是有良好的幅频特性,但是有非线性的相位。因此,为得到良好的相位特性,就必须在滤波器中加入移相器使纠正相位,此时得到的滤波器会比较复杂并且成本增加。

1.2 FIR数字滤波器

有限长冲激响应滤波器FIR,其组成由有限个采样器。相比于无限长冲激响应IIR,FIR既能保证其很好的幅频特性,又能具有良好的相频特性。在应用中的数据传输、语音通信等方面,一般会要求保证要有线性的相频特性,故在这些领域中FIR有着IIR无法替代的优势。所以在要求需要有线性相位的工程设计中,大多数都是使用有限长冲激响应滤波器。

令有限长冲激响应滤波器FIR单位冲激响应h(k),k为(0~(k-1)),而用r(k)表示滤波器在k时刻的输入,则k时刻的输出为:y(k)=y(k)=h(0)r(k)+h(1)r(k-1)+…+h(k-1)r[k-(k-1)]=k-1K=0Σh(k)r(k-k)(1)其对应的FIR滤波器的传递函数为:H(z)=k-1K=0Σh(k)z-k(2),由此,可以得出FIR滤波器的特点如下:

(1)滤波器的幅度可以根据需要进行设计,不会有很大的失真且具有严格的相位;

(2)不需要考虑稳定性的问题,因为FIR滤波器的冲激响应是有限长的;

(3)不会出现递归型结构中的极限振荡,由于FIR滤波器一般不会设计成递归型,因此,在有限运算下不会出现不稳定现象;

(4)FIR滤波器运算效率高,因为可以采用FFT算法实现。

2 FIR数字滤波器硬件设计

在实际应用中,如果系统中用到DSP技术,那么使用工作频率一般会比较高,因此在设计中会有很多地方不同于普通的数字电路,尤其注意PCB高频信号布线处理,了解DSP系统的高频特性,尤其要明白软硬件协同设计和信号的完整性的概念,然后要解决信号完整性问题,可使用EDA仿真软件CADEkCE仿真,测试并确定电路是否会受到布线影响。应先了解系统要求,明确系统功能参数,根据要求设计程序框图。

2.1 DSP芯片选择

确定DSP芯片要结合各种因素,满足系统实时性要求,明确处理精度,考虑预算。最初在选择时,要根据性能指标确定型号,并酌情留有冗余。例如,可以通过计算机上仿真,测试芯片是否满足实时性要求,可以计算出算法所需要多少DSP指令,然后在留有余量的情况下选出DSP芯片的具体型号。一般芯片性能越高,可满足的算法就会越复杂。

2.2 DSP芯片外围器件选择

DSP扩展电路主要有储存器,模数、数模转换以及接口芯片。模数采样芯片的选择要根据系统中主控芯片处理的模拟信号频带宽度,也要考虑到成本。AD采样需要服从Nyquist 采样定律。例如,一般通讯中带宽为25kHz,人的声音信号为2~20KHz,图像采集信号频率为8MHz,根据奈奎斯特采样定理,采样频率至少是其输入频率的两倍才能无失真的还原原始模拟信号。存储器应选择存取速率与所处理芯片吻合的型号,不然就不能充分利用DSP的高计算速度或者出现读取错误。

3 FIR数字滤波器软硬件设计

在以往的工程设计中,软件设计和硬件设计是相互独立的,只是在完成设计后留出所需的接口实现软硬件的联调。但是如今系统功能越来越复杂,并且软硬件之间的联系也越来越紧密,这种软件与硬件独立研发的工作模式已经很难满足如今系统的设计要求,所以就产生的软硬件合作设计模式。

3.1 软硬件设计介绍

软/硬件协同设计就是指在一次工程设计中,软件与硬件使用同一工具和统一的描述语言。目前这种设计模式在性能评估和协同验证方面应用较多,应用时,要保证仿真结果是对运行环境的真实模拟。

3.2 软硬件设计方法

DSP硬件系统设计的一般方法常用的软/硬件协同验证方法有三种:

(1)在C的基础上设计软硬件开发平台,然后利用此平台设计硬件电路和应用程序。

(2)通过硬件描述语言HDL搭建硬件电路模型,再通过HDL模拟器仿真的虚拟原型机的软/硬件协同验证。将编译完成的软件程序嵌入系统的逻辑寄存器中,然后由处理器DSP从寄存器中读取程序指令并运行程序,由此完成硬件与软件联合运行的功能验证;

(3)利用指令集仿真器(ISS)加总线功能模型(BFM)的方法。这种方法通过ISS来执行软件并且利用BFM来产生总线上的动作,其它硬件设备则根据总线的行为来完成自己的功能,从而验证整个系统的软/硬件工作是否正常。

4 设计性能测试

4.1 性能测试方法论证

设定好FIR滤波器参数后,将数据输入DSP中,但在DSP语言中不能识别十进制小数,因此需要加入数字转换模块把参数改成小数,然后就能在芯片中运行滤波器功能。数字滤波器的设计流程如下:

(1)根据设计要求,通过软件工具如MATLAB计算滤波器参数。

(2)分析所用DSP芯片的功能特点,对滤波器的性能进行综合考虑,对芯片难以实现的功能适当舍弃。

(3)初步设计完成,根据上文介绍,软硬件仿真。

(4)根据仿真结果对滤波器参数、结构再调整,使其满足要求。

(5)在DSP中运行程序。

4.2 结果测试

设计完成后,使用仿真软件CCS测试设计结果,例如,设计低通滤波器,需要检测输入波形低频部分是否通过,输入波形毛刺是否滤除。

5 总结

利用DSP设计FIR数字滤波器可实现有良好的线性相位,且可以在后期修改参数,改变少量程序代码就能实现不同的带宽的高、低通滤波,同时滤波效果可观,实用性强。通过软硬件结合的方式,可优化设计流程,节省设计时间。

参考文献

[1]梁光胜,胡红.DSP设计方法的研究[J].中国电力教育,2006(S1):176-179.

[2]刘万松.基于DSP的FIR数字滤波器的设计[D].贵州:贵州大学,2008.

[3]丛玉良等.数字信号处理原理及其MATLAB实现[M].北京:电子工业出版社,2004.

作者简介

孙越(1988-),女,江苏省南京市人。大学本科学历。毕业于南京东南大学。现为南京熊猫汉达科技有限公司助理工程师。主要研究方向为电子工程。

作者单位

南京熊猫汉达科技有限公司 江苏省南京市 210000

猜你喜欢

Matlab仿真
常规PID控制和常规模糊控制的比较
MATLAB仿真在《控制工程基础》教学中的应用