盲信号分离毕业论.docx_第1页
盲信号分离毕业论.docx_第2页
盲信号分离毕业论.docx_第3页
盲信号分离毕业论.docx_第4页
盲信号分离毕业论.docx_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 语音信号分离是近几十年来广泛应用于通信、雷达、电子医学等方面的发展方向,其理论基础是语音信号的盲源分离。本文主要介绍了盲源分离和独立分量分析概念以及相关知识,探讨ICA研究中的主要问题。盲信号处理算法分为批处理算法和自适应算法两类,研究得到一种批处理和自适应相结合的快速独立分量分析(fast independent component analysis, Fast ICA)算法。在语音信号的处理和分离中,声音的信号多种多样,但是来自不同语音源的信号保持相对独立,利用此特点及盲信号分离的思想,将Fast ICA算法作用在语音信号的分离上,从而获得独立的声音文件。本文重点研究了盲信号处理的思想和ICA算法,明确了ICA方法的数学模型、基本假设条件以及ICA目标函数的估计准则。本文使用三个声音文件做实验,用matlab进行仿真试验,通过分离前后的波形图进行对比与分析,来证明该算法具有良好的语音信号分离效果。关键词:语音信号分离;盲信号处理算法;独立分量分析;ICA固定点算法英文摘要目录1绪论41.1研究背景与意义41.2本文研究方向42盲信号处理相关知识52.1盲信号处理的概述52.2盲信号处理的方法62.3盲信号处理的研究与应用62.4独立分量分析72.4.1独立分量分析的定义72.4.2ICA基本概念83语音信号特性与分析103.1语音的特性103.2有关语音信号处理的基础知识113.3语音信号的MATLAB程序113.3.1输入语音信号的MATLAB波形图分析113.3.2混合语音信号的MATLAB波形图分析134FastICA算法144.1语音信号数据的预处理144.2FastICA 算法154.3快速ICA算法分离的基本步骤174.4混合语音信号波形图184.5分离语音信号波形图194.6对比与分析205结论21致谢21主要参考文献211 绪论1.1 研究背景与意义数字信号处理技术是1960年开始,伴随着计算机技术的发展而迅速发展起来的一门学科技术。从诞生起,它便显示出了庞大的潜力,并很快在诸如雷达和声纳,电子通讯工程,以及电子生物医学等领域中应用于实际,并且取得了非常好的效果,使人们对这门技术给予了很大的期望。但是由于早期技术能力的不足,数字信号处理主要是根据一个高斯稳态信号和系统限制因果最小相位系统的假设,而信号的分析主要使用其相关函数(时域)和功率谱(频域)等二阶统计信息。因为在许多情况下,这些假设大致成立,因此通过实际需要的数字信号处理技术的发展迅速并逐渐完善,且被日益广泛的应用。在这同时,信息理论,人工神经网络,多维信号处理技术,进化算法,模糊推理,盲信号处理等等技术在过去十年中取得的突破显著,并已经应用到信号处理领域。在理论和技术方面,这些新的突破已逐渐成为现代信号处理的里程碑。使得无论各行各业的研究人员都需要学习并掌握现代信号处理方法,并将其应用于行业中。随着数字信号处理技术的应用在各个领域的应用逐渐深化,以及数字信号处理技术本身的不断发展,大家开始并不满足于处理线性时不变因果最小相位系统以及平稳高斯信号,以及经典的信号处理理论,因此非平稳,非高斯和非线性、时变的非因果最小相位系统被推出舞台。同时,由于对于高阶统计量和小波变换的研究有很大的进展,现在已经能够对非高斯以及非平稳信号进行信号分析并进行处理。曾经一度让人认为无法解决的加性有色噪声的信号处理,也已经取得了实质性的进展。此外,自适应信号处理算法以及高分辨率频谱分析等方面也有了突破性的发展。1.2 本文研究方向鸡尾酒会效应(cocktail party effect),也称为选择性关注(selective attention),即为盲源分离的一个实际例子,指人在嘈杂的环境中或者很多人同时说话的环境下依旧能分辨出自己感兴趣的声音,这说明人类的大脑可以进行类似于盲源语音分离的工作,在实验中,我们并不能认为计算机可以完全替代人脑对于语音的识别程度,但是通过软件将原本混合在一起的语音信号分开,来模拟嘈杂环境下的语音识别是可以实现的。2 盲信号处理相关知识2.1 盲信号处理的概述盲信号处理(Blind Signal Processing, BSP)是近年来在现代数学信号处理领域中的重要发展方向。它指在信号在无参考信号的条件下,来估计出原始信号的方法,用系统的输出数据,通过处理手段来获得我们想要了解的相关信息。盲信号处理已经能够在移动通信、电子信息处理、生物医学工程、雷达与探测等等专业领域中广泛应用。盲信号处理中的“盲”指信号源是未知的,并且混合信号也是未知的,因此我们在盲信号处理的过程中无法使用这点。例如,人们在用移动设备通信时,发出的信号是未知的,而且如果人们在大街上打电话,过程中可能在不断走动,信号源也会移动,导致信道不断变化,因此这也是未知的。通信的任务即为从接受到的信号去恢复本身的原始信号。盲信号处理虽然是近几十年内才刚刚发展起来的一门新研究领域,但是由于其应用范围广泛,使得各国科研人员都大力投入在这门学科中,但是研究进程不算太快,因为其涉及的知识面以及应用面都很广阔但是理论却并不是很成熟,因此其中的许多问题都需要进一步的探讨和解决。例如以下几方面:1、带噪声的语音信号盲处理很多实际应用的情况下,混合语音信号中往往掺杂着许多噪音,由于本身限制信号处理的制约条件就已经很多,因此在含有大量噪音的情况下去进行盲信号处理还是十分困难的,即使现在很多算法在原语音信号含有噪声的情况下也能展现出较好的处理性能,但是由于噪声种类繁多并且不好控制,进行盲信号处理还是有很大程度的制约。因此在现有的多数盲信号处理的计算方法中,都会假设原信号不含噪音,亦或者是将噪音看作另一个独立的原信号来进行处理。2、非平稳的语音信号盲处理我们的计算过程中一般使用的是平稳的语音信号,但是实际情况中,很多原信号都是非平稳的。在非平稳特性下如何进行盲信号处理也是该学科所面临的一大难题。3、卷积语音信号的盲处理我们进行盲信号处理时一般使用的是直接传递来的语音信号,而大部分实际情况中,系统接收到的信号是通过不同途径传递到接收器中的信号,在传递的过程中,必然会产生信号的反射过程,使得接收到的信号并非原信号本身,在这种情况下的信号盲处理还没有什么很好的解决方式。4、ICA算法的实际应用在进行科学研究中,我们可以在理论的状态下用ICA算法进行识别语音、处理图像、雷达声呐信号处理、处理电子医学信号等等,但是如何将纯理论状态下的算法进行实际推广还有一定难度,因为实际情况远远比理论状态下要复杂的多。将ICA算法推广到实际应用是这门学科发展的当务之急。2.2 盲信号处理的方法盲信号处理依据其经过传输信道的混合方式可划分为三类,依次为线性瞬时混合信号盲处理、线性卷积混合信号盲处理以及非线性混合信号盲处理三类。依据其原信号和观测信号数目的差距可划分为欠定、适定和超定三种情况。依据其原信号分布的不同可划为超高斯、亚高斯、超高斯和亚高斯混合分离,同时其信号还可分为平稳、非平稳等。依据其信道中是否有噪声及其特性可划分为有噪声、无噪声、含加性噪声和乘性噪声等。而与此同时,我们可以把盲信号处理的目的分为两种,即盲辨识和盲源分离。一般情况下,我们需要先进行盲辨识,之后进行盲源分离处理。其中盲辨识的目的是为了求出传输通道中用的何种混合矩阵来组成混合系统。而盲源分离的目的则是为了通过混合矩阵来求出原信号的最佳估计。2.3 盲信号处理的研究与应用近几年来,盲信号处理已然成为当今时代信息处理领域的热门话题之一,特别是在生物医学工程,医学影像,语音增强,通信系统,地震勘测,地球物理,计量经济学和数据挖掘等领域表现出庞大的发展潜力,尤其是盲源分离技术,通过ICA技术的不断挖掘和应用于实际,它已经变得相当令人瞩目。下面介绍盲信号处理被应用的最为广泛的两个领域:1、生物医学信号在生物医学领域,盲信号处理可以被应用到心电图(ECG),脑电图(EEG)信号分离,可听信号分析,以及功能性磁共振成像(FMRI)分析等等方面。现在在电子医学方面,心脑电图等等的数据处理上,已经很广泛的应用了盲信号处理的思想与技术来进行识别、除伪迹等工作。2、语音识别领域语音识别是新一代人机交互所需的重要技术之一,也是机器即将更加人性化所需的技术基础,而噪声则是阻碍其进行语音识别的主要影响原因之一,尤其是类似于“鸡尾酒会效应”的环境下,噪声复杂且多变,这使得机器想进行语音识别变得更加的困难,而盲信号处理就可以帮助去除噪音,起到抑制信号干扰,加强语音信号程度,提高语音质量的重要作用,因此盲信号处理在语音识别领域起到了重要的推进作用。2.4 独立分量分析独立分量分析(Independent Component Analysis, ICA)是1990年前后得以发展并被广泛认知和使用的一种新型信号处理技术,它是一种从多个源信号通过混合系统得出的线性混合信号中,通过计算混合矩阵,来分离出源信号的技术。在这个计算过程中,除去已知源信号是相互独立以外并无其它条件,来分离或近似分离出原信号的分析过程。从原理上来讲,只靠单一通道去观察信号本身是无法做到这种目的的分解手段,只有通过寻求一组把这些信源按不同混合组合起来的多通道同步观察才有可能完成。从另一个方面讲,ICA是多导信号的一种处理方法,但是把一组观察信号分解成几个独立成分,分解结果必然不唯一,因此分解需要加一定的约束条件来使得到的答案更接近我们所期望的结果。ICA算法是基于在各个领域中困扰许久的盲源问题而被广泛重视并研究的,故其又称盲源分离算法。2.4.1 独立分量分析的定义ICA是在多变量(多维)统计数据中来找出其中隐藏因素及成分的手段,它被广泛认为是主要成分分析(Principal Component Analysis, PCA)和因子分析(Factor Analysis)的扩展手段。ICA是在仅知混合信号而不知源信号、混合机制及噪声干扰的情况下,在信号处理领域中,盲信号处理(其中包括盲辨识、盲信源分解、盲通道均衡等等)是在20世纪90年代后期才发展起来的,ICA是其中的一个重要组成部分。最早提出ICA理念的是Jutten与Herault分别于1986年和1991年在Signal Processing期刊上发表的论文。他们在论文中阐述的理念让人耳目一新,但是理论上却不够完善。在这之后,由Comon在1994年发表了一份新的论文,在理论上赋予了比较严密的数学定义。到了20世纪末,随着科学技术的发展,ICA出现了很多不同的处理算法,被广泛应用于全世界很多科研单位的科学研究中。从时间上我们可以看出,ICA的发展历程非常晚,从出现到现在时间很短,但是不论是理论上还是实际应用上,ICA都在被世人所广泛关注着,在国内外都是重点的研究对象。特别在应用方面,ICA所展示出的适用范围和前景是十分可观的。目前其主要应用于盲源分离、语音识别、通信领域、生物医学工程、心脑功能成像、时间序列分析以及数据挖掘等等领域。2.4.2 ICA基本概念ICA 的基本过程如下图所示图 21由图示,在信源s(t)中的各个分量相互独立的前提下,经过混合系统A混合,再由观察x(t)来通过解混系统B将其分离开来,使得输出的y(t)能够最大限度的逼近于s(t)。一般情况下,我们将解混系统分为两步即为球化W和正交变换系统U,通过这两步来达到解混的目的。并且通过这个整体过程我们可以知道,独立分量分析实际上只是一个优化手段,因为这个问题其实并没有唯一解,我们所能做的只是在某一衡量独立性的判断依据最优的意义下来寻求问题的最近似答案,来使得y(t)中的各个分量能够尽可能的相互独立;y(t)与s(t)不只是相互近似,得出的结果在幅度大小和排列顺序上都允许它们有一定程度的不同。解混系统B中,我们采用两步法来进行解混时,第一步的“球化”是使输出z(t)的各个分量z1(t)、z2(t)等等的方差为1,并且互不相关(但不一定相互独立);第二步的“正交变换”是使输出的分量y1、y2等等的方差继续保持为1,同时使其相互独立。由于输出的z1(t)、z2(t)等分量均满足了二阶统计量中对于独立性的要求,因此进行第二步的时候我们只需要考虑三阶以上的统计量(通常情况下主要是三阶和四阶统计量),来使算法能够简化。因此在各种文献中,有时能看到将ICA成为一种“对于任意多变量数据来寻求一种非正交坐标系统的分解方法”。其中的坐标轴方向是由二阶以及高阶统计量来决定的。图2-1中的流程图中并没有考虑噪声,这种情况下的模型如下:1、无噪声ICA模型给定随机变量的一组观测x1(t)、x2(t)、x3(t) xn(t),其中t是样本或者时间的编号,假设他们是由独立分量线性混合而成的: (2.1)式中的A即为混合系统,是一个未知矩阵。用向量和矩阵符号方式来表述上式。随机向量x指混合向量,由x1、x2 xn组成,s指元素s1、s2 sn,A指混合矩阵系数aij。利用向量和矩阵符号,可以将混合模型表示成如下形式: (2.2)如果在计算中要用到混合系统A中的列向量时,前模型也可以写为如下形式: (2.3)当我们将噪声的情况考虑进去时,会得到以下情况。2、有噪声ICA模型现实中很大部分情况,在语音信号处理中是有加性噪声的存在的,我们将上面基本无噪声ICA模型扩展到有噪声的情况下,就会得到如下新的模型: (2.4)式中的是噪声向量。如果噪声是直接添加在原信号的情况下时,信号原噪声可用如下公式来表示: (2.5)以上即为有噪声情况下的ICA模型。3 语音信号特性与分析3.1 语音的特性语音,即语言的物质外壳,是人类交谈的语言符号的传输系统。语音由人的发声系统发出,承载着语言意义。语音的物理基础主要为音长、音强、音调、音色,这是语音的四要素。音长,取决于发声持续时间的长短,也可称之为“时长”;音强指声波振动幅度的大小,也称“响度”;音调指声波的频率,即每秒钟振动次数的多少,频率快则音调高,慢则音调低;音色指声音的本质与特色,也称为“音质”,是一种声音相较于其余声音信号辨识度的基本特质。语音信号有如下两点特性:1、短时平稳性由对语音信号的研究我们可以知道,语音信号是一种不平稳并且会随时间改变的传输信号。而从另一个角度来说,人的发声系统的结构在一定时间内的变化是有限的,在极短的时间内(1030ms),人的声带形状是基本稳定不变的。由此我们可以认为语音的特性在较短的时间内是稳定不变的,语音的短时平稳性是我们进行语音信号分析以及处理的基础。2、清音和浊音语音主要分为清音、浊音以及爆破音三种,它们在产生的方式上有极大的差别,在这里我们只讨论清音与浊音。清音由随机性噪音所产生,在时域和频域上并无明显周期性及特征,与白噪音相似;而浊音由周期性脉冲产生,在时域上有非常明显的周期性,在频域上浊音的能量主要出现在低频段中,并且会有共振峰结构。3、语音的时域特征在大部分情况下,发声人说话内容时间均不同,毫无规律可言,所以语音信号是随时改变的,但是由语音的短时平稳性作为基础,我们才可以在语音处理中进行计算与分析。人在讲话时,句与句、字与字之间必然会存在一定时间内的间隔,因此从时域上来看,语音信号可以分为两种音段:有音段和无音段。通过检测语音信号中有音段和无音段,可以去除语音中比较明显的噪声,且无音段越多,语音的稀疏性就越好。4、语音的频域特征语音信号中,频谱能量一般集中于的区间中。由于语音信号主要分为浊音和清音,浊音信号所含的能量较多,占据整个语音信号的大部分,频谱集中在低频段,并且会表现出周期性;清音信号出现则较随机,在频谱图上基本与白噪音类似。3.2 有关语音信号处理的基础知识根据所要分析的参数的不同,语音信号处理的手段又可分为时域、频域、倒频域等手段。其中时域分析较简洁,并且物理意义十分明确。在进行频谱分析时,我们需要对语音信号进行加窗处理,通过一个波形函数的分段来使得每次只需要处理“窗”所分出的数据。由于在显示中,语音信号一般有一定长度,而我们并不需要对所有数据进行一次性处理。语音信号一般是在1030ms之间,我们可将其视为平稳的。因此我们可以每次只取一段数据,进行分析,然后取下一段数据分析,依此类推。由于人说话的声音可分为浊音、清音以及静音三部分,所以我们需要改变原语音的基音频率,来达到变声的目的。方法是直接将采样数据乘一个余弦函数,通过这种方法可以将原语音信号的频段调到一个更高的频段,来达到变声的目的。这种方法适于分析时域及频域特效。3.3 语音信号的MATLAB程序3.3.1 输入语音信号的MATLAB波形图分析在实验中,我们通过Matlab来处理选取的音频文件,因为Matlab仅支持格式的音频文件读取及处理,因此我在网上找了三个wav音频来进行模拟算法,分别为信号一:天下无贼中的对白;信号二:龙吼的声音;信号三:一段萨克斯音乐,来确保三种信号没有类似性。通过书籍以及网络查阅,编写了程序来用matlab对这三个音频信号进行处理及分析,程序如附录所示。图3-13.3.2 混合语音信号的MATLAB波形图分析通过程序处理,来将以上三个原始信号进行混合,然后用来模拟ICA算法,下为经过程序处理混合后的语音信号的波形图分析,程序如附录所示。图3-24 FastICA算法4.1 语音信号数据的预处理在大多数情况下,我们进行语音信号盲处理时得到的数据都具有着相关性,所以需要在处理之前对数据进行球化,因为球化处理可去除各个观测信号之间的相关性,使得之后在提取独立分量的过程中更加简单一些。并且很多时候,将进行了球化处理的结果与未进行球化处理的结果来比较可以发现,前者的收敛性往往更好。对语音信号数据进行预处理的方式如下:假设一个零均值的随机向量Z=(Z1,Z2, ,ZM)T满足EZZT=I,即可称该向量为球化向量。球化处理即为去相关,与主分量分析是目标一致的。在ICA中,对于均值为0的独立原信号S(t)=S1(t),S2(t),Sn(t)T,有ESiSj=ESiESj=0,当ij,并且其协方差矩阵是单位阵cov(S)=I,由此可以得知原信号S(t)是球化的。接下来对观测信号X(t),我们需要寻找一个线性变换,来让在投影到新的子空间后会变成球化向量,即: (4.1)其中W0为球化矩阵,Z为球化向量。接下来用主分量分析,通过计算样本向量能够得到一个变换: (4.2)上式中代表协方差矩阵CX的特征值矩阵,U代表协方差矩阵CX的特征向量矩阵。由此我们可以得知,线性变换W0满足球化变换的要求,由正交变换的规律,能够保证UTU=UUT=I。因此协方差矩阵能够写成如下形式: (4.3)接下来将X(t)=AS(t)代入到Z(t)=W0X(t),并令,有 (4.4)因为上式中线性变换是连接两个球化随机矢量和,我们可以得知必然是正交变换。假如我们将上式中的视为一个新的观测信号,那么可以认为,我们将原混合矩阵A经过球化简化成为了一个新的正交矩阵。正交变换相当于是对多维矢量所在的坐标轴进行了一次旋转。在多维情况下,混合矩阵A是NN的,经过球化处理之后的新混合矩阵,因为其本身为正交矩阵,自由度下降为,所以可以说球化处理能使我们进行ICA问题的工作量降低了很多。在ICA问题的处理中,进行球化处理的方法可以有效降低问题的计算量和复杂度,并且算法不算困难,通过传统PCA即可解决。4.2 FastICA 算法FastICA 算法,也称为固定点(Fixed-Point)算法,是一种快速寻优迭代算法,有效的统一了自适应与批处理的计算方式,在每一次迭代过程中都运算了大量的样本数据。FastICA 算法有很多种形式,如基于峭度、基于似然最大、基于负熵等等,在这里我们主要使用基于负熵的ICA算法。1997年,芬兰赫尔辛基大学学者 Aapo Hyvrinen等人率先提出了一种基于四阶累积量的固定点算法,并且在这之后他们于1999年又提出了一种改进的方法基于负熵的ICA固定点算法。而在2001年,他们在出版的Independent Component Analysis一书中,进行了进一步的简化。由于新的算法相较于自适应以及批处理算法具有更快的收敛速度,由此这种算法也称“快速ICA算法”(fast ICA,FICA)。由于FastICA算法是以负熵最大作为寻找方向的,所以我们需要先确定下负熵的判断条件。从信息论理论中,我们可以知道:如果所有随机变量均为等方差的情况下,那么其中高斯变量的熵是最大的。所以我们能够利用这个性质来度量非高斯性。由中心极限定理,如果一个随机变量X由许多相互独立的随机变量Si(i=1,2,3,n)之和组成,那么只要Si具有有限的均值与方差,不论它是哪种分布,随机变量X必然比Si更接近高斯分布。所以,在分离的过程中,能够使用分离结果的非高斯性的度量来表示分离结果之间的独立性。各独立分量分离完成的条件就是其非高斯性的度量达到最大值。负熵的定义: (4.5)上式中的是一个和Y拥有相同方差的高斯随机变量;是该随机变量的微分熵。其式如下: (4.6)根据信息论的理论我们可以知道,如果几个随机变量有相同的方差,那么高斯分布的随机变量具有较大的微分熵。当上式中的Y具有高斯分布时,;并且的非高斯性越强,它的微分熵就会越小,的值也会相对越大,所以我们可以将作为随机变量Y的非高斯性测度。但是因为计算微分熵需要知道Y的概率密度分布函数,而我们并不能得知这点,因此只能采取下式作为近似算法: (4.7)其中是均值运算;为非线性函数,可以设g1(y)=tanh(y),或,亦或者。在这里,由于,所以通常取=1。快速ICA算法的目的是找到一个方法来使得WTX(Y=WTX)的非高斯性达到最大。快速ICA算法的推导过程如下:第一,通过对EG(WTX)进行优化来得到WTX的最大近似负熵。由Kuhn-Tucker条件可得,E(WTX)2=|W|2=1的约束条件下,EG(WTX)能再满足下式的条件点上得到最优值: (4.8)上式中,的值恒定,,W0是优化后的W。接下来用F来表示(4.8)式左边的函数,可以得到F的雅克比矩阵JF(W): (4.9)为了简化以上的矩阵求逆过程,我们可以将其近似为(4.9)式的第一项。因为数据已经进行了球化处理,有,得到下式: (4.10)由上式的变换,雅克比矩阵变为了对角阵,较易进行求逆计算。计算得到以下近似牛顿迭代公式: (4.11)在上式中,是W的新值,将解进行规范化能有有效提高解的稳定性。简化后即可得快速ICA算法的迭代公式如下: (4.12)在实际应用中,快速ICA算法所要用到的期望要用其估计值来取代。最好的估计值必然是数据相应的样本平均。在理想条件下,快速ICA算法应该计算所有的样本有效数据,但是这样会大大降低计算效率。因此,通常在实际应用中,我们要取一部分样本的平

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论