夏繼媛,胡啟龍
(深圳職業(yè)技術學院 電子與信息工程學院,廣東 深圳518055)
同步是通信系統(tǒng)中收發(fā)雙方之間相互協(xié)調(diào)的一個關鍵環(huán)節(jié),同步系統(tǒng)的性能優(yōu)劣直接決定著通信質(zhì)量的好壞。沒有一個良好的同步系統(tǒng),則收發(fā)之間的通信就無法進行。尤其是數(shù)字通信,除了載波同步外,還要求有位同步、幀同步,在擴譜通信中還有擴譜碼的同步,對于數(shù)字通信網(wǎng)則還有網(wǎng)同步的問題[1-2]。對于幀同步、擴譜碼同步和網(wǎng)同步而言,位同步則是前提和基礎。位同步又稱為碼元同步,也有稱之為比特同步和時鐘同步的[3],是指要求通信接收端必須產(chǎn)生與所接收的碼元重復頻率和相位相一致的比特定時脈沖序列,以保證接收方能夠正確地對數(shù)字通信的基帶信號進行比特級信息的抽樣判決。
本文提出一種基于最小均方誤差原理的碼元同步捕捉算法,該算法在收發(fā)雙方時鐘不一致的前提下能夠快速對比特流數(shù)據(jù)的起始點做出估計,為后續(xù)碼元恢復和同步跟蹤的順利完成打下堅實基礎。該算法通用性強,利用有限的運算資源能夠快速有效地實現(xiàn)基帶數(shù)字信號的碼元初始同步,易于高速單片機及DSP實現(xiàn),具有良好的抗噪性能。同時用算法取代部分硬件電路,使電路小型化,并以ATMEL公司的ATMEGA16L芯片為例,給出了算法在實現(xiàn)過程中的程序優(yōu)化策略及注意事項。
接收方先對發(fā)送方發(fā)出的含有噪聲的比特數(shù)據(jù)流進行解調(diào),然后取觀察長度為L的比特數(shù)據(jù)進行采樣,要求觀察長度L至少包含3個碼元數(shù)據(jù)信息,每個碼元采樣 M個樣點,利用該(L×M)個樣點進行位同步捕捉計算,得出比特數(shù)據(jù)流的起始點,然后利用碼元判決算法對含有噪聲的數(shù)據(jù)進行恢復,同時根據(jù)計算出來的判決誤差實現(xiàn)對碼元同步進行跟蹤調(diào)整。在獲得初始位同步的前提下,基帶信號的處理流程框圖如圖1所示。
無論采用什么波形和碼型,數(shù)字基帶信號都可以用統(tǒng)一的數(shù)學式表示,設構成數(shù)字基帶信號的基本波形g(t)如圖2所示,其數(shù)學表達式如式(1)所示。
再將gi=g(Δt+iTs)帶入式(3)可得:si=bk-1gM+i+bkgi,在同步的條件下,接收信號序列被劃分為碼元段,每段 M個樣點。第 k碼元的第 i個樣點記為r?ki,其中含有的有用信號為Aski=A(bk-1g(M+i)+bkgi),式中,A為接收信號幅度。
快速位同步的任務是進行同步點的初值估計,計算出時間偏移的采樣點數(shù)(即同步點的位置)?;痉椒ㄊ抢米顑?yōu)化技術,使得接收序列與參考序列的均方誤差最小。
建立定時中斷時隙周期,0時隙開始采樣信號,共KM 個樣點,記為 r(n),n=0,1,…,KM-1,去直流后的樣點記為 r?(n),n=0,1,…,KM-1。 在位同步的前提下,一段碼元波形對應M個樣點,但在未同步時,KM個樣點跨越(K+1)段碼元段,將其分別編號為0,1,…,K。若最后一段包含m個樣點,則首段(第0段)包含M-m個樣點,m=0,1,…,M-1。 對應一個 m,假設 Hm,認為這種樣點分段與發(fā)射信號碼元同步,初始定時的算法即檢驗哪種假設成立;對每種假設,恢復出(K+2)bit數(shù)據(jù),以此計算出對應的均方距離Dm,最小者對應合理假設,得出合理的m值后,調(diào)整采樣時隙,使調(diào)整之后的采樣時刻為碼元的理論采樣時刻。
同步捕獲的任務是進行同步點的初值估計,系統(tǒng)采樣 12 bit數(shù)據(jù),即 48對 rX、rY,按照同步捕獲算法公式,最終得到時間偏移的采樣點數(shù),進而修改采樣時隙ts。編程使用的算法公式中間涉及多個序列,根據(jù)其使用周期和字長,合理分配內(nèi)存,對已使用完畢的序列進行覆蓋,預防SRAM空間的資源緊缺和分配混亂,降低程序出現(xiàn)不明錯誤的概率?,F(xiàn)以ATMEL公司的ATmega16L單片機為例,程序流程圖如圖3所示,SRAM具體分配如表1所示,程序從地址為160的內(nèi)存單元開始,每55個內(nèi)存單元為一組,共分出8組,進行各個序列的存放,依據(jù)運算順序,可依表格從上到下,從左到右進行三次復用。
圖3 程序流程圖
表1 同步捕獲程序內(nèi)存分配
在規(guī)定了各個運算序列的內(nèi)存地址之后,即可依據(jù)公式進行編程,最終得到同步偏移采樣點數(shù)m。在實際調(diào)試過程中,為了測試程序運算的正確性,在完成48對樣點采集之后,將定時中斷關閉,用串口將樣點傳出并在仿真程序中進行理論運算,可得到中間所有序列的理論值和最終的m值。在捕獲算法運算過程中,可通過添加簡單的串口傳數(shù)程序傳出實際運算出的序列,與理論值進行對比即可方便地檢查程序的正確性。
對于m值,亦可通過采樣點繪制的波形圖判斷正誤,如圖4所示,為某次采集的樣點,程序計算出的m值為1,意味著最后一段包含1個樣點,則在圖中,從右側(cè)去除一個樣點,每4個樣點一組,恰好能對波形進行合理的采樣,此m值正確。
通過測試,同步捕獲模塊的運算時間為2.245 ms,捕獲之后,仍然保持83.3 μs的定時采樣時間,平均能保持153 bit的正確接收,這就給同步跟蹤的實現(xiàn)創(chuàng)造了很充裕的時間。
綜合上述分析,在信噪比SNR很低的情況下,觀察長度滿足一定條件時,該初始位同步捕捉算法能對比特數(shù)據(jù)流的起始點做出正確估計,具有較強的抗噪性能。該算法與載波相位、頻偏無關,說明此算法具有良好的穩(wěn)定性。算法結(jié)構簡單,易于在DSP和高速單片機上實現(xiàn)。筆者已經(jīng)將該算法在AVR單片機上實現(xiàn)并成功應用于某軍事無線電數(shù)字通信系統(tǒng)中。
[1]樊昌信,張甫翊,徐炳祥,等.通信原理(第 5版)[M].北京:國防工業(yè)出版社,2001.
[2]張應中,張德民,溫啟榮,等.數(shù)字通信工程[M].北京:人民郵電出版社,1996.
[3]譚雪霏.數(shù)字通信系統(tǒng)中同步技術的研究[D].南京:南京理工大學,2007.
[4]喬俊杰.QAM解調(diào)芯片中碼元同步電路的設計與實現(xiàn)[D].南京:東南大學,2006.