本發(fā)明涉及超聲波定位領域,是一種超聲波室內(nèi)定位系統(tǒng),采用的是基于無線傳感網(wǎng)絡和超聲波的室內(nèi)定位系統(tǒng)及定位方法。
背景技術:
現(xiàn)有基于超聲波室內(nèi)定位系統(tǒng),面臨著定位精度差,測距數(shù)據(jù)不穩(wěn)定,硬件布線成本高,所以目前還沒有成型的商用系統(tǒng)產(chǎn)品出現(xiàn),由于環(huán)境干擾和硬件電路中白噪聲的干擾,經(jīng)常會出現(xiàn)毛刺高電平,這就會造成系統(tǒng)的誤判,從而影響系統(tǒng)檢測的誤差較大。
技術實現(xiàn)要素:
為解決背景技術中存在的問題,本發(fā)明提出了一種拓撲結構簡單、時間精度高、測量誤差小的基于無線傳感網(wǎng)絡和超聲波的室內(nèi)定位系統(tǒng)及定位方法。
本發(fā)明所采用的技術方案是:
一種基于無線傳感網(wǎng)絡和超聲波的室內(nèi)定位系統(tǒng),由無線傳感網(wǎng)絡節(jié)點相互配合構成,無線傳感網(wǎng)絡節(jié)點采用可充電的鋰電池供電,包括微處理器、超聲波接收器、超聲波發(fā)射器、wifi模塊以及rf模塊,所述的微處理器通過spi總線連接控制rf模塊處理時間同步信號,其還通過串口通訊連接有用于傳輸數(shù)據(jù)的wifi模塊,所述的超聲波接收器接收到的信號經(jīng)過濾波放大電路中的二階多反饋帶通濾波器濾出超聲波頻率以外的干擾后,傳輸給微處理器進行adc采樣,所述的微處理器通過dac功能產(chǎn)生正弦信號經(jīng)放大電路傳輸給超聲波發(fā)生器。
進一步的,所述的微處理器頻率為72mhz,硬件上沒有外擴ram,片內(nèi)ram大小為32kb;所述的濾波放大電路中采用fir低通濾波器,帶通邊緣頻率wp取0.0628,阻帶起始頻率ws取0.1571。
進一步的,所述的rf模塊中斷向量優(yōu)先級配置為最高,接收時間同步信號后會馬上傳輸給微處理器一個中斷信號通知微處理器時間同步信號到達,進入中斷服務程序,并立即開啟adc采樣,adc采樣的數(shù)據(jù)通過dma通道傳給內(nèi)存,當dma傳輸完所有的采樣數(shù)據(jù),會產(chǎn)生一個dma中斷信號,在dma中斷服務程序中,完成數(shù)字鎖相放大運算。
一種基于無線傳感網(wǎng)絡和超聲波的室內(nèi)定位方法,
a、首先進行時間同步管理,在固定區(qū)域內(nèi)設置基于rf模塊的時間同步節(jié)點,來管理區(qū)域內(nèi)的由無線傳感網(wǎng)絡節(jié)點構成的錨節(jié)點和目標定位節(jié)點,當定位目標節(jié)點進入該區(qū)域內(nèi),開啟該區(qū)域內(nèi)的時間同步節(jié)點,時間同步節(jié)點也定時向區(qū)域內(nèi)廣播同步信號進行時間同步;
b、時間同步的狀態(tài)下,定位目標節(jié)點開始發(fā)射超聲波信號,區(qū)域內(nèi)的錨節(jié)點同時開始采集超聲波接收傳感器的信號,采用數(shù)字鎖相放大技術利用包絡法檢測超聲波信號,
c、通過包絡法檢測超聲波信號即可測得超聲波的飛行時間ttof由公式10、公式11可求出,式中,nmax是
d、測出超聲波飛行時間以后,即可根據(jù)聲音的傳播速度計算出錨節(jié)點到目標節(jié)點的距離,(xi,yi,zi)是第i個錨節(jié)點的3維坐標,則可以得到如下公式,其中k是錨節(jié)點的個數(shù),(x,y,z)是定位目標的坐標,
公式中從第二個式子開始,左右兩邊分別減去第一個式子的兩邊,并整理為矩陣和向量的表達式如以下方程所示。
其中各個向量、矩陣如下所示:
對于公式12中
進一步的,采用數(shù)字鎖相放大技術利用包絡法檢測超聲波信號,在考慮到白噪聲的影響下,超聲波信號的表達式為如公式3,式中u(t)表示白噪聲;
xs(t)=s(t)+u(t)(3)
對xs(t)進行采樣,得到公式(4)所示離散信號x(n),式中t是采樣周期,它滿足奈奎斯特采樣準則。
rhx(m)定義為h(n)和x(n)的相關函數(shù),如下式所示,式中m表示h(n)序列的總長度,rhs(m)和rhu(m)分別表示h(n)與s(nt)和u(nt)的互相關,s(nt)、u(nt)表示為s(n)、u(n)。
因為u(n)是隨機序列的,h(n)是固定的序列,它們之間無相關性。
數(shù)字鎖相放大首先將輸入信號與一組正交的參考信號相乘,將需要檢測的包絡信號的頻譜搬移到直流附近,如公式(6)和公式(7)所示,其中wc=4πfct。
當xi(n)和xq(n)經(jīng)過數(shù)字低通窄帶濾波器時,濾波器的單位沖擊響應為h(n),則濾波器的輸出
將公式(6)和(7)代入(8)和(9),根據(jù)公式(5),當m大于一定數(shù)的時候,公式(6)和(7)中的第三項將可以忽略,由于h(n)是低通濾波器,第二項也會被濾出,故而得到
本發(fā)明具有如下有益效果:通過采用本發(fā)明的技術方案,在系統(tǒng)拓撲結構上,采用基于無線傳感網(wǎng)絡的布局方式,拓撲結構簡單,不需要走線,大大節(jié)約了布線硬件成本,另外各個無線節(jié)點采用的是低功耗微處理器方案,采用鋰電池供電,可以充電重復使用,節(jié)約了整個系統(tǒng)的工作能耗;通過數(shù)字鎖相方法解決了超聲波定位/測距中噪聲干擾的問題,把無線傳感網(wǎng)絡節(jié)點,應用到室內(nèi)定位系統(tǒng)中,節(jié)約了系統(tǒng)的硬件成本,通過專用的rf管理實現(xiàn)了精確的時間同步,提高了通過超聲波測距/定位的精度,采用三邊測距、最小二乘法完成目標定位。
附圖說明
圖1為定位系統(tǒng)原理圖。
圖2為超聲波到達時間檢測方案波形圖。
圖3為不同信噪比下超聲波包絡信號對比圖。
圖4為本發(fā)明時間同步方法原理圖。
圖5為本發(fā)明拋物線插值法過程示意圖。
圖6為本發(fā)明硬件連接原理框圖。
圖7為本發(fā)明系統(tǒng)工作流程圖。
具體實施方式
下面結合附圖對本發(fā)明做進一步說明。
一種基于無線傳感網(wǎng)絡和超聲波的室內(nèi)定位系統(tǒng),由無線傳感網(wǎng)絡節(jié)點相互配合構成,無線傳感網(wǎng)絡節(jié)點采用可充電的鋰電池供電,包括微處理器、超聲波接收器、超聲波發(fā)射器、wifi模塊以及rf模塊,所述的微處理器通過spi總線連接控制rf模塊處理時間同步信號,其還通過串口通訊連接有用于傳輸數(shù)據(jù)的wifi模塊,所述的超聲波接收器接收到的信號經(jīng)過濾波放大電路中的二階多反饋帶通濾波器濾出超聲波頻率以外的干擾后,傳輸給微處理器進行adc采樣,所述的微處理器通過dac功能產(chǎn)生正弦信號經(jīng)放大電路傳輸給超聲波發(fā)生器。
作為本發(fā)明的一個實施例,數(shù)字鎖相放大需要進行大量的乘法運算,因此對內(nèi)存需求大,時間復雜度大,本文所選用微處理器的工作頻率為72mhz,硬件上沒有外擴ram,片內(nèi)ram只有32kb,因此對軟件算法要求很高,這里充分利用了微處理器豐富的dma和中斷控制器,減少主程序的復雜度。
作為本發(fā)明的一個實施例,所述的rf模塊中斷向量優(yōu)先級配置為最高,接收時間同步信號后會馬上傳輸給微處理器一個中斷信號通知微處理器時間同步信號到達,進入中斷服務程序,并立即開啟adc采樣,adc采樣的數(shù)據(jù)通過dma通道傳給內(nèi)存,不需要占用主程序資源,當dma傳輸完所有的采樣數(shù)據(jù),會產(chǎn)生一個dma中斷信號,在dma中斷服務程序中,完成數(shù)字鎖相放大運算,整個流程如圖7所示,圖中的xi[n]和xq[n]是連續(xù)的數(shù)組,i[n]和q[n]是通過存查表直接獲取獲取的,它存儲在flash中,減少了時間和ram空間復雜度。
由于超聲波的傳播距離有限,故而上文采集的序列也是有限的,進行低通濾波器設計的時候,本文采用了基于漢寧(hanning)窗函數(shù)的fir低通濾波器,截止頻率越小,阻止過渡帶寬越窄,濾波效果越好,但會造成濾波器單位沖擊響應序列過長,加大計算量,增加算法的時間復雜度,同時造成檢測的包絡信號滯后嚴重,這是一對矛盾過程,本文結合工程實際,采用折中的辦法,帶通邊緣頻率wp取0.0628,阻帶起始頻率ws取0.1571。
作為本發(fā)明的一個實施例,如圖1所示,圖中各個錨節(jié)點是預先布置好的,他們的坐標位置是已知的,定位目標發(fā)出超聲波信號,各個錨節(jié)點都能接收該信號,因為各個節(jié)點的時間是同步的,定位目標發(fā)出超聲波信號以后,錨節(jié)點馬上開始計時,到錨節(jié)點接收到超聲波信號,根據(jù)計時器的計時,這時就能得到超聲波在空間飛行的時間,然后利用超聲波在空間傳播的速度,就可以算出此時定位目標到自己的距離,將距離值和自己的信息發(fā)送到服務器,或者定位目標,服務器或目標根據(jù)自己接收的多個距離和錨節(jié)點的坐標信息就可以算出自己的坐標位置,實現(xiàn)定位的目的。
超聲波定位系統(tǒng)最核心的技術是測距,因為它將直接影響定位的精度,定位目標發(fā)出超聲波后,接收端需要檢測出該超聲波信號,因此定位目標發(fā)出什么樣的信號波形也至關重要。常用的方案如圖2所示,接收端設置一個閾值,當超聲波信號到來以后信號幅度值大于閾值時,作為超聲波信號到來的標志,由于噪聲的存在,或者其它環(huán)境的干擾,經(jīng)常會出現(xiàn)毛刺高電平,這就會造成系統(tǒng)的誤判,從而影響系統(tǒng)的誤差,發(fā)明采用超聲波包絡信號的頂點值來判斷超聲波信號的到達,圖2中a點,這樣就利用了更多的信號采集值。
超聲波是一種機械波,通過傳感器產(chǎn)生超聲波,有一個起振的過程,當驅動信號消失以后,有一個消振的過程,當超聲波信號的幅度值達到最大值時,立即斷開驅動信號,這樣形成的超聲波信號,具有唯一波峰值,這一過程產(chǎn)生的超聲波信號可以用公式(1)
s(t)=a(t)·cos(2πfct+θ1)(1)
式中fc是超聲波的頻率,本文使用的頻率是40khz,a(t)表示包絡信號,它的表達式如公式(2)所示。
公式(2)中的α是信號的帶寬因子,β是幅度參數(shù),在包絡檢測法中,這兩個參數(shù)可以不做處理,τ是包絡到達波峰的時刻,包絡檢測法在超聲波信號的接收端提取出包絡信號,然后求出τ的過程。
通過包絡法檢測超聲波信號的到達時刻,最主要是檢測包絡信號的波峰,這個最大值是唯一的,它容易受到干擾,特別是白噪聲,它是任何硬件濾波都無法去掉的,考慮白噪聲的影響,超聲波信號的表達式變?yōu)楣?3),式中u(t)表示白噪聲,由于它的存在,檢測波峰值就容易誤判,當定位目標節(jié)點距離錨節(jié)點的距離變化時,接收端的信噪比就會變化,圖3顯示了不同信噪比下的包絡信號,從圖中可以看出,超聲波信號越弱,檢測包絡波峰值越容易出錯,而現(xiàn)有的技術方案,沒有考慮到這些干擾,從而造成了測量誤差和數(shù)據(jù)穩(wěn)定差,本系統(tǒng)采用數(shù)字鎖相放大技術,成功解決了白噪聲引起的干擾問題,提高了測量的精度和數(shù)據(jù)穩(wěn)定性。
作為本發(fā)明的一個實施例,采用數(shù)字鎖相放大技術利用包絡法檢測超聲波信號,在考慮到白噪聲的影響下,超聲波信號的表達式為如公式3,式中u(t)表示白噪聲;
xs(t)=s(t)+u(t)(3)
對xs(t)進行采樣,得到公式(4)所示離散信號x(n),式中t是采樣周期,它滿足奈奎斯特采樣準則。
rhx(m)定義為h(n)和x(n)的相關函數(shù),如下式所示,式中m表示h(n)序列的總長度,rhs(m)和rhu(m)分別表示h(n)與s(nt)和u(nt)的互相關,s(nt)、u(nt)表示為s(n)、u(n)。
因為u(n)是隨機序列的,h(n)是固定的序列,它們之間無相關性。
數(shù)字鎖相放大首先將輸入信號與一組正交的參考信號相乘,將需要檢測的包絡信號的頻譜搬移到直流附近,如公式(6)和公式(7)所示,其中wc=4πfct。
當xi(n)和xq(n)經(jīng)過數(shù)字低通窄帶濾波器時,濾波器的單位沖擊響應為h(n),則濾波器的輸出
將公式(6)和(7)代入(8)和(9),根據(jù)公式(5),當m大于一定數(shù)的時候,公式(6)和(7)中的第三項將可以忽略,由于h(n)是低通濾波器,第二項也會被濾出,故而得到
具體的,一種基于無線傳感網(wǎng)絡和超聲波的室內(nèi)定位方法,首先進行時間同步管理,要測量超聲波的飛行時間,接收端就必須知道發(fā)射端發(fā)射超聲波的時間,就需要發(fā)送端和接收端時間同步,也就是無線傳感網(wǎng)絡節(jié)點之間的時間同步,由于各個節(jié)點的晶振之間存在差異以及漂移,要做到做到各個節(jié)點高精度時間同步,補償算法十分復雜,在固定區(qū)域內(nèi)設置基于rf模塊的時間同步節(jié)點,來管理區(qū)域內(nèi)的由無線傳感網(wǎng)絡節(jié)點構成的錨節(jié)點和目標定位節(jié)點,如圖4所示,每一個時間同步節(jié)點管理一部分錨節(jié)點,如圖中虛線三角形內(nèi),當定位目標節(jié)點進入該區(qū)域內(nèi),開啟該區(qū)域內(nèi)的時間同步節(jié)點,時間同步節(jié)點也定時向區(qū)域內(nèi)廣播同步信號進行時間同步;由于各個節(jié)點處理時間同步信號的優(yōu)先級都是最高,這里假設各個節(jié)點接收同步信號的過程所用的時間是一樣的,同時由于電磁波信號在空氣中的傳播速度近似于光速,這里忽略同步節(jié)點到各個錨節(jié)點和定位節(jié)點的距離差,定位節(jié)點開始發(fā)射超聲波信號,區(qū)域內(nèi)的錨節(jié)點同時開始采集超聲波接收傳感器的信號。
時間同步的狀態(tài)下,定位目標節(jié)點開始發(fā)射超聲波信號,區(qū)域內(nèi)的錨節(jié)點同時開始采集超聲波接收傳感器的信號,采用數(shù)字鎖相放大技術利用包絡法檢測超聲波信號,由于超聲波的有效傳播距離是有限的,本發(fā)明限制為10米,所需要的時間不到30毫秒,所以這里忽略各個錨節(jié)點和定位節(jié)點在這個時間段內(nèi),各自計時晶振的漂移,通過包絡法檢測超聲波信號即可測得超聲波的飛行時間ttof由公式10、公式11可求出,式中,nmax是
測出超聲波飛行時間以后,即可根據(jù)聲音的傳播速度計算出錨節(jié)點到目標節(jié)點的距離,如下公式所示。
d=v·ttof
超聲波在空氣中的傳播速度受多種因素的影響,考慮室內(nèi)的特殊環(huán)境,對它影響最大是室內(nèi)的溫度,其計算如下式所示,式中φ表示室內(nèi)的環(huán)境溫度,單位是℃。
v=(331.3+0.6φ)m/s
假設(xi,yi,zi)是第i個錨節(jié)點的3維坐標,則可以得到如下公式,其中k是錨節(jié)點的個數(shù),(x,y,z)是定位目標的坐標,
公式中從第二個式子開始,左右兩邊分別減去第一個式子的兩邊,并整理為矩陣和向量的表達式如以下方程所示。
其中各個向量、矩陣如下所示:
對于公式12中
從而可得錨節(jié)點位置坐標以及距離。
以上所述實施例僅為表達本發(fā)明的實施方式,其描述較為具體和詳細,但并不能因此而理解為對本發(fā)明專利范圍的限制。應當指出的是,對本領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,還可以做出若干變形、同等替換、改進等,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應以所附權利要求為準。