发明名称 一种基于声音位置指纹的室内声源定位方法
摘要 本发明一种基于声音位置指纹的室内声源定位方法,涉及应用声波确定信号源的位置的技术,操作步骤是:离线采样,构建一个关于声达时间差和声音采样点位置坐标间关系的数据库,即声音位置指纹数据库;在线定位,确定待定位的声源的坐标位置。本发明方法利用定位算法比较待定位测点的声源信号与声音位置指纹数据库中每个参考点的邻近性,从而实现对声源待测点位置坐标的确定,克服了现有的声音定向方法只能定出声源的方向,而不能定出声源的具体位置,不能实现对室内声源进行定位的缺陷。
申请公布号 CN104865555A 申请公布日期 2015.08.26
申请号 CN201510253798.5 申请日期 2015.05.19
申请人 河北工业大学 发明人 孙昊;王月英;杨鹏;王硕朋;齐立萍
分类号 G01S5/22(2006.01)I 主分类号 G01S5/22(2006.01)I
代理机构 天津翰林知识产权代理事务所(普通合伙) 12210 代理人 胡安朋
主权项 一种基于声音位置指纹的室内声源定位方法,其特征在于:具体步骤如下:A.本发明方法的专用测量装置:包括四个麦克风、声音信号微处理器和上位机,其中,所述四个麦克风为分别安装在四个支架上的麦克风0、麦克风1、麦克风2和麦克风3共四个麦克风,其中麦克风0为基准麦克风,所述声源信号微处理器由声音信号放大模块和数据采集模块构成,所述的上位机为安装了NIDAQ驱动的PC机,该上位机中存有信号采集程序以及匹配算法的程序;四个麦克风与声音信号放大模块之间、声音信号放大模块和数据采集模块之间均用导线连接,数据采集模块与上位机是用USB数据线连接;B.本发明方法的操作步骤:用上述专用测量装置中的设备完成以下方法的操作步骤,第一步,离线采样,构建一个关于声达时间差和声音采样点位置坐标间关系的数据库,即声音位置指纹数据库:(1.1)确定采样布局图:测定所指定的室内的面积和确定定位精度,根据所指定的室内的面积和定位精度,将所指定的室内划分成0.5m×0.5m的网格,把每个网格的节点作为参考点,得到n个参考节点,由此确定采样布局图;(1.2)设定声音采集点:在上述室内设定四个声音采集点,在每个采集点处分别布置麦克风0、麦克风1、麦克风2和麦克风3,以在采集点处采集声源信号;(1.3)采集声源信号:在上述(1.1)步中的每一个参考点处分别使用同一声源发出声音,用上述(1.2)步设置的麦克风0、麦克风1、麦克风2和麦克风3采集声音信号,声音信号经过声音放大模块的放大,用数据采集模块对放大的数据进行采集并实时的传输到上位机;(1.4)求麦克风1、麦克风2和麦克风3与基准麦克风0的声达时间差:用广义互相关函数法计算声源的声音到达不同麦克风的声达时间差,先求两个电压信号间的互功率谱函数并在频域内进行加权运算,再将频域的函数利用反傅里叶变换的方法转换到时域,得到两组信号的互相关函数,这个互相关函数的峰值所对应的时间为麦克风1、麦克风2和麦克风3与基准麦克风0的的声达时间差,具体计算方法如下:在第i个参考节点处,设s(t)为目标声源,x<sub>0</sub>(t)、x<sub>1</sub>(t)、x<sub>2</sub>(t)和x<sub>3</sub>(t)分别为麦克风0、麦克风1、麦克风2和麦克风3接收到的信号,n<sub>0</sub>(t)、n<sub>1</sub>(t)、n<sub>2</sub>(t)和n<sub>3</sub>(t)分别为麦克风0、麦克风1、麦克风2和麦克风3接收到的附加噪声信号,麦克风0、麦克风1、麦克风2和麦克风3得到的信号分别表示为:x<sub>0</sub>(t)=α<sub>0</sub>s(t)+n<sub>0</sub>(t)x<sub>1</sub>(t)=α<sub>1</sub>s(t‑τ)+n<sub>1</sub>(t)x<sub>2</sub>(t)=α<sub>2</sub>s(t‑τ)+n<sub>2</sub>(t)x<sub>3</sub>(t)=α<sub>3</sub>s(t‑τ)+n<sub>3</sub>(t)其中α<sub>0</sub>、α<sub>1</sub>、α<sub>2</sub>和α<sub>3</sub>分别是声音信号到达麦克风后的衰减系数,τ为两个麦克风拾取信号的时间延迟,即声达时间差TDOA,此处声达时间差TDOA采用传统的互相关方法进行估计,其互相关函数为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>R</mi><mrow><msub><mi>x</mi><mn>0</mn></msub><msub><mi>x</mi><mn>1</mn></msub></mrow></msub><mrow><mo>(</mo><mi>&tau;</mi><mo>)</mo></mrow><mo>=</mo><msubsup><mo>&Integral;</mo><mn>0</mn><mi>&pi;</mi></msubsup><msub><mi>&psi;</mi><mn>01</mn></msub><mrow><mo>(</mo><mi>&omega;</mi><mo>)</mo></mrow><msub><mi>G</mi><mrow><msub><mi>x</mi><mn>0</mn></msub><msub><mi>x</mi><mn>1</mn></msub></mrow></msub><mrow><mo>(</mo><mi>&omega;</mi><mo>)</mo></mrow><msup><mi>e</mi><mi>j&omega;&tau;</mi></msup><mi>d&omega;</mi></mrow>]]></math><img file="FDA0000719641260000021.GIF" wi="771" he="110" /></maths><maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>R</mi><mrow><msub><mi>x</mi><mn>0</mn></msub><msub><mi>x</mi><mn>2</mn></msub></mrow></msub><mrow><mo>(</mo><mi>&tau;</mi><mo>)</mo></mrow><mo>=</mo><msubsup><mo>&Integral;</mo><mn>0</mn><mi>&pi;</mi></msubsup><msub><mi>&psi;</mi><mn>02</mn></msub><mrow><mo>(</mo><mi>&omega;</mi><mo>)</mo></mrow><msub><mi>G</mi><mrow><msub><mi>x</mi><mn>0</mn></msub><msub><mi>x</mi><mn>2</mn></msub></mrow></msub><mrow><mo>(</mo><mi>&omega;</mi><mo>)</mo></mrow><msup><mi>e</mi><mi>j&omega;&tau;</mi></msup><mi>d&omega;</mi></mrow>]]></math><img file="FDA0000719641260000022.GIF" wi="785" he="109" /></maths><maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>R</mi><mrow><msub><mi>x</mi><mn>0</mn></msub><msub><mi>x</mi><mn>3</mn></msub></mrow></msub><mrow><mo>(</mo><mi>&tau;</mi><mo>)</mo></mrow><mo>=</mo><msubsup><mo>&Integral;</mo><mn>0</mn><mi>&pi;</mi></msubsup><msub><mi>&psi;</mi><mn>03</mn></msub><mrow><mo>(</mo><mi>&omega;</mi><mo>)</mo></mrow><msub><mi>G</mi><mrow><msub><mi>x</mi><mn>0</mn></msub><msub><mi>x</mi><mn>3</mn></msub></mrow></msub><mrow><mo>(</mo><mi>&omega;</mi><mo>)</mo></mrow><msup><mi>e</mi><mi>j&omega;&tau;</mi></msup><mi>d&omega;</mi></mrow>]]></math><img file="FDA0000719641260000023.GIF" wi="779" he="115" /></maths>其中,<img file="FDA0000719641260000024.GIF" wi="575" he="92" />是麦克风0和麦克风1获取信号的互相关功率谱,而X<sub>0</sub>(ω)是x<sub>0</sub>(t)由时域经过傅里叶变换转到频域的信号,<img file="FDA0000719641260000025.GIF" wi="155" he="78" />是频域内信号1的共轭,信号ψ<sub>01</sub>(ω)是权函数,在此权函数取1,<img file="FDA0000719641260000026.GIF" wi="523" he="84" />是广义互相关功率谱,最后再经过傅立叶反变换到时域得到时延:<img file="FDA0000719641260000027.GIF" wi="499" he="94" /><img file="FDA0000719641260000028.GIF" wi="176" he="78" />的峰值处即为麦克风1和基准麦克风0的声达时间差TDOA<sub>i1</sub>;<img file="FDA0000719641260000029.GIF" wi="578" he="85" />是麦克风0和麦克风2获取信号的互相关功率谱,而X<sub>0</sub>(ω)是x<sub>0</sub>(t)由时域经过傅里叶变换转到频域的信号,<img file="FDA00007196412600000210.GIF" wi="154" he="77" />是频域内信号2的共轭,信号ψ<sub>02</sub>(ω)是权函数,在此权函数取1,<img file="FDA00007196412600000211.GIF" wi="534" he="84" />是广义互相关功率谱,最后再经过傅立叶反变换到时域得到时延:<img file="FDA00007196412600000212.GIF" wi="509" he="95" /><img file="FDA00007196412600000213.GIF" wi="182" he="80" />的峰值处即为麦克风2和基准麦克风0的声达时间差TDOA<sub>i2</sub>;<img file="FDA00007196412600000214.GIF" wi="579" he="85" />是麦克风0和麦克风3获取信号的互相关功率谱,而X<sub>0</sub>(ω)是x<sub>0</sub>(t)由时域经过傅里叶变换转到频域的信号,<img file="FDA00007196412600000215.GIF" wi="156" he="81" />是频域内信号3的共轭,信号ψ<sub>03</sub>(ω)是权函数,在此权函数取1,<img file="FDA00007196412600000216.GIF" wi="534" he="80" />是广义互相关功率谱,最后再经过傅立叶反变换到时域得到时延:<img file="FDA00007196412600000217.GIF" wi="504" he="94" /><img file="FDA00007196412600000218.GIF" wi="178" he="79" />的峰值处即为麦克风3和基准麦克风0的声达时间差TDOA<sub>i3</sub>;由此,对每一个参考点进行数据采集,把参考点的位置坐标和对应的声达时间差TDOA存入到声音位置指纹库中,构成声音位置指纹库;第二步,在线定位,确定待定位的声源的坐标位置:(2.1)测量并采集待定位点声源信号到麦克风1b、麦克风2c和麦克风3d与基准麦克风0a的的声达时间差:在待定位点用同样的声源发出声音,用广义互相关函数法计算声源的声音到达不同麦克风的声达时间差,先求两个电压信号间的互功率谱函数并在频域内进行加权运算,再将频域的函数利用反傅里叶变换的方法转换到时域,得到两组信号的互相关函数,这个互相关函数的峰值所对应的时间为麦克风1、麦克风2和麦克风3与基准麦克风0的的声达时间差(TDOA<sub>j1</sub>、TDOA<sub>j2</sub>、TDOA<sub>j3</sub>),具体计算过程同上述(1.4)步;(2.2)利用定位算法将采集的待定位声源声音的声达时间差与第一步构建的声音位置指纹数据库中的信息进行匹配定位,计算出该声源的位置坐标:用K最近邻法进行信息匹配定位,具体过程如下:①计算待测点与所有参考点的欧氏距离:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msub><mi>d</mi><mi>i</mi></msub><mo>=</mo><msqrt><munderover><mi>&Sigma;</mi><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><mn>3</mn></munderover><msup><mrow><mo>(</mo><msub><mi>TDOA</mi><mi>jm</mi></msub><mo>-</mo><msub><mi>TDOA</mi><mi>im</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></msqrt></mrow>]]></math><img file="FDA0000719641260000031.GIF" wi="650" he="159" /></maths>其中,d<sub>i</sub>表示待测点到第i个参考点的欧氏距离,m表示测的的声达时间差的个数,TDOA<sub>jm</sub>表示待测点测得的第m个麦克风与基准麦克风的声达时间差,TDOA<sub>im</sub>表示第i个参考点的第m个声达时间差;②对求出的上述(1.1)步中的n个参考节点的d<sub>i</sub>进行比较,取出3个最小的欧氏距离d<sub>a</sub>,d<sub>b</sub>,d<sub>c</sub>,提取其坐标分别为A(x<sub>a</sub>,y<sub>a</sub>)、B(x<sub>b</sub>,y<sub>b</sub>)、C(x<sub>c</sub>,y<sub>c</sub>);③求取A(x<sub>a</sub>,y<sub>a</sub>)、B(x<sub>b</sub>,y<sub>b</sub>)、C(x<sub>c</sub>,y<sub>c</sub>)这三个点的质心,质心的坐标就是待定位的声源的坐标,求取质心的方法是:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mrow><mo>(</mo><msub><mi>x</mi><mi>j</mi></msub><mo>,</mo><msub><mi>y</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mi>d</mi><mi>b</mi></msub><mo>+</mo><msub><mi>d</mi><mi>c</mi></msub></mrow><mrow><msub><mi>d</mi><mi>a</mi></msub><mo>+</mo><msub><mi>d</mi><mi>b</mi></msub><mo>+</mo><msub><mi>d</mi><mi>c</mi></msub></mrow></mfrac><mrow><mo>(</mo><msub><mi>x</mi><mi>a</mi></msub><mo>,</mo><msub><mi>y</mi><mi>a</mi></msub><mo>)</mo></mrow><mo>+</mo><mfrac><mrow><msub><mi>d</mi><mi>a</mi></msub><mo>+</mo><msub><mi>d</mi><mi>c</mi></msub></mrow><mrow><msub><mi>d</mi><mi>a</mi></msub><mo>+</mo><msub><mi>d</mi><mi>b</mi></msub><mo>+</mo><msub><mi>d</mi><mi>c</mi></msub></mrow></mfrac><mrow><mo>(</mo><msub><mi>x</mi><mi>b</mi></msub><mo>,</mo><msub><mi>y</mi><mi>b</mi></msub><mo>)</mo></mrow><mo>+</mo><mfrac><mrow><msub><mi>d</mi><mi>a</mi></msub><mo>+</mo><msub><mi>d</mi><mi>b</mi></msub></mrow><mrow><msub><mi>d</mi><mi>a</mi></msub><mo>+</mo><msub><mi>d</mi><mi>b</mi></msub><mo>+</mo><msub><mi>d</mi><mi>c</mi></msub></mrow></mfrac><mrow><mo>(</mo><msub><mi>x</mi><mi>c</mi></msub><mo>,</mo><msub><mi>y</mi><mi>c</mi></msub><mo>)</mo></mrow><mo>.</mo></mrow>]]></math><img file="FDA0000719641260000032.GIF" wi="1596" he="147" /></maths>其中(x<sub>j</sub>,y<sub>j</sub>)是待测点的坐标,d<sub>a</sub>,d<sub>b</sub>,d<sub>c</sub>是上述步骤②中测得的欧氏距离;由此,完成待定位的室内声源定位。
地址 300401 天津市北辰区西平道5340号河北工业大学