趙梓琛 張軒野 郭佳明
(哈爾濱工程大學(xué),黑龍江 哈爾濱150000)
在水聲通信中,因?yàn)槭瞻l(fā)雙方多數(shù)會(huì)存在相對(duì)運(yùn)動(dòng)并且海洋表面會(huì)有波動(dòng)等,使得在數(shù)據(jù)的接收端會(huì)發(fā)生多普勒頻移現(xiàn)象[1],多普勒頻移現(xiàn)象在時(shí)域上會(huì)使得數(shù)據(jù)幀進(jìn)行伸展或者收縮,從而造成接收端的同步與跟蹤過(guò)程具有極大的無(wú)誤差,甚至?xí)菇邮斩藷o(wú)法進(jìn)行正常的工作,導(dǎo)致通信系統(tǒng)的誤碼率增大。在我國(guó),水聲通信中多普勒估計(jì)與補(bǔ)償方法[2]的研究工作已經(jīng)成為我國(guó)水聲工程領(lǐng)域中面臨的巨大挑戰(zhàn)。
信號(hào)在經(jīng)過(guò)高斯信道和真實(shí)水聲信道之后,利用兩種算法即五點(diǎn)三次平滑算法、加權(quán)平均算法,對(duì)多普勒頻移進(jìn)行估計(jì)與補(bǔ)償,并分別進(jìn)行了比較,給出一種較為準(zhǔn)確的多普勒估計(jì)與補(bǔ)償方法,最后給出了與不對(duì)多普勒因子進(jìn)行估計(jì)情況下的對(duì)比,給出效果較好的方法。
圖1 未對(duì)多普勒因子進(jìn)行估計(jì)的誤碼率曲線(左側(cè)為高斯信道,右側(cè)為真實(shí)信道)
本設(shè)計(jì)中的通信系統(tǒng)經(jīng)過(guò)兩個(gè)不同信道,分別為高斯信道以及真實(shí)水聲信道,對(duì)接受的信號(hào)進(jìn)行同步過(guò)程過(guò)后,直接找到LFM同步頭尾部位置,并對(duì)接收到的訓(xùn)練序列以及Packet 序列中的碼片進(jìn)行FFT,得到的頻率與本身頻率進(jìn)行對(duì)比,得到多普勒因子,不做估計(jì),只取均值之后就解調(diào)信息序列,在不同信噪比下,循環(huán)10000 次,得到誤碼率曲線如圖1 所示。
聲波在傳播過(guò)程中,如果接收方和聲源即聲音發(fā)射處存在相對(duì)運(yùn)動(dòng),這時(shí)候接收到的聲音與發(fā)射本身的聲音相比,頻率會(huì)發(fā)生改變,這種現(xiàn)象叫做多普勒頻移現(xiàn)象。由于聲波在水中的傳播速度與無(wú)線電在陸地上傳輸相比是微乎其微的,并且水聲領(lǐng)域中,通信信號(hào)所覆蓋的頻帶范圍相對(duì)較窄,這兩點(diǎn)導(dǎo)致,相較于陸地?zé)o線電通信,多普勒頻移現(xiàn)象在水下通信中影響更為嚴(yán)重。[3]
另外,多普勒效應(yīng)的影響不僅是頻率偏移,還有壓縮或拉伸信號(hào)。如何降低多普勒頻移的影響是水聲通信領(lǐng)域迫切需要解決的問(wèn)題。為了使通信系統(tǒng)能夠精確的知道發(fā)射端傳輸?shù)男畔?,多普勒因子估?jì)方法[4]成為了水聲通信中非常重要的一部分。
在估計(jì)多普勒因子的過(guò)程中,本文通過(guò)采用三點(diǎn)取最大值,經(jīng)過(guò)對(duì)信號(hào)進(jìn)行FFT 之后,會(huì)得到橫軸為頻率,縱坐標(biāo)為幅度的圖形,在這個(gè)圖形中,由于FFT 算法,不能知道這段信號(hào)的最大頻率,因此本文采用三點(diǎn)坐標(biāo)拋物線擬合法求得一段信號(hào)的準(zhǔn)確峰值。具體方法如下:
首先確定臨近最大值的三個(gè)點(diǎn),設(shè)為(f1,y1)、(f2,y2)、(f3,y3),之后設(shè)拋物線方程為:y=ax2+bx+c,將這三個(gè)點(diǎn)帶入方程會(huì)得到以下式子:
本文多普勒估計(jì)方法是在找到LFM的同步頭位置之后,用不準(zhǔn)確的(原來(lái)的)點(diǎn)數(shù)作為FFT 算法的開(kāi)始位置,做訓(xùn)練序列以及PACKET 序列中碼片的FFT,之后與原來(lái)的頻率進(jìn)行對(duì)比,得到了多普勒因子曲線。此種方法沒(méi)有消除多普勒擴(kuò)展,誤差較大。所以本文進(jìn)行了優(yōu)化,在找到LFM同步頭之后,先將64位訓(xùn)練序列[5]的多普勒因子估計(jì)出來(lái),之后用alpha 估計(jì)后方packet 序列中一個(gè)碼片的多普勒因子(相當(dāng)于重新同步過(guò)程),之后用新估計(jì)出來(lái)的多普勒因子去估計(jì)下一個(gè)碼片,以此類推。最后取所有估計(jì)出來(lái)的多普勒因子中值作為最后解調(diào)的多普勒因子。
多普勒補(bǔ)償流程圖如圖3 所示:
圖3 多普勒補(bǔ)償流程圖
4.1 加權(quán)平均濾波算法。依據(jù)時(shí)間進(jìn)行順序排列,選取一樣的變量的幾個(gè)觀測(cè)值,隨后利用時(shí)間序列來(lái)作為權(quán)重,計(jì)算出觀測(cè)值的加權(quán)算術(shù)平均值。這個(gè)算術(shù)平均值被用作預(yù)測(cè)未來(lái)期間該變量的值,這種方法被稱為加權(quán)平均濾波算法[6]。
4.2 五點(diǎn)三次平滑算法。五點(diǎn)三次平滑算法的原理是在原始數(shù)據(jù)中取相鄰的5 個(gè)點(diǎn),擬合出一條曲線,擬合三次,將最后的結(jié)果作為經(jīng)過(guò)濾波之后的結(jié)果,原理類似于Savitzky-Golay濾波器[7]。不同點(diǎn)在于Savitzky-Golay 濾波器沒(méi)有考慮前兩個(gè)點(diǎn)與后兩個(gè)點(diǎn),本文設(shè)計(jì)的這個(gè)算法把沒(méi)考慮的幾個(gè)數(shù)據(jù)值的擬合結(jié)果給推導(dǎo)并顯示出來(lái)。
以五點(diǎn)三次平滑算法為參照,演算推導(dǎo)出濾波公式。首先定義一組以2n+1 為等距節(jié)點(diǎn)的數(shù)組X-n,X-n+1,…,Xn-1,Xn,Y-n,Y-n+1,…,Yn-1,Yn是 分 別 對(duì) 應(yīng) 的 實(shí) 驗(yàn) 數(shù) 據(jù),t-n=-n,t-n+1=-n+1,tn-1=n-1,tn=n,用m 次多項(xiàng)式來(lái)進(jìn)行實(shí)驗(yàn)數(shù)據(jù)的估計(jì)。其中擬合多項(xiàng)式為:
當(dāng)n=2,m=3 時(shí)候,得到一個(gè)具體方程組,由此求出系數(shù)a0、a1、a2…am
其中前面兩點(diǎn)分別用公式(10)、(11)來(lái)平滑,最后兩點(diǎn)用公式(13)、(14)來(lái)平滑,其余的均用公式(12)表示。
高斯信道下的仿真與實(shí)現(xiàn):
下面分貝采用加權(quán)平均濾波算法、五點(diǎn)三次平滑算法進(jìn)行估計(jì),由于加權(quán)平均算法的機(jī)理原因,無(wú)法得到前后部分碼片的多普勒因子,因此還是采用2 倍因子數(shù)據(jù)來(lái)進(jìn)行平滑擬合,得到的結(jié)果如圖4:
圖4 多普勒因子估計(jì)仿真結(jié)果
圖5 誤碼率仿真結(jié)果
在水聲通信中,多普勒估計(jì)與補(bǔ)償工作一直是一個(gè)難題,隨著研究的不斷深入,很多學(xué)者已經(jīng)做出了不少效果很好的估計(jì)與補(bǔ)償方案,本課題針對(duì)多普勒因子采用兩種算法對(duì)多普勒因子進(jìn)行了估計(jì)與優(yōu)化,用實(shí)際數(shù)據(jù)處理加以驗(yàn)證,都得到了良好的效果。本課題的主要內(nèi)容有:
(1)介紹了目前水聲通信工作中,多普勒估計(jì)與補(bǔ)償?shù)幕驹砑把芯恳饬x。
(2)在多普勒因子估計(jì)與補(bǔ)償?shù)倪^(guò)程中,通信系統(tǒng)經(jīng)過(guò)兩個(gè)不同信道,即高斯信道、真實(shí)水聲信道之后,采用五點(diǎn)三次平滑算法和加權(quán)平均算法,這幾種算法通過(guò)誤碼率曲線來(lái)比較算法性能的好壞,同時(shí)采用計(jì)算與比較MSE 來(lái)判斷算法的優(yōu)劣,最后發(fā)現(xiàn)加權(quán)平均算法的效果最好。