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

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

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

如何用MATLAB快速實(shí)現(xiàn)軟件接收機(jī)?

MATLAB ? 來(lái)源:MATLAB ? 作者:MATLAB ? 2021-05-23 10:07 ? 次閱讀

在新基建 | MATLAB 助力 5G 小基站研發(fā)(上篇)中,我們介紹了 MATLAB 在 3GPP 5G 標(biāo)準(zhǔn)學(xué)習(xí)和校驗(yàn)、無(wú)線信號(hào)發(fā)射和 EVM 測(cè)量、波束成形設(shè)計(jì)等方面助力 5G 小基站研發(fā)。在下篇中,我們將繼續(xù)探討 MATLAB 其他的硬核功能:

用 MATLAB 快速實(shí)現(xiàn)軟件接收機(jī)

自動(dòng)代碼生成實(shí)現(xiàn)快速原型開(kāi)發(fā)

軟件質(zhì)量與安全檢查

5G 小基站廣闊的發(fā)展前景成功地吸引了芯片廠商的關(guān)注,紛紛推出各種小基站硬件平臺(tái),例如 Intel FlexRAN 平臺(tái),NXP Layerscape 集成小基站,高通 vRAN 平臺(tái)芯片組,Marvell OCTEON 系列處理器,Xilinx Zynq UltraScale+ RFSoC 等。這些硬件平臺(tái)多種多樣,跨越了 ASICFPGA、ARM、X86 等各種技術(shù)。如何將算法部署到不同的芯片硬件平臺(tái),以實(shí)現(xiàn)多樣化的、有競(jìng)爭(zhēng)力的產(chǎn)品?你可以使用 MATLAB 基于模型設(shè)計(jì)的工作流程,在高層級(jí)模型上進(jìn)行設(shè)計(jì)變更、優(yōu)化、測(cè)試、驗(yàn)證,然后自動(dòng)生成跨平臺(tái)的 C/C++ 或 HDL 代碼和測(cè)試平臺(tái),從而加速 5G 算法部署到多樣化硬件的過(guò)程。利用基于模型的設(shè)計(jì),能夠在模型層面試驗(yàn)不同的架構(gòu)和算法,反復(fù)調(diào)整參數(shù),預(yù)測(cè)硬件性能,并快速在 SDR、FPGA 或 SoC 硬件上自動(dòng)建立原型。

(一) 用 MATLAB 快速實(shí)現(xiàn)軟件收發(fā)信機(jī)1.1 黃金參考模型5G 工具箱提供了很多黃金參考模型,幫助你快速實(shí)現(xiàn)5G軟件收發(fā)信機(jī)模型。案例和函數(shù)的代碼是白盒的,很容易在此基礎(chǔ)上進(jìn)行修改、調(diào)試、發(fā)現(xiàn)和解決問(wèn)題、改進(jìn)性能。例子 NR PUSCH Throughput 展示了如何測(cè)量 5G 物理上行共享信道(PUSCH)吞吐量。該示例可選擇配置采用 3GPP 定義的集群延遲線(CDL)或抽頭延遲線(TDL)信道,也可以選擇配置執(zhí)行理想的或?qū)嶋H的同步和信道估計(jì)。為實(shí)現(xiàn)理想的同步和信道估計(jì),可從信道模型中重構(gòu)信道脈沖響應(yīng),用于同步接收和信道估計(jì)。選擇實(shí)際同步和信道估計(jì)時(shí),則利用 DM-RS 信號(hào)同步和解調(diào)。為了減少總仿真時(shí)間,可以使用 Parallel Computing Toolbox 并行掃描不同的 SNR 條件下的吞吐量。

例子 NR Cell Search and MIB and SIB1 Recovery (https://ww2.mathworks.cn/help/5g/ug/nr-cell-search-and-mib-and-sib1-recovery.html) 演示了如何使用 5G Toolbox 提供的函數(shù)來(lái)同步、解調(diào)和解碼真實(shí)的 gNodeB 信號(hào)。該程序可用于模擬用戶終端下行接收,對(duì)主信息塊(MIB)和第一系統(tǒng)信息塊(SIB1)進(jìn)行解碼。算法實(shí)現(xiàn)框圖如下:

cf7172a2-b96c-11eb-bf61-12bb97331649.png

你可以將圖中任何模塊替換為自己的算法,此時(shí)該示例模型將變成完美的單元模塊算法的測(cè)試平臺(tái),而被替換的模塊則變身為性能基線模型。1.2 定點(diǎn)化建模工具通信算法優(yōu)化收斂后,由于其計(jì)算密集的特性,一般都需要轉(zhuǎn)化為定點(diǎn)算法,以節(jié)省硬件資源開(kāi)銷,最終降低產(chǎn)品成本,提高產(chǎn)品競(jìng)爭(zhēng)力。MATLAB 的定點(diǎn)化工具箱 Fixed-Point Designer 提供豐富的數(shù)據(jù)類型和軟件工具,可以事先在模型中測(cè)試和調(diào)試溢出及精度損失等量化效應(yīng),之后再在硬件上實(shí)現(xiàn)設(shè)計(jì)。直觀的一項(xiàng)功能如下圖,在定點(diǎn)工具的引導(dǎo)下探索不同的定點(diǎn)數(shù)據(jù)類型及其對(duì)系統(tǒng)數(shù)值行為所產(chǎn)生的量化影響。你能觀察到算法中所有變量的動(dòng)態(tài)范圍,并確保轉(zhuǎn)換后的算法在浮點(diǎn)表示和定點(diǎn)表示下具有一致的行為。

cf91f130-b96c-11eb-bf61-12bb97331649.png

圖中藍(lán)色部分是某變量在給定的一組測(cè)試用例條件下的取值范圍(包括整數(shù)和小數(shù)部分),灰色部分是當(dāng)前該變量的數(shù)據(jù)類型能支持的取值范圍。如有溢出會(huì)紅色高亮顯示,定點(diǎn)工具會(huì)自動(dòng)記錄所有的溢出:

上溢出(overflow):運(yùn)算結(jié)果超出了定點(diǎn)數(shù)的整數(shù)部分所能表示的范圍,會(huì)引起數(shù)據(jù)被截取或翻轉(zhuǎn) wrap

下溢出(underflow):運(yùn)算結(jié)果小數(shù)部分超出了定點(diǎn)數(shù)的小數(shù)部分能表示的范圍,會(huì)引起精度損失

識(shí)別到溢出后可快速識(shí)別、跟蹤并調(diào)試溢出、精度損失以及范圍或精度浪費(fèi)的問(wèn)題來(lái)源,并將定點(diǎn)設(shè)計(jì)與理想的浮點(diǎn)行為進(jìn)行對(duì)比。Fixed-Point Designer 還集成了優(yōu)化工具 fxpopt (https://ww2.mathworks.cn/help/fixedpoint/ref/fxpopt.html),可以自動(dòng)優(yōu)化尋找滿足給定的數(shù)值精度要求和目標(biāo)硬件約束的數(shù)據(jù)類型。

% Use the addTolerance method to define tolerances for thedifferences between the original

behavior of the system, and the behavior using the optimized fixed-pointdata types.

tol = 10e-2;

addTolerance(opt, [model ‘/output_signal’], 1, ‘AbsTol’, tol);

result = fxpopt(model, sud, opt);

Starting parallel pool (parpool) using the ‘local’ profile 。。.

Connected to the parallel pool (number of workers: 4)。

+ Preprocessing

+ Modeling the optimizationproblem

- Constructing decisionvariables

+ Running the optimizationsolver

Analyzing and transferring files to the workers 。。.done.

- Evaluating new solution:cost 180, does not meet the tolerances.

- Evaluating new solution:cost 198, does not meet the tolerances.

- Evaluating new solution:cost 216, does not meet the tolerances.

- Evaluating new solution:cost 234, does not meet the tolerances.

- Evaluating new solution:cost 252, does not meet the tolerances.

- Evaluating new solution:cost 270, does not meet the tolerances.

- Evaluating new solution:cost 288, does not meet the tolerances.

- Evaluating new solution:cost 306, meets the tolerances.

- Evaluating new solution:cost 324, meets the tolerances.

- Evaluating new solution:cost 342, meets the tolerances.

- Evaluating new solution:cost 360, meets the tolerances.

◆ ◆ ◆ ◆

(二) 自動(dòng)代碼生成實(shí)現(xiàn)快速原型開(kāi)發(fā)完成定點(diǎn)設(shè)計(jì)后,可以從定點(diǎn)優(yōu)化模型生成面向 X86 或 ARM 的 C/C++,或用于 FPGA 和 ASIC 設(shè)計(jì)的 HDL 代碼。示例 5G NR MIB Recovery Using Xilinx RFSoC Device 展示了如何將 5G 物理層算法自動(dòng)生成 C/C++ 和 HDL 代碼并部署在 Xilinx Zynq UltraScale + RFSoC ZCU111 評(píng)估板中。在 SoC 硬件上實(shí)現(xiàn)之前,可以在系統(tǒng)級(jí)模型上調(diào)整軟硬件劃分以及驗(yàn)證 ARM 處理器中軟件算法和 FPGA 中的硬件算法。下圖展示了 FR1 頻段的 SSB 檢測(cè)器結(jié)構(gòu),以及與搜索控制器之間傳遞的參數(shù)和數(shù)據(jù)。SSB 檢測(cè)器分為兩個(gè)功能部分:SSB 檢測(cè)器下變頻 DDC 和 SSB 檢測(cè)搜索和解調(diào)。DDC 接收 61.44 Msps 的樣本,糾正頻率偏移和下采樣。頻率偏移值由搜索控制器提供,并被用于粗和細(xì)的頻率偏移補(bǔ)償算法。SSB 檢測(cè)搜索和解調(diào)接受 7.68 Msps 的樣本,實(shí)現(xiàn)兩種工作方式:搜索和解調(diào)。

cfdbc6fc-b96c-11eb-bf61-12bb97331649.png

cff9cb16-b96c-11eb-bf61-12bb97331649.png

在上述算法模型的基礎(chǔ)上,創(chuàng)建 SoC 頂層模型(見(jiàn)下圖),并將硬件目標(biāo)設(shè)置為 Xilinx Zynq Ultrascale+ RFSoC ZCU111 評(píng)估套件。該模型包括 FPGA 模型 soc_5GNRMIBRecovery_fpga(左)和處理器模型 soc_5GNRMIBRecovery_proc(右),它們被實(shí)例化為模型引用,分別指向 2 個(gè) Simulink 模型。FPGA 模型包含三個(gè)子系統(tǒng):發(fā)送重復(fù),向量插值(連接到 DAC)和 5G 小區(qū)搜索接收(連接 ADC)。ARM 模型包含周期運(yùn)行的搜索控制器算法,協(xié)調(diào)檢測(cè)器和解碼器硬件核心,以及內(nèi)存讀寫控制與 FPGA 交換數(shù)據(jù)。頂層模型還包括 FPGA 和 ARM 之間的內(nèi)存通道和內(nèi)存控制器模型。

d01b7f86-b96c-11eb-bf61-12bb97331649.png

有了這樣的 SoC 系統(tǒng)模型,便可以使用生成的測(cè)試流量或真實(shí) I/O 數(shù)據(jù)來(lái)仿真內(nèi)存與內(nèi)部和外部連接,以及調(diào)度和 OS 效果;也可以快速探索不同的系統(tǒng)架構(gòu),估計(jì)硬件和軟件分區(qū)的接口復(fù)雜度,并評(píng)估軟件性能和硬件利用率。系統(tǒng)設(shè)計(jì)優(yōu)化之后,最終利用 MATLAB 自動(dòng)代碼生成功能直接部署 HDL 和 C/C++ 代碼到 SoC 芯片中。

(三) 軟件質(zhì)量與安全檢查當(dāng)前全球?qū)νㄐ呕A(chǔ)設(shè)施的網(wǎng)絡(luò)安全和軟件質(zhì)量的關(guān)注達(dá)到了前所未有的高度。除了 3GPP 對(duì)架構(gòu)安全、認(rèn)證和密鑰管理、業(yè)務(wù)安全等標(biāo)準(zhǔn)的研究和制定外,通信設(shè)備廠商在開(kāi)發(fā)產(chǎn)品過(guò)程中的軟件質(zhì)量和安全防護(hù)也是其中關(guān)鍵因素。據(jù)統(tǒng)計(jì),高達(dá) 90% 的軟件安全問(wèn)題是由編碼錯(cuò)誤引起的。嵌入式系統(tǒng)使用手寫或自動(dòng)生成的 C 等編程語(yǔ)言代碼。

C 語(yǔ)言允許直接訪問(wèn)內(nèi)存等低級(jí)操作,但相關(guān)的安全風(fēng)險(xiǎn)也更高。C 語(yǔ)言中的某些代碼構(gòu)造會(huì)引入安全漏洞,惡意攻擊者可以利用這些漏洞并執(zhí)行代碼注入、緩存溢出和弧注入等操作。如果攻擊者控制了系統(tǒng),后果可能是災(zāi)難性的。許多編碼規(guī)范標(biāo)準(zhǔn),如 CERT C/C++,針對(duì)不安全編碼和可能導(dǎo)致可利用漏洞的未定義行為,提供了規(guī)則和建議。MATLAB 持續(xù)升級(jí)代碼分析工具 Polyspace:可自動(dòng)檢查軟件代碼是否符合網(wǎng)絡(luò)安全編碼標(biāo)準(zhǔn) CERT C/C++、ISO 17961 和 MISRA C:2012 Amendment 1;采用形式化方法證明在所有可能的控制流和數(shù)據(jù)流下都沒(méi)有關(guān)鍵運(yùn)行錯(cuò)誤;以及包括編碼規(guī)范、安全漏洞、代碼指標(biāo)和數(shù)百條其他軟件缺陷的檢查。

d039577c-b96c-11eb-bf61-12bb97331649.png

利用 Polyspace 檢查運(yùn)行在 ARM 等處理器中的 5G 算法和協(xié)議棧程序,可以提高5G小基站產(chǎn)品的軟件質(zhì)量和安全等級(jí),保障5G通信系統(tǒng)的安全運(yùn)行。

原文標(biāo)題:新基建 | MATLAB 助力 5G 小基站研發(fā)(下篇)

文章出處:【微信公眾號(hào):MATLAB】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

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

    關(guān)注

    179

    文章

    2946

    瀏覽量

    229462
  • soc
    soc
    +關(guān)注

    關(guān)注

    38

    文章

    4021

    瀏覽量

    217028
  • 5G
    5G
    +關(guān)注

    關(guān)注

    1351

    文章

    48177

    瀏覽量

    560865

原文標(biāo)題:新基建 | MATLAB 助力 5G 小基站研發(fā)(下篇)

文章出處:【微信號(hào):MATLAB,微信公眾號(hào):MATLAB】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    雷達(dá)接收機(jī)的作用和組成

    雷達(dá)接收機(jī)是雷達(dá)系統(tǒng)中至關(guān)重要的一個(gè)組成部分,它負(fù)責(zé)接收來(lái)自雷達(dá)天線的回波信號(hào),并進(jìn)行放大、變換和處理,以提取目標(biāo)信息,實(shí)現(xiàn)目標(biāo)的跟蹤和定位。以下是對(duì)雷達(dá)接收機(jī)的詳細(xì)闡述,包括其定義、
    的頭像 發(fā)表于 08-08 14:05 ?487次閱讀

    認(rèn)證級(jí)EMI接收機(jī)與預(yù)兼容接收機(jī)的區(qū)別

    認(rèn)證級(jí)電磁干擾(EMI)接收機(jī)和預(yù)兼容接收機(jī)在電磁兼容性測(cè)試中扮演著不同的角色,其設(shè)計(jì)和功能也存在著顯著的區(qū)別。下面將詳細(xì)介紹它們之間的區(qū)別。 認(rèn)證級(jí)EMI接收機(jī) 認(rèn)證級(jí)EMI接收機(jī)
    的頭像 發(fā)表于 07-22 10:19 ?300次閱讀
    認(rèn)證級(jí)EMI<b class='flag-5'>接收機(jī)</b>與預(yù)兼容<b class='flag-5'>接收機(jī)</b>的區(qū)別

    接收機(jī)的工作原理和主要構(gòu)成

    在無(wú)線通信系統(tǒng)中,接收機(jī)是不可或缺的關(guān)鍵設(shè)備,其性能直接影響到通信系統(tǒng)的質(zhì)量和可靠性。隨著科技的不斷發(fā)展,接收機(jī)技術(shù)也在不斷進(jìn)步,從最初的模擬接收機(jī)發(fā)展到現(xiàn)在的數(shù)字接收機(jī),其功能越來(lái)越
    的頭像 發(fā)表于 05-14 17:28 ?2060次閱讀

    接收機(jī)的三大故障分析

    接收機(jī)在移動(dòng)通信系統(tǒng)中扮演著關(guān)鍵角色。例如,手機(jī)接收機(jī)可以接收來(lái)自基站的信號(hào),解調(diào)和放大信號(hào)后,將其轉(zhuǎn)換為可聽(tīng)的語(yǔ)音或數(shù)據(jù)。類似地,在無(wú)線通信系統(tǒng)的基站中,接收機(jī)用于
    發(fā)表于 02-05 11:07 ?457次閱讀

    什么是北斗接收機(jī)?你了解北斗接收機(jī)嗎?

    今天跟大家聊聊北斗接收機(jī),首先北斗接收機(jī)是指用于接受北斗導(dǎo)航信號(hào)并解算位置、速度、時(shí)間等信息的設(shè)備。北斗接收機(jī)的使用范圍非常廣泛,可用于車載、船載、機(jī)載等多種交通工具,也可用于測(cè)繪、農(nóng)業(yè)、氣象、地震
    的頭像 發(fā)表于 01-16 10:51 ?773次閱讀
    什么是北斗<b class='flag-5'>接收機(jī)</b>?你了解北斗<b class='flag-5'>接收機(jī)</b>嗎?

    北斗接收機(jī)的功能與應(yīng)用

    、導(dǎo)航和安全,那么這時(shí)候北斗接收機(jī)便是一個(gè)非常實(shí)用的裝備。它小巧、便攜、高靈敏度和支持多種功能等優(yōu)點(diǎn),目前廣泛受戶外愛(ài)好者喜愛(ài)和使用。 北斗接收機(jī) 首先,它可以實(shí)現(xiàn)位置定位功能,通過(guò)連接衛(wèi)星信號(hào),可以
    的頭像 發(fā)表于 01-16 10:28 ?580次閱讀
    北斗<b class='flag-5'>接收機(jī)</b>的功能與應(yīng)用

    emi接收機(jī)的工作原理

    EMI接收機(jī)可以在廣泛的頻率范圍內(nèi)操作,包括常見(jiàn)的無(wú)線通信頻段、廣播頻段、工業(yè)、科學(xué)和醫(yī)療(ISM)頻段等。不同型號(hào)的EMI接收機(jī)可能有不同的頻率范圍和分辨率。
    的頭像 發(fā)表于 01-10 11:18 ?1436次閱讀

    接收機(jī)是干什么用的 接收機(jī)類型有哪些種類

    接收機(jī)的主要作用是接收無(wú)線信號(hào),并將其轉(zhuǎn)換為可用的信號(hào)形式,使用戶能夠進(jìn)行語(yǔ)音通信、數(shù)據(jù)傳輸、信息接收、導(dǎo)航定位等各種應(yīng)用。不同類型的接收機(jī)適用于不同的應(yīng)用領(lǐng)域和無(wú)線信號(hào)類型。
    發(fā)表于 01-10 11:11 ?3566次閱讀

    微型GPS接收機(jī)的設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《微型GPS接收機(jī)的設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 11-07 10:31 ?5次下載
    微型GPS<b class='flag-5'>接收機(jī)</b>的設(shè)計(jì)

    射頻接收機(jī)的架構(gòu)介紹

    射頻接收機(jī)的架構(gòu)介紹
    的頭像 發(fā)表于 10-30 16:23 ?696次閱讀
    射頻<b class='flag-5'>接收機(jī)</b>的架構(gòu)介紹

    射頻接收機(jī)的架構(gòu)學(xué)習(xí)

    射頻接收機(jī)的架構(gòu)學(xué)習(xí)
    的頭像 發(fā)表于 10-30 16:21 ?422次閱讀
    射頻<b class='flag-5'>接收機(jī)</b>的架構(gòu)學(xué)習(xí)

    GNSS接收機(jī)是什么?怎么分類的?

    GNSS接收機(jī)是什么?怎么分類的? GNSS接收機(jī)是一種用于接收全球定位系統(tǒng)(GNSS)信號(hào)并提供位置信息的設(shè)備。GNSS接收機(jī)使用來(lái)自全球衛(wèi)星導(dǎo)航系統(tǒng)(GPS)、俄羅斯的格洛納斯系統(tǒng)
    的頭像 發(fā)表于 10-30 11:01 ?3056次閱讀

    基于軟件無(wú)線電的中頻數(shù)字接收機(jī)技術(shù)

    電子發(fā)燒友網(wǎng)站提供《基于軟件無(wú)線電的中頻數(shù)字接收機(jī)技術(shù).pdf》資料免費(fèi)下載
    發(fā)表于 10-27 09:35 ?1次下載
    基于<b class='flag-5'>軟件</b>無(wú)線電的中頻數(shù)字<b class='flag-5'>接收機(jī)</b>技術(shù)

    GLONASS接收機(jī)的方案設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《GLONASS接收機(jī)的方案設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 10-19 10:25 ?1次下載
    GLONASS<b class='flag-5'>接收機(jī)</b>的方案設(shè)計(jì)

    基于GPS軟件接收機(jī)跟蹤環(huán)路設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于GPS軟件接收機(jī)跟蹤環(huán)路設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 10-19 10:17 ?1次下載
    基于GPS<b class='flag-5'>軟件</b><b class='flag-5'>接收機(jī)</b>跟蹤環(huán)路設(shè)計(jì)