




已阅读5页,还剩55页未读, 继续免费阅读
(信号与信息处理专业论文)基于麦克风阵列的说话人跟踪及语音分离实现技术的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 麦克风阵列可以弥补单个孤立麦克风在噪声处理、声源定位和跟踪、语音提 取和分离等方面存在的不足,能够广泛的应用于各种具有嘈杂背景的语音通信环 境中,以提高语音通信质量。麦克风阵列的研究是阵列信号处理的新方向,具有 广泛的市场应用前景。 本文介绍了一种基于麦克风阵列的说话人跟踪和语音分离方法,提出了将其 在d s p 平台上实现的软硬件方案,尤其是软件实现方案。 本文涉及的说话人跟踪以及语音分离,以近场麦克风阵列语音传播模型为基 础,使用近场2 dm u s i c 算法完成说话人的定位和跟踪。再根据说话人的方位 信息,使用近场最小方差波束形成技术( n e a r - f i e l dm i n i m u mv a r i a n c e d i s t o r t i o n l e s sr e s p o n s eb e a m f o r m i n g ) 完成语音的提取和分离。 提出的实现方案,包括硬件实现和软件实现两大部分。硬件方案是搭建一个 以t id s p t m s 3 2 0 c 6 7 1 1 为核心的通用阵列语音处理平台,为算法实现提供硬件 基础。 本文重点介绍了软件实现方案。对于这样一个运算量大、任务多的算法的软 件实现,其主要难点是算法的实时实现,包括软件代码的优化和任务调度两大部 分。代码优化的主要内容包括:( 1 ) 使用d s p l i b 来完成各种操作,如f f t 、矩阵 乘法等等。以提高编程效率:( 2 ) 代码的手工优化;( 3 ) 各种折衷处理,如空间一 一时间折衷、处理效果运算量的折衷、片内空间片外空间的折衷等。在 任务调度方面,本文主要给出了原理和实现方法。本文的任务调度算法主要根据 各个任务的优先级,实时的分配各个任务的执行时间,从而使整个系统协调工作, 从整体上满足实时性要求。 通过采用本文提出的软硬件实现方案,实时实现了说话人跟踪和语音分离, 其技术指标基本达到了实际应用的需求,从而验证了该算法的工程可实现性。最 后,本文还对本系统实际测试的结果进行了分析,指出了存在的问题和不足,分 析了它们产生的原因,并给出了相应的改进方案。 关键词:麦克风阵列、t m s 3 2 0 c 6 7 1 l 、软件实现、代码优化、任务调度 m i c r o p h o n ea r r a y s h a v eb e e nw i d e l yu s e di n s p e e c ha p p l i c a t i o n s ,s u c h a s t e l e c o n f e r e n c e ,h a n d s f r e em o b i l et e l e p h o n e , h e a r i n ga i d s ,e t c i th a sb e e np r o p o s e d a s a p r o m i s i n g s o l u t i o n t h a tc a n s i g n i f i c a n t l y i n c r e a s et h e q u a l i t y o f s p e e c h c o m m u n i c a t i o ni nt h en o i s yb a c k g r o u n d ,a n dw i l lr e p l a c ec o n v e n t i o n a ld e s k t o pa n d h e a dm i c r o p h o n e si nn e a rf u t u r e an o v e lm e t h o do fs p e a k e rt r a c k i n ga n ds p e e c hs e p a r a t i o nb a s e do n m i c r o p h o n e a r r a yh a sb e e ni n t r o d u c e di nt h i st h e m e i t sh a r d w a r ea n d s o f t w a r es y s t e m s ,b a s e do n t h et id s pt m $ 3 2 0 c 6 7 1 1 ,a r cd i s c u s s e d t h es o f t w a r ei m p l e m e n t a t i o no ft h e a l g o r i t h m ,e s p e c i a l l y , i sd e t a i l e d t h i sm e t h o di sb a s e do nt h en e a r - f i e l dm i c r o p h o n ea r r a y ss p e e c hp r o p a g a t i o n m o d e l b yt h em e a n so fn e a r - f i e l d2 d _ m u s i c ,t h en e a r - f i e l db a s e de s t i m a t e st h e l o c a t i o no fs p e a k e r s u t i l i z i n gt h i sl o c a t i o n i n f o r m a t i o n ,t h e m e t h o da t t e n u a t e s u n w a n t e dv o i c e sb yn e a r - f i e l dm v d r b e a m f o r m i n gt e c l m o l o g y t h i st h e m ef o c u s e so nt h es o f t w a r ei m p l e m e n t a t i o n t a k i n gi t s c o m p u t a t i o n a l c o m p l e x i t ya n dm u l t i p l et a s k si n t oa c c o u n t ,t h er e a lt i m ei m p l e m e n t a t i o ni st h ek e y p o i n t ,w h i c hc o n s i s t sm a i n l yo f t w o p a r t s ,c o d eo p t i m i z a t i o na n dt a s k ss c h e d u l i n g t h ef o r m e ri sc o m p o s e do f t h eu t i l i z a t i o no f d s p l i ba n dm a n yk i n d so f t r a d e - o f f si n t h ei m p l e m e n t a t i o n u t i l i z i n gd s p l i bi nt h ep r o g r a m m i n g ,t h ec o r r e s p o n d i n gc o d e e f f i c i e n c yc a nb ei n c r e a s e dd r a m a t i c a l l y t h et r a d e o t t s b e t w e e ns p a c ea n dt i m e , a c c u r a c ya n dc o m p u t a t i o n a lc o m p l e x i t y , o n - c h i pr a m a n d o f f - c h i pr a m h a v em a d e t h er e a lt i m ei m p l e m e n t a t i o np o s s i b l e i na d d i t i o n ,t h et a s k ss c h e d u l i n ga r r a n g e dt h e r u n n i n gt i m eo fd i f f e r e n tt a s k sa c c o r d i n gt ot h e i rp r i o r i t i e s t h i sh e l p st h ew h o l e s y s t e m t ow o r ki np h a s e s t h et e s t i n gr e s u l ti nr e a ls p e e c he n v i r o n m e n th a ss h o w e dt h a tt h i ss y s t e mi sa b l e t ot r a c kt h es p e a k e ra n dp i c ku pt h ed e s i r e ds p e e c hs i g n a l si nr e a lt i m e t h et e s t i n g d a t ai sa l s oa n a l y z e d s e v e r a ld r a w b a c k s ,a sw e l la st h e i rc a u s e s ,h a v eb e e nd i s c u s s e d , a n dt h ec o r r e s p o n d i n gp l a no fi m p r o v e m e n th a sb e e np r o p o s e df o rh i g h e rs y s t e m p e r f o r m a n c e k e yw o r d s :m i c r o p h o n ea r r a y ,t m s 3 2 0 c 6 7 1 1 ,s o f t w a r ei m p l e m e n t a t i o n , c o d eo p t i m i z a t i o n ,t a s k ss c h e d u l i n g - h 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:登盘塾日期:z 。口砗,月_ e e l 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:垄嗑塾 导师签名: 日期扫己肿i 倬聚 _ d o a d s p e d m a f f t m v d r m u s i c 2 dm u s i c 缩引表 d i r e e t i o n0 fa r r i v a l 到达方向 d i g i t a ls i g n a lp r o c e s s o r 数字信号处理器 e n h a n c e dd i r e c tm e m o r ya c c e s s 增强的直接存储器访问 f a s tf o u r i e rt r a n s f o r m 快速傅里叶变换 m i n i m u mv a r i a n c ed i s t o r t i o n l e s sr e s p o n s e 最小方差无失真响应 m u l t i p l es i g n a lc l a s s i f i c a t i o n 多信号分类 2d i m e n s i o nm u s i c 二维m u s i c 算法 u n i f o r ml i n e a ra r r a y 均匀线阵 - v i - 电子科技大学硕士论文 1 1 应用背景 第一章引言 作为传统的语音拾取工具,麦克风正广泛地应用于各种语音通信场合,如舞 台、大型会议室、新闻现场、远程电视会议、语音聊天、语音编码、语音识别以 及完成语音通信的消费类电子产品等等。但是,目前麦克风的使用方式仍然是以 使用单个、孤立的麦克风为主。 在实际环境中,单个麦克风的拾音范围很有限,在拾音范围内的任何声音, 包括不希望的噪音都会被接收。因此,单个麦克风接收的信号,是由多个声源和 环境噪声的叠加构成。但是,在实际应用中,人们常常只对这些声源中的一个或 某几个感兴趣。同时,由于声源( 说话人) 可能在室内小范围内走动,以及室内 各种其它声音的多径反射和混响等因素,都会导致单个麦克风接收的信号信噪比 降低,从而导致语音通信质量严重恶化,使得感兴趣的说话人的声音难以听清。 在噪声处理上,传统的麦克风一般采用在频域进行功率谱抵消( s p e c t r a l s u b t r a c t i o n ) 和滤波等技术来抑制噪声。然而,这些接收到的语音信号通常在时 间和频谱上相互重叠,因此,要分离出不同的声音并有效抑制噪声和干扰( 不感 兴趣的声音) 相当困难。另外,使用单个麦克风,无法准确对准并跟踪感兴趣的 说话人。 在语音通信中,可以使用阵列麦克风来弥补单个孤立麦克风的上述缺陷。所 谓阵列麦克风,就是使用多个麦克风构成一个麦克风阵列,在时域和频域的基础 上增加一个空间域,对接收到的来自空间不同方向的信号进行空时处理,使麦克 风阵列具有去噪、声源定位和跟踪、语音提取和分离等功能,从而提高嘈杂背景 下的语音通信质量。 1 2 研究现状 基于麦克风阵列的研究和应用是语音信号处理的一个新领域。近年来,很多 国际著名的公司和研究机构,如m m 、b e l l 等,正致力于麦克风阵列的研究和 产品开发。麦克风阵列正成为越来越流行的高质量语音拾取的工具,预计在不久 的将来将取代传统的桌面或头戴式麦克风 i 】 2 】 3 】 4 】。 目前,国外有了一些初期产品进入市场,包括助听器、免提车载电话、远程 视频会议等【5 】 6 】( 7 。这些产品已经广泛的应用到社会生活的各个场合并体现出 基于麦克风阵列的说话人跟踪及语音分离实现技术的研究 了极大的优越性。遗憾的是,在国内,到目前为止我们还没有看到具有自主知识 产权的阵列麦克风产品,这与国内巨大的市场需求不协调。特剐是在2 0 0 8 年, 中国人将第一次举办奥运会,到时候无论是现场解说还是现场采访都需要大量的 这种设备。由于国外企业对其阵列麦克风信号处理核心算法是保密的,因此,研 制我国自主的基于阵列麦克风的语音处理算法和技术有着重要的意义。我国一些 企业、研究所和高校也作了大盘的跟踪和相关工作,但都才刚刚起步。 1 3 可行性分析 1 ,3 1 理论基础和研究方法 采用多个麦克风构成一个麦克风阵列,在时域和频域的基础上增加一个空间 域,对接收到的来自空间不同方向的信号进行空时处理,这就是阵列麦克风信号 处理的核心思想。它属于阵列信号处理学科分支。近年来,阵列信号处理的理论 和方法获得了迅速发展,高分辨谱分析和自适应信号处理也更加完善。这些新发 展的理论与技术成为现代阵列信号处理的主要标志,同时也丰富了阵列信号处理 的理论。使其更加成熟和系统化。阵列信号处理理论的完善和发展促进了基于 阵列麦克风的信号处理理论的发展。很多用于阵列信号处理的新算法、新技术和 新体系,不加修改或稍作改动就可咀用于阵列麦克风。可以说,阵列信号处理理 论的发展为阵列麦克风的研究带来了新的契机 8 。 另外,基于麦克风阵列的语音信号处理和传统的阵列信号处理相比,又有了 自己的特点。首先,阵列麦克风主要处理语音信号。语音信号是多频的非平稳随 机信号,不同于传统的窄带平稳信号。其次,语音信号的空间传播距离有限,声 源主要位于阵列的近场范围内,而人们熟知的远场模型将难以适用于阵列麦克 风。还有,麦克风阵列主要用于室内通信环境。室内具有复杂的环境噪声,同时 存在严重的多径反射等等。对这些方面进行深入地研究,将有助于进一步完善阵 列麦克风信号处理理论,并促进阵列麦克风应用技术的开发。 1 3 2 技术基础 随着麦克风个数的增多,其算法复杂度也迅速增大。在这种情况下,常规的 单片机和c p u 已无法胜任,必须使用专门的数字信号处理( d s p ) 芯片来完成 信号处理任务。在过去短短二十多年里,d s p 处理器的性能得到了很大的改善, 软件和开发工具也得到了相应的发展,价格却大幅度下降,从而为阵列麦克风研 究,特别是相应应用技术的开发提供了条件 9 】。 电子科技大学硕士论文 1 3 3 市场前景 传统单个孤立麦克风的不足,促进了阵列麦克风的研究。随着时代的发展, 人们对通信质量的要求越来越高,对通信产品的性能也提出了更高的要求,在这 方面的消费支出也越来越多。在很多场合,特别是具有嘈杂背景的语音通信环境, 如会场、多媒体教室、大型舞台等,单个孤立麦克风的缺陷暴露得越来越明显, 严重影响了语音通信质量,给人们带来了极大的不便。使用阵列麦克风对信号进 行空时处理可以解决这些问题。在这种情况下,市场对基于阵列麦克风的通信产 品的需求越来越迫切。这种迫切的市场需求,极大地推动了阵列麦克风的理论研 究和产品开发。可以预言,作为一种高质量语音拾取的工具,阵列麦克风必将取 代传统的桌面或头戴式单个麦克风。 1 4 本文工作 本文从上述应用背景出发,介绍了一套完整的基于麦克风阵列的说话人跟踪 和语音分离方法,提出了该方法的软硬件实现方案,重点讨论了其软件实现。该 方案及其实现,获得了2 0 0 3 德州仪器公司数字信号处理大学挑战赛算法组二等 奖,参赛队员共计4 人,由博士生居太亮和徐异凌负责初期的算法方案;硕士生 徐胜提出了硬件系统方案、软件操作系统方案,并完成了部分软硬件实现工作; 作者提出了算法的软件实现方案,完成了大部分的软硬件实现工作,并负责后期 系统和算法性能的改进。 该方案的主要特点如下: 1 ) 谱抵消技术( s p e c t r u ms u b t r a c t i o n ) :对阵列采样的空间信号进行初步 去噪,为后面算法的处理提供更好的信源。 2 ) 多频非平稳信号处理技术:声音信号本质上是一个非平稳的多频信 号,对它的处理需要用到一些特殊方法,比如短时傅氏变换。 3 ) 改进的m u s i c 算法:传统的m u s i c 算法是一种常用的估计信源波 达方向的技术,但它是基于远场模型的。对于麦克风阵列来说,声 源基本位于阵列的近场范围内,常规的m u s i c 算法不再适用,必须 加以改进使其适用于近场。 4 1 近场最小方差波束形成技术( n e a r - f i e l dm v d rb e a m f o r m i n g ) :常规的 最小方差波束形成技术用于远场中的信号增强,本算法对它进行改 进,得到近场最小波束形成技术,适用于近场的语音提取和分离。 该方法的实现方案分为硬件实现部分和软件实现部分。硬件实现主要包括以 基于麦克风阵列的说话人跟踪及语音分离实现技术的研究 美国德州仪器( t i ) 公司浮点d s p 芯片t m s 3 2 0 c 6 7 1 1 ,以下简称c 6 7 1 1 ,为核 心的通用阵列语音处理硬件平台的拮建。软件实现主要包括算法的编程实现、代 码优化和多任务的调度。 本文介绍了该方案的原理,重点讨论了算法的软件实现,包括算法各部分的 实现以及代码优化,任务调度等,并对结果中存在的问题进行了分析,针对这些 问题提出了相应的改进方案。 本文的研究工作得到了“四川省科技攻关项目( 编号:0 4 g g 0 2 1 0 2 0 0 2 ) ” 和“华为公司科技基金( 编号:y j c b 2 0 0 4 0 1 3 m u ) ”资助。 1 5 本文结构 本文组织如下:第一章为引言,介绍项目背景以及本文的主要内容;第二章 介绍本文方案所涉及算法的理论,包括谱抵消技术,改进的m u s i c 算法以及近 场最小方差波束形成技术等等;第三章简要介绍本方案工程实现的硬件方案,即 以c 6 7 1 1 为核心,搭建一个通用阵列语音处理硬件平台;第四章重点介绍本方案 工程实现的软件部分,包括算法各部分的实现,代码优化,折衷处理以及多任务 调度等等;第五章提供本系统实际测试的结果,分析了其中的不足并提出了相应 的改进方案;最后是总结。 电子科技大学硕士论文 第二章基于麦克风阵列的说话人跟踪及语音分离算法理论 基于麦克风阵列的语音信号处理是阵列信号处理的一种,但它又不同于传统 的阵列信号处理,其主要技术难点如下: 1 ) 麦克风阵列模型的建立:阵列麦克风主要用于处理语音信号,同时 阵列麦克风的抬音范围都有限,因此,声源大都位于麦克风阵列近 场范围内。这使得传统阵列处理,如雷达、声纳等,所用的平面波 前远场模型不再适用,必须使用更为精确的球面波前模型 1 0 。球面 波前模型必须考虑由于传播路径不同所带来的幅度衰减的不同,即 除了信号的到达方向外,还需要考虑声源与阵列之间的距离。所以, 进行麦克风阵列研究,必须建立适用于麦克风阵列的近场模型。 2 ) 阵列宽带信号的处理:传统的阵列处理的信号一般是窄带信号。阵 元之间接收到的信号的时延和相位差主要由载波确定。在麦克风阵 列处理中,信号没有经过调制,也没有载波,阵元之间接收到的信 号的时延和相位差由信号源的特性来决定。麦克风接收到的语音信 号频率一般在3 0 0 3 0 0 0 h z 之间,阵列之间的时延和相位差与信号 源的频率关系密切。因此,麦克风阵列处理的信号可以看成是一个 宽带信号,这使得阵列处理更加困难。 3 ) 非平稳信号的处理:传统的阵列处理的接收信号一般为平稳信号, 而麦克风阵列中的接收信号为非平稳的语音信号。语音信号可以看 成是在2 0 m s 一4 0 m s 的时间内是近似平稳的,即语音信号具有短时平 稳性【1 1 】。结合上面的宽带情况,麦克风阵列处理一般先把接收信号 经过一个短时傅立叶变换,求出其短时谱,然后在频域进行处理。 每一频率对应一个相位差。麦克风阵列的信号处理是将宽带信号在 频域上分成多个子带,对每一个子带应用传统的窄带处理,从而得 到接收信号的空间谱。 提出的实现方案所涉及的基于麦克风阵列的说话人跟踪及语音分离算法的 流程图如图1 所示。首先,通过麦克风阵列对其接收范围内的信号进行空时采样; 接着使用谱抵消技术去除背景噪声,为后面的算法处理提供更好的信号;然后, 使用改进的m u s i c 算法( 近场2 dm u s i c ) 估计声源的方位和数目;最后,根 据近场2 dm u s i c 算法的定位信息,使用近场最小方差波束形成技术提取或分 离出感兴趣的声源。下面分别进行介绍。 基于麦克风阵列的说话人跟踪及语音分离实现技术的研究 为了叙述方便,符号约定如下 黑体大写字母代表矩阵; 黑体小写字母代表矢量; 上标t 为矩阵转爱; 上标h 为h e r m i t i t m 转置; 麦克风阵列空时采样 谱抵消去噪 ( s p e c t r u ms u b t r a c t i o n ) i 改进的m u s i c 算法 i ( 2 d _ m u s i c ) l 近场最小方差波束形成技术 ( n e a r - f i e l dm v d r b e a m f o r m i n g ) 圈1 算法总流程图 2 1 麦克风阵列近场传播模型 对于一个长度为l 的均匀直线阵列( u l a ) ,如果声源到阵列的距离, i f i ( o ) i ( 1 2 ) 【0 ,o t h e r s 其中,i d ( 功1 2 可在无音段估计得到,或者在语音检测算法处理过程中动态确定。 由于人耳对语音信号的相位不敏感,带噪语音的相位直接与i s ( c o ) j 相乘就可以恢 复出去噪后的语音信号,即: 缸 = 历刀淞( 圳e x p j a r g ( y ( t o ) ) ( 1 3 ) 2 2 。2 语音检测 在使用麦克风阵列处理各帧采样数据时,该帧数据中是否含有语音信号所需 的运算量相差很大。如果不加区别,则严重影响了算法的实时性,浪费了系统资 源。因此,对采样数据进行语音检测非常必要。 图4 谱抵消去噪语音检测流程 基于麦克风阵列的说话人跟踪及语音分离实现技术的研究 语音检测是一种最基本的语音信号处理技术,现有的方法很多。有的从语音 和噪声的统计模型出发,有的从语音本身特点( 短时能量、过零率等) 出发。如果 实时性是首要考虑的问题,则首先使用第二种方法【1 3 】。 在本方案中,谱抵消去噪和语音检测的流程图如图4 所示图中的判决阀值 采用自适应的方法来确定,以适用于不同的场合。 2 3 改进的m u s i c 算法 由于麦克风阵列主要是在近场环境下处理语音信号,而语音信号又是非平稳 的多频信号,因此,不能用常规的m u s i c ( m u l t i p l es i g n a lc l a s s i f i c a t i o n ) 算 法来估计声源的数目和方位。需要对其进行必要的改进,以适应于特定的环境。 在近场隋况下,除了考虑麦克风接收信号与参考点接收信号之间的相位差 妒之外,还要考虑接收信号之间的幅度差,所以应采用( 5 ) 式所表示的方向矢量。 将( 2 ) 式和( 3 ) 式代入( 5 ) 式可得: 。( ,班l _ 。半,壬。一螋生| j ( 1 4 ) l 哩, l a , j 可以看出,对于角频率为国的信源,影响方向矢量a 的方位参数变成了两个, 除了到达方向口( d o a ,d i r e c t i o no f a r r i v a l ) 以外,还有距参考点的距离,。这 样,二维方位坐标 ,) 就能在以阵列中心为原点的二维近场范围内,确定声源 的角度和距离。这种二维坐标近场m u s i c 算法又被称为近场2 dm u s i c z 4 。 语音信号的主要频率范围是 3 0 0 ,3 0 0 0 h z ,是多频信号。凶此,处理时并不 能简单的使用( 1 4 ) 式。同时,语音信号是非平稳的,其频率特性随着时间而变化, 但在2 0 4 0 m s 这样一个很短的时间段内,可以近似的被看成是平稳信号。基于 语音信号和近场模型的这些特点,应该使用短时傅里叶变换( s t f t ) 的方法来 处理。 不失一般性,定义一帧信号的时间窗长度为3 2 m s ,采样点数为尼e l l ,则在 一帧内的信号可以认为是平稳信号。阵列内m 个麦克风接收的信号可表示为矩 阵的形式: x ( f ) = x l ( f ) ,x :( f ) ,x ( r ) r = 式中,向量x ,( f ) = i x f l ,x t ,x j , l e n 7 , 第f 帧信号。对x ( r ) 进行短时傅氏交换, x l 沮曲 , 屯m 帅 , : ,x m 。拉捌 ( 1 5 ) f = 1 ,2 ,m 表示第i 个麦克风接收的 有: 电予科技大学硕士论文 成 x 池f ) = 瞒慨f ) ,五( c o ,f ) ,以( ,f ) r ( 1 6 ) 这里,z ( c o ,f ) 为( f ) 的短时傅氏变换在频率处的值。那么。( 1 0 ) 式可以写 x ( c o , f ) = a s ( c o ,f ) + n ( c o ,f ) ,一玎 功 疗 a - - a l ,a 2 ,a 】 s ( ,f ) 5 【& 池f ) ,最慨f ) ,s n ( c o ,f ) r ,1 7 、 n ( ,f ) = 【l ( 甜,r ) ,n 2 ( c o ,f ) ,n u ( c o ,r ) r 7 a ,= a ( q ,c o ) 一 q ( d j ,c o ) e 一心,a m ( 口1 ,c o ) e 一脚- 】r ,i = 1 ,2 , 其中,s ( c o ,r ) 为个声源的短时傅氏变换向量。n ( c o ,f ) 为噪声的短时傅氏变换 向量,a 为方向矢量矩阵。 如果语音信号和噪声互不相关,由( 1 7 ) 式可以得到相关矩阵r ,。( 却: r 。( m ) = e x ( 奶r ) x ”c o , r ) = a ( m ) e i - s ( ,r ) ,( ,r ) a ”( c o ) + e e l a ( o 。,r ) n ”( ,r ) ( 1 8 ) = a ( 功) c 。( ) a ”( c o ) + c ( 搿) 其中,c s ( c o ) = 目s ( c o , r ) s ”( c o ,f ) 为信号相关矩阵,c 。( c o ) = e n ( c o ,r ) n ”( c o ,f ) 为 噪声相关矩阵。 与常规的m u s i c 算法一样,对r 。( 叻进行特征分解,得到信号子空间e 。( 出) 和噪声子空间e 。( 功。维数分别为n 和( m - n ) 。并且分别以信号对应的特征向 量和噪声对应的特征向量为基底。在白噪声的情况下,有如下正交性: a ,上e 。( c o ) ,f - l ,2 ,n ( 1 9 ) 需要注意的是,如果噪声是有色噪声时,需要x c r 。( 印) 进行广义特征值分解 ( g e n e r a l i z e de i g e n v a l u ed e c o m p o s i t i o n ) ,以白化噪声,( i 9 ) 式所描述的正交性才 成立。 根据( 1 9 ) 式有: 性e ”。( 酬2 = o ,i = 1 ,2 - - , ( 2 0 ) 对于常规的m u s i c 算法,通常由峰值搜索和求根等方法来确定信源位置。 但是对于近场信源来说,由于方向矢量a ( a ,r ,曲为二元方位函数,同时具有不规 则性,用求根法来做比较困难。因为求根的运算很繁杂,而且在通常情况下,根 的个数大于信源个数,存在误判的可能。因此,可使用峰值搜索法,在( a ,r ) 二 维空间内,通过下式来搜索和确定声源的数目和方位。 基于麦克风阵列的说话人跟踪及语音分离实现技术的研究 p ( a川= 群 胍去同) ,f = 啦, , 2 4 近场最小方差波束形成技术 得到声源的数目和方位的估计值之后,可求出方向矢量的估计值i ( a ,妨。 在这种情况下,一种比较简单的分离信号的方法,就是使用最小方差无失真波束 形成技术( m i n i m u m v a r i a n c ed i s t o r t i o n l e s sr e s p o n s e b e a m f o r m i n g ) 。即在条件: 1 w ( c o ) “a ( ,c o ) = 1 1 m 。i n ( w 、c o ,a , r 肿w ( ) 2 下,求得最优权向量: 虬( 出) :塑巡警等l ( 2 3 a ”( r ,印) r 二:( c o ) a ( a j r , 脚) 在上式中,只有r 。( 功未知,为了得到r 。( 功,对( 1 8 ) 式作以下简化【1 4 】, 盘。( c o ) = a a + 皿m ( 2 4 ) 来代替式( 2 3 ) 中的r 。( 国) 。其中,a = 【a ( q ,1 ,c o ) ,a ( a 2 ,乇,c o ) ,n ( d ,_ ,出) 】。这 种简化成立的条件如下:在通常情况下,声源之间是互不相关的,那么信号相关 矩阵c ,( 功是一个对角阵。当声源的功率相差不大时,可用矩阵户i 。代替 c ,( 功,其中p 为个声源的平均功率。由于麦克风之间的噪声互不相关,噪声 相关矩阵c 。( 印) 也是一个对角阵,也可用o - i 。代替c 。( c o ) ,仃为噪声平均功率。 这样,就可用r 。( 国) 代替r 。( 曲,其中= o - p 。特别是只有一个声源( n = i ) 时, 通过对矩阵r 。( 叻使用非求逆方法 1 5 ,就可以得到: o “咖蒂坠 ( 2 5 ) 愀口,r ,神0 使权向量的计算公式( 2 3 ) 避免了矩阵求逆,适于实时处理。 和常规最小方差波束形成技术相比,权向量的计算公式( 2 3 ) 使用了近场信号 空间相关矩阵r 。( 叻和近场方向矢量a ,不仅能增强某一方向的信号,还能区别 同一方向、不同距离的信源,是该技术的一个优点。 2 5 算法复杂度分析 下面进行算法复杂度分析。为了简单起见,仅考虑对算法复杂程度影响最大 电子科技大学硕士论文 的乘法次数# n m u l ,分析中使用的参数为: 麦克风个数( 通道数) ; n 信源个数; 皿e l l 帧长; n c o r r 求相关矩阵的平均次数: 酱砌方位搜索点数; ( 1 ) 短时傅里叶变换s t f t 采用f f t 计算s t f t ,每帧计算所需的乘法次数为:m x j l e ni 0 9 2 弘 ( 2 ) 相关矩阵的计算 计算相关矩阵的一个样本,需要膨2 次乘法,共需要n c o r r 埘:次乘法 ( 3 ) 特征分解 对一个肘吖的复数矩阵,特征分解所需的乘法次数为o ( m ,) ; ( 4 ) 峰值搜索 共需n s e a r c h m x ( m 。,) 次乘法; ( 5 ) 计算权向量 所需的乘法次数为o ( m 3 + m 2 1 : 综合( 1 ) 5 ) ,更新一次权向量所需的最低乘法次数为 # n m 出丝专丝1 0 9 :f z e n + n c o r r m 2 + d ( 帕十 ( 2 6 ) + n s e a r c h m l i b 文件夹:存放1 i b 文件,内部封装手工优化的汇编程序代码,是一个 d s p l i b 的核心部分;有的d s p l i b 还有+ s r c 文件,主要是用c 语言和汇 编语言编写的程序源代码,使用归档器可从中提取出这些源代码。 i n c l u d e 文件夹:用于存放各个库函数的头文件,通常分为c 程序头文件 和汇编程序头文件两部分。 其他辅助文件,如帮助文件等。 41 2 2t i d s p l i b r a r y 的下载和安装 由于d s p l i b 种类繁多,且属可选模块,通常的d s p 开发环境( c c s ,c o d e c o m p o s e rs t u d i o ) 并没有配备d s p l i b 。因此,使用一个d s p l i b 之前,必须进 行d s p l i b 的下载和安装。 下载:在t i 公司网站w w w t i t o m 上可免费下载各个系列的d s p l i b 。 电子科技大学硕士论文 安装:d s p l i b 下载完毕后,双击安装文件,将它安装在计算机中选定的位 置( 默认位置为c :、t i ) 。 安装之后,就可以在程序开发中使用d s p l i b 的库函数,下面举例说明如何 使用。 由于1 r i 的各个d s p 系列的d s p l i b 不同,应正确选择各自对应的库,才能 达到提高程序效率并简化编程的目的。本方案是在基于t m s 3 2 0 c 6 7 1 l 的硬件平 台上实现的,其对应的库为t m s 3 2 0 c 6 7 x d s p l i b r a r y ( 以下简称c 6 7 x d s p l i b ) , 它由以下几个部分组成【2 0 】: l i b 文件夹,内含库文件d s p 6 7 x 1 i b 和源文件d s p 6 7 x s r 、d s p 6 7 x _ c s r c 、 d s p 6 7 x _ s a s i c ; i n c l u d e 文件夹,内含头文件; 其他辅助文件夹; 由于在本算法中多次进行傅氏变换( f f t ) 和矩阵运算,本节以这两个操作为 例,介绍如何在编程中利用d s p l i b 来完成这些功能,并提高效率。 ( a ) 褥加库文件d s p 6 7 x 1 i b 基于麦克风阵列的说话人跟踪及语音分离实现技术的研究 ( b ) 添加i n c l u d e 搜索路径 图1 2 用c 6 7 xd s p l i b 的准备工作 4 1 。2 3 d s p l i b 的使用 由于t m s 3 2 0 c 6 7 xd s pl i b r a r y 中各个库函数的核心代码全部都存放在文件 “出p 6 7 x 1 j b ”中。因此,使用c 6 7 xd s p l i b 的第一步,是在当前项目( p r o j e c t ) 中链接其核心文件“d s p 6 7 x 1 i b ”,如图1 2 ( a ) 所示。 另外,各个库函数除了存放在“d s p 6 7 x 1 i b ”中的代码以外,还有一个对应的 头文件“h ( c 程序头文件) ”或“* h 6 7 ( 汇编程序头文件) ”。因此,在使用 c 6 7 xd s p l i b 时,还必须将存储头文件的i n c l u d e 目录所在路径,添加到项目搜 索路径中,如图l z ( o ) 所示。以上操作的具体步骤参见 2 1 1 ,完成以上操作后,就 可以在当前工程中调用c 6 7 xd s p l i b 中的库函数来完成相应的运算。 f f t 的实现算法非常多,总体来说可以分为时域抽取和频率抽取;基( r a d i x ) 的选取也非常灵活,可以按基2 进行抽取,可以按基4 、基8 进行抽取,还可使 用混合基,如基2 基4 混合抽取。在c 6 7 xd s p l i b 中完成对应的f f t 的库函数 也很多,这里选取库函数“d s p fs p ()”,它使用的是最常用的基2的_cfftr2 d i t 时间抽取算法计算f f t ,定义如下: 电子科技大学硕士论文 同时,该库函数还有一个对应的头文件“d s p f _ s p _ _ c f f t r 2 _ d i t h ”,使用时需要 将其包含到调用该库函数的程序中。此时,该库函数就可以像一般的子程序一样 被其他用户程序调用,具体使用方法如下所示。其中,“预处理”操作,即旋转 因子w 的计算和w 的位倒序操作可以事先完成,真正调用库函数时就不需要进 行预处理,以进一步提高程序执行的效率。 再来看矩阵乘法的例子。矩阵乘法的库函数为“d s p fs p _ m a t _ m u l ( ) ”,定 义如下: 基于麦克风阵列的说话人跟踪及语音分离实现技术的研究 同样,该库函数还有一个对应的头文件“d s p fs p _ m a tm u l h ”,使用该库函 数时应包括该头文件,具体使用方法如下; 可以看出,d s p l i b 的使用非常方便,等同于调用子函数,程序员只需要在程 序中按照各个库函数的参数要求定义变量,就可以直接使用这些库函数,节省了 大量的编程工作量。在本文的算法实现中,使用了大量的这种库函数,从而大大 提高了程序的效率。为了更清楚地体现d s p l i b 的优势,下面将f f t 和矩阵乘法两 个库函数和未经优化的c 程序进行对比,比较它们的执行效率。 41 2 4 性能分析 c 6 7 x d s p l i b 中有一个“d s p 6 7 x e s r c ”文件,其中存放的就是库中未经优化 的c 语言源程序,为了体现d s p l i b 的优化性能,将库函数和“d s p 6 7 x c s r c ” 中的源函数的效率进行比较。为了使用户能够方便地对该文件中的各个源程序进 行操作,t i 公司专门提供了一个归档器程序( a r 6 x e x e ) 来完成这一功能。比如, 使用归档器可以很方便的把各个源程序从源文件“d s p 6 7 xc ”中提取出来,_sic 形成一个单独的文本文件,使用格式如下: 电子科技大学硕士论文 该条指令得到c 程序源文件“s pc”,从中可得库函数cfftz2 d i t “d s p fs pc f f t r 2d i t ( ) ”的c 语言源代码,相应的c 程序为“v o i ds p c f f t r 2 _ d i t ( f l o a t + x 。f l o a t w ,s h o r tn ) ”,该程序可以像一般子程序一样被主程序调用。源函 数和库函数的参数形式完全相同,因为库函数就是对源函数的程序代码进行手工 优化的结果。使用同样的方法可以得到库函数“d s p fs p _ m a t _ m u l ( ) ”未优化的 源程序“s pc ”。_ m a t m u l 分别使用库函数和源函数来完成f f t 和矩阵乘法运算,用c c s 自带的剖析 工具“p r o f i l e r ”来分析两个函数由于编程方式不同所带来的运行时间上的差异。 改变输入数组的长度或矩阵的维数,得到一组数据,如表1 所示,为了方便起见, 参与运算的矩阵均为方阵。 表1 库函数性能分析 输入数组的 完成操作所需时钟周期个数二者所花时间比 长度库函数源函数库函数:源函数 3 2 4 9 91 5 6 6 3 1 0 0 :3 1 3 9 6 49 8 73 6 2 2 41 0 0 :3 6 ,7 0 f f t 1 2 82 0 6 78 2 5 9 91 0 0 :3 9 9 6 2 5 64 5 2 31 8 5 3 5 01 0 0 :4 0 9 8 5 1 21 1 7 5 2 4 1 3 5 d 5 1 o o :3 5 1 9 1 0 2 43 6 1 4 29 1 7 2 2 410 0 :2 5 3 8 2 0 4 87 9 2 7 72 0 0 2 6 2 71 0 0 :2 5 2 6 矩
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国光大银行社会招聘模拟试卷及答案详解(易错题)
- 2025广西百色市凌云县泗城镇卫生院拟招聘公共卫生医生3人考前自测高频考点模拟试题及一套参考答案详解
- 2025年东营市“英才进广饶”(教师类)事业单位引进人才招聘(31人)考前自测高频考点模拟试题有完整答案详解
- 2025湖北交投集团部分中层管理岗位竞聘上岗20人考前自测高频考点模拟试题有完整答案详解
- 2025湖州安吉国丰热电有限公司招聘57人模拟试卷及完整答案详解一套
- 安全法律培训课件
- 灵昕安全培训中心课件
- 灵川食品安全培训直播课件
- 2025至2030中国臭氧氧化催化剂行业竞争对手与投资风险预警报告
- 2025年隆德县公开招聘城市社区工作者模拟试卷及1套参考答案详解
- 电商行业员工行为规范与工作手册
- 借款合同中国农业银行担保借款合同3篇
- 雨水管网扩容改造工程建设方案
- 2025年国家电网招聘之电网计算机考试题库含答案(精练)
- 苏教版一年级数学上册月考测试卷(一)(范围:游戏分享至第一单元)(含答案)
- 2025至2030中国电镀工业园区行业发展趋势分析与未来投资战略咨询研究报告
- 2025-2026学年度武汉市部分学校高三年级九月调研考试 英语试卷(含答案)
- 2025秋大象版(2024)小学科学三年级上册《测量风向》教学设计
- 建筑装修工程质量监督管理制度
- 不锈钢栏杆施工全流程方案
- 2025住院医师规范化培训院内师资培训考核测试题附答案
评论
0/150
提交评论