趙仕良,谷婧,張婕,汪文蝶
(四川師范大學物理與電子工程學院 成都 610101)
數字信號可以作為數據信息的載體在信道中傳輸,其信號取值只有有限個的特性使其在信息傳輸過程中有很強的抗干擾性。數字信號有3 個要素:位同步時鐘、波形和碼型[1]。其中位同步時鐘提取是抽樣判決的前提,是數字通信系統的重要組成部分[2]。位同步時鐘速率等于數字信源的信息傳輸速率。接收端進行數字信號恢復時需要位同步時鐘提供抽樣脈沖,然后對抽樣值進行判決以恢復數字信號。因此收發同步最主要的是指位同步時鐘的步調一致性,獲得位同步時鐘將為進一步的字同步或幀同步奠定必要基礎[3]。同步性能會對通信系統的性能產生影響,如果系統出現同步錯誤或失去同步有可能使通信系統性能下降或中斷[4]。
在目前的數字通信中,常用的方法有數字鎖相環法[5-10]、測周法[11]、內插法[12]等,主要使用FPGA 平臺實現。數字鎖相環法首先將信號與時鐘進行鑒相,對所得相位超前滯后信息進行計數,數控振蕩器根據前方計數數據得出的增減指令進行一個時鐘脈沖的加減,由此調整時鐘的相位。測周法獲取輸入碼元的周期信息,計算信號的頻率,然后提取其上升沿以實現位同步。近些年來,也常使用基于Gardner 算法的內插法來實現位同步,主要利用內插濾波器改變輸入信號,從而恢復出數字信號的位同步[13]。
數字鎖相環法和測周法可調整的范圍相對較小,其中應用廣泛的數字鎖相環法往往需要已知頻率的大致范圍,同步帶寬較窄,若對于寬范圍的不同頻率的信號,則需要花費大量資源,造成結構復雜[14]。基于Gardner 算法的內插法消耗的硬件資源大,同步建立時間長,穩定性較差。為適應現今高速數字處理的需要,改進Gardner 算法的內插法通常環路結構復雜,實現較為困難,且同步性能有所下降。并且上述文獻中研究的都是非歸零(non return zero,NRZ)的位同步提取,同時基于事先已知位同步時鐘的大致范圍來實現。
本文綜合測周法和數字鎖相法的優點,以任意占空比的單極性數字信號為研究對象,利用FPGA進行高速打點和DSP 的軟件算法來完成位同步時鐘速率的計算,然后由FPGA 進行數字分頻得到一個頻率和位同步一致的時鐘,讓該時鐘和FPGA 構建的數字鎖相環進行相位比對,從而完成任意占空比數字信號的自動識別、占空比的計算和位同步時鐘盲提取。
系統方案采用DSP 和FPGA[15-18]的雙核系統,總體設計思想如圖1 所示。充分利用FPGA 的高速特性進行高低電平雙向打點計數、數字分頻和數字鎖相的構建。利用DSP 的靈活性進行整個控制,利用DSP 高精度計算特性完成占空比和位同步頻率的計算,利用DSP 程序邏輯識別功能完成NRZ和RZ 的自動識別功能。

圖1 系統總體設計思想框圖
按照上述總體設計思想,該文所用系統總體原理框圖如圖2 所示。首先將外部時鐘送給FPGA 產生一個m 序列用于測試[19-20],其中m 序列有NRZ和RZ 有兩種模式;然后將m 序列送入計數器,用高速時鐘進行高低電平雙向打點,DSP 從FPGA中獲取高低電平的一系列打點數,通過算法先自動識別出NRZ 和RZ,計算占空比和位同步時鐘頻率字;最后DSP 將位同步時鐘頻率字返回至FPGA,FPGA 用設計的分頻模塊產生出和位同步時鐘頻率相同的時鐘,并將該時鐘送入FPGA 構建的數字鎖相環進行相位比對,從而完成位同步時鐘盲提取的數字實現。

圖2 系統總體原理框圖
在一個碼元周期中,高電平持續時間間隔τ與碼元時間間隔Tb的比值即為信號的占空比D,即。D=100%時稱為全占空,這樣的數字信號稱為非歸零信號,0 以任意占空比的單極性RZ 信號為研究對象,用速率為fm的高速時鐘對其高低電平打點,將高低電平各自打點的第i個數據分別記為NH,i和NL,i,原理見圖3。FPGA 從這一系列值中尋找到各自最小的計數值,分別記為NH,min和NL,min,最短高電平持續時間TH,min和最短低電平持續時間TL,min分別為: 圖3 打點計數原理 假設在時間范圍內能捕捉到單獨的高電平打點數據,單極性信號的占空比為D,根據最短高電平持續時間TH,min可以得到碼元時間間隔Tb為: 選一組TH,min、TL,min作為研究對象,令這段時間出現低電平的個數為n,如圖4 所示。根據時間關系可以得到TH,min、TL,min和D滿足關系: 圖4 TH,min、TL,min 和 D的關系示意圖 所以D可以表示為: DSP 可以根據檢測的TH,min、TL,min以及n的整數特性、最小性(也是TL,min的最小性)和0 同時在算法中考慮了占空比為50%和100%的區別。通過分析,若占空比為50%,則高電平打點計數值中不會出現最小高電平打點計數值的倍數;在100%占空比中,一般會出現其倍數值。 數字鎖相環采用超前?滯后型鎖相環,其基本工作原理是通過增加或減少脈沖的方式來調整位同步時鐘的相位[21-25],鎖相環系統框圖如圖5 所示。 圖5 數字鎖相環 首先生成數控振蕩器(digital controlled oscillator,DCO)模塊,利用QUARTUS 內部PLL 模塊生成高頻時鐘信號,并將其分頻并生成兩個相位相反的脈沖信號;同時將輸入信號與本地估算信號(輸出信號)經過數字鑒相器(digital phase detector,DPD)得出滯后、超前脈沖信號;將上述生成信號輸入到數字環路濾波器(digital loop filter,DLF)中,內部產生加脈沖信號和減脈沖信號并進行相“或”運算,得到的輸出信號進入N 分頻器中輸出位同步時鐘信號。輸出信號經鑒相器、濾波器、N 分頻器后又回到鑒相器,形成閉環,當環路達到穩定時鎖定環路,輸出信號與輸入信號頻差為0,相位差恒定。 假設碼元時間間隔為Tb,則位同步時鐘頻率。在該文建立的系統中fb的信息傳輸過程可以用圖6 來描述。首先FPGA 對速率為Rb=fb、占空比為D的數字信號進行高低電平雙向打點,然后將每次高電平打點計數值NH和低電平打點計數值NL傳給DSP。DSP 通過軟件算法計算出占空比D′以及位同步時鐘頻率通過高速打點時鐘fm離散化后的整數頻率字N,最后通過FPGA 中時鐘頻率為fm的數字分頻器分出一個與原始位同步時鐘(BS)頻率基本一致但相位未知的一個時鐘 BS′,其頻率記為。 圖6 位同步時鐘頻率信息傳輸過程 在上述位同步時鐘頻率信息傳輸和轉換過程中,將出現兩次誤差。假設原始數字消息為NRZ(占空比D=100%),下面詳細分析這兩次誤差的情況。 第一次出現在FPGA 打點過程中。本系統用高速打點時鐘fm對高低電平雙向打點。計數器對高速打點結果進行計數,這個數永遠都是整數。打點過程可以理解為對連續信號進行離散量化的過程。對連續變化的數字信號位同步時鐘頻率fb進行打點量化后的結果記為。這將產生第一種誤差,這也是系統的主要誤差。 第二次出現在DSP 傳輸給FPGA 的頻率字N上,這個頻率字也稱為分頻系數N。DSP 測得碼元間隔的計算公式為,一般而言是一個浮點數,但傳給FPGA 的頻率字N是一個整數,所以這個頻率字的傳輸也將產生誤差。 通過上述分析,假設數字信號位同步時鐘頻率為fb,高速打點時鐘速率為fm,則頻率字或分頻系數N為: 式中,N是整數,其范圍為1≤N≤fm。 第一次誤差是連續信號量化過程中產生的誤差,第二次誤差由浮點數轉換成整數產生,這些誤差是數字化實現系統必然存在的。一般而言,第一個過程已經經過整數化處理,第二個過程的誤差相對較小,可以忽略不計,所以整個系統的誤差來源于第一個過程,可以認為=。 由式(8)可以看出,位同步時鐘頻率相對誤差理論最大值δmax(fb)和fb近似成正比關系。fb越小,δmax(fb)越小,盲提取位同步時鐘越準確;fb越大,δmax(fb)越大,盲提取位同步時鐘誤差越大。δmax(fb)和fm成反比,fm越大,計數產生的相對誤差越小,δmax(fb)越小。 以上分析的是NRZ(D=100%)雙向打點系統盲提取位同步時鐘的理論誤差情況。對于RZ,即0 同理可得,修正后的最大相對誤差為: 式中,fb為數字信號的位同步時鐘頻率;fm為高低電平雙向打點時鐘頻率;D為數字信號的占空比。 根據上述分析,雙向打點系統不可能做到對每個頻率都很準確的進行盲提取。在實際通信中已知打點系統的時鐘頻率fm,給定盲提取位同步時鐘的相對誤差最大值δmax,根據式(10)可以得到滿足上述條件實現盲提取的位同步時鐘頻率的理論最大值fbmax為: 用MATLAB 來仿真NRZ 雙向打點系統位同步時鐘頻率相對誤差。建立的仿真模型為:高速雙向打點時鐘頻率fm=150MHz;連續位同步時鐘頻率fb為橫軸,其范圍從1Hz~150MHz;δ(fb)為縱軸;將橫縱坐標都取對數進行繪制,其MATLAB仿真結果見圖7。 由理論仿真圖可知: 1)圖7b 和7c 可以看到,在頻率字N不變的局部范圍內,隨著位同步時鐘頻率fb增加,δ(fb)從0 增加到局部最大;同時fb越小,N越大,局部越線性,δmax(fb)越小。 2)從 圖7a可看 出,在1Hz~10MHz 范圍內,曲線都比較密,容易盲提取,縱軸取值越小,相對誤差越小,精度越高。 3)在圖7a 中給定了一些相對誤差的最大值δmax,由仿真程序計算出可以實現最高位同步時鐘頻率fbmax,如表1 所示。 圖7 雙向打點系統位同步時鐘頻率相對誤差仿真圖 表1 NRZ 情況下δmax和 fbmax 的理論關系表 當δmax=10?3時,fbmax=150.3KHz,表示原始位同步時鐘整數頻率fb<150.300 KHz時都滿足最大誤碼率δmax=10?3。根據實際商用通信系統情況來看,在fb≤1.5 KHz時,最大相對誤差δmax=10?5,理論上可以做很高質量的類似于固定電話級別的數字通信系統位同步時鐘盲提取;在fb≤150 KHz時,最大相對誤差δmax=10?3,可以做類似于互聯網級別的數字通信系統位同步時鐘盲提取;在fb≤1.5 MHz時,最大相對誤差δmax=10?2,可以做類似于手機級別的數字通信系統位同步時鐘盲提取。從相對誤差來看,該系統能達到較高精度,但從時鐘頻率大小看還有待提高。 硬件條件:FPGA 芯片為EP4CE6E22C8N,其晶振為50MHz;DSP 芯片為TMS320F28335,其晶振為30MHz。 FPGA 打點時鐘頻率:150MHz。 單極性數字信號:NRZ 用PN31 的m 序列,RZ 用PN7 的m 序列。 選擇不同的fm作為系統高速打點時鐘和分頻器時鐘進行測試,實驗數據見表2。 表2 系統打點時鐘和分頻器時鐘選擇 根據前面理論分析的系統誤差公式可以看出,理論上fm越大越好。實驗選擇的FPGA 芯片最多由50M 倍頻到400M,但發現系統配合起來,頻率太高可能造成打點和分頻不太準,所以在能保證打點計數較多,同時也可以實現較寬的盲提取范圍及其準確程度的前提下,選擇了fm=150 MHz作為系統打點和分頻時鐘頻率。 4.3.1 盲提取誤碼率公式的驗證 選擇打點時鐘頻率為150MHz,以PN31 的NRZ 進行位同步盲提取,實驗數據見表3。 表3 NRZ 位同步盲提取實驗數據 占空比為D=20%、50%、80%這3 種情況的RZ 位同步盲提取測試實驗數據見表4。 實驗數據分析: 1)NRZ 實驗數據分析:由表3 可知,在NRZ情況下,誤碼率隨著位同步時鐘頻率上升的過程中,在兩個相鄰極小值點中出現了δ(fb)逐漸攀升的過程,攀升到最大值然后突變到極小值,同時δ(fb)總體趨勢是隨著fb的增加而增加的。在實驗中還發現,如果從最低頻開始頻率每1Hz 逐漸增加到12.288KHz 附近時,盲提取位同步時鐘頻率能夠很好的同步跟隨原始時鐘頻率。這樣的通信系統基本就沒有錯誤,可以和語音電話通信系統媲美。 2)RZ 實驗數據分析:由表4 可知,相同fb情況下,占空比D=20%和D=80%的相對誤差基本相等。實驗數據證明了:對于RZ 盲提取,用“高低電平中實際打點寬度小的一方”為參考依據來計算相對誤差的正確性,也就是說相對誤差δ(fb)和δmax(fb)與(D,1?D)min成反比是正確的。 表4 3 種不同占空比RZ 位同步盲提取實驗數據 綜上所述,表3 和表4 驗證了文中分析的雙向打點系統中任意數字信號盲同步時鐘盲提取的相對誤差公式即式(9)是正確的。 4.3.2 盲提取同步時鐘頻率理論極限值的驗證 給定盲提取位同步時鐘頻率最大相對誤差δmax=10?2和δmax=10?3,在D分別為50%、100%兩種情況下最大位同步時鐘頻率fbmax的實驗數據見表5。 通過表5 可以發現,在最大相對誤差δmax相同的情況下,輸入數字信號最大位同步時鐘頻率fbmax與(D,1?D)min呈線性關系,同時,相同占空比情況下,fbmax與δmax成正比。說明文中建立的盲提取時鐘頻率理論極限公式即式(11)是正確的。 表5 盲提取位同步時鐘最大頻率理論極限實驗數據表 4.4.1 NRZ 位同步時鐘盲提取波形 實驗發現,位同步時鐘頻率fb<12.288KHz 時,提取的位同步時鐘頻率可以很好的跟隨輸入的變化而變換,輸入位同步時鐘頻率變化1Hz,提取的位同步時鐘頻率也相應變化1Hz。隨著頻率增加個別頻率會出現無法鎖相的情況,這種情況隨著頻率變大越來越嚴重。這是由于打點系統最大相對誤差越來越大造成的。文中理論分析的誤差原理和仿真結果完全相同。 NRZ 的位同步時鐘頻率為1.002MHz,用示波器觀察原始位同步時鐘、原始NRZ、盲提取位同步時鐘及同步后的NRZ 波形,原始數據和識別數據之間不存在延時,如圖8 所示。 圖8 NRZ 位同步時鐘盲提取的實驗波形 4.4.2 RZ 位同步時鐘盲提取波形 當RZ 的速率設fb為 50KHz、占空比D為80%,用示波器觀察原始位同步時鐘、原始RZ、盲提取位同步時鐘及同步后的RZ 波形,原始數據和識別數據之間存在2us 的延時,如圖9 所示。 圖9 RZ 位同步時鐘盲提取的實驗波形 4.4.3 NRZ 和占空比50%的RZ 位同步時鐘盲提取波形 位同步時鐘頻率fb為 151.5KHz 的NRZ 盲提取測試結果如圖10 所示。圖中由上至下依次為原始位同步時鐘、原始NRZ 序列、盲提取的位同步時鐘及識別的數字信號,原始數據和識別數據之間不存在延時。 圖10 NRZ 位同步時鐘盲提取的實驗波形 位同步時鐘頻率fb為149.3KHz、占空比D=50%的RZ 盲提取測試結果如圖11 所示。圖中由上至下依次為原始位同步時鐘、原始占空比D=50%的RZ 序列、盲提取的位同步時鐘及識別的數字信號,原始數據和識別數據之間有800ns 的延時。 圖11 50%占空比的RZ 位同步時鐘盲提取的實驗波形 通過在DSP 程序中引入算法進行自動識別,從而區別NRZ 和RZ。通過高低電平雙向打點,得到一系列高低電平打點計數值,判斷高電平打點系列值中是否有最小值的m倍(m為大于1 的整數),如果有就是NRZ,若沒有則是RZ。這個判別等價于:假設原始數字信號中存在連續的“1”和單獨的“1”,從理論上看NRZ 高電平打點計數值應該存在一個最小數及其最小數的整數倍;如果是RZ,則高電位打點計數值會出現基本不變的一個值,從而區別NRZ 和RZ。通過實驗結果,驗證了上述判別原理是正確的。 理論分析發現,NRZ 和D=50%的RZ 最難自動識別。實驗數據和波形很好的證明了DSP 中設計的自動算法很好的識別了NRZ 和RZ,從而盲提取了各自的位同步時鐘。 該文搭建“FPGA+DSP”的雙核硬件系統,該系統是一種純數字的雙核系統,兼顧了FPGA 的高頻高速性能和DSP 的靈活控制、自動識別和計算功能,從而實現了任意數字信號位同步時鐘的自動盲提取。同時也兼顧了測周法和數字鎖相環的優點,從而實現了寬范圍的位同步時鐘的自動提取。通過測試,該系統具有很好的穩定性和可靠性,具有較小的延時。 該系統也有一些缺陷:1)硬件平臺搭建相對復雜,同時功耗也相對較大;2)數字實現系統在描述連續量時就會產生量化誤差。行之有效的方法是選擇晶振頻率高的FPGA,以及通過內部穩定的倍頻實現穩定可靠的雙向打點系統,來完成任意占空比數字信號的位同步時鐘盲提取,達到減少相對誤差的目的。

2.2 DSP 盲同步算法原理




2.3 數字鎖相環原理

3 盲同步數字實現系統的誤差分析
3.1 位同步時鐘頻率信息傳輸過程

3.2 位同步時鐘頻率相對誤差





3.3 盲提取位同步時鐘頻率的理論極限

3.4 打點系統盲提取相對誤差的仿真


4 測試結果
4.1 測試條件
4.2 系統打點時鐘的選擇

4.3 盲提取誤碼率公式及位同步時鐘頻率極限值的驗證



4.4 位同步時鐘盲提取波形




5 結束語