硕士学位论文-嘈杂背景下的声源定位及语音分离实现技术的研究.pdf_第1页
硕士学位论文-嘈杂背景下的声源定位及语音分离实现技术的研究.pdf_第2页
硕士学位论文-嘈杂背景下的声源定位及语音分离实现技术的研究.pdf_第3页
硕士学位论文-嘈杂背景下的声源定位及语音分离实现技术的研究.pdf_第4页
硕士学位论文-嘈杂背景下的声源定位及语音分离实现技术的研究.pdf_第5页
免费预览已结束,剩余69页可下载查看

硕士学位论文-嘈杂背景下的声源定位及语音分离实现技术的研究.pdf.pdf 免费下载

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

文档简介

电子科技大学 硕士学位论文 嘈杂背景下的声源定位及语音分离实现技术的研究 姓名:陈露明 申请学位级别:硕士 专业:信息与通信工程 指导教师:彭启琮 20070501 摘要 摘要 在嘈杂的语音通信环境中,由于存在背景噪声和其他说话人的声音,使得感 兴趣说话人的声音难以听清,极大地影响了语音通信的质量。随着时代的发展, 人们对语音通信质量的要求越来越高,这一问题的解决已迫在眉睫。 麦克风阵列的研究,是目前阵列信号处理领域的新兴研究方向,为上述问题 的解决引入了新思路。在时域和频域的基础上增加空间域,在噪声处理、声源定 位和跟踪、语音提取和分离等方面,弥补单个麦克风的不足。因而,麦克风阵列 能够广泛应用于嘈杂背景下的语音通信环境,提高语音通信质量。 本文介绍了一种基于麦克风阵列的嘈杂背景下声源定位和语音分离方法,提 出了在d s p 平台上的硬件和软件实现方案。 本文涉及的声源定位和语音分离技术,以麦克风阵列近场语音传搔模型为基 础。首先,使用频率聚焦技术,形成整个语音频带的频域平均相关矩阵;使用近 场宽带2 d m u s i c 算法,完成声源的定位和跟踪;再根据估计的方位信息,使用 近场最小方差波束形成技术,完成语音的提取和分离。 算法实现方案,包括硬件和软件两部分。硬件方面,搭建了以t m s 3 2 0 c 6 7 1 3 为核心的通用阵列语音处理平台。软件部分,针对这样一个任务繁多,计算量庞 大的算法,进行了软件系统设计和优化。实现的主要难点,包括多个任务的调度、 代码优化和麦克风校正等。其中,任务调度对算法各任务进行合理的优先级划分, 使系统协调工作。代码优化部分,采用汇编语言与c 语言联合编程,使用d s p l i b 提高编程效率,以及进行折衷处理,在保证算法实现效果的前提下,尽量提高运 行速度。麦克风校正,主要是保证各个麦克风的幅度响应一致,从而保证距离定 位的准确性。 通过硬件和软件的实现,本系统基本完成了声源的二维定位和跟踪,以及单 个声源的语音增强功能,验证了工程实现的可行性。最后,本文对测试结果进行 分析,并提出了进一步工作的重点。 关键词:麦克风阵列,t m s 3 2 0 c 6 7 1 3 ,e d m a ,代码优化,d s p l i b a b s t r a c t a b s t r a c t i nt h en o i s yb a c k g r o u n d ,t h ee n v i r o n m e n t a ln o i s ea n ds p e e c h e sf r o mo t h e r s p e a k e r sm a k et h es p e a k e ro f i n t e r e s tc a n n o tb eh e a r de x p l i c i t l y , w h i c hm a k e sb a de f f e c t t ov o i c ec o m m u n i c a t i o n r e s e a r c h i n go fm i c r o p h o n ea r r a yi san e wb r a n c hi nt h ef i e l do fa r r a ys i g n a l p r o c e s s i n g i tb r i n g si nn e ws o l u t i o n st ot h ea b o v ep r o b l e mb ya d d i n gas p a c i a ld o m a i n t ot h eo n g i n a lt i m ea n df r e q u e n c yd o m a i n s ,w h i c hm a k e su pt h es h o r t a g e so fas i n g l e m i c r o p h o n e ,a n dc a nb eu s e di nt h en o i s yb a c k g r o u n dt oi m p r o v et h eq u a l i t yo fv o i c e c o m m u n i c a t i o n 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 nm i c r o p h o n e a r r a yi si n 协o d u c e di nt h i st h e s i s i t sh a r d w a r ea n ds o f t w a r es y s t e m s b a s e do nt h et i d s p , a r ed i s c u s s 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 f i r s t , t h ea v e r a g ec o v a r i a n c em a t r i xi nf r e q u e n c yd o m a i ni sg a i n e db ym e e n so f f r e q u e n c yf o c u st e c h n o l o g y t h e ns p e a k e rl o c a t i o nc a l lb ee s t i m a t e db yn e a r - f i e l d w i d c b a n d2 d - m u s i ca l g o r i t h m u t i l i z i n gt h i sl o c a t i o ni n f o r m a t i o n , u n w a n t e dv o i c e s c a l lb ea t t e n u a t e db 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 h n o l o g y t h eh a r d w a r ea n ds o f t w a r ei m p l e m e n t a t i o ni sd i s c u s s e d ag e n e r a lh a r d w a r e p l a t f o r mf o ra r r a ys p e e c hp r o c e s s i n gw i t ht m s 3 2 0 c 6 7 1 3a st h ec o r ei si m p l e m e n t e d a s o f t w a r es y s t e mi sa l s od e s i g n e da n do p t i m i z e d ,t a k i n ga c c o u n to ft h em u l t i - t a s k sa n d c o m p l e x i t yc o m p u t a t i o n t h em a i nd i f f i c u l t i e sa r et a s ks c h e d u l e , c o d eo p t i m i z a t i o na n d m i c r o p h o n ec a l i b r a t i o n t a s ks c h e d u l ea r r a n g e st h er u n n i n gt i m ef o rt h et a s k sa c c o r d i n g t ot h e i rp r i o r i t y c o d eo p t i m i z a t i o ni n c l u d e st w op a r t s d s p l i bi su s e dt oi m p r o v et h e e f f i c i e n c ya n ds e v e r a lt r e d e - o f f sa r ea l s ot a k e ni n t oa c c o u n t m i c r o p h o n ec a l i b r a t i o n n a k e st h ea m p l i t u d er e s p o n s eo fa l lm i c r o p h o n e st ob ei d e n t i c a l t h et e s t i n gr e s u l ts h o w st h a tt h i ss y s t e mc a l lt r a c ks p e a k e ra n d p i c ku pt h ed e s i r e d s p e e c hs i g n a li nr e a lt i m e t h et e s t i n gd a t ai sa n a l y z e da n dt h ep l a no ff u t u r e i m p r o v e m e n th a sb e e nd i s c u s s e da sw e l l k e y w 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 3 ,e d m a ,c o d eo p t i m i z a t i o n , d s p l i b 图表目录 图表目录 图2 1 算法总流程图6 图2 - 2 麦克风阵列近场传播模型7 图2 3 多信源麦克风阵列处理示意图8 图2 - 4 预处理f i r 滤波器的幅度和相位响应1 0 图2 5 语音检测流程图。:j 1 1 图2 - 6 数据分帧更新方式1 2 图2 72 d m u s i c 谱峰图1 6 图3 - 1 通用平台系统框图。2 2 图3 - 2s s m 2 0 1 9 基本放大电路2 3 图3 3 两片a d 7 3 3 6 0 的输出时序2 4 图3 - 4 系统实物图2 6 图3 5 采用e d m a 完成多通道数据采集2 7 图3 - 6e d m ap i n g - p o n g 传输方式2 8 图3 - 7 硬件系统初始化流程2 9 图4 1 算法实现总流程3 0 图4 2 任务调度示意图3 1 图4 3 算法各任务实现流程3 2 图4 _ 4 库函数的并行指令执行3 4 图4 - 5 使用t m s 3 2 0 c 6 7 xd s p l i b 的准备3 5 图4 - 6 两种软件编程方式【3 ”4 1 图4 - 7 各通道频域响应4 5 图4 - 8 麦克风校正4 6 图5 - 1 声源定位演示方案4 7 图5 - 2 声源定位演示界面,- 。4 8 图5 - 3 算法测试方案。4 9 图5 4 实际环境语音分离算法测试方案5 0 图5 5 原始语音。5 1 图5 - 6 波束指向目标声源( 9 0 ) 的输出语音5 r v l 图表目录 图5 - 7 波束其他方向( 4 5 ) 的输出语音5 l 图5 8 目标声源5 2 图5 9 干扰信号5 2 图5 1 0 算法处理之前的混合信号5 2 图5 。1 1 算法处理后的信号5 3 图5 1 2 方向矢量对m v d r 波束形成的影响。5 3 图5 1 3 均匀圆阵列声源定位模型5 5 缩略表 d s p e d m a m c b s p m v d r m u s i c 2 dm u s i c s t f t 缩略表 d k e c t i o n o f a r r i v a l 到达方向 d i 舀“s 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 u l t i - c h a n n e lb u f f e rs e r i a lp o r t 多通道缓冲串口 m i n i m u mv a r i a n c ed i s t o r l i o n l e s sr e s p o n s e 晟小方差无失真响应 m u l t i p l es 培l 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 算法 s h o r tt i m ef o u r i e rt r a n s f o r m 短时傅立叶变换 u n i f o r ml i n e a ra r r a y 均匀线阵 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:珏、鏖朔日期:泖年f 月弓日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘广允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:罕盘整星且 第一章引言 1 1 应用背景 第一章引言 在嘈杂的语音通信环境中,由于存在背景噪声和其他说话人的声音,使得感 兴趣说话人的声音难以听清,极大地影响了语音通信的质量。随着时代的发展, 人们对语音通信质量的要求越来越高,这一问题的解决已迫在眉睫。 在无噪声、无混响、距离声源很近时,使用单个高性能、高方向性的麦克风 即可获得高质量的语音信号。但是,这要求声源和麦克风之间的位置相对固定, 如果声源位置改变,就必须移动麦克风。同时,在实际的语音通信环境中,存在 背景噪声和其他说话人( 干扰) 的声音。当感兴趣的声源在麦克风的选择方向之 外时,就会引入大量的噪声,严重影响语音通信的质量。而且,当麦克风距离声 源很远时,也无法保证良好的语音通信质量。在噪声处理上,传统地,一般采用 在频域上进行功率谱抵消( s p e c t r a ls u b a c t i o n ) 【l 】和滤波等方法来抑制噪声。然而, 麦克风采集到的语音信号与噪声及干扰之间,通常在时域和频域上相互重叠,这 就使得要分离出感兴趣的声源并有效抑制噪声和干扰变得相当困难。 麦克风阵列的引入,为上述问题的解决提供了新的思路。所谓麦克风阵列, 就是使用多个麦克风,按照一定的几何拓扑结构构成阵列,在时域和频域的基础 上增加了空间域,对接收到的来自空间不同方向的信号进行空时处理。与单个麦 克风相比,麦克风阵列主要具有如下两个特点: ( 1 )智能跟踪特性。麦克风阵列系统对单个目标同时采集多路信号,由于 各个麦克风的位置不同,采集到的数据在时间和空间上必然存在差 异。利用这些差异,通过多路数据融合技术,就能提取出需要的信息, 实现对说话人的智能跟踪。 ( 2 )空间选择特性。麦克风阵列能以“电子瞄准”的方式,在空间上形成 波束,对准感兴趣的声源,而在其他说话人( 干扰) 的方向形成零点, 以此完成对干扰和背景噪声的抑制,获得良好的语音通信质量。 基于上述特点,麦克风阵列能够弥补单个麦克风的不足,具有去噪、声源定 位和跟踪、语音增强及分离等功能,广泛应用于嘈杂背景下的语音信号处理,如 会场、多媒体教室、大型舞台、视频会议、车载免提电话和战场等。 电子科技大学硕士学位论文 1 2 研究现状 在雷达、声纳、医学、通讯、航空航天技术等诸多领域,阵列信号处理早已 得到广泛应用。在国际上,将麦克风阵列技术用于语音信号处理的研究始于8 0 年 代。许多国家和地区,如美国、德国、法国、意大利、日本、香港等相继开展了 这方面的研究工作。 进入9 0 年代以来,基于麦克风阵列的语音处理算法正逐渐成为一个新的研究 热点。近年来,许多国际著名的公司和研究机构,如i b m 、b e l l 等,正致力于麦 克风阵列的研究和产品开发。现有的阵列系统已经有了许多应用,包括:视频会 议1 2 1 1 3 1 、大型场所的会议记录【2 】、语音识 i u e 4 1 、助听装置【3 l 和车载语音通信环境6 】川 等。这些产品应用于社会生活的各种场合,已显示出了极大的优越性。 遗憾的是,我国这方面的研究工作起步较晚,还没有相应产品进入市场。由 于国外企业对阵列的核心处理算法是保密的,因此研究具有自主产权的麦克风阵 列语音处理算法和实现技术,具有非常重要的意义。 1 3 理论基础 使用麦克风阵列进行语音信号处理的核心思想是,通过多个麦克风采集语音 信号,在时域和频域的基础上增加一个空间域,对来自空间不同方向的信号进行 空时处理。它属于阵列信号处理的学科分支【8 】。 与传统的阵列信号处理相比,基于麦克风阵列的语音信号处理具有新的特点: ( 1 )在基于麦克风阵列的应用中,由于没有载波,语音信号应该被看作是 宽带的。传统的阵列主要处理的是窄带信号,这就要求对传统的处理 方法进行一定的扩展,使其满足语音信号的特点。 ( 2 )其次,语音信号是非平稳的,只具有短时平稳性。而传统的阵列主要 处理的是平稳信号,因此,需要对信号进行分帧处理,对系统实时性 要求较高。 ( 3 ) 由于声音信号的传播距离有限,声源大多位于阵列的近场范围之内, 传统的平面波前模型不再适用,需要采用更为适合的球面波前模型, 并对声源进行多维定位。 此外,麦克风阵列主要用于室内通信环境中。室内环境一般比较复杂,存在 多种环境噪声,以及声音信号的反射、多径传播、混响等。对这些方面的进一步 2 第一章引言 研究,将有助于完善麦克风阵列语音信号处理理论和方法。 1 4 技术基础 随着麦克风个数的增多,相应的算法复杂度也迅速增大。在这种情况下,常 规的单片机和c p u 已不能胜任,必须使用专门的数字信号处理芯片( d s p ) 来完 成信号处理任务。在过去短短二十多年里,d s p 处理器的性能得到了很大的改善, 软件和开发工具也得到了相应的发展,价格却大幅度下降,这就为麦克风阵列的 研究,特别是相应应用技术的开发提供了条件【9 】o 1 5 本文工作 本文从上述背景出发,介绍了一套完整的基于麦克风阵列的嘈杂背景下声源 定位及语音分离技术,包括该方法的硬件和软件实现。该方案的提出及实现技术 的研究始于2 0 0 3 年,并在2 0 0 4 德州仪器中国d s p 大奖赛中获得算法组二等奖。 此后,博士生居太亮和林静然负责算法的进一步改进;硕士生余涛完成前端模拟 信号的硬件处理;硕士生肖华负责麦克风阵列的校正理论及实现方案;作者在原 有基础上完成了硬件系统的升级和更新算法的软件实现工作。该方案在2 0 0 6 年4 月德州仪器中国d s p 大奖赛中获得算法组三等奖,在2 0 0 6 年1 2 月t i 大陆台湾 d s p 大奖赛中获得算法组三等奖。 该方案主要由如下几个部分组成: ( 1 )语音检钡l 技术。能否准确检测到语音信号,是影响系统性能的一个重 要因素。是否接收到语音,将直接决定当前的算法处理。如果不加区 分,将严重浪费系统资源。 ( 2 )多频非平稳信号处理技术。声音信号是短时平稳的多频信号,需要一 些特殊的处理方法,如短时傅立叶变换等。 ( 3 )宽带声源多维定位技术。在麦克风阵列应用中,声源多位于阵列的近 场范围之内,采用球面波前模型。因此,需要对传统的定位算法进行 改进,使其适用于近场环境。 ( 4 )改进的近场最小方差波束形成技术。常规的波束形成技术应用于远场 中的信号增强,且适用于窄带信号。本算法对它进行了改进,使其适 合于近场中对多频信号的处理。 电子科技大学硕士学位论文 该方案的实现包括硬件和软件两部分。硬件部分的实现,主要是以美国德州 仪器公司( t i ) 的d s p 芯片t m s 3 2 0 c 6 7 1 3 ( 以下简称c 6 7 1 3 ) 为核心,搭建通用 的语音阵列信号处理硬件平台。与前一个版本相比,将处理核心由t m s 3 2 0 c 6 7 1 1 升级为c 6 7 1 3 ,前端对麦克风采集到的信号进行差分放大。软件部分的实现,主要 包括任务划分与调度,算法代码的转换及优化,根据系统资源和实现性能,进行 必要的折衷处理,在保证实时处理的前提下,尽量提高算法的实现性能。此外, 麦克风校正也是一个重要的组成部分保证各个通道麦克风幅度响应的一致性, 提高距离定位的准确性。 本文介绍了该方案的原理,对硬件和软件部分进行了相应的介绍,并对测试 结果进行了详细的分析,提出了进一步工作。 本文的研究工作得到了“四川省科技攻关项目( 编号: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 6 本文结构 本文组织如下: 第一章介绍项目背景及本文的主要内容; 第二章介绍本方案涉及的算法理论,包括语音检测、频率聚焦、宽带声源多 维定位算法及近场最小方差波束形成技术等; 第三章介绍本方案的硬件实现方案,即以c 6 7 1 3 为核心,搭建一个通用的阵 列语音处理硬件平台; 第四章介绍本方案的软件实现,包括各部分算法实现、代码优化及麦克风校 正等; 第五章介绍本系统的实际测试结果,分析了其中的不足并提出了相应的改进 方案; 第六章是总结。 4 第二章算法原理 第二章算法原理 基于麦克风阵列的语音信号处理是阵列信号处理的一种,但它又不同于传统 的阵列信号处理,其主要技术难点如下: ( 1 )麦克风阵列模型的建立:麦克风阵列主要用于处理语音信号,且麦克 风的拾音范围有限,因此,声源大都位于麦克风阵列近场范围内。这 就使得传统的阵列处理,如雷达、通信等,所用的平面波前远场模型 不再适用,必须使用更为适合的球面波前模型【1 0 1 。球面波前模型除了 考虑信号的到达方向之外,还需要考虑由于传播路径不同所带来的幅 度衰减的不同,即必须考虑声源与阵列之间的距离。所以,进行麦克 风阵列研究,必须建立适用于麦克风阵列的近场模型。 ( 2 )阵列宽带信号的处理:传统的阵列一般处理的是窄带信号。阵元之间 接收到信号的时延和相位差主要由载波确定【1 1 】。在麦克风阵列处理 中,信号没有经过调制,也没有载波,阵元之间接收到信号的时延和 相位差由信号源的特性来决定。麦克风接收到的语音信号频率一般在 3 0 0 3 4 0 0 h z 之间,阵列之间的时延和相位差与信号源的频率关系密 切。因此,麦克风阵列处理的信号应该被看作是宽带信号,这就使得 阵列处理更加困难。 ( 3 )非平稳信号的处理:传统的阵列处理的接收信号一般为平稳信号,而 麦克风阵列接收的信号为非平稳的语音信号。在2 0 4 0 m s 时间内, 语音信号可以看作是近似平稳的,即语音信号具有短时平稳性【1 2 1 。因 此,必须对信号进行分帧处理,这就对算法的实时实现提出了更高的 要求。 我们的实现方案,所涉及的基于麦克风阵列的嘈杂背景下的声源定位及语音 分离算法的流程,如图2 - 1 所示。首先,麦克风阵列对其接收范围内的信号进行空 时采样;接着,滤除语音频带以外的噪声,并对接收到的数据使用频率聚焦技术, 将宽带信号聚焦到一个频点上;然后,使用改进的m u s i c 算法( 近场宽带 2 d _ m u s i c ) 估计声源的方位和个数;最后,根据近场宽带2 dm u s i c 算法的定 位信息,使用近场宽带最小方差波束形成算法,提取或分离出感兴趣的声源,下 面分别加以介绍。 电子科技大学硕士学位论文 为了叙述方便,本文公式的符号约定如下; 黑体大写字母代表矩阵 黑体小写字母代表矢量 上标t 为矩阵转置 上标h 为h e r m i t i a n 转置 数据采集 预处理与频率聚焦 近场宽带2 d u s i c 算法 l 近场宽带m v d r 波束形成算法 图2 - l 算法总流程图 2 1 麦克风阵列近场传播模型 对于一个长度为三的均匀直线阵列( u l a ) ,若声源到阵列的距离r 肘,a ( 0 ,q ) c ”“为0 ,和q 对应的方向矢量。对应均匀线阵,0 。包括到达角度口和距离r 两个参数。由于( 2 - 1 6 ) 是一个超定方程,实际应用中使用的是它的最小二乘解亍) 1 酗。 进行聚焦变换后,阵列接收信号变为: z ( q ) 一t ) x ) 。a ,p ) + 窆a 。( ,儿 ) 也雌) n ) q 。1 7 ) 这样,频点咀,i ;1 ,2 ,o9 d ,上的接收数据都被聚焦到了参考频率鸭上。 那么,在感兴趣频带上的平均空间相关矩阵为: r z 一f 4 z ( o , j z ” ) 】 ,耋陲畦c q ) 】哝磁鸭,+ 陲c q ) 】k + l 荟 l a “而o ) o ) a h 缸而嘲( 2 - 1 8 ) - 罗以a a ( 口m ,鸭) a 盖( ,) + i _ i i f + z a ( q ,q ) a ”( ,n ) 一j :+ d ;a ( q ,d o o ) a ”( a s ,n ) 其中,j :为频带上的平均干扰噪声矩阵,畦,i 一1 ,2 ,k ,以及分别 为频带上的目标信号、k 个干扰源和空间白噪声的功率。 利用r ,就可以对宽带声源进行方位估计。在此基础上可以求得频率 处的权向量w :( ) ,其他频点的权向量都可以由w :( 鸭) 得到,即 w :( q ) 一骨“( q ) w :( ) ,i 一1 2 ,d ( 2 - 1 9 ) 使用( 2 1 9 ) 式的权向量,可以在相应频带上形成一个宽带波束,波束图 1 4 第二章算法原理 随频率的变化在最二乘意义下最小。注意到,当阵列和参考频率q 选定时, a ( e ,o j o ) , ua ( e ,劬) 是确定的。因此,聚焦矩阵可以事先计算。那么,只需进 行一次定位算法,即可得到目标声源的位置;计算各频点的权向量,也只需 一次矩阵乘法,大大降低了算法运算量,有利于算法的实时实现。 2 4 宽带2 d _ m u s i c 算法 利用阵列空间相关矩阵对目标进行定位的算法很多,其中,子空间方法( 如 m u s i c 算法) 是最常用和最有效的方法之一。传统的阵列主要处理窄带信号,且 通常使用远场模型,而这里的语音信号被看作是宽带的,采用近场模型,因此有 必要对传统m u s i c 算法进行改进。如前所述,将( 2 2 ) 和( 2 3 ) 式代k ( 2 - 5 ) 式,可得 到方向矢量表达式如下: a 删) _ 高e j a 竿,高e 一,- ,而re i $ 华卜。) f l j ( 2 2 0 ) 式可以看到,对于角频率为国的信源,影响方向矢量的参数实际上有 两个,即声源的到达方向盯( d o a ,d i r e c t i o no f a r r i v a l ) 和声源距离阵列参考点 的距离,。这样,就能通过二维坐标( r ) ,确定声源在麦克风阵列近场范围内的 位置。 经过前述的短时傅立叶变换分帧处理和频率聚焦技术,得到平均相关矩阵 ( 2 1 8 ) ,该矩阵包含感兴趣频带上所有频点的信息。与常规m u s i c 算法相同,对r , 进行特征分解,得到信号子空间e 。和噪声子空间e :。对于个声源的情况, 其维数分别为和( m 一忉,分别以信号对应的特征向量和噪声对应的特征 向量为基底。在白噪声的情况下,有如下正交性: 上占二,i = 1 ,2 ,n ( 2 - 2 1 ) 于是有: 忱彰= o ,i = 1 ,2 , ( 2 2 2 ) 对于常规的m u s i c 算法,通常可以采用峰值搜索和求根等方法来确定信源位 置。但是对于近场信源,由于方向矢量a ( a ,r ,眈) 为二元方位函数,同时具有不规 则性,用求根法实现比较困难。而且,通常根的个数会大于信源个数,存在误判 的可能。因此,可以使用峰值搜索方法,在( 球,r ) 二维空间内,通过下式来搜索和 1 5 第二章算法原理 随频率的变化在最二乘意义下最小。注意到,当阵列和参考频率嚷选定时, a ( o ,吃) 和a ( o ,q ) 是确定的。因此,聚焦矩阵可以事先计算。那么,只需进 行一次定位算法,即可得到目标声源的位置;计算各频点的权向量,也只需 一次矩阵乘法,大大降低了算法运算量,有利于算法的实时实现。 2 4 宽带2 d _ m u s i c 算法 利用阵列空间相关矩阵对目标进行定位的算法很多,其中,子空间方法( 如 m u s i c 算法) 是最常用和最有效的方法之一。传统的阵列主要处理窄带信号,且 通常使用远场模型,而这里的语音信号被看作是宽带的,采用近场模型,因此有 必要对传统m u s i c 算法进行改进。如前所述,将( 2 - 2 ) 和( 2 3 ) 式代入( 2 5 ) 式,可得 到方向矢量表达式如下: a 例_ 高e 1 # 竿,高e 一,高e 脚芈i ) 由( 2 2 0 ) 式可以看到,对于角频率为国的信源,影响方向矢量的参数实际上有 两个,即声源的到达方向g ( d o a ,d i r e d i o no f 埘v a l ) 和声源距离阵列参考点 的距离,。这样,就能通过二维坐标( 吼一,确定声源在麦克风阵列近场范围内的 位置。 经过前述的短时傅立叶变换分帧处理和频率聚焦技术,得到平均相关矩阵 ( 2 1 8 ) ,该矩阵包含感兴趣频带上所有频点的信息。与常规m u s i c 算法相同,对r , 进行特征分解,得到信号子空间e 。和噪声子空间e 。对于个声源的情况, 其维数分别为和( 材一) ,分别以信号对应的特征向量和噪声对应的特征 向量为基底。在白噪声的情况下,有如下正交性: a i 上吃,f _ 1 ,2 ,n ( 2 _ 2 1 ) 于是有: 性碟= o ,f = l ,2 , ( 2 2 2 ) 对于常规的m u s i c 算法,通常可以采用峰值搜索和求根等方法来确定信源位 置。但是对于近场信源,由于方向矢量a ( 口,蛾) 为二元方位函数,同时具有不规 则性,用求根法实现比较困难。而且,通常根的个数会大于信源个数,存在误判 的可能。因此,可以使用峰值搜索方法,在( 瑾,r ) 二维空间内,通过下式来搜索和 电子科技大学硕士学位论文 确定声源的数日和方位。 酏力2 呀 瓯去两卜垅, , 图2 - 72 d 。m u s i c 谱峰图 图2 7 所示为峰值搜索定位的示意图。图中,二维平面上出现的两个谱峰,表 示在阵列的接收范围内有两个声源。两个谱峰对应的二维坐标,就是声源方位的 估计值。 2 5 宽带最小方差波束形成技术 得到声源的数目和方位的估计值之后,可得到方向矢量的估计值磊 ,q ) 。 使用近场宽带最小方差波束形成技术( m v d r ,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 s r e s p o n s e b e a m f o r m i n g ) ,即可分离信号。它其实是一个受限的最优化问题,参考 频点纰对应的权向量由下式确赳1 7 1 1 8 l : w ”( ) a ,) - 1s t 些 w ”( ) 足w ( ) ( 2 - 2 4 ) 相应的最优权向量为【1 7 】【1 8 】 叫咖瓦差 ( 2 2 5 ) 当采样数较少时,由于对噪声估计不充分,会出现大的特征值散布,使得自 第二章算法原理 适应波束出现畸变。若能实现特征值分散的最小化,则可减小随机形状噪声特征 波束的影响,使自适应波束接近理想形状。利用相关矩阵对角线加载的方法,可 以实现这一目标1 。 r 。= r :+ u ( 2 2 6 ) 式中,r :。为加载后的相关矩阵,i 为单位矩阵,三为实对角加载常数。通过 对r :矩阵对角线元素增加常数三,便加载后矩阵r 。的各特征值,比r :的相应特 征值也增加了厶。特征值的改变,也导致了特征值分散特性的改变。大干扰特征值 受到的影响最小,而远小于加载值的特征值则被增大至接近加载值,相应的特征 值分散则被减小。适当地选择加载值,可以实现良好的旁瓣抑制。虽然对角加载 不影响强干扰的抑制,但由于小特征值被提升,使算法对弱干扰抑制的灵敏度降 低,因此加载值的选择一定要合适。为了便于实现,这里采用1 0 d b 固定加载。 对于r ;的吖个非负特征值 ,屯,砧,目标信号和干扰信号对应的特征值将 明显大于环境噪声对应的特征值。 芝五厶 磊+ l 砧 ( 2 - 2 7 ) 如果以l o d b 作为判断标准,则只要4 1 0 a 。,1g f ”,就可以在 程序中直接调用相应库函数了。 需要注意的是,这些库函数对输入参数都有一定的要求,在调用时必须对输 入参数进行必要的调整,使其符合库函数的调用规则。接下来,将以f f t 计算为 例,具体说明库函数的调用。 4 2 2 2 利用d s p l i b 完成f f t 计算 f f t 算法广泛应用于数据的频域处理和频谱分析等。其实现算法非常多,主 要有按时间抽取和按频率抽取两种,可按照基2 或基4 进行抽取i 还可以使用混 合基抽取,如基2 基4 抽取,在c 6 7 xd s p l i b 中都有对应的函数。这里,选用库 函数d s p fs pc 旧睦r 2f l i t 0 完成f f t 计算,它使用的是最常用的基2 时间抽取算法。 该函数针对复数数据进行f f t 计算,x 和w 均为复数数组指针。复数数组的存放, 以实部在前,虚部在后的顺序依次存放各个复数。库函数及参数说明如下: 库函数 v o i d d s p f _ s p _ c f f h 2 _ d i t ( f l o a t 呶,f l o a t s h o r t , 1 ) ; 参数说明 x 复数数组指针,同时存储函数输出的频域数据;输入顺序,输出 位倒序 w旋转因子指针,位倒序存放 n 输入复数数据的长度 该库函数的对应头文件为“d s p f s pc m r 2”,使用库函数时必须将其包含dith 在调用该函数的程序中,然后就可像其他一般函数一样调用。由于库函数为了最 大限度提高效率,在手工优化时加入了一些强制假设,这就对输入数组有一定要 求,具体如下: ( 1 )要求输入数组x 和旋转因子数组w 必须按照双字对齐方式存储,即数 组的起始地址末三位为0 ; ( 2 )输入数组长度必须是2 的幂,且大于等于3 2 ; ( 3 )数据的存储格式必须是小端模式( l i t t l ee n d i a n ) 。 由于该函数的输出结果是位倒序存放的,因此在使用该库函数之后必须再对 数组x 进行位倒序操作之后,才能得到最终的频域数据。d s p l i b 中,可调用库函 数d s p f _ s p _ b i t r e v _ c p l x 0 完成位倒序操作,其对应的头文件为“d s p f _ s p _ b i t r e v _ c d k h ”。该函数及其参数说明如下: 库函数 v o i d d s p f _ s p _ b i t r e v _ c p l x ( d o u b l e + x ,s h o r t + i n d e x ,i n tn ) ; 参数说明 x 复数数组指针;同时存储该数组位倒序之后的结果 第四章软件系统 i n d e x 对应数组x 长度n 的索引数组指针,若n 为2 的偶幂次, 该数组长度为s q r t ( ;若n 为2 的奇幂次,该数组长度 为2 + s q r n ) n 输入复数数据的长度,必须为2 的幂次 使用库函数完成f f t 的代码如下。其中x 为输入数组,w 为旋转因子数组,n 为进行f f t 变换的数据长度,i n d e x 和i n d e x f u l l 是分别对应长度为n 2 和n 的位 倒序索引数组,用于完成相应长度复数数组的快速位倒序操作。函数b i l x e vi n d e x 0 和g e nwr 2 0 在d s p l i b 的辅助文件中可以找到。 # i n c l u d e # m c l u d e v o i dm a i n 0 产生对应长度为n 2 的位倒序索引 b i t r e v _ i n d e x ( i n d e x ) ; 产生对应长度为n 的位倒序索引 b i t r e v _ i n d e x ( i n d e x f u l l ) ; 产生f f t 运算所需的旋转因子,长度为n 2 g e n _ w _ r 2 ( w , n ) ; 对旋转因子进行位倒序操作 d s p f _ _ s p _ b i l r e v _ c p l x ( w , i n d e x ,n 1 ) ; 调用库函数完成f f t 计算 d s p fs p _ c r q r 2 _ d i t ( x , w n ) ; 对计算结果进行位倒序操作得到最终结果 d s p f _ _ s pb i n * vc p l x ( x 向d f l l l l ,n ) ; ) 从上面的例子可以看出,使用d s p l i b 函数和调用一般的子函数基本上没有 什么区别,使用起来非常方便。在本算法的实现中,使用了大量的这种库函数, 使程序效率得到提高。这里,为了说明d s p l i b 库函数的高效率,将库函数与线 电子科技大学硕士学位论文 性汇编语言和c 语言编写的程序分别进行比较。 4 2 2 3 性能分析 利用c 6 7 1 3 的片上定时器( t i m e r ) 【3 0 1 ,可以方便地完成代码执行时间的估计。 利用c s l 对定时器进行操作时,首先定义一个对应某个定时器的句柄( h a n d l e ) , 即: t i m e r _ s e t c o u n t ( h t i m e r l ,0 ) ; 将定时器计数值设置为0 t i m e rr e s u m e ( h t i m e r l ) ; 开始计时 f u n c l :i o n 0 ; ,待测函数 t i m e r _ p a u s e ( h t i m e r l ) ; 暂停定时器 c n t = t i m e r _ g e t c o u n t ( h t i m e r l ) ; 读取c n t 寄存器的值 利用上述方法,测试进行f f t 计算的库函数、线性汇编函数和c 语言函数的 运行周期。不同的数据长度得到不同的运行周期,比较结果如表4 1 所示。 表4 1f f t 计算时钟周期数比较 输入数组的长度库函数线性汇编函数c 函数 三者所用时间比 3 26 2 8 7 5 2 01 8 2 3 6l :1 1 9 7 :2 9 0 4 6 41 1 6 81 7 3 6 84 1 1 4 0l :1 4 8 7 :3 5 2 2 1 2 82 4 0 03 9 6 1 69 1 9 3 6l :1 6 5 1 :3 8 3 l 2 5 65 0 9 28 9 1 8 42 0 4 0 1 61 :1 7 5 1 :4 0 0 7 5 1 21 2 9 8 02 0 0 3 5 64 5 0 6 8 4 1 :1 5 4 4 :3 4 7 2 1 0 2 4 3 7 8 0 84 5 0 6 3 6 9 9 2 7 8 8l :1 1 9 2 :2 6 2 6 2 0 4 68 3 0 6 8 9 8 6 2 3 2 2 1 5 3 8 1 2 i :1 1 8 7 :2 5 9 3 4 0 9 61 7 8 9 8 82 1 4 0 8 0 44 6 4 4 1 4 0l

温馨提示

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

评论

0/150

提交评论