APP下载

基于DSP的典型数字滤波器的设计

2020-08-11覃宁

中国电气工程学报 2020年4期
关键词:数字信号滤波器

覃宁

摘要:近年来,经济的发展,促进我国科技水平的提升。科技的发展越来越离不开数字信号处理技术,尤其是在电子、通信、自制这种高科技领域,数字信号处理水平决定了项目发展的高度。数字信号处理不存在漂移现象,所以相对与模拟滤波器而言,数字信号滤波器能更好的处理低频信号,并具有更理想的频率响应特性,更高的精度,且易于集成化处理。因此,数字滤波器在高科技领域的应用越来越普遍。本文就基于DSP的典型数字滤波器的设计展开探讨。

关键词:数字信号;滤波器;DSP

引言

相比于传统的模拟滤波器,数字滤波器没有模拟器件的温度和电压漂移,性能更加可靠且能够达到很高的精度,同时滤波器参数容易修改。由于数字器件的规范性,数字滤波器能够进行大规模的集成,通过DSP数字处理芯片可以实现并行操作处理。

1数字滤波器的主要定义

数字滤波器是与模拟滤波器相对应的,我们在常用的离散系统中,使用数字滤波器。它的主要作用是利用離散时间系统的特性,在这里时间就是一个变量,然后在对外部输入的信号,进行处理,这里的输入信号一般都是广义上的波形型号,信号可以是电压、电流、功率等。当然也有类似于频率等这种。在实际的操作中,我们也可以把输入的信号波形变成输出,也就是将输入和输出倒置。从而实现我们将信号的频谱修改的目的

2数字滤波器的设计方法

2.1DSP系统

DSP信号处理流程如下,首先将样本输入,经过抗混叠滤波、A/D转换、DSP芯片、D/A转换、平滑滤波后,将计算结果输出。在信号处理过程中,大部分为模拟信号,但DSP只对数字信息进行接收,因此先要将模拟信号利用A/D转变为数字信号,在实际应用中,对FTT变化、相对卷积进行处理,再对数字信号进行转化后,使其成为模拟采样值,最终将不平滑的滤波输入到滤波器中,经过处理后获得连续信号。对于DSP系统来说,在信号处理理论的引导下,具有数字信号的特点,主要体现在两个方面,一是与之兼容的接口较多,且均具有数字化特点,便于与其他接口相连;二是由于DSP芯片中,系统可根据实际操作,由工作者进行编程后改变,具有较强灵活性,可重复操作;三是运行速度较快,可达10GMIPS,甚至更多。

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

(一)软硬件设计介绍。软/硬件协同设计就是指在一次工程设计中,软件与硬件使用同一工具和统一的描述语言。目前这种设计模式在性能评估和协同验证方面应用较多,应用时,要保证仿真结果是对运行环境的真实模拟。(二)软硬件设计方法。DSP硬件系统设计的一般方法常用的软/硬件协同验证方法有三种:(1)在C的基础上设计软硬件开发平台,然后利用此平台设计硬件电路和应用程序。(2)通过硬件描述语言HDL搭建硬件电路模型,再通过HDL模拟器仿真的虚拟原型机的软/硬件协同验证。将编译完成的软件程序嵌入系统的逻辑寄存器中,然后由处理器DSP从寄存器中读取程序指令并运行程序,由此完成硬件与软件联合运行的功能验证;(3)利用指令集仿真器(ISS)加总线功能模型(BFM)的方法。这种方法通过ISS来执行软件并且利用BFM来产生总线上的动作,其它硬件设备则根据总线的行为来完成自己的功能,从而验证整个系统的软/硬件工作是否正常。

2.3数字滤波器常用的算法

我们数字滤波器迄今为止已经有不下几十种滤波的算法。但是我们常使用的滤波算法,也就是最多五来种,这十几种算法已经在我们日常的算法中充当了主力军。本文主要对十种算法进行一个简单的列出。在排在前五种算法中,最常用的是限幅滤波法,我们在收到输入输出波形时候,是不规则的,我们会在滤波器中进行一个模拟上下限值,其中高于上限的数值以及低于下限的数值我们主动过滤。该算法其实是非全数学算法。中位值过滤法是实际上是由中间值替代一个邻域中各点值的中值代替,这种方法比较适应于曲线拟合以及曲线描绘的方式。这种过滤对脉冲噪声有良好的滤除作用,特别是有一个优势的地方就是在滤除噪声的基础上,还可以比较完整的保存信号的边缘。算术平均滤波法是数字滤波通过数学计算,并且求平均值的一种最简单的一种,这个方法就是将信号进行多次采样,然后将输出的数字量信号进行平均计算,作为某一时刻的平均值,具体采样的次数主要根据不同的情况进行界定。这种算法主要是对于多频次有规律的的信号干扰以及偶发性的信号干扰有明显的作用。 递推平均滤波法主要应用在一些特殊的场景,例如,在一些项目与联络问题中都需要对信号的矩阵进行特征性向量的数值,我们一般如何快速并且准确的计算出特性向量那就是整个项目实际问题得到解决的关键因素。现在我们求解特性向量的办法比较多,但是大部分需要进行一个海量的计算,计算比较大就直接影响工作效率以及计算的准确度,现在是我们实际的方法一般都是讲特性的向量做出一个直接预估,也有一部分计算是将特征向量延伸出来一套子空间的计算进行一个预估,这种做法是很难将信号进行处理的,一般历史信号还比较好,但是实时数据的信号一般很难进行实时处理。现在对于计算复杂度比较高的特性向量做主直接的递推预估也是不常见的方式。一阶低通滤波法,它的主要的特性我们一般使用一个一元微分的方程进行示意。一般情况下,线性的连续的系统特征除了可以在时间域下面进行微积分方程外,还有冲击响应的表的表示,还有就是通过将时间变为频率为自变量的一种算法表示,这个叫做响应的频率。这种方式是时间倒数的表示方式。我们可以证明出来系统的频率响应其实就是冲击响应的一种算法。现在算法一般公式表示为傅里叶变换。

3实现方案

在滤波器计算时,应对输入信号、滤波系数卷积进行计算,假设x(n)代表的是输入信号;h(n)代表的是滤波器冲击响应。在数字信号处理中,由于卷积属于应用较为频繁的算法,在全部DSP芯片中均设置了专门的卷积运算。在本文研究的系统中,可采用macd指令完成卷积,该指令的形式为:macd(Smem,pmad,src)。在该指令中,由于存储器地址为Smem,具有寻址作用,但Pmad单纯具备存储地址。因此,在指令实施之前,先要将pmad中的地址传输到寄存器中,再用Smem对内容进行识别,最终将全部内容相加,所得到的结果传输到累加器中。在实际运行过程中,首先将累加器中的数据复制出来,传送到后续地址、寄存器中,如若只是单纯对命令进行复制,便可将寄存器持续加1,使读取程序反复循环三个周期;如若数据非循环,只需一个周期即可,数据移动之后,卷积所需的计算便已完成,对DSP芯片进行编程,便可使滤波器的功能充分实现。在系统芯片中,设置2个McBSP,该硬件部分是在标准串行口基础上,引脚连接界面,拥有双倍和三倍发送缓冲存储器,可独立收发时钟信号。在工作原理方面,发送时数据传入寄存器中,再发送时钟与帧同步情况下,通过寄存器将数据发送到引脚;在数据接收过程中,在FSR控制之下,将接收引脚的数据传输到寄存器中,并在接收缓冲寄存器中存储,再复制到DRR中,最终由CPU或者DMA控制器读取。通过对串行接口位置控制寄存器。在采样频率方面,可通过模拟电路的确定采样频率,在芯片方面集成16位ADC/DAC,编程设置传输与转换周期,最高转换频率为22.05KHz,在采样频率确定的情况下,对控制寄存器进行设定。

结语

数字滤波器是一个针对不同应用场景,选定不同方式以及算法的复杂的工程,在实际的应用中有多变的外部因素在影响,具体使用还应结合实际情况进行项目的开发与算法的开发。

参考文献

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

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

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

猜你喜欢

数字信号滤波器
浅谈有源滤波器分析及仿真
CIC插值滤波器的研究
可见光通信及其关键技术研究
蛙泳动作教学中巧用数字信号研究
FIR滤波器线性相位特性的研究
浅谈传感器的应用及发展
FFT、PFT和多相位DFT滤波器组瞬态响应的比较