在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內(nèi)不再提示

使用Zynq SDR套件和Simulink代碼生成工作流程進行快速原型設(shè)計

星星科技指導員 ? 來源:ADI ? 作者:Mike Donovan, Andrei ? 2023-01-08 09:50 ? 次閱讀

作者:Mike Donovan, Andrei Cozma, and Di Pu

本系列文章的前幾部分介紹了 Zynq SDR 快速原型制作平臺,1介紹了使用 MATLABSimulink 開發(fā)可以成功處理和解碼 ADS-B 傳輸?shù)?a href="http://m.xsypw.cn/v/tag/2562/" target="_blank">算法的步驟,2并展示了如何在仿真和從SDR平臺獲取的實時數(shù)據(jù)中驗證算法。3所有階段的最終目標是創(chuàng)建一個經(jīng)過驗證的模型,該模型可以轉(zhuǎn)換為 C 和 HDL 代碼,并準備好集成到 SDR 平臺的軟件和硬件基礎(chǔ)設(shè)施中。

本系列第 2 部分中討論的 Simulink 模型(“使用 MATLAB 和 Simulink 進行模式 S 檢測和解碼”)")2是一個仿真模型,具有足夠的硬件特定保真度,以驗證設(shè)計是否能夠成功解碼 ADS-B 消息。以該模型為起點,將討論在 Zynq SDR 快速原型平臺上運行的工作接收器設(shè)計所需的最后步驟。與本系列前面的文章一樣,開發(fā)此工作設(shè)計所需的技能包括:熟練掌握 MATLAB 和 Simulink、Zynq 無線電硬件知識以及軟件/硬件集成技能。

本文中要遵循的步驟包括:

將 Simulink 模型劃分為面向 Zynq SoC 上的 FPGA 結(jié)構(gòu)和 ARM 處理系統(tǒng)的函數(shù)。

對 Simulink 模型進行設(shè)計更改,以提高生成的 HDL 代碼的性能。

為 ADS-B 接收器算法生成源 HDL 和 C 代碼。

將生成的源代碼集成到 Zynq 無線電平臺設(shè)計中。

使用實時飛機信號在目標硬件上測試嵌入式設(shè)計。

在此過程結(jié)束時,將生成一個經(jīng)過充分驗證的SDR系統(tǒng),運行從Simulink ADS-B模型自動生成的C和HDL代碼,并實時接收和解碼實時商用飛機信號。

將模型劃分為硬件和軟件組件

生成實現(xiàn)代碼過程的第一步是將設(shè)計劃分為將在 Zynq SoC 的可編程邏輯和 ARM 處理系統(tǒng)上運行的功能。

分區(qū)通常從確定設(shè)計中不同組件的處理要求以及所需的執(zhí)行速率和時間開始。計算密集型組件(如數(shù)據(jù)調(diào)制/解調(diào)算法)需要以采樣速率實時運行,最適合在可編程邏輯中實現(xiàn)。不太密集的處理任務(例如數(shù)據(jù)解碼和渲染以及系統(tǒng)監(jiān)視和診斷)更適合軟件實現(xiàn)。要考慮的其他一些方面包括:操作的數(shù)據(jù)類型和復雜性以及輸入和輸出數(shù)據(jù)的精度。面向可編程邏輯的所有操作都適用于定點、整數(shù)或布爾數(shù)據(jù)類型。對于更復雜的運算,例如三角函數(shù)或平方根,使用近似值來使用可用的硬件資源有效地實現(xiàn)它們。所有這些約束都會導致精度損失,如果評估和實施不當,可能會對系統(tǒng)功能產(chǎn)生不利影響。但是,面向處理系統(tǒng)的組件可以處理浮點數(shù),并以最高保真度實現(xiàn)任何復雜程度的操作,但通常以較慢的執(zhí)行速度為代價。

以這些約束為指導,ADS-B解碼算法的劃分相當明顯。ModeS_Simulink_Decode.slx 模型中檢測器模塊中的功能(包括 I/Q 樣本的前端處理一直到校驗和計算)非常適合在 Zynq SoC 的可編程邏輯上實現(xiàn)(圖 1)。消息位的解碼在修改的緩沖區(qū)和解碼和顯示塊中實現(xiàn),在處理系統(tǒng)中很容易實現(xiàn)。

poYBAGO6IXqAUFzlAADIYskjT4A287.png?la=en&imgver=1

圖1.ModeS_Simulink_Decode.slx:FPGA 和 ARM 處理器分區(qū)。

有興趣了解 Simulink 模型的讀者可以在 ADI GitHub 存儲庫中找到這些文件。4

從 Simulink 模型生成 HDL 代碼

模式S解碼器模型中的檢測器模塊(圖2)由幾個子系統(tǒng)組成:CalcSyncCorr,CalcNF,SyncAndControl,BitProcess,CalcCRC和FameDetect。來自MathWorks的HDL編碼器5用于生成此設(shè)計的源代碼 HDL 代碼。

pYYBAGO6IXyAfbxCAACZDHB50yc719.png?la=en&imgver=1

圖2.用于生成 HDL 代碼的檢測器塊。

Simulink 模型必須滿足多個條件才能使用 HDL 編碼器成功生成 HDL 代碼。一些最重要的要求是:

使用支持 HDL 代碼生成的塊。HDL Coder 支持大約 200 個 Simulink 模塊的代碼生成。6在檢測器設(shè)計中,所有模塊(包括狀態(tài)流圖和數(shù)字濾波器模塊)都支持HDL代碼生成。

使用定點數(shù)據(jù)類型。在檢測器設(shè)計中,信號使用 12 位、24 位和布爾數(shù)據(jù)類型。12位數(shù)據(jù)類型與ADI公司AD9361收發(fā)器模數(shù)轉(zhuǎn)換器的位寬相匹配。

使用標量或矢量信號。矢量信號可用于多通道信號或資源共享。

避免模型中的代數(shù)循環(huán)。HDL 編碼器軟件不支持為存在代數(shù)循環(huán)條件的模型生成 HDL 代碼。

ModeS_Simulink_Decode.slx模型不滿足所有這些條件,因此CalcCRC塊中將接收位與計算的校驗和進行比較的部分被移到了檢測器塊之外,并最終在C中實現(xiàn)。生成的模型 ModeS_ADI_CodeGen.slx 用于生成 HDL 代碼。與手動編碼過程相比,只需幾分鐘即可生成數(shù)千行 HDL 代碼。HDL Coder 生成的源代碼有點真實,循環(huán)準確的 Simulink 模型版本。這是使用基于模型的設(shè)計的主要生產(chǎn)力提升之一;生成的代碼是 Simulink 模型的準確翻譯。

此外,代碼設(shè)計為可讀和可追溯,因此工程師可以輕松地將生成的代碼映射到他們的設(shè)計模型。這是通過多種方式實現(xiàn)的(圖3):

模型的層次結(jié)構(gòu)保留在生成的 HDL 代碼文件中。在此示例中,頂級塊名為 Detector.vhd,下一級層次結(jié)構(gòu)的子系統(tǒng)名為 CalcNF.vhd、Bit_Process.vhd 等。

模型中使用的塊名稱、端口名稱、信號名稱、數(shù)據(jù)類型和復雜性保留在生成的代碼中。

模型和源代碼之間的鏈接允許設(shè)計人員單擊 Simulink 模型中的塊并自動導航到生成的 HDL 代碼。同樣,生成的代碼中存在超鏈接,這些超鏈接將打開 Simulink 模型并突出顯示與該代碼段關(guān)聯(lián)的塊。

poYBAGO6IX2Af9vxAACnhHtXZEk013.png?la=en&imgver=1

圖3.ModeS_ADI_CodeGen.slx 的源 HDL 代碼

優(yōu)化 ADS-B 模型以生成具有更高時鐘速度的 HDL 代碼

盡管 ModeS_ADI_CodeGen.slx 模型成功生成了 HDL 代碼,但設(shè)計人員很少不希望改進初始結(jié)果。設(shè)計人員通常需要滿足速度和面積限制,這通常涉及優(yōu)化初始 Simulink 模型以實現(xiàn)所需的結(jié)果。Simulink 和代碼生成的一個主要優(yōu)點是,設(shè)計人員可以在模型中進行這些優(yōu)化,運行仿真以確保更改不會破壞算法,然后重新生成 HDL 代碼。這通常比更改 HDL 源代碼并可能破壞算法要簡單得多,更不容易出錯。

在這種設(shè)計中,模型生成的HDL代碼很容易適應可用的FPGA結(jié)構(gòu),但以相對較低的時鐘速率運行。這在許多初始設(shè)計中很常見。HDL Coder 中的內(nèi)置分析工具顯示,模型中的關(guān)鍵路徑從 I/Q 樣本輸入擴展到 CalcCRC 子系統(tǒng)中的第一個寄存器。在設(shè)計中插入流水線寄存器是提高時鐘速度的一種常用方法(圖 4)。流水線縮短了信號操作之間的路徑,但代價是增加了整個處理的延遲。這種權(quán)衡通常是可以接受的,因為對于更高的時鐘速率來說,輕微的延遲通常是很小的代價。

pYYBAGO6IX6ADQxVAACMH0OO7Pw995.png?la=en&imgver=1

圖4.管道寄存器插入到探測器設(shè)計中。

子系統(tǒng)之間的流水線寄存器有助于提高設(shè)計的時鐘速率,但通過為數(shù)字濾波器模塊做出有利的架構(gòu)選擇,可以實現(xiàn)更好的時鐘速率。許多 Simulink 模塊都有架構(gòu)選擇,使設(shè)計人員能夠針對速度或面積優(yōu)化設(shè)計。對于用于計算本底噪聲和前導碼相關(guān)性的數(shù)字濾波器(圖5),對輸出乘法器進行流水線處理可以縮短數(shù)字濾波器內(nèi)的關(guān)鍵路徑并提高設(shè)計時鐘速率。

poYBAGO6IYCAefkOAABArz_IPjM289.png?la=en&imgver=1

圖5.數(shù)字濾波器模塊的 HDL 模塊選擇。

在進行這兩個簡單的流水線更改后,生成的HDL代碼的時鐘速率超過了140 MHz。對于使用代碼生成工具的工程師來說,這是一個有用的教訓:將硬件設(shè)計原理的一點知識應用于代碼生成模型可以對生成的代碼的結(jié)果產(chǎn)生重大影響。進一步優(yōu)化此設(shè)計是可能的,但被認為是不必要的,因為HDL代碼很容易滿足該設(shè)計相對簡單的時序和資源目標。

在傳統(tǒng)的無線電設(shè)計過程中,大部分開發(fā)時間都花在測試和調(diào)試HDL代碼上。在本示例中使用的基于模型的設(shè)計方法中,將更多時間花在開發(fā)仿真和代碼生成模型上。但是,由于生成的源代碼與仿真的驗證行為完全匹配,因此大大節(jié)省了開發(fā)時間;只需在嵌入式硬件上執(zhí)行最少量的調(diào)試。

使用 MATLAB 編碼器生成 C 代碼7

與 HDL 代碼生成類似,必須滿足幾個條件才能為本設(shè)計的解碼功能生成 C 代碼。兩個最重要的要求是:

使用 MATLAB Coder 支持的函數(shù)。MATLAB Coder 支持大多數(shù) MATLAB 語言和各種工具箱,8但您可能會在不知不覺中使用代碼生成不支持的函數(shù)。MATLAB Coder 提供了一些工具,例如代碼準備工具、9以幫助查找任何不受支持的函數(shù)。

確保聲明 MATLAB 變量后,其大小和類型不會更改。這對于確保在生成的代碼中正確進行內(nèi)存分配是必需的。

從 MATLAB 生成 C 代碼的最簡單方法是打開一個新的 MATLAB Coder 項目,可以從 MATLAB Toolstrip 上的“應用程序”選項卡訪問該項目。MATLAB Coder 項目的最終輸出如圖 6 所示。

pYYBAGO6IYGAP6KqAAElp91O7yQ244.png?la=en&imgver=1

圖6.用于 DecodeBits_ADI.m 的 MATLAB Coder 項目

在本項目中,頂級MATLAB函數(shù)為DecodeBits_ ADI.m。用戶需要指定此函數(shù)所需的數(shù)據(jù)類型和大小作為輸入?yún)?shù)。圖 6 顯示此函數(shù)的輸入?yún)?shù)是 112 個布爾數(shù)據(jù)位和兩個雙精度值(以提供用戶當前的緯度和經(jīng)度)。DecodeBits_ADI.m 的輸出大小和數(shù)據(jù)類型(例如 *nV 表示北速度,*eV 表示東速度,*alt 表示高度)由 MATLAB Coder 自動確定。MATLAB Coder 查找頂級入口點文件 DecodeBits_ADI.m 調(diào)用的所有其他函數(shù),包括 AltVelCalc_ADI.m 和 LatLongCalc_ADI.m,然后生成整個解碼算法的源代碼。

由 MATLAB Coder 生成的 C 代碼是 MATLAB 功能到 C 語言的相當簡單的翻譯。與HDL代碼生成的情況一樣,MATLAB Coder生成的源代碼是可讀和可追溯的,因此工程師可以輕松識別原始MATLAB代碼和生成的C代碼之間的關(guān)系。此示例中的 C 代碼可以從 MATLAB 命令提示符生成,并由任何 ANSI C 編譯器編譯。

HDL 代碼平臺部署

在將設(shè)計劃分為將在 Zynq 可編程邏輯和處理系統(tǒng)上運行的功能,優(yōu)化 HDL 和 C 代碼生成的設(shè)計,并在仿真中驗證優(yōu)化的設(shè)計是否正常運行并符合性能標準后,現(xiàn)在可以將設(shè)計部署到實際的 SDR 硬件平臺上,并在實際條件下驗證系統(tǒng)的功能。為此,ADI公司AD-FMCOMMS3-EBZ SDR平臺10連接到賽靈思 ZC706 開發(fā)板11使用運行ADI公司的Linux發(fā)行版。

AD-FMCOMMS3-EBZ板隨附ADI公司提供的開源Vivado HDL參考設(shè)計。12該參考設(shè)計包含配置和傳輸數(shù)據(jù)所需的所有IP模塊,這些數(shù)據(jù)與AD-FMCOMMS3-EBZ板上的AD9361收發(fā)器之間傳輸數(shù)據(jù)。圖 7 顯示了 HDL 參考設(shè)計的框圖。

poYBAGO6IYKAH2ceAADW6_FE9lY607.png?la=en&imgver=1

圖7.HDL 參考設(shè)計框圖。

AD9361 IP內(nèi)核在AD9361收發(fā)器芯片和Zynq器件之間實現(xiàn)LVDS接收和發(fā)送數(shù)據(jù)接口,以及與設(shè)計其余部分的數(shù)據(jù)接口。DMA模塊用于AD9361 IP和DDR存儲器之間的高速數(shù)據(jù)傳輸。AD9361 IP模塊的數(shù)據(jù)接口由四條用于接收的數(shù)據(jù)線和四條用于發(fā)送的數(shù)據(jù)線組成,對應于AD9361的兩個接收通道和兩個發(fā)送通道的I&Q數(shù)據(jù)。每條數(shù)據(jù)線的寬度為 16 位。為了使系統(tǒng)內(nèi)部的數(shù)據(jù)傳輸更加高效,接收和發(fā)送數(shù)據(jù)被打包到由DMA模塊管理的64位寬總線中。封裝和解包模塊用于將AD9361 IP的16位并行數(shù)據(jù)線連接到DMA。

將 ADS-B 模型的 HDL 代碼部署到 SDR 平臺的現(xiàn)有 HDL 基礎(chǔ)設(shè)施中需要創(chuàng)建一個可以插入數(shù)據(jù)路徑的 IP 核;這樣做是為了實時處理接收到的數(shù)據(jù)并將處理后的數(shù)據(jù)傳遞給軟件層。部署過程可能被證明是一項困難且耗時的任務,因為它需要深入了解 HDL 設(shè)計的功能以及足夠的 HDL 編程技能。為了簡化這些步驟,MathWorks 在 HDL Coder 中加入了一個名為 HDL Workflow Advisor 的實用程序,ADI 公司為 AD-FMCOMMS2-EBZ/AD-FMCOMMS3-EBZ SDR 平臺和 Xilinx ZC706 板提供了板級支持包 (BSP)。13

HDL 工作流顧問可指導用戶完成從 Simulink 模型生成 HDL 代碼所需的步驟。用戶可以從幾種不同的目標工作流程中進行選擇,包括“ASIC/FPGA”、“FPGA-IN-THE-LOOP”和“IP 核生成”。目標平臺選擇包括 Xilinx 評估板、Altera 評估板或 FMCOMMS2/3 ZC706 SDR 平臺。然后,HDL 工作流顧問可以自動執(zhí)行代碼生成和目標集成過程的其余部分。

ADI公司提供的BSP是電路板定義和參考設(shè)計的集合14為 HDL 工作流顧問提供生成與現(xiàn)有 HDL 參考設(shè)計兼容的 IP 模塊所需的信息和工具,并將生成的 IP 插入到 HDL 參考設(shè)計中。圖 8 顯示了如何配置工作流顧問程序以生成 ADS-B 模型的 IP 核。請注意,必須選擇面向ADI公司AD-FMCOMMS3-EBZ SDR平臺和Xilinx ZC706板的IP核生成工作流程。

pYYBAGO6IYSANNgfAAA3vphFiRg345.png?la=en&imgver=1

圖8.工作流顧問程序配置。

下一步是配置 IP 和參考設(shè)計之間的接口。在輸入端,模型接受原始I&Q樣本;這將模型的輸入端口直接連接到AD9361接收器數(shù)據(jù)端口。在模型的所有輸出信號中,此階段唯一感興趣的是數(shù)據(jù)、frame_valid和bit_clk信號。數(shù)據(jù)和frame_valid寬度為16位,由bit_clk信號計時。這些信號可以連接到BSP的“DUT Data x Out”接口,這意味著它們將直接訪問DMA模塊;然后可以將數(shù)據(jù)傳輸?shù)紻DR,軟件層可以訪問DDR。bit_clk信號連接到“DUT 數(shù)據(jù)有效輸出”BSP 接口并控制 DMA 采樣速率。圖 9 顯示了必須如何配置 HDL 接口。

poYBAGO6IYWAHCx3AABM5ERmZsQ105.png?la=en&imgver=1

圖9.HDL 接口配置。

定義目標接口后,HDL 工作流顧問程序的步驟 2 和步驟 3 可以保留為其默認狀態(tài),并且可以通過運行步驟 4.1(創(chuàng)建項目)來啟動項目生成過程。這一步驟的結(jié)果是一個Vivado項目,該項目將ADS-B IP內(nèi)核集成到ADI公司的HDL參考設(shè)計中。圖10顯示了ADS-B IP核與設(shè)計中其余模塊之間的連接。

poYBAGO6IYaAAPulAAA0jNoS5u4688.png?la=en&imgver=1

圖 10.HDL 參考設(shè)計中的 ADS-B IP 連接。

從 Vivado 項目生成比特流結(jié)束了 HDL 集成過程,但最終目標是讓 Linux 在系統(tǒng)上運行。為此,在生成比特流后,可以按照標準的 Xilinx SDK 第一階段引導加載程序 (fsbl) 和 Linux 引導文件創(chuàng)建流程創(chuàng)建 Linux 引導文件。與新創(chuàng)建的HDL設(shè)計相對應的Linux設(shè)備樹和圖像文件與AD-FMCOMMS3-EBZ BSP一起分發(fā)。所有文件必須與 SD 卡引導分區(qū)上的 Linux 引導文件一起復制;用于在賽靈思 ZC706 板上存儲運行 ADI Linux 發(fā)行版所需的所有文件。

C 代碼平臺部署

現(xiàn)在,ADS-B HDL IP 已集成到 SDR 平臺的 HDL 設(shè)計中,并且創(chuàng)建了 Linux SD 卡,是時候?qū)崿F(xiàn)解碼 ADS-B 數(shù)據(jù)的軟件應用程序了。此應用程序基于第 5 節(jié)中生成的 C 代碼,并執(zhí)行以下任務:

將AD9361配置為接收ADS-B信號。

從 ADS-B IP 核讀取數(shù)據(jù)。

檢測讀取數(shù)據(jù)中的有效 ADS-B 幀。

解碼并顯示 ADS-B 信息。

實現(xiàn)任務 1 和任務 2 的最簡單方法是使用 libiio 庫提供的功能。15該庫提供接口功能,使用戶能夠輕松配置AD9361以及接收和發(fā)送數(shù)據(jù)。配置序列設(shè)置以下系統(tǒng)參數(shù):

LO 頻率 — 1.09 GHz

采樣率 — 12.5 MHz

模擬帶寬 — 4.0 MHz

AGC - 快速攻擊模式

除上述參數(shù)外,AD9361還加載了一個數(shù)據(jù)速率為12.5 MSPS、通帶頻率為3.25 MHz、阻帶頻率為4 MHz的數(shù)字FIR濾波器,以確保接收的數(shù)據(jù)僅包含目標頻段。本系列文章的第3部分介紹了該FIR濾波器的系統(tǒng)參數(shù)和設(shè)計方法。3

ADS-B IP 的輸出數(shù)據(jù)通過 DMA 塊傳輸?shù)较到y(tǒng)的 DDR 內(nèi)存中。libiio庫提供以下功能:將從ADS-B IP獲取的數(shù)據(jù)放置到指定大小的內(nèi)存緩沖區(qū)中;等待緩沖區(qū)被填充;通過指針訪問緩沖區(qū)。緩沖區(qū)填滿后,ADS-B 解碼算法可以處理數(shù)據(jù)。ADS-B IP 核有兩個輸出通道:一個通道對應于 ADS-B 比特流,另一個通道指示有效數(shù)據(jù)幀在比特流中的結(jié)束位置。兩個通道包含相同的數(shù)據(jù)速率,并且彼此同步。有效通道中等于“1”的樣本表示數(shù)據(jù)通道中有效幀的最后一位。通過解析兩個通道,軟件可以從比特流中提取有效的ADS-B數(shù)據(jù)幀,并將數(shù)據(jù)傳遞給MATLAB Coder生成的解碼函數(shù)。解碼功能在計算飛機坐標時,使用ADS-B數(shù)據(jù)幀和當前位置的經(jīng)緯度作為輸入。當前緯度和經(jīng)度被指定為應用程序的參數(shù)。解碼后的 ADS-B 數(shù)據(jù)的顯示方式與 Simulink 模型類似。

ADS-B 數(shù)據(jù)解碼應用程序是在 Linux 下使用 makefile 構(gòu)建的。該應用程序的源代碼和生成文件可在ADI公司的github存儲庫中找到。16

這樣就完成了使用 MathWorks 的 HDL Coder 和 MATLAB Coder 從 ADS-B 模型生成的 HDL 和 C 代碼的平臺部署步驟。下一步是驗證系統(tǒng)的功能并評估結(jié)果。

系統(tǒng)驗證

要驗證系統(tǒng)的功能,首先在AD-FMCOMMS3-EBZ板的一個接收端口和一個發(fā)射端口之間創(chuàng)建一個環(huán)回連接,并傳輸仿真期間使用的相同ADS-B信號。通過接收和解碼這些數(shù)據(jù),可以驗證在SDR平臺上運行的算法的輸出是否與仿真結(jié)果相匹配。圖 11 顯示了 ADS-B 數(shù)據(jù)解碼應用程序的輸出;結(jié)果與使用預捕獲數(shù)據(jù)的HIL仿真系列文章第3部分中所示的結(jié)果相同。這提供了系統(tǒng)按預期運行并準備好與實際數(shù)據(jù)一起使用的信心。

pYYBAGO6IYiAYAZCAAAaaGakv4E776.png?la=en&imgver=1

圖 11.環(huán)回結(jié)果。

在實際的現(xiàn)場測試中,SDR接收器被放置在馬薩諸塞州內(nèi)蒂克的MathWorks總部外,并與系統(tǒng)解碼的ADS-B信息與飛機實時跟蹤網(wǎng)站(如 flightradar24.com)提供的數(shù)據(jù)進行比較。據(jù)觀察,該系統(tǒng)能夠解碼從天線視線內(nèi)的飛機接收的數(shù)據(jù)。圖12顯示了系統(tǒng)檢測到的飛機信息與在線飛機跟蹤數(shù)據(jù)之間的比較;解碼算法顯示正確的飛機 ID、高度、速度和緯度/經(jīng)度坐標。

poYBAGO6IYqAJ5ToAAHbPQgwNms892.jpg?la=en&imgver=1

pYYBAGO6IYuATQO7AAA1C1oI4SA823.png?la=en&imgver=1

數(shù)字。12 實時數(shù)據(jù)結(jié)果。

結(jié)論

本文總結(jié)了由四部分組成的系列文章,展示了如何使用基于模型的設(shè)計將 SDR 系統(tǒng)從仿真一直帶到生產(chǎn)。該系列介紹了開發(fā)“硬件就緒”ADS-B Simulink 模型的所有階段。我們設(shè)計了一個仿真模型來證明我們可以解碼記錄的ADS-B消息,然后使用從SDR硬件平臺獲取的實時數(shù)據(jù)驗證模型。這不僅驗證了模型,還驗證了SDR平臺對模擬前端和數(shù)字接收器鏈的設(shè)置;這也讓我們有信心,該平臺已針對接收 ADS-B 信號進行了適當調(diào)整。之后,我們將模型劃分為在 Zynq 處理系統(tǒng)和可編程邏輯上運行的功能,并優(yōu)化模型以自動生成 C 和 HDL 代碼。最后,我們將 C 和 HDL 代碼集成到 SDR 設(shè)計中,并通過實時商業(yè)空中交通驗證了系統(tǒng)的功能。最終結(jié)果是一個設(shè)計過程,該過程使用 MathWorks 的建模和代碼生成工具以及 Zynq SDR 平臺來創(chuàng)建功能齊全的 SDR 系統(tǒng)。

本示例系統(tǒng)表明,與傳統(tǒng)設(shè)計方法相比,基于模型的設(shè)計工作流程與ADI公司AD9361/AD9364集成RF捷變收發(fā)器?可編程無線電硬件相結(jié)合,可以幫助設(shè)計團隊更快、更便宜地開發(fā)工作無線電原型。這個原型是由作者在相對較短的時間內(nèi)以最小的障礙構(gòu)建的,并利用了以下資源:

能夠在 MATLAB 和 Simulink 中構(gòu)建 ADS-B 接收器模型,該模型可以生成可用的 C 和 HDL 源代碼。

HDL 工作流顧問中的功能,可自動執(zhí)行許多硬件/軟件集成步驟。

庫(如 libiio),用于協(xié)助部署 SDR 原型的其余集成步驟。

MathWorks 和 ADI 提供的產(chǎn)品幫助和技術(shù)支持。

ADS-B 是一個相對簡單的標準,它提供了一個很好的測試用例來演示這種構(gòu)建 SDR 原型的方法。采用基于模型的設(shè)計和 Zynq SDR 平臺的工程師應該能夠按照本系列文章中介紹的工作流程開發(fā)更復雜、更強大的基于 QPSK、QAM 和 LTE 的 SDR 系統(tǒng)。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編碼器
    +關(guān)注

    關(guān)注

    45

    文章

    3780

    瀏覽量

    137291
  • 接收器
    +關(guān)注

    關(guān)注

    15

    文章

    2563

    瀏覽量

    73468
  • Simulink
    +關(guān)注

    關(guān)注

    22

    文章

    540

    瀏覽量

    63691
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    ADI發(fā)布首款同步射頻收發(fā)器快速原型制作套件AD-FMCOMMS5-EBZ

    Analog Devices, Inc. (NASDAQ: ADI)近日發(fā)布業(yè)界首款軟件定義無線電(SDR)快速原型制作套件AD-FMCOMMS5-EBZ,它采用兩片2 x 2 AD9
    發(fā)表于 08-07 22:53

    利用基于模型的設(shè)計開發(fā)軟件定義無線電,通往量產(chǎn)的四步

    算法https://ezchina.analog.com/message/32429#32429第四步——如何利用Zynq SDR套件Simulink
    發(fā)表于 02-29 16:51

    MATLAB和Simulink算法原型如何在FPGA上適配?

    執(zhí)行代碼覆蓋率分析。在該工作流程中,Simulink設(shè)計驗證工具可針對模型覆蓋率生成一套測試用例。HDL驗證工具自動使用這一套測試用例運行ModelSim/Questa,收集
    發(fā)表于 09-04 09:26

    在FPGA上建立MATLAB和Simulink算法原型的四種最佳方法

    設(shè)計補丁)。由于自動HDL代碼生成流程比手工編碼快,工程師得以把節(jié)省下來的時間投入到詳細設(shè)計階段,生成更優(yōu)質(zhì)的定點算法。與手動的工作流程相比
    發(fā)表于 05-04 07:00

    Simulink是什么?Simulink工作流程是怎樣進行的?

    Simulink是什么?Simulink有哪些功能?如何去使用Simulink?Simulink工作流程是怎樣
    發(fā)表于 07-09 06:16

    淺析MATLAB和Simulink嵌入式視覺應用

    嵌入式視覺是什么?嵌入式視覺是指將圖像處理和計算機視覺應用到嵌入式系統(tǒng)。嵌入式視覺開發(fā)工作流程的主要環(huán)節(jié)包括視覺算法的算法設(shè)計、系統(tǒng)建模、協(xié)作和部署。工程師使用 MATLAB 和 Simulink
    發(fā)表于 12-04 08:00

    使用USRP E310和MATLAB和Simulink進行原型設(shè)計和測試軟件定義的無線電

    使用USRP E310和MATLAB和Simulink進行原型設(shè)計和測試軟件定義的無線電(SDR)系統(tǒng)通信系統(tǒng)工具箱?支持包USRP?嵌入式系列收音機使您可以使用MATLAB?和
    發(fā)表于 12-21 07:56

    Simulink 自動代碼生成原理分享

    介紹代碼生成的時候,第一步就是選擇目標【Target Selection】,Matlab已經(jīng)自帶了不少目標系統(tǒng),例如ert.tlc。 如果你安裝了NIVeriStand或其他快速原型產(chǎn)
    發(fā)表于 05-31 11:19

    快速原型SIMULINK模型的代碼自動生成

    快速原型仿真是實時仿真的一種,它處于產(chǎn)品研發(fā)的算法設(shè)計階段與具體實現(xiàn)階段之間,是產(chǎn)品研制過程中一個重要環(huán)節(jié)。本文介紹了在快速原型系統(tǒng)中如何利用MATLAB/
    發(fā)表于 04-17 22:16 ?69次下載

    Zynq SDR快速原型開發(fā)平臺上進行研發(fā)

    本系列文章的前幾部分介紹了Zynq SDR快速原型開發(fā)平臺1,說明了利用MATLAB和Simulink開發(fā)算法以成功處理和解碼ADS-B傳輸
    發(fā)表于 11-17 05:38 ?4518次閱讀

    采用Zynq SDR套件的DDS HLS IP

    ADI公司在Embedded World 2015上展示了采用Zynq SDR套件的DDS HLS IP
    的頭像 發(fā)表于 11-30 06:44 ?3534次閱讀

    業(yè)界首款采用射頻收發(fā)器SDR快速原型制作套件

    業(yè)界首款SDR快速原型制作套件采用兩片2 × 2 AD9361射頻收發(fā)器,基于Xilinx? Zynq?-7000 SoC開發(fā)平臺,可簡化并
    的頭像 發(fā)表于 06-14 06:12 ?3293次閱讀

    在FPGA上部署5G NR無線通信:MATLAB與Simulink工作流程

    電子發(fā)燒友網(wǎng)站提供《在FPGA上部署5G NR無線通信:MATLAB與Simulink工作流程.pdf》資料免費下載
    發(fā)表于 09-14 09:42 ?0次下載
    在FPGA上部署5G NR無線通信:MATLAB與<b class='flag-5'>Simulink</b><b class='flag-5'>工作流程</b>

    在FPGA上部署5G NR無線通信:MATLAB與Simulink工作流程

    電子發(fā)燒友網(wǎng)站提供《在FPGA上部署5G NR無線通信:MATLAB與Simulink工作流程.pdf》資料免費下載
    發(fā)表于 09-13 11:24 ?1次下載
    在FPGA上部署5G NR無線通信:MATLAB與<b class='flag-5'>Simulink</b><b class='flag-5'>工作流程</b>

    simulink自動生成ROS代碼

    當我們用simulink完成控制程序的搭建后,我們期望下一次可以直接對ROS進行控制,而不是每次都需要啟動matlab和simulink,因此我們可以使用simulink
    的頭像 發(fā)表于 11-15 17:53 ?1140次閱讀
    <b class='flag-5'>simulink</b>自動<b class='flag-5'>生成</b>ROS<b class='flag-5'>代碼</b>
    主站蜘蛛池模板: 国产3p在线播放 | 国产精品一级香蕉一区 | 成年片免费网址网站 | 日韩va亚洲va欧美va浪潮 | 久久影视免费观看网址 | 一级一片一a一片 | 天天射天天拍 | 伊人婷婷色香五月综合缴激情 | 久久综合五月开心婷婷深深爱 | 第一页综合 | 特级毛片视频在线 | 阿v视频在线观看免费播放 爱爱视频天天干 | 在线网站黄色 | 高清视频黄色录像免费 | 色之综合天天综合色天天棕色 | 激情九月 | 美女黄色在线看 | 国产精品久久在线观看 | 色噜噜亚洲精品中文字幕 | 免费特黄一区二区三区视频一 | 国产精品日本亚洲777 | 国产精品乱码高清在线观看 | 天堂电影免费在线观看 | 免费视频精品 | 天使色吧 | 夜夜春夜夜夜夜猛噜噜噜噜噜 | 亚洲射图 | 久青草国产在线视频_久青草免 | 国产黄色大片又色又爽 | 小泽玛利亚在线观看123 | 最近在线观看免费完整视频 | 国产色婷婷精品综合在线观看 | 天天色天 | 4hu四虎永久免在线视 | 色图插插插 | 久久精品国产99国产精品免费看 | 午夜免费福利片 | 二级特黄绝大片免费视频大片 | 色屁屁www免费看视频影院 | 日日干狠狠干 | 女人张开腿等男人桶免费视频 |