薛雨萌, 張可嘉
(西安恒翔控制技術有限公司,陜西 西安 710065)
無人機測控系統[1]由數據鏈和控制站組成,用于地面控制站與無人機之間的數據收發與跟蹤定位工作。數據傳輸的可靠性是保證無人機安全飛行的重要因素。然而,現今日益加劇的電子干擾對測控鏈路的抗干擾性能帶來了嚴峻的考驗。
正交相移調制(Quadrature Phase Shift Keying,QPSK)具有較高頻譜利用率和抗干擾性能,是一種無人機測控鏈路常用的數字調制方式[2]。然而其自身的抗干擾性能無法彌補復雜干擾的無線信道對系統誤碼率的影響。信道編碼[3]通過對信號進行冗余糾錯編碼,有效地提高了信號傳輸的穩定性,將其應用于QPSK系統中,能夠有效提高系統可靠性,降低誤碼率,因此信道編碼被廣泛地應用于無人機測控鏈路設計中。
串行級聯編碼[4]是一種常用的信道編碼方式。Han等[5]利用RS-CC(Reed-Solomon Convolution Concatenated Code)編碼解決了無線信道在復雜環境中的突發錯誤和隨機誤碼,在較小信噪比條件下,實現了較理想的誤碼率。姜智等[6]針對導彈數據鏈中的突發錯誤,提出了RS碼+交織+卷積碼的級聯編碼方案,提高了導彈數據鏈的抗干擾性能。循環冗余校驗碼(Cyclic Redundancy Check,CRC)[7]編碼簡單,易于實現、具有較強的檢錯能力。將其與級聯編碼結合,能夠有效增強系統的檢錯能力,降低系統誤碼率。數據加擾[8]用一組偽隨機碼序列對數據加密,能很好地均衡噪聲,提高系統的抗干擾性能。
為了進一步提升無人機測控鏈路的抗干擾性和可實現性,本文設計了一種基于模型的無人機測控系統信道編碼算法。在RS碼+交織+卷積碼的串行級聯編碼的基礎上,融入CRC編碼,提升系統檢錯和糾錯能力,同時將交織與數據加擾結合來進一步增強系統抗干擾性能。本文首先在MATLAB/Simulink中搭建了采用上述級聯信道編碼的QPSK系統模型,仿真結果表明,本系統在不同信噪比下,相比于常用的編碼方式,均能夠明顯降低傳輸誤碼率,在不顯著增加編碼復雜度的情況下,有效提高系統的抗干擾性能。同時,該系統仿真模型可以直接部署在兩臺ADRV9361-Z7035上,實現兩臺設備間數據的正常收發,避免進行硬件代碼編寫,提升了無人機測控系統算法的可實現性,具有一定的工程實現價值。
RS編碼是一種線性分組碼,具有很高的糾錯能力和編碼效率[9]。RS碼采用(m,n,k)的編碼結構,通過增加監督位的方式來保證傳輸的誤碼率。其中,輸入信號中每個碼元由m個bit組成;n為編碼后的碼字長度;k為信息位的長度。
信息位的一個bit或多個bit出現錯誤,RS碼就會出現一個誤符號。因此RS編碼具有極強的糾正突發錯誤的能力。
卷積碼是一種二進制非線性分組碼,它不再將輸入數據進行分組編碼,而是將原始信息碼全部打亂編碼[10],具有較優的編碼增益和數據傳輸效率。對于(n,k,N)卷積碼,k個bit信息位編碼成n個bit,但這n個bit不再只與當前的k個bit信息有關,還與其前面時刻的N-1個碼組的信息位有關。這樣的做法增加了碼元之間的關聯性,隨著參數N的增大,卷積碼的糾錯能力也會隨之加強,可以很好地解決隨機錯誤。
交織技術是一種時間/頻率擴展技術,在不增加冗余碼的情況下,把突發錯誤離散成隨機錯誤。從而交織技術在不增加帶寬的情況下,提高系統的抗干擾能力,尤其是針對瑞利衰落信道中常出現的成串的比特差錯,有更好的處理效果,改善系統在衰減信道的抗干擾性能。
在RS+交織+卷積級聯編碼方式中,RS作為外碼,處理突發錯誤,卷積碼作為內碼,解決隨機錯誤。編碼時,RS編碼后的數據由交織器[11]以矩陣形式重新排序,將突發錯誤在時間上擴散成隨機錯誤,送入卷積編碼處理,從而降低了對糾錯編碼糾錯能力的要求。譯碼時,內碼未糾正的單個bit錯誤和突發錯誤,將被外碼譯碼轉化成單個或多個符號錯誤,在其譯碼過程中再次進行糾正,從而進一步保證了其解決突發錯誤的能力。
CRC[12]屬于線性分組碼,其通過生成校驗式在信息位后增添冗余位的方式對數據進行編碼,譯碼時再利用校驗式通過模2除法進行循環冗余校驗,完成檢錯。CRC編碼具有較強的檢錯性能,但其糾錯算法復雜,效率過低,因此CRC通常僅被用于信號檢錯。將其與RS_CC編碼結合在一起,能夠有效提升系統的檢錯能力,進一步提高系統可靠性。
數據加擾[13]用一組偽隨機碼序列與原始信號相乘,打散信號的時間和頻率,實現數據的加密,從而消除信號中長“0”或長“1”帶來的同步干擾。加擾技術能夠很好地均衡噪聲,提高系統的抗干擾性能。在卷積編碼前將數據進行加擾操作,能夠將突發錯誤轉換成隨機錯誤,增強卷積編碼效果。
QPSK是一種四進制正交相移鍵控方法,利用載波的4種不同相位差來表征輸入的數字信息。QPSK具有較高的頻帶利用率,且其電路也較容易實現,因此被廣泛應用于測控系統數據鏈載波調制中。但是,QPSK是兩路正交2PSK信號的疊加,各碼元之間的距離較小,當其受到信道中的噪聲與多徑效應的干擾時[14],相干解調會變得困難,即接收端誤碼率會隨之增大。QPSK調制系統需要引入信道編碼技術,來保證其抗干擾性能。
級聯編碼通過串聯的方式,將兩個較短碼長的子碼構成一個長碼,并且其碼率等于每個獨立編碼碼率的乘積。通過級聯的方式,RS-CC編碼在增加碼長的同時保證了更低的碼率,使其在編譯碼過程中產生更小的誤差。交織器本身不會產生冗余碼,在不增加系統帶寬的情況下提高系統抗干擾能力。因此,RS+交織+卷積級聯編碼系統的譯碼復雜度相比于單獨編碼也得到大幅下降。CRC編碼自身的譯碼復雜度為O(n),遠低于卷積編碼,因此將其與RS+交織+卷積級聯結合不會提高算法復雜度。
結合上述理論分析,本文為提升無人機測控系統抗干擾性能,設計了一種基于模型的無人機測控系統信道編碼調制算法,如圖1所示。

圖1 基于模型的無人機測控系統信道編碼調制系統框圖
信源數據首先進行CRC編碼,再進行RS+交織+卷積級聯編碼。內外碼之間,在加入交織的基礎上,在數據中加入擾碼,進一步將突發錯誤擴散成隨機錯誤。為了模擬飛行器高速飛行時的信道情況,編碼后的信號經由QPSK調制在具有多普勒頻移的AWGN信道中傳輸。然而,由于收發時鐘間的頻差,以及由于QPSK自身編碼特性產生的接收端存在180°的“相位模糊”現象[15],導致原始信號不能直接用于QPSK解調,必須先依次進行信號的載波同步、位同步和幀同步。解調后的數據,再進行信道解碼,并顯示輸出接收結果。根據本編碼調制算法系統原理在MATLAB/Simulink中搭建的信道編碼調制系統的仿真模型如圖2所示。其中Bit Generation模塊完成信源信號生成和串行級聯信道編碼。Phase/Frequency Offset與Delay Generation模塊仿真多普勒頻移現象,信號在AWGN信道中進行傳送。QPSK Receiver模塊實現接收數據的同步、解調與信道解碼功能。

圖2 信道編碼調制系統仿真模型
Bit Generation模塊內部結構框圖如3(a)所示。首先消息生成器將信源中的字符轉換成7位二進制碼,得到固定幀長的比特數據,再進行信道級聯編碼。信道級聯編碼仿真設計如圖3(b)所示。首先,信號進行CRC編碼,提高信道檢錯性能。RS-CC級聯碼間加入交織器來擴散突發錯誤,結合數據加擾操作,再次均衡噪聲帶來的干擾,消除信號中長“0”或長“1”帶來的同步干擾。

圖3 信道級聯編碼原理框圖與仿真設計圖
各模塊具體參數設置如下。
① 信源:采用固定幀長輸出,每幀長度84 bit。
② CRC編碼器:CRC Generator采用CRC-16生成多項式為
G(x)=x16+x12+x5+1
(1)
CRC在每幀數據后添加16位校驗位,得到固定幀長100 bit輸出。
③ RS編碼器:采用Binary RS encoder模塊。m,n,k值分別設置為5,20,10。可檢測10個碼元,糾正5個碼元錯誤。
④ 交織器:采用Matrix Interleaver,按行讀入,按列讀出。根據RS輸出幀長200 bit/f,行列數分別設置為20,10。
⑤ 擾碼:Scrambler加擾多項式設置為[1 1 1 0 1]。
⑥ 卷積編碼器:采用1/2碼率的(2,1,7)卷積碼,m,n,k值分別設置為7,2,1。卷積編碼器之后加入緩沖區重新對數據組幀,并在每幀數據的起始位置加入13位的巴克碼作為數據幀頭,格式為(1 1 1 1 1 0 0 1 1 0 1 0 1),用于接收端數據的幀同步。最后,再利用Bernoulli Binary將每幀數據長度擴充至500 bit,用于QPSK調制。
調制信號進入信道之前,升余弦濾波器對波形進行整形,濾波器的滾降系數設置為0.5,并對信號進行4倍上采樣來防止出現碼間串擾。
信道模型中利用Phase/Frequency Offset與Delay Generation模塊仿真無人機在空中盤旋飛行狀態下的多普勒頻移現象。Phase/Frequency Offset設置頻率偏移為5000 Hz,相位偏移為47°。Delay Generator以0.05為間隔,在[0,8]區間內先遞增后遞減循環輸出頻率和相位延遲信號。AWGN采用SNR信噪比模式,輸入信號功率為0.25 W。
在QPSK接收機模塊集成了信號同步解調和信道譯碼兩個子模塊。接收機對信號完成解調后,再對其進行信號譯碼,其內部結構框圖如圖4(a)所示,仿真設計圖如圖4(b)所示。

圖4 信號接收子系統原理框圖與仿真設計圖
2.4.1 載波同步子系統設計
由于多普勒偏移導致接收信號存在高動態范圍的載波頻率偏差,會導致接收的QPSK調制信號失步,無法解調,系統誤碼率嚴重惡化。因此必須在信號解調前對載波信號進行同步。
考慮到接收信號強度會隨著信道傳輸發生變化,為了保證后續的載波和位同步參數固定并提升同步精度,在匹配濾波之前,首先利用自動增益控制(Automatic Gain Control,AGC)穩定調制信號幅度。AGC設置輸出功率為0.25,步長為0.01。升余弦濾波器調制信號進行2倍降采樣,滾降系數為0.5。
載波同步首先對接收信號頻率進行捕獲,即載波粗同步,對應圖4(b)所示的Coarse Frequency Compensation模塊。粗同步使用FFT頻偏補償[16]的方法,首先對調制信號相位進行4倍頻來消除調制相位。之后FFT利用最大似然法對載波頻偏變化進行估計。
載波跟蹤,即載波精同步,對應圖4(b)中的Fine Frequency Compensation模塊,其內部結構如圖5(a)所示。載波跟蹤采用二階數字鎖相環,由相位誤差檢測器(Phase Error Detector,PED)、環路濾波器(Loop Filter)和直接數字合成器(Direat Digital Syntheslzer,DDS)構成,其仿真設計原理如圖5(b)所示。鑒相器PED測量到的固定時間間隔內載波相位變化量,經過環路濾波器后,反饋給DDS來改進頻率步進間隔,得到高頻率分辨率的本地載波,對接收載波頻率變化量進行跟蹤。環路濾波器設置歸一化帶寬為0.06,阻尼系數為2.5,可以在引入較小相位噪聲時快速鎖定到目標相位。

圖5 精同步模塊原理框圖與仿真設計圖
2.4.2 位同步子系統設計
位同步子系統,即如圖4(b)中所示的Timing Recovery模塊,仍采用數字鎖相環方式[17],其內部結構如圖6(a)所示,仿真設計原理如圖6(b)所示。

圖6 位同步子系統原理框圖與仿真設計圖
NCO Control模塊產生控制信號,為Timing Error Detector(TED)模塊提供有效的時間誤差檢測位置,從而更新內插濾波器(Interpolation Filter)中的時間誤差,找到正確的內插位置。Interpolation Filter采用Farrow Parabolic濾波器。TED的輸出送入環路濾波器,濾波后反饋給NCO Control更新時間誤差。環路濾波器的環路帶寬設置為0.01,阻尼系數為1,即臨界阻尼狀態。
另外,為了后續信號進行幀同步,位同步需要對輸出信號進行緩存,每次緩存一幀長數據。位同步模塊同時提供DataValid信號,用于觸發幀同步模塊,保證其在位同步有效的情況下工作。
2.4.3 幀同步與解調子系統設計
圖4(b)中的Data Decoding子系統實現信號的幀同步、“相位模糊”解算和解調功能,其內部結構框圖和仿真設計原理圖分別如圖7(a)和圖7(b)所示。Compute Delay模塊每次輸入一幀數據,與調制后的巴克碼元進行求自相關操作,根據相關峰峰值確定幀頭位置后,輸出數據給Align Data。Align Data每次緩存兩幀長數據,利用幀頭索引定位,輸出幀同步后完整的一幀數據。

圖7 幀同步與解調子系統原理框圖與仿真設計圖
精同步后的載波相位存在0°、90°、180°或270°的相位偏移,從而造成QPSK解調時會出現“相位模糊”的現象。Phase Offset Estimator模塊計算接收信號中巴克碼和原始巴克碼之間的相位偏差。Phase Ambiguity Correction &Demodulation根據相位偏移量糾正信號相位后,對其進行解調。QPSK Demodulator采用log-likelihood ratio判決,bit形式輸出。Quantizer在[-3,3]區間內對輸出數據進行量化,用于Viterbi軟判決解碼。
2.4.4 串行級聯信道解碼子系統設計
該子系統設計是信道編碼子系統的逆向設計。解調信號經Viterbi譯碼后,再進行數據解擾與解交織,最后完成RS解碼和CRC譯碼。Viterbi譯碼的判決方式設置為軟判決,判決比特數為3,回溯深度設置為200,其余模塊參數設置與編碼器保持一致。系統利用Error Rate Calculation模塊統計接收數據誤比特率,計算模式為Entire Frame模式,由于卷積編碼的回溯長度會造成時延,計算時延設置為200,接收時延為0。
本次實驗分為兩個部分。第一部分一共設計了5組QPSK系統模型,分別為未編碼、RS(20,10)編碼、(2,1,7)卷積編碼、RS(20,10)+交織+(2,1,7)卷積級聯編碼,以及本文提出的串行級聯編碼的QPSK系統模型。信源發生器均生成固定字符串“Hello World!”,發射機采樣率為1.92e-6。為了使接收比特數達到10e-6數量級,所有模型的仿真時間均設置為40 s。改變AWGN信道的信噪比,比較不同信噪比情況下的誤碼率。
在第二部分的測試中將系統置于瑞利衰減信道中進行數據傳輸,信號發生器傳輸的數據、發射機采樣率和仿真時間均與第一部分的實驗設置保持一致。改變信道信噪比,統計系統在衰減信道中傳輸的誤碼率。
3.2.1 AWGN信道誤碼率分析
為了測試系統在不同信噪比下的抗干擾性能,AWGN信道的信噪比分別設置為-2~10。運行仿真模型,統計5組仿真模型的誤碼率,其部分結果如表1所示。

表1 不同信噪比下未編碼和4種信道編碼的QPSK系統誤碼率統計結果
由表1可以看出,誤碼率在10e-5數量級下,串行級聯編碼系統編碼增益可達到5 dB。這說明在外界干擾較大時,本文信道編碼方法可以有效改善QPSK系統的抗干擾性能。
另外,根據統計結果繪制了5組系統的誤碼率對比圖,信噪比變化范圍為2~10 dB,如圖8所示。由圖8可以看出,本文信道編碼方式在不同信噪比條件下均能夠有效降低誤碼率,并且在小信噪比條件下,其抗干擾性能提升更加顯著。同時,加入CRC編碼后,系統的抗干擾性能明顯得到了提高。

圖8 5種信道編碼QPSK系統的誤碼率對比圖
3.2.2 瑞利衰減信道誤碼率分析
為了測試系統在多徑干擾下的抗干擾性能,并且驗證交織技術對于增強系統在瑞利衰減信道中傳輸可靠性的效果。將瑞利衰減信道的信噪比變化范圍設置為2~10 dB,分別統計系統在使用與不使用交織技術后,經過瑞利衰減信道后的傳輸誤碼率。
根據統計結果,繪制了系統在瑞利衰減信道下和在AWGN信道中傳輸的誤碼率對比圖,如圖9所示。

圖9 瑞利衰減信道與AWGN信道中系統誤碼率對比圖
由圖9可以看出,系統在瑞利衰減信道中的傳輸誤碼率明顯高于AWGN信道,這是由于瑞利信道的多徑干擾和頻率選擇性衰減造成的。但是系統在瑞利衰減信道中的抗干擾性能并沒有大幅度惡化,在信噪比為6 dB的情況下,系統誤比特率可以達到10e-5數量級。
同時,從圖9中可以看出,系統經過交織編碼,在瑞利衰減信道中的傳輸誤比特率有了明顯的下降趨勢。這說明交織技術能夠有效改善系統在瑞利衰減信道中的抗干擾性能。
在硬件開發平臺上對系統模型進行了實際效果測試。硬件平臺采用ADI公司生產的ADRV9361-Z7035開發板,其內部集成了AD9361射頻捷變收發器與Xilinx Z7035可編程SoC。
將上文的信道編碼調制系統拆分為QPSK Transmitter與QPSK Receiver兩個子系統,其仿真設計圖分別如圖10和圖11所示,均布署在兩臺ADRV9361-Z7035開發板上。

圖10 QPSK Transmitter子系統仿真設計圖

圖11 QPSK Receiver子系統仿真設計圖
發送端的QPSK Transmitter子系統首先在Bits Generation中進行信道級聯編碼,再完成QPSK調制,并利用buffer模塊對數據進行緩存,逐幀輸入到AD936x Transmitter模塊,獲得可通過天線傳輸的射頻信號。
接收端的QPSK Receiver子系統接收到天線傳輸信號后,送入AD936x Receiver模塊處理,將射頻信號轉換成QPSK調制信號,并通過data valid為QPSK Receiver模塊提供使能信號,保證其在調制信號有效的情況下進行解調。
AD936x Transmitter和Receiver的基帶采樣率為520841 Hz,IP地址為192.168.3.2,與射頻模塊的硬件IP地址保持一致。Transmitter的發射增益為-10 dB。ADRV9361-Z7035開發板采用雙通道全雙工對通測試,每個通道配置一根天線,天線頻率分別為1430 MHz和860 MHz。兩塊射頻開發板均通過網線分別與兩臺主機連接。進行硬件對通測試時,兩臺主機均首先運行QPSK Transmitter,再運行QPSK Receiver。主機1的發射和主機2的接收頻率為1430 MHz,主機1的接收與主機2的發射頻率為816 MHz。進行兩臺設備間的全雙工對通測試。
接收到的數據會通過以太網利用UDP回傳給主機,顯示實際接收結果。接收端的顯示輸出如圖12所示,統計當前接收到的數據幀和誤碼率。由于接收端存在時延,在進行誤碼率統計時,在Error Rate Calculation模塊上加入一個enable信號,在有效信號到來時,激活該模塊開始統計當前誤碼率。從接收端輸出結果可以看到,本系統傳輸誤碼率可以穩定在0.1%左右,當CRC檢測到誤碼時,系統會丟掉該幀,并顯示 “error!”對用戶進行提示。

圖12 實際接收結果
對通測試結果表明,將本系統部署在硬件平臺上,可以在保證誤碼率的情況下實現兩臺射頻設備間正常的無線通信。本算法可以直接將模型部署在硬件設備上,大幅減少了硬件語言開發工作量。將其應用到無人機測控系統中,具有一定的工程實現價值。
為了提高無人機測控系統的抗干擾性能,降低誤碼率,提出了一種基于模型的無人機測控系統信道編碼調制算法。在QPSK系統中,采用CRC-16+RS(20,10)+交織(20,10)+卷積碼(2,1,7)的串行級聯編碼方式,并輔以數據加擾技術增強信號傳輸抗干擾性能。仿真結果表明,本系統在不同信噪比條件下均能夠顯著降低誤碼率,尤其在小信噪比條件下,效果更加明顯。在誤碼率達到10e-5數量級時,系統編碼增益達到5 dB,有效改善了QPSK系統的抗干擾性能。并且本系統模型能夠直接部署在射頻收發設備上,在保證誤碼率的情況下實現兩臺設備間正常的無線通信。相比于現有硬件實現方法,基本免去了硬件代碼開發的工作。將其部署在無人機測控系統中,具有一定的工程實現價值。