发明名称 基于多个手机麦克风阵列的定位方法
摘要 本发明提供一种基于多个手机麦克风阵列的定位方法,包括下述步骤:(a).获取不同位置的多个手机麦克风                                                <img file="74525dest_path_image001.GIF" wi="110" he="25" />的位置,m≥1,为正整数;(b).通过归一化互相关方法,对于所有的麦克风对,计算同一声源发出的声音到麦克风<img file="597910dest_path_image002.GIF" wi="25" he="25" />和麦克风<img file="27754dest_path_image003.GIF" wi="28" he="26" />的带误差容忍的时间差范围<img file="331697dest_path_image004.GIF" wi="28" he="26" />;<img file="606820dest_path_image005.GIF" wi="36" he="30" />;根据带误差容忍的时间差范围和每对麦克风的位置,得到相应的双曲线带;(c).将所有的双曲线带叠加在平面上,平面中被双曲线带覆盖次数最多的区域即是最大可能的音源区域。本发明能够通过计算音源发出的声音到达不同位置的麦克风的时间差来确定音源的位置。
申请公布号 CN103675757B 申请公布日期 2015.11.04
申请号 CN201310695643.8 申请日期 2013.12.17
申请人 无锡清华信息科学与技术国家实验室物联网技术中心 发明人 朱彤;马强;张善丰;刘云浩
分类号 G01S5/20(2006.01)I;G01S5/28(2006.01)I 主分类号 G01S5/20(2006.01)I
代理机构 无锡市大为专利商标事务所(普通合伙) 32104 代理人 曹祖良
主权项 一种基于多个手机麦克风阵列的定位方法,其特征在于,包括下述步骤:(a).获取不同位置的多个手机麦克风M<sub>1</sub>M<sub>2</sub>M<sub>3</sub>...M<sub>2m</sub>的位置,m≥1,为正整数;(b).通过归一化互相关方法,对于所有的麦克风对,计算同一声源发出的声音到麦克风M<sub>i</sub>和麦克风M<sub>j</sub>的带误差容忍的时间差范围Δt<sub>ij</sub>;i≠j;根据带误差容忍的时间差范围和每对麦克风的位置,得到相应的双曲线带;(c).将所有的双曲线带叠加在平面上,平面中被双曲线带覆盖次数最多的区域即是最大可能的音源区域;所述步骤(b)具体包括:通过两个不同位置的麦克风对同一音源发出的声音进行采集,分别获取第一声音序列和第二声音序列;其中第一麦克风采集的第一声音序列中的声音强度的最高时刻是t<sub>1</sub>,第二麦克风采集的第二声音序列中声音强度的最高时刻是t<sub>2</sub>;采集的采样率为k;分别选取第一声音序列和第二声音序列的两个声音序列的声音强度最高的时间段,得到第一麦克风的第一声音子序列X(t)和第二麦克风的第二声音子序列Y(t);第一声音子序列X(t)和第二声音子序列Y(t)的序列长度均为L;将得到的两个子序列进行归一化互相关计算,以得到最佳匹配位置t<sub>M</sub>,即两个子序列相对位置为t<sub>M</sub>时,归一化互相关计算的结果CC(t<sub>0</sub>)数值最大;归一化的互相关方法的计算公式如下所示:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>CC</mi><mrow><mo>(</mo><msub><mi>t</mi><mn>0</mn></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mi>&Sigma;</mi><mrow><msub><mi>t</mi><mi>x</mi></msub><mo>&Element;</mo><mi>W</mi></mrow></msub><mo>[</mo><mi>X</mi><mrow><mo>(</mo><msub><mi>t</mi><mi>x</mi></msub><mo>)</mo></mrow><mo>-</mo><mover><mrow><mi>X</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></mrow><mo>&OverBar;</mo></mover><mo>]</mo><mo>[</mo><mi>Y</mi><mrow><mo>(</mo><msub><mi>t</mi><mi>x</mi></msub><mo>-</mo><msub><mi>t</mi><mn>0</mn></msub><mo>)</mo></mrow><mo>-</mo><mover><mrow><mi>Y</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></mrow><mo>&OverBar;</mo></mover><mo>]</mo></mrow><mrow><msqrt><msub><mi>&Sigma;</mi><msub><mrow><mi>t</mi><mo>&Element;</mo><mi>W</mi></mrow><mn>0</mn></msub></msub></msqrt><msup><mrow><mo>[</mo><mi>X</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>-</mo><mover><mrow><mi>X</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></mrow><mo>&OverBar;</mo></mover><mo>]</mo></mrow><mn>2</mn></msup><msub><mi>&Sigma;</mi><msub><mrow><mi>t</mi><mo>&Element;</mo><mi>W</mi></mrow><mn>0</mn></msub></msub><msup><mrow><mo>[</mo><mi>Y</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>-</mo><mover><mrow><mi>Y</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></mrow><mo>&OverBar;</mo></mover><mo>]</mo></mrow><mn>2</mn></msup></mrow></mfrac></mrow>]]></math><img file="FDA0000717898850000011.GIF" wi="1333" he="247" /></maths>根据归一化互相关计算公式,其中一个序列为模版序列,另一个是待匹配序列;令X(t)为模版序列,Y(t)为待匹配序列;t<sub>0</sub>为子序列Y(t)相对X(t)的位置,其取值范围是t<sub>0</sub>∈[1-L,2L-1];t<sub>x</sub>为X(t)实际匹配部分位置,其取值范围是t<sub>x</sub>∈W=[max{0,t<sub>0</sub>},min{t<sub>0</sub>+L‑1,L‑1}];t为X(t)和Y(t)序列的位置下标,其取值范围是t∈W0=[0,L-1];X(t)序列的音强平均值为<img file="FDA0000717898850000012.GIF" wi="434" he="148" />Y(t)序列的音强平均值为<img file="FDA0000717898850000013.GIF" wi="409" he="138" />计算上述两个麦克风采集的音源的声音的时间差T<sub>1</sub>,T<sub>1</sub>=|t<sub>1</sub>‑t<sub>2</sub>+t<sub>M</sub>/k|;带误差容忍的时间差范围是Δt,其取值范围是Δt∈(T<sub>1</sub>‑δ,T<sub>1</sub>+δ),容忍度δ=||T<sub>1</sub>|‑|t<sub>1</sub>‑t<sub>2</sub>||;对2m个位置不同的手机麦克风,这些麦克风分别是M<sub>1</sub>M<sub>2</sub>M<sub>3</sub>...M<sub>2m</sub>,m≥1,为正整数;音源的位置是K,则得到如下公式阵列:<maths num="0002" id="cmaths0002"><math><![CDATA[<mfenced open='{' close=''><mtable><mtr><mtd><mo>&ForAll;</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>,</mo><mn>1</mn><mo>&le;</mo><mi>i</mi><mo>&lt;</mo><mi>j</mi><mo>&le;</mo><mn>2</mn><mi>m</mi><mo>,</mo></mtd></mtr><mtr><mtd><msub><mi>&Delta;t</mi><mi>ij</mi></msub><mo>&Element;</mo><mrow><mo>(</mo><msub><mi>t</mi><mi>l</mi></msub><mo>,</mo><msub><mi>t</mi><mi>u</mi></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mfenced open='' close=''><mtable><mtr><mtd><msub><mi>V</mi><mi>s</mi></msub><msub><mi>t</mi><mi>l</mi></msub><mo>&lt;</mo><mover><msub><mi>KM</mi><mi>i</mi></msub><mo>&OverBar;</mo></mover><mo>-</mo><mover><msub><mi>KM</mi><mi>j</mi></msub><mo>&OverBar;</mo></mover><mo>&lt;</mo><msub><mi>V</mi><mi>s</mi></msub><msub><mi>t</mi><mi>u</mi></msub></mtd><mtd><mi>i</mi><mo>&NotEqual;</mo><mi>j</mi></mtd></mtr></mtable></mfenced></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000717898850000021.GIF" wi="925" he="322" /></maths>其中Δt<sub>ij</sub>是根据在第M<sub>i</sub>个麦克风和第M<sub>j</sub>个麦克风记录的从音源位置K发出的声音计算得到的带误差容忍的时间差范围,t<sub>l</sub>=T1‑δ为此时间差的最小取值,t<sub>u</sub>=T1+δ为此时间差的最大取值;V<sub>s</sub>为声音速度;<img file="FDA0000717898850000022.GIF" wi="118" he="81" />为音源位置K到麦克风M<sub>i</sub>位置的距离,<img file="FDA0000717898850000023.GIF" wi="129" he="80" />为音源位置K到麦克风M<sub>j</sub>位置的距离;根据公式<img file="FDA0000717898850000024.GIF" wi="558" he="80" />每对麦克风能够对音源的位置确定一个由两条双曲线组成的双曲线带,其中一条双曲线的焦点分别为M<sub>i</sub>和M<sub>j</sub>的位置,音源位置K到两个焦点的距离差为定值V<sub>s</sub>t<sub>l</sub>;另一条双曲线的焦点也为M<sub>i</sub>和M<sub>j</sub>的位置,音源位置K到两个焦点的距离差为定值V<sub>s</sub>t<sub>u</sub>。
地址 214135 江苏省无锡市国家高新技术产业开发区太科园大学科技园清源路A区502号房