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

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

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

3天內不再提示

基于Simulink代碼生成的FPGA信號處理系統仿真驗證平臺

現代電子技術 ? 來源:現代電子技術 ? 作者:趙歡 ,朱倩 ,唐 ? 2022-11-04 16:24 ? 次閱讀

作者:趙歡 ,朱 倩 ,唐 衡

引 言

隨著 FPGA 數字信號處理系統復雜度不斷提高,FPGA 信號處理系統的功能驗證已經成為影響產品上市時間和成本的關鍵[1]。盡管在驗證領域已經發展出多種自動測試方法,但是針對信號處理算法進行驗證時,仍然需要手動編寫代碼搭建仿真平臺[2],生成仿真激勵,效率較低。信號處理系統往往包含大量復雜的算法[3],對于驗證人員編寫代碼的經驗及技能要求較高。

針對這一情況,本文提出了一種基于 Simulink 與IES 聯合搭建的功能驗證平臺。使用 Simulink 的 HDLCoder自動生成代碼完成仿真平臺中的信號處理算法部分。首先,利用 Matlab強大的分析、計算和可視化功能,使用 Simulink 對算法進行建模仿真[4],當仿真結果達到設計要求后,再使用該模型直接生成 HDL 代碼[5],從而大幅提高了驗證平臺開發效率,避免了對復雜信號處理驗證模型的硬件語言設計,提升了平臺的復用性和仿真平臺搭建效率。同時,由于無需手動編寫代碼,也避免了人為引入的錯誤,提升了驗證平臺的可靠性。

1 SMA 基帶信號處理

本文驗證的SMA基帶信號處理FPGA,是SMA(S?BandMultiple Address)測控終端系統的重要組成部分[6],主要完成前向鏈路中的中頻信號解調、解擴,將解調結果通過 RS 422 接口輸出至管理單元。該 FPGA 的主要功能

模塊包括:

1)數字下變頻模塊:輸入 A/D 信號的采樣,將輸入中頻信號下變頻到基帶。

2)前向基帶處理模塊:生成解調所需的 GOLD 碼;實現頻率捕獲和偽碼捕獲;在捕獲的基礎上實現信號跟蹤并對相關積分結果進行自動增益控制;解擴和位同步。

3)前向同步 RS 422 發送模塊:通過 RS 422 接口輸出解調數據。功能示意圖如圖 1所示。

8aba17a4-5c13-11ed-a3b6-dac502259ad0.png

2 聯合仿真平臺

2.1 驗證平臺概述

本平臺主要用于驗證 SMA 信號處理 FPGA 的解調功能和算法性能,確認該 FPGA 是否能夠正確解調規定調制格式的輸入信號,并確認是否滿足接收載噪比、捕獲時間、捕獲頻偏范圍、跟蹤多普勒變化率等性能要求。本平臺采用 IES 和 Simulink 聯合的仿真方法,在被測設計外圍搭建基于 System Verilog 和 Verilog 混合編程的仿真平臺。使用 Simulink 搭建信號處理模型,使用System Verilog搭建其他外圍接口模型。主要包括:

1)使用 Simulink 搭建信號處理模型,將調制數據進行擴頻、調制、成型濾波、上變頻后通過 A/D 接口輸入至 DUT,然后自動生成 Verilog代碼用于仿真。

2)RS 422 接口模型,使用 System Verilog 搭建,接收 DUT 輸出的解調數據并發送至 scoreboard 用于數據比對。

3)時鐘模型,使用 System Verilog 搭建,為測試環境和 DUT提供工作時鐘。

4)數據比對模塊,基于System Verilog的scoreboard,自動比對測試環境發送的調制數據和 DUT 輸出的解調結果,測試是否存在誤碼。

5)Test_case,用例控制模塊,使用 System Verilog 生成不同的Test_case 以驗證被測設計在不同輸入條件下是否滿足算法性能要求。

除了驗證解調數據正確性以外,在 Simulink 中搭建信號處理模型時,將上變頻模塊的載波頻率和碼NCO的碼速率控制字設置為外部輸入可控,通過 Test_case靈活控制不同用例,測試 DUT 在不同輸入載波頻率下的捕獲和跟蹤性能是否滿足要求。聯合仿真平臺如圖2所示。

8adedb8e-5c13-11ed-a3b6-dac502259ad0.png

2.2 Simulink信號源建模

根據對被測設計的分析,A/D 信號源模塊的主要技術指標包括:A/D 接口輸入信號位寬為 12 bits,A/D 采樣頻率為 100 MHz。擴頻模式為直接序列擴頻模式,擴頻碼為 GOLD 碼,碼長為 1 023,碼速率為 3.069 Mc/s,G1生 成 多 項 式 為 x10 + x8 + x7 + x4 + x2 + x + 1 ,初 相 為1101111100,G2 生 成 多 項 式 為 x10 + x7 + 1 ,初 相 為1001001000。需要對擴頻后的序列進行成型濾波,濾波器選擇成型系數為 0.6的平方根升余弦濾波器。應將濾波后的信號調制至中頻,中頻為 30 MHz,并且為了驗證性能需求,載波多普勒、碼多普勒、載噪比需要根據用例要求靈活控制。

依據上述要求,設計了 A/D 信號源模型如圖 3 所示,整個模型由擴頻碼時鐘模塊、GOLD 碼發生器模塊、BPSK 調制模塊、成型濾波器模塊和上變頻模塊構成。

8afccfa4-5c13-11ed-a3b6-dac502259ad0.png

1)擴頻碼時鐘模塊 code_clk:擴頻碼時鐘模塊使用NCO 模型產生正弦波輸出,然后使用比較器將正弦波轉換成方波,作為 GOLD 碼發生器模塊的 Trigger 信號。為了能夠根據用例設置靈活控制碼鐘頻率,將 NCO 頻率控制字設置為外部輸入模式(Input Port)。

2)GOLD 碼發生器模塊 pn_gen_1:GOLD 碼發生器模 塊 由 2 個 PN Sequence Generator 構 成 ,將 2 個 PNSequence Generator 的輸出異或后得到 GOLD 碼[7],模型結構如圖 4 所示,2 個 PN Sequence Generator 的參數設置見表 1。

8b1b4844-5c13-11ed-a3b6-dac502259ad0.png

3)BPSK 調制模塊:使用 BPSK 模型對擴頻后的結果進行 BPSK 調制。

4)成型濾波器模塊:成型濾波器模塊用于消除碼間串擾,本文中使用 Raised Cosine Transmit Filte模型實現,設置濾波器類型為平方根升余弦濾波器,滾降系數為 0.6。

5)上變頻模塊:上變頻模塊使用 NCO HDL模型實現,為了能夠根據用例設置靈活控制載波頻率,將載波NCO 頻率控制字設置為外部輸入模式(Input Port),其他參數設置見表2。設置載波 NCO 輸入頻率為90 kHz~30 MHz時,該 NCO 輸出信號的頻譜如圖 5所示。

8b3ac4ee-5c13-11ed-a3b6-dac502259ad0.png

信號源模型仿真結果如圖 6 所示,圖中信號波形從上到下分別為:擴頻碼時鐘、擴頻碼序列、BPSK 調制輸出、成型濾波器輸出。

需要注意的是:為了能夠自動生成代碼,構建仿真模型必須使用 hdllib 內的模型,hdllib 是支持生成 HDL代碼的模型庫[8],并且需要將模型的輸入設置為定點輸入,這樣模型自動成為定點模型,生成代碼時即生成定點代碼[9?10]。

8b61fc62-5c13-11ed-a3b6-dac502259ad0.png

2.3 Simulink模型的 HDL代碼直接生成

搭建 Simulink 模型并完成仿真后,就可以直接在HDL Coder中生成 HDL 代碼[11]。Simulink 使用高層次綜合合成技術,將硬件可實現的 Simulink 模型編譯為可讀、可追溯且可模型化的 VHDL 或 Verilog HDL 代碼,此代碼經過優化可以跨任意 FPGA、ASIC 或 SoC 硬件進行移植[12?13]。代碼生成的過程如下:

1)將需要生成代碼的部分封裝為一個子系統。

2)檢查模型是否可綜合:選中子系統后右鍵選擇HDL Code→check subsystem compatibility,如果檢查通過,可繼續生成代碼;如果失敗,則需要進行模塊替換。

3)參數設置,可以設置生成的語言類型、復位信號極性等。

4)設置完成后,右鍵點擊需要生成的子系統,選擇HDL CODE→Generate HDL for subsystem,最 終 生 成代碼。

其中一個自動生成模塊——BPSK 調制模塊代碼如圖 7 所示,可以看出最終生成代碼有較好的可讀性,便于仿真調試和修改。

8b8f84a2-5c13-11ed-a3b6-dac502259ad0.png

3 仿真結果與分析

以載噪比 Eb N0=10 dB、初始多普勒偏差 90 kHz、多普勒變化率 1 kHz/s的測試用例為例,IES仿真結果如圖 8和圖 9所示。

8bb8e09a-5c13-11ed-a3b6-dac502259ad0.png

圖 8 中,仿真波形從上到下依次為碼發生器時鐘、擴頻碼時鐘、擴頻碼序列、BPSK調制輸出、成型濾波器輸出。圖 9 中,data_bit_delay2 是仿真平臺發送的調制數據,Uart_txd_FSR 是 DUT 輸出的解調數據,通過比對可 以 確 認 ,輸 出 解 調 數 據 與 發 送 的 調 制 數 據 一 致。Acq_Freq_Word為捕獲得到的載波頻率,被測 FPGA 內部 NCO 時鐘為 12.5 MHz,計算可得捕獲得到的頻率為( -30 962 456 × 12.5 × 106) 232 =-90.112 Hz。

綜上可以確認被測FPGA能夠在載噪比Eb N0=10 dB、初始多普勒偏差-90 kHz 時成功捕獲,并且跟蹤、解擴、解調數據,驗證了設計功能的正確性和性能指標。

4 結 語

本文提出了一種基于 Simulink與 IES聯合搭建的功能驗證平臺,給出了聯合仿真實例,成功對 SMA 信號處理 FPGA 進行了功能和性能驗證。該仿真平臺利用了Matlab 豐富的信號處理算法模型,生成了驗證平臺中的關鍵算法模塊代碼,極大地降低了驗證平臺的開發難度,提升了仿真平臺的開發效率,提高了平臺的復用性。同時,避免了手動編寫代碼而引入的錯誤,提升了環境的可靠性,對其他類似復雜信號處理類 FPGA 設計的驗證具有極大的參考價值。

審核編輯:郭婷

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

    關注

    1626

    文章

    21667

    瀏覽量

    601843
  • 代碼
    +關注

    關注

    30

    文章

    4748

    瀏覽量

    68355

原文標題:論文速覽 | 基于Simulink代碼生成的 FPGA 信號處理系統仿真驗證平臺

文章出處:【微信號:現代電子技術,微信公眾號:現代電子技術】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Matlab/Simulink/Stateflow建模開發及仿真測試

    matlab 模擬仿真 熟悉Matlab/Simulink/Stateflow建模開發及仿真測試,熟悉V模型開發流程。 熟悉自動代碼生成,能
    發表于 10-24 17:23

    FPGA仿真黑科技\"EasyGo Vs Addon \",助力大規模電力電子系統仿真

    一、EasyGo Vs AddonEasyGo Vs Addon是一款領先的FPGA仿真工具包軟件,它強大地連接了VeriStand軟件與Matlab/Simulink,為實時測試和驗證
    發表于 10-23 18:18

    解決方案丨EasyGo新能源系統實時仿真應用

    仿真創新系統由4個部分組成: ▍實時仿真機EG-Box-Mini K1011可將用Simulink建模環境搭建的被控對象(電力電子電路系統
    發表于 10-18 09:37

    新的 MathWorks 硬件支持包支持從 MATLAB 和 Simulink 模型到高通 Hexagon 神經處理單元架構的自動化代碼生成

    新的硬件支持包不僅無需耗時的手寫代碼優化和驗證,還支持處理器在環測試 MathWorks 今天宣布,推出針對 Qualcomm? Hexagon? 神經處理單元(NPU)的硬件支持包。
    的頭像 發表于 09-23 11:59 ?218次閱讀

    EasyGo實時仿真丨PCS儲能變流器控制仿真應用

    、功率調控并網中至關重要,是實現復雜控制策略的理想選擇。EasyGo半實物仿真平臺采用FPGA技術,實現了ns級實時仿真。配合 DeskSim軟件,無需進行FPGA編譯,即可直接運行在
    發表于 09-20 10:17

    simulink動態系統建模仿真-第9章

    電子發燒友網站提供《simulink動態系統建模仿真-第9章.ppt》資料免費下載
    發表于 07-26 11:47 ?1次下載

    信號采集與處理系統通常由哪些模塊組成

    信號采集與處理系統是一種廣泛應用于工業、科研、醫療等領域的電子系統,它能夠對各種類型的信號進行采集、處理和分析。一個完整的
    的頭像 發表于 07-15 14:12 ?1058次閱讀

    EasyGo使用筆記丨分布式光伏集群并網控制硬件在環仿真應用

    進行控制;對于逆變器的控制,采用三相空間矢量脈寬調制(SVPWM)控制算法以及電壓電流雙閉環控制算法。最后構建了分布式光伏集群并網發電系統的綜合仿真模型,并在MATLAB/Simulink平臺
    發表于 07-12 17:20

    基于MATLAB的信號處理系統與分析

    基于MATLAB的信號處理系統與分析,包括信號的導入、預處理、分析、特征提取以及頻譜分析等關鍵步驟,并通過實例展示MATLAB在信號
    的頭像 發表于 05-17 14:24 ?974次閱讀

    Vivado 使用Simulink設計FIR濾波器

    型濾波器,是數字信號處理系統中最基本的元件,它可以在保證任意幅頻特性的同時具有嚴格的線性相頻特性,同時其單位抽樣響應是有限長的,因而濾波器是穩定的系統。因此,FIR濾波器在通信、圖像處理
    發表于 04-17 17:29

    Simulink自動生成代碼現階段的學習筆記

    在車載控制器的軟件開發中,simulink的身影幾乎隨處可見,主要是在控制算法和控制邏輯的實現。平時看同事點點點就生成代碼了,看起來很簡單,但是實際操作起來確各種磕磕絆絆。 下面記錄了一下步驟作為現階段的學習筆記吧。
    的頭像 發表于 04-17 10:56 ?3708次閱讀
    <b class='flag-5'>Simulink</b>自動<b class='flag-5'>生成</b><b class='flag-5'>代碼</b>現階段的學習筆記

    電路仿真軟件simulink的工作原理

    Simulink是MATLAB的一個模塊,它采用圖形化的方式來創建動態系統模型并進行仿真分析。Simulink的工作原理主要基于模塊化的建模和仿真
    的頭像 發表于 03-29 15:21 ?1520次閱讀

    fpga原型驗證平臺與硬件仿真器的區別

    FPGA原型驗證平臺與硬件仿真器在芯片設計和驗證過程中各自發揮著獨特的作用,它們之間存在明顯的區別。
    的頭像 發表于 03-15 15:07 ?1033次閱讀

    fpga仿真是什么

    FPGA仿真是一種驗證FPGA設計正確性的過程,主要用來分析設計電路邏輯關系的正確性。在FPGA設計中,
    的頭像 發表于 03-15 13:59 ?1391次閱讀

    集成化信息化信號采集處理系統有哪些

    隨著科技的飛速發展,集成化信息化信號采集處理系統在各個領域的應用越來越廣泛。這種系統能夠實現對各種信號的實時采集、處理和分析,為決策者提供準
    的頭像 發表于 12-14 11:19 ?986次閱讀