本發(fā)明涉及信息處理和室內(nèi)定位技術(shù)領(lǐng)域,尤其涉及一種室內(nèi)的定位方法及系統(tǒng)。
背景技術(shù):
現(xiàn)有室內(nèi)定位技術(shù)有紅外線技術(shù)、藍(lán)牙技術(shù)、計(jì)算機(jī)視覺(jué)技術(shù)、射頻識(shí)別技術(shù)、wifi技術(shù)、zigbee技術(shù),uwb技術(shù)和超聲波技術(shù)等,其中定位精度最高的技術(shù)是uwb和激光技術(shù),但uwb成本太高,激光則容易被遮擋。目前室內(nèi)定位系統(tǒng)多采用rf或聲音信號(hào)來(lái)實(shí)現(xiàn)定位,但在復(fù)雜環(huán)境下,這些信號(hào)都存在著嚴(yán)重地多徑效應(yīng),請(qǐng)參閱附圖1,附圖1舉例說(shuō)明了多徑效應(yīng)的產(chǎn)生過(guò)程;信號(hào)的多徑效應(yīng)嚴(yán)重地干擾了距離的計(jì)算,導(dǎo)致在復(fù)雜環(huán)境下的定位精度普遍不高;為了減弱多徑效應(yīng),現(xiàn)有的室內(nèi)定位技術(shù)大都要求空曠的室內(nèi)環(huán)境,而現(xiàn)實(shí)中,我們的應(yīng)用場(chǎng)景都會(huì)有很多障礙物,所以這導(dǎo)致了室內(nèi)定位技術(shù)還遲遲沒(méi)有大范圍地應(yīng)用于我們的生活中;同時(shí)在實(shí)際應(yīng)用中,由于室內(nèi)環(huán)境復(fù)雜多變,干擾因素較多,信號(hào)的檢測(cè)也成為一種挑戰(zhàn),而且即使成功地檢測(cè)到了需要定位的信號(hào),由于多徑效應(yīng)的影響,要想精確地估計(jì)時(shí)延也成為一種難題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供了一種室內(nèi)的定位方法,包括如下步驟:
s1.接收步驟,接收探頭采集的腳步聲振動(dòng)信號(hào);
s2.檢測(cè)步驟,采用swim模型檢測(cè)腳步聲振動(dòng)信號(hào)并校正;
s3.估計(jì)步驟,采用pcc算法來(lái)估計(jì)時(shí)延;
s4.處理步驟,根據(jù)定位算法求出目標(biāo)精確位置。
作為本發(fā)明的進(jìn)一步改進(jìn),所述s2.檢測(cè)步驟包括:
s21.接收頭接收到腳步聲振動(dòng)信號(hào),并對(duì)其進(jìn)行維納濾波;
s22.計(jì)算出腳步聲振動(dòng)信號(hào)的短時(shí)能量;
s23.用基于短時(shí)能量的雙門(mén)限端點(diǎn)檢測(cè)法來(lái)初步檢測(cè)出腳步聲的起點(diǎn)和終點(diǎn);
s24.結(jié)合腳步聲間隔,分配權(quán)重來(lái)重新調(diào)整腳步聲的起點(diǎn);
s25.對(duì)swim模型進(jìn)行實(shí)時(shí)校正。
作為本發(fā)明的進(jìn)一步改進(jìn),所述s3.估計(jì)步驟包括:
s31.檢測(cè)出腳步聲振動(dòng)信號(hào)x的各個(gè)峰值,并找出第一個(gè)峰值的位置,記為p1;
s32.找出另一個(gè)接收頭接收到的同一個(gè)腳步聲x'的第一個(gè)峰值的位置,記為p2;
s33.取p1和p2中的較小值,記為pmin;
s34.根據(jù)經(jīng)驗(yàn)對(duì)x從p1向前取n個(gè)點(diǎn),并向前補(bǔ)(p1-pmin)個(gè)零進(jìn)行時(shí)間同步,根據(jù)經(jīng)驗(yàn)向后取n'個(gè)點(diǎn),與p1組成信號(hào)1,記為sig1;
s35.對(duì)x'從p2向前取n個(gè)點(diǎn),并向前補(bǔ)(p2-pmin)個(gè)零進(jìn)行時(shí)間同步,再向后取n'個(gè)點(diǎn),與p2組成信號(hào)2,記為sig2;
s36.分別求出sig1和sig2的長(zhǎng)度,記為l1、l2,l1、l2中較大的值記為lmax;
s37.對(duì)sig1向后補(bǔ)(lmax-l1)個(gè)零,對(duì)sig2向后補(bǔ)(lmax-l2)個(gè)零,用于對(duì)齊sig1和sig2的長(zhǎng)度;
s38.利用gcc對(duì)sig1和sig2進(jìn)行時(shí)延估計(jì)。
作為本發(fā)明的進(jìn)一步改進(jìn),所述s4.處理步驟包括:
s41.通過(guò)s3.估計(jì)步驟求出腳步聲振動(dòng)信號(hào)到達(dá)三個(gè)或三個(gè)以上接收頭的時(shí)間差;
s42.利用到達(dá)時(shí)間差進(jìn)行定位的算法計(jì)算出腳步聲振動(dòng)信號(hào)的精確坐標(biāo)。
作為本發(fā)明的進(jìn)一步改進(jìn),在所述步驟s23中,包括:
s231.設(shè)置噪音短時(shí)能量的最大值為能量的低門(mén)限,設(shè)置腳步聲能量最大值的1/2為能量的高門(mén)限;
s232.設(shè)置兩個(gè)參數(shù):靜音的最長(zhǎng)長(zhǎng)度和信號(hào)的最短長(zhǎng)度;
s233.整個(gè)端點(diǎn)檢測(cè)分為4段:靜音段、過(guò)渡段、信號(hào)段、結(jié)束;
s234.程序用一個(gè)變量status表示當(dāng)前所處狀態(tài);
s235.信號(hào)的初始段為靜音段,如果短時(shí)能量超過(guò)了低門(mén)限,就開(kāi)始標(biāo)記起點(diǎn),進(jìn)入過(guò)渡段;
s236.在過(guò)渡段中,不能確信處于信號(hào)段,若有短時(shí)能量回落到低門(mén)限以下,且超過(guò)最大靜音長(zhǎng)度,則恢復(fù)到靜音狀態(tài);
s237.如果過(guò)渡段中有超過(guò)高門(mén)限,則確信進(jìn)入信號(hào)段;
s238.如果最終分段的長(zhǎng)度小于最小信號(hào)長(zhǎng)度,則認(rèn)為是噪聲并舍棄;
s239.切出來(lái)的第一個(gè)和最后一個(gè)采樣點(diǎn),標(biāo)記為x0和x′0;
s2310.切出第二個(gè)腳步聲的起點(diǎn)和終點(diǎn),標(biāo)記為x1和x′1;同時(shí)得到前兩個(gè)腳步聲的間隔d1(d1=x1-x'0);
s2311.得到i+1個(gè)腳步聲的起點(diǎn)xi、終點(diǎn)x′i及其間隔di+1,其中i≥0;
在所述步驟s24中,結(jié)合腳步聲間隔di+1,分配權(quán)重來(lái)重新調(diào)整腳步聲的起點(diǎn)為yi(i≥2),其調(diào)整公式如下:
yi=mi-1x′i+ni-1di-1(2)
mi-1=(1/2)^i(3)
mi+ni=1(4)
其中,m和n是權(quán)重,i是步數(shù)為1的遞增函數(shù),每次切斷時(shí)增加1,因?yàn)槿诵凶卟⒉皇墙^對(duì)勻速的,而最新的腳步聲間隔能更好的預(yù)測(cè)下一個(gè)腳步聲的間隔,所以我們選擇ema函數(shù)來(lái)計(jì)算di,如公式(5)所示,同時(shí)因?yàn)樵酵?,速度越是穩(wěn)定可靠,隨著ema的迭代過(guò)程,m的比例按指數(shù)衰減模型快速減少;
在所述步驟s25中,對(duì)swim模型進(jìn)行實(shí)時(shí)校正,因?yàn)楫?dāng)行人突然大幅度改變行走速度時(shí),比如從走的狀態(tài)變成跑步,分段會(huì)造成偏差,所以當(dāng)人突然大幅度改變行走速度時(shí),我們讓m和n恢復(fù)初始值,并開(kāi)始重新使用指數(shù)增長(zhǎng)模型分配m和n的權(quán)重。
本發(fā)明還提供了一種室內(nèi)的定位系統(tǒng),包括:
接收模塊,用于接收探頭采集的腳步聲振動(dòng)信號(hào);
檢測(cè)模塊,用于采用swim模型檢測(cè)腳步聲振動(dòng)信號(hào)并校正;
估計(jì)模塊,用于采用pcc算法來(lái)估計(jì)時(shí)延;
處理模塊,用于根據(jù)定位算法求出目標(biāo)精確位置。
作為本發(fā)明的進(jìn)一步改進(jìn),所述檢測(cè)模塊包括:
第一檢測(cè)模塊,用于接收頭接收到腳步聲振動(dòng)信號(hào),并對(duì)其進(jìn)行維納濾波;
第二檢測(cè)模塊,用于計(jì)算出腳步聲振動(dòng)信號(hào)的短時(shí)能量;
第三檢測(cè)模塊,用于用基于短時(shí)能量的雙門(mén)限端點(diǎn)檢測(cè)法來(lái)初步檢測(cè)出腳步聲的起點(diǎn)和終點(diǎn);
第四檢測(cè)模塊,用于結(jié)合腳步聲間隔,分配權(quán)重來(lái)重新調(diào)整腳步聲的起點(diǎn);
第五檢測(cè)模塊,用于對(duì)swim模型進(jìn)行實(shí)時(shí)校正。
作為本發(fā)明的進(jìn)一步改進(jìn),所述估計(jì)模塊包括:
第一估計(jì)模塊,用于檢測(cè)出腳步聲振動(dòng)信號(hào)x的各個(gè)峰值,并找出第一個(gè)峰值的位置,記為p1;
第二估計(jì)模塊,用于找出另一個(gè)接收頭接收到的同一個(gè)腳步聲x'的第一個(gè)峰值的位置,記為p2;
第三估計(jì)模塊,用于取p1和p2中的較小值,記為pmin;
第四估計(jì)模塊,用于根據(jù)經(jīng)驗(yàn)對(duì)x從p1向前取n個(gè)點(diǎn),并向前補(bǔ)(p1-pmin)個(gè)零進(jìn)行時(shí)間同步,根據(jù)經(jīng)驗(yàn)向后取n'個(gè)點(diǎn),與p1組成信號(hào)1,記為sig1;
第五估計(jì)模塊,用于對(duì)x'從p2向前取n個(gè)點(diǎn),并向前補(bǔ)(p2-pmin)個(gè)零進(jìn)行時(shí)間同步,再向后取n'個(gè)點(diǎn),與p2組成信號(hào)2,記為sig2;
第六估計(jì)模塊,用于分別求出sig1和sig2的長(zhǎng)度,記為l1、l2,l1、l2中較大的值記為lmax;
第七估計(jì)模塊,用于對(duì)sig1向后補(bǔ)(lmax-l1)個(gè)零,對(duì)sig2向后補(bǔ)(lmax-l2)個(gè)零,用于對(duì)齊sig1和sig2的長(zhǎng)度;
第八估計(jì)模塊,用于利用gcc對(duì)sig1和sig2進(jìn)行時(shí)延估計(jì)。
作為本發(fā)明的進(jìn)一步改進(jìn),所述處理模塊包括:
第一處理模塊,用于通過(guò)估計(jì)模塊求出腳步聲振動(dòng)信號(hào)到達(dá)三個(gè)或三個(gè)以上接收頭的時(shí)間差;
第二處理模塊,用于利用到達(dá)時(shí)間差進(jìn)行定位的算法計(jì)算出腳步聲振動(dòng)信號(hào)的精確坐標(biāo)。
作為本發(fā)明的進(jìn)一步改進(jìn),所述第三檢測(cè)模塊包括:
第一檢測(cè)處理單元,用于設(shè)置噪音短時(shí)能量的最大值為能量的低門(mén)限,設(shè)置腳步聲能量最大值的1/2為能量的高門(mén)限;
第二檢測(cè)處理單元,用于設(shè)置兩個(gè)參數(shù):靜音的最長(zhǎng)長(zhǎng)度和信號(hào)的最短長(zhǎng)度;
第三檢測(cè)處理單元,用于整個(gè)端點(diǎn)檢測(cè)分為4段:靜音段、過(guò)渡段、信號(hào)段、結(jié)束;
第四檢測(cè)處理單元,程序用一個(gè)變量status表示當(dāng)前所處狀態(tài);
第五檢測(cè)處理單元,信號(hào)的初始段為靜音段,如果短時(shí)能量超過(guò)了低門(mén)限,就開(kāi)始標(biāo)記起點(diǎn),進(jìn)入過(guò)渡段;
第六檢測(cè)處理單元,在過(guò)渡段中,不能確信處于信號(hào)段,若有短時(shí)能量回落到低門(mén)限以下,且超過(guò)最大靜音長(zhǎng)度,則恢復(fù)到靜音狀態(tài);
第七檢測(cè)處理單元,如果過(guò)渡段中有超過(guò)高門(mén)限,則確信進(jìn)入信號(hào)段;
第八檢測(cè)處理單元,如果最終分段的長(zhǎng)度小于最小信號(hào)長(zhǎng)度,則認(rèn)為是噪聲并舍棄;
第九檢測(cè)處理單元,切出來(lái)的第一個(gè)和最后一個(gè)采樣點(diǎn),標(biāo)記為x0和x′0;
第十檢測(cè)處理單元,切出第二個(gè)腳步聲的起點(diǎn)和終點(diǎn),標(biāo)記為x1和x′1;同時(shí)得到前兩個(gè)腳步聲的間隔d1(d1=x1-x'0);
第十一檢測(cè)處理單元,得到i+1個(gè)腳步聲的起點(diǎn)xi、終點(diǎn)x′i及其間隔di+1,其中i≥0;
在所述第四檢測(cè)模塊中,結(jié)合腳步聲間隔di+1,分配權(quán)重來(lái)重新調(diào)整腳步聲的起點(diǎn)為yi(i≥2),其調(diào)整公式如下:
yi=mi-1x′i+ni-1di-1(2)
mi-1=(1/2)^i(3)
mi+ni=1(4)
其中,m和n是權(quán)重,i是步數(shù)為1的遞增函數(shù),每次切斷時(shí)增加1,因?yàn)槿诵凶卟⒉皇墙^對(duì)勻速的,而最新的腳步聲間隔能更好的預(yù)測(cè)下一個(gè)腳步聲的間隔,所以我們選擇ema函數(shù)來(lái)計(jì)算di,如公式(5)所示,同時(shí)因?yàn)樵酵螅俣仍绞欠€(wěn)定可靠,隨著ema的迭代過(guò)程,m的比例按指數(shù)衰減模型快速減少;
在所述第五檢測(cè)模塊中,對(duì)swim模型進(jìn)行實(shí)時(shí)校正,因?yàn)楫?dāng)行人突然大幅度改變行走速度時(shí),比如從走的狀態(tài)變成跑步,分段會(huì)造成偏差,所以當(dāng)人突然大幅度改變行走速度時(shí),我們讓m和n恢復(fù)初始值,并開(kāi)始重新使用指數(shù)增長(zhǎng)模型分配m和n的權(quán)重。
本發(fā)明的有益效果是:本發(fā)明可以實(shí)現(xiàn)復(fù)雜環(huán)境下的高精度室內(nèi)定位,定位精度高達(dá)7cm;提出的腳步聲檢測(cè)方法(swim模型)可以在不需要事先訓(xùn)練的情況下,實(shí)現(xiàn)復(fù)雜環(huán)境下的腳步聲振動(dòng)信號(hào)的檢測(cè)與校正,檢測(cè)準(zhǔn)確度高達(dá)98%;提出的時(shí)延估計(jì)算法(pcc),解決了廣義互相關(guān)法(gcc)由于多徑效應(yīng)而時(shí)延估計(jì)誤差較大的問(wèn)題。
附圖說(shuō)明
圖1是多徑效應(yīng)的產(chǎn)生過(guò)程示意圖。
圖2是腳步聲振動(dòng)信號(hào)的各個(gè)峰值圖。
圖3是通過(guò)人的腳步聲振動(dòng)信號(hào)在復(fù)雜室內(nèi)環(huán)境下的室內(nèi)定位方法原理圖。
具體實(shí)施方式
如圖3所示,在本發(fā)明中,在室內(nèi)地面四周布置三個(gè)或者三個(gè)以上接收探頭,本發(fā)明公開(kāi)了一種室內(nèi)的定位方法,包括如下步驟:
s1.接收步驟,接收探頭采集的腳步聲振動(dòng)信號(hào);
s2.檢測(cè)步驟,采用swim模型檢測(cè)腳步聲振動(dòng)信號(hào)并校正;
s3.估計(jì)步驟,采用pcc算法來(lái)估計(jì)時(shí)延;
s4.處理步驟,根據(jù)定位算法求出目標(biāo)精確位置。
在所述s1.接收步驟中,腳步聲振動(dòng)信號(hào)包括人的腳步聲振動(dòng)信號(hào)、動(dòng)物的腳步聲振動(dòng)信號(hào)、人造機(jī)器產(chǎn)生的腳步聲振動(dòng)信號(hào)。
接收探頭可以為地震檢波器geophone或者其他振動(dòng)信號(hào)傳感器。
在實(shí)際應(yīng)用中,本發(fā)明的室內(nèi)環(huán)境的定位方法及系統(tǒng)可部署在復(fù)雜室內(nèi)環(huán)境的地面上。
swim模型:自適應(yīng)權(quán)重增加模型walkingspeedbasedadaptiveweightincrementmodel(swim)。
pcc算法:最大值互相關(guān)算法peakcrosscorrelation(pcc)。
布置地震檢波器geophone,包括:
在地面的四周布置三個(gè)geophone;
geophone的下一級(jí)接信號(hào)放大器用于放大geophone采集到的腳步聲振動(dòng)信號(hào);
信號(hào)放大器的下一級(jí)接ad模數(shù)轉(zhuǎn)換器用于把采集到的腳步聲振動(dòng)信號(hào)轉(zhuǎn)換成數(shù)字信號(hào);
ad模數(shù)轉(zhuǎn)換器的下一級(jí)接樹(shù)莓派,用于控制采集和保存腳步聲振動(dòng)信號(hào)。
所述s2.檢測(cè)步驟包括:
s21.接收頭接收到腳步聲振動(dòng)信號(hào),并對(duì)其進(jìn)行維納濾波;
s22.計(jì)算出腳步聲振動(dòng)信號(hào)的短時(shí)能量,短時(shí)能量的計(jì)算公式如下:
s23.用基于短時(shí)能量的雙門(mén)限端點(diǎn)檢測(cè)法來(lái)初步檢測(cè)出腳步聲的起點(diǎn)和終點(diǎn);
s24.結(jié)合腳步聲間隔,分配權(quán)重來(lái)重新調(diào)整腳步聲的起點(diǎn);
s25.對(duì)swim模型進(jìn)行實(shí)時(shí)校正。
所述s3.估計(jì)步驟包括:
s31.檢測(cè)出腳步聲振動(dòng)信號(hào)x的各個(gè)峰值,如附圖2,并找出第一個(gè)峰值的位置,記為p1;
s32.找出另一個(gè)接收頭接收到的同一個(gè)腳步聲x'的第一個(gè)峰值的位置,記為p2;
s33.取p1和p2中的較小值,記為pmin;
s34.根據(jù)經(jīng)驗(yàn)對(duì)x從p1向前取n個(gè)點(diǎn),并向前補(bǔ)(p1-pmin)個(gè)零進(jìn)行時(shí)間同步,根據(jù)經(jīng)驗(yàn)向后取n'個(gè)點(diǎn),與p1組成信號(hào)1,記為sig1;
s35.以同樣方法對(duì)x'從p2向前取n個(gè)點(diǎn),并向前補(bǔ)(p2-pmin)個(gè)零進(jìn)行時(shí)間同步,再向后取n'個(gè)點(diǎn),與p2組成信號(hào)2,記為sig2;
s36.分別求出sig1和sig2的長(zhǎng)度,記為l1、l2,l1、l2中較大的值記為lmax;
s37.對(duì)sig1向后補(bǔ)(lmax-l1)個(gè)零,對(duì)sig2向后補(bǔ)(lmax-l2)個(gè)零,用于對(duì)齊sig1和sig2的長(zhǎng)度;
s38.利用gcc對(duì)sig1和sig2進(jìn)行時(shí)延估計(jì),時(shí)間差記為△t1;
s39.以同樣的方法,我們可以估計(jì)出該腳步聲到達(dá)geophone1和geophone3的時(shí)間差,記為△t2。
所述s4.處理步驟包括:
s41.通過(guò)s3.估計(jì)步驟求出腳步聲振動(dòng)信號(hào)到達(dá)三個(gè)或三個(gè)以上接收頭的時(shí)間差;
s42.利用tdoa、toa三點(diǎn)定位算法,或者其他利用到達(dá)時(shí)間差進(jìn)行定位的算法計(jì)算出腳步聲振動(dòng)信號(hào)的精確坐標(biāo)。
在所述步驟s23中,包括:
s231.設(shè)置噪音短時(shí)能量的最大值為能量的低門(mén)限,設(shè)置腳步聲能量最大值的1/2為能量的高門(mén)限;
s232.設(shè)置兩個(gè)參數(shù):靜音的最長(zhǎng)長(zhǎng)度和信號(hào)的最短長(zhǎng)度;
s233.整個(gè)端點(diǎn)檢測(cè)分為4段:靜音段、過(guò)渡段、信號(hào)段、結(jié)束;
s234.采集到的腳步聲振動(dòng)信號(hào)的開(kāi)始為靜音段,程序用一個(gè)變量status表示當(dāng)前所處狀態(tài);
s235.信號(hào)的初始段為靜音段,如果短時(shí)能量超過(guò)了低門(mén)限es,就開(kāi)始標(biāo)記起點(diǎn),進(jìn)入過(guò)渡段;
s236.在過(guò)渡段中,不能確信處于信號(hào)段,若有短時(shí)能量回落到低門(mén)限es以下,且超過(guò)最大靜音長(zhǎng)度sm,則恢復(fù)到靜音狀態(tài);
s237.如果過(guò)渡段中有超過(guò)高門(mén)限eh,則確信進(jìn)入信號(hào)段;
s238.如果最終分段的長(zhǎng)度小于最小信號(hào)長(zhǎng)度lm,則認(rèn)為是噪聲并舍棄;
s239.切出來(lái)的第一個(gè)和最后一個(gè)采樣點(diǎn),標(biāo)記為x0和x′0;
s2310.切出第二個(gè)腳步聲的起點(diǎn)和終點(diǎn),標(biāo)記為x1和x′1;同時(shí)得到前兩個(gè)腳步聲的間隔d1(d1=x1-x′0);
s2311.得到i+1個(gè)腳步聲的起點(diǎn)xi、終點(diǎn)x′i及其間隔di+1,其中i≥0。
在所述步驟s24中,結(jié)合腳步聲間隔di+1,分配權(quán)重來(lái)重新調(diào)整腳步聲的起點(diǎn)為yi(i≥2),其調(diào)整公式如下:
yi=mi-1x′i+ni-1di-1(2)
mi-1=(1/2)^i(3)
mi+ni=1(4)
其中,m和n是權(quán)重,i是步數(shù)為1的遞增函數(shù),每次切斷時(shí)增加1,因?yàn)槿诵凶卟⒉皇墙^對(duì)勻速的,而最新的腳步聲間隔能更好的預(yù)測(cè)下一個(gè)腳步聲的間隔,所以我們選擇ema函數(shù)來(lái)計(jì)算di,如公式(5)所示,同時(shí)因?yàn)樵酵?,速度越是穩(wěn)定可靠,隨著ema的迭代過(guò)程,m的比例按指數(shù)衰減模型快速減少。
在所述步驟s25中,對(duì)swim模型進(jìn)行實(shí)時(shí)校正,因?yàn)楫?dāng)行人突然大幅度改變行走速度時(shí),比如從走的狀態(tài)變成跑步,分段會(huì)造成偏差,所以當(dāng)人突然大幅度改變行走速度時(shí),我們讓m和n恢復(fù)初始值,并開(kāi)始重新使用指數(shù)增長(zhǎng)模型分配m和n的權(quán)重。
對(duì)swim模型進(jìn)行實(shí)時(shí)校正。為了判斷行人是否突然大幅度改變行走速度導(dǎo)致切斷失誤,我們引入向量
本發(fā)明還公開(kāi)了一種室內(nèi)的定位系統(tǒng),包括:
接收模塊,用于接收探頭采集的腳步聲振動(dòng)信號(hào);
檢測(cè)模塊,用于采用swim模型檢測(cè)腳步聲振動(dòng)信號(hào)并校正;
估計(jì)模塊,用于采用pcc算法來(lái)估計(jì)時(shí)延;
處理模塊,用于根據(jù)定位算法求出目標(biāo)精確位置。
所述檢測(cè)模塊包括:
第一檢測(cè)模塊,用于接收頭接收到腳步聲振動(dòng)信號(hào),并對(duì)其進(jìn)行維納濾波;
第二檢測(cè)模塊,用于計(jì)算出腳步聲振動(dòng)信號(hào)的短時(shí)能量,短時(shí)能量的計(jì)算公式如下:
第三檢測(cè)模塊,用于用基于短時(shí)能量的雙門(mén)限端點(diǎn)檢測(cè)法來(lái)初步檢測(cè)出腳步聲的起點(diǎn)和終點(diǎn);
第四檢測(cè)模塊,用于結(jié)合腳步聲間隔,分配權(quán)重來(lái)重新調(diào)整腳步聲的起點(diǎn);
第五檢測(cè)模塊,用于對(duì)swim模型進(jìn)行實(shí)時(shí)校正。
所述估計(jì)模塊包括:
第一估計(jì)模塊,用于檢測(cè)出腳步聲振動(dòng)信號(hào)x的各個(gè)峰值,如附圖2,并找出第一個(gè)峰值的位置,記為p1;
第二估計(jì)模塊,用于找出另一個(gè)接收頭接收到的同一個(gè)腳步聲x'的第一個(gè)峰值的位置,記為p2;
第三估計(jì)模塊,用于取p1和p2中的較小值,記為pmin;
第四估計(jì)模塊,用于根據(jù)經(jīng)驗(yàn)對(duì)x從p1向前取n個(gè)點(diǎn),并向前補(bǔ)(p1-pmin)個(gè)零進(jìn)行時(shí)間同步,根據(jù)經(jīng)驗(yàn)向后取n'個(gè)點(diǎn),與p1組成信號(hào)1,記為sig1;
第五估計(jì)模塊,用于對(duì)x'從p2向前取n個(gè)點(diǎn),并向前補(bǔ)(p2-pmin)個(gè)零進(jìn)行時(shí)間同步,再向后取n'個(gè)點(diǎn),與p2組成信號(hào)2,記為sig2;
第六估計(jì)模塊,用于分別求出sig1和sig2的長(zhǎng)度,記為l1、l2,l1、l2中較大的值記為lmax;
第七估計(jì)模塊,用于對(duì)sig1向后補(bǔ)(lmax-l1)個(gè)零,對(duì)sig2向后補(bǔ)(lmax-l2)個(gè)零,用于對(duì)齊sig1和sig2的長(zhǎng)度;
第八估計(jì)模塊,用于利用gcc對(duì)sig1和sig2進(jìn)行時(shí)延估計(jì)。
所述處理模塊包括:
第一處理模塊,用于通過(guò)估計(jì)模塊求出腳步聲振動(dòng)信號(hào)到達(dá)三個(gè)或三個(gè)以上接收頭的時(shí)間差;
第二處理模塊,用于利用到達(dá)時(shí)間差進(jìn)行定位的算法計(jì)算出腳步聲振動(dòng)信號(hào)的精確坐標(biāo)。
所述第三檢測(cè)模塊包括:
第一檢測(cè)處理單元,用于設(shè)置噪音短時(shí)能量的最大值為能量的低門(mén)限,設(shè)置腳步聲能量最大值的1/2為能量的高門(mén)限;
第二檢測(cè)處理單元,用于設(shè)置兩個(gè)參數(shù):靜音的最長(zhǎng)長(zhǎng)度和信號(hào)的最短長(zhǎng)度;
第三檢測(cè)處理單元,用于整個(gè)端點(diǎn)檢測(cè)分為4段:靜音段、過(guò)渡段、信號(hào)段、結(jié)束;
第四檢測(cè)處理單元,程序用一個(gè)變量status表示當(dāng)前所處狀態(tài);
第五檢測(cè)處理單元,信號(hào)的初始段為靜音段,如果短時(shí)能量超過(guò)了低門(mén)限,就開(kāi)始標(biāo)記起點(diǎn),進(jìn)入過(guò)渡段;
第六檢測(cè)處理單元,在過(guò)渡段中,不能確信處于信號(hào)段,若有短時(shí)能量回落到低門(mén)限以下,且超過(guò)最大靜音長(zhǎng)度,則恢復(fù)到靜音狀態(tài);
第七檢測(cè)處理單元,如果過(guò)渡段中有超過(guò)高門(mén)限,則確信進(jìn)入信號(hào)段;
第八檢測(cè)處理單元,如果最終分段的長(zhǎng)度小于最小信號(hào)長(zhǎng)度,則認(rèn)為是噪聲并舍棄;
第九檢測(cè)處理單元,切出來(lái)的第一個(gè)和最后一個(gè)采樣點(diǎn),標(biāo)記為x0和x′0;
第十檢測(cè)處理單元,切出第二個(gè)腳步聲的起點(diǎn)和終點(diǎn),標(biāo)記為x1和x′1;同時(shí)得到前兩個(gè)腳步聲的間隔d1(d1=x1-x'0);
第十一檢測(cè)處理單元,得到i+1個(gè)腳步聲的起點(diǎn)xi、終點(diǎn)x′i及其間隔di+1,其中i≥0。
在所述第四檢測(cè)模塊中,結(jié)合腳步聲間隔di+1,分配權(quán)重來(lái)重新調(diào)整腳步聲的起點(diǎn)為yi(i≥2),其調(diào)整公式如下:
yi=mi-1x′i+ni-1di-1(2)
mi-1=(1/2)^i(3)
mi+ni=1(4)
其中,m和n是權(quán)重,i是步數(shù)為1的遞增函數(shù),每次切斷時(shí)增加1,因?yàn)槿诵凶卟⒉皇墙^對(duì)勻速的,而最新的腳步聲間隔能更好的預(yù)測(cè)下一個(gè)腳步聲的間隔,所以我們選擇ema函數(shù)來(lái)計(jì)算di,如公式(5)所示,同時(shí)因?yàn)樵酵?,速度越是穩(wěn)定可靠,隨著ema的迭代過(guò)程,m的比例按指數(shù)衰減模型快速減少。
在所述第五檢測(cè)模塊中,對(duì)swim模型進(jìn)行實(shí)時(shí)校正,因?yàn)楫?dāng)行人突然大幅度改變行走速度時(shí),比如從走的狀態(tài)變成跑步,分段會(huì)造成偏差,所以當(dāng)人突然大幅度改變行走速度時(shí),我們讓m和n恢復(fù)初始值,并開(kāi)始重新使用指數(shù)增長(zhǎng)模型分配m和n的權(quán)重。
本發(fā)明通過(guò)地震檢波器采集人走路的腳步聲振動(dòng)來(lái)實(shí)現(xiàn)人的定位。腳步聲振動(dòng)沿著地面?zhèn)鞑?,不?huì)像在空氣中傳播時(shí)遇到家具等障礙物而產(chǎn)生多徑反射影響定位效果。為了達(dá)到精準(zhǔn)定位,本發(fā)明設(shè)計(jì)了swim模型來(lái)檢測(cè)腳步聲,并設(shè)計(jì)了pcc算法估計(jì)時(shí)延并定位。
以上內(nèi)容是結(jié)合具體的優(yōu)選實(shí)施方式對(duì)本發(fā)明所作的進(jìn)一步詳細(xì)說(shuō)明,不能認(rèn)定本發(fā)明的具體實(shí)施只局限于這些說(shuō)明。對(duì)于本發(fā)明所屬技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干簡(jiǎn)單推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明的保護(hù)范圍。