东北大学秦皇岛分校毕业设计(论文) 第 41 页
50-520-250-550-502004006008001000020040060080010000200400600800100002004006008001000(c) 盲分离结果
图4.10 FastICA算法对亚高斯和超高斯的杂系混合信号的分离
其中分离矩阵W为:
?-0.507230.27317-0.79171-0.20321???0.066349-0.57147-0.419850.70196? W???0.23948-0.65927-0.20575-0.68241???0.825210.40517-0.393170.016694??由图4.10(c)的盲分离结果与图4.10(a)的源信号进行对比,可以判断快速定点算法对于亚高斯信号与超高斯信号的杂系混合信号的盲分离是有效的,而且算法中的迭代步骤很好,分离结果同样出现了第二章2.6提及的信号盲分离的两个不确定问题。
在仿真过程中,我们改变采样值来衡量算法的性能,结果发现当采样值为10000时,仿真的迭代次数为19次得到分离矩阵,而改变采样值为1000时,仿真的迭代次数变为22次。由此可见,FastICA算法性能与采样值无关。
综合以上仿真结果来看,FastICA快速定点算法是一种既快又稳健的算法,它不仅适合分离同系亚高斯、超高斯信号,而且也可以分离杂系信号。快速定点算法的另一个特点是不需要选择迭代系数,这样就大大简化了算法的复杂程度。经大量的实验仿真,在运算过程中,只需要运用大约10ms的采样点就可以求得分离矩阵W,并且当观测信号的个数大于源信号个数时,只需从接受信道中任意选择与源信号个数相等数目的观测信道来作为混合信号就可以了。
东北大学秦皇岛分校毕业设计(论文) 第 42 页
4.3 分离算法的对比
由于Infomax算法未能完成对亚高斯信号以及杂系混合信号的分离,所以再次仅对超高斯信号的分离结果进行对比。将Infomax算法和FastICA算法仿真实验得出的结果进行对比,如图4.11。为了便于对比,图4.11中将分离结果进行人为排序。
图4.11 Infomax算法和FastICA算法分离超高斯混合信号的结果对比
对比图4.11中两个算法的分离结果,我们很难分辨出FastICA算法和Infomax算法的优良。分析其原因,我们可以发现主要是Infomax算法常用来处理超高斯源信号的混合语音信号。而FastICA算法不仅适合分离同系亚高斯、超高斯信号,而且也可以分离杂系信号。快速定点算法的另一个特点是不需要选择迭代系数,这样就大大简化了算法的复杂程度。并且当观测信号的个数大于源信号个数时,只需从接受信道中任意选择与源信号个数相等数目的观测信道来作为混合信号就可以了。可见FastICA算法的适用更加广泛。 4.4 本章小结
通过学习和研究Infomax算法和FastICA算法的理论知识,我初步的掌握了Infomax算法和FastICA算法的原理和基本步骤。并且通过仿真,利用上述两种算法对亚高斯混合信号,超高斯语音混合信号,以及亚高斯和超高斯杂系混合信号进行盲分离仿真。
通过分析Infomax算法和FastICA算法,我们可以看出这两个算法虽然有着各自的理论背景,但是它们最终是统一的。可以发现,适当形式的非线性函数在以上算法充当
东北大学秦皇岛分校毕业设计(论文) 第 43 页
了重要角色,其根本作用是引入信号的高阶统计信息,使输出各分量尽可能的独立。理论上,非线性函数的选取依赖于源信号的概率密度函数,而在实际当中只能假定源信号具有某种分布,因此近似选用一个固定的非线性函数。同时比较了同一算法对具有各种分布(主要表现在峭度值的不同)的信号进行分离结果,分离的效果部分还是取决与原始信号的非高斯性。
东北大学秦皇岛分校毕业设计(论文) 第 44 页
第五章 总结与展望
盲信号处理与盲信源分离是国际上研究的一个热点,它包括神经网络方法与非神经网络方法。盲信号处理是在信号未知的情况下进行信号处理,主要分为盲信号源分离、盲系统辨识、盲均值、盲反卷积等。盲信号处理的主要发展趋势有:高阶统计量方法、循环二阶统计量方法、与通信信号处理的关系、与智能信号处理的关系。本论文从独立分量分析入手,分析盲信号处理,并通过FastICA算法和Infomax算法对亚高斯混合信号,超高斯混合信号,以及亚高斯和超高斯杂系混合信号的盲分离进行仿真。 5.1 总结
本次毕业设计中的一个重点就是使用Matlab仿真软件对盲源分离进行算法仿真,而在大学学习期间,我很少使用该软件,接触Matlab也就是在信号与线性系统实验和数字信号处理实验中,对于软件并没有深入学习。通过这次本科毕业设计,我系统地学习了Matlab语言,发现其要比C语言相对简单多。但是Matlab语言中包含了大量的数学函数,在编程的过程中,如何正确使用函数来实现算法是仿真实现的关键。使用过程中一定要借助Matlab帮助,当不明确函数功能时,将它代到程序中去,单独实现结果,通过结果来分析函数。通过大量的查阅资料,最终我成功实现了算法仿真。
本次毕业设计的研究主体是盲信号处理中的两个经典算法:Infomax算法和FastICA算法。因为盲信号处理是最近十几年内刚兴起的一门新兴研究领域,在刚接触盲分离算法时,我对于如何实现算法仿真没有任何思路。经过对基础知识的学习和大量资料地查阅,我逐渐了解了独立分量分析原理和盲信号分离原理,明白了一个算法的好坏关键取决与其迭代部分,也就是说要掌握一个算法,关键看他的迭代部分。后来我通过理论学习和实验,初步掌握了这两个算法,并且成功实现了对亚高斯混合信号以及超高斯语音混合信号的分离。
尽管源信号盲分离算法具有很强的信号分离能力,但也存在一定得缺陷:①所谓分离只是从信号的波形上恢复,并不能得到源信号的真实幅度;②盲分离算法要求所有的源信号必须互相统计独立,且高斯信号的个数不得超过一个;③本论文所给出的盲分离算法要求接收信号的个数必须大于或等于源信号个数。
盲分离算法要求混合矩阵是满秩实矩阵,即传感器所接收到的信号是源信号的瞬时
东北大学秦皇岛分校毕业设计(论文) 第 45 页
迭加。但在实际通信领域的应用中,同一时刻,不同传感器接收到的信号不是源信号的瞬时迭加,而是源信号不同相位延迟的迭加,不再是源信号的瞬时线性混合,不满足盲分离的条件。同时,要实现算法的盲分离也需要满足文中提到的5个基本假设条件,而实际应用中往往难以满足这些条件,所以要将盲分离算法应用于实际的信号分离问题还需要进一步的研究。 5.2 研究展望
信号盲分离问题的研究,目前已经取得了长足的进步,至少在理论研究上已经得到了很多有意义的结果。在不存在观测噪声并且混合信号满足混合模型的前提下,有很多的盲分离算法已经能够非常好的完成源信号忙分离。但是盲分离算法在实际的信号分离问题中的应用还需要进一步的研究,只有把盲分离算法从理论上应用到实际的信号处理中,才能实现源信号盲分离算法的研究意义。根据目前对源信号盲分离算法的研究,我认为在以下领域还需要进一步的研究:
1) 对于源信号个数未知,甚至源信号个数不断变化的盲分离问题的研究; 2) 对源信号数目多于混合信号数目的源信号盲分离问题的研究; 3) 对非线性混合情况下的源信号盲分离问题的研究; 4) 对非平稳的源信号盲分离问题的研究;
5) 对于源信号之间具有一定相关性的源信号盲分离问题的研究。
总之,对于源信号盲分离问题在世纪信号处理领域中的应用,还需呀进一步的研究,以上所提出的几个问题,如果能够得到很好的解决,相信必将大大促进盲分离问题在实际应用中的价值。
由于时间和条件有限,本论文工作中还有很多内容需要进一步的深入研究,需要逐步加以完善。