基于DSP的测量数据预处理

时间:2022-10-05 02:22:45

【摘要】2.1 基于DSP的FIR滤波器原理分析 2.1.1 FIR滤波器的基本结构和特点 有限冲激响应FIR滤波器的基本结构是一个分节的延时线,把每一节的输出加权累加,得到滤波器的输出。数学上表示为...

基于DSP的测量数据预处理

【摘要】本次设计的是通过DSP来实现滤波功能的FIR滤波器。FIR滤波器的实现可以有窗函数设计法,频率抽样设计法,等波纹逼近计算机辅助设计法等方法。本次设计采用窗函数法设计,这种设计的方法原理是单位脉冲响应序列hd(n)与窗函数w(n)的卷积和。抓住这个原理用软件语言在CCS5000上实现了滤波功能。

【关键词】DSP;FIR滤波器;数据测量;CCS

1.引言

DSP是一门涉及许多学科而又广泛应用于许多领域的新兴学科。数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。本次设计的是通过DSP来实现滤波功能的FIR滤波器。采用窗函数设计方法并用C语言在CCS5000上实现滤波功能。

2.原理分析与DSP系统特点

2.1 基于dsp的FIR滤波器原理分析

2.1.1 FIR滤波器的基本结构和特点

有限冲激响应FIR滤波器的基本结构是一个分节的延时线,把每一节的输出加权累加,得到滤波器的输出。数学上表示为:

对(1)式进行Z变换,整理后可得出FIR滤波器的传递函数为:

由(2)式可知FIR滤波器的一般结构如图1所示。

图1 FIR数字滤波器直接实现形式

2.1.2 FIR滤波器的DSP实现

DSP系统的开发是一个复杂的过程,在系统的设计和调试中不但需要数字信号处理方面的理论知识,而且还有需要对各种DSP芯片、硬件电路以及DSP开发工具等都有丰富的实际开发经验。图2为FIR滤波器DSP实现的电路方框图

图2 FIR滤波器DSP实现的电路框图

DSP系统的输入信号多种多样,但一般都要转换为模拟信号,经过抗混叠滤波后由模数转换芯片将模拟信号变换为数字信号。然后,DSP根据实际需要对其进行相应的处理,如FFT、卷积等;处理后的数字信号再由数模转换芯片将其转换为模拟值,在对其进行平滑滤波后最终输出模拟信号。需要说明的是,对输入模拟信号的采样频率要大于其本身频率的两倍,因为根据奈奎斯特采样定律,只有采样频率至少为输入信号频率的两倍时输入信号的信息才保证不会丢失。

2.2 DSP系统特点

DSP系统是以数字信号处理为基础的,因此不但具有数字处理的全部优点而且还具有以下特点:

(1)接口方便:DSP应用系统与其他以现代数字技术为基础的系统或设备都是相互兼容的,它与这样的系统接口以实现某种功能要比模拟系统与这些系统接口要容易得多;

(2)编程方便:DSP应用系统中的可编程DSP芯片可使设计人员在开发过程中能灵活方便地对软件进行修改和升级;

(3)稳定性好:DSP应用系统以数字处理为基础,受环境温度及噪声的影响较小、可靠性高;

(4)精度高:16位数字系统可以达到10-5级的精度;

(5)可重复性好:模拟系统的性能受元器件参数性能变化的影响比较大,而数字系统基本不受影响,因此数字系统便于测试、调试和大规模生产;

(6)集成方便:DSP应用系统中的数字部件有高度的规范性,便于大规模集成。

3.数字滤波器的设计方法与选择

3.1 数字滤波器的设计方法

数字滤波器有多种设计方法,如双线性变换法、窗函数设计法、插值逼近法和Chebyshev逼近法等等,但是通常采用窗函数法设计。窗函数法设计FIR滤波器的基本思想是:根据给定的滤波器技术指标选择滤波器长度N和窗函数ω(n),使其具有最窄宽度的主瓣和最小的旁瓣,其核心是从给定的频率特性,通过加窗确定有限长单位脉冲响应序列h(n)。

目前FIR滤波器的实现方法大致可分为三种:利用单片通用数字滤波器集成电路、DSP器件和可编程逻辑器件实现。单片通用数字滤波器使用方便,但由于字长和阶数的规格较少,不能完全满足实际需要,使用以串行运算为主导的通用DSP芯实现要简单,是一种实时、快速、特别适合于实现各种数字信号处理运算的微处理器,借助于通用数字计算机按滤波器的设计算法编出程序进行数字滤波计算。

3.2 窗函数的设计

根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度N。待求滤波器的过度带宽度近似等于窗函数主瓣宽度。且近似于窗口长度N成反比,,A取决于窗口类型。

(1)首先是给定所要求的频率响应函数。

(2)其次求。

(3)再次,有过渡带宽及阻带最小衰减的要求,利用表可选定窗w(n)的形状及N的大小,一般N要通过几次试探而最后确定。

(4)求得所设计的FIR滤波器的单位抽样响应。

(5)求,检查是否满足设计要求,如不满足,则需重新设计。

4.设计过程及结果

4.1 选择窗函数

假设数组和xmid长度均为51,fs=181K为采样频率,fstop=10K为滤波器截止频率。可以通过公式来反求A其中近似和fstop/fs相等。由此可以求得A值,从而确认选择矩形窗。

4.2 确定混叠信号

(1)正确连线,上电。

(2)把模数转换单元的拨动开关的1和5置为“on”,其余为OFF”。

(3)用示波器分别观测信号源单元的S1和S2输出的模拟信号,分别调节信号波形选择、信号频率、信号输出幅值等旋钮,直到满意为止;

采用两路正弦波信号的混叠信号作为输入信号;

低频正弦波信号:峰峰值11V,频率

高频正弦波信号:峰峰值5V,频率>40KHz。

(4)设置模数转换单元的拨动开关,1、5、6置“ON”,其它置“OFF”,即采样频率选择181KHz,两路信号混叠输入,可在“SC”点用示波器观察混叠信号。图3为混叠后的信号。

图3 混叠后的信号

4.3 软件编写

噪声函数的产生程序如下:

# include “stdio.h”

# include “stdlib.h”

# include “time.h” /*需引用的头文件*/

srand((unsigned)time(NULL)); /*随机种子*/

a[i]=rand()%(Y-X+1)+X; /*a[i]为X~Y之间的随机数*/

这段程序应用于程序中产生噪声函数。

计算\* MERGEFORMAT的程序如下:

void firdes(int m, double npass)

{

int t;

for (t=0; t

h[t] = sin((t-m/2.0)*npass*pi)/(pi*(t-m/2.0));

if (t=m/2) h[t]=npass;

}

该段程序实现了256个单位脉冲冲击响应h(t)的值。

计算h(n)的程序如下:

for (j=0; j

{ r=xmid[j] * h[j];

rm=rm + r;

}

y = rm;

py = (int*)(0x3100+i);

ym = (int) y;

*py = ym;

该程序实现了卷积和的计算,把结果存到py所指向的地址里。

创造窗函数的程序如下:

for (p=0; p

{

xmid[m-p] = xmid[m-p-1];

}

xmid[0] = x;

该段程序表明了是个矩形窗函数。

InitC5402(); /* initialize C5402 DSP */

READAD7822();

这两段只是做了DSP的初始化。

图4 主程序框图

4.4 本设计结果

本文通过在CCS下所显示的滤波前与滤波后信号的时域和频域波形图可以看出:经过截至频率10K的FIR滤波器后,基本上达到滤波效果。

下图为含噪声与不含噪声的效果图:

图5 不含噪声的效果

图6 含噪声的效果图

5.结束语

在DSP平台上并依据窗函数法实现了FIR低通数字滤波器。采用C语言对软件进行编写,实现了算法的可移植性强。在实际应用中按照需求修改各个参数,对程序稍作修改即可实现不同截止频率的FIR滤波器,有很强的实用性。

参考文献

[1]高西全,丁玉美.数字信号处理[M](第三版).西安电子科技大学出版社,2008,5.

[2]吴晓光,徐精彩,李树刚.李华.基于MATLAB实验数据的几种处理方法[J].自动化技术与应用,2005,24:1.

[3]伍小芹,王萍,易家傅.基于DSP-TMS320C5402的FIR数字滤波器设计及实现[J].海南大学学报,2007,25:4.

[4]赵红怡.DSP技术[M].电子工业出版社(第二版),2007:10.

[5]赵红怡,张常年.数字信号处理及其MATLAB实现[M].化学工业出版社,2002.

[6]高西全,丁玉美.数字信号处理学习指导[M].西安电子科技大学出版社(第二版),2001.

[7]TMS320C54x User’s Guide.Texas Instruments Incorporated.1999.

[8]Pavel Zahradnik,Miroslav Vicek.Analytical Design Method for Optimal Equiripple Comb FIR Filters.IEEE Transactions on Circuits and Systems-Ⅱ:Express Briefs,2000,52(2).

作者简介:赵维毅(1988—),女,河南洛阳人,成都理工大学核技术与自动化学院在读研究生,主要研究方向:智能仪器。

上一篇:基于回调机制的异步日志服务的开发 下一篇:FPGA跨时钟域亚稳态研究