基于麦克风阵列的人头录音模拟研究

2020-08-04 10:20何国昊陈向宏炀田雪梅
数码世界 2020年7期

何国昊 陈向宏炀 田雪梅

摘要:本文基于麦克风阵列的最优设计及后期信息的算法处理这两个要点对如何利用麦克风阵列进行人头录音模拟展开了研究,并将此问题分为两个子问题分别探讨。子问题一是关于麦克风阵列的构造,我们先分析了方柱对声音的衍射,明晰了声音的衍射会导致时间差明显缩短这一影响因素,随后基于文献,我们分析了传统的四元十字麦克风阵列定位算法,在此基础上,建立了一种基于时延法的六元麦克风阵列,结构包括圆形阵列模型、正四棱锥阵列模型以及空间锥型阵列模型。

关键词:麦克风阵列  时延估计  声源定位

1 引言

在录制唱片时,有一种非常特殊的录音方式,称为人头录音。人头录音通常是使用一个人头的塑胶模型,将两个麦克风分别放在两个耳朵里,分别负责左右两个声道的录制,以此来仿效人耳的收听效果。人头录音的唱片在使用耳机收听时有极佳的定位效果,可以使收听者相当清楚地感受到声源在收听者的前后左右等不同位置,有如身临其境。当然它只能通过耳机来回放,使用音箱就失去了应有的效果。

2 模型的建立以及求解

2.1 麦克风阵列(树)的优化

2.1.1 声音衍射对于模型的影响

为了使麦克风阵列模拟的效果与人头录音定位效果更加接近,我们接下来将由方形柱子导致的声衍射也考虑进来,因为声音在大理石中传播的比空气中要快的多,所以我们先收到的衍射声音是直接穿过大理石的声音,故计算时间差的时候我们用到的就时这一声音,所以要想更准确的计算出时间差我们就需要加上在大理石中传播相对于空气中传播的时间多出的时间,使得我们计算出的时间差的等式更加准确。

2.1.2 传统四元十字型麦克风阵列

四元十字阵可以使估计方位角时精度提高,但是,该阵在估计距离时会产生一定估计误差,因此时延估计算法的选取很重要,时延估计算法是利用时延估计来完成目标的联合测向和测距,其中时延就是声源到达各麦克风的时间差。声源的位置是由传声器阵列中各组时延值和传声器阵列的几何关系得到的。本文中我们选取广义互相关时延估计法来进行时延估计。

2.1.3 正四棱锥麦克风阵列

(1)正四棱锥麦克风阵列空间定位原理

同一声源传播到空间位置不同的两个麦克风m1和m2会产生时间差τz1,τz1由声源到达m2的时间减去声源到达m1的时间所得(同理,可以定义r12),这里设t21 > 0,即声源接近于m,根据时间差可以得到声程差。由双曲线的性质可知,双曲线上任意一点到两个焦点距离差的绝对值为常数,即实轴长.据此可知,声源将在以这两个传声器的位置为焦点,声程差为实轴长的双曲线并且靠近m1的分支线上。当有多个传声器的时候,就可以得到多个双曲线。

(2)正四棱锥麦克风阵列空间定位计算

由麦克风阵与声源的几何位置关系可得,最终可得方程:

声源的坐标(r,θ,h),可利用球坐标方程化为(x,y,z),由此空间几何关系表达式,我们可以得到声源的空间坐标(x,y,z),接下来对其进行时延定位的误差分析

(3)正四棱锥空间几何结构阵列时延定位误差分析

我们可以得出正四棱锥拓扑结构阵列时延定位误差的平均值大概在14.4%,最大误差则接近21%。

2.1.4 空间锥型麦克风阵列

(1)空间锥型麦克风阵列的设计思路与优点

在设计思路方面是对传统十字型麦克风阵列的改善,在空间z轴对立处增加了两个麦克风声源,以便起到更全方位的收声效果,在声音定位方面我们采用了时延法进行声源定位。而锥形六元麦克风阵列既具有全空域定位能力,又具有优于平面四元阵的定位精度,同时还保留平面四元阵的分维特性优势,有利于我们更精确的去模拟人头录音。

(2)空间锥型麦克风阵列的定位计算

为了使得声源到阵型中心(坐标原点)的距离r更精准,使得测得的坐标更准确,我们采用加权最小二乘法,对三个距离进行加权平均求解r,即:r=W1R1+W2R2+W3R3,W1+W2+W3=1,由此可以得到r的具体参数表达式。

(3)空间锥型麦克风阵列的定位误差分析

我们得出正四棱锥拓扑结构阵列时延定位误差的平均值大概在8.52%,最大误差则接近12%。

2.1.5 圆形麦克风阵列

(1)圆形麦克风阵列的几何图

实心点处表示麦克风放置的位置,构建三维空间坐标系。这种方法得到的麦克风分布位置圆心的距离一定且在一定区域内分布地比较均匀,可以得到较为均衡的声音信号。

(2)圆形麦克风阵列的声源定位计算

我们采用时延法进行声源定位。圆形六元麦克风阵列中麦克风都处于一个面内,不难看出这种阵列是基于四元十字架麦克风阵列的一种强化版阵列。ri为声源S到阵元Si(麦克风)的距离,r表示声源到原点的距离,dij为阵元Si到阵元Sj的距离之差,d1o为声源到原点与声源到阵元S1之间的距离差。因为r1=r+d1o,所以我们可以求得声源到原点的距离。求出了声源到原点的距离后,为了使得结果表达更清晰,我们将直角坐标系下声源点坐标S(x,y,z)化为球坐标系下的坐标(r,θ,h)。可以知道我们计算的声源的方向角和仰角误差较大,对于r计算出来的结果,其误差非常小,我们可以忽略不计。所以我们针对方向角和仰角进行误差分析,通过分析计算我们可以得出声源的方向角和仰角的均方误差表达式为:

我们利用声源的方向角和仰角的均方上述误差方程再结合前面研究四元十字真时所给出的时延误差分析以及仿真實验的结果,我们可以得出此模型的最大时延误差为22%,其平均定位误差为18.2%。

2.2 时延仿真实验

对于前面麦克风阵列设计中的时延定位误差,我们利用Matlab仿真来具体分析互相关时延估计法的算法特性,同时对其进行性能分析。我们采用建立的信号模型互相关算法进行仿真分析,得出方形柱子对时延的影响,此处不考虑噪声的影响,设信号接收器A和B接收到的信号分别为:

其中,为平稳信号,中心频率f0=10,采样频率Fs=500,增益误差gm=0.2,偏置误差om=0.2mean(s(k)),时延真值D=int(D)+r=k+r=2+0.17。

采用互相关时延估计算法对信号模型中两信号进行时延估计,最后取得的仿真结果。我们可以知到,该时延估计法可准确估计到整数时延值k=2,并且该整数时延值可从两个信号的互相关函数的最大值处取得。可见,在不受噪声等干扰的理想状态下,互相关时延估计算法不受增益误差和偏置误差的影响,可普遍应用于时延估计,而且该算法比较容易实现,并且计算量小。但是对于分数阶的时延值r=0.17,互相关法显然无法进行估计。而且在有噪声干扰的情况下,由于互相关函数受到严重影响,导致旁边峰值在互相关函数中尤为突出,造成主极大峰值检测困难,使得时延估计精度降低。将上述模型中的延迟信号s2加入高斯白噪声后,得到两信号模型。我们可以得出信号的接收存在着一定的差异,这种差异显然是由方形柱子引起的声音的衍射,导致声信号的接收不一致,后续的时延计算中我们将会运用上述的结果,对时延进一步优化,使得计算声源的位置更加的精准。

参考文献

[1]彭奎.一种基于麦克风阵列的声源定位系统及其应用研究[D].安徽大学,2014.

[2]张亮.虚拟听觉中模拟早期反射声的简化[D].华南理工大学,2013.

[3]谢菠荪.头相关传输函数相位特性及双耳时间差的意义[J].电声技术,2006(11): 40-45.