西安交通大学学报
第38卷 第3期
2004年3月
西 安 交 通 大 学 学 报
JOURNAL OF XI′AN J IAO TON G UN IV ERSIT Y
Vol. 38 №3
Mar. 2004
二代小波消噪在数字信号处理器中的实时实现
盖广洪,屈梁生,李崇晟
(西安交通大学机械工程学院, 710049 ,西安)
摘要:以数字信号处理器(DSP)为开发平台,提出了基于二代小波的一种新的信号消噪算法.它只需把信号
分解一层,然后把分解后的高频系数和低频系数同时进行软阈值量化处理,再进行小波重构,就可以有效地
消除信号中的噪声.相对于传统的一代小波,该算法计算简单,可有效节约内存,因此非常适合于DSP的实
时实现.同时,为了提高计算效率,对程序的处理流程进行了并行优化,用仿真信号对该算法进行了验证,并
应用于对实测信号的消噪中.研究结果表明,该算法可以有效地提高信噪比,降低原始信号中所含有的噪声.
关键词:二代小波;信号消噪;数字信号处理器;实时实现
中图分类号: TN911. 7 文献标识码: A 文章编号: 0253 - 987X(2004)03 - 0278 - 04
Real2Time Implementation of Signal Denoising Based on Second Generation
Wavelet Using Digital Signal Processors Chip
GaiGuanghong,Q uL iangsheng,L iChongsheng
(School of Mechanical Engineering , Xi′an Jiaotong University , Xi′an 710049 , China)
Abstract:A novel 1D signals denoising met hod based on t he secondgeneration wavelet waspresented in digital
signalprocessors(DSP)chip . The signals are only decomposed into one multiresolution level ,and t hen t he detail
coefficient s and t he approximation coefficient s are modified via soft t hresholding and inversely synt hesized. The
advantages of t he met hod are lower computational complexity and reduced memory requirement ,so it is suitable
to t he real2time implementation using DSP chip . Moreover , in order to reduce t he execution time ,t heprogram
st ruct ure was optimized byparallel operations. The implementation was verified by t he simulation signals. Ap2
plied to measured signals f rom laboratory it can reduce t he white noise f rom signals effectively. Result s obtained
show t hat t his met hod is a feasible DSP solution.
Keywords:secon dgenerationw avelet;signaldenoisi ng;digit alsignalp rocessors;real2ti mei mplement ation
在测试信号的过程中,由于各种干扰因素的影
响,因此在采样信号中不可避免地存在着噪声,如何
减小噪声,在信号处理领域中已成为主要问题之一.
在过去的小波变换消噪中,大部分采用的是传统的
一代小波,本文提出了一种新的消噪算法,即基于二
代小波[ 1 ](提升模型)来减小信号中的噪声.该算法
只需把信号分解一层,然后把分解后的高频和低频
系数同时进行软阈值量化处理,再进行小波重构,就
可以有效地消除信号中的噪声.算法的实现在数字
信号处理器(DSP)芯片中完成,选择美国Texas In2
st rument s(TI)公司的新一代浮点型DSP器件
TMS320C6711 ,整个系统的实现由A/ D转换模块,
时序控制电路,DSP信号处理模块和上位机的通信
模块等组成.本文重点讨论DSP信号处理模块算法
的实现.
1 二代小波的基本原理及其优点
Sweldens提出了一种新的构造小波的方法―――
提升模型,被称为二代小波.由提升算法构成的二代
小波变换分为3个步骤:分裂,预测和更新,具体内
收稿日期: 2003 - 04 - 24. 作者简介:盖广洪(1973~),男,博士生;屈梁生(联系人),男,教授,博士生导师,中国工程院院
士.
1995-2004 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
容如下所述.
(1)分裂:将原始信号xn分裂为2个互不相交
的子集,通常的做法是将一个数列分为偶数序列xe
和奇数序列xo,即
xe[n]=x[2n] ,xo[n]=x[2n+1](1)
(2)预测:用预测算子P产生小波系数d[n] ,即
为用xe[n]去预测xo[n]产生的误差,其表达式为
d[n]=xo[n]-P(xe[n])(2)
(3)更新:通过算子U产生一个更好的子数据
集c[n] ,使之保持原有数据集xe[n]的一些特性.
更新过程的表达式为
c[n]=xe[n]+u(d[n])(3)
重构公式和分解公式基本相同,区别仅在于把计算
次序颠倒,同时把公式内正号变为负号,负号变为正
号.图1为二代小波分解与重构的示意图,二代小波
具有的优点有以下几个方面:
(1)由二代小波的结构分解可知,它可进行同址
运算,在当前位置即可完成小波变换,因此有效降低
了对内存的需求量,便于在DSP芯片上实现,如图2
所示,二代小波对内存的占有量只是传统一代小波
的一半;
(2)不依赖傅里叶变换,直接在时域内完成小波
构造;
(3)算法简单,适合并行处理.
图1 二代小波分解与重构示意图
(a)Mallat算法 (b)Sweldens算法
图2 2种算法对内存需求的比较
2 消噪算法在DSP中的实现
2.1 小波变换
2. 1. 1 小波基的选取 考虑到实时性及其消噪的
需要,选用2阶Db(Daubechies)小波,因为其滤波器
长度较小,所以运算量有很大地降低.在一般情况
下, 2阶Db小波可以满足我们对信号消噪的要求.
如果原始信号消噪需要更高阶的原点矩,则应相应
地增加Db小波的阶数,但这样会增加运算量,所以
还要考虑系统实时性的要求.
Daubechies和Sweldens证明了任意有限长滤波
器的离散小波变换,都可以通过对它的多相矩阵进
行因式分解,把它化为有限的提升步骤来解决[ 2 ].
对2阶Db小波进行分析,采用多相矩阵进行因式
分解得到
P(z)=
31/2-1
21/20
0
31/2+1
21/2
1-z
01
10
-31/2
4
-
31/2-2
4
z-11
131/2
01
(4)
在内嵌式测试系统的开发中,系统应能够实时
相应任务的要求,同时系统在满足性能的情况下,应
尽量减少硬件的使用.这样,不仅可以使系统更加紧
凑,减小体积,而且节约了硬件开支,降低了系统的
成本.
DSP器件的运算处理能力非常强大,C6711可
以在150 M Hz的主频下工作,再加上强大的优化工
具的支持,因此能够充分发挥DSP器件的并行操
作.但是,这些优势是建立在所有操作均使用片内存
储器基础之上的,实践证明,访问片内扩展存储器的
速度要明显小于访问片外存储器的速度,其速度的
时间比大约为1:20.因此,在选用算法时,应考虑到
以上因素的影响.本文在消噪算法的实现上选用了
二代小波.由于C6711的内部随机存储器(RAM)只
有64 kB字节,如果选用一代小波的Mallat进行消
噪处理,数据类型为浮点型,在不增加外部RAM的
情况下,运算的数据量最大只能到4 000个点.选用
二代小波消噪时,则可以把运算的数据量增加到8
000个点,因此有效地降低了对RAM的需求.
2. 1. 2 流程处理的优化[ 3 ] 为了使系统满足实时
性的要求,我们对程序的流程进行了优化,设计了一
种数据搬移和小波分解的并行处理方式.假定一次
处理的数据量为2 000个点,数据的类型为浮点型,
首先在片内RAM中预留32 kB的空间作为数据缓
冲区,并采用DMA通道来实现数据的搬运.在
C6711中有16个EDMA通道,当搬运大量数据时,
使用DMA通道比直接读写省时得多(访问速度的
972 第3期 盖广洪,等:二代小波消噪在数字信号处理器中的实时实现
1995-2004 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
时间比大约为1:10),而且使用DMA方式搬运数据
不占系统时钟,即在数据搬移的过程中, CPU可以
继续运行自己的指令而不受影响.
将32 kB的数据缓冲区分为2个部分,每个为
16 kB ,分别记为缓冲0和缓冲1 ,A/ D转换后的数
据被依次搬进2个缓冲区,其流程处理的结构如图
3所示.在向缓冲1搬移数据的同时,可以对缓冲0
中的数据进行小波分解运算;缓冲0的计算结果搬
到片外的同时,开始处理缓冲1中的数据,并在缓冲
0中的计算结果搬出结束后,将下一块数据向缓冲0
搬移,依此,只要安排合理,精确控制时间就可以实
现数据搬移和小波运算的并行操作,有效地缩短处
理时间.
图3 实现数据搬移和小波运算并行的流程处理结构
2.2 消噪中的系数域值量化
在实际工程应用中,有用的信号一般为低频信
号,而噪声则为高频信号,小波对信号x[n]消噪的
目的就是抑制信号中的噪声成分,从而在x中恢复
出真实信号.
传统一代小波的消噪过程为:首先把信号分解
到N层;其次对小波分解高频系数的阈值进行量化
处理;最后是根据小波分解的第N层的低频系数和
经过量化处理后的第1层到第N层的高频系数,进
行信号的小波重构.一般情况下,采样信号的点数越
多,需要分解的层数就越多,只有这样才能更好地降
噪.在实际实现时,2 000点需要分解到4层,降噪效
果才比较好,但需要分解的层数越多,计算量就越大.
本文提出了一种基于二代小波的软域值[4]消噪
算法.假设原始信号中已含有加性白噪声,用前面介
绍的2阶Db小波对信号进行分解,首先把原始信号
分解一层,然后用软域值消噪.软域值的表达式为
sτ(n)=g(s(n) ) (|s(n)|-τ)+=
0, |s(n)|≤τ
s(n)-τ,
s(n)+τ,s(n)
立刻下载此文档