信息处理课群综合训练与设计学位论文.doc

上传人:可****阿 文档编号:91712213 上传时间:2023-05-27 格式:DOC 页数:34 大小:819KB
返回 下载 相关 举报
信息处理课群综合训练与设计学位论文.doc_第1页
第1页 / 共34页
信息处理课群综合训练与设计学位论文.doc_第2页
第2页 / 共34页
点击查看更多>>
资源描述

《信息处理课群综合训练与设计学位论文.doc》由会员分享,可在线阅读,更多相关《信息处理课群综合训练与设计学位论文.doc(34页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、学 号: 课 程 设 计题 目信息处理课群综合训练与设计 语音信号的盲分离学 院信息工程学院专 业通信工程班 级通信1104姓 名指导教师周建新2014年6月20日信息处理课群综合训练与设计任务书学生姓名: 专业班级: 通信1104 指导教师: 周建新 工作单位: 信息工程学院 题 目: 语音信号的盲分离初始条件:Matlab软件、信号与系统、通信处理等要求完成的主要任务: 设计任务根据盲信号分离原理,用matlab采集两路以上的语音信号,选择合适的混合矩阵生成若干混合信号。选取合适的盲信号分离算法(如独立成分分析ICA等)进行训练学习,求出分离矩阵和分离后的语音信号。设计要求(1) 用mat

2、lab做出采样之后语音信号的时域和频域波形图(2) 选择合适的混合矩阵,得到混合信号,并做出其时域波形和频谱图(3) 采用混合声音信号进行训练学习,求出分离矩阵,编写出相应的确matlab代码。(4)用求出的分离矩阵从混合信号中分离出原语音信号,并画出各分离信号的时域波形和频谱图。(5)对结果进行对比分析。参考书:1 马建仓,牛奕龙,陈海洋.盲信号处理. 国防工业出版社, 2006.62 赵艳.盲源分离与盲信号提取问题研究. 西安理工大学.2004.33 马建芬.语音信号分离与增强算法的研究.电子工业出版社.2012.3时间安排:1、理论讲解,老师布置课程设计题目,学生根据选题开始查找资料;2

3、、课程设计时间为2周。 (1)理解相关技术原理,确定技术方案, 时间2天; (2)选择仿真工具,进行仿真设计与分析,时间6天; (3)总结结果,完成课程设计报告,时间2天。指导教师签名: 2014年 6月10日系主任(或责任教师)签名: 年 月 日武汉理工大学信息处理课群综合训练与设计报告 目 录摘 要IAbstractII1 绪论12 盲信号处理BSP22.1 盲信号处理22.2 盲分离处理22.3 Matlab语音信号的采集32.3.1 语音信号的采集方法32.3.2三路语音信号的采集42.4盲信号分离的两种算法介绍52.4.1 PCA算法原理52.4.2独立分量分析ICA53 语音信号的

4、分离方案设计73.1 FAST-ICA算法分离73.1.1基于负熵最大的快速ICA73.2 主分量分析PCA103.2.1 主成分分析原理103.2.2 PCA算法原理113.3 主分量分析PCA和ICA比较124 语音信号的分离方案实现134.1 语音信号的混合134.2 语音信号的分离实现144.2.1 FAST-ICA算法分离144.2.2 主分量分析算法分离154.2.3 分离语音频谱分析及比较165 总结19参考文献20附录1 原始语音Matlab信号频谱程序21附录2 预处理部分matlab程序22附录3 算法的matlab程序24(1)FAST-ICA算法24(2)PCA算法分离

5、25 摘 要了解盲信号处理(Blind Signal Processing,BSP)的概念,并掌握语音盲分离技术和Matlab的运用。本文重点研究了以语音信号为背景的盲处理方法,从混有噪声的的混叠语音信号中分离出各个语音源信号,来模仿人类的语音分离能力。本设计用matlab采集3路语音信号,选择合适的混合矩阵生成若干混合信号。结合独立分量分析ICA技术,选取混合矩阵对3个语音信号进行混合,并从混合信号中分离出原语音信号,画出各分离信号的时域波形和频谱图和原来的信号进行比较。此外还运用PCA算法进行了混合语音信号的分离实现,最终对两种算法进行比较。关键字:盲信号处理 语音信号 盲源分离BSS 独

6、立分量分析ICA技术IAbstractUnderstanding the concept of blind signal processing (Blind Signal Processing, BSP), and master the voice of blind separation technology and the use of Matlab.This paper focuses on the background to the speech signal blind approach, mixed with the noise from the speech signal alia

7、sing isolated individual voice source signal, to mimic the human voice separation ability. The 3-way design with matlab voice signal acquisition, select the appropriate mixing matrix to generate a number of mixed signals.ICA technology combined with independent component analysis to select the mixin

8、g matrix for three voice signals are mixed and separated from the mixed signals out of the original speech signal, draw each separated signal time-domain waveform and frequency spectrum and compare the original signal. In addition, the use of PCA algorithm to achieve the separation of mixed speech s

9、ignals, and ultimately the two algorithms were compared.Keywords: blind signal processing speech signals blind source separation BSS independent component analysis ICA technologyII1 绪论近年来,盲信号处理逐渐成为当今信息处理领域中热门的课题之一,并且已经在尤其在、地震探测、移动通信、语音处理、阵列信号处理及生物医学工程领域展现出诱人的应用前景。盲处理应用中的三个主要方面:语音处理,图片处理,生物医信号处理。本文主要

10、学习的是语音的处理。语音信号分离、语音识别是盲处理应用的一个重要领域。也是本文学习研究的重点。最典型的应用就是声控计机,计算机所接受到的语音指令肯定是带有各种环境噪声的,还可能存在其他的语音信号(如有其他人说话),而且这些信号源与接收器的相对位置也未知,计算机需要在这种情况下识别出正确的语音命令。此次实践主要目的在掌握matlab对语音的采集,了解盲处理的相关知识,掌握盲分离的原理,从而确定盲分离的方法,根据盲信号分离原理,用matlab采集两路以上的语音信号,选择合适的混合矩阵生成若干混合信号。选取合适的盲信号分离算法(如独立成分分析ICA等)进行训练学习,求出分离矩阵和分离后的语音信号。为

11、达到良好的学习效果,此次实践有如下要求:(1)用matlab做出采样之后语音信号的时域和频域波形图(2)选择合适的混合矩阵,得到混合信号,并做出其时域波形和频谱图(3)采用混合声音信号进行训练学习,求出分离矩阵,编写出相应的matlab代码。(4)用求出的分离矩阵从混合信号中分离出原语音信号,并画出各分离信号的时域波形和频谱图。(5)对结果进行对比分析。 通过此次实践,加深的对Matlab功能的认识,掌握了Matlab对语音信号的采集及处理,了解了盲分离的原理及运用,运用了合适的矩阵得到了混合信号,减少了计算量,同时达到了将得到的混合信号分离的目的,将前后信号进行对比,了解了Matlab的处理

12、效率。 2 盲信号处理BSP 2.1 盲信号处理盲信号处理作为计算机智能学的核心研究的内容,在生物医学、医疗图像、图像增强、远程传感、雷达与通信系统、地震勘测等方面均具有突出的作用。盲处理的工作原理框图如图1-1所示: 图2-1 盲处理的工作原理框图其中,s(k)是未知源的信号向量,x(k)是混合信号向量(或观测信号、传感器检测信号),n(k)是噪声信号向量,混合信号向量经过分离系统可以得到分离的信号,可与原信号比较。 2.2 盲分离处理盲分离的算法比较多,此次选择较为简单的瞬时线性混叠盲分离,瞬时线性混叠数学模型如下: x(t)=As(t) (公式1-1) y(t)=Wx(t) (公式1-2

13、)其中(1)式为混叠模型,(2)式为分离模型;s(t)=(s1(t),s2(t),,Sn(t)T为源信号未知的mn的混叠矩阵,源信号s(t)也是未知的,W为分离矩阵。瞬时线性混叠盲分离的目的就是通过调节分离矩阵W(或混叠矩阵A),使得分离信号与对应的源信号的波形保持一致,即: y(t)=PDs(t) (公式1-3)其中P为置换矩阵,D为对角矩阵。y(t)是对源信号s(t)的估计,瞬时线性混叠盲分离问题允许存在两个方面的不确定性: (1)排列顺序的不确定性,无法了解所抽取的信号应是源信号s(t)为哪一个分量. (2)信号幅度的不确定性,即无法知道源信号的真实幅值。瞬时线性盲分离实现的数学模型如图

14、1-2所示,其中LA表示学习算法(LearningAlgorithm)。 图2-2 瞬时线性盲分离实现的数学模型图 2.3 Matlab语音信号的采集 2.3.1 语音信号的采集方法在Matlab环境中,主要可以通过以下几种方法驱动声卡,采集语音信号: 1.将声卡作为对象处理采集语音信号Matlab将声卡作为对象处理,其后的一切操作都不与硬件直接相关,而是通过对该对象的操作来作用于硬件设备(声卡)。操作时首先要对声卡产生一个模拟输入对象,给对象添加一个通道设置采样频率后,就可以启动设备对象,开始采集数据,采集完成后停止对象并删除对象。2.调用wavrecord功能函数采集语音信号。wavrec

15、ord功能函数只适用windows95/98/N平台,它使用windows声音输入设备录制声音。函数调用方式:wavrecord(N,fs,ch,nbits),其中N采集的样本数据量,fs是样本采集频率有8000Hz、11025Hz、22050Hz和44100Hz几个选项,默认值为11025Hz;ch是样本采集通道,1为单声道,2为双声道,默认值为单声道;nbits是每个样本的位数(或称解析度),double、single或int16、uint8。3 运用audiorecorder对象采集语音信号audiorecorder(fs,nbits,ch)可以创设一个audiorecorder对象。f

16、s是样本采集频率,为8000Hz、11025Hz、22050Hz和44100Hz之一,默认值为8000Hz;nbits是每个样本的位数,8位或16位,默认值为8位;ch:样本采集通道,1为单声道,2为双声道,默认值为1(单声道);audiorecorder对象创设后,就可以进行相应的录音、暂停、停止、播放以及数据读取等操作。 2.3.2三路语音信号的采集 这次设计用Matlab程序采集三路语音信号,基本步骤如下:创建工程文件-编写程序-调试-运行-录音,程序如下。在干扰噪声很小的环境下用麦克风录制进行3段不同的语音文件,保存成*.wav文件。为了便于语音信号的盲分离要将这3段语音用软件进行处理

17、使其文件大小一样,仿真时所用的3段语音是gequ1 gequ2, gequ3,时间是5秒,单通道。 clc; fs=8000; channel=1; t=5; fprintf(按任意键后开始 %d 秒录音:,t); Pause; fprintf(录音中.);%文字提示 y=wavrecord(t*fs, fs,channel,double);%录制语音信号 fprintf(录音结束n);%文字提示 wavwrite(y,fs,D:DocumentsDesktopgequ3.wav);% 存储录音信号,先创建文件 在matlab中对上述语音信号进行分析,接下来对3段语音信号进行的时域分析、频谱分

18、析。 2.4盲信号分离的两种算法介绍盲源分离在许多领域中都有成功的应用,近十几年来,受到了越来越多的重视,已经有大量的算法不断地提出。其算法可以大致的分为基于高阶累积量的盲源分离、基于信息理论的盲源分离和基于神经网络的盲源分离三种类型。这三类也包含很多不同类型的算法,下面主要介绍本次设计要用到的ICA算法和PCA算法。 2.4.1 PCA算法原理令x为表示环境的m维随机向量。假设x均值为零,即:Ex=O。令w表示为m维单位向量,x在其上投影。这个投影被定义为向量x和w的内积,表示为:而主成分分析的目的就是寻找一个权值向量w使得表达式Ey2的值最大化:根据线性代数的理论,可以知道满足式子值最大化

19、的训应该满足下式: 即使得上述式子最大化的w是矩阵Cx的最大特征值所对应的特征向量。特征向量的选择取决于协方差矩阵的特征值的大小。经过 PCA 分析,一个多变量的复杂问题被简化为低维空间的简单问题。可以利用这种简化方法进行作图,形象地表示和分析复杂问题。 2.4.2独立分量分析ICA 对于盲源分离问题,独立分量分析(Independent Component Analy2sis,ICA)是指在只知道混合信号,而不知道源信号、噪声以及混合机制的情况下,分离或近似地分离出源信号的一种分析过程。 假设源信号若干个统计上相互独立的信号组成的,它们在空间中形成交叠,独立分量分析(Independent

20、Component Analysis,ICA)是借助于多个信道同步观察交叠信号,将观察信号经过解混分解成若干独立成分,作为对源信号的一组估计,如图2-3所示: 图2-3 独立分量分析法 可以假设:A是线性系统可用矩阵表示,实际仿真时是随机阵。且信道对信号无影响,观察信道数与信号数相同(A,B方阵)。独立分量分析ICA有多种算法,如基于代数结构的AMUSE,SOBI,JADE以及基于信息论的Fast-ICA和Info-max。其中,Fast-ICA的收敛速度快,且有一定的精度保证。Fast-ICA算法能够更科学的去除元素组合之间的相关性,得到的元素组合比传统方法更具有说服力。3 语音信号的分离方

21、案设计3.1 FAST-ICA算法分离 Fast-ICA算法是一种快速而数值稳定的方法,采用拟牛顿算法实现寻优,具有超线性收敛速度,通常收敛速度较梯度下降寻优算法快得多;矩阵特征值分解盲分离方法通过对矩阵进行特征分解或者广义特征分解估计分离矩阵,是一种解析方法,可直接找到闭形式解,没有迭代寻优过程,因此运行速度很快。快速ICA算法,由于采用了定点迭代的思想,所以又称固定点(Fixed-Point)算法或定点算法,是一种快速寻优神经网络算法。FastICA算法的优点如下:1.收敛速度快,FastICA收敛速度为2次以上,普通的ICA算法收敛仅为1次。2.能利用任何的非线性函数直接找出任何非高斯分

22、布的独立分量,而对于其他的算法来说,概率密度函数的估计不得不首先进行。3.独立分量可被逐个估计出来,类似于做投影追踪,这在仅需要估计几个(不是全部)独立分量的情况下,能减小计算量。4.Fast-ICA算法有许多神经算法的优点,它是并行、分布式的且计算简单,内存要求很少,它的性能能够通过选择适当的非线性函数来最佳化。 3.1.1基于负熵最大的快速ICAFast-ICA算法有基于峭度、基于似然最大、基于负熵最大等形式,这里,我们介绍基于负熵最大的FastICA算法。它以负熵最大作为一个搜寻方向,可以实现顺序地提取独立源,充分体现了投影追踪(Projection Pursuit)这种传统线性变换的思

23、想,由信息论理论可知:在所有等方差的随机变量中,高斯变量的熵最大,因而我们可以利用熵来度量非高斯性,常用熵的修正形式,即负熵。根据中心极限定理,若一随机变量由许多相互独立的随机变量之和组成,只要具有有限的均值和方差,则不论其为何种分布,随机变量较更接近高斯分布。换言之,较的非高斯性更强。因此,在分离过程中,可通过对分离结果的非高斯性度量来表示分离结果间的相互独立性,当非高斯性度量达到最大时,则表明已完成对各独立分量的分离。负熵的定义: (公式3-1)式中,是一与具有相同方差的高斯随机变量,为随机变量的微分熵 (公式3-2) 根据信息理论,在具有相同方差的随机变量中,高斯分布的随机变量具有最大的

24、微分熵。当具有高斯分布时,;的非高斯性越强,其微分熵越小,值越大,所以可以作为随机变量非高斯性的测度。由于根据式(3.6)计算微分熵需要知道的概率密度分布函数,这显然不切实际,于是采用如下近似公式: (公式3-3)其中,为均值运算;为非线性函数,可取,或或等非线性函数,这里,通常我们取。快速ICA学习规则是找一个方向以便具有最大的非高斯性。这里,非高斯性给出的负熵的近似值来度量,的方差约束为1,对于白化数据而言,这等于约束的范数为1。FastICA算法的推导如下。首先,的负熵的最大近似值能通过对进行优化来获得。根据Kuhn-Tucker条件,在的约束下,的最优值能在满足下式的点上获得。 (公式

25、3-4)这里,是一个恒定值, ,是优化后的值。下面我们利用牛顿迭代法解方程(3.4)。用表示式(3.4)左边的函数,可得的雅可比矩阵如下: (公式3-5)为了简化矩阵的求逆,可以近似为(3.5)式的第一项。由于数据被球化,,所以,。因而雅可比矩阵变成了对角阵,并且能比较容易地求逆。简化后就可以得到FastICA算法的迭代公式: 实践中,FastICA算法中用的期望必须用它们的估计值代替。最好的估计是相应的样本平均。对于Fast-ICA算法,数据预处理是一个最基本、最必要的过程。该过程包括去均值和白化(或球化)。去均值过程起到了简化ICA算法的作用,白化也是信号源盲分离算法中一个经常用到的预处理

26、方法,对于某些盲分离算法,白化还是一个必须的预处理过程。对混合信号的白化实际上就是去除信号各个分量之间的相关性。从图3-1是Fast-ICA算法流程图可以看出,通常先对数据进行初步的白化或球化处理,白化处理可去除各观测信号之间的相关性,从而简化了后续独立分量的提取过程。这是由于一般情况下,所获得的数据都具有相关性。通过去均值和白化等预处理在对其进行真正的算法分离。通常情况下,数据进行白化处理与不对数据进行白化处理相比,算法的收敛性比较好,快速ICA算法一般的步骤如下: 1. 对观测数据进行中心化,使它的均值为0; 2. 对数据进行白化,; 3. 选择需要估计的分量的个数,设迭代次数 ; 4.

27、选择一个初始权矢量(随机的) ;5. 令,非线性函数的选取见前文; 6. ; 7. 令。 8. 假如不收敛的话,返回第5步; 9令,如果,返回第4步。 图3-1 Fast-ICA算法流程图 概括来说,Fast-ICA算法主要包含两部分:预处理部分和核心算法部分。预处理部分主要包括去均值化和白化处理;核心算法部分是基于拟牛顿算法,具体的实现见附录程序。 3.2 主分量分析PCA3.2.1 主成分分析原理 主成分分析(Principal Component Analysis,PCA)是一种掌握事物主要矛盾的统计分析方法,它可以从多元事物中解析出主要影响因素,揭示事物的本质,简化复杂的问题。计算主成

28、分的目的是将高纬数据投影到较低维空间。 给定n个变量的m个观察值,形成一个n *m的数据矩阵,n通常比较大。对于一个由多个变量描述的复杂事物,认识难度会很大,于是我们可以抓住事物主要方面进行重点分析,如果事物的主要方面刚好体现在几个主要变量上,那么我们只需要将体现事物主要方面的较少的几个主要变量分离出来,对此进行详细分析。但是,在一般情况下,并不能直接找出这样的关键变量。这时我们可以用原有变量的线性组合来表示事物的主要方面,PCA 就是这样一种分析方法。 PCA主要用于数据降维,对于由一系列特征组成的多维向量,其中某些元素本身没有区分性,比如某个元素在所有的样本中都相等,或者彼此差距不大,那么

29、这个元素本身就没有区分性,如果用它做特征来区分,贡献会非常小。所以我们的目的是找那些变化大的元素,即方差大的那些维,而去除掉那些变化不大的维,从而使特征留下的都是“精品”,使得计算量也相应变小。 对于一个k维的特征来说,相当于它的每一维特征与其他维都是正交的(相当于在多维坐标系中,坐标轴都是垂直的),那么我们可以变化这些维的坐标系,从而使这个特征在某些维上方差大,而在某些维上方差很小。所以我们的做法就是求得一个k维特征的投影矩阵,这个投影矩阵可以将特征从高维降到低维。投影矩阵也可以叫做变换矩阵。新的低维特征必须每个维都正交,特征向量都是正交的。通过求样本矩阵的协方差矩阵,然后求出协方差矩阵的特

30、征向量,这些特征向量就可以构成这个投影矩阵了。3.2.2 PCA算法原理 令x为表示环境的m维随机向量。假设x均值为零,即:Ex=O。令w表示为m维单位向量,x在其上投影。这个投影被定义为向量x和w的内积,表示为:而主成分分析的目的就是寻找一个权值向量w使得表达式Ey2的值最大化:根据线性代数的理论,可以知道满足式子值最大化的训应该满足下式: 即使得上述式子最大化的w是矩阵Cx的最大特征值所对应的特征向量。特征向量的选择取决于协方差矩阵的特征值的大小。经过 PCA 分析,一个多变量的复杂问题被简化为低维空间的简单问题。可以利用这种简化方法进行作图,形象地表示和分析复杂问题。 3.3 主分量分析

31、PCA和ICA比较主分量分析(ICA)的目的在于降低向量的维数,取出随机信号间的线性相关性,找出原始信号中隐含的内在能量较大的信号。但是由于PCA方法在实际的计算式只涉及到输入数据概率分布函数的二阶统计特性(仅利用到信号的协方差矩阵),所以分解出的各分量相互正交,主分量之间并不一定不相关,所以并不满足ICA方法对输入信号的独立要求。从数理统计的角度来说,实际信号的大部分重要的信息往往包含在高阶的统计特性中,因此只有当多变量观测数据是由高斯分布的源信号构成时,PCA方法才能用来实现信号的分离,这是由于服从正态分布的随机过程的不相关性和统计独立是等价的,用一阶、二阶统计特性就可以完全描述信号。然而

32、,在实际的问题中,真正满足正态分布的随机信号很少,绝大部分的随机信号(如自然景物图像、语音信号和脑电波等等)都不是高斯的。此外,ICA方法往往需要高阶量,也就是在学习阶段需要使用一定的非线性,然而非线性的使用并不影响输入和输出的线性映射关系。许多情况下ICA能够提供比PCA更有意义的数据,而PCA仅在源信号为高斯分布时才能实现ICA。尽管如此,在信号的预处理阶段,PCA方法可以实现数据的预白化,为后续的工作提供了方便。4 语音信号的分离方案实现本设计用matlab采集3路语音信号,选择合适的混合矩阵生成若干混合信号。然后合语音信号的分离算法对混合信号进行分离出原始信号。具体实现主要结合独立分量

33、分析ICA技术,选取混合矩阵对3个语音信号进行混合,并从混合信号中分离出原语音信号,最后画出各分离信号的时域波形和频谱图和原来的信号进行比较。此外还运用PCA算法进行了混合语音信号的分离实现,最终对两种算法进行比较。 4.1 语音信号的混合有题目要求根据盲信号分离原理,用matlab采集三路语音信号,其语音信号及频谱如图4-1、4-2、4-3所示。选择合适的混合矩阵生成若干混合信号,接下来在 MATLAB中实现gequ1.wav、gequ2.wav、gequ3.wav的混合,具体的程序先进行初始化、然后去均值,白化,用随机矩阵对这三路语音信号进行混合,具体的程序代码见附录1,运行的结果如图4-

34、4所示: 4-1 原始语音信号和频谱 图4-2 语音混合信号和频谱4.2 语音信号的分离实现 4.2.1 FAST-ICA算法分离 独立分量分析的含义是把信号分解成若干个互相独立的成分,它是为了解决盲信号分离的问题而发展起来的。如果信号本来就是由若干独立信源混合而成的,ICA就能恰好把这些信源分解开来。故在一般的文献中通常把ICA等同于BSS,ICA不同于主分量分析把目光投注于信号的二阶统计量,研究信号间的相关关系,而是基于信号的高阶统计量,研究信号间的独立关系。独立分量分析中Fast-ICA算法是一种快速而数值稳定的方法,采用拟牛顿算法实现寻优,具有超线性收敛速度,通常收敛速度较梯度下降寻优

35、算法快得多用FAST-ICA快速主成分分析算法实现混合信号的分离,我们可以借鉴下面的波形,原始的语言信号如图4-3中的信号,用FAST-ICA算法分离的语音信号图形如图4-4所示: 图4-3 三路原始语音信号 图4-4 fastICA 三路分离信号将原始3路语音信号与分离出来的语音信号作对比,发现分离出来的语音信号和原来的信号的形状一样,不同的是顺序不一样,信号的幅度也减少了,这恰好说明了盲分离算法中允许存在两个方面的不确定性: (1)排列顺序的不确定性,无法了解所抽取的信号应是源信号s(t)为哪一个分量. (2)信号幅度的不确定性,即无法知道源信号的真实幅值。4.2.2 主分量分析算法分离

36、当多变量观测数据是由高斯分布的源信号构成时,PCA方法也可以用来实现信号的分离,同样用FAST-ICA快速主成分分析算法实现混合信号的分离,我们可以借鉴下面的波形,原始的语言信号是图4-3中的信号,用FAST-ICA算法分离的语音信号图如图4-5示: 图4-5 PCA分离语音信号 同样,将原始3路语音信号与分离出来的语音信号作对比,发现分离出来的语音信号和原来的信号的形状基本一样,不同的是顺序不一样,信号的幅度也减少了,这恰好说明了盲分离算法中允许存在两个方面的不确定性:排列顺序的不确定性和信号幅度的不确定性,还有一点可以看到,gequ1、gequ2、gequ3的恢复波形有些失真,但总体上达到

37、分离效果。4.2.3 分离语音频谱分析及比较在 MATLAB中画出gequ1.wav、gequ2.wav、gequ3.wav这三段语音信号原始信号的时域和频域图,经过混合,并对FAST-ICA、PCA快速主成分分析算法成功实现混合信号的分离的信号进行频域分析,其时域波形和频谱如图4-6所示,具体程序见附录2。以上对3路语音信号gequ1.wav、gequ2.wav、gequ3.wav,选取混合矩阵对语音信号进行混合,并从混合信号中分离出原语音信号,分别使用了FAST-ICA和PCA分离算法,最后画出各分离信号的时域波形和频谱图和原来的信号进行比较。此外还运用PCA算法进行了混合语音信号的分离实

38、现,下面对两种算法进行比较。 图4-10 原始信号、fastICA分离语音信号、PCA分离语音信号和频谱 分析:对比可以发现,不管是从时域波形来看还是频谱来看,FAST-ICA算法分离的效果很好,PCA算法分离频域分析和FAST-ICA算法分离类似。由上面的分离效果可以看出两种算法都能够对混合信号进行分离,发现分离出来的语音信号和原来的信号的形状大体一样,顺序和原来的都不一样,信号的幅度有的增大了,有的减少了。这些情况都比较符合盲分离算法中允许存在的排列顺序的不确定性和信号幅度的不确定性值这两种不确定性。从波形分离效果来说,在这次语音盲分离中FAST-ICA算法比PCA分离算法分离效果好。5

39、总结这次的设计主要对是忙语音分离,这方面在课程学习中均没有涉及,但是在图像处理以及Matlab 使用基础上是这一次的学习更加有意义,在查找资料到进入语音信号分离课题的设计过程中对相关的领域有新的认识,掌握了简单的语音分离方法。在设计过程中,感受到算法在类似“鸡尾酒会”语音信号中起到的作用,尤其是独立分量分析方法,大量的算法均是在ICA算法的基础上发展改进而来的,这次的设计是一个入门,盲信号分离是一个广阔的领域,不仅包括语音信号,还有确定信号方面,图像处理方面等等,在这些领域以后可以进一步了解。 语音信号是一种非平稳信号,本文研究了快速定点(FastICA)算法以及主分量分析算法(PCA),利用

40、这两种算法能够有效地实现3路语音信号中的分离问题,设计的Matlab实现得到良好的分离效果。这次设计中也遇到一些问题,这些问题的解决很好的使我对盲信号处理有更全面的认识。比如,在用电脑自带的录音机录制语音信号的过程中,当时录制了三首歌的时间大概都在5秒左右,用matlab进行仿真时,软件一直都处于运行阶段,后来才意识到,语音信号太大,软件的处理需要耗费大量的时间。后来用Matlab录制三段语音,又遇到了新的问题,根据matlab的错误提示得知,三段语音信号矩阵的大小要一样,时间仍然是5s,大小设定一样才成功。同样,在图像处理方面也要注意同样的问题。 语音信号的盲分离中涉及大量的概率论、高数等数

41、学基础,是各科知识的一个综合,在接下来的学习中,希望在复习旧的知识点,学习新的知识点,继续了解学习盲信号处理BSP这个领域。参考文献1 马建仓,牛奕龙,陈海洋.盲信号处理. 国防工业出版社, 2006.62 赵艳.盲源分离与盲信号提取问题研究. 西安:西安理工大学.2004.33 马建芬.语音信号分离与增强算法的研究.电子工业出版社.2012.34 杨福生,洪波独立分量分析的原理与应用嗍北京:清华大学出版社,20035 杨行峻,郑君里.人工神经网络与盲信号处理.清华大学出版社,2003.5附录1 原始语音Matlab信号频谱程序fs=52050; %语音信号采样频率为52050s1=wavre

42、ad(gequ1.wav); %读取语音信号的数据,赋给变量s1s2=wavread(gequ2.wav);s3=wavread(gequ3.wav); sound(s1,8000); %播放语音信号gequ1%sound(s2,8000); %播放语音信号gequ2%sound(s3,8000); %播放语音信号gequ3y1=fft(s1,1024); %对信号做1024点FFT变换y2=fft(s2,1024); y3=fft(s3,1024); f=fs*(0:511)/1024;figure(1)subplot(3,1,1);plot(s1) %画出原始语音信号gequ的时域图形ti

43、tle(gequ1原始语音信号); subplot(3,1,2);plot(s2) %画出原始语音信号gequ2的时域图形title(gequ2原始语音信号); subplot(3,1,3);plot(s3) %画出原始语音信号gequ3的时域图形title(gequ3原始语音信号);figure(2)subplot(2,1,1);plot(s1)title(gequ1原始语音信号);subplot(2,1,2);plot(abs(y1)title(gequ1原始语音信号FFT频谱);figure(3)subplot(2,1,1);plot(s2)title(gequ2原始语音信号);subpl

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com