ICA用于盲源分离.docx

上传人:lao****ou 文档编号:129828 上传时间:2023-04-05 格式:DOCX 页数:21 大小:622.59KB
下载 相关 举报
ICA用于盲源分离.docx_第1页
第1页 / 共21页
ICA用于盲源分离.docx_第2页
第2页 / 共21页
ICA用于盲源分离.docx_第3页
第3页 / 共21页
ICA用于盲源分离.docx_第4页
第4页 / 共21页
ICA用于盲源分离.docx_第5页
第5页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《ICA用于盲源分离.docx》由会员分享,可在线阅读,更多相关《ICA用于盲源分离.docx(21页珍藏版)》请在第一文库网上搜索。

1、盲信号实验报告ICA算法名:丁宪成电磁场与微波3110035012系另U:专 业:学 号:电信学院陈文超指导教师:2011年07月9日ICA用于盲源分离(2)1.ICA模型设无噪声信号模型为(1)X=As维原始信号向量。由(1)可见,信号S放大k倍与A的相应列缩小k倍的结果相同,从而决定了 ICA得到的信号存在强度的不确定性。为此,在求解时往往把观测信号先转化为有单位协方差的信号,即在ICA之前先有一个白化过程。设信号向量y的联合概率密度为P(y),而每一个信号成分的概率密度为P(y)则信号向量的互信息可以表示为:) = o)logpW当各个信号成份相互独立时,p(y)=nMi=ip(yi)(

2、3)则(y)=0ICA的目的是:在我们不知道混合矩阵的情况下,寻找线性映射w,从观测信号中提取不能被直接观测的原信号,这里把它记为:y=wx=wAs(4)2.ICA理论、互信息极小判据(Py ) C - Z %,+ 照i + 7 扁-6焰%43 /=1互信息极小简化成了四阶累积量最大,从而可以通过对四阶累积量的计算,实现独立成份的分离。(2)信息极大判据理论分析表明,如果把完成ICA的过程用一个运算网络表示,并在此网络的输出端,引入相应的信源的累积分布函数为变换函数的一个非线性环节,把转化为,则的燧最大就等效于式互信息极小(3)极大似然估计判据极大似然估计的目的是通过对观测模型式x=As进行估

3、计,得到潜在的信号S,利用1 NL(w) = lim log p(xQ); w)(6)(7)5 N H当N足够大时,其对数似然概率收敛于它的期望jL(w) = J p(x) log /7(%; w)dx式可改写为:L(w) = - f p(x) log pxdx- f p(x) logJJ p(x; w)= H(x)- D(p(x) p(x; w)即,可通过极大似然估计判据提取独立成份(8)3.常用ICA算法(1)成对旋转法:利用Givens旋转,将中的独立成份两两成对旋转直到独立性判据目标函数收敛为止2)固定点算法:0)(四阶累积量)+1 =Ev(v)3)-3(ii) Newton 法(9)

4、攵+ w = Evg(wk) v)-Eg(wk) v) wkr , 1Z + 1攵 + 1 |wk = W / W(3)自然梯度学习算法+ = wk + I -(y)ywk(10)(11)4.ICA算法仿真实例:JUW原始信号混合信号5. ICA理论研究方向ICA分离信号(1)固定点算法(2)非线性ICA研究(3)噪声ICA研究(4) overcompletelCA 研究(5)子空间ICA研究6.ICA应用研究信号分离(2)图像去噪EEG数据分离4 4) fMRI数据处理下面介绍两种算法进行ICA用于信号分离的实验验证:第一种:快速ICA算法算法步骤:(1)取任意初始矢量从(0),要求它满足4

5、(0)2= (令k=o)0(2)求4(Z + 1) = ez(Z)z3,注意其中k为迭代序号,不是时间序列。E (.)可以通过对z的各采样时刻值求均值来估计。(3)将MG + D归一化:意湍(川)。(4)如果(左+ D必(幻不接近1,则令k加1,回到步骤(2)o否则迭代结束。输出最终的4(左+ D作为从。(5)提取独立分量:yi(k) = fz(k)(注:具体原理可参考教材第99页。)实验程序:%产生信号t=linspace(0z100,10)jsl=sin(t/2);plot(sl)s2=exp(-0.2*t).*cos(pi*t);figure;Pot(s2)js3=l1000*t.2.*

6、cos(t4).2jfigure;Pot(s3)j%信号进行混合A=0.1,0.2,0.7j0,2z0.6,0.2j0,3,0.5,0.2j% 混合矩阵s=sl;s2;s3;Y=A*s;%进行信号混合%去均值meanValue=mean(Y,)jY=Y-diag(meanValue)*ones(size(Y);%球化covarianceMatrix=cov(Y);%矩阵的SVD分解U,V,W=svd(covarianceMatrix)jx=diag(V);x=x.(-12)jV=diag(x);Z=V*U*Y;%绘制的球化后的信号图figureplot(Z(l,:);figureplot(Z(

7、2,:);figureplot(Z :);%盲源分离程序p=zeros(3);%存储每次得到的ul矢量for i=l:3ul=rand(3,l);a=sqrt(sum(ul.A2);% 产生初始矢量ul=ul./a;n=0;m=l;while(mle-15)u2=zeros(3,l);forj=l:100y=ul*Z(:,j);u2=u2+yA3*Z(:,j);endu2=u2./100;%得到迭代后的u2矢量w3=zeros(3,l);for l=l:i-lw3=w3+(u2*p(:,l)*p(:,l);endu2=u2-w3;%进行矢量的施密特正交化,得到相互正交的向量d=sqrt(sum

8、(u2.2)ju2=u2./d;m=abs(ul*u2-l);ul=u2;n=n+l;endP(:J)=ul;endq=p*Z;%绘制分离后的信号figure;figure;plot(q(2)figure;plot(q(3)运行程序得到的结果为:解混矩阵P为:0.00270.9915-0.13020.4423-0.1180-0.88910.89690.05510.4389源信号:混合后的信号:解混后的信号:分析:从上面的结果可以看出,分离出的信号幅度和顺序发生了改变,同源信号几乎一致。第二种算法:ICA的共车厄下降法原理:这种方法以最小化互信息准则作为ICA的判据。在信息论里,互信息是衡量随机

9、变量间独立性的尺度,用负端来表示互信息为:/(j,Q2,,y)=J(y) -.fJ其中J(y)表示y的负焙。当y中各分量相互独立时,最小化互信息就等价于最大化各分离成分的负燧之和。负焙可以由儿(匕)心 cEG(yj)-EG(v)2近似。其中,C为常数,v是具有0均值,单位方差的高斯变量,E表示期望运算,G是非线性非二次的函数,本实验中取G = 。所以此问题转化为找出权值矩阵W,使分离出来的估计信号丁 = x能使函数/g(J)最大。算法实现:定义目标函数为:min -Jg(w) = - EG(x)5 .t. |W 2 = 1其中,W为矩阵W的向量。前面提到的负端由前面的式子近似的条件是V是。均值

10、单位方差的变量。对于已经白化的观察信号X,这就相当于限制W的范数为1。转化为无限制条件的优化问题,根据工程优化的相关知识,可以得到惩罚函数为:F(w) = - EG(wx) + c( v2 -1)F (w)的梯度为:V77(w) = -ExG,(wx) - cnr其中,a为常数,G为G的导数。w的计算步骤如下:1 .设定初始点“,置Q = -VT (沙),设定迭代次数为n=1000次;2 .若n=1000则停止迭代;否则进行正交归一化;其中步长4为l,., (02l),且4满足条件:尸(1, + kdk) = min 尸(w* + dk)3 令A1=尸卜1) k dk ,-vjf(u1)2其中

11、夕二 max z ,).)产)4.置 k: =k+l,转 2.算法程序:%产生源信号并显示t=linspace(0,100,100);sl=sin(t/2);plot(sl)s2=l1000*t.2.*cos(t4).2jfigure;plot(s2)s3=exp(-0.2*t).*cos(pi*t);figure;plot(s3);%进行源信号混合A=0.1,0.2,0.7.2,0.4,0.4j0.3,0.2,0.5j% 混合矩阵s=sl;s2;s3;Y=A*s;%去均值和球化meanValue=mean(Y,)jY=Y-diag(meanValue)*ones(size(Y);covari

12、anceMatrix=cov(Y,)jU,V,W=svd(covarianceMatrix)jx=diag(V);x=x.(-12)jV=diag(x);Z=V*U*Y;%球化后的矩阵%显示球化后的信号figure;plot(Z(l,:);figure;plot(Z(2,:);figure;ploHZ(3,:);%盲源分离算法主程序syms y G%定义y和G为符号变量G=l4*y4jwl=rand(3,l);wl=wl.sqrt(sum(wl.2)j%产生初始的范数为1的随机向量u=zeros(3,l);g=diff(G);for 1=1:100y=wl*Z(:,i);u=u+eval(g)*Z(:,i);enda=0.1;u=-u./100-a*wl;dl=-u;%产生初始的搜索方向向量dp=zeros(3);%选择初始的步长minbfor i=l:3n=0;c=a.0,1,2,3,41;e=length(c);while(n=1000)minb=c(l);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 汇报材料

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服