基于fasica迭代算法的盲源分离研究.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于fasica迭代算法的盲源分离研究 摘要:在进行信号预处理时,经常需要将多个混叠的源信号分离。遇到原信号与传输信道都未知的情况时,经常需要根据观测信号的统计分布情况,去分离原始信号。本文介绍了一种基于FastICA迭代算法的盲源分离技术,用于将瞬时叠加的多个非高斯信号进行分离。文章分析了该算法的数学原理,设计了算法程序的实现流程,并在python开发环境下对算法进行了仿真,仿真程序很好的仅从接收信号中分离出了所需的源信号。可用于一些混叠信号的盲源分离。 盲源分离是指从多个观测到的混合信号中,根据源信号的统计特性,仅由观测信号恢复出各个源信号成分的过程。盲源的“盲”字有两层意思: (1)源信号并不知道 (2)对于信号各自的传输信道并不知道。 盲源分离算法在在语音、水声、通信、生物医学工程等多个领域具有非常重要的意义。本文基于python开发环境,利用Fast ICA算法实现了线性叠加信号的盲源分离。 问题描述 为了简化模型,现考虑只有两个源信号和两个观测信号的情况。若源信号为S 将A视为传播矩阵,则有: 即: 若存在A矩阵的逆矩阵W,则存在: 基于Fast ICA的盲源分离即通过估算传播矩阵A的逆矩阵W,计算出源信号矩阵S,从而将混叠的独立信号分离。 根据Darmois-Skitovitch定理,若X 当Y 根据这个定理可以推出Fast ICA的有效性,当N=2,S是非高斯独立源时,混叠信号的表示如下式所示: 可以找到一个旋转变换使Z 根据Darmois-Skitovitch定理,由于S为非高斯信号,且Z 或: 两个信号从混叠信号中分离了出来。 通过白化操作,可以找到旋转矩阵;通过增加两个信号的非高斯性,可以提升两个信号的相互独立性,迭代以上操作至信号的相关性小于一定的阈值,便可以将两个混叠的独立信号分离开来。 白化 数据的白化可以去除数据中的冗余信息,保证变换矩阵为旋转矩阵,且对数据的信息熵不产生影响。即若X是一个随机变量,存在一个白化变换矩阵V使得Z=VX满足E[ZZ 计算方法: 设X的协方差矩阵为cx=E[XX 将C 去相关 其中:其中P为单位特征向量,D为特征值组成的对角矩阵 Fast ICA的迭代算法 经过处理后,迭代算法要做的就是找到一个最优方向的W,使得该方向上的非高斯性最大。W的高斯性可用J 即: 其中: 即令: 即令: 即令: 其中,G即为X的累计分布函数(CDF),常用的G取值包括: 迭代更新W 程序实现 根据算法原理,设计的程序流程如图2所示: 在python环境下,对该Fast ICA算法进行了仿真,其中,S的CDF取函数g(S)=tanh,即X的pdf=g(S)=1-g(S) 仿真结果 对该程序进行了仿真运算,源信号设置为多个正弦信号的叠加信号,采样率设置为16000,使用多个不同的传播矩阵进行了仿真,其中源信号为: 混合矩阵为: 接收信号与解析信号的前100个采样点如图4所示。 接收信号与解析信号的频域信号如图5所示。 对比算法分离出的信号与原始信号可见,该算法较好的分离出了两个原始信号,只是顺序与原信号相反。 进行了多组数据的仿真,当原信号为: 混合矩阵为: 可见,该算法对于各类信号都具有较好的效果。 缺点与不足 (1)Fast ICA算法的不确定性: 仿真结果表明,该Fast ICA算法对非高斯信号的分离效果是十分理想的,程序分离的源信号与仿真生成的源信号基本一致,但多次运行程序会发现分离出的信号的顺序存在着不确定性,输出的分离信号常常与输入的源信号顺序不一致,且输出信号仅特征与输入信号一致,幅值并不相等,这是由于Fast ICA算法的不确定性导致的。由于传播矩阵W与源信号矩阵S均未知,在没有先验知识的情况下,无法同时确定两个相关参数。在进行S=WX的过程中,当W扩大n倍时,S只需同样扩大n倍,等式便依然成立,即Fast ICA输出的幅值具有不确定性;且当W中元素顺序打乱时,只要按照同样的顺序调整S的排序,依然会得到相等的X,即Fast ICA输出的顺序具有不确定性。 (2)Fast ICA算法只适用于非高斯信号:由Fast ICA的有效性推倒可知,Fast ICA算法只适用于非高斯信号,面对高斯信号时该算法不起作用。 (3)Fast ICA算法只适用于分离线性叠加的盲信号,而现实中的混叠信号往往并不是线性叠加形成的混叠信号,在存在时延的混叠信号中,接收信号实际为传波矩阵与源信号的卷积,这时使用Fast ICA算法将无法较好的分离源信号,面对这类问题时,还有待进一步研究其他的解决方法。 数学原理 基础原理

文档评论(0)

lgjllzx + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档