劉啟航 張帥帥 宋越卿 南京郵電大學(xué)貝爾英才學(xué)院
M序列的位同步時鐘的提取與恢復(fù)
劉啟航 張帥帥 宋越卿 南京郵電大學(xué)貝爾英才學(xué)院
針對數(shù)字通信系統(tǒng)中接收端同步時鐘的獲取問題,本文以M序列為傳輸序列,通過對偽隨機序列性質(zhì)的分析,給出具體的位同步時鐘提取和恢復(fù)算法。同步時鐘提取算法的關(guān)鍵在于原始序列的恢復(fù)和最大游程的確定。通過設(shè)計模擬電路恢復(fù)原始序列,在FPGA或DSP上設(shè)計算法確定最大游程恢復(fù)出同步時鐘。由于恢復(fù)的實時時鐘往往有時延抖動,最后還需要通過單片機對數(shù)據(jù)進行擬合來獲得一個準確的時鐘。
M序列 位同步時鐘
數(shù)字通信系統(tǒng)中往往需要偽隨機序列輔助通信,而獲取相關(guān)序列的位同步時鐘是接收端進行解調(diào)等操作的前提。位同步時鐘同步的方法分為兩種:自同步法和外同步法。外同步法是在發(fā)送端另外發(fā)送同步信息,占用帶寬資源。本文主要設(shè)計的是自同步法,在原序列中提取位同步時鐘,節(jié)省資源并且更加準確,誤碼率更低。在實際傳輸過程中,接收端所獲得的M序列通常經(jīng)過了衰減和變形,因此整個提取時鐘分為兩個部分:信號的整形和時鐘的提取。信號的整形主要是將畸變信號進行放大和轉(zhuǎn)換成標準的數(shù)字信號。位同步時鐘提取部分在許多文獻中都采用了基于鎖相環(huán),另外用GPS輔助的方法,這種方法獲得的時鐘很精確,但需要獲取衛(wèi)星時鐘增加了設(shè)備制造的成本。本文設(shè)計的方法是利用高倍頻的時鐘測量并獲取信號的最大脈寬,由反饋函數(shù)計算得出最大游程長度,兩者之比即為時鐘頻率。再利用二倍頻時鐘信號來恢復(fù)出位同步時鐘,原理簡單設(shè)備易實現(xiàn)。
在接收端獲取的信號是一個衰減變形的序列,本文通過π型衰減器和濾波器模擬實際信號干擾效果。信號整形的第一步就是對信號進行放大。放大器的選型選用TI公司的OPA228,OPA288可用作前向放大器,輸入阻抗高,低噪聲,并且設(shè)計電路時注意阻抗匹配。
信號整形的第二步是對信號進行數(shù)字化,該部分電路通常采用比較器將模擬信號轉(zhuǎn)為數(shù)字序列。為了這部分電路對各種信號具有普適性,本文采用兩段比較器輸出。第一段比較器選用壓擺率較小的放大器開環(huán)輸出,得到一個上升較為緩慢的波形。第二段選用一片壓擺率較大的放大器開環(huán)輸出來減少波形的上升時延,從而避免了過沖現(xiàn)象,也防止波形過緩給下面FPGA進行時鐘提取時造成誤差。比較器設(shè)計仿真圖如圖1所示,在設(shè)計實際電路的時候每一段比較器之間還需加上隔離模塊,保證各個模塊之間阻抗匹配互不干擾。
圖1 比較器原理圖
將整形后的M序列輸入FPGA,在FPGA內(nèi)完成對時鐘頻率的獲取。首先根據(jù)輸入的M序列查找其反饋函數(shù),找出最大游程,以28-1長度的M序列為例,最大游程長度為8。其次在FPGA內(nèi)部產(chǎn)生一個高頻插入信號,該信號插入到M序列中,并捕捉插入信號的上升沿和下降沿,獲得該序列的幀信號。最后比較幀信號M序列每一對上升沿和下降沿之間脈沖的個數(shù),找出最大的脈寬。最大脈寬比上最大游程數(shù)即位M序列的時鐘頻率。通過仿真圖2,可以觀察到捕獲的幀信號與原信號之間的對比。
圖2 幀信號捕捉仿真圖
圖中第一行為原始使時鐘,頻率過高無法清晰顯示,第二行和第三行均為插入信號,兩個正反信號,便于捕捉邊沿,第四行為M序列,第五行為幀信號。
根據(jù)之前獲得的幀信號,對時鐘進行恢復(fù)。在產(chǎn)生同步時鐘的時候,要與幀信號的起始相位一致,來保證兩段的時鐘在時間上的一致性。在發(fā)送端M序列的時鐘改變時,會影響在接收端對上升沿和下降沿的捕獲,因此在FPAG內(nèi)部第一次恢復(fù)出同步時鐘后,產(chǎn)生一個二倍頻的時鐘動態(tài)監(jiān)視M序列。當發(fā)送端M序列時鐘改變,二倍頻時鐘檢測到上升沿或下降沿相位產(chǎn)生偏移,便通知捕獲模塊重新捕獲,恢復(fù)出正確的時鐘。
在恢復(fù)出時鐘后,將數(shù)據(jù)緩存到buffer中,以串口協(xié)議發(fā)送給單片機,由于buffer中的數(shù)據(jù)都是實時檢測的數(shù)據(jù),因此需要單片機再對其一組數(shù)據(jù)進行擬合,將大量的實時數(shù)據(jù)擬合出一個精確的時鐘頻率,并在屏幕上顯示出來。
本文對M序列在接收端恢復(fù)提取位同步時鐘的問題給出了具體解決方案。從硬件的選型和設(shè)計到軟件具體算法的實現(xiàn),都作了較為詳盡的闡述。
[1]楊兵見,魏豐,陳永志.Linux下的PCIE同步時鐘卡的設(shè)備驅(qū)動程序開發(fā)[J].計算機測量與控制,2017,25(1):98-100
[2]郜洪亮,劉遵義.基于GPS和FPGA的便攜式高精度同步時鐘的研制[J].電力系統(tǒng)保護與控制,2009,37(2):80-82
[3]李澤文,姚建剛,曾祥君,等.基于數(shù)字鎖相原理的GPS高精度同步時鐘產(chǎn)生新方法[J].電力系統(tǒng)自動化,2009,33(18):82-86
[4]蔣陸萍,曾祥君,李澤文,等.基于GPS實現(xiàn)電力系統(tǒng)高精度同步時鐘[J].電網(wǎng)技術(shù),2011(2):201-206
[5]李澤文,舒磊,鄧豐,等.基于全數(shù)字鎖相環(huán)的電力系統(tǒng)高精度同步時鐘[J].電力自動化設(shè)備,2015,35(7):32-36
[6]GurpreetSibia.低噪聲放大器選擇[J].電子產(chǎn)品世界,2004(19):102-103
第一作者:劉啟航:在讀本科生,研究方向為通信工程;單位:南京郵電大學(xué)。
第二作者:張帥帥:在讀本科生,研究方向為通信工程;單位:南京郵電大學(xué)。
第三作者:宋越卿:在讀本科,研究方向為通信工程單位:南京郵電大學(xué)。