本文是一篇机械论文,本文设计并制作了四元矩形数字麦克风阵列,并在 FPGA 上编写了程序,实现了对麦克风阵列的数据采集、打包、传输等工作。之后提出了一种基于 FPGA 的 PDM 信号的硬件解码方法并进行了仿真,结果表明该方法可以准确恢复出语音信号。
1 绪论
1.1 研究背景与意义
语音是人类讲话时所发出的一种特殊的声音[1]。与其它声音信号不同的是,语音是信息的载体,人们可以通过相互之间的交流来表达自己的想法。现在,人类虽然可以通过很多的方式来获取信息,但大多数信息主要还是通过语音、文字以及图像这三种渠道获取的[2]。与其它信息的传递方式相比,语音具有其独特的优势,它将人的喜怒哀乐包含其中,所以其传达的意思更为丰富,听者也可以更方便地领会到说话者的意图。近年来,随着人工智能技术的飞速发展带来的语音交互市场的火热,对语音信号的研究势必会更加深入,其研究意义也更加深远。
语音信号处理技术作为人机交互的桥梁,经过几年的快速发展,可以在生活中的各个地方看到它的身影,小到手机助手,大到一个企业的智能化管理。其不仅在很多领域有着重要的地位,更是该领域不可或缺的核心技术[3]。早期的语音信号处理系统以单麦克风系统为主,最具代表性的就是苹果手机上所搭载的智能语音助手 Siri,它的出现给当时的人们焕然一新的感觉,受到了许多媒体的热捧;但其缺点也很明显,当我们距离手机很远时语音助手的识别准确度会直线下降。又比如在嘈杂的环境中,例如商场或者是街道上,大量噪声会直接导致语音助手识别失败。造成以上结果的原因就是此时麦克风接收到的信号是语音和环境中的噪声混合之后形成的,而单麦克风系统是分辨不出语音和噪声的。单麦克风系统的缺点在某些环境下会显得尤为突出,比如在车载系统上,多次的识别失败不仅会影响驾驶者的心情,而且还会大大增加危险事故发生的概率。为了提高语音信号识别的准确性,基于麦克风阵列的语音信号处理技术便应时而生。
相较于传统的单麦克风系统,麦克风阵列使用多个麦克风接收信号。作为一种物理接口,麦克风阵列只是完成了对声音信号的采集,而要实现声源定位等一系列功能,还要有相应的信号处理算法与其配合。例如:在噪声比较大的情况下,可以使用降噪算法来减少语音信号中包含的噪声,从而提高信号的信噪比;在大型会议中,发言者的讲话难免会受到其他人说话声音的干扰而影响听众获取信息的效果,应用波束形成技术确定发言人的位置,则可以使听众很好地屏蔽发言人语音方向以外的干扰声音;强混响会很大程度的影响语音信号的质量,在这种情况下使用去混响算法,则可以消除信号中多余的信息,使声源信息得到保留。可见,对麦克风阵列的研究已经不能局限于其几何形状和阵元排布,对麦克风阵列信号的处理方法更是研究的重点。
...................................
1.2 国内外研究现状
早在 20 世纪 60 年代,各国科学家们就开始了对语音信号相关处理方法的研究[4]。20世纪 70 年代,科学家们已经取得了一些基础性的研究成果,对语音信号的研究也慢慢地变为一个独立的研究领域[5]。基于麦克风阵列的信号处理技术则起步于 20 世纪 80 年代,那时正是世界通讯技术蓬勃发展的时候。受此影响,世界上许多国家开始了相关的理论研究。基于麦克风阵列的信号处理技术从本质上来说就是阵列信号处理技术,当然也可以说前者是后者的一个分支。第二次世界大战中雷达得到了广泛应用,从而带来了相关天线技术的快速发展,Howells于1965年提出的自适应陷波旁瓣对消器可以说是该技术的开端[6]。1990 年以后,大量的研究人员开始对基于麦克风阵列的语音信号处理技术进行研究。经过几十年的快速发展,现已形成了一系列完整的理论体系,诞生了波束形成算法、盲源分离算法、子空间分解算法等诸多优秀算法[7][8]。
1969 年,J.Capon 提出了最小方差无失真响应波束形成算法(Minimum VarianceDistortionless Response,MVDR)。1972 年,美国斯坦福大学的 L. Frost 提出了线性约束最小方差波束形成算法(Linearly constrained minimum-variance,LCMV),LCMV 算法其实是 MVDR 算法的扩展形式,也是自适应波束形成算法的基础[9]。从理论上来说,LCMV算法可以屏蔽声源方向之外的信号。为了将 LCMV 算法的约束问题转化为无约束问题,1982 年 J. Griffths 提出了广义旁瓣相消算法(Generalized Sidelobe Canceller,GSC),GSC算法通过对信号进行补偿来消除噪声,以提高其适应能力[10]。但是当环境中有较大噪声或者是声源移动时,GSC 算法在声源方向上接收信号的能力会下降,从而导致算法性能的下降,所以在 1999 年,O. Hoshuyama 等人对 GSC 算法进行了改进,他们先是对接收的信号进行了自适应滤波,以加强算法接收声源信号的能力。2001 年,S. Gannot 等人在GSC 算法的基础上,将混响对算法性能的影响考虑进去,提出了一种在频域上使用的传递函数广义旁瓣对消器,不仅使算法抵抗噪声的能力有所加强,还减少了计算量[11]。然而在实际应用中,自适应波束形成算法会因为受到各种干扰从而导致性能快速下降,尤其是当环境中的噪声很大时。因此,后置滤波算法诞生了,该算法在后端对信号进行滤波,从而削弱噪声对算法性能的影响。典型的有维纳后置滤波器、Zelinski 后置滤波器等[12]。1985 年美国格罗斯大学的 Flanagan 提出了时延求和波束形成算法,该算法通过对各个阵元接收到的信号进行时延补偿,使其在目标信号方向上对齐,最后加权求和之后输出。由于该算法原理简单且运算量小,已得到广泛应用[13][14][15]。
.............................
2 语音信号预处理与阵列信号模型
2.1 语音信号预处理
语音信号不同于其他的声音信号,他是人说话时所发出的一种特殊声音。其产生的过程是:肺部首先将之前吸入的空气经过压缩使其经过气管,之后再经过喉部,经过喉部的空气会使声带发生震动从而产生声音,最后声音通过嘴巴发出形成语音。一段语音中包含有许多不同的音,这些不同的音是由不同的发音方式和不同的发声器官所产生的,不同的人发音范围也是有差异的;另外,相同的语言其特殊性也不尽相同。因此对语音信号中提取出有用信息的方法进行研究具有十分重要的意义。由于语音信号不同于其它信号,对语音信号进行正式处理之前必须对其进行预处理。
2.1.1 消除趋势项和直流分量
当使用麦克风阵列接收语音信号时,由于系统会受到环境噪声以及其它因素的影响,会使语音信号的零线偏离基线,并且这种偏移可能是随时间有规律变化的,也可能是无规律变化的,这就是趋势项,如图 2-1 所示。趋势项带来的偏移会影响到语音信号的处理结果。比如在对信号进行互相关运算时,会使计算结果产生严重的偏差,因此要尽可能地将其去除。MATLAB 自带消除趋势项的函数,可以使用其对语音信号进行处理。从图 2-1中可以看出消除趋势项可以使语音信号的零线保持不变。
机械论文怎么写
机械论文怎么写
........................
2.2 阵列信号模型
2.2.1 远场模型和近场模型
由于语音信号在近场条件和远场条件下的传播方式是不同的,所以麦克风阵列在近场条件下和在远场条件下接收到的信号也是不同的。近场条件下,声音的传播形式是球面波,远场条件下则是平面波。图 2-5 为麦克风阵列的信号接收模型,图中 D 为阵列上阵元间距的最大值,R 为近场条件下声波到达阵列的距离,∆r 为球面波半径与声源到达麦克风阵列距离的差值。
声源定位系统中,定位结果的准确度除了受所使用的定位算法的影响外,还受到所采集到的语音信号的质量以及所使用的麦克风阵列阵型的影响。虽然语音信号的质量受环境及其他各种因素的影响较大,但是麦克风阵列的阵型则可以根据实际使用的环境以及声源定位系统所要达到的性能进行设计。因此,对不同麦克风阵列的性能进行研究显得及其重要。
阵列的指向性反映了阵列在各个方向上接收和抑制信号的能力,使用波束形成技术对阵列的性能进行仿真时,不同的阵型其指向性也不相同。因此,在搭建阵列硬件电路之前对阵列的指向性进行仿真,选择出定位性能最好的阵列阵型,可以在很大程度上减小实验工作量。
为分析不同阵列阵型的定位性能,采用常规波束形成算法对常用的十字阵、矩形阵、圆阵的定位性能进行仿真。由于线阵只能识别单一维度上的声源,因此本文不再对其性能进行分析。仿真时,其它仿真条件不变,只改变阵元的数目,通过对三种阵型的指向性进行分析来判断其定位性能的好坏。
..............................
3 麦克风阵列声源定位算法研究...............................23
3.1 时延估计算法........................................23
3.2 波束形成算法.......................................26
4 声源定位系统硬件设计及 PDM 信号解码方法研究.................................47
4.1 MEMS 麦克风及脉冲密度调制..........................................47
4.1.1 MEMS 麦克风简介..........................................47
4.1.2 脉冲密度调制...........................................47
5 系统测试及实验.....................................63
5.1 实验平台的搭建..................................63
5.2 实验数据处理...................................64
5.2.1 系统测试.......................................64
5.2.2 语音信号恢复..........................................68
5 系统测试及实验
5.1 实验平台的搭建
在前面几章研究的基础上,本章主要对所设计的语音信号采集系统的可靠性和正确性进行测试。并使用该系统对本文所设计的改进 phat 函数加权的广义二次互相关时延估计算法、搜索区域划分的波束形成算法的正确性进行验证。
基于以上的理论分析,搭建了如图 5-1 所示的声源定位系统实验平台,其主要由四元麦克风阵列、FPGA 开发板、usb-blaster 下载器、电源、上位机、噪声源组成。
机械论文参考
机械论文参考
第四章中已经设计好的程序需将其下载到 FPGA 开发板中系统才能正常工作。程序下载时,按下 FPGA 开发板的电源按键,打开已经编译好的麦克风阵列数据采集程序,将其下载到 FPGA 开发板中。对所编写的程序进行全编译后,FPGA 板资源占用如图 5-2所示;由图 5-2 可以看出系统所占用的逻辑单元、寄存器、引脚、锁相环的数量以及内存大小。其中逻辑单元使用了 24%,内存使用了 71%,锁相环使用了一个。
...............................
6 结论与展望
6.1 结论
随着万物互联时代的到来,基于麦克风阵列的语音信号处理技术在近几年得到了快速发展。且该技术已被广泛的应用到了车载系统、智能家居等领域。本文针对现有声源定位系统的不足,主要进行了以下研究:
(1)基于远、近场条件下声波的不同传播方式,对麦克风阵列的声场模型进行了研究,给出了远近场模型的判断方法。以常规波束形成算法为基础,研究了麦克风阵列的阵型以及几何参数对其定位性能的影响,并推导了四元矩形阵列的定位公式。
(2)针对广义二次互相关算法的缺点以及麦克风阵列的实际使用环境,以 phat 函数加权的广义二次互相关算法为基础,为减小环境噪声对算法定位性能的影响,对算法进行了改进。仿真结果表明改进后的 phat 函数加权的广义二次互相关算法不仅具有更好的抗噪性能,且在环境噪声较大时其定位准确度以及稳定性也有所提高。最后本文将改进的phat 函数加权的广义二次互相关算法与常规波束形成算法相结合,提出了一种搜索区域划分的波束形成算法,并从理论上进行了推导,分析结果表明该算法的计算耗时明显少于常规波束形成算法。
(3)本文设计并制作了四元矩形数字麦克风阵列,并在 FPGA 上编写了程序,实现了对麦克风阵列的数据采集、打包、传输等工作。之后提出了一种基于 FPGA 的 PDM 信号的硬件解码方法并进行了仿真,结果表明该方法可以准确恢复出语音信号。
(4)为验证理论分析的正确性,搭建了声源定位系统。并给出了将 PCM 信号转换为常用 wav 音频格式的方法。在上述工作的基础上,采用本文所提出的改进 phat 函数加权的广义二次互相关算法和区域划分的波束形成算法实现了声源位置的估计。结果表明本文提出的改进 phat 函数加权的广义二次互相关算法较 phat 函数加权的广义二次互相关算法定位精度高,同时,本文提出的区域划分的波束形成算法的实时性要明显优于常规波束形成算法。