本發明涉及一種基于高精度gps的聲源定位方法及其實現系統,屬于聲源定位技術領域。
背景技術:
聲音是信息的載體。一方面,聲音中包含具有實際內容的語音信息,另一方面,由于聲波的傳播特性,聲音中也間接包含了聲源和傳播環境的相關信息。基于上述的兩種特性,聲音信息的獲取在安全監控、區域探測、定位搜尋等領域具有不可替代的作用。
早先對于未知目標的探測定位多是通過無線電、超聲、激光等主動式方式進行,具有高精度抗干擾的優點。但主動方式由于需要發射信號,也有功耗高、暴露自身位置等使用限制。而聲源定位采用被動式原理,隱蔽性較強,且不受能見度的影響,白天晚上都可以進行工作。聲源定位在近場探測應用中有較高的精度,既可以單獨構成系統使用,也可以為其它監控定位系統提供輔助信息,因而得到了廣泛的關注和應用。
現階段聲源定位的算法主要有信號到達角度測量算法(angleofarrival,aoa)、信號到達時間測量算法(timeofarrival,toa)、信號到達時間差測量算法(timedifferenceofarrival,tdoa)、接收信號強度指示算法(receivedsignalstrengthindication,rssi)。現階段的算法對麥克風陣列位置的放置均有所要求,并且只能求解出聲源和麥克風陣列的相對位置,給實際應用過程帶來了諸多的不便。
衛星定位技術自1958年美國建立子午衛星系統以來,60年間獲得了蓬勃的發展。gps、glonass、galileo及中國北斗的建立,使得衛星定位在現代社會中發揮著越來越大的作用。隨著技術的不斷革新,定位系統的精度也逐步提高,采用載波相位差分技術(carrierphasemeasurement,又稱realtimekinematic,rtk)的定位系統可以達到毫米級的定位精度。
中國專利文獻cn106019232a公開了一種聲源定位系統和方法,所述系統包括全向麥克風、指向麥克風和定位單元。全向麥克風用于采集第一聲音信息。指向麥克風用于采集第二聲音信息。定位單元用于根據第一聲音信息和第二聲音信息定位聲源在預定的第一平面中的兩處疑似位置,并根據第二聲音信息的幅度信息在兩處疑似位置中確定聲源的位置。其中,全向麥克風和指向麥克風位于第一直線上,指向麥克風不指向第一直線所在的、垂直于第一平面的第二平面。該專利存在以下缺陷:1.采用兩種不同類型的麥克風,采集聲音信號的差異容易引入較大的誤差;2.需要通過聲音信號的幅度來進行聲源位置預估和篩選,對采集聲音的環境要求和放大器的精度要求較高。
中國專利文獻cn104181506a公開了一種基于改進phat加權時延估計的聲源定位方法,由麥克風陣列采集4路聲音信號,通過a/d采樣電路轉化為數字信號,并通過改進的phat加權廣義互相關函數法進行時延估計算法處理,獲得時延估計值,再結合放置的麥克風陣列空間位置,利用迭代法解非線性方程組,從而得到聲源的相對位置。該專利存在以下缺陷:1.聲源定位要基于固定的麥克風陣列,需提前預知麥克風所在坐標位置;2.計算出的位置坐標為基于麥克風陣列建立坐標系下的坐標值,在某些需要地圖顯示的應用場景中十分不便。
技術實現要素:
為了克服現有聲源定位方案中麥克風陣列相對固定,只能計算聲源基于自建坐標系下相對位置的不足,本發明提出了一種基于高精度gps的聲源定位方法;
本發明還提供了上述聲源定位方法的實現系統。
發明概述
本發明借助于高精度gps系統得到麥克風的位置坐標,通過tdoa聲源定位算法,求解出聲源的經緯度與高度。由于得出的是通用的經緯度坐標,可以直接用于地圖顯示,或與其他系統銜接。
本發明在采集聲音信號的麥克風上配置了gps,可以實時解算麥克風的位置坐標,麥克風陣列可以不再局限于靜態位置,彼此之間也不需要有固定的相對位置。在聲波傳播的范圍內,只要有任意四路聲音信號被采集到即可計算出聲源的三維位置坐標信息。
術語解釋:
1、rtk(real-timekinematic)載波相位差分技術,是實時處理兩個測量站載波相位觀測量的差分方法,將基準站采集的載波相位發給用戶接收機,進行求差解算坐標。
2、大地坐標系,是大地測量中以參考橢球面為基準面的坐標系。地面點p的位置用大地經度l、大地緯度b和大地高度h表示。
3、ecef坐標系,ecef(earth-centered,earth-fixed)地球為中心,是一個笛卡爾坐標系,也稱為“普通地表”系統,(0,0,0)點表示地球質心。
本發明的技術方案為:
一種基于高精度gps的聲源定位方法,包括步驟如下:
(1)在聲源定位的監控區域隨意放置麥克風組成麥克風陣列,麥克風陣列中的每個麥克風上安裝有gps定位模塊,麥克風陣列中至少4個麥克風處于同時工作狀態且采集到有效的聲音信號;
(2)麥克風陣列中處于工作狀態的麥克風實時獲取聲音信號,麥克風陣列中處于工作狀態的麥克風上安裝的gps定位模塊實時獲取位置信號,捕獲的位置信號為nmea-0183格式,從位置信號中提取出時間信號與定位信號即可計算各個麥克風采集聲音信號的時間和地點,將獲取的聲音信號、時間信號和定位信號轉換為統一格式的數字信號;
(3)將步驟(2)獲取的聲音信號、時間信號和定位信號進行存儲;
(4)根據指令獲取步驟(3)中存儲的對應的數據,通過tdoa聲音定位算法計算時延,列出方程組求解聲源位置,包括聲源的經度、緯度和高度;
(5)將步驟(4)中計算的聲源位置進行顯示。
根據本發明所優選的,所述步驟(4)中,通過tdoa聲音定位算法計算時延,即采用tdoa聲音定位算法中的廣義自相關函數法進行時延計算,包括步驟如下:
a、分別取出同一時間段內的4路聲音信號,即:x1(n)、x2(n)、x3(n)、x4(n),n為數字信號中采樣點的序號,將4路聲音信號進行加窗預濾波處理,消除噪聲,經傅立葉變換到頻域,即:x1(k),x2(k),x3(k),x4(k),k為與n對應的數字信號中采樣點的序號,n與k皆為整數;
b、第一路聲音信號x1(n)作為基準信號,分別計算x1(k)與x2(k)、x1(k)與x3(k)、x1(k)與x4(k)的互功率譜,即g12(k)、g13(k)、g14(k),對互功率譜g12(k)、g13(k)、g14(k)進行phat加權操作,如式(ⅰ)、(ⅱ)、(ⅲ)所示:
式(ⅰ)、(ⅱ)、(ⅲ)中,
c、將互功率譜g12(k)、g13(k)、g14(k)逆變換到頻域,得到對應的廣義互相關函數r12(n),r13(n),r14(n);
d、r12(n),r13(n),r14(n)分別取最大值時n所對應的時延即為3路聲音信號x2(n)、x3(n)、x4(n)與基準信號x1(n)的時延估計t12、t13、t14;設r12(n)取最大值時的n值為n12,所取聲音信號的點數為n,采樣頻率為fs,若n12>n/2,則
根據本發明所優選的,所述步驟(4)中,求解聲源位置,包括步驟如下:
a、將gps定位模塊計算的對應的四個麥克風的定位信號,包括經度、緯度、高度,從大地坐標系坐標轉換到ecef直角坐標系下坐標中的笛卡爾坐標,轉換公式如式(ⅳ)所示:
式(ⅳ)中,
根據式(ⅳ)獲取對應的四個麥克風的轉換后的ecef坐標系中的笛卡爾坐標,即(x1,y1,=1)(x2,y2,=2)(x3,y3,=3)(x4,y4,=4);
b、根據廣義自相關函數法計算出的時延t12、t13、t14與步驟a獲取的四個麥克風的坐標(x1,y1,=1)(x2,y2,=2)(x3,y3,=3)(x4,y4,=4),列出非線性方程組,如式(ⅴ)所示:
式(ⅴ)中,(x,y,z)為聲源坐標;v為聲音在空氣中傳播的速度;
用牛頓迭代法求解聲源坐標(x,y,z);
c、采用ecef直角坐標系參數來計算聲源的大地高度、大地緯度和大地經度,ecef直角坐標系下根據在xy平面中測量的聲源坐標與x軸之間的角度計算出聲源的大地經度λ:當x≥0時,
采用由bowring提出的一種流行且高度收斂的迭代方法bowring演算法,求取聲源的大地緯度,
式(ⅵ)中,p、u均為迭代算法中所需變量,a為橢球長半徑,b為橢球短半徑;
迭代循環:
直到tanu收斂,求得大地緯度
求取大地高度h:當
通過以上計算則可得出聲源的在大地坐標系下的經緯度坐標
根據本發明優選的,所述gps定位模塊通過rtk技術實時獲取時間信號和定位信號。
gps定位模塊采用rtk技術,定位的精度可以達到毫米級。gps定位模塊得到的時間和位置信息為數字信號,通過串口傳輸。gps定位位置坐標作為計算聲源的參考坐標,gps定位模塊的定位精度將直接影響聲源位置的精度。根據計算,gps定位模塊厘米級的定位誤差在200米的定位范圍只會導致米級的聲源定位偏移。此外,麥克風處于動態運動過程中時,gps定位模塊的定位精度和數據更新速度會影響聲源定位的精度,所以本系統需采用經rtk技術的衛星定位系統,以得到更好的定位精度。
上述聲源定位方法的實現系統,包括至少4個mic與gps定位模塊、存儲模塊、算法計算和系統控制模塊、顯示模塊,至少4個所述mic與gps定位模塊分別連接所述存儲模塊,所述存儲模塊、所述算法計算和系統控制模塊、所述顯示模塊依次連接。
根據本發明優選的,所述mic與gps定位模塊包括麥克風及用于定位的gps定位模塊,麥克風實時獲取聲音信號,gps定位模塊實時獲取時間信號和位置信號;所述存儲模塊用于存儲獲取的聲音信號、時間信號和定位信號;所述算法計算和系統控制模塊通過tdoa聲音定位算法計算時延,列出方程組求解聲源位置,包括聲源的大地經度、大地緯度和大地高度;所述顯示模塊用于顯示聲源位置。
根據本發明優選的,所述算法處理和系統控制模塊為stm32開發平臺,所述顯示模塊為液晶顯示屏,所述gps定位模塊為北斗星通um332。
本發明的有益效果為:
1、本發明將高精度gps定位模塊與無源的聲源定位方法結合起來,gps定位模塊來測得采集聲音信號的麥克風的位置信息,使用于采集聲音信號的麥克風陣列不再受限于固定的相對位置。
2、本發明將gps定位模塊獲取的定位坐標作為聲源定位的參考坐標,可以直接求得聲源的經緯度坐標和高度。
3、本發明可以直接與其它需要定位數據的系統銜接。
4、本發明采用相同的麥克風器件采集聲音,極大減少聲音采集器帶來的誤差,并且采用運算量較小的tdoa算法計算時延得到聲源位置,對聲音信號的幅度大小不作要求。
5、本發明采用高精度衛星定位芯片對麥克風進行定位,得到麥克風采集聲音時的高精度經緯度坐標,進而可以求得聲源的經緯度坐標,可以直接用于地圖顯示。另外此方案中,麥克風位置不需要固定,因而可以應用于移動探測場景。
附圖說明
圖1為本發明基于高精度gps的聲源定位方法的實現系統的結構框圖;
具體實施方式
下面結合說明書附圖和實施例對本發明作進一步限定,但不限于此。
實施例1
一種基于高精度gps的聲源定位方法,包括步驟如下:
(1)在聲源定位的監控區域隨意放置麥克風組成麥克風陣列,麥克風陣列中的每個麥克風上安裝有gps定位模塊,麥克風陣列中4個麥克風處于同時工作狀態且采集到有效的聲音信號;
(2)麥克風陣列中處于工作狀態的麥克風實時獲取聲音信號,麥克風陣列中處于工作狀態的麥克風上安裝的gps定位模塊實時獲取位置信號,捕獲的位置信號為nmea-0183格式,從位置信號中提取出時間信號與定位信號即可計算各個麥克風采集聲音信號的時間和地點,將獲取的聲音信號、時間信號和定位信號轉換為統一格式的數字信號;
(3)將步驟(2)獲取的聲音信號、時間信號和定位信號進行存儲;
(4)根據指令獲取步驟(3)中存儲的對應的數據,通過tdoa聲音定位算法計算時延,列出方程組求解聲源位置,包括聲源的經度、緯度和高度;
通過tdoa聲音定位算法計算時延,包括步驟如下:
a、分別取出同一時間段內的4路聲音信號,即:x1(n)、x2(n)、x3(n)、x4(n),n為數字信號中采樣點的序號,將4路聲音信號進行加窗預濾波處理,消除噪聲,經傅立葉變換到頻域,即:x1(k),x2(k),x3(k),x4(k),k為與n對應的數字信號中采樣點的序號,n與k皆為整數;
b、第一路聲音信號x1(n)作為基準信號,分別計算x1(k)與x2(k)、x1(k)與x3(k)、x1(k)與x4(k)的互功率譜,即g12(k)、g13(k)、g14(k),對互功率譜g12(k)、g13(k)、g14(k)進行phat加權操作,如式(ⅰ)、(ⅱ)、(ⅲ)所示:
式(ⅰ)、(ⅱ)、(ⅲ)中,
c、將互功率譜g12(k)、g13(k)、g14(k)逆變換到頻域,得到對應的廣義互相關函數r12(n),r13(n),r14(n);
d、r12(n),r13(n),r14(n)分別取最大值時n所對應的時延即為3路聲音信號x2(n)、x3(n)、x4(n)與基準信號x1(n)的時延估計t12、t13、t14;設r12(n)取最大值時的n值為n12,所取聲音信號的點數為n,采樣頻率為fs,若n12>n/2,則
求解聲源位置,包括步驟如下:
a、將gps定位模塊計算的對應的四個麥克風的定位信號,包括經度、緯度、高度,從大地坐標系坐標轉換到ecef直角坐標系下坐標中的笛卡爾坐標,轉換公式如式(ⅳ)所示:
式(ⅳ)中,
根據式(ⅳ)獲取對應的四個麥克風的轉換后的ecef坐標系中的笛卡爾坐標,即(x1,y1,=1)(x2,y2,=2)(x3,y3,=3)(x4,y4,=4);
b、根據廣義自相關函數法計算出的時延t12、t13、t14與步驟a獲取的四個麥克風的坐標(x1,y1,=1)(x2,y2,=2)(x3,y3,=3)(x4,y4,=4),列出非線性方程組,如式(ⅴ)所示:
式(ⅴ)中,(x,y,z)為聲源坐標;v為聲音在空氣中傳播的速度;
用牛頓迭代法求解聲源坐標(x,y,z);
c、采用ecef直角坐標系參數來計算聲源的大地高度、大地緯度和大地經度,ecef直角坐標系下根據在xy平面中測量的聲源坐標與x軸之間的角度計算出聲源的大地經度λ:當x≥0時,
采用由bowring提出的一種流行且高度收斂的迭代方法bowring演算法,求取聲源的大地緯度,
式(ⅵ)中,p、u均為迭代算法中所需變量,a為橢球長半徑,b為橢球短半徑;
迭代循環:
直到tanu收斂,求得大地緯度
求取大地高度h:當
通過以上計算則可得出聲源的在大地坐標系下的經緯度坐標
(5)將步驟(4)中計算的聲源位置進行顯示。
gps定位模塊通過rtk技術實時獲取時間信號和定位信號。
gps定位模塊采用rtk技術,定位的精度可以達到毫米級。gps定位模塊得到的時間和位置信息為數字信號,通過串口傳輸。gps定位位置坐標作為計算聲源的參考坐標,gps定位模塊的定位精度將直接影響聲源位置的精度。根據計算,gps定位模塊厘米級的定位誤差在200米的定位范圍只會導致米級的聲源定位偏移。此外,麥克風處于動態運動過程中時,gps定位模塊的定位精度和數據更新速度會影響聲源定位的精度,所以本系統需采用經rtk技術的衛星定位系統,以得到更好的定位精度。
實施例2
實施例1所述的聲源定位方法的實現系統,如圖1所示,包括4個mic與gps定位模塊、存儲模塊、算法計算和系統控制模塊、顯示模塊,4個mic與gps定位模塊分別連接存儲模塊,所述存儲模塊、算法計算和系統控制模塊、顯示模塊依次連接。
mic與gps定位模塊包括麥克風及用于定位的gps定位模塊,麥克風實時獲取聲音信號,gps定位模塊實時獲取時間信號和位置信號;存儲模塊用于存儲獲取的聲音信號、時間信號和定位信號;算法計算和系統控制模塊通過tdoa聲音定位算法計算時延,列出方程組求解聲源位置,包括聲源的大地經度、大地緯度和大地高度;顯示模塊用于顯示聲源位置。
算法處理和系統控制模塊為stm32開發平臺,所述顯示模塊為液晶顯示屏,所述gps定位模塊為北斗星通um332。
對比例1
根據實施例1所述的一種基于高精度gps的聲源定位方法,其區別在于,在聲源定位的監控區域構成相對固定的麥克風陣列,對單一聲源進行定位,麥克風陣列包括四路mic,采集聲音的麥克風為模擬memsmic,具體包括以下步驟:
(1)四路mic采集四路聲音信號,采用兩級放大電路對模擬信號進行50倍放大,并直流墊高至1.28v,adc進行40khz頻率的ad采樣。衛星定位系統進行定位,通過串口將位置信息導出。
(2)將聲音信號、位置信號和時間信號傳輸至存儲模塊。為了便于對聲音信號的存儲,每4mb為一個存儲文件。
(3)采用stm32作為計算控制模塊,將四路所需的聲音信號片段取出,通過廣義自相關函數法進行時延計算得出t12,t13,t14三個時延估計。
(4)將mic的定位坐標信息取出,此時坐標為wgs-84大地坐標系下坐標,將此坐標系下的距離轉換為ecef地心坐標系下坐標。結合4個mic坐標和三個時延估計,列出線性方程組。
(5)然后采用牛頓迭代法求解三元非線性方程組坐標。
(6)再將此坐標轉回wgs-84坐標,在液晶顯示屏下顯示。
對比例2
根據實施例1所述的一種基于高精度gps的聲源定位方法,其區別在于,在聲源定位的監控區域構成相對固定的麥克風陣列,對單一聲源進行定位,麥克風陣列包括四路mic,采集聲音的麥克風為模擬memsmic,具體包括以下步驟:
(1)四路mic采集四路聲音信號,數字mic時鐘設為1.024mhz,輸出為pdm信號,經語音處理芯片fm34-395經采樣裝換成16位的pcm信號。衛星定位系統進行定位,通過串口將位置信息導出。
(2)將聲音信號、位置信號和時間信號傳輸至存儲模塊。為了便于對聲音信號的存儲,每4mb為一個存儲文件。
(3)采用stm32作為計算控制模塊,將四路所需的聲音信號片段取出,通過廣義自相關函數法進行時延估計計算得出t12,t13,t14三個時延估計;
(4)將mic的定位坐標信息取出,此時坐標為wgs-84將此坐標系下的距離轉換為ecef地心坐標系下坐標。結合4個mic坐標和三個時延估計,列出線性方程組。
(5)然后采用牛頓迭代法求解三元非線性方程組坐標。
(6)再將此坐標轉回大地坐標,在液晶顯示屏下顯示。
對比例3
根據對比例2所述的一種基于高精度gps的聲源定位方法,其區別在于,四路mic的數字mic時鐘設為2.475mhz,并對目標聲源進行定位。
對比例4:
根據對比例2所述的一種基于高精度gps的聲源定位系統,其區別在于,設定六路聲音采集模塊,任意四路進行組網,對目標聲源的定位估計求取平均值。
根據實施例1、對比例1-4驗證,聲音采集模塊采集聲音時基于固定麥克風陣列還是隨意放置聲源定位的精度影響不大,極大保證了聲源定位系統的靈活性。采用模擬mic采集聲音時,放大器、adc引入的噪聲偏大,定位精度不如采用數字mic的聲源定位系統。提高聲音的采樣頻率,確實能在一定程度上提高聲源定位的精度,但也相應增加了數據的存儲量和運算量。