分享
分销 收藏 举报 申诉 / 39
播放页_导航下方通栏广告

类型语音信号的盲分离-课程设计论文正文本科论文.doc

  • 上传人:精****
  • 文档编号:2169984
  • 上传时间:2024-05-21
  • 格式:DOC
  • 页数:39
  • 大小:593KB
  • 下载积分:12 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    语音 信号 分离 课程设计 论文 正文 本科
    资源描述:
    学 号: 0121209320323 课 程 设 计 题 目 语音信号的盲分离 学 院 信息工程学院 专 业 通信工程 班 级 姓 名 指导教师 2015 年 7 月 1 日 《课程设计任务书》 学生姓名: 专业班级: 指导教师 工作单位: 信息工程学院 题 目:语音信号的盲分离 初始条件:Matlab软件,计算机,信息处理相关知识 要求完成的主要任务: (1) 用matlab做出采样之后语音信号的时域和频域波形图 (2) 选择合适的混合矩阵,得到混合信号,并做出其时域波形和频谱图 (3) 采用混合声音信号进行训练学习,求出分离矩阵,编写出相应的确matlab代码。 (4) 用求出的分离矩阵从混合信号中分离出原语音信号,并画出各分离信号的时域波形和频谱图。 (5)对结果进行对比分析。 时间安排: 1、理论讲解,老师布置课程设计题目,学生根据选题开始查找资料; 2、课程设计时间为2周。 (1)理解相关技术原理,确定技术方案, 时间2天; (2)选择仿真工具,进行仿真设计与分析,时间6天; (3)总结结果,完成课程设计报告,时间2天。 指导教师签名: 2015 年 6 月 10 日 系主任(或责任教师)签名: 2015年 6月 10 日 武汉理工大学《信息处理课群综合训练与设计》报告 目 录 摘要 1 Abstract 2 1 绪论 3 2 盲信号处理BSP 4 2.1 盲信号处理 4 2.2 盲分离处理 4 2.3 Matlab语音信号的采集 5 2.3.1 语音信号的采集方法 5 2.3.2三路语音信号的采集 6 2.4盲信号分离的两种算法介绍 7 2.4.1 PCA算法原理 7 2.4.2独立分量分析ICA 8 3 语音信号的分离方案设计 9 3.1 FAST-ICA算法分离 9 3.1.1基于负熵最大的快速ICA 9 3.2 主分量分析PCA 13 3.2.1 主成分分析原理 13 3.2.2 PCA算法原理 14 3.3 主分量分析PCA和ICA比较 14 4 语音信号的分离方案实现 16 4.1 语音信号的混合 16 4.2 语音信号的分离实现 17 4.2.1 FAST-ICA算法分离 17 4.2.2 主分量分析算法分离 18 4.2.3 分离语音频谱分析及比较 18 5 总结 20 参考文献 21 附录 原始语音Matlab信号频谱程序 22 附录2 预处理部分matlab程序 27 附录3 算法的matlab程序 29 (1)FAST-ICA算法 29 (2)PCA算法分离 31 摘要 了解盲信号处理(Blind Signal Processing,BSP)的概念,并掌握语音盲分离技术和Matlab的运用。 本文重点研究了以语音信号为背景的盲处理方法,从混有噪声的的混叠语音信号中分离出各个语音源信号,来模仿人类的语音分离能力。本设计用matlab采集3路语音信号,选择合适的混合矩阵生成若干混合信号。 结合独立分量分析ICA技术,选取混合矩阵对3个语音信号进行混合,并从混合信号中分离出原语音信号,画出各分离信号的时域波形和频谱图和原来的信号进行比较。此外还运用PCA算法进行了混合语音信号的分离实现,最终对两种算法进行比较。 关键字:盲信号处理 语音信号 盲源分离BSS 独立分量分析ICA技术 Abstract Understanding 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 aliasing 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 mixing 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 signals, and ultimately the two algorithms were compared. Keywords: blind signal processing speech signals blind source separation BSS independent component analysis ICA technology 1 绪论 近年来,盲信号处理逐渐成为当今信息处理领域中热门的课题之一,并且已经在尤其在、地震探测、移动通信、语音处理、阵列信号处理及生物医学工程领域展现出诱人的应用前景。盲处理应用中的三个主要方面:语音处理,图片处理,生物医信号处理。本文主要学习的是语音的处理。 语音信号分离、语音识别是盲处理应用的一个重要领域。也是本文学习研究的重点。最典型的应用就是声控计机,计算机所接受到的语音指令肯定是带有各种环境噪声的,还可能存在其他的语音信号(如有其他人说话),而且这些信号源与接收器的相对位置也未知,计算机需要在这种情况下识别出正确的语音命令。 此次实践主要目的在掌握matlab对语音的采集,了解盲处理的相关知识,掌握盲分离的原理,从而确定盲分离的方法,根据盲信号分离原理,用matlab采集两路以上的语音信号,选择合适的混合矩阵生成若干混合信号。选取合适的盲信号分离算法(如独立成分分析ICA等)进行训练学习,求出分离矩阵和分离后的语音信号。 为达到良好的学习效果,此次实践有如下要求: (1)用matlab做出采样之后语音信号的时域和频域波形图 (2)选择合适的混合矩阵,得到混合信号,并做出其时域波形和频谱图 (3)采用混合声音信号进行训练学习,求出分离矩阵,编写出相应的matlab代码。 (4)用求出的分离矩阵从混合信号中分离出原语音信号,并画出各分离信号的时域波形和频谱图。 (5)对结果进行对比分析。 通过此次实践,加深的对Matlab功能的认识,掌握了Matlab对语音信号的采集及处理,了解了盲分离的原理及运用,运用了合适的矩阵得到了混合信号,减少了计算量,同时达到了将得到的混合信号分离的目的,将前后信号进行对比,了解了Matlab的处理效率。 2 盲信号处理BSP 2.1 盲信号处理 盲信号处理作为计算机智能学的核心研究的内容,在生物医学、医疗图像、图像增强、远程传感、雷达与通信系统、地震勘测等方面均具有突出的作用。 盲处理的工作原理框图如图2-1所示: 图2-1 盲处理的工作原理框图 其中,s(k)是未知源的信号向量,x(k)是混合信号向量(或观测信号、传感器检测信号),n(k)是噪声信号向量,混合信号向量经过分离系统可以得到分离的信号,可与原信号比较。 2.2 盲分离处理 盲分离的算法比较多,此次选择较为简单的瞬时线性混叠盲分离,瞬时线性混叠数学模型如下: x(t)=As(t) (公式2-1) y(t)=Wx(t) (公式2-2) 其中(1)式为混叠模型,(2)式为分离模型;s(t)=(s1(t),s2(t),…,Sn(t))T为源信号未知的m×n的混叠矩阵,源信号s(t)也是未知的,W为分离矩阵。瞬时线性混叠盲分离的目的就是通过调节分离矩阵W(或混叠矩阵A),使得分离信号与对应的源信号的波形保持一致,即: y(t)=PDs(t) (公式2-3) 其中P为置换矩阵,D为对角矩阵。y(t)是对源信号s(t)的估计,瞬时线性混叠盲分离问题允许存在两个方面的不确定性: (1)排列顺序的不确定性,无法了解所抽取的信号应是源信号s(t)为哪一个分量. (2)信号幅度的不确定性,即无法知道源信号的真实幅值。 瞬时线性盲分离实现的数学模型如图2-2所示,其中LA表示学习算法(LearningAlgorithm)。 图2-2 瞬时线性盲分离实现的数学模型图 2.3 Matlab语音信号的采集 2.3.1 语音信号的采集方法 在Matlab环境中,主要可以通过以下几种方法驱动声卡,采集语音信号: 1.将声卡作为对象处理采集语音信号Matlab将声卡作为对象处理,其后的一切操作都不与硬件直接相关,而是通过对该对象的操作来作用于硬件设备(声卡)。操作时首先要对声卡产生一个模拟输入对象,给对象添加一个通道设置采样频率后,就可以启动设备对象,开始采集数据,采集完成后停止对象并删除对象。 2.调用wavrecord功能函数采集语音信号。wavrecord功能函数只适用windows95/98/N平台,它使用windows声音输入设备录制声音。 函数调用方式:wavrecord(N,fs,ch,nbits),其中N采集的样本数据量,fs是样本采集频率有8000Hz、11025Hz、22050Hz和44100Hz几个选项,默认值为11025Hz;ch是样本采集通道,1为单声道,2为双声道,默认值为单声道;nbits是每个样本的位数(或称解析度),double、single或int16、uint8。 运用audiorecorder对象采集语音信号audiorecorder(fs,nbits,ch)可以创设一个audiorecorder对象。fs是样本采集频率,为8000Hz、11025Hz、22050Hz和44100Hz之一,默认值为8000Hz;nbits是每个样本的位数,8位或16位,默认值为8位;ch:样本采集通道,1为单声道,2为双声道,默认值为1(单声道);audiorecorder对象创设后,就可以进行相应的录音、暂停、停止、播放以及数据读取等操作。 2.3.2三路语音信号的采集 这次设计用Matlab程序采集三路语音信号,基本步骤如下:创建工程文件-编写程序-调试-运行-录音,程序如下。在干扰噪声很小的环境下用麦克风录制进行3段不同的语音文件,保存成*.wav文件。为了便于语音信号的盲分离要将这3段语音用软件进行处理使其文件大小一样,仿真时所用的3段语音是1,2, ,3,时间是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:\Documents\Desktop\gequ3.wav'); %存储录音信号,先创建文件 在matlab中对上述语音信号进行分析,接下来对3段语音信号进行的时域分析、频谱分析。 2.4盲信号分离的两种算法介绍 盲源分离在许多领域中都有成功的应用,近十几年来,受到了越来越多的重视,已经有大量的算法不断地提出。其算法可以大致的分为基于高阶累积量的盲源分离、基于信息理论的盲源分离和基于神经网络的盲源分离三种类型。这三类也包含很多不同类型的算法,下面主要介绍本次设计要用到的ICA算法和PCA算法。 2.4.1 PCA算法原理 令x为表示环境的m维随机向量。假设x均值为零,即:E[x]=O。令w表示为m维单位向量,x在其上投影。这个投影被定义为向量x和w的内积,表示为: 而主成分分析的目的就是寻找一个权值向量w使得表达式E[y2]的值最大化。 根据线性代数的理论,可以知道满足式子值最大化的训应该满足下式: 即使得上述式子最大化的w是矩阵Cx的最大特征值所对应的特征向量。特征向量的选择取决于协方差矩阵的特征值的大小。经过 PCA 分析,一个多变量的复杂问题被简化为低维空间的简单问题。可以利用这种简化方法进行作图,形象地表示和分析复杂问题。 2.4.2独立分量分析ICA 对于盲源分离问题,独立分量分析(Independent Component Analy2sis,ICA)是指在只知道混合信号,而不知道源信号、噪声以及混合机制的情况下,分离或近似地分离出源信号的一种分析过程。 假设源信号若干个统计上相互独立的信号组成的,它们在空间中形成交叠,独立分量分析(Independent Component Analysis,ICA)是借助于多个信道同步观察交叠信号,将观察信号经过解混分解成若干独立成分,作为对源信号的一组估计,如图2-3所示: 图2-3 独立分量分析法 可以假设:A是线性系统可用矩阵表示,实际仿真时是随机阵。且信道对信号无影响,观察信道数与信号数相同(A,B方阵)。 独立分量分析ICA有多种算法,如基于代数结构的AMUSE,SOBI,JADE以及基于信息论的Fast-ICA和Info-max。其中,Fast-ICA的收敛速度快,且有一定的精度保证。 Fast-ICA算法能够更科学的去除元素组合之间的相关性,得到的元素组合比传统方法更具有说服力。 3 语音信号的分离方案设计 3.1 FAST-ICA算法分离 Fast-ICA算法是一种快速而数值稳定的方法,采用拟牛顿算法实现寻优,具有超线性收敛速度,通常收敛速度较梯度下降寻优算法快得多;矩阵特征值分解盲分离方法通过对矩阵进行特征分解或者广义特征分解估计分离矩阵,是一种解析方法,可直接找到闭形式解,没有迭代寻优过程,因此运行速度很快。 快速ICA算法,由于采用了定点迭代的思想,所以又称固定点(Fixed-Point)算法或定点算法,是一种快速寻优神经网络算法。 FastICA算法的优点如下: 1.收敛速度快,FastICA收敛速度为2次以上,普通的ICA算法收敛仅为1次。 2.能利用任何的非线性函数直接找出任何非高斯分布的独立分量,而对于其他的算法来说,概率密度函数的估计不得不首先进行。 3.独立分量可被逐个估计出来,类似于做投影追踪,这在仅需要估计几个(不是全部)独立分量的情况下,能减小计算量。 4.Fast-ICA算法有许多神经算法的优点,它是并行、分布式的且计算简单,内存要求很少,它的性能能够通过选择适当的非线性函数来最佳化。 3.1.1基于负熵最大的快速ICA Fast-ICA算法有基于峭度、基于似然最大、基于负熵最大等形式,这里,我们介绍基于负熵最大的FastICA算法。它以负熵最大作为一个搜寻方向,可以实现顺序地提取独立源,充分体现了投影追踪(Projection Pursuit)这种传统线性变换的思想, 由信息论理论可知:在所有等方差的随机变量中,高斯变量的熵最大,因而我们可以利用熵来度量非高斯性,常用熵的修正形式,即负熵。根据中心极限定理,若一随机变量由许多相互独立的随机变量之和组成,只要具有有限的均值和方差,则不论其为何种分布,随机变量较更接近高斯分布。换言之,较的非高斯性更强。因此,在分离过程中,可通过对分离结果的非高斯性度量来表示分离结果间的相互独立性,当非高斯性度量达到最大时,则表明已完成对各独立分量的分离。 负熵的定义: (公式3-1) 式中,是一与具有相同方差的高斯随机变量,为随机变量的微分熵 (公式3-2) 根据信息理论,在具有相同方差的随机变量中,高斯分布的随机变量具有最大的微分熵。当具有高斯分布时,;的非高斯性越强,其微分熵越小,值越大,所以可以作为随机变量非高斯性的测度。由于根据式(3.6)计算微分熵需要知道的概率密度分布函数,这显然不切实际,于是采用如下近似公式: (公式3-3) 其中,为均值运算;为非线性函数,可取,或或等非线性函数,这里,,通常我们取。 快速ICA学习规则是找一个方向以便具有最大的非高斯性。这里,非高斯性给出的负熵的近似值来度量,的方差约束为1,对于白化数据而言,这等于约束的范数为1。FastICA算法的推导如下。首先,的负熵的最大近似值能通过对进行优化来获得。根据Kuhn-Tucker条件,在的约束下,的最优值能在满足下式的点上获得。 (公式3-4) 这里,是一个恒定值, ,是优化后的值。下面我们利用牛顿迭代法 解方程(3.4)。用表示式(3.4)左边的函数,可得的雅可比矩阵如下: (公式3-5) 为了简化矩阵的求逆,可以近似为(3.5)式的第一项。由于数据被球化,,所以,因而雅可比矩阵变成了对角阵,并且能比较容易地求逆。 简化后就可以得到FastICA算法的迭代公式: 实践中,FastICA算法中用的期望必须用它们的估计值代替。最好的估计是相应的样本平均。 对于Fast-ICA算法,数据预处理是一个最基本、最必要的过程。该过程包括去均值和白化(或球化)。 去均值过程起到了简化ICA算法的作用,白化也是信号源盲分离算法中一个经常用到的预处理方法,对于某些盲分离算法,白化还是一个必须的预处理过程。对混合信号的白化实际上就是去除信号各个分量之间的相关性。 从图3-1是Fast-ICA算法流程图可以看出,通常先对数据进行初步的白化或球化处理,白化处理可去除各观测信号之间的相关性,从而简化了后续独立分量的提取过程。这是由于一般情况下,所获得的数据都具有相关性。通过去均值和白化等预处理在对其进行真正的算法分离。通常情况下,数据进行白化处理与不对数据进行白化处理相比,算法的收敛性比较好,快速ICA算法一般的步骤如下: 1. 对观测数据进行中心化,使它的均值为0; 2. 对数据进行白化,; 3. 选择需要估计的分量的个数,设迭代次数 ; 4. 选择一个初始权矢量(随机的) ; 5. 令,非线性函数的选取见前文; 6. ; 7. 令。 8. 假如不收敛的话,返回第5步; 9.令,如果,返回第4步。 图3-1 Fast-ICA算法流程图 概括来说,Fast-ICA算法主要包含两部分:预处理部分和核心算法部分。预处理部分主要包括去均值化和白化处理;核心算法部分是基于拟牛顿算法,具体的实现见附录程序。 3.2 主分量分析PCA 3.2.1 主成分分析原理 主成分分析(Principal Component Analysis,PCA)是一种掌握事物主要矛盾的统计分析方法,它可以从多元事物中解析出主要影响因素,揭示事物的本质,简化复杂的问题。计算主成分的目的是将高纬数据投影到较低维空间。 给定n个变量的m个观察值,形成一个n *m的数据矩阵,n通常比较大。对于一个由多个变量描述的复杂事物,认识难度会很大,于是我们可以抓住事物主要方面进行重点分析,如果事物的主要方面刚好体现在几个主要变量上,那么我们只需要将体现事物主要方面的较少的几个主要变量分离出来,对此进行详细分析。但是,在一般情况下,并不能直接找出这样的关键变量。这时我们可以用原有变量的线性组合来表示事物的主要方面,PCA 就是这样一种分析方法。 PCA主要用于数据降维,对于由一系列特征组成的多维向量,其中某些元素本身没有区分性,比如某个元素在所有的样本中都相等,或者彼此差距不大,那么这个元素本身就没有区分性,如果用它做特征来区分,贡献会非常小。所以我们的目的是找那些变化大的元素,即方差大的那些维,而去除掉那些变化不大的维,从而使特征留下的都是“精品”,使得计算量也相应变小。 对于一个k维的特征来说,相当于它的每一维特征与其他维都是正交的(相当于在多维坐标系中,坐标轴都是垂直的),那么我们可以变化这些维的坐标系,从而使这个特征在某些维上方差大,而在某些维上方差很小。 所以我们的做法就是求得一个k维特征的投影矩阵,这个投影矩阵可以将特征从高维降到低维。投影矩阵也可以叫做变换矩阵。新的低维特征必须每个维都正交,特征向量都是正交的。通过求样本矩阵的协方差矩阵,然后求出协方差矩阵的特征向量,这些特征向量就可以构成这个投影矩阵了。 3.2.2 PCA算法原理 令x为表示环境的m维随机向量。假设x均值为零,即:E[x]=O。令w表示为m维单位向量,x在其上投影。这个投影被定义为向量x和w的内积,表示为: 而主成分分析的目的就是寻找一个权值向量w使得表达式E[y2]的值最大化: 根据线性代数的理论,可以知道满足式子值最大化的训应该满足下式: 即使得上述式子最大化的w是矩阵Cx的最大特征值所对应的特征向量。特征向量的选择取决于协方差矩阵的特征值的大小。经过 PCA 分析,一个多变量的复杂问题被简化为低维空间的简单问题。可以利用这种简化方法进行作图,形象地表示和分析复杂问题。 3.3 主分量分析PCA和ICA比较 主分量分析(ICA)的目的在于降低向量的维数,取出随机信号间的线性相关性,找出原始信号中隐含的内在能量较大的信号。但是由于PCA方法在实际的计算式只涉及到输入数据概率分布函数的二阶统计特性(仅利用到信号的协方差矩阵),所以分解出的各分量相互正交,主分量之间并不一定不相关,所以并不满足ICA方法对输入信号的独立要求。 从数理统计的角度来说,实际信号的大部分重要的信息往往包含在高阶的统计特性中,因此只有当多变量观测数据是由高斯分布的源信号构成时,PCA方法才能用来实现信号的分离,这是由于服从正态分布的随机过程的不相关性和统计独立是等价的,用一阶、二阶统计特性就可以完全描述信号。然而,在实际的问题中,真正满足正态分布的随机信号很少,绝大部分的随机信号(如自然景物图像、语音信号和脑电波等等)都不是高斯的。 此外,ICA方法往往需要高阶量,也就是在学习阶段需要使用一定的非线性,然而非线性的使用并不影响输入和输出的线性映射关系。许多情况下ICA能够提供比PCA更有意义的数据,而PCA仅在源信号为高斯分布时才能实现ICA。尽管如此,在信号的预处理阶段,PCA方法可以实现数据的预白化,为后续的工作提供了方便。 4 语音信号的分离方案实现 本设计用matlab采集3路语音信号,选择合适的混合矩阵生成若干混合信号。然后合语音信号的分离算法对混合信号进行分离出原始信号。具体实现主要结合独立分量分析ICA技术,选取混合矩阵对3个语音信号进行混合,并从混合信号中分离出原语音信号,最后画出各分离信号的时域波形和频谱图和原来的信号进行比较。此外还运用PCA算法进行了混合语音信号的分离实现,最终对两种算法进行比较。 4.1 语音信号的混合 有题目要求根据盲信号分离原理,用matlab采集三路语音信号,其语音信号如图4-1所示。选择合适的混合矩阵生成若干混合信号,接下来在 MATLAB中实现yy1.wav、yy2.wav、yy3.wav的混合,具体的程序先进行初始化、然后去均值,白化,用随机矩阵对这三路语音信号进行混合,具体的程序代码见附录,运行的结果如图4-2所示: 4-1 原始语音信号和频谱 图4-2 语音混合信号和频谱 4.2 语音信号的分离实现 4.2.1 FAST-ICA算法分离 独立分量分析的含义是把信号分解成若干个互相独立的成分,它是为了解决盲信号分离的问题而发展起来的。如果信号本来就是由若干独立信源混合而成的,ICA就能恰好把这些信源分解开来。故在一般的文献中通常把ICA等同于BSS,ICA不同于主分量分析把目光投注于信号的二阶统计量,研究信号间的相关关系,而是基于信号的高阶统计量,研究信号间的独立关系。 独立分量分析中Fast-ICA算法是一种快速而数值稳定的方法,采用拟牛顿算法实现寻优,具有超线性收敛速度,通常收敛速度较梯度下降寻优算法快得多用FAST-ICA快速主成分分析算法实现混合信号的分离,,用FAST-ICA算法分离的语音信号图形如图4-3所示: 图4-3 fastICA 三路分离信号 将原始3路语音信号与分离出来的语音信号作对比,发现分离出来的语音信号和原来的信号的形状一样,不同的是顺序不一样,信号的幅度也减少了,这恰好说明了盲分离算法中 允许存在两个方面的不确定性: (1)排列顺序的不确定性,无法了解所抽取的信号应是源信号s(t)为哪一个分量. (2)信号幅度的不确定性,即无法知道源信号的真实幅值。 4.2.2 主分量分析算法分离 当多变量观测数据是由高斯分布的源信号构成时,PCA方法也可以用来实现信号的分离,同样用FAST-ICA快速主成分分析算法实现混合信号的分离,我们可以借鉴下面的波形,原始的语言信号是图4-1中的信号,用FAST-ICA算法分离的语音信号图如图4-4示: 图4-4 PCA分离语音信号 同样,将原始3路语音信号与分离出来的语音信号作对比,发现分离出来的语音信号和原来的信号的形状基本一样,不同的是顺序不一样,信号的幅度也减少了,这恰好说明了盲分离算法中允许存在两个方面的不确定性:排列顺序的不确定性和信号幅度的不确定性, 还有一点可以看到, 1、2、3的恢复波形有些失真,但总体上达到分离效果。 4.2.3 分离语音频谱分析及比较 在 MATLAB中画出1.wav、2.wav、3.wav这三段语音信号原始信号的时域和频域图,经过混合,并对FAST-ICA、PCA快速主成分分析算法成功实现混合信号的分离的信号进行频域分析。以上对3路语音信号gequ1.wav、gequ2.wav、gequ3.wav,选取混合矩阵对语音信号进行混合,并从混合信号中分离出原语音信号,分别使用了FAST-ICA和PCA分离算法,最后画出各分离信号的时域波形和频谱图和原来的信号进行比较。此外还运用PCA算法进行了混合语音信号的分离实现,下面对两种算法进行比较。对比可以发现,不管是从时域波形来看还是频谱来看,FAST-ICA算法分离的效果很好,PCA算法分离频域分析和FAST-ICA算法分离类似。 由上面的分离效果可以看出两种算法都能够对混合信号进行分离,发现分离出来的语音信号和原来的信号的形状大体一样,顺序和原来的都不一样,信号的幅度有的增大了,有的减少了。这些情况都比较符合盲分离算法中允许存在的排列顺序的不确定性和信号幅度的不确定性值这两种不确定性。从波形分离效果来说,在这次语音盲分离中FAST-ICA算法比PCA分离算法分离效果好。 5 总结 这次的设计主要对是忙语音分离,这方面在课程学习中均没有涉及,但是在图像处理以及Matlab 使用基础上是这一次的学习更加有意义,在查找资料到进入语音信号分离课题的设计过程中对相关的领域有新的认识,掌握了简单的语音分离方法。 在设计过程中,感受到算法在类似“鸡尾酒会”语音信号中起到的作用,尤其是独立分量分析方法,大量的算法均是在ICA算法的基础上发展改进而来的,这次的设计是一个入门,盲信号分离是一个广阔的领域,不仅包括语音信号,还有确定信号方面,图像处理方面等等,在这些领域以后可以进一步了解。 语音信号是一种非平稳信号,本文研究了快速定点(FastICA)算法以及主分量分析算法(PCA),利用这两种算法能够有效地实现3路语音信号中的分离问题,设计的Matlab实现得到良好的分离效果。 这次设计中也遇到一些问题,这些问题的解决使我对盲信号处理有更全面的认识。 语音信号的盲分离中涉及大量的概率论、高数等数学基础,是各科知识的一个综合,在接下来的学习中,希望在复习旧的知识点,学习新的知识点,继续了解学习盲信号处理BSP这个领域。 参考文献 [1] 马建仓.《盲信号处理》. 国防工业出版社, 2006.6 [2] 赵艳.《盲源分离与盲信号提取问题研究》. 西安:西安理工大学.2004.3 [3] 马建芬.《语音信号分离与增强算法的研究》.电子工业出版社.2012.3 [4] 杨福生.《独立分量分析的原理与应用嗍》.北京:清华大学出版社,2003. [5] 杨行峻《人工神经网络与盲信号处理》.清华大学出版社,2003.5 附录 原始语音Matlab信号频谱程序 %(1)预处理 clc; clear all; close all; % 读入混合前的原始语音信号 I1=wavread ('yy1.wav')'; I2=wavread ('yy2.wav')'; I3=wavread ('yy3.wav')'; S1=I1(1:150000); S2=I2(1:150000); S3=I3(1:150000); S=[S1;S2;S3]; % 3x176401矩阵 Sweight=rand(size(S,1)); % 取一随机3*3矩阵,作为信号混合的权矩阵 MixedS=Sweight*S; % 得到三个信号的混合信号3x176401矩阵 fs=52050; %语音信号采样频率为52050 y1=fft(S1,1024); %对信号做1024点FFT变换 y2=fft(S2,1024); y3=fft(S3,1024); f=fs*(0:511)/1024; figure(1) subplot(4,3,1),plot(S1),title('原始语音信号yy1') subplot(4,3,2),plot(S2),title('原始语音信号yy2') subplot(4,3,3),plot(S3),title('原始语音信号yy3') % 将混合矩阵重新排列并输出 subplot(4,3,4),plot(MixedS(1,:)),title('混合语音信号1'), subplot(4,3,5),plot(MixedS(2,:)),title('混合语音信号2'), subplot(4,3,6),plot(MixedS(3,:)),title('混合语音信号3'), MixedS_bak=MixedS; % 将混合后的数据备份,以便在恢复时直接调用 fs=52050; %语音信号采样频率为52050 y1=fft(MixedS(1,:),1024); %对信号做1024点FFT变换 y2=fft(MixedS(2,:),1024); y3=fft(MixedS(3,:),1024); f=fs*(0:512)/1024; subplot(4,3,7),plot(abs(y1)),title('混合语音信号1FFT频谱'), subplot(4,3,8),plot(abs(y2)),title('混合语音信号2FFT频谱'), subplot(4,3,9),plot(abs(y3)),title('混合语音信号3FFT频谱'), %(2)归一化处理 MixedS_mean=zeros(3,1); %3*1矩阵 for i=1:3 MixedS_mean(i)=mean(MixedS(i,:)); end % 计算MixedS的均值 for i=1:3 for j=1:size(MixedS,2) %返回矩阵的列数 MixedS(i,j)=MixedS(i,j)-MixedS_mean(i); end end %(3)白化处理 MixedS_cov=cov(MixedS'); % cov为求协方差的函数 [E,D]=eig(MixedS_cov); % 对矩阵的协方差函数进行特征值分解 Q=inv(sqrt(D))*(E)'; % Q为白化矩阵 MixedS_white=Q*MixedS; % MixedS_white为白化后的矩阵 IsI=cov(MixedS_white'); % IsI应为单位阵 %(1)FAST-ICA算法 X=MixedS_white; % 以下算法将对X进行操作 [VariableNum,SampleNum]=size(X); numofIC=VariableNum; % 在此应用中,独立元个数等于变量个数 B=zeros(numofIC,VariableNum) % 初始化列向量w的寄
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:语音信号的盲分离-课程设计论文正文本科论文.doc
    链接地址:https://www.zixin.com.cn/doc/2169984.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork