基于疊加訓(xùn)練序列光OFDM系統(tǒng)幀同步算法FPGA實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:光纖通信系統(tǒng)中引進(jìn)OFDM技術(shù)給O-OFDM系統(tǒng)帶來對(duì)同步、高峰均比等敏感問題。疊加訓(xùn)練序列技術(shù)時(shí)IM/DDO-OFDM系統(tǒng)幀同步算法研究,設(shè)計(jì)了FPGA的算法實(shí)現(xiàn)結(jié)構(gòu),聯(lián)合Matlab,Modelsim等仿真工具驗(yàn)證算法開發(fā)的有效性。實(shí)驗(yàn)結(jié)果表明,疊加的訓(xùn)練序列對(duì)數(shù)據(jù)影響較小,與傳統(tǒng)方法相比,具有更高的同步正確率,易于實(shí)現(xiàn),有較強(qiáng)的工程應(yīng)用前景。
關(guān)鍵詞:疊加訓(xùn)練序列技術(shù);OFDM;幀同步;Modelsim
0 引言
正交頻分復(fù)用技術(shù)OFDM是一種特殊的多載波傳輸方式,具有抗多徑能力強(qiáng)、頻譜利用率高、適合高速數(shù)據(jù)傳輸?shù)葍?yōu)點(diǎn),因此已被廣泛地應(yīng)用于最新的無線通信系統(tǒng)中。本文設(shè)計(jì)基于疊加訓(xùn)練序列的多模光纖IM/DDO-OFDM系統(tǒng)幀同步算法。QuartusⅡ軟件仿真平臺(tái)和Verilog HDL硬件描述語言進(jìn)行訓(xùn)練序列的產(chǎn)生、訓(xùn)練序列與數(shù)據(jù)符號(hào)的疊加運(yùn)算,以及進(jìn)行幀同步算法實(shí)現(xiàn)。其Modelsim仿真實(shí)現(xiàn)幀同步結(jié)果與Matlab仿真實(shí)現(xiàn)的結(jié)果一致,為實(shí)際的工程設(shè)計(jì)提供了可靠的依據(jù)。
1 系統(tǒng)模型
為了滿足系統(tǒng)傳輸實(shí)信號(hào)的要求,將二進(jìn)制數(shù)據(jù)流經(jīng)過星座圖映射(如:M-QAM或QPSK)后進(jìn)行厄米特共軛對(duì)稱(Hermitian Symmetry,HS)變換,使得經(jīng)過快速傅里葉逆變換(Inverse Fast Fourier Transform,IFFT)后得到雙極性實(shí)信號(hào)。疊加訓(xùn)練序列IM/DDO-OFDM系統(tǒng)模型如圖1所示。
2 疊加訓(xùn)練序列設(shè)計(jì)及幀同步方法
一個(gè)數(shù)據(jù)幀可以包含多個(gè)OFDM符號(hào),實(shí)現(xiàn)幀同步主要是為了確定接收端數(shù)據(jù)幀的起始位置。通過把已知的訓(xùn)練序列疊加在一個(gè)完成OFDM符號(hào)上,包含兩個(gè)O-OFDM數(shù)據(jù)符號(hào)的系統(tǒng)幀結(jié)構(gòu)如圖2所示。
假設(shè)所要設(shè)計(jì)的訓(xùn)練序列長(zhǎng)度為N,根據(jù)以下步驟可以構(gòu)造出單極性實(shí)訓(xùn)練序列。
步驟1:設(shè)計(jì)一個(gè)自相關(guān)性良好的序列A,長(zhǎng)度為L(zhǎng),且L<<N,N=mL;
步驟2:將序列A進(jìn)行長(zhǎng)度為L(zhǎng)點(diǎn)的IFFT后,得序列為B;
步驟3:取長(zhǎng)度為L(zhǎng)的序列B的實(shí)部或者虛部作為序列C;
步驟4:將雙極性序列C變成單極性序列D(將小于0的信號(hào)置0);
步驟5:將D進(jìn)行簡(jiǎn)單的重復(fù)m/2次,形成序列E,即:EN/2=[D D…D];
步驟6:將序列E進(jìn)行鏡像變換得到鏡像序列F;
步驟7:將原序列E和鏡像序列F構(gòu)成長(zhǎng)度為N的訓(xùn)練序列T,即:EN=[EN/2 FN/2]。
根據(jù)上述7個(gè)步驟所設(shè)計(jì)出的訓(xùn)練序列EN前后兩部分均具有周期性,采取同時(shí)采用了鏡像特性進(jìn)行構(gòu)造,這使得后續(xù)設(shè)計(jì)的幀同步算法可以降低計(jì)算復(fù)雜度,而且在同步性能上也更具優(yōu)勢(shì)。
將所設(shè)計(jì)好的訓(xùn)練序列線性疊加在一個(gè)完整的O-OFDM符號(hào)上,并對(duì)訓(xùn)練序列和被疊加的O-OFDM符號(hào)進(jìn)行功率分配,其中訓(xùn)練序列分配弱能量。接收端,通過本地弱能量序列與處理后的接收信號(hào)進(jìn)行互相關(guān)獲取幀同步。
經(jīng)疊加后的幀信號(hào)經(jīng)過多模光纖信道后,接收端的模數(shù)轉(zhuǎn)換后的信號(hào)r(n)可以表示為:
式中:“”表示循環(huán)卷積;h(n)表示多模光纖信道脈沖響應(yīng);w(n)表示電域高斯白噪聲;s(n)表示發(fā)送數(shù)據(jù);t(n)為訓(xùn)練序列,且訓(xùn)練序列結(jié)構(gòu)上滿足上述EN鏡像對(duì)稱性,β表示功率能量分配因子,和分別表示訓(xùn)練序列和發(fā)射數(shù)據(jù)的功率。
在式(1)中,訓(xùn)練序列分配的能量非常弱,為了使同步時(shí)刻的能量能夠足夠大,而不受其他旁瓣干擾,先對(duì)接收信號(hào)r(n)進(jìn)行處理。截取長(zhǎng)度為N的接收信號(hào),利用式(2)進(jìn)行變換得到新的接收信號(hào)z(n)。
z(n)=r(n)+r(N-n+1) (2)
變換后得到的新序列z(n)具有原序列兩倍的能量,與本地訓(xùn)練序列F進(jìn)行互相關(guān),來獲取同步。幀同步函數(shù)可以表示為:
式中:d為整數(shù),表示接收信號(hào)序列與本地序列之間的相對(duì)滑動(dòng)位置,N/2為相關(guān)長(zhǎng)度。采用的訓(xùn)練序列具有良好的自相關(guān)性和弱互相關(guān)性,當(dāng)d滑動(dòng)到同步位置時(shí)刻,幀同步函數(shù)Cor(n,d)達(dá)到最大值,其余時(shí)刻為幅度較小的隨機(jī)信號(hào)。
為了降低接收機(jī)同步設(shè)計(jì)的復(fù)雜度,采用預(yù)設(shè)門檻值T,當(dāng)檢測(cè)器的輸出Cor(n,d)滿足式(4),P(n)表示接收信號(hào)的功率,則此刻的d達(dá)到幀同步位置。
|Cor(n,d)|2>T·P(n) (4)
3 算法性能Matlab仿真分析
仿真參數(shù)主要包括:發(fā)送數(shù)據(jù)比特流為10 Gb/s,調(diào)制方式為16-QAM,系統(tǒng)子載波數(shù)為256,光纖鏈路部分采用1 310 nm的多模光纖,衰減常數(shù)α=0.2 dB/km,考慮色散效應(yīng),取值為17 ps/(nm·km),PIN光電檢測(cè)器的靈敏度設(shè)定為1 A/W,暗電流為10 nA。以下的仿真結(jié)果基于10 000次蒙特卡羅仿真。
3.1 功率分配因子與BER性能
通過不同信噪比下的系統(tǒng)BER性能及不同功率分配因子下的算法同步正確率仿真綜合得出最佳功率分配因子,仿真結(jié)果如圖3,圖4所示。
從圖3,圖4可以看出,當(dāng)功率分配因子逐漸增大時(shí),意味著疊加在數(shù)據(jù)OFDM符號(hào)上的能量越來越大,使得目標(biāo)函數(shù)的能量值越大。但系統(tǒng)的BER性能變得越來越差,相反算法的同步性能變得越來越好。權(quán)衡兩者性能,選擇最佳功率分配因子β=0.05,后續(xù)將以此功率分配因子為基礎(chǔ)進(jìn)行仿真。需要說明的是,仿真系統(tǒng)BER性能的時(shí)候,將疊加訓(xùn)練序列作為干擾信息,沒有進(jìn)行信道估計(jì),因此圖3中不會(huì)出現(xiàn)極值現(xiàn)象。
3.2 同步性能仿真比較
圖5中給出了色散系數(shù)分別為17 ps/(nm·km)和34 ps/(nm·km)下不同傳輸距離的算法同步性能仿真。D表示色散系數(shù),L表示傳輸距離??梢钥闯觯嗤⑾?,傳輸距離越長(zhǎng),光能量損耗越大,使得算法同步性能變差;同時(shí)相同傳輸距離下,不同色散系數(shù)對(duì)算法的同步性能也將產(chǎn)生影響,色散系數(shù)越大,使得同步性能變差。由此可以判斷在光OFDM系統(tǒng)中,光纖的色散和傳輸距離會(huì)影響算法的同步性能。
為了更加突出幀同步算法性能的優(yōu)越性,圖6將通過仿真驗(yàn)證算法的均方誤差(Mean Square Error,MSE)性能??梢钥闯?,算法隨著信噪比的增大,趨近于穩(wěn)定,收斂性較快。在信噪比大于-2 dB的情況下,算法性能穩(wěn)定。
構(gòu)造的訓(xùn)練序列具有良好的自相關(guān)性能,同時(shí)對(duì)于接收信號(hào)進(jìn)行簡(jiǎn)單的移位截取鏡像疊加處理,把長(zhǎng)序列相關(guān)轉(zhuǎn)換為短序列相關(guān),降低了計(jì)算量,減少硬件資源的消耗。文獻(xiàn)中采用長(zhǎng)度為512的m序列,算法2采用了兩次循環(huán)嵌套的累積求和方法,算法3利用求平均的方式,而本文采用長(zhǎng)度為256的序列,將截取長(zhǎng)度為512的接收信號(hào)進(jìn)行鏡像疊加處理,把長(zhǎng)序列的乘積轉(zhuǎn)化為短序列的乘積,降低了使用乘法器的次數(shù),同時(shí)采用的訓(xùn)練序列比文獻(xiàn)中的要短。因此,本文的同步算法在計(jì)算復(fù)雜度上比文獻(xiàn)中的算法2和算法3更具優(yōu)勢(shì)。
4 幀同步算法的FPGA仿真實(shí)現(xiàn)
4.1 訓(xùn)練序列產(chǎn)生
訓(xùn)練序列產(chǎn)生(Training Sequence Generator,TSG)模塊的硬件實(shí)現(xiàn)結(jié)構(gòu)如圖7所示。TSG采用頻率為20 MHz時(shí)鐘進(jìn)行基帶處理。從微處理器送出的控制信號(hào)ACK用來啟動(dòng)TSG模塊的工作。與IM/DDO-OFDM符號(hào)長(zhǎng)度N(N=64)保持一致,ACK信號(hào)持續(xù)拉高1 025個(gè)時(shí)鐘,一共持續(xù)完成64個(gè)周期的訓(xùn)練序列輸出,每個(gè)周期內(nèi)有16個(gè)時(shí)域樣值。其中,TSG模塊輸出數(shù)據(jù)采用8位帶符號(hào)的二進(jìn)制表示,后8個(gè)周期TSG模塊輸出數(shù)據(jù)與前8個(gè)周期輸出的數(shù)據(jù)具有鏡像對(duì)稱關(guān)系。
經(jīng)過綜合、布局、布線后仿真,得出TSG工程文件的Modelsim仿真如圖8所示。
每個(gè)TSG周期的16個(gè)時(shí)域樣值存儲(chǔ)在FPGA片內(nèi)的ROM中。其中高8位為訓(xùn)練序列樣值的實(shí)部,低8位為訓(xùn)練序列樣值的虛部。由圖8可知,當(dāng)ACK信號(hào)為高時(shí),Count16開始計(jì)數(shù)1 025個(gè)時(shí)鐘,產(chǎn)生的地址信號(hào)控制ROM將存儲(chǔ)的16個(gè)時(shí)域訓(xùn)練序列采樣值讀取,先重復(fù)m/2(m=8)個(gè)周期,形成訓(xùn)練序列的前半部分,再重復(fù)8個(gè)周期,形成訓(xùn)練序列的后半部分,最后組合成所需要的疊加訓(xùn)練序列。從輸出部分可以看出,TSG_SY信號(hào)與TSG模塊輸出的訓(xùn)練序列實(shí)部和虛部樣值保持同步。
4.2 訓(xùn)練序列疊加方式的FPGA實(shí)現(xiàn)
根據(jù)圖1疊加訓(xùn)練序列IM/DDO-OFDM系統(tǒng)模型利用FPGA設(shè)計(jì)實(shí)現(xiàn)訓(xùn)練序列與光數(shù)據(jù)OFDM符號(hào)的疊加。在保持發(fā)射功率不變,分別對(duì)訓(xùn)練序列和光數(shù)據(jù)OFDM符號(hào)進(jìn)行了功率分配。訓(xùn)練序列疊加(TSSP)模塊主要端口說明:TSSP_CLK:工作時(shí)鐘,頻率為20 MHz;OOFDM_DIN:被疊加的光OFDM符號(hào)數(shù)據(jù)幀;TSG_DIN:訓(xùn)練序列實(shí)部或者虛部;POWER_CT:疊加功率分配控制,保持發(fā)射機(jī)功率不變;TSSP_ACK:高電平有效,控制OOFDM_DIN和TSG_DIN的輸入;TSSP_DOUT:TSSP模塊輸出信號(hào);TSSP_INDEX:疊加信號(hào)輸出的坐標(biāo)序號(hào);TSSP_RDY:TSSP輸出有效,與OOF DM_DIN信號(hào)同步。
經(jīng)過綜合、布局、布線后仿真,得出TSSP工程文件Modelsim仿真如圖9所示,局部放大結(jié)果見圖10。
從圖9,圖10可以看出,未疊加前,信號(hào)輸出端TSSP_DOUT輸出的是光OFDM符號(hào)數(shù)據(jù),TSSP_RDY信號(hào)持續(xù)低電平;信號(hào)疊加時(shí),TSSP_RDY信號(hào)持續(xù)高電平,信號(hào)輸出端TSSP_DOUT輸出的是經(jīng)過功率控制后的疊加信號(hào);疊加操作完成后,TSSP_RDY信號(hào)被拉低,信號(hào)輸出端TSSP_DO UT輸出的是光OFDM符號(hào)數(shù)據(jù)。疊加輸出的信號(hào)TSSP_DOUT與輸入的信號(hào)OOFDM_DIN和TSG_DIN持續(xù)的周期一致,且保持8個(gè)數(shù)據(jù)位長(zhǎng)度。在輸出部分,TSSP_INDEX輸出訓(xùn)練序列與O-OFDM符號(hào)疊加后的數(shù)據(jù)坐標(biāo)序號(hào)。
4.3 幀同步仿真實(shí)現(xiàn)及性能分析
幀同步模塊的外部接主要端口說明:INEN同步的輸入數(shù)據(jù)有效信號(hào),與數(shù)據(jù)同步;BITINREC:處理后的接收信號(hào);BITINTSG:本地訓(xùn)練序列;CORRLETAIONSUM:幀同步輸出數(shù)據(jù);INDEX:幀同步輸出數(shù)據(jù)的坐標(biāo)序號(hào);OUTEN:幀同步后輸出數(shù)據(jù)有效信號(hào)。
Modelsim仿真軟件得到仿真結(jié)果如圖11所示。CORRLETAIONSUM為接收信號(hào)經(jīng)過處理得到的BITINREC與本地訓(xùn)練序列BITINTSG進(jìn)行互相關(guān)運(yùn)算的累加和,DOUTEN為幀同步后(即相關(guān)運(yùn)算累加和值大于預(yù)設(shè)門限值),同步拉高。圖12為幀同步歸一化Matlab仿真圖。從圖11中可以看出,輸出信號(hào)CORRLETAIONSUM與圖12中的相關(guān)峰值歸一化結(jié)果基本一致,驗(yàn)證了幀同步算法在FPGA上實(shí)現(xiàn)的可能。判斷依據(jù)是在圖11中有個(gè)DOUTEN信號(hào)和INDEX信號(hào),其中DOUTEN信號(hào)表示的搜索到最大值時(shí)刻進(jìn)行同步信號(hào)拉高處理,INDEX信號(hào)為幀同步相關(guān)后的坐標(biāo)序號(hào)輸出值。在DOUTEN信號(hào)輸出電平拉高的時(shí)候,剛好INDEX信號(hào)的值為153,而相同參數(shù)下Matlab仿真的波形輸出最大值的坐標(biāo)也為153,當(dāng)這兩個(gè)值相等的時(shí)候,可以判斷兩個(gè)仿真波形輸出是一致的。
5 結(jié)語
本文設(shè)計(jì)的重點(diǎn)和難點(diǎn)是疊加訓(xùn)練序列設(shè)計(jì)、FPGA平臺(tái)的構(gòu)建,研究了疊加訓(xùn)練序列光OFDM幀同步算法。并詳細(xì)闡述了各模塊的具體FPGA實(shí)現(xiàn)方法,提高了同步的精度。最終通過Matlab和Modelsim完成了目標(biāo)算法的工程實(shí)現(xiàn)。驗(yàn)證了幀同步算法在FPGA上實(shí)現(xiàn)的可能,將逐步被應(yīng)用于各種工程中。