COSTAS環是一種閉環自適應系統,用于提取相干載波。本文主要介紹了一種用于載波同步的高階COSTAS環路,用于完成MPSK的相干解調中的載波同步。本文提出了一種便于軟件實現的COSTAS環路的簡化結構,用于完成8PSK的載波同步,并詳細討論了采取數字信號處理器(DSP)編程實現COSTAS環路的一些問題。
關鍵詞:COSTAS環, DSP, MPSK, 載波同步
1. 引言
MPSK調制是應用最為廣泛的數字調制方式之一。按照信號檢測理論,對MPSK調制信號的平均誤碼率最小的最佳接收方式為采用鎖相環路的相干接收方式。但是,MPSK調制信號是抑制載波的信號,不能用常規的鎖相環或窄帶濾波器直接提取參考載波。而且不同于一些相位連續的調制信號,其載波相位變化只能取有限的幾個離散值,說明調制信號中包含了參考載波的相位信息。可以通過非線性處理,消除信號中的調制信息,恢復調制信號中的隱含的載波信號,從而完成信號的相干解調。目前,常用的MPSK載波恢復的方法包括:平方環法,鎖相環法等。本文中,作者設計了新型的高階COSTAS環,它具有可靠、捕捉帶寬大、能快速實現同步的優點。
2. 高階COSTAS環路的工作原理和結構
Costas在1956年首先提出采用同相-正交環來恢復載波信號。隨后,Riter等人證明跟蹤低信噪比的抑制載波信號的最佳裝置為COSTAS環及平方環。COSTAS環路是一種閉環自動調整系統,傳統的模擬COSTAS環路因為同相支路與正交支路的不平衡性從而使環路的性能受到一定影響,并且模擬電路存在直流零點漂移、調試困難的缺點,而全數字COSTAS環可以避免以上缺點,而且基于軟件無線電原理的COSTAS環路具有很強的兼容性。
2.1 普通COSTAS環路的工作原理和設計
2.1.1 COSTAS環路的一般原理
COSTAS環路包括鑒相器、環路濾波器、壓控振蕩器。鑒相器是一個簡單的乘法器。LF(環路濾波器)在COSTAS環路中不僅能起到低通濾波器的作用,并決定了COSTAS環路的性能參數。由于理想二階有源環路濾波器性能遠優于其它環路,鎖定時穩態相差為0,同步帶大,本文采用理想二階環路,其數字化原理圖如圖1所示。
2.2 多相信號中提取載波
對于BPSK有兩個相位,可用上述方法來提取載波。但是常用的MPSK有M個相點,不能采用圖1的COSTAS環路來提取載波,必須采用多相COSTAS環。
圖2 四相PSK信號COSTAS環原理框圖
3. 高階COSTAS環路的DSP算法優化
從上面M=8的高階鎖相環的結構來看,8PSK信號進入高階COSTAS環路,需要采用DSP實現八路鑒相器,八路低通濾波器(濾掉倍頻分量,得到低頻分量)和壓控振蕩器,計算量是非常龐大的。如何進行資源合理配置、達到DSP實時處理是載波恢復的難點,因此需要對DSP程序的優化作深入的研究。
在用C語言進行DSP軟件開發時,一般先在PC機上對算法進行仿真,再將C語言移植到DSP平臺中。按照開發的順序,相應的優化工作也包括兩部分:一是仿真環境中的優化,二是DSP目標環境的進一步優化。下面結合TI公司的TMS320C64x系列DSP的C編譯器,討論在MPSK的相干解調中的具體優化工作。
3.1 SIN/COS函數的查表算法
為了提高算法的實現效率,介紹運行時計算的時間開銷,應盡可能把一些運行時計算的參數做成查找表或常數數值。這不僅適用于一些比較規整的參數表,對于一些并不規整的運行時的計算,例如上下變頻和VCO中,用到與載波相乘的SIN/COS的計算,可以采用寫成數組,用查表來實現。
3.2 運算的流水處理
DSP的CPU多采用流水線結構。DSP的大多數指令為單周期指令,而跳轉類指令卻通常要耗費較多的機器周期。可以將多重循環拆開,減少對外層循環次數進行控制轉移的時間,充分利用優化器構成的流水線。
3.3 CIC梳狀濾波器的使用
利用CIC濾波器代替低通濾波器,達到減少定點乘法和加法運算的目的,解決了單片C6416資源不足的問題。例如:本文中載波速率為4800kHz,采樣率為230.4kHz,鑒相器輸出的高頻頻率為9600kHz,采用48階CIC可以將9600kHz的頻率分量濾掉。由于在 的位置,因此濾除效果非常好,遠大于 。CIC濾波器每項系數都是1,利用加法運算可以實現需要大量乘法和加法運算的功能,減少對DSP片內資源的使用。
3.4數據傳輸的EDMA方式
在調制解調過程中,DSP和外部之間存在大量數據的交換,這部分的優化工作影響系統性能。C64x支持EDMA,EDMA是增強型DMA,是一種在沒有CPU介入情況下的訪問存儲器的方式,即由EDMA控制器控制數據在L2內存/緩存和片內集成外設及片外設備之間的傳輸,而同時CPU可以并行的執行其它指令。EDMA是一種有效的數據傳輸方式,可以有效的減少EMIF在CPU下操作需要的資源。
具體實現方法如下:在片內數據存儲區定BUF的長度,并一分為二,可設為BUF1和BUF2。在EMDA里BUF1和BUF2都是等存儲大小的。在數據幀同步信號的上升沿,DSP以EDMA的方式從外部讀一幀的數據到BUF1;同時BUF2內的數據進行MPSK的解調算法。同理,在下一個數據幀同步信號的上升沿,DSP以EDMA的方式從外部讀另一幀的數據到BUF1 。BUF1讀滿后,DSP對BUF1內的數據進行MPSK的解調算法,同時BUF2進行數據的讀操作,實現EDMA的乒乓處理。
4、高階COSTAS環路的DSP實現結果
本文選取8PSK的符號速率為2400kbps,載波速率為4800kHz,采樣率為230.4kHz。圖2所示的兩路信號分別是利用CCS開發工具的觀察窗口觀察到的,提取的同頻同相的載波信號和8PSK的調制信號。
圖3 恢復的載波信號(上)和接收到的基帶信號(下)
圖4 8PSK接收端解調前星座圖(AWGN信道,SNR=17dB)
5. 結束語
本文主要介紹了一種新型的適用于MPSK載波提取的高階COSTAS環路,能滿足MPSK相干解調的需要,且便于DSP實現。針對COSTAS環算法的DSP實時實現問題,進行了詳細的討論。最后,針對一個具有較高數據速率8PSK調制解調實例,在單片C6416上完成了基于高階COSTAS環的載波同步及相干解調,并給出了通過CCS工具觀察到的DSP實現結果,證明高階COSTAS鎖相環具有較好的載波同步性能。