新聞中心

        EEPW首頁 > 網絡與存儲 > 設計應用 > 用于OFDM調制解調模塊的設計與實現

        用于OFDM調制解調模塊的設計與實現

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

        0 引言

        本文引用地址:http://www.104case.com/article/89258.htm

          隨著技術和器件水平的發展以及對高速和可靠傳輸的要求,技術應用越來越廣泛,由于其具有高速數據傳輸能力、高效的頻譜利用率和抗多徑干擾等能力,成為通信的研究熱點之一。在通信系統中,為實現高效信息的傳輸,可以采用多進制數字調制方式來傳輸數據符號。本文設計了一個用于通信系統的通用調制解詞模塊,采用了BPSK、QPSK、16QAM和64QAM四種調制方法,利掰共用ROM、共廂減法器等器件的方法,減少了電路規模和硬件資源消耗。此電路具有能夠通過消息反饋機制來自動調整調制方法的能力。

        1 調制/解調子模塊結構

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


         

          在通用調制解調模塊中,最主要的模塊就是調制子模塊和解調子模塊。下面介紹這兩個子模塊的設計和實現。

        2設計分析

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

        2.1調制方式分析

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


         

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

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

        2.2電路優化策略

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

        (1)整合ROM

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

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

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

        3模塊設計

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

        3.1 ROM中映射表編制

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


         

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

         

        3.2 ROM控制器設計

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

        3.3子模塊實現

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

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


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

          調制方式選擇模塊中對應四種調制方式分別設置為:00對應BPSK方式;01對應QPSK方式;10對應16QAM方式;11對應64QAM方式。

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

        4實現與仿真

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


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

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



        關鍵詞: OFDM

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 嘉黎县| 平乡县| 渝中区| 贺兰县| 武夷山市| 敖汉旗| 兴山县| 定结县| 南京市| 四会市| 南江县| 福泉市| 田东县| 平江县| 余庆县| 封丘县| 伊春市| 天水市| 都匀市| 长兴县| 无极县| 宜州市| 德惠市| 嘉黎县| 胶州市| 阿合奇县| 犍为县| 永济市| 林州市| 娱乐| 上饶市| 绥江县| 曲麻莱县| 金华市| 紫金县| 长宁县| 贵定县| 芒康县| 华宁县| 林周县| 四子王旗|