一、引言
1807年,Fourier曾断言,任何一个周期为2的函数f(x)都是Fourier级数的和。绝大多数周期为2的连续函数满足Fourier的断言,但在1873年P.DuBois-Reymond构造了一个实变量x的2周期连续函数,它的Fourier级数在给定的点是发散的,这在当时的数学界引起了悍然大波,也引起了众多数学家的兴趣。在那时,数学界有三个未开发的领域:
(1) 修改函数的一般要求,并求得适合于Fourier级数的函数; (2) 修改Fourier级数收敛的定义;
(3) 求得另外的正交族,使得对于在三角族情形发生的P.DuBois-Reymond发散现象
在此时不至于发散。
这三个方向后来导致了重要的结果。其中,第三个方向导致了小波分析的产生。
自1986年以来,小波分析得到了迅速的发展,其应用也逐渐地变得越来越广泛,在某些领域中取得了一些超乎寻常的成果,特别是在噪声消除、特征信号的提取、图象处理等方面。 本文主要讨论小波分析在噪声消除方面的应用。 二、小波分析基础 1 Fourier变换
对于f(t)L空间的能量信号f(t),它的Fourier变换定义为:
F()f(t)eitdt (8-1)
F()的逆Fourier变换定义为:
f(t)F()eitd (8-2)
实际应用中,为了计算Fourier变换及其逆Fourier变换,需要用数值积分,取f(t)在R上的离散点值来计算这个积分。设f(t)由采样得到,采样间隔为t,f(nt),n0,1,,N1为采样值,对应的离散Fourier变换和逆Fourier变换为:
F()N1kNN1k0f(nt)einti2nkN (8-3)
f(n)F(k)e (8-4)
2 短时Fourier变换
短时Fourier变换即时间信号加窗后的Fourier变换,其定义为:
wbF()eitf(t)w(tb)dt (8-5)
其中,w(t)为一个窗口函数,窗口函数w(t)的中心t*与半径w分别定义为:
t*1w2tw(t)2dt (8-6)
W1w2(tt*)w(t)dt21/2 (8-7)
这时,wbF()给出了时间信号在时间窗:
[t*bw,t*bw] (8-8)
的局部信息。
3 小波分析
f(t) 1 g(t) 0 g(t-b0) t 图8.1 窗口Fourier变换 如果把短时Fourier变换中的窗口函数W,b(t)替代为a,b(t),其中:
a,b(t)a那么式(8-5)变为:
1/2tb (8-9) aWf(a,b)a该式即为小波变换定义式。
对应于(8-10)式,小波逆变换为:
1/2tbf(t)dt (8-10)
a1 f(t)C1tbWf(a,b)dbda (8-11) a2a比较式(8-5)与式(8-10),可以看到短时Fourier变换与小波变换之间的类似性,它
们都是函数f(t)与另一个具有两个指标函数族的内积。
对于(t)的一个典型的选择是:
(t)(1t2)exp(t2) (8-12)
2它是Gauss函数二阶导数,有时称这个函数为墨西哥帽函数,因为它象墨西哥帽的截面。墨西哥帽函数在时间与频率都有很好的局部化,函数图形如图8.2所示。
Ψ(t)
0 t
图8.2 墨西哥帽函数图形
短时Fourier变换与小波变换之间的不同,可由窗口函数的图形来说明,如图8.3所示。对于W,b,不管值的大小,具有同样的宽度。相比之下,a,b在高频(1/a相当于Fourier变换中的,a越大,频率越低)时很窄,低频时很宽的特性。因此,在很暂短的高频信号
上,小波变换能比窗口Fourier变换更好地进行“移近”观察。
a1a,b w(t) b0 0 x 0 t
Ψ(x) w,b 0 x
a,b 0 t
a1 b0 (a)
0 x
(b) 图8.3 (a)窗口Fourier变换函数W,b的形状 (b)小波a,b的形状
8.1.2 离散小波
m如果a,b都是离散值。这时,对于固定的伸缩步长a00,可选取aa0,mZ,
不失一般性,可假设a01或a01。在m0时,取固定的b0(b00)整数倍离散化b,选
mm取b0使(xnb0)覆盖整个实轴。选取aa0,其中m,n取遍整个整数域,而,bnb0a0a01,b00是固定的。于是,相应的离散小波函数族为:
m,n(t)am/20mxnb0a0m/2ma0a0xnb0 (8-13) ma0对应的离散小波变换系数为:
Cm,nf(t)0*m,n(t)dt
离散小波逆变换为:
f(t)CCm,nm,n(t)
其中,C为一常数。
8.1.3 小波级数
对应于Fourier级数的定义:
f(x)kF(kik0t )e0k0,1,, (8-14)
1其中,F(k0)TtTtf(x)eik0tdt。
同样可以定义小波级数:
f(x)j,kZZcj,kj,k(x)j,kZZdj,k~(x) (8-15) j,k~cj,kf,j,k其中,,称这两个无限级数为“小波级数”,并且是L2(R)收敛的。
dj,kf,j,k8.1.4 多分辨分析
1 多分辨分析的概念
如何由(x)L2(R)出发,使由k,n(x)张成L2(R)的闭子空间
VkclosL2(R)k,n(x):nZZ (8-16)
{(xn):nZZ}是V0的一个Riesz基,(x)称为尺度函数,这就是多分辨分析。
Vk,由于(x)V0V1,所以(x)可以用V1的基底设(x)生成一个多分辨分析1,n:nZZ表示。由于1,n:nZZ是V1的一个Riesz基,所以存在唯一l2序列pn,使
(x)npn(2xn) (8-17)
式(8-17)即为函数(x)的两尺度关系。系列pn称为两尺度序列。
对于模为1的复数z,引入如下记号
1 P(z)pnzn (8-18)
2n称为序列pn的符号。对式(8-17)两边作Fourier变换,则得到两尺度关系式
ˆ()P(z)ˆ(), zei/2 (8-19) 2同样地,由于(x)W0V1,所以存在唯一l2序列qn,使
(x)引入序列qn的符号
nqn(2xn) (8-20)
1 Q(z)qnzn (8-21)
2n对式(8-20)两边作Fourier变换,类似地得到
ˆ(),zei/2 (8-22) ˆ()Q(z) 22 分解算法与重构算法
由前所述可知,对于f(x)L(R)有唯一分解: f(x)2kgk(x)g1(x)g0(x)g1(x) (8-23)
其中,gk(x)Wk。令fk(x)Vk,则有:
fk(x)gk1(x)gk2(x) (8-24)
并且
fk(x)gk1(x)fk1(x) (8-25)
令
P(z)P(z)M(z) (8-26) Q(z)Q(z)在z1上,作函数
G(z)Q(z)P(z) , H(z) (8-27)
detM(z)detM(z)则
MT(z)1 (8-28) H(z)H(z)对于符号G(z),H(z)的序列{gn},{hn}l1,存在如下的分解关系式 (2xl)若令an1{g2nl(xn)h2nl(xn)},lZZ (8-29) 2nG(z)G(z)11gn,bnhn,则(8-29)式变成: 22n (2xl){al2n(xn)bl2n(xn)},l0,1,2, (8-30)
为计算方便及以免产生混淆,有:
fk(x)jck,j(2kxj) (8-31) dk,j(2kj) (8-32)
gk(x)j在ck,j,dk,j中,k代表分解的“水平”。
2对于每个f(x)L(R),固定NZZ,设fN是f在空间VN上的投影,有:
fNProjVNf (8-33) 可以把VN看作是“抽样空间”,而把fN看作f在VN上的“数据”(或者说测量采样值)。由于:
VN1WN1WN2WNMVNM (8-34) VNWN1所以,fN(x)有唯一分解
fN(x)gN1(x)gN2(x)gNMfNM (8-35)
对于固定的k,由{ck1,n}求{ck,n},{dk,n}的算法称为分解算法。应用分解关系式(8-30)有
fk1(x)llck1,l(2k1xl)
nck1,l[{al2n(2kxn)bl2n(2kxn)}]{al2nck1,l}(2kn){bl2nck1,l}(2kxn)nlnl分解fk1(x)fk(x)gk(x),得到:
{ck,nal2nck1,l}(2kn){dk,nbl2ndk1,l}(2kn)0
nlnl所以,由{k,n:nZZ},{ k,n:nZZ}的线性无关性以及VkWk{0},得到分解算法:
ck,nal2nck1,ll (8-36) dbck,nl2nk1,ll分解过程如图8.3所示。
cNdN1 dN2 dNM
cN1 cN2cNM
图8.3 分解过程
在实际计算中,假定取值点所对应的f(x)的水平为N,即
f(x)fN(x)
对于某个正数M(0MN),信号由N水平分解到NM水平,即已知{cN,n},求{dk,n},
kN1,,NM及{cNM,n}。
同样地,固定k,由{ck,n},{dk,n}求{ck1,n}的算法称为重构算法。应用两尺度关系有
fk(x)gk(x)ck,l(2kxl)dk,l(2kxl)llck,lpn(2k1x2ln)dk,lqn(2k1x2ln)lln(ck,lpn2ldk,lqn2l)(2nnllk1nxn)
{(pn2lck,lqn2ldk,l)}(2k1xn)因为fk(x)gk(x)fk1(x),有fk1ck1(2k1xn)及{k1,n:nZZ}的线性无关性,得
n到重构算法:
ck1,n(pn2lck,lqn2ldk,l) (8-37)
l重构过程如图8.4所示。
dN1 dN2 dNM
cNcN1 cN2cNM
图8.4 重构过程
三、Matlab工具箱中小波分析函数
在一维信号的分析中,Matlab工具箱提供了许多小波分析功能函数。
四、基于小波分析的虚拟消噪仪
在信号的采集、传输与处理过程中,由于外界或电路内部因素干扰,使得信号被噪声污染,所处理的信号中夹杂着一些无用的噪声信号,通过各类电路或算法将噪声从所处理的信号中消除,称为信号的消噪,应用小波进行信号消噪处理是小波分析的一个重要应用之一。
4.1小波消噪原理
小波变换在信号消噪中的思想同傅立叶变换滤波思想相似,只不过傅立叶变换的数字滤波是等步长频谱滤波,而小波变换消噪则是二等分频谱滤波,只有进行小波包分解才能实现等步长频谱滤波。由于变换的基波不一样,经典的滤波效果和小波消噪的效果也不一样,在小波消噪处理中,选用的小波不同,消噪效果也不一样。
应用小波分析进行消噪主要涉及到小波的分解与重构,下面以一维信号为例来介绍小波消噪的原理。
含有噪声的一维信号可以表示成如下的形式:
s(i)f(i)e(i) ,i0,1,2,,n1
其中f(i)为真实信号;e(i)为高斯白噪声,噪声级为1;s(i)为含噪声的信号。
对信号s(i)进行消噪的目的就是要抑制信号中的噪声部分,从而在s(i)中恢复出真实信号f(i)。在实际工程中,有用信号通常表现为低频信号或是一些比较平稳的信号,而噪声信号则通常表现为高频信号。一般来说,一维信号的消噪算法可以分为三个步骤进行: 1) 对信号进行小波分解
选择一个小波并确定一个小波分解的层次N,然后对信号s进行N层小波分解。分解过程如图8.9a,图8.9b是对应于图8.9a的频谱图,分解算法见式8-36。 2)小波分解高频系数的阈值量化
对第一层到第N层的每一层高频系数选择一个阈值进行软阈值量化处理。噪声部分通常包含在CD1,CD2,CD3中,因而,可以以门限阈值等形式对小波系数进行处理,也就是令CD1,CD2,CD3部分的为零,或者适当地减小。 3)对信号进行重构
根据小波分解的第N层的低频系数和经过量化处理后的第一层到第N层的高频系数,小波系数进行处理完毕后,进行一维信号小波的重构,即可以达到消噪的目的,如图8.4所示。重构算法见公式8-37。
S CA1 CD1 CA2 CD2 CA3 CD3 (a) CA1 CA2 CA3 CD3 8CD2 4CD1 2 ω(b)
图8.9 小波消噪原理的分解示意图
在这三个步骤中,最关键的一步就是如何选取阈值和如何进行阈值的量化,从某种程度上来说,它直接关系到信号消噪的质量。
在这三个步骤中,最关键的一步就是如何选取阈值和如何进行阈值的量化,从某种程度上来说,它直接关系到信号消噪的质量。
8.3.2 虚拟小波消噪仪设计
虚拟小波消噪仪的设计包括仪器前面板设计、与Matlab接口设计及数据流程设计三部分的内容的设计。
1 虚拟小波消噪仪原理
虚拟小波消噪仪的设计思路为LabVIEW通过数据采集或仿真生成含有噪声的信号,通过仪器前面板设置消噪处理的参数,将参数通过LabVIEW与Matlab接口传递给Matlab相应的功能函数,完成信号分析与处理功能,最后将处理结果回传给LabVIEW进行显示,虚拟小波消噪仪的原理框图如图8.10所示。
传递参数 传递参数 LabVIEW LabVIEW Matlab系
接口 计算后参数 统 传递参数包括数组, 回传参数 与 matlab 相关参数 函数、功能
图8.10 虚拟小波消噪仪的原理框图
2 虚拟小波消噪仪设计要求与功能
设计如图8.11所示的仪器前面板,点击“信号频率”按钮,选择仿真正弦信号的频率;点击“采样频率”按钮,选择仿真正弦信号的采样频率;点击“消噪层数”按钮,选择小波消噪的层数;“含噪声波形”显示屏中显示含白噪声的正弦信号;点击“动态波形”按钮,动态显示波形。
程序运行后,调用Matlab工具箱中小波消噪函数WDEN()对含白噪声的正弦信号进
行消噪处理,并将消噪后的正弦信号在“消噪后波形”显示屏中显示出来。
图8.11 虚拟小波消噪仪的仪器面板
图8.12 仪器面板及控件
5 运行虚拟仪器
运行虚拟仪器VI文件,运行结果如图8.14所示。
图8.14 运行结果
因篇幅问题不能全部显示,请点此查看更多更全内容