ICA算法

2024-07-05

ICA算法(共5篇)

ICA算法 篇1

0引言

盲信号处理(BSP)是目前信号处理中最热门的学科之一,它具有可靠的理论基础和许多方面的应用潜力。事实上,BSP已成为重要的研究课题,并在许多领域得到发展。多源混合信号的盲分离技术在通讯、语音信号处理、生物医学信号处理、阵列信号处理以及通用信号分析等方面有着非常重要的应用价值。独立分量分析(Independent Component-Analysis,简称ICA)是近年来由盲信源分解技术发展而来的多道信号处理办法。通过假定传感器阵列所采集到的信号是多个具有统计独立性的内在信源信号的线性叠加, 再采用某种特定的优化准则将所谓的独立分量一一分解出来。该方法的基本思路是以非高斯信号为研究对象,在独立性假设的前提下,对多路观测信号进行盲源分离。在满足一定的条件下,能够从多路观测信号中,较好地分离出隐含的独立源信号。盲信号分离可以用于对二维数据,如图像的处理。在图像恢复和重构问题中,主要任务就是从被污染的图像中恢复出原本的面目。有各种可能造成图像的污染,如相机抖动、镜头变换、传输噪声叠加等,这些因素都是未知的。本研究在仿真试验中,用ICA成功分离出原始图像。

1 ICA基本原理

独立分量分析旨在对独立信源产生且经过未知混合的观测信号进行盲分离,从而重现原独立信源,其应用主要集中在盲源分离和特征提取两方面。ICA问题可简单描述为:

设有N个未知的源信号Si(t),i=1,…,N构成一个列向量S(t)=[S1(t),…,SN(t)]T,其中,t是离散时刻,取值为0,1,2,…。设A是一个M×N维矩阵,一般称为混合矩阵(mixing matrix)。设X(t)=[X1(t),…,XM(t)]T是由M个可观察信号Xi(t),i=1,…,M,构成的列向量,且满足下列方程:

X(t)=AS(t),M≥N (1)

BSS的问题是,对任意t,根据已知的X(t)在A未知的条件下求未知的S(t)。这构成一个无噪声的盲分离问题。设N(t)=[N1(t),…,NM(t)]T是由M个白色、高斯、统计独立噪声信号Ni(t)构成的列向量,且X(t)满足下列方程:

X(t)=AS(t)+N(t),M≥N (2)

则由已知的X(t)在A未知时求S(t)的问题是一个有噪声盲分离问题。

ICA的目的是对任何t,根据已知的X(t)在A未知的情况下求未知的S(t),ICA的思路是设置一个N×N维反混合阵W=(wij),X(t)经过W变换后得到N维输出列向量Y(t)=[Y1(t),…,YN(t)]T,即有

Y(t)=WX(t)=WAS(t) (3)

整个过程可以表示成如图1:

如果通过学习得以实现WA=I(I是N×N维单位阵),则Y(t)=S(t),从而达到了源信号分离目标。

2 FastICA算法

FastICA算法本质上是一种最小化估计分量互信息的神经网络方法,利用最大熵原理来近似负熵,并通过一个合适的非线性函数g使其达到最优。其算法具有很多神经算法里的优点:并行的、分布的、计算简单、要求内存小。如果要估计多个分量,我们可以按如下步骤计算:

1) 对观测数据进行中心化,使它的均值为0;

2) 对数据进行白化,X→Z。

3) 选择需要估计的分量的个数m,设迭代次数p←1。

4) 选择一个初始权矢量(随机的)Wp。

5) 令Wp=E{Zg(WTpZ)}-E{g′(WTpZ)}W,非线性函数g的选取见前文。

undefined。

7) 令Wp=Wp/‖Wp‖。

8) 假如Wp不收敛的话,返回第5步。

9) 令p=p+1,如果p≤m,返回第4步。

3试验仿真结果及主要Matlab代码

盲源分离已经在图像处理领域得以应用,在仿真数据下验证FastICA算法对图像盲分离的效果如图2所示。原始图像为3幅彩色图像,产生随机混合矩阵,将原始图像混合后得到混合图像,可见原始图像已经看不出来。用FastICA对上面的混合图像进行盲分离,即假定在未知源图像和混合矩阵下对混合图像进行分离,得到分离后的结果,由于ICA问题本身具有一些不确定因素,包括:1) 分离后结果的排序与源信号会不一致;2) 分离后的信号可能会与源信号相差一个负号。由于仿真实验在源图像未知情况下进行,因此我们在分离后的图形中可能会发现图像的排序发生变化,不过这些不会影响该算法对实际问题的处理。

附主要算法代码和说明如下:

初始化后读入原始图像,混合,并输出混合图像,计算图片数据的维数,将其重新排列为一维行向量并组成矩阵,图片个数即为变量数,图片的像素数即为采样数,将图像数据转换为双精度格式。取一随机矩阵,作为信号混合的权矩阵,得到三个图像的混合信号矩阵,将混合矩阵重新排列为原始的图片矩阵并输出。

最后将计算后的混合矩阵重新排列为图片矩阵并输出。

4结束语

在分析独立分量分析(ICA)的基本模型和方法的基础上,详细地探讨了FastICA算法,并通过仿真试验,成功地用该算法将3幅混合图像有效地分离出来,但是在自然界中需要处理许多被污染的图像,这些图像含有众多未知的噪声,我们如何利用压缩稀疏编码进行图像去噪,使得基本的ICA模型可用,是我们下一步的工作。

摘要:简述了独立成分分析的基本原理以及利用FastICA算法进行信号分离的理论依据,并通过Matlab仿真实验实现了混合音频信号的盲源分离,取得了较好的分离效果。结果表明该算法收敛速度快,有良好的波形保持性,是一种行之有效的信号分离方法。

关键词:独立分量分析,图像,快速ICA

参考文献

[1]杨福生,洪波.独立分量分析的原理与应用[M].北京:清华大学出版社,2006.

[2]张洪渊.信号源盲分离的理论与实验研究[D].上海:上海交通大学,2001.

[3]吴小培.基于独立分量分析的混合声音信号分离[J].中国科技大学学报,2001,31(1):68-72.

ICA算法 篇2

电气故障紫外线检测是近几年发展起来的故障检测技术。紫外成像仪是较常用的紫外检测设备,所采用的就是紫外检测技术。由于在日常情况下,局部放电是很难用肉眼看到的,但可以通过紫外摄像机捕捉到紫外光信号。紫外成像仪的原理是先采集故障点的紫外图像和可见光图像,然后采用图像融合技术,将两幅图像融合成一幅既包含局放点紫外光又包含可见光背景的新图像,从而准确定位故障点。国外先进的紫外成像仪有以色列ofil公司的全日盲紫外成像仪SUPBER、UVOLLE-VC和南非CSIR公司生产的Coro CAM紫外成像仪等[1,2]。

图像融合技术[3]是紫外检测技术的核心部分,是把两个或者多个信号源的图像按照一定的规则融合成新的图像,然后生成融合图像。融合图像可以很好地表达融合源图像的图像信息。紫外光与可见光图像融合是近十几年才发展起来的图像融合技术,目前市面上的紫外成像仪大都采用紫外图像融合技术,但所运用的融合算法却不尽相同,例如加权融合算法和拉普拉斯融合算法都是比较常见的融合算法。

独立成分分析[4]( independent component analysis,ICA) 是上世纪90 年代以后才发展起来的信号处理方法,其主要作用是从混合信号中分理处独立的、原始的信号。独立成分分析在信号去噪方面也有很广泛的用途。不同于其他融合算法,ICA算法可以有效地去除图像系数冗余性,在应用到图像融合技术时具有很大的优势。目前市场上的紫外成像仪使用的图像融合方法有很多,应用最广泛的是加权融合法,但是效果一般。由于笔者研究的紫外图像融合算法适用于电气设备局放检测,它对融合后的局放故障点的轮廓、信息量、能量值等要求很高。

文献[7]提出的方法在紫外图像和可见光图像融合中的效果并没有达到预想的要求,故本研究通过对系数处理和对ICA算法的改进,弥补ICA算法直接应用于紫外图像融合的缺点,以获得较好的融合效果。

1紫外成像系统设计

双通道电晕紫外检测系统是紫外成像仪常采用的紫外成像系统,该系统把可见光分为两条光路,一条为可见光通道,另一条是紫外光通道,两条通道采集的图像信号通过图像采集卡传输到PC端,然后进行图像融合,得到可识别电晕故障点的融合图像,从而准确定位故障[5,6,7,8]。

双通道电晕紫外检测系统结构图如图1 所示。

2ICA算法基本原理

ICA算法实际上是一种将源信号从未知混合信号中分离算法,它可以把信号分解成若干个互相独立的成分,是一种根据源信号系数的统计特性,仅由观察的混合信号分离出未知源信号的过程[9]。

首先假设有N个观测信号x1,x2,x3. . . xn记做X,它可由N个独立变量s1,s2,s3. . . sn线性组成,即X =AS。( 式中: A是混合矩阵) 。

ICA算法的基本原理是在源信号S和混合信号A均不可知的情况下,求得解混矩阵W,使得X经过W之后所得输出Y( Y = WS) 是S的最优逼近。

ICA解混模型示意图如图2 所示。

为了方便起见,在进行独立分量分析的时候一般进行以下假设:

( 1) 待观察信号数目M不小于源信号数目N,取M = N,即信混合之后所得矩阵为满秩矩阵。

( 2) 源信号S的每个分量之间是保持相互统计独立的。

( 3) 源信号的每个分量最多只有一个是服从高斯分布的。

目前对于ICA算法的研究分为两大类,一是迭代估计方法,二是统计学的代数方法。由于源信号具有独立性和非高斯性,故研究者可以运用统计学和信息论等方法对其进行研究,例如针对最大熵、最大似然、负熵和最小互信息等计算方法对独立分量进行估算。其中,常用的ICA算法有Fast ICA算法,Infomax算法和最大似然估计算法等[9]。

3ICA算法的改进方法

本研究使用的算法是由芬兰赫尔辛基大学Hyvrinen等学者提出的Fast ICA算法,也叫作固定点算法。Fast ICA是用于寻优的迭代算法,与其他算法相比,Fast ICA算法具有速度快的特点,与传统神经网络算法的不同之处在于其可以对信号进行批量处理,这样可以为算法的迭代过程节省大量时间。利用最大熵原理来接近负熵的原理是Fast ICA算法的基本思想,故其可以说是一种最小化估计分量互信息的神经网络方法,通过合适的非线性函数来寻找最优[10]。

Fast ICA算法采用的是固定点迭代优化算法,具体可以总结为以下几步:

( 1) 将混合信号X进行中心化,即令混合信号系数均值为0;

( 2) 白化数据Z = Q × X,其中Q是白化矩阵,之后算法对Z进行操作;

( 3) 获取需要估计分量的数量,设置最大迭代次数P←1;

( 4) 设置Wp为随机初始权矢量,使其满足‖Wp(0)‖2=1;

( 5) 令WP= E{ Zg( WPTZ) } - E { g' ( WpTZ) } W ( 式中: g,g'—导函数和非线性函数) ;

( 6) 归一化: 令Wp= WP/ ‖WP‖,如果未收敛,则返回步骤( 3) 。

和其他文献不同的是,本实验所用信号源为紫外图形和可见光图像,两幅图像在图像能量、低频系数灰度值方面差异很大,若直接进行ICA分析,将会出现紫外图像信息丢失的现象,为使处理会图像系数既可以表达紫外图像信息又具备可见光图像信息,本研究对Fast ICA算法的改进思想是首先把两幅源图像小波分解后的系数进行加权处理,即D = a D1+ b D2,其中D1为可见光图像系数,D2为紫外图像系数,从而形成一组新的系数D( d1,d2,d3…dn)[11]。

对于加权系数的选取规定a + b = 1,经过多次实验加权系数取值范围为a的取值范围[0. 1,0. 4]。为了使处理后的图像保持清晰且图像系数尽可能保留原可见光图像信息并含有紫外图像信息,实验决定在保证平均梯度AG > 2. 0 的前提下,在[0. 1,0. 4]之间选取30 个点进行择优,以加权后图像和原紫外光图像的相关系数Corr和加权后图像与原可见光图像偏差指数Bindex为权值择优依据,选取Corr - Bindex最大时的a的值为最优权值。

相关系数Corr的公式为:

式中: X,Y—待融合的紫外和可见光图像中提取的系数。

偏差指数Bindex的公式为:

式中: xi,j,x'i,j—原图像和处理之后图像的灰度值。

取Corr - B值最大时求得的a值,然后得到加权所得系数D。加权后的图像系数同时具备紫外图形和可将光图像的信息,然后将加权所得的系数D和可见光图像系数D1进行串接组合,形成混合信号X。设每幅图像的系数长度为N,则X为大小为2 × N的矩阵。

将所得的混合系数X进行独立分量分析,从而得到源信号的估计系数Y( y1,y2,y3. . . yn) 。此时系数Y可以很好地表达融合图像的高频系数和低频系数,但对于紫外图像故障点的表达并不是很理想。本研究使用对图像系数绝对值取大的融合规则,将源信号估计系数Y与加权系数D进行融合,达到对故障点清晰显示的效果,融合规则如下:

若abs( D( i,j) ) - abs( Y( i,j) ) > 0,则M( i,j) =D( i,j) ;

若abs( Y( i,j) ) - abs( D( i,j) ) > 0,则M( i,j) =Y( i,j) ;

其中: ( i,j) —图像系数矩阵在第i行、第j列的数值。

4仿真实验及方法比较

本次实验选取一组电缆线上的紫外图像和可见光图像,尺寸为369 × 463。笔者采用4 种融合方法与本研究改进方法进行比较,分别是:

( 1) 简单加权融合法;

(2)拉普拉斯金字塔融合算法;

(3)小波变换融合算法;

( 4) 传统ICA融合算法;

其中方法一是市面上的紫外成像仪通常采用的基于小波的加权平均融合法,方法二采用文献[12]中的拉普拉斯融合算法,采用5 层金字塔分解,其融合规则是: 顶层子图像采用基于区域平均梯度取大进行融合,其余层子图像采用基于区域能量取大进行融合。方法三采用基于小波变换的低频系数取平均值,高频系数求绝对值然后取极大的融合规则[13]。方法四直接采用Fast ICA算法对图像进行融合。以上小波变换所采用小波均为bior1. 1 小波。对自外图像和可见光图像融合仿真实验结果及对比图如图3 所示。

由图3( f) 、3( g) 可以很直观地看出传统的Fast ICA图像融合方法在人眼视觉上效果不好,对局放故障点的表达很不清晰。为了更好地评价改进后方法和他四种方法的融合效果,本研究采用以下5 个指标进行评价[14]:

( 1) 熵( H) 。熵表示图像的平均信息量,是表达图像信息是否丰富的评价指标;

( 2) 平均梯度( AG)[15]。平均梯度表示图像的清晰度,即图像对细节对比的表达能力与纹理反差特征;

( 3) 空间频率( SF) 。空间频率可以很好地表达融合图像在空间域中的总体活跃度;

( 4) 相关系数( Corr) 。相关系数表示的是两幅图像之间的相关性,相关系数越小则两幅图像的相似程度越低;

( 5) 标准差( SD) 。标准差是把融合图像灰度相对于灰度均值的离散情况数值化;

若评价指标的数值越大,则表示图像融合效果越好。四种融合算法的融合图像评价指标对比如表1所示。

由表1 的评价指标可以看出,本研究提出的图像融合方法的各项评价指标都优于其他方法,达到了较好的融合效果。

5结束语

紫外检测技术在电气故障方面的应用前景十分广阔,笔者根据紫外检测技术的原理,针对紫外图像和可见光图像的特点改进了传统的ICA图像融合算法。并将实验结果与另外4 种算法进行比较,通过评价指标可以看出改进后算法的可行性和优越性。经过仿真实验将该算法运用于紫外成像系统,可以准确定位电晕放电故障点,图像清晰度高、过渡平滑、融合效果很理想,适用于紫外成像技术和紫外成像设备。

ICA算法 篇3

0 引言

人们在进行语音通信中不可避免地会受到来自外界环境的干扰, 由于这些噪声的存在, 以至于我们不能接受到较为纯净的语音信号, 而是带有噪声干扰的语音信号。所以为了得到较为纯净的语音信号, 就必须对含噪的语音信号进行去噪处理。由于语音信号是非线性非平稳的信号, 一些传统的信号分析方法, 例如快速傅里叶变换, 在进行语音去噪时需要知道语音信号的一些特征或统计特性, 尤其是当信号中的噪声与语音信号的频谱相似时, 该方法不能有效的去除语音信号中的噪声干扰。尽管小波分析方法有效的解决了快速傅里叶变换[1]中存在的不足之处, 但是难以根据语音信号调整小波基也是小波分析方法所存在的不足。

集合经验模态分解是在经验模态分解的基础上, 加入一组或多组白噪声信号, 用于抑制经验模态分解过程中出现的端点效应和模态混叠现象。在经过EEMD分解后得到有限个固有模态函数, 利用ICA算法分离出固有模态函数中有效的语音信号分量, 并对其进行语音重构, 最后于小波阈值去噪方法进行比较, 实验表明该方法较小波阈值去噪方法更具优越性。

1 小波阈值去噪的基本思路[2,3]

假定原始语音信号为x (t) , 噪声信号为e (t) , 则得到的含噪语音信号即为X (t) =x (t) +e (t) , 而小波阈值去噪方法的基本思路就是从含有噪声信号的X (t) 中获得原始信号x (t) 的一个逼近的信号xˆ (t) 。

小波阈值去噪的原理图如图1所示。

2 基于ICA算法的集合经验模态分解方法

2.1 EEMD算法[4]

EEMD算法的核心是EMD分解[5], EMD分解是一种自适应、高效的信号分解方法。EEMD算法是在EMD算法的基础上, 加入白噪声用以对原信号进行分解, 主要基于统计学中对某个被分析量通过多次测量求平均值做为真值。传统的EMD算法和EEMD算法的最大优点就是能够自适应的提取信号的各个分量和变化趋势, 有效地解决了小波变换中的小波基的选取、分解层数、阈值选取等问题。含噪信号经过经验模态分解后, 得到若干个固有模态函数, 而每一个固有模态函数必须满足以下两个性质:

信号的极值点 (极大值或极小值) 数目和过零点数目相等或最多相差一个。

由局部极大值构成的上包络线和由局部极小值构成的下包络线的平均值为零。

EEMD算法的具体步骤如下:

(1) 通过给原始信号x (t) 叠加一组高斯白噪声信号w (t) , 获得一个复合信号:

(2) 对X (t) 进行EMD分解, 得到各阶IMF分量:

(3) 给原始信号加入不同的白噪声wi (t) , 重复步骤 (1) 和 (2) :

利用高斯白噪声频谱的零均值原理, 消除高斯白噪声作为时域分布参考结构带来的影响, 原始信号对应的IMF分量cn (t) 可以表示为

最后, 原始信号x (t) 可以分解为算法原理的流程图如图2所示。

2.2 端点效应和模态混叠现象[6]

在EMD分解过程中, 由于原始信号端点处的极值点不确定性, 因而导致了信号上下包络拟合过程中存在端点效应, 即从第一个IMF分量出现了一定的误差, 最终从端点出开始逐渐放大, 产生了虚假的IMF分量, 使得EMD分解结果严重失真, 从而造成了端点效应。

模态混叠现象是因为信号中的某个频段的分量不连续所造成的。由于白噪声信号在各个频段上能力一致, 所以在进行EMD分解前加入白噪声, 这就保证了信号的每一个固有模态函数在时域上的连续性, 抑制了信号模态混叠现象。最后利用白噪声是均值为零随机过程的特性, 对EMD分解得到的各个IMF分量求均值, 用以消除信号加入白噪声的影响, 提高了信号的纯净度。

2.3 ICA算法[7]

独立成分分析是基于信号高阶统计特征的分析方法, 不仅可以分割混合的信号, 还能有效的提取信号中的低级特征, 在信号处理、模式识别等领域应用十分广泛。

独立成分分析是指:对于N个独立统计的未知源信号S, 经过线性混合得到信号X, 即X=AX, 其中X= (x1, x2, …, xn) T是观测信号;S= (s1, s2, …, sn) T是n维矢量, 它的每个元素都是源信号;A是一个未知的n阶矩阵。为了在A和S都未知的情况下, 仅仅利用观测信号X尽可能的分离出源信号S, 可以构建一个分离矩阵W, 则Y=WX, Y是源信号S的一个近似估计, 而X经过分离矩阵W变换后, 得到一组n维的输出列向量。这样, ICA算法的求解可以表示为:Y=WX=WAS=S。

ICA算法的核心就是不断的更新W, 使得估计量与源信号更为接近, 一般采用Fast ICA算法。Fast ICA算法[6]又称固定点算法, 该算法是采用牛顿迭代法对观测信号X的大量采样点进行批量处理, 从观测信号中分离出一个独立分量, 使得收敛更加快速、稳健, 提高了计算的速率。

2.4 基于ICA算法和EEMD分解联合去噪算法[8]

首先在原始信号中加入白噪声信号, 抑制EMD分解中出现的端点效应和模态混叠现象, 将复合信号进行EMD分解为IMFs, 由于噪声信号主要存在与第一个IMF分量中, 所以直接去除第一个IMF分量, 应用ICA算法分析剩余的IMF集记为X, 利用Fast ICA算法得到混合矩阵A、分离矩阵W和独立分量组成的矩阵S, 从中选择有效的独立源分量和主要为噪声的独立源分量。然后对噪声源分量进行EMD去噪, 得到去噪后的独立源分量S'。最后将混合矩阵A与去噪后的独立源分量S'相乘, 得到一组新的IMF集, 将这个IMF集相加即可得到去噪后的信号。具体算法步骤如下:

在原始信号中加入白噪声信号, 抑制EMD分解过程最后出现的端点效应和模态混叠现象。

对复合信号进行EMD分解, 得到若干IMF分量, 去除含有主要噪声的第一个IMF分量。

对剩余的IMFs进行FastI CA算法, 求解混合矩阵A、分离矩阵W和独立分量组成的矩阵S。

选择出主要为噪声源的独立源分量, 对其进行EMD去噪, 得到去噪后的独立源分量S'。

将混合矩阵A与去噪后的独立源分量S'相乘重构新的IMF集, 该IMF集相加即可得到去噪后的信号。

仿真[9]以及结果分析

本文通过对一个正弦信号, 针对含有的高频连续噪声和随机噪声进行去噪处理。

4.1 高频连续噪声去噪处理

原始信号是一个正弦信号, 加入一个高频连续信号, 利用小波阈值去噪法和EEMD-ICA联合去噪的方法分别对含噪信号进行去噪处理, 其仿真结果如图3所示。

4.2 随机噪声去噪处理

原始信号是一个正弦信号, 加入一个随机信号, 利用小波阈值去噪法和EEMD-ICA联合去噪的方法分别对含噪信号进行去噪处理, 其仿真结果如图4所示。

4.3 结果分析

可以看出, 小波阈值法和EEMD-ICA去噪法都能很好的对含噪信号进行去噪处理, 去噪后的波形较为光滑, 不存在太大的波动。

运用小波阈值去噪法时, 不仅要考虑不同小波基滤波的特性不同, 同时还要考虑分解层数、阈值选取等问题, 而用EEMD-ICA去噪法法就不需要考虑这些问题, 因为它是一种自适应滤波的方法。

由于含噪信号在进行EMD分解过程中的某一频段会出现不连续而产生模态混叠现象, 而EEMD-ICA去噪法可以有效的抑制这一现象的发生, 大大提高了去噪信号的纯净度。

可以看出, EEMD-ICA去噪法可以有效的避免了在进行EMD分解过程中, 将有用的信号当作噪声直接去除的情况, 很好的保留了信号中的有用成分。

从仿真结果可以看出, EEMD-ICA联合去噪法比小波阈值去噪法更具有优越性, 更好的还原了原始信号。

5 结论

本文在EMD算法的基础上提出了EEMD算法, 用以抑制EMD分解过程中出现的端点效应和模态混叠现象, 且EEMD算法是自适应的, 不需要考虑小波变换中小波基的选择、分解层数和阈值选取等问题, 与小波阈值去噪相比较, 该方法更能很好的还原原始信号。

在进行EMD分解时, 可能将纯净的语音信号当作噪声处理, 为了避免这一现象的发生, 在EMD分解过程时, 加入了ICA与EEMD相结合的算法, 不仅提高了计算的速率, 而且对于得到更为纯净的语音信号更具优越性。

摘要:针对非线性非平稳信号的去噪问题, 提出了一种基于独立分量分析 (Decomposition Components Analysis, 简称ICA) 算法的集合经验模态分解去噪方法。首先利用白噪声辅助数据分析方法——集合经验模态分解 (Ensemble Empirical Mode Decomposition, 简称EEMD) 有效的抑制了经验模态分解 (Empirical Mode Decomposition, 简称EMD) 中存在的端点效应和模态混叠现象, 然后利用ICA算法对含噪信号经过EEMD分解后的有限个固有模态函数 (Intrinsic Mode Function, 简称IMF) 进行去噪处理, 有效的分离出若干个有效的语音信号分量, 并对其进行语音重构, 最后与小波阈值去噪方法进行比较, 通过仿真可以看出, 该方法对于信号去噪较为理想。

关键词:小波阈值去噪,EEMD,端点效应,ICA

参考文献

[1]CHENRong, WANGYiming.ANovelParameterEstimationMethodofLFMSignalsBasedonFractionalFourier Transform[J].The Journal of New Industrialization, 2011, 1 (2) :84-92.

[2]Li Shixin, Zhang Xinghui and Wang Jianming.A new Local Adaptive Wavelet Image De-noising Method[J].IEEE Computer Society, ISCCS, pp.154-156, 2011.

[3]李艳飞, 秦飞龙, 周仲礼, 等.改进的小波变换算法在地震数据降噪处理中的应用[J].软件, 2013, 34 (6) :40-43.

[4]时世晨, 单佩韦.基于EEMD的信号处理方法分析与实现[J].现代技术应用.2011, 34 (1) :88-95.

[5]hao Wenwen, Zeng Xingwen.A new signal denoising method based on empirical mode decomposition[J].Electronics Technology.2008, 21 (5) :30-33.

[6]焦彦军, 胡春.基于改进EEMD方法的数字滤波器[J].电力自动化设备.2011, 31 (11) :64-67.

[7]李政仪, 冯贵玉.基于方差滤波和ICA算法的人眼定位[J].计算机系统应用.2013, 22 (4) :113-115.

[8]王晓伟, 石林锁, 杨隆, 鲁秘.小波消噪和ICA在语音信号分离中的应用[J].计算机工程与应用.2012, 48 (3) :120-121.

[9]李任增, 文福安.通信原理虚拟实验仿真平台的设计和实现[J].软件, 2013, 34 (6) :1-4.

[10]白芳芳, 苗长云, 张诚, 等.心音信号去噪算法的Matlab仿真及DSP实现[J].新型工业化, 2011, 1 (8) :77-84.

[11]张小华, 张强.Shearlet域非局部均值图像去噪[J].新型工业化, 2011, 1 (3) :63-71.

ICA算法 篇4

粒子群( Particle Swarm Optimization,PSO) 算法是由Eberhart博士和Kennedy博士提出的一种智能优化算法[3]。它是通过在一定范围内不断搜索适应度最值来寻找最优解的,该算法简单、易于应用,且需要设置的参数较少。但是对于存在多个峰值的函数,传统的PSO算法很容易陷入局部极值[4,5,6],不能找到整个函数准确的最优解,并且在算法后期有收敛速度慢的缺点。

首先针对PSO的这些问题,提出一种融合自适应非线性递减惯性权重w和拉伸适应度技术的PSO算法,本文将这种改进的PSO算法简称为IPSO( Improved Particle Swarm Optimization) 。它可以很好地解决局部最优和后期收敛速度慢的缺陷。然后,利用IPSO算法代替牛顿迭代法对Fast ICA算法中的负熵极大化的目标函数寻找最优解,避免了Fast ICA中使用复杂的牛顿迭代法所带来的不易收敛的缺陷。两种算法结合起来使用,即为IPSO-ICA算法。本文最后分析了该算法的盲多用户检测的可行性,并通过MATLAB仿真验证了该检测器具有更小的误码率,更快的收敛速度。

1 基于负熵的Fast ICA算法

假设信号源S =[S1,S2,…,SM]T共有M个,它们通过与矩阵A相乘处理后,输出端可以得出N个观测信号X =[X1,X2,…,XN]T= AS,其中,A为N × M维的混合矩阵。

ICA对信号进行盲源分离[7]就是要在源信号S和混合矩阵A未知的前提条件下,利用已知的观测信号X,根据高阶统计特性来解出一个矩阵W,使得输出最终信号Y = WX是用户发送信号S的最佳接近值。

在分离独立分量过程中,ICA算法是以各用户信号非高斯性作为判断依据[8],各用户信号的非高斯性越强,分离出来分量就越独立。而其中负熵是判断非高斯性优良的一种经典判断依据,它的效果是优于其他判断依据的[9,10]。

所以,采用基于负熵的Fast ICA算法的盲多用户检测是抗多址干扰中经常使用的一种检测方法。对负熵进行近似估计运算,可以表示成

式中:v是一个平均值等于零的高斯变量;G是一个非二次项函数,经过配置合适G能够使算法拥有比较强的鲁棒性。G(y)的选择共有3种,即

其中常数a1在1≤a1≤2 范围内选取,通常就取1。

2 IPSO算法的提出

Fast ICA算法是ICA算法中经常使用的一种方法,它是利用牛顿迭代法寻找式( 1) 的最优解。然而,由于牛顿迭代法对算法初值的选择要求很高,处理不当时,很容易导致算法不收敛。故将PSO算法应用到Fast ICA算法中,进行寻优。但是传统的PSO算法由于惯性权重是常数,易出现早熟现象[11],造成寻优结果不理想。所以本文提出了IPSO算法,改善了寻优效果。

2. 1 基本PSO算法

设粒子i的速度用vi表示,位置用xi表示,xipbest代表粒子i所经过的历史最好位置,pi是个体极值。xigbest表示种群内所有个体历经的最好位置,即最终需要的全局最优解。

个体粒子i速度以及位置的迭代进化公式为

式中: c1和c2表示学习因子; wi表示惯性权重; r1和r2是在[0,1]区间内均匀分布随机数值; k表示当前迭代次数k = 1,2,…,N。

2. 2 IPSO算法的描述

本文提出的IPSO算法将自适应非线性惯性权重w和拉伸技术进行了融合。在算法前期使用自适应非线性递减w,可以有效降低出现局部最优的概率。当陷入局部最优时,在算法后期,通过引入拉伸技术将局部收敛现象打破。两者相辅相成,实现了PSO算法的快速收敛和高精度的搜索。

首先,自适应非线性递减w具体方程为

式中: wmax表示最大值; wmin表示最小值; N表示总的更新次数; k表示当前更新次数; n表示下降指数。n可以取值为

根据以上公式可知,此时惯性权重w是一个自适应非线性递减函数,粒子i可以根据个体的实际状况选择不同的w。当粒子i距离最优位置比较远时,使用较小n,此时w减小较慢,粒子i可以在较大的区域内寻找最优值,提高了PSO算法的全局搜索性能; 当粒子i离最优位置比较近时,使用较大n,w值减小变快,这样可以在最优值所在子区域进行精细搜索。这样就很好地降低了PSO陷入局部最优的概率。

然后在以上所说方法基础上引入了拉伸技术。引入拉伸技术本质,就是利用已经检测到的局部极值点x0,计算出f( x0) ,当f( x) > f( x0) 时,把原来适应度值f( x) 做两次拉伸变换,消除局部极值点x0,跳出局部最优,即

式中: β1、β2和 μ 为随机数,β1改变适应度f( x) 向上拉伸的幅度,β2控制H ( x) 作用范围。可以设置 β1=104/2,β2= 1 /2,,μ = 10-10。第一次通过G( x) 对适应度f( x) 进行向上的拉伸变换,消除了适应度值高于f( x0)的部分极值; 第二次通过H( x) 对适应度f( x) 进一步拉伸,距离局部极值点x0越近,拉伸程度会越大。最终拉伸了适应度函数,跳出局部最优。

3 IPSO-ICA算法在盲多用户检测中的应用

将上述的IPSO算法和Fast ICA算法进行融合,即为IPSO-ICA算法。因为IPSO算法是在一定条件下对适应度函数进行寻优的,它通过不断更新个体的速度和位置,来对特定范围内的函数最优解进行搜索。而基于负熵的Fast ICA算法是优化负熵极大化的代价函数并使用牛顿迭代法找出最优解。两种算法的目的是基本一致的,都是寻找出算法中某个函数的最优解。所以IPSO-ICA算法的提出是具有可行性的。

将IPSO-ICA算法应用到盲多用户检测中。首先将两种算法的目标函数定义为一致的,已知负熵的近似估计是J( y) ≈| E{ G( y) } - E{ G( v) } |2。

在这里,选取G( y) = G3( y) = - exp( - a1y2/2 ) ,因为G3( y) 可以使估计的鲁棒性较强,a1= 1。

v表示一个平均值为0 的高斯变量,所以可以得到IPSO-ICA适应度函数为

然后根据前面两种算法的分析和推导,可以得出基于IPSO-ICA盲多用户检测的具体步骤为:

步骤1: 将同步CDMA通信系统的接收数据r中心化,即进行去均值处理,r = r - E( r) 。

步骤2: 对经过均值处理的r白化处理,清除各用户信号彼此相关性,z = Λ- 0. 5VTr。

步骤3: 对粒子群的速度vi= [vi1,vi2,…,vid]和位置xi= [xi1,xi2,…,xid]进行初始化。

步骤4: 使用公式( 9) 计算得出所有粒子的适应度f( yi) ,也就是负熵估计值,其中yi= xiz = [yi1,yi2,…,yid]。

步骤5: 计算个体极值pi和全局极值pg。如果f( yi) > pi,则令pi= f( yi) ,xipbest= xi; 如果pi> pg,则令pg=pi,xgbest=xpbesti。

步骤6: 使用式( 3) 和( 4) 对粒子的速度和位置进行迭代更新。

步骤7: 利用早熟判定机制判断算法是否收敛于局部最优,如果收敛,执行步骤8,如果不收敛于局部最优,执行步骤9。

步骤8: 使用两个拉伸变换函数( 7) 和( 8) 跳出算法局部最优,最终令f( y) = H( x) 。

步骤9: 如果能够满足算法的收敛条件,则停止更新迭代并且返回全局最优解; 如果不能够满足算法的收敛条件,就重新返回继续执行步骤4。

4 算法仿真分析

把Fast ICA,PSO-ICA以及本文的IPSO-ICA算法分别应用到同一同步CDMA通信系统中进行盲多用户检测,使用MATLAB验证算法可行度并从以下3 个方面做性能对比。

4. 1 误码率检测性能对比

在这里,取同步CDMA通信系统中用户数量为8,采用Gold码扩频序列分别对8 个用户信号进行扩频,扩频增益是N = 31,用户发送的信号长度是1 000。传统PSO-ICA以及IPSO-ICA算法中,采用种群粒子数是20,两个学习因子相等c1= c2= 1. 5。其中,PSO-ICA算法中,惯性权重w = 0. 7。本文的算法中,wmax= 1. 1,wmin= 0. 74。对3 种算法在以上通信系统做仿真对比,盲多用户检测的误码率BER随着信噪比逐渐增大的变化情况如图1 所示。

根据图1 可以观察出,随着信噪比逐渐增大,3 种盲多用户检测器计算出的误码率都在减小。这是因为在通信系统中信噪比越大,盲多用户检测器性能越好,所以误码率会越来越小。其中,在信噪比相同时,IPSO-ICA算法计算出的误码率相对于其他两种算法来说,误码率最小,曲线下降速度较快。说明本文所用改进的算法在相同信噪比下的误码率检测性能优于其他两种算法。

4. 2 用户数增加时算法性能对比

将用户的信噪比固定为SNR = 5 d B,系统其他配置不变,对3 种算法进行仿真,观察误码率与用户数量的关系变化曲线。

根据图2 可以看到,随着用户数量的增加,3 种算法计算得到的误码率都在逐渐增大,曲线一直表现为上升趋势。主要因为随着用户数量增加,盲多用户检测难度越来越大,系统误码率也就变得越来越大。从图中可以看出,在用户数目相同时,Fast ICA误码率是最大的,IPSO-ICA误码率最小,而且用户数量越多,本文算法所表现出的检测性能越好。

4. 3 收敛速度对比

设用户数量为8,信噪比SNR = 7 d B,迭代次数为1 000。其他系统环境不变。连续进行20 次仿真,计算出三种算法的平均运行时间并进行对比,以此来判断三种算法收敛速度的快慢。结果如表1 所示。

由表1 可以看出IPSO-ICA算法的运行时间最短,所以它的收敛速度最快。

5 小结

针对CDMA系统中的多址干扰问题,提出了一种基于IPSO-ICA算法的盲多用户检测的方法。该算法首先综合了自适应非线性递减惯性权重w和拉伸技术来改进PSO算法,即IPSO算法,有效地解决了PSO算法易陷入局部最优的问题。然后在ICA算法中使用IPSO算法寻找目标函数的最优解,进行盲多用户检测。最后通过对IPSO-ICA,PSO-ICA和Fast ICA这3 种算法进行仿真对比,可以看出基于IPSO-ICA算法的盲多用户检测有更小的误码率,更快的收敛速度,可以更好地解决多址干扰所带来的问题。

摘要:为了有效抑制CDMA通信系统中的多址干扰,提出了一种将新改进的粒子群(IPSO)算法应用到基于独立分量分析(ICA)的盲多用户检测中的方法。首先在IPSO算法中,使用自适应非线性递减惯性权重w降低早熟概率,利用拉伸技术打破早熟现象,从而使最优解更加精确。然后将IPSO算法融合到ICA算法中,得到IPSO-ICA算法来进行盲多用户检测。最后仿真结果表明,在相同通信环境下,该盲多用户检测比已有的基于Fast ICA和PSO-ICA算法的盲多用户检测的误码率更小,收敛速度更快。

关键词:盲多用户检测,粒子群优化,独立分量分析,拉伸技术

参考文献

[1]高维廷.直接序列扩频码分多址系统多用户检测算法研究[D].西安:西北工业大学,2014.

[2]LIU Xiaozhi,FENG Dawei,Zh ANG Tianshuang.Multiuser detection of DS-CDMA based on PSO-ICA.[C]//Proc.International Congress on Image and Signal Processing.Shanghai:IEEE Press,2011:2490-2493.

[3]ARASOMWAN M A,ADEWUMI A O.On adaptive chaotic inertia weights in particle swarm optimization[C]//Proc.2013 IEEE Symposium on Swarm Intelligence(SIS).Singapore:IEEE Press,2013:72-79.

[4]梅金平,张士兵,王海莲.基于PSO-GA算法的多用户OFDM系统资源分配[J].电视技术,2014,38(1):115-119.

[5]李瑞,谌贵辉,任诚.混合粒子群优化算法在CDMA系统多用户检测中的应用[J].电讯技术,2014,54(8):1113-1116.

[6]刘晓志,李静,冯大伟.基于CAPSO-ICA的DS-CDMA系统盲多用户检测[J].系统仿真学报,2014,26(6):1285-1290.

[7]李金磊.DS-CDMA系统多用户检测技术研究[D].重庆:重庆大学,2009.

[8]胡莉.DS-CDMA盲多用户检测新技术研究[D].西安:西安电子科技大学,2013.

[9]王猛,张文爱.基于APSO的盲源分离算法在盲图像分离中的应用[J].电视技术,2014,38(19):32-35.

[10]王金宇.基于负熵的自适应盲源分离算法研究[D].沈阳:东北大学,2011.

ICA算法 篇5

关键词:离散小波变换,奇异值分解,独立分量分析,Arnold置乱

随着计算机网络成为传播信息的一个重要媒介,它把数据的传输和变换,转变为一个相对简单快捷的过程。但由于数字媒体自身的特性,使得一些恶意攻击者可以很容易地对其进行复制、编辑、篡改、非法传播和蓄意攻击,这就降低了其应用价值,多媒体的版权保护已引起普遍关注。为了解决这一问题,数字水印技术随之诞生,并逐渐成为实现多媒体信息版权保护、认证等方面的一个行之有效的手段。数字水印技术中目前研究较多的是图像数字水印,根据嵌入位置的不同,图像数字水印大致划分为两类:(1)空间域方法,由于在信号空间直接嵌入相关水印信息,嵌入水印较简单容易,但是易受攻击,抗稳健性较差。(2)变换域方法,首先将原始信号先转变到频率域,将待嵌入的水印信息嵌入其中,然后对嵌入水印信息的信号进行相关的反变换,以获得含有水印信息的信号。相比空间域的方法,变换域可以将人类视觉系统(Human Visual System HVS)中的一些特性运用到水印算法中,现有的图像压缩方法与其相兼容,因而近几年的水印文献多是采用变换域方法,离散小波变换是其中较为常用的变换之一。通过现有相关的数字水印研究[1,2,3],再结合已有研究成果表明,独立分量技术可以被用于数字水印领域[4,5],提出一种基于图像置乱和ICA-DWT的数字图像水印算法,对水印进行Arnold置乱变换,对原始图像进行三级离散小波变换,将奇异值分解和独立分量分析相结合,这样在保证水印有较强的稳健性同时,还可增强水印的不可见性。

1 Arnold置乱技术

Arnold变换是一种置乱算法,又称“猫脸”变换,是俄国数学家 Vladimir I Arnold 提出的一种变换,针对一幅N×N的数字水印图像I,离散化的二维Arnold变换定义如下

[xy]=[1112][xy](modΝ)(1)

其中,x,y∈{0,1,2,…,N-1},式中,(x,y)表示为原始图像I的像素位置坐标;(x′,y′)表示经过变换之后像素的位置坐标,数字图像可以看作是一个二维矩阵,原先图像的像素会随着Arnold变换之后重新分布,变换后生成杂乱无章的图像,因而达到了对图像置乱加密的效果,但伴随着迭代次数的增加,经过一定次数后又会恢复到原图,由于图像大小不同,图像的变换周期也不同。

2 奇异值分解

奇异值分解(Singular Value Decomposition,SVD)是线性代数中重要的分解算法之一,在图像处理中被广泛的使用,它的优势在于图像奇异值有比较好的稳定性,当图像受到小的扰动时,图像奇异值的变化相对较小,而且奇异值体现的是内蕴特性而非视觉特性。

ACm×n表示这样的一个图像矩阵,根据矩阵分解理论,此矩阵可以写作A=UΛVT,其中U=(u1,u2,…,um)∈Cm×m,V=(v1,v2,…,vn)∈Cn×n均作为酉阵,UTU=E,VTV=E,Λ表示为元素是非负数的对角阵。

3 水印算法

为不失一般性,文中原始灰度图像I设为大小8 m×8 n,二值水印图像设W大小为m×n,用作描述水印的嵌入和提取方法。

3.1 水印嵌入算法

(1)把水印图像进行Arnold变换生成。

(2)将原始图像I进行三级离散小波变换,得到逼近子图I30

(3)分别对W^I30和进行奇异值分解

W^=UwSwVw(2)

I30=UiSiVi (3)

取它们的奇异值SwSi分别作为源信号。

(4)利用一个2×2的混叠矩阵M=(a11,a12;a21,a22)对源信号SwSi进行混叠,从而得到观察信号X=[X1,X2],其中X1作为I30修改后的奇异值Swi,X2作为提取密钥保存。

(5)利用Iw0=UiSwiVi得到含水印的低频细节子图Ι^3

(6)通过IDWT获得到嵌入水印后的图像Ι^

3.2 水印提取算法

(1)对嵌入水印的图像Ι^进行三级离散小波分解,获得逼近子图Ι^30

(2)对Ι^30进行奇异值S^wi分解,取分解后的奇异值作为ICA恢复时的信号X′。

(3)将X′和X2重新排列成行向量,采用独立分量分析中的FastICA算法[6]得到两个独立的分量S1和S2,其中一个分量代表水印图像的奇异值,假设为S2。

(4)利用W′=UwS2Vw

(5)把W′按照Arnold的反过程进行解密,最终可提取出水印图像W*。

4 实验结果

实验采用512×512大小的Lena图像作为原始图像,以64×64大小的二值图像作为水印,水印的质量用峰值信噪比(PSNR)和归一化相关系数(NC)来客观衡量。图1为原始图像和原始水印图像,图2为嵌入水印后图像及提取的水印图像,显然人眼无法察觉嵌入了水印,比较高的峰值信噪比(PSNR)使得不可见性良好。

图3仿真实验结果表明,经过常见的图像处理和一些几何攻击后,提取的水印普遍清晰可见,文中对高斯噪声、对图像进行质量系数为20的JPEG压缩、重采样、旋转中值滤波等攻击后,仍具有较好的稳健性。

5 结束语

提出了一种基于Arnold变换和独立分量分解的小波域算法,此算法特点是结合了小波变换、Arnold变换、奇异值分解和独立分量分析技术。经实验验证,本方法对重采样、JPEG压缩、高斯噪声、中值滤波、旋转等常见的攻击方式都有比较好的稳健性,而且可以较好地满足数字水印系统的不可见性,由于使用了独立分量分析技术,提取水印时无需原始图像,使得该方法更具实用性。

参考文献

[1]牛夏牧,陆哲明,孙圣和.基于多分辨率的数字水印技术[J].电子学报,2000,28(8):1-4.

[2]杨恒伏,陈孝威.小波域鲁棒自适应公开水印技术[J].软件学报,2003,14(9):1652-1660.

[3]杨波,陈孝威.基于DCT系数量化的公开水印方案[C].贵阳:第十二届全国多媒体技术学会会议,2003:279-287.

[4]RAJAN P K,ZHANG S.Independent component analysis of digital image watermarking[C].Proceedings of IEEE Inter-national Symposium on Circuits and Systems,2002:217-220.

[5]YU D,SATTAR F,MA K K.Watermark detection and ex-traction using an component analysis metheod[J].EURASIP Journal on Applied Singnal Processing,2002(1):92-104.

【ICA算法】推荐阅读:

扩展算法07-16

蝶形算法07-18

区间算法07-18

搜索算法07-19

矩阵算法05-13

回归算法05-15

光流算法05-16

边缘算法05-16

查询算法05-17

映射算法05-26

上一篇:机车柴油机下一篇:民族地区绩效管理