语音信号的盲分离_第1页
语音信号的盲分离_第2页
语音信号的盲分离_第3页
语音信号的盲分离_第4页
语音信号的盲分离_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

武汉理工大学 信息处理课综合训练与设计群 课程设计 课程设计任务书课程设计任务书 学生姓名 学生姓名 专业班级 专业班级 通信通信 11031103 指导教师 指导教师 许建霞许建霞 工作单位 工作单位 信息学院信息学院 题题 目目 语音信号的盲分离语音信号的盲分离 初始条件 初始条件 MatlabMatlab 软件 软件 PCPC 机机 要求完成的主要任务要求完成的主要任务 包括课程设计工作量及其技术要求 以及说明书撰写等具体要求 设计任务 根据盲信号分离原理 用 matlab 采集两路以上的语音信号 选择合适的混合矩阵生成若干混 合信号 选取合适的盲信号分离算法 如独立成分分析 ICA 等 进行训练学习 求出分离矩阵和 分离后的语音信号 设计要求 1 用 matlab 做出采样之后语音信号的时域和频域波形图 2 选择合适的混合矩阵 得到混合信号 并做出其时域波形和频谱图 3 采用混合声音信号进行训练学习 求出分离矩阵 编写出相应的确 matlab 代码 4 用求出的分离矩阵从混合信号中分离出原语音信号 并画出各分离信号的时域波形和频谱图 5 对结果进行对比分析 时间安排 时间安排 序号序号 设设 计计 内内 容容 所所 用用 时时 间间 1根据课题的技术指标 确定整体方案 并进行参数设计计算2 天 2根据实验条件进行全部或部分程序的编写与调试 并完成基本功能7 天 3总结编写课程设计报告1 天 合 计2 周 指导教师签名 指导教师签名 20142014 年年 6 6 月月 1010 日日 系主任 或责任教师 签名 系主任 或责任教师 签名 20142014 年年 6 6 月月 1010 日日 武汉理工大学 信息处理课综合训练与设计群 课程设计 摘摘 要要 盲信号处理 Blind Signal Processing BSP 是指从观测到的混合信号中 在没 有任何先验条件的情况下 恢复出未知的源信号过程 盲信号分离已成为信号处理学 界和通信工程学界共同感兴趣的一个极富挑战性的研究热点问题 并获得了迅速的发 展 盲分离根据信号源的不同可以分为确定信号盲分离 语音信号盲分离和图像盲分 离等 本设计主要讨论语音信号的盲分离 语音信号的盲分离主要是利用盲源分离 Blind Signal Separation BSS 技术对 麦克风检测到的一段语音信号进行处理 本文重点研究了以语音信号为背景的盲处理 方法 在语音和听觉信号处理领域中 如何从混有噪声的的混叠语音信号中分离出各 个语音源信号 来模仿人类的语音分离能力 成为一个重要的研究问题 根据盲信号 分离原理 本设计用 matlab 采集 3 路语音信号 选择合适的混合矩阵生成若干混合信 号 具体实现主要结合独立分量分析 ICA 技术 选取混合矩阵对 3 个语音信号进行混 合 并从混合信号中分离出原语音信号 最后画出各分离信号的时域波形和频谱图和 原来的信号进行比较 此外还运用 PCA 算法进行了混合语音信号的分离实现 最终对 两种算法进行比较 关键字关键字 盲信号处理 语音信号 盲源分离 BSS 独立分量分析 ICA 技术 武汉理工大学 信息处理课综合训练与设计群 课程设计 AbstractAbstract Blind Signal Processing Blind Signal Processing BSP from the observed mixed signal to recover the unknown source signal process without any prior conditions Blind signal separation has become a signal processing academia and communication engineering communities of common interest a challenging research focus and rapid development Blind source separation based on the signal source can be divided to determine the blind signal separation blind separation of speech signals and Blind Image Separation the design focuses on the blind separation of speech signal Blind separation of speech signal using blind source separation Blind the Signal Separation BSS detected by the microphone a voice signal processing the paper focuses on the blind approach to speech signal as the background in voice and acoustic signal processing in the field how isolated from a mixture of noise aliasing voice signal voice source signal to mimic the human voice separation ability become an important research question Blind signal separation principle the design collection of three way voice signal using matlab select the appropriate mixing matrix to generate a number of mixed signal Concrete realization of the combination of independent component analysis ICA technology select the mixing matrix of three speech signals mixed and separated from the mixed signal to the original speech signal and finally draw the separation of signals in time domain waveform and frequency spectrum and the original signal In addition use of the PCA algorithm for the separation of mixed speech signals to achieve the final two algorithms Keywords blind signal processing speech signal blind source separation BSS independent component analysis ICA technology 武汉理工大学 信息处理课综合训练与设计群 课程设计 0 目录 摘要 Abstract 摘 要 2 Abstract 3 1 盲信号处理 BSP 2 1 1 盲信号处理简介 2 1 1 1 盲信号处理方法 3 1 1 2 盲分离的数学模型 4 1 2 盲源分离的发展 5 1 3 盲源分离的应用 6 1 3 1 语音处理领域 6 1 3 2 图像处理领域 7 1 3 3 生物医信号处理学领域 7 2 Matlab 语音信号的采集 9 2 1 语音信号的采集方法 9 2 2 三路语音信号的采集 10 2 3 三路原始语音信号的分析 10 2 3 1 语音信号时域波形 10 2 3 2 语音信号 FFT 频谱 11 3 盲信号分离的两种算法介绍 13 3 1 独立分量分析 ICA 13 3 1 1 Fast ICA 算法简介 14 3 1 2 基于负熵最大的快速 ICA 14 3 2 主分量分析 PCA 17 3 2 1 主成分分析原理 17 3 2 2 PCA 算法原理 18 3 3 主分量分析 PCA 和 ICA 19 4 语音信号的盲分离实现 20 4 1 语音信号的混合 20 4 2 语音信号的分离实现 21 4 2 1 FAST ICA 算法分离 21 4 2 2 主分量分析算法分离 22 4 2 3 分离语音频谱分析 23 4 2 4 FAST ICA 和 PCA 分离比较 25 5 总结 26 参考文献 27 附录 1 原始语音的时频 matlab 程序 28 附录 2 预处理部分 matlab 程序 29 附录 3 算法的 matlab 程序 30 附录 4 录音的 matlab 程序 33 武汉理工大学 信息处理课综合训练与设计群 课程设计 1 1 盲信号处理 BSP 盲信号处理作为计算机智能学的核心研究的内容 是 20 世纪最后的 10 年迅速发 展起来的一个新的研究领域 没事人工神经网络 统计信号处理 信息理论结合的产 物 已经成为一些领域研究与发展的重要课题 特别是在生物医学 医疗图像 图像 增强 远程传感 雷达与通信系统 地震勘测等方面均具有突出的作用 1 1 盲信号处理简介 在现实生活中及自然界中存在大量的信息 人们通过传感器检测获取含有信息的 数据或信号 并处理这些数据来获取相应的信息 这信息进一步加红来获得知识和改 造自然的能力 然而 传感器检测往往是多个成分 包括噪声 无用的信号 混合在 一起的信号 而且是未知的 又由于信号传输信道的特性复杂未知 给信号处理带来 了很大的困难 虽然各种信号处理的方法 如滤波器 时频分析 小波理论神经网络信号处理等 二盲信号处理 Blind Signal Processing BSP 与传统的信号处理方完全不同 它是对源 信号和传输通道几乎没有可利用的信息的情况下 仅从观测的混合信号中提取或恢复 出源信号的一种处理方法 盲处理的工作原理框图如图 1 1 所示 图 1 1 盲处理的工作原理框图 其中 是未知源的信号向量 是混合信号向量 或观测信号 传感器检测 kS kx 信号 是噪声信号向量 混合信号向量经过分离系统可以得到分离的信号 可与 kn 原信号比较 混合矩阵 H 分离系统 W 源向量 kS 噪声向 量 kn 观测向量 kx 输出向量 ky 武汉理工大学 信息处理课综合训练与设计群 课程设计 2 在图 1 1 中 源信号的个数 有用源信号的分量和无用信号的分量 源信号的特 性 源信号的传输混合通道特性 噪声特性都是未知的 观测信号是传感器检 kx 测信号 被认为是已知量 中含有未知源信号和未知混合系统的特性 处理具 kx 有盲信号特性的信号 以估计出盲信号或辨识相互混合系统特性就是盲信号要 kx 处理的任务 有上述的简述可知 盲信号处理的实质及主要的任务就是对于未知的混合系统在 其输入信号完全未知或者仅有少量的先验知识情况下 仅有系统的输出信号 即混合 信号 来重构输入信号 顺便指出 盲处理前的信号预处理常常很重要 这些预处理包括去均值 幅值归 一化或单位化 限制带宽 信号分解 白化解相关及主分量提取等 另外 盲分离的 算法的计算量通常很大 常常限制了实时实现 提高算法效率和高速的硬件是有效的 技术途径 1 1 1 盲信号处理方法 盲号理中 就源信号经过传输通道的混合方式而言 其处理的方法可以分为线性 瞬时混合信号的盲处理 线性卷积混合信号的盲处理和非线性混合信号盲处理三类 根据通道的传输特性中是否含有噪声 噪声特性 噪声混合形式 可以分为有噪声 无噪声 盲处理 含加性噪声和乘性噪声和乘性噪声混合信号盲处理等 目前 盲信 号的分离算法大部分集中在针对加性白噪声或有色高斯噪声等 含噪声的盲处理算法 通常称为文件算法 盲处理的目的可以分为盲辨识和盲源分离两大类 盲辨识的目的就是求得传输混 合矩阵 盲源分离的目的是求得源信号的最佳估计 当盲源分离各分量相互独立时 就成为独立分量分析 即独立分量分析是盲源分离的一种特殊情况 当盲源分离是逐 个分离并紧缩实现时称为盲抽取 盲处理的方法大部分是依据一定的理论构造目标函数的无监督学习方法 盲处理 采用的目标函数主要是负熵 高斯累积量 互信息量 最大似然估计等 确定了目标 之后就要用一定的算法寻优处理 实现算法的主要是各种自适应的优化算法 下面简介盲辨识 BI 盲源分离 独立分量分析 ICA 的概念 盲辨识 盲辨 识是针对输入信号传输通道混合特性辨识问题提出的 武汉理工大学 信息处理课综合训练与设计群 课程设计 3 盲辨识是针对输入信号传输通道混合特性辨识问题提出的 在传统的系统辨识方 法中 需同时已知系统的输入信号和输出信号 再利用经典的辨识算法就可以精确的 估算出系统的特性参数 从而完成系统的辨识任务 而对于盲辨识而言 系统的输入 信号是未知的 仅仅已知系统的输出 要由输出信号确定传输通道的模型结构及特性 参数 从而完成系统的辨识任务 盲源分离 盲源分离是针对从检测的混合信号中估计后恢复源信号的问题提出的 盲源分离 BSS 是指源信号 传输通道特性未知的情况系 仅有观测信号和源信号的 一些先验知识估计出先好的各个分量的过程 一个典型的例子就是 鸡尾酒会 问题 仅根据多个麦克风检测信号的分离恢复出某语音信号的源信号 1 1 2 盲分离的数学模型 盲分离的早期研究始于二十世纪八十年代中后期 短短的十几年里 有关盲分离 理论和算法研究得到了较快的发展 包括盲分离问题本身的可解性以及求解原理等方 面的基本理论问题已经在一定的程度上部分得到了解决 并提出了一些在分离能力 内存需求 计算量等方面性能各异的盲分离算法 一般认为 对盲分离问题的最早研究是由法国 HeraultJutten 于 1985 年左右开始 的 1991 年发表论文 1 现在通常称他们的方法为 H J 算法 H J 算法中提出了一种 针对两个源信号和两个混叠信号的递归连接人工神经网络 利用梯度下降算法调整网 络权值对网络输出信号的残差最小化实现盲分离 Herault 和 Jutten 之后 不少学者对 H J 算法的收敛性进行了系统的研究 在只存 在两个源信号和两个混叠信号的最简单情况下 收敛性问题得到了完满的解决 此后 盲分离问引起了神经网络领域和信号处理领域的广泛研究兴趣 盛况空前 瞬时线性 混叠盲分离相对而然最为简单目前为止 研究成果也最为丰富 瞬时线性混叠数学模 型如下 1 1 tAstx 1 2 tWxty 其中 1 式为混叠模型 2 式为分离模型 为源信号 AW 为Ttsntststs 2 1 未知的的混叠矩阵 源信号也是未知的 W 为分离矩阵 瞬时线性混叠盲分nm ts 武汉理工大学 信息处理课综合训练与设计群 课程设计 4 离的目的就是通过调节分离矩阵 W 或混叠矩阵 A 使得分离信号与对应的源信号的 波形保持一致 即 1 3 tPDsty 其中 P 为置换矩阵 D 为对角矩阵 是对源信号的估计 瞬时线性混叠盲 ty ts 分离问题允许存在两个方面的不确定性 1 排列顺序的不确定性 无法了解所抽取的信号应是源信号为哪一个分量 ts 2 信号幅度的不确定性 即无法知道源信号的真实幅值 由于信号的信息很大一部分隐含在波形中 所以很多时候这两种不确定性并不影 响盲分离技术的应用 瞬时线性盲分离实现的数学模型如图 1 2 所示 其中 LA 表示学 习算法 LearningAlgorithm 图 1 2 瞬时线性盲分离实现的数学模型图 对于这样一个模型 如果没有关于 A 和源信号的任何先验信息 仅从观测的信号 恢复出时 一般对模型做如下的假设 tx ts 1 信号源的各个分量之间相互统计独立 2 至少有一个独立源满足高斯分布 3 没有噪声或者噪声能量很小 上述的假设是实现盲信号分离即盲分离的独立分量分析方法的先决条件 盲分离的核 心问题是求解分离矩阵 其基本思想是抽取统计独立的特征作为输入的表示 而又不 丢失任何信息 一般情况下借助独立分量分析求解信号盲分离 两者等价 混合矩阵 A 分离矩阵 W LA tS ty tx 武汉理工大学 信息处理课综合训练与设计群 课程设计 5 1 2 盲源分离的发展 1986 年 4 月 法国学者 Jeanny Herault 和 Christian Jutten 提出了递归神经网 络模型和基于 Hebb 学习律的学习算法 以实现 2 个独立源信号混合的分离 这一开创 性的论文在信号处理领域中揭开了新的一章 即盲源分离问题的研究 在盲信号分离问题研究中 学者们提出了很多的算法 每种算法都在一定程度上 取得了成功 从算法的角度而言 BSS 算法可分为批处理算法和自适应算法 从代数函 数和准则而言 又分为基于神经网络的方法 基于高阶统计量的方法 基于互信息量 的方法 基于非线性函数的方法等 尽管国内对盲信号分离问题的研究相对较晚 但在理论和应用方面也取得很大的 进展 清华大学的张贤达教授在其 1996 年出版的 时间序列分析 高阶统计量方法 一书中 介绍了有关盲分离的理论基础 其后关于盲分离的研究才逐渐多起来 近年 来国内各类基金支持了盲信号处理理论和应用的项目 也成立了一些研究小组 虽然盲源分离理论方法在近几年已经取得了长足的发展 但是还有许多问题有待 进一步研究和解决 首先是理论体系有待完善 实际采用的处理算法或多或少都带有 一些经验知识 对于算法的稳定性和收敛性的证明不够充分 盲源分离尚有大量的理 论和实际问题有待解决 例如多维 ICA 问题 带噪声信号的有效分离方法 如何更有 效地利用各种先验知识成功分离或提取出源信号 一般性的非线性混合信号的盲分离 如何与神经网络有效地结合 源信号的数目大于观察信号的数目时 ICA 方法等 另外 盲源分离可同其他学科有机结合 如模糊系统理论在盲分离技术中的应用可能是一个 有前途的研究方向 盲源分离技术与遗传算法相结合 可以减少计算复杂度 提高收 敛速度 如何有效提高算法对源信号统计特性的学习和利用也需要进行深入研究 1 3 盲源分离的应用 近年来 盲信号处理逐渐成为当今信息处理领域中热门的课题之一 并且已经在 尤其在 地震探测 移动通信 语音处理 阵列信号处理及生物医学工程领域展现出 诱人的应用前景 下面介绍盲处理应用中的三个主要方面 武汉理工大学 信息处理课综合训练与设计群 课程设计 6 0500100015002000250030003500400045005000 5 0 5 x 10 3 信 信 信 信 1 0500100015002000250030003500400045005000 0 01 0 0 01 信 信 信 信 2 amplitude 0500100015002000250030003500400045005000 5 0 5 x 10 3 信 信 信 信 3 0500100015002000250030003500400045005000 0 02 0 0 02 信 信 信 信 4 sample 1 3 1 语音处理领域 语音信号分离 语音识别是盲处理应用的一个重要领域 最典型的应用就是声控 计机 计算机所接受到的语音指令肯定是肯定是带有各种环境噪声的 还可能存在其 他的语音信号 如有其他人说话 而且这些信号源与接收器的相对位置也未知 计算 机需要在这种情况下识别出正确的语音命令 在移动通信中 往往存在通信质量问题 极大的影响了通话效果 而盲源分离或 盲均衡技术能够消除噪声 抑制干扰及增强语音 提高通话质量 如图 1 3 所示的是 4 段语音信号的混合信号 用忙信号处理算法可以将源语音信 号分离出来 虽然不知道源语音信号的类型 图 1 3 4 段混合语音信号 如图只知道混合的语音信号 其他的未知 要分离出源语音信号就是语音信号盲分 离要做的工作 也是本次设计的主要目的 1 3 2 图像处理领域 盲信号分离同样应用于二维数据 如图像滤波 图像增强等处理 在图像恢复和 重构问题中 主要的任务就是从被污染的图像中恢复出图像的原来面目 消除获取图 武汉理工大学 信息处理课综合训练与设计群 课程设计 7 像时各种因素如相机抖动 镜头变形 传输噪声叠加等造成的图像质量问题 可用盲 处理的方法获得比较满意的效果 1 3 3 生物医信号处理学领域 在生物医学领域 盲信号处理可应用于心电图 ECG 脑电图 EEG 信号分离 听觉信号分析 功能磁共振图像 FMRI 分析等 例如人们常常需要从肌电图中确定 神经元细胞信号的触发模式 而 EMG 信号通常由多个特殊的传感器在人体表处测得 从信号源到传感器之间的信号传输介质参数是未知的 而人们之间各不相同 目前已 经有一些学者将盲源分离技术成功地够应用于脑电图等信号的数据处理 此外 盲分离技术还应用于阵列信号的处理领域 在阵列传感器中 各传感器接 收到的混合信号 而源信号及混合特性完全未知 这是典型的盲信号处理应用问题 在军事领域中 近年来发展起来的雷达由于只接受信号而不发出任何信号受到广泛的 重视 这种雷达的工作原理就是盲信号处理技术 武汉理工大学 信息处理课综合训练与设计群 课程设计 8 2 Matlab 语音信号的采集 2 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 3 运用 audiorecorder 对象采集语音信号 audiorecorder fs nbits ch 可以 创设一个 audiorecorder 对象 fs 是样本采集频率 为 8000Hz 11025Hz 22050Hz 和 44100Hz 之一 默认值为 8000Hz nbits 是每个样本的位数 8 位或 16 位 默认值 为 8 位 ch 样本采集通道 1 为单声道 2 为双声道 默认值为 1 单声道 audiorecorder 对象创设后 就可以进行相应的录音 暂停 停止 播放以及数据读取 等操作 在这次的设计中 利用 windows 自带的录音机录制语音文件 图 2 1 是基于 PC 机 的语音信号采集过程 声卡可以完成语音波形的 A D 转换 获得 WAVE 文件 为后续的 处理储备原材料 调节录音机保存界面的 更改 选项 可以存储各种格式的 WAVE 文 件 麦克风声卡 滤波采样 A D 转 换 Wav 声音 武汉理工大学 信息处理课综合训练与设计群 课程设计 9 图 2 1 基于 PC 机的语音信号采集过程 2 2 三路语音信号的采集 这次设计用 Matlab 程序采集三路语音信号 基本步骤如下 创建工程文件 编写 程序 调试 运行 录音 程序如下 在干扰噪声很小的环境下用麦克风录制进行 3 段不 同的语音文件 保存成 wav 文件 为了便于语音信号的盲分离要将这 3 段语音用软件 进行处理使其文件大小一样 仿真时所用的 3 段语音是 gequ1 gequ2 gequ3 时间是 5 秒 单通道 在 matlab 中对上述语音信号进行分析 接下来对 3 段语音信号进行的时域分析 频谱分析 2 3 三路原始语音信号的分析 利用 MATLAB 中的 wavread 命令来读入 采集 语音信号 将它赋值给某一向量 再将该向量看作一个普通的信号 对其进行 FFT 变换实现频谱分析 再依据实际情况 对它进行滤波 对于波形图与频谱图 包括分离前后的对比图 都可以用 MATLAB 画出 我们还可以通过 sound 命令来对语音信号进行回放 以便在听觉上来感受声音的变化 格式如下 用于读取语音 采样值放在向量 y 中 fs 表 21 NNBlipwavreadbitsfsy 示采样频率 Hz bits 表示采样位数 N1 N2 表示读取从 N1 点到 N2 点的值 若只有 一个 N 的点则表示读取前 N 点的采样值 用于对声音的回放 向量 y 则就代表了一个信号 也即一个复杂的 bitsfsxsound 函数表达式 也就是说可以像处理一个信号表达式一样处理这个声音信号 2 3 1 语音信号时域波形 在 MATLAB 中画出 gequ1 wav gequ2 wav gequ3 wav 这三段语音信号的时域波形 如图图 2 2 所示 程序见附录 1 武汉理工大学 信息处理课综合训练与设计群 课程设计 10 图 2 2 三段原始信号时域波形 在时域内 语音信号具有 短时性 的特点 即在总体上 语音信号的特征是随着 时间而变化的 但在一段较短的时间间隔内 语音信号保持平稳 在浊音段表现出周 期信号的特征 在清音段表现出随机噪声的特征 2 3 2 语音信号 FFT 频谱 在频域内 语音信号的频谱分量主要集中在 300 3400Hz 的范围内 利用这个特 点 可以用一个防混迭的带通滤波器将此范围内的语音信号频率分量取出 然后按 8kHz 的采样率对语音信号进行采样 就可以得到离散的语音信号 函数 FFT 用于序列快速傅立叶变换 一种调用格式为 式中 x y 意 Nxffty 义同前 N 为正整数 函数执行 N 点的 FFT 若 x 为向量且长度小于 N 则函数将 x 补 零至长度 N 若 x 的长度大于 N 则函数截短 x 使之长度为 N 在 MATLAB 中画出 gequ1 wav gequ2 wav gequ3 wav 这三段语音信号的时域波形 和频谱如图 2 3 所示 程序见附录 1 00 511 522 533 54 x 10 4 1 0 1 gequ1信 信 信 信 信 信 00 511 522 533 54 x 10 4 0 5 0 0 5 gequ2信 信 信 信 信 信 00 511 522 533 54 x 10 4 0 5 0 0 5 gequ3信 信 信 信 信 信 武汉理工大学 信息处理课综合训练与设计群 课程设计 11 图 2 3 原始语音 1 2 3 的时域和 FFT 频谱图 从上面的频谱可以看出 语音信号大部分分布于低频部分 这三路语音信号的时 域波形形状 信号幅度差别明显 这给分离出来的信号做一个衡量的标准 01234 x 10 4 1 0 1 gequ1信 信 信 信 信 信 050010001500 0 0 2 0 4 gequ1信 信 信 信 信 信 FFT信 信 01234 x 10 4 0 5 0 0 5 gequ2信 信 信 信 信 信 050010001500 0 0 5 1 gequ2信 信 信 信 信 信 FFT信 信 01234 x 10 4 0 5 0 0 5 gequ3信 信 信 信 信 信 050010001500 0 0 5 1 gequ3信 信 信 信 信 信 FFT信 信 武汉理工大学 信息处理课综合训练与设计群 课程设计 12 信号源 1 s t 2 st 3 s t Mst 混合 系统 A 观察信号 1 x t 2 x t 3 x t Mxt 解混 矩阵 B 估计信号 1 y t 2 yt 3 y t Myt 1信道 2信道 3信道 n信道 t S t X t Y 3 盲信号分离的两种算法介绍 盲源分离在许多领域中都有成功的应用 近十几年来 受到了越来越多的重视 已经有大量的算法不断地提出 其算法可以大致的分为基于高阶累积量的盲源分离 基于信息理论的盲源分离和基于神经网络的盲源分离三种类型 这三类也包含很多不 同类型的算法 下面主要介绍本次设计要用到的 ICA 算法和 PCA 算法 3 1 独立分量分析 ICA 对于盲源分离问题 独立分量分析 Independent Component Analy2sis ICA 是 指在只知道混合信号 而不知道源信号 噪声以及混合机制的情况下 分离或近似地 分离出源信号的一种分析过程 假设源信号若干个统计上相互独立的信号组成的 它们在空间中形成交叠 独立 分量分析 Independent Component Analysis ICA 是借助于多个信道同步观察交叠信 号 将观察信号经过解混分解成若干独立成分 作为对源信号的一组估计 如图 3 1 所示 图 3 1 独立分量分析法 可以假设 A 是线性系统可用矩阵表示 实际仿真时是随机阵 且信道对信号无影 响 观察信道数与信号数相同 A B 方阵 独立分量分析 ICA 有多种算法 如基于代数结构的 AMUSE SOBI JADE 以及基于信 息论的 Fast ICA 和 Info max 其中 Fast ICA 的收敛速度快 且有一定的精度保证 Fast ICA 算法能够更科学的去除元素组合之间的相关性 得到的元素组合比传统 方法更具有说服力 武汉理工大学 信息处理课综合训练与设计群 课程设计 13 从处理技术上看 依据独立性分解势必涉及概论密度函数或高阶统计量 而处理 过程常常要引入非线性环节 而地球化学数据从本质上将也是非线性的 所以应用该 技术来对地球化学数据进行处理是合理的 可行的 从这一意义上看 Fast ICA 技术 优越于常用的只建立在二阶统计量的线性处理技术 接下来的小节对 Fast ICA 原理进 行阐述 3 1 1 Fast ICA 算法简介 Fast ICA算法是一种快速而数值稳定的方法 采用拟牛顿算法实现寻优 具有超 线性收敛速度 通常收敛速度较梯度下降寻优算法快得多 矩阵特征值分解盲分离方 法通过对矩阵进行特征分解或者广义特征分解估计分离矩阵 是一种解析方法 可直 接找到闭形式解 没有迭代寻优过程 因此运行速度很快 快速 ICA 算法 由于采用了定点迭代的思想 所以又称固定点 Fixed Point 算法 或定点算法 是一种快速寻优神经网络算法 与普通的神经网络算法不同的是这种算 法采用了牛顿迭代的思想对采样点采用批处理的方式 在每一步迭代中有大量的样本 数据参与运算 基于目标函数的选择不同 从而产生了 FastICA 算法的基于负熵最大 峭度 互信息最小 最大似然估计等的多种形式 FastICA 算法的优点如下 1 收敛速度快 FastICA 收敛速度为 2 次以上 普通的 ICA 算法收敛仅为 1 次 2 能利用任何的非线性函数直接找出任何非高斯分布的独立分量 而对于其他的 算法来说 概率密度函数的估计不得不首先进行 3 独立分量可被逐个估计出来 类似于做投影追踪 这在仅需要估计几个 不是 全部 独立分量的情况下 能减小计算量 4 Fast ICA 算法有许多神经算法的优点 它是并行 分布式的且计算简单 内存 要求很少 它的性能能够通过选择适当的非线性函数来最佳化 然而 FastICA 算法也有其自身的缺点 首先是它对初值的选择较自然梯度算法敏 感 当初值的选择不是很合适的时候 算法的分离性能急剧的下降 其次算法的迭代 步长有待进行自适应的优化 3 1 2 基于负熵最大的快速 ICA 武汉理工大学 信息处理课综合训练与设计群 课程设计 14 Fast ICA 算法有基于峭度 基于似然最大 基于负熵最大等形式 这里 我们介 绍基于负熵最大的 FastICA 算法 它以负熵最大作为一个搜寻方向 可以实现顺序地 提取独立源 充分体现了投影追踪 Projection Pursuit 这种传统线性变换的思想 由信息论理论可知 在所有等方差的随机变量中 高斯变量的熵最大 因而我们 可以利用熵来度量非高斯性 常用熵的修正形式 即负熵 根据中心极限定理 若一 随机变量由许多相互独立的随机变量之和组成 只要具有有限的X NiSi 3 2 1 i S 均值和方差 则不论其为何种分布 随机变量较更接近高斯分布 换言之 较X i S i S 的非高斯性更强 因此 在分离过程中 可通过对分离结果的非高斯性度量来表示X 分离结果间的相互独立性 当非高斯性度量达到最大时 则表明已完成对各独立分量 的分离 负熵的定义 3 1 YHYHYN Gaussg 式中 是一与具有相同方差的高斯随机变量 为随机变量的微分熵 Gauss YY H 3 2 dppYH YY lg 根据信息理论 在具有相同方差的随机变量中 高斯分布的随机变量具有最大的 微分熵 当具有高斯分布时 的非高斯性越强 其微分熵越小 Y 0 YNg Y 值越大 所以可以作为随机变量非高斯性的测度 由于根据式 3 6 YNg YNgY 计算微分熵需要知道的概率密度分布函数 这显然不切实际 于是采用如下近似公Y 式 3 3 2 Gaussg YgEYgEYN 其中 为均值运算 为非线性函数 可取 或 E g tanh 11 yayg 或等非线性函数 这里 通常我们取 2 exp 2 2 yyyg 3 3 yyg 21 1 a1 1 a 快速 ICA 学习规则是找一个方向以便具有最大的非高斯性 这里 XWYXW TT 非高斯性用式 3 7 给出的负熵的近似值来度量 的方差约束为 1 XWN T g XW T 对于白化数据而言 这等于约束的范数为 1 FastICA 算法的推导如下 首先 W 的负熵的最大近似值能通过对进行优化来获得 根据 Kuhn TuckerXW T XWGE T 条件 在的约束下 的最优值能在满足下式的点上获 1 22 WXWE T XWGE T 得 武汉理工大学 信息处理课综合训练与设计群 课程设计 15 WWW WXWgEXWXgEW TT 3 4 0 WXWXgE T 这里 是一个恒定值 是优化后的值 下面我们利用牛 XWXgWE TT 00 0 WW 顿迭代法解方程 3 4 用表示式F 3 4 左边的函数 可得的雅可比矩阵F 如下 WJF 3 5 IXWgXXEWJF TT 为了简化矩阵的求逆 可以近似为 3 9 式的第一项 由于数据被球化 所以 因而雅可 IXXE T IXWgEXWgEXXEXWgXXE TTTTT 比矩阵变成了对角阵 并且能比较容易地求逆 因而可以得到下面的近似牛顿迭代公 式 这里 是的新值 规格化能提高解的稳定性 简化后就可 WW XWXgWE TT 以得到 FastICA 算法的迭代公式 3 6 实践中 FastICA 算法中用的期望必须用它们的估计值代替 最好的估计是相应 的样本平均 对于 Fast ICA 算法 数据预处理是一个最基本 最必要的过程 该过程包括去均 值和白化 或球化 去均值过程起到了简化 ICA 算法的作用 白化也是信号源盲分离算法中一个经常 用到的预处理方法 对于某些盲分离算法 白化还是一个必须的预处理过程 对混合 信号的白化实际上就是去除信号各个分量之间的相关性 从图 3 2 是 Fast ICA 算法流程图可以看出 通常先对数据进行初步的白化或球化 处理 白化处理可去除各观测信号之间的相关性 从而简化了后续独立分量的提取过 程 这是由于一般情况下 所获得的数据都具有相关性 通过去均值和白化等预处理 在对其进行真正的算法分离 通常情况下 数据进行白化处理与不对数据进行白化处 理相比 算法的收敛性比较好 快速 ICA 算法一般的步骤如下 1 对观测数据进行中心化 使它的均值为 0 X 2 对数据进行白化 ZX 武汉理工大学 信息处理课综合训练与设计群 课程设计 16 3 选择需要估计的分量的个数 设迭代次数 m1 p 4 选择一个初始权矢量 随机的 p W 5 令 非线性函数的选取见前文 WZWgEZWZgEW T p T pp g 6 j p j j T ppp WWWWW 1 1 7 令 ppp WWW 8 假如不收敛的话 返回第 5 步 p W 9 令 如果 返回第 4 步 1 ppmp 武汉理工大学 信息处理课综合训练与设计群 课程设计 17 图 3 2 Fast ICA 算法流程图 概括来说 Fast ICA 算法主要包含两部分 预处理部分和核心算法部分 预处理部分 主要包括去均值化和白化处理 核心算法部分是基于拟牛顿算法 具体的实现见附录程 序 3 2 主分量分析 PCA 3 2 1 主成分分析原理 主成分分析 Principal Component Analysis PCA 是一种掌握事物主要矛 盾的统计分析方法 它可以从多元事物中解析出主要影响因素 揭示事物的本质 简化复杂的问题 计算主成分的目的是将高纬数据投影到较低维空间 观测信号 x 去均值 对去均值后的观测信号 x 进行白化 基于负熵最大化理论确定目标函数 xWGE T 应用牛顿迭代算法求目标函数的最大值 即分 离矩阵 w 收敛 由获得信号源 xw y 是 否 武汉理工大学 信息处理课综合训练与设计群 课程设计 18 给定 n 个变量的 m 个观察值 形成一个 n m 的数据矩阵 n 通常比较大 对 于一个由多个变量描述的复杂事物 认识难度会很大 于是我们可以抓住事物主要 方面进行重点分析 如果事物的主要方面刚好体现在几个主要变量上 那么我们 只需要将体现事物主要方面的较少的几个主要变量分离出来 对此进行详细分析 但是 在一般情况下 并不能直接找出这样的关键变量 这时我们可以用原有变量 的线性组合来表示事物的主要方面 PCA 就是这样一种分析方法 PCA 主要用于数据降维 对于由一系列特征组成的多维向量 其中某些元素本 身没有区分性 比如某个元素在所有的样本中都相等 或者彼此差距不大 那么这 个元素本身就没有区分性 如果用它做特征来区分 贡献会非常小 所以我们的目 的是找那些变化大的元素 即方差大的那些维 而去除掉那些变化不大的维 从而 使特征留下的都是 精品 使得计算量也相应变小 对于一个 k 维的特征来说 相当于它的每一维特征与其他维都是正交的 相当于在多维坐标系中 坐标轴都是 垂直的 那么我们可以变化这些维的坐标系 从而使这个特征在某些维上方差大 而在某些维上方差很小 所以我们的做法就是求得一个 k 维特征的投影矩阵 这个投影矩阵可以将特征从 高维降到低维 投影矩阵也可以叫做变换矩阵 新的低维特征必须每个维都正交 特 征向量都是正交的 通过求样本矩阵的协方差矩阵 然后求出协方差矩阵的特征向量 这些特征向量就可以构成这个投影矩阵了 3 2 2 PCA 算法原理 令 x 为表示环境的 m 维随机向量 假设 x 均值为零 即 E x O 令 w 表示为 m 维单位向量 x 在其上投影 这个投影被定义为向量 x 和 w 的内积 表示为 3 7 xwxwY T n k kk 1 满足约束条件 3 8 1 2 1 www T 而主成分分析的目的就是寻找一个权值向量 w 使得表达式 E y2 的值最大化 3 9 CxwwwxxEwxwEyE TTTT 22 根据线性代数的理论 可以知道满足式子值最大化的训应该满足下式 武汉理工大学 信息处理课综合训练与设计群 课程设计 19 3 10 2 1mjwwCx jjj 即使得上述式子最大化的 w 是矩阵 Cx 的最大特征值所对应的特征向量 特征向量 的选择取决于协方差矩阵的特征值的大小 经过 PCA 分析 一个多变量的复杂问 题被简化为低维空间的简单问题 可以利用这种简化方法进行作图 形象地表示和 分析复杂问题 3 3 主分量分析 PCA 和 ICA 主分量分析 ICA 的目的在于降低向量的维数 取出随机信号间的线性相关性 找出原始信号中隐含的内在能量较大的信号 但是由于 PCA 方法在实际的计算式只涉 及到输入数据概率分布函数的二阶统计特性 仅利用到信号的协方差矩阵 所以分解 出的各分量相互正交 主分量之间并不一定不相关 所以并不满足 ICA 方法对输入信 号的独立要求 从数理统计的角度来说 实际信号的大部分重要的信息往往包含在高阶的统计特 性中 因此只有当多变量观测数据是由高斯分布的源信号构成时 PCA 方法才能用来实 现信号的分离 这是由于服从正态分布的随机过程的不相关性和统计独立是等价的 用一阶 二阶统计特性就可以完全描述信号 然而 在实际的问题中 真正满足正态 分布的随机信号很少 绝大部分的随机信号 如自然景物图像 语音信号和脑电波等 等 都不是高斯的 此外 ICA 方法往往需要高阶量 也就是在学习阶段需要使用一定的非线性 然而 非线性的使用并不影响输入和输出的线性映射关系 许多情况下 ICA 能够提供比 PCA 更有意义的数据 而 PCA 仅在源信号为高斯分布时才能实现 ICA 尽管如此 在信号的 预处理阶段 PCA 方法可以实现数据的预白化 为后续的工作提供了方便 武汉理工大学 信息处理课综合训练与设计群 课程设计 20 4 语音信号的盲分离实现 本设计用 matlab 采集 3 路语音信号 选择合适的混合矩阵生成若干混合信号 然 后结合语音信号的分离算法对混合信号进行分离出原始信号 具体实现主要结合独立分量分析 ICA 技术 选取混合矩阵对 3 个语音信号进行混 合 并从混合信号中分离出原语音信号 最后画出各分离信号的时域波形和频谱图和 原来的信号进行比较 此外还运用 PCA 算法进行了混合语音信号的分离实现 最终对 两种算法进行比较 4 1 语音信号的混合 有题目要求根据盲信号分离原理 用 matlab 采集两路以上的语音信号 选择合适 的混合矩阵生成若干混合信号 接下来在 MATLAB 中实现 gequ1 wav gequ2 wav gequ3 wav 的混合 具体的程序先进行初始化 然后去均值 白化 用随机矩阵对这三路语音信号进行混合 具体的程序代码见附录 运行的结果 如图 4 1 所示 图 4 1 三路混合语音信号波形及频谱 上图的混合采用的随机混合 3 3 矩阵是 Sweight 0 6449 0 3420 0 5341 024 x 10 4 1 0 1 信 信 信 信 信 信 gequ1 024 x 10 4 0 5 0 0 5 信 信 信 信 信 信 gequ2 024 x 10 4 0 5 0 0 5 信 信 信 信 信 信 gequ3 024 x 10 4 0 5 0 0 5 信 信 信 信 信 信 1 024 x 10 4 0 5 0 0 5 信 信 信 信 信 信 2 024 x 10 4 0 1 0 0 1 信 信 信 信 信 信 3 010002000 0 0 2 0 4 信 信 信 信 信 信 1FFT信 信 0

温馨提示

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

评论

0/150

提交评论