<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 網(wǎng)絡(luò)與存儲 > 設(shè)計應(yīng)用 > 用于OFDM調(diào)制解調(diào)模塊的設(shè)計與實現(xiàn)

          用于OFDM調(diào)制解調(diào)模塊的設(shè)計與實現(xiàn)

          作者:淮永進,屈曉聲,韓鄭生 時間:2008-11-06 來源:半導(dǎo)體技術(shù) 收藏

          0 引言

          本文引用地址:http://www.ex-cimer.com/article/89258.htm

            隨著技術(shù)和器件水平的發(fā)展以及對高速和可靠傳輸?shù)囊螅?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/OFDM">OFDM技術(shù)應(yīng)用越來越廣泛,由于其具有高速數(shù)據(jù)傳輸能力、高效的頻譜利用率和抗多徑干擾等能力,成為通信的研究熱點之一。在通信系統(tǒng)中,為實現(xiàn)高效信息的傳輸,可以采用多進制數(shù)字調(diào)制方式來傳輸數(shù)據(jù)符號。本文設(shè)計了一個用于通信系統(tǒng)的通用調(diào)制解詞模塊,采用了BPSK、QPSK、16QAM和64QAM四種調(diào)制方法,利掰共用ROM、共廂減法器等器件的方法,減少了電路規(guī)模和硬件資源消耗。此電路具有能夠通過消息反饋機制來自動調(diào)整調(diào)制方法的能力。

          1 調(diào)制/解調(diào)子模塊結(jié)構(gòu)

            通用調(diào)制解調(diào)模塊原理如圖1所示。其中,選擇子模塊用來選擇調(diào)制子模塊和解調(diào)子模塊采用的調(diào)制方法。子模塊通過判別輸出數(shù)據(jù)的誤碼率來返回信息給選擇子模塊,如果當(dāng)前采用的調(diào)制方法的瀑碼率較高,那么選擇子模塊就會自動調(diào)整采用其他的調(diào)制方法,達到采用最佳調(diào)制方法。


           

            在通用調(diào)制解調(diào)模塊中,最主要的模塊就是調(diào)制子模塊和解調(diào)子模塊。下面介紹這兩個子模塊的設(shè)計和實現(xiàn)。

          2設(shè)計分析

            在調(diào)制子模塊和解調(diào)子模塊的實現(xiàn)中,采用了四種調(diào)制方式:BPSK、QPSK、16QAM和64QAM。

          2.1調(diào)制方式分析

            如圖2所示,BPSK在實際實現(xiàn)時,將0映射為1,將1映射為-1,來完成映射。解調(diào)時,將數(shù)據(jù)進行一下逆轉(zhuǎn)換即可。而QPSK具有4個星座位置,QPSK的映射為:00對應(yīng)-1-li;01對應(yīng)-1+li;10對應(yīng)1-li;11對應(yīng)1+li;并乘以歸一化因子。解調(diào)時,只要進行相反的過程,并將0作為裁決電平,即可實現(xiàn)數(shù)據(jù)的解調(diào)恢復(fù)。


           

            16QAM由星座分布形狀可以分為方形16QAM和非方形16QAM,方形16QAM的星座圖如圖2(c)。根據(jù)星座圖實現(xiàn)時,將00映射為-1,01映射為-1/3,10映射為1,11映射為1/3;解調(diào)時,采用的是硬判決的方法,根據(jù)星座點的位置將空間劃分為16個區(qū)域,每個區(qū)域以星座點為中心,在判定時,落人某個區(qū)域的數(shù)就認為是相應(yīng)星座。64QAM調(diào)制方式與16QAM相似,不過星座點更多,效率也更高,實現(xiàn)中的映射表也更大,同樣,解調(diào)時也采用硬判決。

            實際中,BPSK是一種較為簡單的MPSK,采用了一個ROM存儲映射表,而QPSK由于采用4進制PSK調(diào)制,每種相位信號可表示兩位二進制信息,其編碼效率提高一倍,64QAM由于星座點較多,進行判決的次數(shù)也相應(yīng)較多。

          2.2電路優(yōu)化策略

            一般調(diào)制解調(diào)模塊設(shè)計中,分別設(shè)計和實現(xiàn)各種調(diào)制方式,然后用一個選擇器來進行選擇。但在各種調(diào)制方式的設(shè)計實現(xiàn)中,電路中許多器件都可以共用,將四種調(diào)制方式進行整合,達到電路優(yōu)化設(shè)計是重點考慮的內(nèi)容。具體優(yōu)化設(shè)計策略如下:

          (1)整合ROM

            在調(diào)制子模塊中,根據(jù)四種調(diào)制方式調(diào)制的映射表分析,BPSK和QPSK以及16QAM的映射表都不是很大,可以與64QAM的映射表進行整合,通過對映射表進行適當(dāng)安排,合理的選擇機制,可以實現(xiàn)一個ROM的調(diào)制子模塊,改變以往需要四個ROM分別實現(xiàn)四種調(diào)制的方式。

          (2)整合寄存器、減法器和選擇器

            BPSK和QPSK的解調(diào)較簡單,星座點較少,因此判決最后可以轉(zhuǎn)換成映射關(guān)系。而16QAM和64QAM星座點較多,硬判決的區(qū)域判決需要一系列計算得出。實際判斷時,將數(shù)據(jù)分為實部和虛部,分別進行判決。將實部(虛部)數(shù)據(jù)取模,然后和某星座點模值相減,將相減結(jié)果再取模與閾值相減進行比較,來判斷是否屬于該星座點。所以,16QAM和64QAM解調(diào)制時,可考慮共用進行數(shù)據(jù)運算所需的寄存器、數(shù)據(jù)選擇器、減法器等器件。

          3模塊設(shè)計

            由電路優(yōu)化設(shè)計思想,調(diào)制子模塊采用一個ROM來實現(xiàn)。調(diào)制子模塊主要組成部分是存儲映射表的ROM以及對ROM進行操作的控制器,其中控制器根據(jù)選擇的調(diào)制方式和輸入的數(shù)據(jù)對ROM進行操作。

          3.1 ROM中映射表編制

            如圖3所示,設(shè)計了一個調(diào)制控制來選擇ROM中的映射關(guān)系。基本思想是將四個ROM中的映射表整合到一個ROM中進行存儲。但是不能將四張映射表簡單的進行拼接,使得映射表的選擇變得復(fù)雜,導(dǎo)致ROM的控制器變得龐大。


           

            在編制映射表時,考慮到64QAM有64個映射關(guān)系,需要6位地址線的存儲空間,而16QAM有16個映射關(guān)系,需要4位地址線的存儲空間,因此,采用了將ROM的前64位置分配給64QAM,其后的16位置分配給160AM方法。由于BPSK、QPSK的映射表可以蘊含在64QAM的映射表中,這樣只需要在第七位地址線對64QAM和16QAM進行區(qū)分,這使得ROM控制器易于設(shè)計。

           

          3.2 ROM控制器設(shè)計

            在ROM控制器中,根據(jù)ROM中映射表的安排,第七位地址線為0時對應(yīng)于64QAM調(diào)制,地址線的前六位對應(yīng)于輸入數(shù)據(jù);第七位地址線為1時對應(yīng)于16QAM調(diào)制,地址線的前四位對應(yīng)于輸入數(shù)據(jù)。這樣,根據(jù)前級輸出中輸入的調(diào)制方式和輸入的數(shù)據(jù),模塊控制器就能產(chǎn)生一個7位的地址線,對ROM進行操作。在實際中把地址線的前三位對應(yīng)于輸入數(shù)據(jù)的data_in(0),4-6位對應(yīng)輸入數(shù)據(jù)的data_in(1),即根據(jù)前級輸出和數(shù)據(jù)輸入來指定調(diào)制方式和輸入數(shù)據(jù)對應(yīng)的映射表,完成對ROM的控制。

          3.3子模塊實現(xiàn)

            解調(diào)制采用硬判決的方法,根據(jù)星座點位置將空間進行劃分,把落入相應(yīng)空間的數(shù)對應(yīng)到相應(yīng)星座。根據(jù)數(shù)據(jù)與星座點之間的距離來判斷,在距離小于閾值時,認為相應(yīng)的數(shù)落入此星座空間。

            由于數(shù)據(jù)可分為實部和虛部,判決可以分別進行,步驟相同。如對64QAM,實現(xiàn)如圖4所示,包括以下步驟:(1)由判決模塊1實現(xiàn)對實部取模;(2)子電路1將取模后的數(shù)據(jù)與各星座點數(shù)據(jù)的實部模相減;(3)判決模塊2將結(jié)果再次取模;(4)最后子電路2把取模后的數(shù)據(jù)與預(yù)設(shè)閾值相減,如結(jié)果為負,則判定落入此區(qū)間。同理可進行虛部判決,最后看實部和虛部確定的區(qū)間是否有重疊區(qū)域,就能確定歸屬的星座點。


           
            對不同的星座點,16QAM與64QAM在判決過程中,子電路中的預(yù)設(shè)數(shù)據(jù)不同,因此,子電路1和子電路2不能共用,而判決模塊1和判決模塊2可以共用。傳輸?shù)臄?shù)據(jù)中,負數(shù)用補碼表示,用選擇器進行選擇,對負數(shù)和正數(shù)分別進行取模。判決模塊在16QAM和64QAM解調(diào)時可共用。
          3.4調(diào)制方式選擇

            調(diào)制方式選擇模塊中對應(yīng)四種調(diào)制方式分別設(shè)置為:00對應(yīng)BPSK方式;01對應(yīng)QPSK方式;10對應(yīng)16QAM方式;11對應(yīng)64QAM方式。

            實際中,不同調(diào)制方式有各自的最佳工作區(qū)域,如64QAM適用于高發(fā)送速率的調(diào)制,在信噪比很低時,接收端的誤碼率會很高,因此需要自動調(diào)整調(diào)制方式以獲得最佳傳輸效果。解決辦法是當(dāng)接收端誤碼率過高時,反饋信號給調(diào)制方式選擇子模塊,根據(jù)預(yù)設(shè)的順序,更改調(diào)制方式,直到降低誤碼率。

          4實現(xiàn)與仿真

            通用調(diào)制解調(diào)制模塊用Verilog HDL設(shè)計完成。選用ALTERA公司的CycloneII系列EP2C70F672C8器件,進行綜合、布局布線和時序分析。優(yōu)化后的調(diào)制解調(diào)模塊的資源消耗與通常實現(xiàn)這四種調(diào)制方式的調(diào)制解調(diào)模塊需要消耗的資源比較如表2。


           
            可以看到各類模塊在不損失功能和性能的基礎(chǔ)上達到了節(jié)約資源的目的。模塊的最大工作頻率為136.54 MHz,符合OFDM系統(tǒng)中FFT的數(shù)據(jù)要求。邏輯元件減少了37%,存儲器位減少了70%以上,寄存器減少了40%,與傳統(tǒng)方式相比較,大大降低了系統(tǒng)對硬件的依賴性。
          5 結(jié)論

            對BPSK、QPSK、16QAM和64QAM調(diào)制方式的通用調(diào)制解調(diào)模塊的優(yōu)化設(shè)計,根據(jù)接收端誤碼率來自動調(diào)整所采取的調(diào)制方式,適當(dāng)排列映射表,選擇合理機制。用一個ROM調(diào)制子模塊實現(xiàn)四種調(diào)制方式。采用將數(shù)據(jù)分為實部和虛部分別進行判決,可將16QAM和64QAM解調(diào)制運算所用的寄存器、數(shù)據(jù)選擇器、減法器等器件進行整合。最后仿真實現(xiàn)結(jié)果說明,這種策略能達到在不損性能的前提下減少硬件資源需求目的。



          關(guān)鍵詞: OFDM

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();