新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 用 FPGA 產生高斯白噪聲序列的一種快速方法

        用 FPGA 產生高斯白噪聲序列的一種快速方法

        作者: 時間:2009-03-24 來源:網絡 收藏

        在 ISE8.1i 開發環境中得到的系統功能仿真圖如圖 6 所示。實驗中,系統的輸入時鐘為 60MHz 。圖 6 中的 regl_value 表示線性反饋的移位寄存器在時鐘 clk1 上升沿觸發的狀態值。 reg2_value 表示在同步時鐘 clk2 上升沿采樣 reg_value1 的值, clk2 是 clk1 的 8 倍分頻。仿真證明,本系統可以實現線性反饋移位寄存器每轉 8 次取出一個狀態值,并可減小不同時刻隨機變量之間的相關性 ( 非相關化處理 ) 。根據 reg2_value 并通過比較選擇器輸出對應直線段的 slope( 斜率 ) 、 point( 起點的橫坐標 ) 、 point_value( 起點的縱坐標 ) 可見, reg2_value_delay 比 reg2_value 可延時半個 clk2 ,因而可保證輸入算術計算模塊的數據的同步。這樣,再經算式: gauss_output=(reg2_value_delay-point)*slope+point_value ,就可得到。為了確保采得穩定的信號值,操作時應在信號持續時間的中間位置進行采樣。由于 gauss_output 是 reg2_value_delay ,、 point 、 slope 、 point_value 之間的加、減、乘運算所得到的,所以, gauss_output 有相應延時。

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

        本設計用 Xilinx 的 xc3s1200e-4fg320 為目標器件來對代碼進行綜合,所用的 資源如下:

        可見,該方案占用硬件資源較少。

        為了驗證硬件實現的正確性,還可將其下載到開發板,并采用 ChipScope Pro 8.1i 將硬件產生的通過并口回傳,同時將數據導入到 Matlab 。由于 ChipScope 要利用 的片內存儲空間暫存采樣值,所以,一次采集的信號數目有限且與 型號有關。筆者將一次采集到的 16384 個樣值導入 Maflab 后,再將數據小數化 ( 因為 FPGA 中處理的是定點數 ) ,然后調用 Matlab 中的 psd 函數估計出了其功率譜圖。實際結果證明,本系統產生的高斯白噪聲與理論值非常接近,也就是說,該方案可行。

        由于本系統采用 VHDL 語言編寫,故其可移植性較強。當在通信工程中需要帶限高斯白噪聲時,就可在高斯白噪聲后接一個帶通濾波器 ( 在 FPGA 中應用自帶 IP 核可輕松實現 ) 。由于濾波后的噪聲能量會有損失,所以要做相應的能量補償。之后,再將產生的帶限高斯白噪聲序列 ( 約 50000 點 ) 導入 Matlab 中,然后調用 hist 函數就可得到圖 7 所示的序列直方圖,而調用 psd 函數即可得到圖 8 所示的序列功率譜圖。從直方圖可見帶限高斯白噪聲的概率密度函數是高斯型的,而從功率譜可見,在通帶內,功率譜密度近似為常數,這些都與理論一致。

        4 結束語

        本文提出了一種在 FPGA 中快速產生高斯白噪聲序列的實現方案。同時基于均勻分布和高斯分布之間的映射關系曲線,提出并應用了適合在 FPGA 中實現的折線逼近法。本文采用了 15 條首尾連接的直線段去逼近映射關系曲線 ( 按不同的工程精度要求,可選擇個數不同的直線段去逼近 ) 。顯然,所用的折線拐角越多 ( 直線段個數越多 ) ,精度越高,但所消耗的 FPGA 資源也越多。該方案具有簡單易行,運算量小等優點。而且實現速度快,可源源不斷的產生高斯白噪聲序列,同時占用的硬件資源較少。由于軟件采用 VHDL 語言編寫,可移植性強,故可靈活用于 Watterson 信道模擬器或嵌入調制解調器等其它系統。

        fpga相關文章:fpga是什么



        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 崇明县| 上思县| 陆川县| 临沂市| 轮台县| 杭锦后旗| 精河县| 阳城县| 霍邱县| 金湖县| 清原| 庆阳市| 绥阳县| 尉氏县| 偏关县| 嘉鱼县| 西林县| 涿州市| 若尔盖县| 安福县| 巨野县| 晋州市| 内乡县| 左贡县| 锦州市| 来宾市| 岐山县| 彭水| 开原市| 柘城县| 株洲市| 渭源县| 新疆| 永安市| 改则县| 南部县| 诸城市| 滁州市| 大城县| 北川| 廉江市|