盲信道估计(9)

2020-04-15 12:46

东北大学秦皇岛分校毕业设计(论文) 第 31 页

4.3 FastICA快速定点算法

FastICA算法,又称固定点(Fixed-Point)算法,是由芬兰赫尔辛基大学Hyv?rinen等人提出来的。是一种快速寻优迭代算法,与普通的神经网络算法不同的是这种算法采用了批处理的方式,即在每一步迭代中有大量的样本数据参与运算。但是从分布式并行处理的观点看该算法仍可称之为是一种神经网络算法。FastICA算法有基于峭度、基于似然最大、基于负熵最大等形式,这里我们利用基于峰度最大的FastICA算法来分离信号。它以峰度最大作为一个搜寻方向,可以实现顺序地提取独立源,充分体现了投影追踪(Projection Pursuit)这种传统线性变换的思想。此外,该算法采用了定点迭代的优化算法,使得收敛更加快速、稳健。 4.3.1 FastICA算法原理

由中心极限定理可知:一随机量如有许多相互独立的随机量之和组成,只要各个独立的随机量具有有限的均值和方差,则不论各独立随机量为何种分布,则随机量必接近高斯分布。因此我们可以再分离过程中,通过对分离结果非高斯性的度量来判定分离结果中各信号间的相互独立性。当非高斯型度量达到最大时,就表明已完成对源信号的分离。

为了估计源信号中的一个独立分量,定义:

y?bX?bAS?qS??qisi (4.23)

TTTi?1n其中b?[b1,b2,???,bm],q?ATb,如果线性组合y?bTA就是源信号中的一个独立分量。那么相应的向量q就要满足,所有的元素中只有一个非零元素。现在的问题是我们如何用中心极限定理理论来确定b,使得b是A-1的一列。在实际应用中,因为我们没有A的任何先验知识,所以并不能准确的得到b,但是我们可以给b一个很好的估计。

现在我们来调整向量q中每个元素的值,从而使得y?qTS是源信号中的一个分量,但是在实际应用中,我们并不能得到q(因为q中含有A),也不需要得到q,因为我们可以通过调整b,从而使得bTX是源信号中的一个分量。因而我们需要通过调整向量b

东北大学秦皇岛分校毕业设计(论文) 第 32 页

使得bTX的非高斯性最大,则相应的向量q?ATb中就会只有一个非零元素。这里我们利用峰度来测量非高斯性。

向量y的峰度定义为:

kurt(y)?E{y4}?3(E{y2})2 (4.24)

假定y是非高斯的,具有零均值,单位方差,那么:

kurt(y)?E{y4}?3 (4.25)

在独立分量分析和相关领域内,峰度或峰度的绝对值被广泛的应用于对非高斯性的测量,其主要原因是无论从计算上还是从理论分析上峰度都比较简单。在计算上,如果变量保持连续,峰度可以用四阶累计量来计算;在理论上,如果x1和x2式两个独立的随机变量,峰度具有以下性质:

kurt(?x1??x2)??4kurt(x1)??4kurt(x2) (4.26)

现在我们来调整向量b,如何使得峰度最大或最小(峰度绝对值最大)。为了简单起见,我们现在考虑源信号和接收到的信号个数都是两个,这样我们就有

y?bTX?bTAS?qTS?q1s1?q2s2 (4.27)

基于式(4.26)的性质,我们有:

kurt(y)?kurt(q1s1?q2s2)?q14kurt(s1)?q24kurt(s2) (4.28)

另一方面,由于我们限定s和y具有单位方差,因此可以得到:

2 kurt(y2)?q12?q2?1 (4.29)

这就意味着q在单位圆内,所以当q位于坐标轴上的时候,我们就可以得到?si,这样就可以解决问题了。根据同样的原理,对于三个源信号的分离,我们需要在一个三维空间里来寻找向量q,以此类推,对于n个源信号的分离,我们需要在n维的空间来确定向量q。

现在我们来看对于预白化处理过的信号Z,寻找一个线性的组合WTZ来最大化非高斯性,因此我们有:

东北大学秦皇岛分校毕业设计(论文) 第 33 页

q?(WTVA)(ATVTW)?W22 (4.30)

其中q?(VA)TW,V是白化矩阵,式(4.30)意味着q限定在单位圆内等价于W限定在单位圆内,因此峰度最大化可以用最大化WTZ的峰度的绝对值来得到,限制条件为W?1。

利用WTZ的峰度的绝对值梯度我们有以下简单的计算:

?kurt(WTZ)?W?4sign(kurt(WTZ))[E{Z(WTZ)3}?3WE{(WTZ)2}] (4.31)

2对于白化数据我们有E{(WTZ)2}?W,所以有:

?kurt(WTZ)?W?4sign(kurt(WTZ))[E{Z(WTZ)3}?3WW] (4.32)

22ZW(TZ3)?}W3W因此: W?[E{ ] (4.33)

所以可以得到以下的定点算法:

W=[E{Z(WTZ)3}?3W]W?W/W (4.34)

一直重复式(4.34)直到收敛为止,这样就可以分离出其中一个源信号。 当分离多个信号的时候,为了避免重复的分离同一个信号,我们需要对所求的W和以前所得到的W进行正交化处理。假设要分离第p?1个信号,前面的Wj,j?1,2,???,p已经得到,需要对已求得的W做以下正交化处理,然后再归一化,直到收敛为止。

Wp?1?Wp?1??Wp?1TWjWj (4.35)

j?1n可以避免分离多个信号时重复分离同一个源信号,这样就可以逐个分离出所有的源信号。

总结上述算法原理,我们可以得出利用基于峰度的快速定点FastICA算法对信号进行盲源分离的具体步骤如表4.2:

东北大学秦皇岛分校毕业设计(论文) 第 34 页

表4.2 FastICA算法步骤图

FastICA算法步骤 1.对观测数据X进行中心化,使E(xi)?0; 2.对数据进行白化,E(ZTZ)?0; 3.令p=1,即设置当前分离的源信号数为1; 4.初始化分离向量Wp:Wp?Wp/Wp; 5.对分离向量进行正交化处理:Wp=[E{Z(WpTZ)3}?3Wp]; 6.令Wp?Wp/Wp; 7.判断分离向量Wp是否收敛,若不收敛,返回步骤4,直至满足收敛; 8.判断所有源信号是否都已分离,即判断p是否小于源信号数目m,若没有,返回步骤4,直到所有源信号被分离。 9.通过Y=WTZ得到源信号的拷贝,即分离结果。 4.3.2 FastICA算法仿真

快速定点算法是一种批处理的分离算法,在每次迭代过程中都需要用到所有的数据,该算法具有收敛快的特性,并且定点算法还可以对单个信号进行分离,这一点事十分重要的,在实际的应用中我们不一定对所有的信号都感兴趣,这样我们就可以只提取感兴趣的信号。该算法由于是对信号一个一个的进行提取,所以对于亚高斯和超高斯的混合信号也可以进行有效地分离。

值得注意的是,快速定点算法需要对接收信号进行预白化处理,即通过对接收信号的线性变换,使得变换后的信号彼此不相关。

上一节我们从中心极限定理出发,得出当信号的非高斯性度量达到最大时,就相当于完成了对源信号的分离,本文中我们利用峰度来测量信号的非高斯性,最终得出了基于非高斯极大的FastICA算法。

由4.3.1的算法原理,我们可以得到如图4.7的Infomax算法流程图:

东北大学秦皇岛分校毕业设计(论文) 第 35 页

输入信号X 对X进行去均值处理:E(xi)?0 对X进行白化处理:E(ZTZ)?0 P=1 初始化分离向量Wp,Wp?Wp/Wp 令 Wp=[E{Z(WpZ)}?3Wp] T3对分离向量正交化处理:Wp=[E{Z(WpTZ)3}?3Wp],Wp?Wp/Wp 是 判断Wp是否收敛 否 判断p是否小于M 是 P+1 否 得到源信号Y=WTZ

图4.7 FastICA算法流程图


盲信道估计(9).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中级财务会计练习一

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: