基于FPGA的OFDM系統(tǒng)設(shè)計與實現(xiàn)(2)

2012年05月25日 09:38 來源:互聯(lián)網(wǎng) 作者:秩名 我要評論(0)

標(biāo)簽:OFDM(152)FPGA(1779)

  4 系統(tǒng)調(diào)試與性能分析

  采用OFDM技術(shù)的無線城域網(wǎng)通信系統(tǒng)是一個比較復(fù)雜的系統(tǒng)。利用Matlab仿真完成系統(tǒng)可行性論證后,需要考慮如何利用FPGA完成這個算法流程,這需要考慮采用特定FPGA進(jìn)行運算時有限字長以及浮點運算的特點和系統(tǒng)所占用的FPGA資源,以保證系統(tǒng)的規(guī)模不至于過大而超過特定FPGA計算的存儲能力。經(jīng)過在硬件設(shè)備上的調(diào)試,最終完成采用OFDM技術(shù)的城域網(wǎng)無線通信系統(tǒng)。

  通過仿真完成可行性論證后,在以Altera公司的EP1C6Q240C8芯片為基礎(chǔ)的FPGA硬件平臺上,實現(xiàn)了以QPSK為調(diào)制形式,以FFT/IFFT變換為主的OFDM技術(shù)的城域網(wǎng)無線通信系統(tǒng)。

  4.1 IFFT模塊

  發(fā)送端系統(tǒng)的主時鐘頻率設(shè)計為80MHz,整體采用同步時序邏輯。發(fā)送端M序列的產(chǎn)生速率設(shè)定為80Mbps。送往D/A的數(shù)據(jù)速率設(shè)定為500kHz。在數(shù)據(jù)接收模塊,數(shù)據(jù)收到后立刻存儲,占用時間即為PC發(fā)送數(shù)據(jù)的時間。在QPSK、添零、導(dǎo)頻插入模塊,由于沒有中間存儲器,從RAM讀出數(shù)據(jù),經(jīng)過映射后就直接輸出,整個模塊需要256個時鐘周期。IFFT 模塊采用流水線結(jié)構(gòu)的算法,計算256點 IFFT需要128×8個蝶型單元,合計需要40 960個時鐘,加上輸入輸出所占用的時間,總共約需要41 216個時鐘周期(中間有一些狀態(tài)的跳轉(zhuǎn),合計512μs)。在數(shù)據(jù)輸出模塊,其輸入是 IFFT 模塊的輸出,它的輸出速率由 D/A控制。在FPGA中,OFDM調(diào)制器的邏輯單元的使用情況見表1,OFDM解調(diào)器的邏輯單元的使用情況見表2, IFFT的運算結(jié)果見圖5。

  

  

  在表1和表2中,調(diào)制器和解調(diào)器中所含有的引腳數(shù)過多,主要原因是在這些引腳中還含有很多用于調(diào)試和測量的引腳,在整個系統(tǒng)調(diào)試時,可以將調(diào)試和測量用的引腳去掉,只留有數(shù)據(jù)、地址和控制引腳。

  在解調(diào)器中需要用到大量的存儲單元,但考慮到Cyclone系列的存儲單元有限,而邏輯單元豐富的情況,故在解調(diào)器中,在幾乎耗盡EAB單元時,用邏輯單元來構(gòu)造所需的存儲器,可以實現(xiàn)正常的存儲功能。[next]

  在開發(fā)工程中,主要用到的開發(fā)工具由 Altera 公司的QuartusII 及Mathworks 公司的 Matlab。

  驗證過程如下:

  ·Matlab隨機(jī)生成一組128個復(fù)數(shù),然后按照 OFDM 幀格式插入0得到256復(fù)數(shù)點的一個符號,并寫入文件(如 datain.dat);

  在QuartusII中生成 IFFT 的仿真波形文件(ifft.vwf),另存為 ifft.tbl,并刪除其余信號,僅保留 I&Q(輸入數(shù)據(jù),24bit);

  在UltraEdit中打開ifftt.tbl、datain.dat,用datain.dat 中的隨機(jī)數(shù)代替ifft.tbl 中的 I&Q 數(shù)據(jù),保存ifft.tbl;

  在QuartusII中打開 ifft.tbl,將I&Q復(fù)制到 ifft.vwf 中,開始運行仿真;

  ·將仿真結(jié)果另存為dataout.tbl,用Matlab讀取與原數(shù)據(jù)在Matlab下的IFFT變換結(jié)果進(jìn)行比較分析。

  給出一組隨機(jī)數(shù)據(jù)輸入,經(jīng)過FPGA中的IFFT模塊變換得到時域幅度如圖6(實部)、圖7(虛部)所示。

  

  而將同樣的隨機(jī)數(shù)經(jīng)過MATLAB變換,得到的時域幅度如圖8(實部)、圖9(虛部)所示。

  

  實際測量與仿真計算的方差分析如圖10(實部)、圖11(虛部)所示。兩者結(jié)果基本一致。

  

  

  4.2 幀到達(dá)檢測同步模塊

  對于幀到達(dá)檢測同步系統(tǒng),要求盡可能在較短的時間內(nèi)建立同步,并且在幀同步建立后應(yīng)有較強(qiáng)的抗干擾能力。通常用漏同步概率P1、假同步概率P2和同步平均建立時間ts三個性能指標(biāo)來表示同步性能的優(yōu)劣。在本文的幀同步信號提取電路的建模與設(shè)計中,是以7位巴克碼識別器作為幀同步碼組的。在同步系統(tǒng)處于捕獲階段時,設(shè)置自動判決門限為7;在幀同步建立以后,則把判決門限降為6,這樣做的目的一方面是減少假同步的概率,另一方面是為了減少漏同步的概率。

  漏同步概率P1:

  假設(shè)系統(tǒng)的誤碼率為P,7位碼全部正確的概率是(1-P)7,因此判決門限電平為7時的漏同步概率為P1=1-(1-P)7。若將判決門限改為6,此時允許有一位錯碼,出現(xiàn)一位錯碼的概率為C71P1(1-P)6。漏同步概率為P1=1-[(1-P)7+C71P1(1-P)6]。一般地,設(shè)幀同步碼組數(shù)目為n,判決器容幀同步碼組中最大的錯碼數(shù)為m,則漏同步概率為:

  

  從前面的幀同步系統(tǒng)的設(shè)計可以了解到,識別器只能被動地識別與幀同步碼組相同的碼組,如果在信息碼組中也出現(xiàn)了與幀同步碼組相同的碼組,這時識別器會把它誤認(rèn)為幀同步碼組而出現(xiàn)假同步。

  

  比較式(1)和式(2)可以看出,當(dāng)m增大時,P1減小,P2增大,兩者是矛盾的,另外還可以看出,當(dāng)n增大時,P1增大,而P2減小,兩者也是矛盾的。因此m和n的選擇要兼顧P1和P2的要求。

  平均同步建立時間ts:

  假設(shè)漏同步和假同步都不發(fā)生,即P1=0,P2=0。在最壞的情況下,實現(xiàn)幀同步最多需要一幀的時間。若一幀的碼元為N,碼元寬度為Tb,則最長的幀時間為NTb。如果同時出現(xiàn)漏同步和假同步,需要額外的同步建立時間,由此得到幀同步平均建立時間為:

  ts=(1+P1+P2)×NTb

  4.3 數(shù)據(jù)傳輸速率評價

  經(jīng)過實際測試,針對256點結(jié)合QPSK調(diào)制,每解調(diào)出一個符號平均所需要的指令周期為41 216個時鐘周期,即512μs。對此實際調(diào)試情況,分析其實測參數(shù)數(shù)據(jù)如下:

  一個OFDM符號內(nèi)包含的比特數(shù)為:1/2(卷積碼)×2bit(QPSK)×120(用戶子載波)+2bit(BPSK)×8(導(dǎo)頻子載波數(shù))=136bit,則除去導(dǎo)頻開銷,能夠用于數(shù)據(jù)傳輸?shù)目罩袛?shù)據(jù)率為。

  

  由此可見,實際測試的數(shù)據(jù)傳輸速率達(dá)到本系統(tǒng)要求(150kbps),表明此OFDM基帶處理系統(tǒng)的數(shù)據(jù)傳輸性能充分滿足所制定的標(biāo)準(zhǔn)。

  本文建立的基于FPGA的可實現(xiàn)流水化運行的OFDM系統(tǒng)的硬件平臺,經(jīng)系統(tǒng)調(diào)試和性能評價,符合設(shè)計要求,該硬件平臺的實現(xiàn)使得低成本高速OFDM調(diào)制設(shè)備的實現(xiàn)成為可能。

上一頁12

本文導(dǎo)航