专利名称:一种分布式非同步声传感器的声源空间定位方法
技术领域:
本发明属于语音技术领域,具体涉及一种分布式非同步声传感器的声源空间定位 方法。
背景技术:
随着网络和通讯技术的不断发展,利用现有的多媒体技术、网络与通讯技术、分布 式处理技术等可以实现复杂声学环境场景下的多人多方对话。传统声源输入和录音设备包括头戴式麦克风、全向性和方向性麦克风、麦克风阵 列等。单麦克风作为传统声源输入和录音设备,具有体积小、价格低廉等优点,但不具备对 环境噪声处理以及声源定位的能力;麦克风阵列由多个按照特定几何位置摆放的麦克风组 成,对空间信号进行时空域联合处理,其能力包括混响条件下的声源定位、增强语音信号、 辨识与分离声源等。分布式非同步声传感器是由多个单声传感器组成的信号采集系统,各个声传感器 由不同设备控制,对声传感器的排列和间距没有任何限制,声传感器采集的信号在时间域 不完全同步。分布式非同步声传感器结构简单、使用方便、节约成本,符合多声源多方向复 杂对活场景的要求,可有效地完成声源定位、说话人聚类和识别等多种应用。但是,麦克风阵列系统算法对各个设备之间采样的误差敏感,因此对音频数据同 步性要求十分严格;而普通的多人多方会议场景中声源个数未知、声传感器位置未知、房间 声学环境未知,即需要在时间和空间先验信息均缺失的场景下对声音数据进行处理。分布式非同步声传感器的声源空间定位方法和麦克风阵列的声源空间定位方法 有所不同。麦克风阵列的麦克风需要组成阵列,或至少麦克风间距固定,而分布式非同步声 传感器对声传感器的位置和摆放没有任何约束和限制,因此使用更加灵活;麦克风阵列采 集的信号在时间域完全同步,各个麦克风由统一的时钟进行控制,声传感器采集的信号在 时间域不完全同步;此外分布式非同步声传感器系统中的声源和声传感器位置信息未知, 需要对其进行估计。分布式非同步声传感器和麦克风阵列网络系统也有所不同。其区别在于麦克风 阵列网络系统是由多个麦克风阵列作为节点组成网络声传感器对语音进行处理,无线网络 中分布式语音输入设备需要统一的时钟来保证采集时间同步;而分布式非同步声传感器中 的各个声传感器由不同的终端设备控制,使用不同的采集卡进行信号采集,因此具有各自 独立的时钟和采样频率,导致采集时间不同步。麦克风阵列定位的主要方法包括单步定位方法和双步定位方法。单步定位包括基于波束指向的定位方法和基于高分辨率谱分析的定位方法。前一 种方法通过补偿声源到不同麦克风之间的时间差,将补偿后的信号进行相加平均得到阵列 的输出。后一种方法主要涉及了自回归模型、最小方差谱估计和各种基于特征分析技术的 方法。这些方法通常需要搜索整个空间来达到定位的目的。双步定位技术实现一个定位过程要分两步来实现,它包括两类基于TDOA(到达时间差)的双步定位和基于ILD(双耳电平差)的双步定位。基于TDOA(到达时间差)的 定位首先通过时延估计算法估计出信号在不同阵元处的TD0A(到达时间差),进而再通过 几何关系进行定位。基于ILD (双耳电平差)的定位技术建立在人耳感知特性基础之上,它 借助于声源到达两耳间的电平差信息来判断声源的位置。麦克风阵列时延估计算法主要包括GCC(广义互相关)方法和LMS(最小均方误 差)方法。GCC (广义互相关)受混响影响比较严重,改进后产生了 CEP (倒谱预滤波)方法 和基音加权的GCC (广义互相关)方法,EVD (特征值分解)和基于ATF (声学传递函数)比 的时延估计方法则分别利用子空间的技术和传递函数比来求解。作为传统声源输入和录音设备的麦克风,价格低廉、结构简单,缺点是易受环境干 扰,且不能对声源进行定位;麦克风阵列系统已被广泛研究,没有商用化的主要原因是专用 硬件价格昂贵以及算法复杂度较高。
发明内容
为了克服上述现有技术的缺点,本发明提供了一种分布式非同步声传感器的声源 空间定位方法,声传感器的排列和间距没有任何限制,声传感器采集的信号在时间域不完 全同步,具有价格低廉、使用方便的优势,可应用于复杂声学环境下的多人多方对话场景。一种分布式非同步声传感器的声源空间定位方法,包括以下步骤第一步,在假设条件下计算空间坐标首先假设在数据获得过程中全部声传感器的数目η和空间位置不变,η为大于零 的整数,声源数目k不变,k为大于零的整数,声源与声传感器距离符合近场模型的要求,各 个声传感器的物理性质相同,再对每个声传感器按顺序编号为声传感器Ml,M2···,Mn,选择 初始编号为1和2的两个声传感器Ml和M2,设声传感器Ml的位置为原点坐标,声传感器 Ml到声传感器M2的方向为起点坐标轴方向,这样可以确定一个空间坐标系,第二步,发射校正信号计算分布式非同步声传感器的结构首先令声传感器Ml发射校正信号C,除声传感器Ml之外的其他声传感器进行记 录;同样地,声传感器M2发射相同的校正信号C,除声传感器M2之外的其他声传感器进行 记录;以此类推,全部η个声传感器都发射一遍校正信号C ;这样,每个声传感器得到对应 η-1个记录信号;计算这η-1个记录信号的起始时间与每个声传感器Mi发射校正信号C时 刻的对应时延,时延与声速c的乘积则为每个发射声传感器Mi到每个接收声传感器%的物 理距离Clij。然后在第一步确定的坐标系下得到每个声传感器Mi到原点的距离di(l及声传感器 Mi到起点坐标轴的夹角θ ρ由此计算得到每个声传感器Mi的二维坐标(diCI,θ ^,当每个 声传感器Mi到起点坐标轴的夹角θ i相同时,表明多声传感器为线形多声传感器阵列,当声 传感器之间的距离完全相等时为均勻线阵,此时可用传统的声传感器阵列处理方法对声源 进行定位,即通过余弦定理公式计算每个声传感器的二维极坐标,如公式(1) 公式(3)所 示cosC = (a"2+b"2-c"2)/2ab(l)cosB = (a"2+c"2-b"2)/2ac(2)cosA = (b"2+c"2-a"2)/2bc(3)
其中a为任意声传感器Mi与声传感器M1之间的物理距离,b为声传感器M1与声 传感器M2之间的物理距离,c为声传感器Mi与声传感器M2之间的物理距离,由此计算可得 声传感器Mi到起点坐标轴的夹角C,第三步,对分布式非同步声传感器采集的信号进行预处理首先对分布式非同步声传感器获得的多路声源信号进行预处理,先对多路声源信 号分帧及进行快速傅立叶变换(FFT)变换,然后对多路声源信号进行端点检测,将信号分 为声源信号和非声源信号两类,语音端点检测方法可采用子带频谱熵算法,先将每帧语音 的频谱划分成η (η为大于零的整数)子带,计算出每个子带的频谱熵,然后把相继η帧的子 带频谱熵经过一组顺序统计滤波器获得每帧的频谱熵,根据频谱熵的值对输入的语音进行 分类,具体步骤为将每帧的语音信号经过快速傅立叶变换(FFT)之后得到它在功率谱上 的Nfft个点Yi (0彡i彡Nfft),每个点在频谱域上的概率密度可用公式⑷表示
NFFl.P1=Y1/ £ Yk (4)其中Yk为经过FFT变换的语音信号在功率谱上的第k个点,Yi为经过FFT变换的 语音信号在功率谱上的第i个点,Nfft为i的个数,Pi为第i个点在频谱域上的概率密度,相应信号在频谱域上的熵函数定义可用公式( 表示
Nfft -1H = -^ PkIog(Pk) (5)
k=Q其中pk为第k个点在频谱域上的概率密度,Nfft为i的个数,H为频谱域上的熵 函数,将频域上的Nfft个点划分成K个互不重叠的频段,称为子带,计算第1帧频谱域上
每个点的概率如公式(6)所示
m“i-1P,[k,i] = (Y1^Q)I Y (Yj+Q) (6)其中=Yj为经过FFT变换的语音信号在功率谱上的第j个点,Yi为第k个子带上
N
的点,%尤一 1, +1-1)为子带下限,Q为常数,P1 [k, i]为第1帧频
K
谱域上每个点的概率,根据信息熵的定义,第1帧的第k个子带的频谱熵的值如公式(7)所示E、[!’k> I P1 [k,/]Iog^[k,z])(0< ^ < ^-1) (7)
i=mk其中Pl[k,i]为第1帧频谱域上每个点的概率,Es[l,k]为第1帧的第k个子带 的频谱熵,根据下面公式⑶我们可以计算出第1帧的频谱信息熵Hl=-^YjElXUk] (8)
Λ k=0其中&[1,k]为第1帧的第k个子带的频谱熵,K为子带个数,H1为经过滤波平 滑处理后的第1帧的第k个子带的信息熵,定义如公式(9)所示Eh[l, k] = (l-A)Es(h)[l,k] + AEs(h+1)[l,k] (0 ^ k ^ K-l) (9)
其中Es(h) [1,k]获得方法如下算法中每个子带的顺序统计滤波器作用在一组长 度为L的子带信息熵Es[l-N, k],KEs [1,k],K Es[l+N, k]上,将这组子带信息熵按升序顺序 排序,Es(h)[l, k] ^Es[l-N, k],KES[1,k],K Es[l+N, k]中的第 h 个最大值;λ 为一常数, Eh[l, k]为滤波平滑处理后的第1帧的第k个子带的信息熵,由公式(8)可以得到每帧的信号有一个频谱熵H1,当H1的值大于事先设定的阈 值T时,将第1帧判别语音帧,否则判为非语音帧;阈值T的定义为T = β Avg+ θ,其
权利要求
1. 一种分布式非同步声传感器的声源空间定位方法,其特征在于包括以下步骤 第一步,在假设条件下计算空间坐标首先假设在数据获得过程中全部声传感器的数目η和空间位置不变,η为大于零的整 数,声源数目k不变,k为大于零的整数,声源与声传感器距离符合近场模型的要求,各个声 传感器的物理性质相同,再对每个声传感器按顺序编号为声传感器Ml,M2···,Mn,选择初始 编号为1和2的两个声传感器Ml和M2,设声传感器Ml的位置为原点坐标,声传感器Ml到 声传感器M2的方向为起点坐标轴方向,这样可以确定一个空间坐标系, 第二步,发射校正信号计算分布式非同步声传感器的结构首先令声传感器Ml发射校正信号C,除声传感器Ml之外的其他声传感器进行记录;同 样地,声传感器M2发射相同的校正信号C,除声传感器M2之外的其他声传感器进行记录; 以此类推,全部η个声传感器都发射一遍校正信号C ;这样,每个声传感器得到对应η-1个 记录信号;计算这η-1个记录信号的起始时间与每个声传感器Mi发射校正信号C时刻的对 应时延,时延与声速c的乘积则为每个发射声传感器Mi到每个接收声传感器%的物理距离 (Iij。然后在第一步确定的坐标系下得到每个声传感器Mi到原点的距离di(l及声传感器Mi到 起点坐标轴的夹角θ ρ由此计算得到每个声传感器Mi的二维坐标(diCI,θ J,当每个声传感 器虬到起点坐标轴的夹角θ i相同时,表明多声传感器为线形多声传感器阵列,当声传感器 之间的距离完全相等时为均勻线阵,此时可用传统的声传感器阵列处理方法对声源进行定 位,即通过余弦定理公式计算每个声传感器的二维极坐标,如公式(1) 公式(3)所示 cosC = (a"2+b"2-c"2)/2ab (1) cosB = (a"2+c"2-b"2)/2ac (2) cosA = (b"2+c"2-a"2)/2bc (3)其中a为任意声传感器礼与声传感器Mi之间的物理距离,b为声传感器M1与声传感 器M2之间的物理距离,c为声传感器Mi与声传感器M2之间的物理距离,由此计算可得声传 感器Mi到起点坐标轴的夹角C,第三步,对分布式非同步声传感器采集的信号进行预处理首先对分布式非同步声传感器获得的多路声源信号进行预处理,先对多路声源信号分 帧及进行快速傅立叶变换(FFT)变换,然后对多路声源信号进行端点检测,将信号分为声 源信号和非声源信号两类,语音端点检测方法可采用子带频谱熵算法,先将每帧语音的频 谱划分成n(n为大于零的整数)子带,计算出每个子带的频谱熵,然后把相继η帧的子带 频谱熵经过一组顺序统计滤波器获得每帧的频谱熵,根据频谱熵的值对输入的语音进行分 类,具体步骤为将每帧的语音信号经过快速傅立叶变换(FFT)之后得到它在功率谱上的 Nfft个点Yi (0彡i彡Nfft),每个点在频谱域上的概率密度可用公式⑷表示
全文摘要
一种分布式非同步声传感器的声源空间定位方法,先在假设条件下计算空间坐标,再发射校正信号计算分布式非同步声传感器的结构,然后对分布式非同步声传感器采集的信号进行预处理,再对声源信号采用时延估计法计算,得到对应的时延估计值,最后根据时延估计值计算每个声源的空间位置坐标,本发明声传感器的排列和间距没有任何限制,声传感器采集的信号在时间域不完全同步,具有价格低廉、使用方便等优势,可应用于复杂声学环境下的多人多方对话场景。
文档编号G01S5/30GK102103200SQ201010568360
公开日2011年6月22日 申请日期2010年11月29日 优先权日2010年11月29日
发明者刘加, 杨毅 申请人:清华大学