精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于FPGA的OFDM調制器設計

CHANBAEK ? 來源:哈勒昆 ? 作者:小哈 ? 2023-07-23 11:48 ? 次閱讀

今天介紹的是使用FPGA做OFDM的調制。

圖片

首先是OFDM調制的原理圖,輸入數據在輸入系統后首先會經過擾碼環節,在數字通信中數據中長連的“0”或“1”序列會對接收機的位同步產生重要影響,通過對要發送的數據進行擾碼操作,可以解決其對接收機同步的影響。擾碼器的實質是一個反饋的移位寄存器,輸出結果是一個m序列,將輸出的m序列域輸入的數據進行異或運算,從而將輸入的數據攪亂。

擾碼模塊根據使用的生成多項式完成對輸入數據的擾碼操作。這里使用的擾碼器是通過一個7位的反饋移位寄存器來實現的,使用的擾碼器生成多項式為:

image.png

圖片

上圖為擾碼器的硬件實現結構圖,該擾碼器輸出序列的周期為127,首先將擾碼器的初始值設置為1011101,每來一個時鐘周期將擾碼器的值右移一位,同時將第七位和第四位進行異或運算,將異或的結果作為最低位的值。同時也將得到的結果和輸入的數據分別進行異或運算,從而實現對輸入數據的擾碼操作。

擾碼器程序如下所示:

圖片

圖片

s_start為啟動信號,s_coder為7位移位寄存器,s_yz為第七位和第四位異或后的結果,當時在程序中因為順序問題我寫的是s_coder[0]和s_coder[3]。s_out為移位寄存器s_coder[0]的輸出,data_in為輸入數據,data_out為輸入數據data_in與移位寄存器輸出s_out異或運算的結果,即為擾碼后的輸出。

這里因為我沒做解調所以省去了信道編碼部分,在需要添加冗余的部分我才用補零來進行補充。

對于64QAM調制,如下圖所示為64QAM調制原理圖

圖片

這里的2到8電平轉換即為星座映射(8電平為-1,-3,-5,-7,1,3,5,7)。

對于64QAM的星座圖,星座圖中每一個點都由6bit數據表示,所以在程序中每6bit數據映射一次,下圖為verilog仿真圖。

圖片

圖片

圖片

s_start為起始信號,data_in為擾碼之后的輸入64QAM調制的信號data_index為存儲輸入的6bit數據,cnt為計數器,data_index每輸入一個數據cnt自加一次;index為計算6bit數據后對應的映射狀態,data_i和data_q為根據(index)的映射結果I/Q信號。這里我是根據狀態機來寫的,index為6bit信號的計算結果,然后根據index的大小來描寫狀態機進行映射。最后將data_i和data_q的結果存儲到fifo中,即圖中的data_fifo_in。

在FPGA上已經完成了星座映射后將I、Q信號送入fifo中存儲,然后通過RAM地址進行加冗余以及添加導頻,從而將一個OFDM符號中星座映射后的48個數據增加至128個數據,數據都寫入RAM,然后通過地址讀取RAM中的數據送入IFFT變換的輸入端口,以及正常輸出,在FPGA上實現頻域至時域的轉換。

下圖中data_i和data_q為星座映射后得到I、Q數據,data_fifo_in為寫入fifo的數據,由圖二可以看出,data_fifo_in的前八位為data_i,data_fifo_in的后八位為data_q。

圖片

下圖便是將數據寫入RAM,并通過地址讀寫增加冗余以及插入導頻。rd_en為讀取fifo數據使能,data_fifo_out為讀取的fifo數據。ram_en為RAM使能,ram_wea為高電平時向RAM中寫入數據,ram_wea為低電平時向RAM中讀取數據,ram_addr為寫入/讀取數據的地址。data_ram_in為寫入ram中的數據,增加的冗余為前38個寫入的數據為0以及后37個寫入數據為0。中間插入四個導頻。

在前38個寫入數據0后便開始寫入fifo中的數據,在地址為37時(0~37)打開fifo的讀使能(rd_en),此時將fifo輸出端(data_fifo_out)數據賦值給RAM寫入端(data_ram_in)。圖中的ram_addr為43時寫入的數據為導頻符號,在這里導頻符號我是通過類似于m序列的擾碼器來進行產生的。

圖片

導頻的產生:

需要插入的4個導頻符號分別為1,1,1,-1。OFDM數據中插入的導頻符號并不都是一樣的,需要根據公式對插入的導頻符號的極性進行改變,這里我用的改變導頻符號極性的公式為s(x)=x7+x4+1。

公式的實質是一個擾碼器,首先將擾碼器的初始狀態設置為1111111,根據擾碼器的輸出結果對導頻符號的極性進行修改,若擾碼器的輸出結果為0,則導頻符號的極性不變,若擾碼器的輸出結果為1,則對導頻符號的極性進行修改,修改規則為1 -> -1,-1 -> 1。

圖七為導頻產生數據波形圖,其中data_m為擾碼器序列,初始狀態為1111111,每當需要插入導頻時m_start便會使能置1,根據m_start可以看出圖中一個OFDM符號中共插入四個導頻。p寄存器中便是存放的四個原始導頻數據,01表示導頻1,11表示導頻-1。data_m_out便是最終插入OFDM符號的導頻數據,即寫入ram中的導頻數據。

圖片

ifft變換:

在數據都在RAM中存好之后便是將ram中的數據送入IFFT變換的輸入端口,此時將ram的ena使能端置為高電平ram的wea置為低電平,開始讀取ram中的數據。如下圖所示,ram的ena為高,ram的wea為低,ram數據輸出端為douta開始輸出數據。

圖片

這里OFDM一次傳輸128個數據,在星座映射后為48個數據,插入四個導頻后為52個數據,這里選擇通過補零來添加冗余,如下圖所示。

圖片

在上圖中,ifft_s_data_tdata為ifft變換的輸入端口,ifft_s_data_tvalid為輸入使能,ifft_s_data_tvalid為高時輸入ifft_s_data_tdata的數據才有效。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1626

    文章

    21678

    瀏覽量

    602043
  • ofdm
    +關注

    關注

    6

    文章

    349

    瀏覽量

    56989
  • 接收機
    +關注

    關注

    8

    文章

    1180

    瀏覽量

    53413
  • 調制器
    +關注

    關注

    3

    文章

    834

    瀏覽量

    45111
收藏 人收藏

    評論

    相關推薦

    一種基于相位調制器的40 GHz OFDM-ROF系統實驗研究

    【作者】:李支蘭;曹子崢;董澤;陳林;【來源】:《光電子.激光》2010年03期【摘要】:實驗研究了一種基于相位調制器(PM)并級聯強度調制器(IM)實現40 GHz毫米波傳輸正交頻分復用(OFDM
    發表于 04-23 11:32

    請問FM調制器FPGA實現

    求助FM調制器FPGA實現,對FPGA這些完全不了解,在網上看可以用DDS技術實現FM的數字調制,就在書上按照步驟先做了產生正弦波分頻模塊尋址模塊數據存儲模塊,但編譯不能通過,也不知
    發表于 03-16 11:43

    ∑-△調制器的設計原理是什么?怎么實現FPGA

    ∑-△調制頻率合成器及其實現∑-△調制器原理設計∑-△調制器FPGA實現
    發表于 04-15 06:47

    QPSK高性能數字調制器FPGA實現

    本文提出了一種QPSK 高性能數字調制器FPGA 實現方案,由Altera 的IP 核NCO2.3.0 提供QPSK高穩定度的數字正弦信號,給出了QPSK 的實驗仿真結果。結果表明,基于NCO 的QPSK 數字調制器極大
    發表于 09-26 08:56 ?43次下載

    QPSK調制器FPGA實現

    提出了一種基于FPGA 實現QPSK 調制器的方法。以FPGA 實現DDS,通過對DDS 信號輸出相位的控制實現調相。仿真結果表明方案是可行的。
    發表于 12-18 11:57 ?66次下載

    電光調制器,電光調制器工作原理是什么?

    電光調制器,電光調制器工作原理是什么? 電光調制器是利用某些晶體材料在外加電場的作用下所產生的電光效應而制成的器件。常用的有兩種方
    發表于 04-02 15:50 ?2.1w次閱讀

    基于FPGA的QDPSK調制器的設計

    介紹了QDPSK信號的優點,并分析了其實現原理,提出一種QDPSK 高性能數字調制器FPGA實現方案。采用自頂向下的設計思想,將系統分成串/并變換、差分編碼、邏輯選相電路、四相載
    發表于 05-05 16:17 ?78次下載
    基于<b class='flag-5'>FPGA</b>的QDPSK<b class='flag-5'>調制器</b>的設計

    FPGA實現OFDM調制器設計

    提出一種 OFDM 高性能數字調制器FPGA實現方案;采用自頂向下的設計思想,將系統分成FIR濾波、數控振蕩、移相器、乘法電路和加法電
    發表于 08-15 11:15 ?62次下載
    <b class='flag-5'>FPGA</b>實現<b class='flag-5'>OFDM</b><b class='flag-5'>調制器</b>設計

    基于FPGAOFDM系統設計與實現

    本文基于802.16a協議的原理架構,本著小成本、高效率的設計思想,建立了一個基于FPGA的可實現流水化運行的OFDM系統的硬件平臺,包括模擬前端及OFDM調制器
    發表于 05-25 09:38 ?6328次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>OFDM</b>系統設計與實現

    基于FPGA的全數字FQPSK調制器實現_楊峰

    基于FPGA的全數字FQPSK調制器實現_楊峰
    發表于 03-19 11:38 ?2次下載

    基于ofdm調制解調原理,ofdm調制解調fpga代碼

      摘要:OFDM是一種無線環境下的高速傳輸技術。本文主要總結了基于ofdm調制解調原理以及OFDMFPGA代碼實現,下面我們一起來看
    發表于 12-12 14:10 ?2.4w次閱讀
    基于<b class='flag-5'>ofdm</b>的<b class='flag-5'>調制</b>解調原理,<b class='flag-5'>ofdm</b><b class='flag-5'>調制</b>解調<b class='flag-5'>fpga</b>代碼

    如何使用FPGA設計和實現OFDM系統和OFDM中的FFT模塊設計及其FPGA實現

    建立了一個基于FPGA的可實現流水化運行的OFDM系統的硬件平臺,包括模擬前端、基于FPGAOFDM調制器
    發表于 12-13 16:45 ?22次下載
    如何使用<b class='flag-5'>FPGA</b>設計和實現<b class='flag-5'>OFDM</b>系統和<b class='flag-5'>OFDM</b>中的FFT模塊設計及其<b class='flag-5'>FPGA</b>實現

    如何使用FPGA實現QPSK調制器的設計與實現

    采用FPGA設計芯片技術對多進制數字通信技術的QPSK調制器實現進行了設計研究,將調制器中原有多種專用芯片的功能集成在一片大規模可編程邏輯器件FPGA芯片上,實現了高度集成化,小型化。
    發表于 07-22 17:51 ?15次下載
    如何使用<b class='flag-5'>FPGA</b>實現QPSK<b class='flag-5'>調制器</b>的設計與實現

    一種基于FPGA的MSK調制器設計與實現

    一種基于FPGA的MSK調制器設計與實現說明。
    發表于 04-27 14:08 ?22次下載

    基于FPGAOFDM調制器設計與實現

    電子發燒友網站提供《基于FPGAOFDM調制器設計與實現.pdf》資料免費下載
    發表于 10-26 09:25 ?2次下載
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>OFDM</b><b class='flag-5'>調制器</b>設計與實現