• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > FPGA實現(xiàn)OFDM通信

    FPGA實現(xiàn)OFDM通信

    作者: 時間:2024-01-31 來源:至芯科技 收藏

    中調(diào)制使用IFFT,解調(diào)使用IFFT,在實現(xiàn)系統(tǒng)中,F(xiàn)FT和IFFT時必備的關(guān)鍵模塊。在使用Xilinx的7系列(KC705)實現(xiàn)系統(tǒng)時,有以下幾種選擇:

    本文引用地址:http://www.czjhyjcfj.com/article/202401/455253.htm

    (1)在Vivado中調(diào)用官方的FFT的IP核(AXI-Stream總線);

    (2)在Vivado HLS中調(diào)用官方的FFT的IP核(內(nèi)部FFTAXI-Stream總線),可以自己增加外部封裝接口類型;

    (3)Verilog編寫FFT,很復(fù)雜,找到了一個1024點的并行流水線的,但是資源耗費(fèi)太大,8192點時很難滿足,不采用;

    (4)使用HLS用C語言自己編寫FFT,程序比較簡單,開發(fā)快,但是我需要100M時鐘下跑8192點FFT的時鐘時序約束不夠,跑不到100M;

    最后還是選擇使用HLS里面調(diào)用FFT的庫,并且根據(jù)我們的項目需要,對其外部輸入輸出封裝成一個AXI-Master接口,并且在Devcpp里面使用C語言實現(xiàn)(不考慮延時和資源消耗等)對比結(jié)果,發(fā)現(xiàn)基本一致。

    本節(jié)主要講Devcpp里的實現(xiàn)結(jié)果。

    1.定義計算點數(shù)和復(fù)數(shù)類型


    2.計算

    (1)初始化蝶形因子;

    (2)比特反轉(zhuǎn),變址運(yùn)算;

    (3)FFT蝶形循環(huán)計算;

    (4)計算功率,輸出結(jié)果;


    3.結(jié)果驗證

    以100Hz的sin函數(shù)作為輸入信號,幅值-1~1,輸出功率最大值在p[100],趨近于1。


    4.計算IFFT

    (1)將輸入的復(fù)數(shù)取共軛;

    (2)調(diào)用FFT;

    (3)對輸出的數(shù)據(jù)取共軛;

    完成。

    最初始的sin信號如下:


    經(jīng)過FFT之后,對結(jié)果取共軛,并且縮小N點(8192)倍,再次調(diào)用FFT,對輸出取共軛,得到IFFT結(jié)果如下:





    關(guān)鍵詞: FPGA OFDM 通信

    評論


    相關(guān)推薦

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

    關(guān)閉
    主站蜘蛛池模板: 澳门| 轮台县| 汾阳市| 神池县| 山阴县| 温州市| 百色市| 商南县| 大厂| 新邵县| 乳山市| 长泰县| 拉萨市| 德昌县| 泰顺县| 台北县| 诸城市| 酒泉市| 隆化县| 阿图什市| 萍乡市| 西充县| 通州市| 淮南市| 内黄县| 定远县| 沧源| 沙湾县| 元谋县| 确山县| 固安县| 竹北市| 永安市| 洛南县| 冀州市| 岱山县| 隆安县| 阳西县| 麦盖提县| 莎车县| 民勤县|