本發(fā)明涉及室內(nèi)定位和導(dǎo)航領(lǐng)域,尤其涉及一種高精度室內(nèi)定位系統(tǒng)。
背景技術(shù):
室內(nèi)精確定位在安防、醫(yī)療、商業(yè)推廣等領(lǐng)域有著廣闊的應(yīng)用前景,已成為時下研究的熱點領(lǐng)域。目前用于室內(nèi)定位的技術(shù)有基于rf、光學(xué)、地磁、imu、音頻等,其中基于音頻的室內(nèi)定位技術(shù)因具有硬件成本低、無需高精密時鐘、定位精度較高等優(yōu)點,越來越受人們的關(guān)注。
按基站的類型劃分,基于音頻的高精度室內(nèi)定位方法主要有兩種:(1)智能終端發(fā)射音頻,多個固定節(jié)點接收音頻,該方法通過計算音頻到達(dá)各個固定接收節(jié)點的時間或時間差計算終端位置。(2)多個固定節(jié)點發(fā)射音頻,智能終端接收音頻,該方法通過計算音頻到達(dá)終端的時間或時間差計算終端位置。兩種方法中,方法(2)受終端音頻采樣率、功耗和計算能力等因素的影響,而方法(1)不受這些因素的影響,理論上可以獲得更高的定位精度。方法(1)精確得到終端位置的關(guān)鍵是準(zhǔn)確地獲取時間或時間差信息,這需要固定接收節(jié)點同步采集、處理終端發(fā)射的音頻信息。
目前,方法(1)的時鐘同步方案的主要采用無線的方式,多個音頻接收節(jié)點中有一個作為主節(jié)點提供統(tǒng)一的時間標(biāo)準(zhǔn),其余節(jié)點在檢測到音頻時通過無線的方式向主節(jié)點發(fā)送消息以確定當(dāng)前時刻,主節(jié)點通過各個節(jié)點的音頻到達(dá)時刻點可獲得一個定位周期內(nèi)相應(yīng)兩接收節(jié)點間的時間差信息。上述同步方案的主要缺點是精度較差且代價較高,影響精度的主要因素是無線協(xié)議固有誤差以及不同接收節(jié)點的音頻數(shù)據(jù)處理速度存在差異,且每個接收節(jié)點都需要一個無線模塊導(dǎo)致硬件成本較高。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種高精度室內(nèi)定位系統(tǒng),具有較高的定位精度,且成本較低。
本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的:
一種高精度室內(nèi)定位系統(tǒng),包括:m個固定設(shè)置的麥克風(fēng)模塊、n個音頻處理模塊、無線模塊及服務(wù)器,每一音頻處理模塊均與相鄰的兩個麥克風(fēng)模塊相連;其中:
麥克風(fēng)模塊,用于拾取智能終端app操作揚聲器經(jīng)調(diào)制發(fā)射的音頻信號;
音頻處理模塊,用于同步采集與處理相鄰的兩個麥克風(fēng)模塊采集到的音頻信號,通過音頻到達(dá)時刻點檢測算法來檢測音頻信號到達(dá)時刻點,從而計算到達(dá)時間差信息;
無線模塊,用于匯總一個定位周期內(nèi)各個音頻處理模塊所計算到的達(dá)時間差信息,并傳輸給服務(wù)器;
服務(wù)器,用于根據(jù)接收到的達(dá)時間差信息計算智能終端的位置并反饋至智能終端,由智能終端顯示當(dāng)前位置并描繪運動軌跡。
所述麥克風(fēng)模塊包括:麥克風(fēng)傳感器、模擬濾波放大電路及接口;所述麥克風(fēng)傳感器采集到的音頻信號經(jīng)過模擬濾波放大電路進(jìn)行濾波與放大后,通過接口輸出,且該接口還作為外部電源供電的輸入端。
所述音頻處理模塊包括:
模數(shù)轉(zhuǎn)換器、音頻數(shù)據(jù)處理器、隨機訪問存儲器和通信接口;其中,音頻數(shù)據(jù)處理器負(fù)責(zé)控制模數(shù)轉(zhuǎn)換器、隨機訪問存儲器和通信接口,同時負(fù)責(zé)實現(xiàn)音頻到達(dá)時刻點檢測算法,檢測音頻信號到達(dá)時刻并計算到達(dá)時間差信息;
模數(shù)轉(zhuǎn)換器,負(fù)責(zé)將輸入的兩個通道的音頻信號同步轉(zhuǎn)化為音頻數(shù)字信號;隨機訪問存儲器作為緩存用于臨時存放待音頻數(shù)據(jù)處理器處理的音頻數(shù)據(jù);通信接口負(fù)責(zé)將到達(dá)時間差信息傳輸至無線模塊。
所述音頻到達(dá)時刻點檢測算法的執(zhí)行過程如下:
a1、對輸入的音頻數(shù)字信號進(jìn)行去均值與濾波處理以削弱偏移和背景噪聲的干擾;
a2、計算當(dāng)前數(shù)據(jù)點的tkeo瞬時能量值,并判斷是否大于閾值,若否則計算下一點的tkeo瞬時能量值,若是,則認(rèn)為滿足條件a并進(jìn)入下一步;
a3、計算滿足條件a的數(shù)據(jù)點之后s個數(shù)據(jù)點的能量,統(tǒng)計其中能量大于閾值的數(shù)據(jù)點個數(shù),若個數(shù)小于設(shè)定值則向后移動s個數(shù)據(jù)點并返回至步驟a2,若個數(shù)大于設(shè)定值則認(rèn)為滿足條件b并進(jìn)入下一步;
a4、計算滿足條件b的數(shù)據(jù)點之后一段信號的fft以及這一段信號與參考信號的時域相關(guān)值,若一段信號的fft中指定頻段的成分所占比重大于預(yù)設(shè)值,且這一段信號與參考信號的時域相關(guān)值大于預(yù)定值,則判定相應(yīng)數(shù)據(jù)點為音頻到達(dá)時刻點;否則,以相應(yīng)數(shù)據(jù)點向后移動s個數(shù)據(jù)點并返回至步驟a2。
假設(shè)音頻處理模塊通過音頻到達(dá)時刻點檢測算法,檢測相鄰的兩個麥克風(fēng)模塊采集到音頻信號的到達(dá)時刻點分別為n1與n2,音頻處理模塊中模數(shù)轉(zhuǎn)換器的采樣率為fs,則達(dá)時間差信息tdoa的計算公式如下:
tdoa=(n1-n2)/fs。
無線模塊匯總一個定位周期內(nèi)各個音頻處理模塊所計算到的達(dá)時間差信息,并傳輸給服務(wù)器的過程如下:
b1、無線模塊查詢是否有音頻處理模塊發(fā)出的到達(dá)時間差信息發(fā)送請求,若無請求則無線模塊繼續(xù)查詢,否則進(jìn)入下一步;
b2、無線模塊讀取到達(dá)時間差信息并根據(jù)請求號將其暫存至對應(yīng)的存儲位置,每一音頻處理模塊的到達(dá)時間差信息有其特定的存儲位置;
b3、判斷所有的音頻處理模塊的到達(dá)時間差信息是否已讀完,若是則進(jìn)入步驟b5,若否則進(jìn)入下一步;
b4、判斷是否有到達(dá)時間差信息發(fā)送請求,若是則進(jìn)入步驟b2,若否則判斷請求是否超時,若未超時則繼續(xù)等待請求,若超時則進(jìn)入下一步;
b5、無線模塊把讀到的到達(dá)時間差信息形成數(shù)據(jù)幀向服務(wù)器發(fā)送。
由上述本發(fā)明提供的技術(shù)方案可以看出,基于時鐘同步方案降低了音頻接收節(jié)點間時鐘同步的要求,且tdoa的計算刻度由音頻采樣率決定,從而保證了系統(tǒng)的定位精度。另外,由于多個音頻處理模塊共享同一個無線模塊,進(jìn)一步降低了系統(tǒng)成本。
附圖說明
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他附圖。
圖1為本發(fā)明實施例提供的一種高精度室內(nèi)定位系統(tǒng)的示意圖;
圖2為本發(fā)明實施例提供的一種高精度室內(nèi)定位系統(tǒng)的工作流程圖;
圖3為本發(fā)明實施例提供的麥克風(fēng)模塊構(gòu)成圖;
圖4為本發(fā)明實施例提供的音頻處理模塊構(gòu)成圖;
圖5為本發(fā)明實施例提供的音頻到達(dá)時刻點檢測算法流程圖;
圖6為本發(fā)明實施例提供的adc同步采集的兩通道音頻數(shù)據(jù)示意圖;
圖7為本發(fā)明實施例提供的無線模塊操作流程圖;
具體實施方式
下面結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明的保護范圍。
本發(fā)明實施例提供一種高精度室內(nèi)定位系統(tǒng),其主要包括:m個固定設(shè)置的麥克風(fēng)模塊、n個音頻處理模塊、無線模塊及服務(wù)器,每一音頻處理模塊均與相鄰的兩個麥克風(fēng)模塊相連;其中:
麥克風(fēng)模塊,用于拾取智能終端app操作揚聲器發(fā)射經(jīng)調(diào)制的音頻信號;
音頻處理模塊,用于同步采集與處理相鄰的兩個麥克風(fēng)模塊采集到的音頻信號,通過音頻到達(dá)時刻點檢測算法來檢測音頻信號到達(dá)時刻點,從而計算到達(dá)時間差信息;
無線模塊,用于匯總一個定位周期內(nèi)各個音頻處理模塊所計算到的達(dá)時間差信息,并傳輸給服務(wù)器;
服務(wù)器,用于根據(jù)接收到的達(dá)時間差信息計算智能終端的位置并反饋至智能終端,由智能終端顯示當(dāng)前位置并描繪運動軌跡。
本發(fā)明實施例中,基于時鐘同步方案降低了音頻接收節(jié)點間時鐘同步的要求,且tdoa的計算刻度由音頻采樣率決定,從而保證了系統(tǒng)的定位精度。所述的時鐘同步方案為:一個音頻處理模塊同步采集和處理相鄰的兩個麥克風(fēng)模塊的音頻信號,并根據(jù)音頻處理模塊的采樣率計算tdoa信息。
本發(fā)明實施例中,為了便于附圖的繪制,假設(shè)m=4,n=3,則精度室內(nèi)定位系統(tǒng)的示意圖如圖1所示。其中共有四個麥克風(fēng)模塊(101~104),三個音頻處理模塊(201~203),一個無線模塊(301),一個服務(wù)器(501),還有利用上述系統(tǒng)實現(xiàn)室內(nèi)定位功能的智能終端(401)。上述系統(tǒng)中各個模塊的功能在前文已經(jīng)進(jìn)行了介紹,下面結(jié)合其功能對整個系統(tǒng)的工作過程做進(jìn)一步的說明。
本發(fā)明實施例提供的高精度室內(nèi)定位系統(tǒng)的工作流程圖如圖2所示,另外,各個步驟的標(biāo)號也標(biāo)記在圖1中,以便于理解;各步驟具體如下:
步驟s1、智能終端app操作揚聲器發(fā)射經(jīng)調(diào)制的音頻信號。
示例性的,音頻信號的頻段可以設(shè)置在在人耳不敏感的17khz至20khz之間以降低聽覺不適。
同時,為方便多用戶的區(qū)分,音頻信號經(jīng)調(diào)制后發(fā)射。
步驟s2、每一固定設(shè)置的麥克風(fēng)模塊采集的音頻信號。
本發(fā)明實施例中,所述麥克風(fēng)模塊的結(jié)構(gòu)如圖3所示,主要包括:麥克風(fēng)傳感器、模擬濾波放大電路及接口;所述麥克風(fēng)傳感器采集到的音頻信號經(jīng)過模擬濾波放大電路進(jìn)行濾波與放大后,通過接口輸出,且該接口還作為外部電源供電的輸入端。
示例性的,麥克風(fēng)傳感器可采用具有寬頻響應(yīng)的麥克風(fēng),如mems麥克風(fēng)spu0410lr5h-qb。模擬濾波放大電路的帶寬可設(shè)置為17khz~20khz,增益可設(shè)置為1000左右。
步驟s3、音頻處理模塊同步采集和處理步驟相鄰的兩個麥克風(fēng)模塊輸出的音頻信號,計算到達(dá)時間差信息(tdoa信息)并將其傳輸給無線模塊。
本發(fā)明實施例中,所述音頻處理模塊的結(jié)構(gòu)如圖4所示,主要包括:模數(shù)轉(zhuǎn)換器(adc)、音頻數(shù)據(jù)處理器(dsp)、隨機訪問存儲器(ram)和通信接口;其中,音頻數(shù)據(jù)處理器負(fù)責(zé)控制模數(shù)轉(zhuǎn)換器、隨機訪問存儲器和通信接口,同時負(fù)責(zé)實現(xiàn)音頻到達(dá)時刻點檢測算法,檢測音頻信號到達(dá)時刻并計算到達(dá)時間差信息。
本發(fā)明實施例中,模數(shù)轉(zhuǎn)換器,負(fù)責(zé)將輸入的兩個通道的音頻信號同步轉(zhuǎn)化為音頻數(shù)字信號;隨機訪問存儲器作為緩存用于臨時存放待音頻數(shù)據(jù)處理器處理的音頻數(shù)據(jù);通信接口負(fù)責(zé)將到達(dá)時間差信息傳輸至無線模塊。
本發(fā)明實施例中,所述音頻到達(dá)時刻點檢測算法的執(zhí)行過程如圖5所示,主要包括如下步驟:
a1、對輸入的音頻數(shù)字信號進(jìn)行去均值與濾波處理以削弱偏移和背景噪聲的干擾;
a2、計算當(dāng)前數(shù)據(jù)點的tkeo(teager-kaiserenergyoperator,能量算子)瞬時能量值,并判斷是否大于閾值,若否則計算下一點的tkeo瞬時能量值,若是,則認(rèn)為滿足條件a并進(jìn)入下一步。
本領(lǐng)域技術(shù)人員可以理解,tkeo瞬時能量值可以采用常規(guī)方式計算得到;例如,可采用如下公式計算:e(n)=x[n]*x[n]-x(n-1)*x(n+1)。
a3、計算滿足條件a的數(shù)據(jù)點之后s個數(shù)據(jù)點的能量,統(tǒng)計其中能量大于閾值的數(shù)據(jù)點個數(shù),若個數(shù)小于設(shè)定值則向后移動s個數(shù)據(jù)點并返回至步驟a2,若個數(shù)大于設(shè)定值則認(rèn)為滿足條件b并進(jìn)入下一步;
a4、計算滿足條件b的數(shù)據(jù)點之后一段信號的fft以及這一段信號與參考信號(參考信號為智能終端發(fā)射的特定音頻信號)的時域相關(guān)值,若一段信號的fft中指定頻段(例如,17khz~20khz)的成分所占比重大于預(yù)設(shè)值,且這一段信號與參考信號的時域相關(guān)值大于預(yù)定值,則判定相應(yīng)數(shù)據(jù)點為音頻到達(dá)時刻點;否則,以相應(yīng)數(shù)據(jù)點向后移動s個數(shù)據(jù)點并返回至步驟a2。
總體來說,假設(shè)步驟a2~步驟a4中判定均為“是”,則步驟a2中的“當(dāng)前點”即為步驟a4中的“相應(yīng)數(shù)據(jù)點”,也即音頻到達(dá)時刻點。
本領(lǐng)域技術(shù)人員可以理解,上述步驟所涉及的閾值、s、設(shè)定值、預(yù)設(shè)值、預(yù)定值等都可以根據(jù)實際情況來設(shè)定。例如,可以將閾值設(shè)為25,s設(shè)為50。
如圖6所示,為adc同步采集的兩通道音頻數(shù)據(jù)示意圖,假設(shè)音頻處理模塊通過音頻到達(dá)時刻點檢測算法,檢測相鄰的兩個麥克風(fēng)模塊(即通道1、通道2)采集到音頻信號的到達(dá)時刻點分別為n1與n2,音頻處理模塊中模數(shù)轉(zhuǎn)換器的采樣率為fs,則達(dá)時間差信息的計算公式如下:
tdoa=(n1-n2)/fs。
示例性的,若設(shè)fs為100khz,那么tdoa的計算刻度可精確到10us,保證了定位精度。
步驟s4、無線模塊匯總一個定位周期內(nèi)各個音頻處理模塊所計算到的達(dá)時間差信息,并傳輸給服務(wù)器。
本步驟的具體過程如圖7所示,具體如下:
b1、無線模塊查詢是否有音頻處理模塊發(fā)出的到達(dá)時間差信息發(fā)送請求,若無請求則無線模塊繼續(xù)查詢,否則進(jìn)入下一步;
b2、無線模塊讀取到達(dá)時間差信息并根據(jù)請求號將其暫存至對應(yīng)的存儲位置,每一音頻處理模塊的到達(dá)時間差信息有其特定的存儲位置;
b3、判斷所有的音頻處理模塊的到達(dá)時間差信息是否已讀完,若是則進(jìn)入步驟b5,若否則進(jìn)入下一步;
b4、判斷是否有到達(dá)時間差信息發(fā)送請求,若是則進(jìn)入步驟b2,若否則判斷請求是否超時,若未超時則繼續(xù)等待請求,若超時則進(jìn)入下一步;
b5、無線模塊把讀到的到達(dá)時間差信息形成數(shù)據(jù)幀向服務(wù)器發(fā)送。
步驟s5、服務(wù)器根據(jù)tdoa信息計算智能終端位置并將結(jié)果反饋至終端。
理論上,2個tdoa信息可確定終端的2維坐標(biāo),服務(wù)器會利用已有的tdoa信息計算終端的最優(yōu)估計位置。
步驟s6、智能終端接收服務(wù)器傳輸?shù)奈恢眯畔ⅲ@示當(dāng)前位置并描繪運動軌跡。
本發(fā)明實施例上述方案,基于時鐘同步方案降低了音頻接收節(jié)點間時鐘同步的要求,且tdoa的計算刻度由音頻采樣率決定,從而保證了系統(tǒng)的定位精度。另外,由于多個音頻處理模塊共享同一個無線模塊,進(jìn)一步降低了系統(tǒng)成本。
以上所述,僅為本發(fā)明較佳的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明披露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)該以權(quán)利要求書的保護范圍為準(zhǔn)。