趙仕良,谷婧,張婕,汪文蝶
(四川師范大學物理與電子工程學院 成都 610101)
數(shù)字信號可以作為數(shù)據(jù)信息的載體在信道中傳輸,其信號取值只有有限個的特性使其在信息傳輸過程中有很強的抗干擾性。數(shù)字信號有3 個要素:位同步時鐘、波形和碼型[1]。其中位同步時鐘提取是抽樣判決的前提,是數(shù)字通信系統(tǒng)的重要組成部分[2]。位同步時鐘速率等于數(shù)字信源的信息傳輸速率。接收端進行數(shù)字信號恢復時需要位同步時鐘提供抽樣脈沖,然后對抽樣值進行判決以恢復數(shù)字信號。因此收發(fā)同步最主要的是指位同步時鐘的步調(diào)一致性,獲得位同步時鐘將為進一步的字同步或幀同步奠定必要基礎[3]。同步性能會對通信系統(tǒng)的性能產(chǎn)生影響,如果系統(tǒng)出現(xiàn)同步錯誤或失去同步有可能使通信系統(tǒng)性能下降或中斷[4]。
在目前的數(shù)字通信中,常用的方法有數(shù)字鎖相環(huán)法[5-10]、測周法[11]、內(nèi)插法[12]等,主要使用FPGA 平臺實現(xiàn)。數(shù)字鎖相環(huán)法首先將信號與時鐘進行鑒相,對所得相位超前滯后信息進行計數(shù),數(shù)控振蕩器根據(jù)前方計數(shù)數(shù)據(jù)得出的增減指令進行一個時鐘脈沖的加減,由此調(diào)整時鐘的相位。測周法獲取輸入碼元的周期信息,計算信號的頻率,然后提取其上升沿以實現(xiàn)位同步。近些年來,也常使用基于Gardner 算法的內(nèi)插法來實現(xiàn)位同步,主要利用內(nèi)插濾波器改變輸入信號,從而恢復出數(shù)字信號的位同步[13]。
數(shù)字鎖相環(huán)法和測周法可調(diào)整的范圍相對較小,其中應用廣泛的數(shù)字鎖相環(huán)法往往需要已知頻率的大致范圍,同步帶寬較窄,若對于寬范圍的不同頻率的信號,則需要花費大量資源,造成結構復雜[14]?;贕ardner 算法的內(nèi)插法消耗的硬件資源大,同步建立時間長,穩(wěn)定性較差。為適應現(xiàn)今高速數(shù)字處理的需要,改進Gardner 算法的內(nèi)插法通常環(huán)路結構復雜,實現(xiàn)較為困難,且同步性能有所下降。并且上述文獻中研究的都是非歸零(non return zero,NRZ)的位同步提取,同時基于事先已知位同步時鐘的大致范圍來實現(xiàn)。
本文綜合測周法和數(shù)字鎖相法的優(yōu)點,以任意占空比的單極性數(shù)字信號為研究對象,利用FPGA進行高速打點和DSP 的軟件算法來完成位同步時鐘速率的計算,然后由FPGA 進行數(shù)字分頻得到一個頻率和位同步一致的時鐘,讓該時鐘和FPGA 構建的數(shù)字鎖相環(huán)進行相位比對,從而完成任意占空比數(shù)字信號的自動識別、占空比的計算和位同步時鐘盲提取。
系統(tǒng)方案采用DSP 和FPGA[15-18]的雙核系統(tǒng),總體設計思想如圖1 所示。充分利用FPGA 的高速特性進行高低電平雙向打點計數(shù)、數(shù)字分頻和數(shù)字鎖相的構建。利用DSP 的靈活性進行整個控制,利用DSP 高精度計算特性完成占空比和位同步頻率的計算,利用DSP 程序邏輯識別功能完成NRZ和RZ 的自動識別功能。
圖1 系統(tǒng)總體設計思想框圖
按照上述總體設計思想,該文所用系統(tǒng)總體原理框圖如圖2 所示。首先將外部時鐘送給FPGA 產(chǎn)生一個m 序列用于測試[19-20],其中m 序列有NRZ和RZ 有兩種模式;然后將m 序列送入計數(shù)器,用高速時鐘進行高低電平雙向打點,DSP 從FPGA中獲取高低電平的一系列打點數(shù),通過算法先自動識別出NRZ 和RZ,計算占空比和位同步時鐘頻率字;最后DSP 將位同步時鐘頻率字返回至FPGA,F(xiàn)PGA 用設計的分頻模塊產(chǎn)生出和位同步時鐘頻率相同的時鐘,并將該時鐘送入FPGA 構建的數(shù)字鎖相環(huán)進行相位比對,從而完成位同步時鐘盲提取的數(shù)字實現(xiàn)。
圖2 系統(tǒng)總體原理框圖
在一個碼元周期中,高電平持續(xù)時間間隔τ與碼元時間間隔Tb的比值即為信號的占空比D,即。D=100%時稱為全占空,這樣的數(shù)字信號稱為非歸零信號,0 以任意占空比的單極性RZ 信號為研究對象,用速率為fm的高速時鐘對其高低電平打點,將高低電平各自打點的第i個數(shù)據(jù)分別記為NH,i和NL,i,原理見圖3。FPGA 從這一系列值中尋找到各自最小的計數(shù)值,分別記為NH,min和NL,min,最短高電平持續(xù)時間TH,min和最短低電平持續(xù)時間TL,min分別為: 圖3 打點計數(shù)原理 假設在時間范圍內(nèi)能捕捉到單獨的高電平打點數(shù)據(jù),單極性信號的占空比為D,根據(jù)最短高電平持續(xù)時間TH,min可以得到碼元時間間隔Tb為: 選一組TH,min、TL,min作為研究對象,令這段時間出現(xiàn)低電平的個數(shù)為n,如圖4 所示。根據(jù)時間關系可以得到TH,min、TL,min和D滿足關系: 圖4 TH,min、TL,min 和 D的關系示意圖 所以D可以表示為: DSP 可以根據(jù)檢測的TH,min、TL,min以及n的整數(shù)特性、最小性(也是TL,min的最小性)和0 同時在算法中考慮了占空比為50%和100%的區(qū)別。通過分析,若占空比為50%,則高電平打點計數(shù)值中不會出現(xiàn)最小高電平打點計數(shù)值的倍數(shù);在100%占空比中,一般會出現(xiàn)其倍數(shù)值。 數(shù)字鎖相環(huán)采用超前?滯后型鎖相環(huán),其基本工作原理是通過增加或減少脈沖的方式來調(diào)整位同步時鐘的相位[21-25],鎖相環(huán)系統(tǒng)框圖如圖5 所示。 圖5 數(shù)字鎖相環(huán) 首先生成數(shù)控振蕩器(digital controlled oscillator,DCO)模塊,利用QUARTUS 內(nèi)部PLL 模塊生成高頻時鐘信號,并將其分頻并生成兩個相位相反的脈沖信號;同時將輸入信號與本地估算信號(輸出信號)經(jīng)過數(shù)字鑒相器(digital phase detector,DPD)得出滯后、超前脈沖信號;將上述生成信號輸入到數(shù)字環(huán)路濾波器(digital loop filter,DLF)中,內(nèi)部產(chǎn)生加脈沖信號和減脈沖信號并進行相“或”運算,得到的輸出信號進入N 分頻器中輸出位同步時鐘信號。輸出信號經(jīng)鑒相器、濾波器、N 分頻器后又回到鑒相器,形成閉環(huán),當環(huán)路達到穩(wěn)定時鎖定環(huán)路,輸出信號與輸入信號頻差為0,相位差恒定。 假設碼元時間間隔為Tb,則位同步時鐘頻率。在該文建立的系統(tǒng)中fb的信息傳輸過程可以用圖6 來描述。首先FPGA 對速率為Rb=fb、占空比為D的數(shù)字信號進行高低電平雙向打點,然后將每次高電平打點計數(shù)值NH和低電平打點計數(shù)值NL傳給DSP。DSP 通過軟件算法計算出占空比D′以及位同步時鐘頻率通過高速打點時鐘fm離散化后的整數(shù)頻率字N,最后通過FPGA 中時鐘頻率為fm的數(shù)字分頻器分出一個與原始位同步時鐘(BS)頻率基本一致但相位未知的一個時鐘 BS′,其頻率記為。 圖6 位同步時鐘頻率信息傳輸過程 在上述位同步時鐘頻率信息傳輸和轉換過程中,將出現(xiàn)兩次誤差。假設原始數(shù)字消息為NRZ(占空比D=100%),下面詳細分析這兩次誤差的情況。 第一次出現(xiàn)在FPGA 打點過程中。本系統(tǒng)用高速打點時鐘fm對高低電平雙向打點。計數(shù)器對高速打點結果進行計數(shù),這個數(shù)永遠都是整數(shù)。打點過程可以理解為對連續(xù)信號進行離散量化的過程。對連續(xù)變化的數(shù)字信號位同步時鐘頻率fb進行打點量化后的結果記為。這將產(chǎn)生第一種誤差,這也是系統(tǒng)的主要誤差。 第二次出現(xiàn)在DSP 傳輸給FPGA 的頻率字N上,這個頻率字也稱為分頻系數(shù)N。DSP 測得碼元間隔的計算公式為,一般而言是一個浮點數(shù),但傳給FPGA 的頻率字N是一個整數(shù),所以這個頻率字的傳輸也將產(chǎn)生誤差。 通過上述分析,假設數(shù)字信號位同步時鐘頻率為fb,高速打點時鐘速率為fm,則頻率字或分頻系數(shù)N為: 式中,N是整數(shù),其范圍為1≤N≤fm。 第一次誤差是連續(xù)信號量化過程中產(chǎn)生的誤差,第二次誤差由浮點數(shù)轉換成整數(shù)產(chǎn)生,這些誤差是數(shù)字化實現(xiàn)系統(tǒng)必然存在的。一般而言,第一個過程已經(jīng)經(jīng)過整數(shù)化處理,第二個過程的誤差相對較小,可以忽略不計,所以整個系統(tǒng)的誤差來源于第一個過程,可以認為=。 由式(8)可以看出,位同步時鐘頻率相對誤差理論最大值δmax(fb)和fb近似成正比關系。fb越小,δmax(fb)越小,盲提取位同步時鐘越準確;fb越大,δmax(fb)越大,盲提取位同步時鐘誤差越大。δmax(fb)和fm成反比,fm越大,計數(shù)產(chǎn)生的相對誤差越小,δmax(fb)越小。 以上分析的是NRZ(D=100%)雙向打點系統(tǒng)盲提取位同步時鐘的理論誤差情況。對于RZ,即0 同理可得,修正后的最大相對誤差為: 式中,fb為數(shù)字信號的位同步時鐘頻率;fm為高低電平雙向打點時鐘頻率;D為數(shù)字信號的占空比。 根據(jù)上述分析,雙向打點系統(tǒng)不可能做到對每個頻率都很準確的進行盲提取。在實際通信中已知打點系統(tǒng)的時鐘頻率fm,給定盲提取位同步時鐘的相對誤差最大值δmax,根據(jù)式(10)可以得到滿足上述條件實現(xiàn)盲提取的位同步時鐘頻率的理論最大值fbmax為: 用MATLAB 來仿真NRZ 雙向打點系統(tǒng)位同步時鐘頻率相對誤差。建立的仿真模型為:高速雙向打點時鐘頻率fm=150MHz;連續(xù)位同步時鐘頻率fb為橫軸,其范圍從1Hz~150MHz;δ(fb)為縱軸;將橫縱坐標都取對數(shù)進行繪制,其MATLAB仿真結果見圖7。 由理論仿真圖可知: 1)圖7b 和7c 可以看到,在頻率字N不變的局部范圍內(nèi),隨著位同步時鐘頻率fb增加,δ(fb)從0 增加到局部最大;同時fb越小,N越大,局部越線性,δmax(fb)越小。 2)從 圖7a可看 出,在1Hz~10MHz 范圍內(nèi),曲線都比較密,容易盲提取,縱軸取值越小,相對誤差越小,精度越高。 3)在圖7a 中給定了一些相對誤差的最大值δmax,由仿真程序計算出可以實現(xiàn)最高位同步時鐘頻率fbmax,如表1 所示。 圖7 雙向打點系統(tǒng)位同步時鐘頻率相對誤差仿真圖 表1 NRZ 情況下δmax和 fbmax 的理論關系表 當δmax=10?3時,fbmax=150.3KHz,表示原始位同步時鐘整數(shù)頻率fb<150.300 KHz時都滿足最大誤碼率δmax=10?3。根據(jù)實際商用通信系統(tǒng)情況來看,在fb≤1.5 KHz時,最大相對誤差δmax=10?5,理論上可以做很高質量的類似于固定電話級別的數(shù)字通信系統(tǒng)位同步時鐘盲提取;在fb≤150 KHz時,最大相對誤差δmax=10?3,可以做類似于互聯(lián)網(wǎng)級別的數(shù)字通信系統(tǒng)位同步時鐘盲提??;在fb≤1.5 MHz時,最大相對誤差δmax=10?2,可以做類似于手機級別的數(shù)字通信系統(tǒng)位同步時鐘盲提取。從相對誤差來看,該系統(tǒng)能達到較高精度,但從時鐘頻率大小看還有待提高。 硬件條件:FPGA 芯片為EP4CE6E22C8N,其晶振為50MHz;DSP 芯片為TMS320F28335,其晶振為30MHz。 FPGA 打點時鐘頻率:150MHz。 單極性數(shù)字信號:NRZ 用PN31 的m 序列,RZ 用PN7 的m 序列。 選擇不同的fm作為系統(tǒng)高速打點時鐘和分頻器時鐘進行測試,實驗數(shù)據(jù)見表2。 表2 系統(tǒng)打點時鐘和分頻器時鐘選擇 根據(jù)前面理論分析的系統(tǒng)誤差公式可以看出,理論上fm越大越好。實驗選擇的FPGA 芯片最多由50M 倍頻到400M,但發(fā)現(xiàn)系統(tǒng)配合起來,頻率太高可能造成打點和分頻不太準,所以在能保證打點計數(shù)較多,同時也可以實現(xiàn)較寬的盲提取范圍及其準確程度的前提下,選擇了fm=150 MHz作為系統(tǒng)打點和分頻時鐘頻率。 4.3.1 盲提取誤碼率公式的驗證 選擇打點時鐘頻率為150MHz,以PN31 的NRZ 進行位同步盲提取,實驗數(shù)據(jù)見表3。 表3 NRZ 位同步盲提取實驗數(shù)據(jù) 占空比為D=20%、50%、80%這3 種情況的RZ 位同步盲提取測試實驗數(shù)據(jù)見表4。 實驗數(shù)據(jù)分析: 1)NRZ 實驗數(shù)據(jù)分析:由表3 可知,在NRZ情況下,誤碼率隨著位同步時鐘頻率上升的過程中,在兩個相鄰極小值點中出現(xiàn)了δ(fb)逐漸攀升的過程,攀升到最大值然后突變到極小值,同時δ(fb)總體趨勢是隨著fb的增加而增加的。在實驗中還發(fā)現(xiàn),如果從最低頻開始頻率每1Hz 逐漸增加到12.288KHz 附近時,盲提取位同步時鐘頻率能夠很好的同步跟隨原始時鐘頻率。這樣的通信系統(tǒng)基本就沒有錯誤,可以和語音電話通信系統(tǒng)媲美。 2)RZ 實驗數(shù)據(jù)分析:由表4 可知,相同fb情況下,占空比D=20%和D=80%的相對誤差基本相等。實驗數(shù)據(jù)證明了:對于RZ 盲提取,用“高低電平中實際打點寬度小的一方”為參考依據(jù)來計算相對誤差的正確性,也就是說相對誤差δ(fb)和δmax(fb)與(D,1?D)min成反比是正確的。 表4 3 種不同占空比RZ 位同步盲提取實驗數(shù)據(jù) 綜上所述,表3 和表4 驗證了文中分析的雙向打點系統(tǒng)中任意數(shù)字信號盲同步時鐘盲提取的相對誤差公式即式(9)是正確的。 4.3.2 盲提取同步時鐘頻率理論極限值的驗證 給定盲提取位同步時鐘頻率最大相對誤差δmax=10?2和δmax=10?3,在D分別為50%、100%兩種情況下最大位同步時鐘頻率fbmax的實驗數(shù)據(jù)見表5。 通過表5 可以發(fā)現(xiàn),在最大相對誤差δmax相同的情況下,輸入數(shù)字信號最大位同步時鐘頻率fbmax與(D,1?D)min呈線性關系,同時,相同占空比情況下,fbmax與δmax成正比。說明文中建立的盲提取時鐘頻率理論極限公式即式(11)是正確的。 表5 盲提取位同步時鐘最大頻率理論極限實驗數(shù)據(jù)表 4.4.1 NRZ 位同步時鐘盲提取波形 實驗發(fā)現(xiàn),位同步時鐘頻率fb<12.288KHz 時,提取的位同步時鐘頻率可以很好的跟隨輸入的變化而變換,輸入位同步時鐘頻率變化1Hz,提取的位同步時鐘頻率也相應變化1Hz。隨著頻率增加個別頻率會出現(xiàn)無法鎖相的情況,這種情況隨著頻率變大越來越嚴重。這是由于打點系統(tǒng)最大相對誤差越來越大造成的。文中理論分析的誤差原理和仿真結果完全相同。 NRZ 的位同步時鐘頻率為1.002MHz,用示波器觀察原始位同步時鐘、原始NRZ、盲提取位同步時鐘及同步后的NRZ 波形,原始數(shù)據(jù)和識別數(shù)據(jù)之間不存在延時,如圖8 所示。 圖8 NRZ 位同步時鐘盲提取的實驗波形 4.4.2 RZ 位同步時鐘盲提取波形 當RZ 的速率設fb為 50KHz、占空比D為80%,用示波器觀察原始位同步時鐘、原始RZ、盲提取位同步時鐘及同步后的RZ 波形,原始數(shù)據(jù)和識別數(shù)據(jù)之間存在2us 的延時,如圖9 所示。 圖9 RZ 位同步時鐘盲提取的實驗波形 4.4.3 NRZ 和占空比50%的RZ 位同步時鐘盲提取波形 位同步時鐘頻率fb為 151.5KHz 的NRZ 盲提取測試結果如圖10 所示。圖中由上至下依次為原始位同步時鐘、原始NRZ 序列、盲提取的位同步時鐘及識別的數(shù)字信號,原始數(shù)據(jù)和識別數(shù)據(jù)之間不存在延時。 圖10 NRZ 位同步時鐘盲提取的實驗波形 位同步時鐘頻率fb為149.3KHz、占空比D=50%的RZ 盲提取測試結果如圖11 所示。圖中由上至下依次為原始位同步時鐘、原始占空比D=50%的RZ 序列、盲提取的位同步時鐘及識別的數(shù)字信號,原始數(shù)據(jù)和識別數(shù)據(jù)之間有800ns 的延時。 圖11 50%占空比的RZ 位同步時鐘盲提取的實驗波形 通過在DSP 程序中引入算法進行自動識別,從而區(qū)別NRZ 和RZ。通過高低電平雙向打點,得到一系列高低電平打點計數(shù)值,判斷高電平打點系列值中是否有最小值的m倍(m為大于1 的整數(shù)),如果有就是NRZ,若沒有則是RZ。這個判別等價于:假設原始數(shù)字信號中存在連續(xù)的“1”和單獨的“1”,從理論上看NRZ 高電平打點計數(shù)值應該存在一個最小數(shù)及其最小數(shù)的整數(shù)倍;如果是RZ,則高電位打點計數(shù)值會出現(xiàn)基本不變的一個值,從而區(qū)別NRZ 和RZ。通過實驗結果,驗證了上述判別原理是正確的。 理論分析發(fā)現(xiàn),NRZ 和D=50%的RZ 最難自動識別。實驗數(shù)據(jù)和波形很好的證明了DSP 中設計的自動算法很好的識別了NRZ 和RZ,從而盲提取了各自的位同步時鐘。 該文搭建“FPGA+DSP”的雙核硬件系統(tǒng),該系統(tǒng)是一種純數(shù)字的雙核系統(tǒng),兼顧了FPGA 的高頻高速性能和DSP 的靈活控制、自動識別和計算功能,從而實現(xiàn)了任意數(shù)字信號位同步時鐘的自動盲提取。同時也兼顧了測周法和數(shù)字鎖相環(huán)的優(yōu)點,從而實現(xiàn)了寬范圍的位同步時鐘的自動提取。通過測試,該系統(tǒng)具有很好的穩(wěn)定性和可靠性,具有較小的延時。 該系統(tǒng)也有一些缺陷:1)硬件平臺搭建相對復雜,同時功耗也相對較大;2)數(shù)字實現(xiàn)系統(tǒng)在描述連續(xù)量時就會產(chǎn)生量化誤差。行之有效的方法是選擇晶振頻率高的FPGA,以及通過內(nèi)部穩(wěn)定的倍頻實現(xiàn)穩(wěn)定可靠的雙向打點系統(tǒng),來完成任意占空比數(shù)字信號的位同步時鐘盲提取,達到減少相對誤差的目的。2.2 DSP 盲同步算法原理
2.3 數(shù)字鎖相環(huán)原理
3 盲同步數(shù)字實現(xiàn)系統(tǒng)的誤差分析
3.1 位同步時鐘頻率信息傳輸過程
3.2 位同步時鐘頻率相對誤差
3.3 盲提取位同步時鐘頻率的理論極限
3.4 打點系統(tǒng)盲提取相對誤差的仿真
4 測試結果
4.1 測試條件
4.2 系統(tǒng)打點時鐘的選擇
4.3 盲提取誤碼率公式及位同步時鐘頻率極限值的驗證
4.4 位同步時鐘盲提取波形
5 結束語