專利名稱:一種利用插值濾波器進行聲納基陣信號仿真的方法
技術(shù)領域:
本發(fā)明涉及一種信號仿真技術(shù),更具體的說,本發(fā)明涉及一種利用插值濾波器進行聲納基陣信號仿真的方法。
背景技術(shù):
在水聲信號處理領域中,聲納基陣信號的仿真又稱為反波束形成,它是通過在預定方向上的指向性,來生成每個基元接收或發(fā)射的信號。其一般的方法都是通過計算各基元的延時,來獲得與一定的延時對應的基元仿真信號。
在聲學學報1990年1月第15卷第1期的文章“數(shù)字式聲納中的升采樣率處理”中,提出了將低采樣率信號補零后和窗函數(shù)卷積的辦法得到新的具有高采樣率信號的方法,即對低采樣率信號序列的采樣點之間插入零值,然后用適當?shù)牡屯V波器對插了零值的信號序列進行濾波就可以得到所需的信號,并通過模擬試驗證明了該方法的有效性。
在聲學學報1991年7月第16卷第4期的文章“簡捷內(nèi)插方法實現(xiàn)實時處理”中,提出了用一種簡捷的頻域補零的內(nèi)插方法來實現(xiàn)實時處理。該方法是在計算兩路信號的互相關(guān)函數(shù)時,不是立即由互譜函數(shù)作逆FFT,而是先在頻域補零。由于N點實信號的互譜在N/2處左右對稱,采用合適的實數(shù)FFT算法,在補零過程中無需移動數(shù)據(jù),因而頻域補零實際不需要增加運算時間,然后對補零后的互譜結(jié)果進行逆FFT變換,即獲得插值后的互相關(guān)函數(shù)。
在聲納基陣信號仿真技術(shù)中,精度和運算量的要求都占有重要的位置。而在實時仿真基陣信號的時延計算中,提高信號的采樣頻率是決定整個系統(tǒng)實時性和時延精度的一個非常重要的環(huán)節(jié)。在上述文章和許多公開發(fā)表的技術(shù)文獻中,都涉及到了利用內(nèi)插來提高采樣率的方法,但是多數(shù)方法所需時間長而無法進行實時運算,或是在實時實現(xiàn)過程中仍然存在著插入大量零值的運算,這些都影響了系統(tǒng)的速度和實時性。
考慮到上面的矛盾,一般尋找合適的內(nèi)插方法來實時完成聲納基陣信號的時延計算。然而,大部分的內(nèi)插方法都存在著占用較大硬件資源,實時性較難達到的問題。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有的聲納基陣信號仿真技術(shù)中精度差或因運算量大而導致無法實時實現(xiàn)的不足,提供一種利用插值濾波器進行聲納基陣信號仿真的方法。
為了實現(xiàn)上述發(fā)明目的,本發(fā)明的技術(shù)方案為一種利用插值濾波器進行聲納基陣信號仿真的方法,包括如下步驟(1)利用濾波器設計工具生成內(nèi)插FIR濾波器系數(shù)文件Num,對濾波器系數(shù)文件Num進行重新排序,得到重新排序后的濾波器系數(shù)文件Num1;(2)計算基陣中各基元的時延τi(θ),其中0≤i≤N,N為基陣中的基元個數(shù),θ為信號的入射方向;(3)將基陣中各基元的時延τi(θ)分為粗延控制量Cuyani和細延控制量Xiyani,其中粗延控制量Cuyani對應于時延τi(θ)中所包含的整數(shù)個系統(tǒng)采樣周期的部分,細延控制量對應于時延τi(θ)中不足一個采樣周期的部分;(4)將入射信號按時間序列存儲在數(shù)據(jù)存儲器中;(5)根據(jù)粗延控制量Cuyani對數(shù)據(jù)存儲器中的入射信號進行粗延處理,得到粗延處理后數(shù)據(jù)Tempi;(6)根據(jù)細延控制量Xiyani,使用內(nèi)插FIR濾波器系數(shù)文件Num1對粗延處理后數(shù)據(jù)Tempi進行濾波處理,得到濾波處理結(jié)果也就是仿真信號FirOuti。
在步驟(1)中對濾波器系數(shù)文件Num的排序操作為將Num中的數(shù)據(jù)從第一個數(shù)據(jù)點開始每隔(L-1)點挑出1點,共P點順次放入Num1中,然后再從第二個數(shù)據(jù)點開始每隔(L-1)點挑出1點,共P點順次放入Num1中;循環(huán)此操作,直至Num中的第L個數(shù)據(jù)點開始完成挑選,把最后P點順次放入Num1最后位置;將Num1代替Num作為濾波器系數(shù)文件;其中L為濾波器的內(nèi)插比。
在步驟(3)中,所述粗延控制量Cuyani=K-求整[τi(θ)*Fs],所述細延控制量Xiyani=P*求整[abs((τi(θ)-Cuyani*Ts)/μ)],其中Fs為系統(tǒng)采樣頻率,K為系統(tǒng)所能處理的最大時延量,P為濾波器的插值點數(shù),Ts為系統(tǒng)采樣周期,μ為系統(tǒng)的時延精度,abs是求絕對值運算。
在步驟(5)中,將數(shù)據(jù)存儲器中從Cuyani開始的數(shù)據(jù)段作為第i個基元的粗延處理數(shù)據(jù)Tempi。
步驟(6)中的濾波處理過程為由Xiyani作為起始地址,在Num1中找出順序的P個數(shù)據(jù)點,作為第i個基元對應的內(nèi)插濾波器系數(shù);從粗延處理后數(shù)據(jù)Tempi的第一個數(shù)據(jù)點開始順序取出P個數(shù)據(jù)點與第i個基元對應的內(nèi)插濾波器系數(shù)的P個數(shù)據(jù)點分別做向量內(nèi)積計算,將結(jié)果作為向量FirOuti的第一個元素;循環(huán)此操作,直至從Tempi的第Len個數(shù)據(jù)點取出P個數(shù)據(jù)點與第i個基元對應的內(nèi)插濾波器系數(shù)完成內(nèi)積計算,將結(jié)果作為向量FirOuti的第Len個元素;即得到第i個基元的濾波處理結(jié)果FirOuti,其長度為Len。(Len+P)≤(Length-K),其中,Length為入射信號的長度,即入射信號在數(shù)據(jù)存儲器中的數(shù)據(jù)點數(shù)。
本發(fā)明相比現(xiàn)有技術(shù)具有如下優(yōu)點1)本發(fā)明將粗、細延兩步時延相結(jié)合,既可保證足夠高的時延精度,又可達到足夠大的時延范圍。
2)本發(fā)明采用濾波器設計工具的窗函數(shù)設計內(nèi)插FIR濾波器,通過選擇參數(shù)控制誤差,可以實現(xiàn)高精度的寬帶時延。
3)本發(fā)明利用內(nèi)插濾波器進行細延處理時,采用了重新排列順序的濾波器系數(shù),從而避免了對要進行內(nèi)插濾波的數(shù)據(jù)插入大量零值的運算,也避免了零值與濾波器系數(shù)相乘的計算,使得在計算每個輸出抽樣時僅僅做P(插值點數(shù))個數(shù)值的乘法和加法,這樣不僅提高了系統(tǒng)的運算速度,而且也節(jié)省了硬件存儲空間。
4)本發(fā)明提高了基陣時延算法的計算速度,滿足實時性的要求,易于在DSP平臺上實時實現(xiàn)。
圖1是實施例中的基元等間隔排列的線陣示意圖;圖2是內(nèi)插濾波器的幅頻響應;圖3是本發(fā)明的時延量的分配示意圖;具體實施方式
下面結(jié)合附圖和具體實施方式
對本發(fā)明作進一步詳細描述。
在DSP(ADSP 21060)平臺上實時實現(xiàn)一線陣基元信號仿真系統(tǒng)。其中的系統(tǒng)參數(shù)為線陣基元數(shù)N=64,線陣基元間隔d=1.5m,信號入射角度θ=30°,系統(tǒng)采樣頻率Fs=25KHz,采樣周期Ts=1/Fs=4×10-5s,系統(tǒng)所能處理的最大時延量K=1650。入射信號為sin(2*π*f*t),入射信號與基陣的夾角θ=30°,也就是獲得目標信號的本艦舷角,信號在水中速度c=1500m/s。如圖1所示。
本實施例進行如下步驟(1)設計內(nèi)插濾波器
■ 系統(tǒng)的采樣頻率為25kHz,即采樣周期Ts為4×10-5s。如要求仿真系統(tǒng)時延精度μ達到10-7s,則內(nèi)插濾波器的內(nèi)插比L=Ts/μ=400;通過改變內(nèi)插比,可以得到不同的時延精度。
■ 令濾波器的插值點數(shù)P=8,根據(jù)M=L*P=400*8=3200,得到濾波器階數(shù)M;則內(nèi)插濾波器的低通截止頻率下降為fpass=Fs/2L=25kHz/400/2=31.25Hz;見圖2,其中(a)為整個頻帶內(nèi)濾波器的幅頻響應;(b)為局部放大后的濾波器幅頻響應;■ 根據(jù)濾波器的采樣頻率,低通截止頻率和階數(shù),使用MATLAB的濾波器設計工具fdatool生成濾波器系數(shù)Num和Den(=1),Num共3200個數(shù)據(jù)點;■ 將Num中的數(shù)據(jù)從第一個數(shù)據(jù)點開始每隔399點挑出1點,共8點順次放入Num1中,然后再從第二個數(shù)據(jù)點開始每隔399點挑出1點,共8點順次放入Num1中,....循環(huán)此操作,直到從第四百個數(shù)據(jù)點開始完成挑選,把8點順次放入Num1最后位置。將結(jié)果Num1存入濾波器系數(shù)文件。
(2)計算基陣中各基元的理論時延值τi(θ)如圖1所示,線陣的水聽器基元從左到右順序編為H1,H2,…,HN,基元的間隔為d。為了計算上的方便,將時間的參考點選在H1上。那么第i個基元Hi所接收到的信號滯后于H1,它是由聲程差HiPi引起的,第i個基元所接收到的信號是si(t)=sin{2πf[t+τi(θ)]},i=1~N,線陣的理論時延值τi(θ)=(i-1)dcosθ/c。根據(jù)該理論時延即可計算出各基元的理論相位,本實施例的計算結(jié)果如表1所示。
(3)根據(jù)時延值τi(θ)計算各基元的粗延控制量Cuyani和粗延控制量Cuyani如圖3所示,為了同時兼顧時延精度和時延范圍,也為了提高計算速度滿足實時性的要求,采用分粗、細兩步實現(xiàn)多路基元的時延。以信號的采樣周期作為計時單元,整數(shù)倍于信號采樣周期的時延由粗延處理完成,而剩余的不足一個采樣周期的時延由細延處理完成。其中,Cuyani=K-求整[τi(θ)*Fs],Xiyani=P*求整[abs((τi(θ)-Cuyani*Ts)*μ)],“求整[τi(θ)*Fs]”表示在時延τi(θ)中包含的數(shù)據(jù)點數(shù),即時延τi(θ)內(nèi)所包含的最大整數(shù)個采樣周期,經(jīng)系統(tǒng)所能處理的最大時延量K調(diào)整后,Cuyani表示第i個基元的數(shù)據(jù)進行粗延時的延時數(shù)據(jù)的點數(shù);Xiyani表示濾波器系數(shù)的起始位置。
(4)將入射信號存儲在數(shù)據(jù)存儲器(Buffer)中入射信號為sin(2*π*f*t),其中t=(0∶5000-1)/Fs,f是信號的頻率,信號的時間長度Length=5000,即Buffer中共有5000個數(shù)據(jù)點,按時間序列排列。
(5)進行粗延處理對于第i個基元,根據(jù)存儲器尋址的方式,在Buffer找到與其粗延控制量Cuyani對應的數(shù)據(jù)點,并將從該數(shù)據(jù)點開始的Buffer中順序排在后面的數(shù)據(jù)段作為第i個基元的粗延處理數(shù)據(jù)Tempi,即完成粗延處理。對所有基元進行此操作。
(6)進行細延處理a)對于第i個基元,由Xiyani作為起始地址,在Num1中找出順序的P(=8)個數(shù)據(jù)點,作為該基元對應的內(nèi)插濾波器系數(shù);b)取出第i個基元的粗延處理數(shù)據(jù)Tempi,從Tempi的第一個數(shù)據(jù)點開始順序取出P個數(shù)據(jù)點作c)中的處理,然后從Tempi的第二個數(shù)據(jù)點開始再順序取出P個數(shù)據(jù)點作c)中的處理。循環(huán)此操作,直到從Tempi的第Len個數(shù)據(jù)點取出P個數(shù)據(jù)點完成處理。其中Len為3000,因為在本實施例中,入射信號數(shù)據(jù)長度為5000,最大時延量是1650,那么Len的值不應該超過(5000-1650)=3350,當Len為3000時,在第3000個數(shù)據(jù)點的位置上連續(xù)取出8個數(shù)據(jù)點,就不會產(chǎn)生越界的錯誤。
c)把a)中得到的該基元的P個濾波器系數(shù)值,和從Tempi取出的P個數(shù)據(jù)點分別做內(nèi)積計算,得到的結(jié)果放入FirOuti中,F(xiàn)irOuti即是第i個基元經(jīng)過細延理后的數(shù)據(jù),也就是最后輸出的仿真信號,其長度為Len。
這樣,使用一片DSP芯片(ADSP 21060)實時實現(xiàn)了64路基元信號的仿真。為了檢驗本發(fā)明的效果,將依據(jù)本發(fā)明產(chǎn)生的仿真信號由DSP通過D/A轉(zhuǎn)換器送出,然后使用標準相位計來實時測量每一路基元信號的實測相位。如表1所示,理論相位列出的是通過理論公式計算出的數(shù)值,而實測相位是通過相位計來測量出的實際數(shù)值。從表1可看出,而且由于是實時產(chǎn)生的基元信號,所以通過理論值與實測值的比較,說明該算法不僅滿足了實時性的要求,而且精度也比較高。
表1時延結(jié)果比較
權(quán)利要求
1.一種利用插值濾波器進行聲納基陣信號仿真的方法,包括如下步驟(1)利用濾波器設計工具生成內(nèi)插FIR濾波器系數(shù)文件Num,對濾波器系數(shù)文件Num進行重新排序,得到重新排序后的濾波器系數(shù)文件Num1;(2)計算基陣中各基元的時延τi(θ),其中0≤i≤N,N為基陣中的基元個數(shù),θ為信號的入射方向;(3)將基陣中各基元的時延τi(θ)分為粗延控制量Cuyani和細延控制量Xiyani,其中粗延控制量Cuyani對應于時延τi(θ)中所包含的整數(shù)個系統(tǒng)采樣周期的部分,細延控制量對應于時延τi(θ)中不足一個采樣周期的部分;(4)將入射信號按時間序列存儲在數(shù)據(jù)存儲器中;(5)根據(jù)粗延控制量Cuyani對數(shù)據(jù)存儲器中的入射信號進行粗延處理,得到粗延處理后數(shù)據(jù)Tempi;(6)根據(jù)細延控制量Xiyani,使用內(nèi)插FIR濾波器系數(shù)文件Num1對粗延處理后數(shù)據(jù)Tempi進行濾波處理,得到濾波處理結(jié)果也就是仿真信號FirOuti。
2.根據(jù)權(quán)利要求1所述的利用插值濾波器進行聲納基陣信號仿真的方法,其特征在于,在步驟(1)中對濾波器系數(shù)文件Num的排序操作為將Num中的數(shù)據(jù)從第一個數(shù)據(jù)點開始每隔(L-1)點挑出1點,共P點順次放入Num1中,然后再從第二個數(shù)據(jù)點開始每隔(L-1)點挑出1點,共P點順次放入Num1中;循環(huán)此操作,直至Num中的第L個數(shù)據(jù)點開始完成挑選,把最后P點順次放入Num1最后位置;將Num1代替Num作為濾波器系數(shù)文件;其中L為濾波器的內(nèi)插比。
3.根據(jù)權(quán)利要求1或2所述的利用插值濾波器進行聲納基陣信號仿真的方法,其特征在于,在步驟(3)中,所述粗延控制量Cuyani=K-求整[τi(θ)*Fs],所述細延控制量Xiyani=P*求整[abs((τi(θ)-Cuyani*Ts)/μ)],其中Fs為系統(tǒng)采樣頻率,K為系統(tǒng)所能處理的最大時延量,P為濾波器的插值點數(shù),T為系統(tǒng)采樣周期,μ為系統(tǒng)的時延精度,abs是求絕對值運算。
4.根據(jù)權(quán)利要求3所述的利用插值濾波器進行聲納基陣信號仿真的方法,其特征在于,在步驟(5)中,將數(shù)據(jù)存儲器中從Cuyani開始的數(shù)據(jù)段作為第i個基元的粗延處理數(shù)據(jù)Tempi。
5.根據(jù)權(quán)利要求1或4所述的利用插值濾波器進行聲納基陣信號仿真的方法,其特征在于,步驟(6)中的濾波處理過程為由Xiyani作為起始地址,在Num1中找出順序的P個數(shù)據(jù)點,作為第i個基元對應的內(nèi)插濾波器系數(shù);從粗延處理后數(shù)據(jù)Tempi的第一個數(shù)據(jù)點開始順序取出P個數(shù)據(jù)點與第i個基元對應的內(nèi)插濾波器系數(shù)的P個數(shù)據(jù)點分別做向量內(nèi)積計算,將結(jié)果作為向量FirOuti的第一個元素;循環(huán)此操作,直至從Tempi的第Len個數(shù)據(jù)點取出P個數(shù)據(jù)點與第i個基元對應的內(nèi)插濾波器系數(shù)完成內(nèi)積計算,將結(jié)果作為向量FirOuti的第Len個元素;即得到第i個基元的濾波處理結(jié)果FirOuti,其長度為Len。
6.根據(jù)權(quán)利要求5所述的利用插值濾波器進行聲納基陣信號仿真的方法,其特征在于,(Len+P)≤(Length-K),其中,Length為入射信號的長度,即入射信號在數(shù)據(jù)存儲器中的數(shù)據(jù)點數(shù)。
全文摘要
本發(fā)明公開了一種利用插值濾波器進行聲納基陣信號仿真的方法,該方法利用濾波器設計工具生成內(nèi)插FIR濾波器系數(shù)文件,并對濾波器系數(shù)文件進行重新排序;將基陣中各基元的時延分為粗延控制量和細延控制量;根據(jù)粗延控制量對數(shù)據(jù)存儲器中的入射信號進行粗延處理;根據(jù)細延控制量,使用重新排序后的內(nèi)插FIR濾波器系數(shù)文件對粗延處理后數(shù)據(jù)進行濾波處理,得到濾波處理結(jié)果也就是仿真信號。本發(fā)明將粗、細延兩步時延相結(jié)合,既可保證足夠高的時延精度,又可達到足夠大的時延范圍;本發(fā)明采用重新排列順序的濾波器系數(shù)來簡化運算,從而提高了系統(tǒng)的運算速度并節(jié)省了硬件存儲空間。本發(fā)明的方法滿足實時性的要求,易于在DSP平臺上實時實現(xiàn)。
文檔編號G01S15/00GK1566984SQ0313701
公開日2005年1月19日 申請日期2003年6月19日 優(yōu)先權(quán)日2003年6月19日
發(fā)明者李蕾, 吳永清, 蔡惠智 申請人:中國科學院聲學研究所