陳 雷,王 濤,田曉燕,張鎖良
(1.河北大學 電子信息工程學院,河北 保定 071002;2.北京郵電大學 電子工程學院,北京 100876)
混合跳擴頻通信系統(tǒng)是國內外公認的最富有生命力的抗干擾系統(tǒng),在近十幾年的研究發(fā)展中得到了廣泛應用[1-2]。在近幾年的研究中,研究者們逐步確定了混合跳擴頻調制解調方案,分析了信號設計與參數(shù)設定對系統(tǒng)的影響[3],主要對系統(tǒng)信息捕獲以及跟蹤同步方面展開研究[4-5]。
在系統(tǒng)跟蹤同步方面,文獻[6]提出一種四相鑒頻方法,通過對大步長進行牽引,利用鎖相環(huán)(Phase Locked Loop,PLL)和鎖頻環(huán)(Frequency Lock Loop,F(xiàn)LL)對高動態(tài)信號進行精確跟蹤,提高了頻偏的跟蹤范圍。文獻[7]在跳頻速率3 000 hop/s、跳頻帶寬84.48 MHz的情況下,利用早遲門位同步環(huán)完成定時同步,結合多普勒基準頻率與IQ相關積分鑒頻算法對本地載波進行調整完成載波同步,解決了載波相位不連續(xù)問題,可適應大頻偏場景。文獻[8]提出了一種FLL+PLL結合快速傅里葉變換(Fast Fourier Transform,F(xiàn)FT)的載波跟蹤方法,可以有效提高載波捕獲和跟蹤的成功概率,縮短載波同步的時間。文獻[9]在跳頻速率9 000 hop/s,跳頻帶寬90 MHz的情況下,利用IQ兩路相關積分、低通濾波器、早遲門位同步環(huán)對系統(tǒng)誤差進行了整合,利用PLL與FLL完成統(tǒng)一補償,實現(xiàn)系統(tǒng)同步。文獻[10]提出了一種基于PLL環(huán)路的相位跟蹤算法,可以有效剝離信號中的擴頻碼和擾碼,鑒相器輸出結果不受賦值影響,提高了誤差提取的準確度。
經(jīng)過以上分析可以看出,在近幾年的研究中,研究者們面對的跳頻速率均為每秒幾千跳,跳頻帶寬在100 MHz以內,誤差范圍較小,浮動頻率較低。在誤差補償方面,采用的是先計算再補償?shù)姆绞剑梅答伃h(huán)路調整本地信號使系統(tǒng)達到同步,但沒有考慮上下行時鐘引起的系統(tǒng)誤差,實際應用存在一定局限性。在系統(tǒng)內部,由于上下行時鐘不同源,會產生內部誤差,并且誤差的浮動頻率和范圍與系統(tǒng)跳頻速率和跳頻帶寬成正比。目前混合跳擴頻通信系統(tǒng)的指標已經(jīng)上升到了跳頻速率每秒幾萬跳、跳頻帶寬幾百兆赫的水平。由于系統(tǒng)跳頻的駐留時間變短、帶寬變大,且每個頻點對應的誤差不同,導致誤差大范圍快速跳變。使用傳統(tǒng)反饋環(huán)路對誤差進行補償時,補償速度往往跟不上誤差變化的速度,導致環(huán)路失鎖,同步失敗。
針對上述問題,本文提出一種基于坐標旋轉數(shù)字算法(Coordinate Rotation Digital Computer,CORDIC)的跟蹤同步方法,在不改變系統(tǒng)內部其他信號的基礎上同時對誤差進行計算與補償。此方法通過將系統(tǒng)誤差映射到相位的方式,對多組誤差進行二維旋轉補償,利用二進制相移鍵控(Binary Phase Shift Keying,BPSK)調制的性質,得到最佳旋轉位和補償誤差。仿真分析表明,該方法在系統(tǒng)跳頻速率20 000 hop/s、跳頻帶寬327.52 MHz的情況下完成了系統(tǒng)的跟蹤同步,補償性能相比于傳統(tǒng)補償技術具有明顯優(yōu)勢。
圖1與表1分別為系統(tǒng)結構圖、系統(tǒng)參數(shù)表。其中,信道編碼采用卷積+RS級聯(lián)碼形式;擴頻調制利用高速率偽隨機碼進行直接序列擴頻;跳頻調制分為IQ兩路BPSK正交調制信號;DAC芯片用于產生中頻載波,后經(jīng)上變頻發(fā)送。接收信號經(jīng)下變頻后通過ADC進行中頻解調,利用參數(shù)與發(fā)射端相同的本地跳頻載波和擴頻碼對信息進行捕獲,捕獲后的數(shù)據(jù)進行誤差補償實現(xiàn)跟蹤同步,再經(jīng)過信道譯碼還原信息。
圖1 系統(tǒng)結構圖
表1 系統(tǒng)參數(shù)
載波同步誤差可分為頻率誤差和相位誤差兩類。頻率誤差主要是因外界環(huán)境影響和系統(tǒng)上下行時鐘不同源所致。外界環(huán)境產生頻差最典型的就是多普勒頻移,主要是相對運動所導致。相位誤差是由于混頻時載波的初相位不同而產生,而由于時鐘不同源所導致的誤差可以體現(xiàn)在很多方面。對于本系統(tǒng),在信號經(jīng)過下變頻后進入ADC進行中頻解調,此時由于時鐘不同源,發(fā)射端和接收端所產生的中頻載波之間會有一定的頻率差值,所以在中頻載波混頻時會產生一個頻率誤差fmf。同樣,在跳頻解調中,雙方的本地載波頻率也會有差值,并且對應的每個跳頻點的頻率不一樣其誤差也會變化,這里統(tǒng)稱這個誤差為fhf。由于本系統(tǒng)跳頻調制具有高跳速、多頻點的特點,所以由此產生的誤差也有著高動態(tài)、高隨機性的特點,使用傳統(tǒng)的反饋鎖頻環(huán)路方式對這種高動態(tài)誤差進行補償已經(jīng)不太理想。
在系統(tǒng)的設計上,為了在跳頻解調中減少不必要誤差并保持載波相位的連續(xù)性,每個頻點對應的跳頻頻率是跳速頻率的整數(shù)倍。根據(jù)跳頻速率fhs,可以得到頻率誤差進行累積的單位時間tf(單位:s)為
tf=1/fhs=1/20000。
(1)
根據(jù)基本的相位公式可以將頻率誤差映射為相位:
φ1=2π·Δf·tf=2π·(fmf+fhf)·1/20000。
(2)
式中:Δf為系統(tǒng)頻率誤差,在此狀態(tài)下為中頻混頻誤差fmf與跳頻混頻誤差fhf的和。
混合跳擴頻通信系統(tǒng)中,時鐘的不同源對于擴頻部分來說會產生碼偏,通過定時同步技術可以消除碼偏。定時同步常用早遲門技術來對碼偏進行補償,實現(xiàn)對擴頻碼的跟蹤。早遲門的原理是利用高頻時鐘對碼片的不同位置進行采樣,從而形成延遲路、信息路、超前路三路信號,通過反饋的信息對采樣位置進行調整來接近最佳采樣位。早遲門中能夠調整的最大相位誤差為擴頻碼片的一半[11]。
以本文系統(tǒng)為例,時鐘頻率為80 MHz,擴頻碼速率為10 MHz,碼片采樣精度為1/8。但在實際中這個采樣精度并不能滿足對最佳位置的捕獲,誤差可能為1/16、1/24、1/32個碼片相位等更小的范圍。當采樣精度不能滿足誤差精度的時候,會出現(xiàn)采樣位連續(xù)跳動的現(xiàn)象,隨之會產生相位的跳動,嚴重時會造成誤差浮動過大使系統(tǒng)失鎖。由于對實際誤差精度需求的未知,直接提高系統(tǒng)的采樣頻率來達到誤差精度的做法既不現(xiàn)實又不靈活,還可能會對系統(tǒng)其他模塊產生影響。所以,為了能在現(xiàn)有的條件下穩(wěn)定高效地處理此誤差,可以把對碼片的相位采樣當作時間上的采樣,其中每個碼片的時間就是其速率的倒數(shù)。而時間上的誤差可以引起信號相位上的誤差,將時間誤差Δt映射為相位誤差得到。
φ2=2π·fh·Δt。
(3)
式中:fh為每組跳頻的頻率。
CORDIC算法的基本思想是,通過加減和位移操作,利用與運算基數(shù)相關的一系列特定角度不斷偏擺來逼近預設的旋轉角度。如圖2所示,將初始坐標P1=(x1,y1)點繞原點旋轉θ角度后得到P2=(x2,y2)點。
圖2 CORDIC算法示意圖
P2的坐標可以利用公式(4)計算:
(4)
在混合跳擴頻信號誤差補償中,常用CORDIC的反正切算法計算出補償角度和相位,將其反饋回本地載波發(fā)生器和偽碼發(fā)生器上改變本地載波和本地偽碼的頻率或相位來達到同步目的[12]。
對于本系統(tǒng)而言,由于每個頻點對應的誤差角度和相位不同,誤差存在多樣化的特點。所以,在誤差補償?shù)姆绞缴喜]有使用以往的CORDIC反正切算法,而是利用了CORDIC算法最基本的計算方法,即對信號的角度旋轉或位移操作。上文中將分析出的誤差都映射到了相位上,可以利用CORDIC算法對此進行補償。
要通過CORDIC算法對數(shù)據(jù)進行旋轉計算,就要確定旋轉的范圍,也是誤差最大范圍。通過之前的分析可以得到,接收端在對載波進行解調時產生的頻率誤差是以跳頻速率的倒數(shù)作為單位時間的。根據(jù)公式(2)可得,當fmf+fhf取值為0~20 kHz時,φ1的取值范圍為0~2π,對應到旋轉坐標系中范圍為一周;當fmf+fhf大于20 kHz時,由于旋轉的周期性,計算出的相位映射到旋轉坐標系中的范圍仍然為0~2π,所以可以認為當Δf=fmf+fhf=20 kHz時頻率誤差最大。
對于系統(tǒng)擴頻解調時采樣引起的偏移誤差,由于系統(tǒng)采用的是早遲門位同步環(huán),采樣相位最大誤差為采樣精度的一半,所以根據(jù)擴頻碼頻率fs可以得到其對應的時間誤差Δt的最大值Δtmax。
Δtmax=1/8·1/2·1/fs。
(5)
在這里假設系統(tǒng)上下行的時鐘同源,即頻率誤差為零,以跳頻帶寬Δfbw為基準,代入公式(3),可以得到此時間誤差引起的最大相位誤差為
φ2=2π·Δfbw·Δtmax。
(6)
通過以上分析得到誤差最大范圍,可以在此范圍內對數(shù)據(jù)進行旋轉,達到補償目的。由于兩個誤差是由不同的原因所產生,所以可以將此補償過程看作是一個對系統(tǒng)的二維補償。第一維補償針對的是由載波解調引起的誤差,相位中對應的時間單位為跳頻速率fhs的倒數(shù),以Δf=20 kHz為上限從Δf=0 kHz開始以40 Hz為步進計算相位,共分為500組,步進越小精度越高。第二維補償針對的是早遲門引起的誤差,對于公式(6)中的跳頻帶寬Δfbw,不同的頻點對應著帶寬中的不同頻率,相對的誤差也只是其中的一部分,并且各個頻點之間有著相等的頻率間隔,所以在保證精度的前提下將誤差最大值平均分為n=256份,根據(jù)頻點數(shù)ji每一份又平均分為2 048個點,得到步進Δε。將第一維相位誤差Δφ1與第二維相位誤差Δφ3相加得到一次步進旋轉相位φ,以此為基礎對信號進行掃描補償。二維補償相位公式如下:
(7)
(8)
φ=Δφ1+Δφ3。
(9)
補償?shù)男盘柺菙U頻解調后輸出的IQ兩路信號,其具有BPSK相干解調信號的性質,利用這個性質,進行多組信號一起補償旋轉,有助于找到最佳旋轉位置,提取最佳補償差。
將公式(9)的結果代入到公式(4)中,可以得到如公式(10)所示的旋轉前IQ兩路數(shù)據(jù)In和Qn與旋轉后IQ兩路數(shù)據(jù)In+1和Qn+1的關系:
(10)
式中:φ對應公式(4)中的θ,In、Qn與In+1、Qn+1分別對應x1、y1與x2、y2。
圖3所示為具體的算法流程圖,接下來將按照圖中所示流程進行仿真分析。
圖3 算法流程圖
為了驗證理論分析結果,本文將對傳統(tǒng)反饋環(huán)路補償技術和本文提出的方法進行仿真分析和對比。文獻[9]所提方法具有完整的混合跳擴頻系統(tǒng)架構,且系統(tǒng)復雜度最低,補償范圍最大,系統(tǒng)性能較優(yōu);文獻[10]所提算法對反饋環(huán)路進行了優(yōu)化,可以使誤差提取更加準確。因此,以表1所示的參數(shù)作為實驗參數(shù),通過Matlab工具對文獻[9]中提出的方法和文獻[10]提出的算法進行仿真對比。
以實際晶振誤差1×10-6為參考,可計算出本文實驗中80 MHz系統(tǒng)時鐘的上下行時鐘誤差為80 Hz。在此狀態(tài)下,利用文獻[9]提出的方法補償系統(tǒng)誤差,得到圖4所示補償結果,通過鑒相器輸出可以看出,當設置跳頻頻率不變時,反饋環(huán)路成功補償系統(tǒng)誤差實現(xiàn)跟蹤同步;當跳頻載波以20 000 hop/s的跳速進行跳變時,誤差補償失敗。在此系統(tǒng)結構的基礎上,利用文獻[10]提出的算法進行仿真,得到圖5所示結果。通過觀察無跳頻和跳頻速率20 000 hop/s情況下的鑒相器輸出結果可以看出,相比于文獻[9]方法,在無跳頻狀態(tài)下,此算法提高了DDS相位差的收斂速度,但在跳頻速率20 000 hop/s的情況下依舊不能成功補償誤差。因此,通過仿真分析可得,在面對高動態(tài)性誤差時,基于反饋環(huán)路的補償方法并不能滿足具有此參數(shù)的混合跳擴頻系統(tǒng)的設計需求。
(a)無跳頻情況下鑒相器輸出
(a)無跳頻情況下鑒相器輸出
本系統(tǒng)以FPGA為基礎平臺,發(fā)射端與接收端采用不同源的兩臺設備,實驗中使用的補償數(shù)據(jù)為接收機現(xiàn)實接收數(shù)據(jù),符合實際要求,實驗具有真實性。圖6為利用SignalTap工具采樣得到的接收端擴頻解調后的IQ兩路實際數(shù)據(jù),速率為20 kHz。其中,組合前的每一組IQ信號都代表著一個頻點。為了便于得到最佳旋轉位與補償誤差,需要將十組IQ數(shù)據(jù)組合成一組新的數(shù)據(jù)。
(a)組合前數(shù)據(jù)
將數(shù)據(jù)導入Matlab做進一步分析,以I路數(shù)據(jù)為橫坐標、Q路數(shù)據(jù)為縱坐標繪制星座圖,如圖7所示??梢钥吹竭@十組數(shù)據(jù)在星座圖上的相對位置成散點狀,說明系統(tǒng)中存在誤差,并且每個頻點對應的誤差各不相同。
圖7 無補償狀態(tài)下IQ數(shù)據(jù)星座圖
根據(jù)公式(8)可知,每個點對應的旋轉相位數(shù)值不同,在星座圖上旋轉速度也不一樣,所以點間相對位置會發(fā)生變化。為了找出最佳補償結果,每進行一次旋轉就計算一次每個點與其他九個點的距離并求其總和。由BPSK解調性質可知,解調數(shù)據(jù)在星座圖上的位置特點是成原點對稱的,所以求得距離總和最小值即為符合其規(guī)律的最佳狀態(tài)。旋轉結果如圖8所示,其中,點間距離曲線的數(shù)值對應著500組一維補償中每組最小的二維補償點間距離,取其中最小的一組,可以得到對應的m和n的值,代入到公式(7)和(8)中,可以計算得到最佳補償相位,利用此相位數(shù)值進行旋轉,得到旋轉結果??梢钥闯?,經(jīng)過CORDIC算法計算的數(shù)據(jù)已經(jīng)由散點轉換為符合BPSK解調性質的圖案,說明以上分析的誤差已經(jīng)被有效補償。
(a) 點間距離曲線
將m和n的取值范圍擴大一倍,即縮小第一維補償與第二維補償?shù)牟竭M后旋轉,所得結果如圖9所示。結合圖8的點間距離曲線數(shù)據(jù)可以看出,與其結果相比,圖9最小點間距離Y的值更小,聚攏程度更高,補償誤差的效果更好。所以,擴大m和n的取值范圍,會提高補償精確度,得到更好的補償結果,但同時會增加計算時間,在實現(xiàn)方面會提升硬件資源的消耗量。所以,具體步進值需要根據(jù)系統(tǒng)設計要求與實驗平臺硬件資源情況來確定。
(a)點間距離曲線
由于在跳頻解調時,上下行本地載波的初相不同,還存在一定的相位誤差,所以再將此數(shù)據(jù)經(jīng)過鎖相環(huán)路后,得到如圖10所示結果??梢钥闯鯭路數(shù)值接近于0,誤差被有效補償,系統(tǒng)穩(wěn)定同步。
圖10 初相補償后IQ數(shù)據(jù)星座圖
為了防止誤差波動,以此次旋轉結果中m值對應的頻率Δf為基準頻率、左右取相鄰頻率作為調整頻率進行旋轉。比較旋轉結果,取最小距離值所對應的m值和n值對信息進行計算,并將此次所取的m值對應的頻率Δf設為新的基準頻率,依此類推,從而保證系統(tǒng)的動態(tài)性能。
以本次試驗參數(shù)為基礎,可以得到表2所示的復雜度對比。由于本文采用掃描的方法對誤差進行計算和補償,計算的復雜度只與掃描范圍和掃描步進有關,所以當掃描范圍和掃描步進不變時,面對不同的系統(tǒng)參數(shù),復雜度也是不變的。結合以上仿真分析可以看出,本文方法無論是在計算總量還是補償性能上,都優(yōu)于文獻[9]和文獻[10]所述方法。
表2 復雜度對比
本文提出了一種基于CORDIC的跟蹤同步方法,在不影響系統(tǒng)內部其他信號的情況下可以完成對系統(tǒng)誤差的計算與補償。經(jīng)過仿真分析,相比于現(xiàn)有文獻提出的基于反饋環(huán)路的補償方法,本文所述方法可以補償跳速20 000 hop/s、帶寬327.52 MHz的混合跳擴頻通信系統(tǒng)誤差,系統(tǒng)跳速更快、帶寬更大。從算法復雜度和補償性能的角度看,本文方法也具有明顯優(yōu)勢。
本文只針對系統(tǒng)內部誤差進行了分析,暫未分析多普勒頻移等外界干擾。因此,下一階段的工作是建立外部干擾實驗模型,并進一步驗證與分析算法性能。