99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

如何通過三個(gè)簡單步驟來設(shè)置數(shù)據(jù)流

MATLAB ? 來源:MATLAB ? 作者:MATLAB ? 2021-09-10 10:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

MathWorks信號處理系統(tǒng)設(shè)計(jì)往往涉及復(fù)雜的算法或者數(shù)據(jù)密集型應(yīng)用,因此通常具有較高的計(jì)算復(fù)雜度。構(gòu)建和仿真這些復(fù)雜系統(tǒng)可能相當(dāng)耗時(shí)。Simulink 中的數(shù)據(jù)流執(zhí)行域功能是減少模型仿真時(shí)間的方法之一。該功能可以對 Simulink 模型自動(dòng)分區(qū),然后使用主機(jī)上閑置的 CPU 內(nèi)核并行執(zhí)行各分區(qū),從而加速仿真。本文說明如何通過三個(gè)簡單步驟來設(shè)置數(shù)據(jù)流。然后,我們用無線電模型作為示例來演示數(shù)據(jù)流的實(shí)際運(yùn)用,并比較啟用和未啟用數(shù)據(jù)流的模型仿真時(shí)間。此示例中使用的模型可以直接點(diǎn)擊文末“閱讀原文”下載。

數(shù)據(jù)流使用的并行機(jī)制類型

為進(jìn)行模型分區(qū)和并行執(zhí)行,數(shù)據(jù)流會采用以下數(shù)據(jù)和任務(wù)并行機(jī)制組合之一(圖 1):

顯式并行機(jī)制通過不同算法處理不同數(shù)據(jù)集。

展開并行機(jī)制通過同一算法處理一個(gè)數(shù)據(jù)流的連續(xù)幀。

管道并行機(jī)制通過不同算法處理同一數(shù)據(jù)的不同部分。

設(shè)置數(shù)據(jù)流

要在 Simulink 模型中啟用數(shù)據(jù)流執(zhí)行域,首先要實(shí)現(xiàn)子系統(tǒng)。實(shí)現(xiàn)方式取決于您的具體設(shè)計(jì)進(jìn)度。如果您的設(shè)計(jì)剛剛開始,請使用 DSP System Toolbox 中的 Dataflow Subsystem 模塊(圖 2)。該模塊經(jīng)過預(yù)配置,可以直接使用。您只需將它拖到 Simulink 模型中,然后在其中填充算法組件。 如果您的設(shè)計(jì)模型已構(gòu)建完畢,請將表示要并行化的算法的模塊放在子系統(tǒng)中,并按如下方式設(shè)置數(shù)據(jù)流:

選擇您剛剛創(chuàng)建的子系統(tǒng)。

在屬性檢查器的“執(zhí)行”選項(xiàng)卡下,勾選設(shè)置執(zhí)行域復(fù)選框。

將域選項(xiàng)設(shè)置為數(shù)據(jù)流。

在子系統(tǒng)內(nèi)部,左下角的 》 圖標(biāo)表示子系統(tǒng)設(shè)置為數(shù)據(jù)流執(zhí)行域。數(shù)據(jù)流執(zhí)行域首先通過在單線程上運(yùn)行模型來分析模型,然后自動(dòng)進(jìn)行子系統(tǒng)分區(qū)以用于多線程執(zhí)行。

數(shù)據(jù)流的實(shí)際運(yùn)用

該示例模型對無線電發(fā)射機(jī)和接收機(jī)進(jìn)行仿真。它包含數(shù)字上變頻器和下變頻器來調(diào)整信號頻率,并實(shí)現(xiàn)調(diào)制器和解調(diào)器(圖 3)。輸入是以 8 kHz 采樣的錄制語音。輸出是兩個(gè)頻譜分析儀和一個(gè)音頻接收端。

首先,我們測量在不啟用數(shù)據(jù)流的情況下仿真該模型所需的時(shí)間1。我們可以注釋掉輸出模塊,以便專注于仿真算法,而不受運(yùn)行示波器和音頻輸出所需的固定時(shí)長的限制。(1. 所有仿真都在 Windows 桌面計(jì)算機(jī)上運(yùn)行,該計(jì)算機(jī)采用 Intel Xeon CPU W-2133 @ 3.6 GHz 6 核 12 線程處理器。)我們使用 tic-toc 命令測量仿真時(shí)間:

modelname = ‘mono_radiomodel’;

tic;

simData = sim(modelname);

t = toc

運(yùn)行該模型的執(zhí)行時(shí)間為 3.67 秒?,F(xiàn)在我們引入數(shù)據(jù)流。我們將表示算法的模塊放入子系統(tǒng)中,并將域設(shè)置為數(shù)據(jù)流(圖 4)。

助手建議的更改之一是添加延遲。當(dāng)數(shù)據(jù)流發(fā)現(xiàn)并行機(jī)制可能增大吞吐量時(shí),通常會向模型添加延遲。沿信號線添加的延遲用 z-n 標(biāo)簽表示。我們接受更改,并將啟用了數(shù)據(jù)流的模型保存為 mono_radiomodel_dataflow。然后,我們使用與之前相同的 tic-toc 命令來測量新子系統(tǒng)的執(zhí)行時(shí)間。

modelname = ‘mono_radiomodel_dataflow’;

tic;

simData2 = sim(modelname);

t_Dataflow = toc

啟用數(shù)據(jù)流后的執(zhí)行時(shí)間為 2.5 秒,比正常的單線程執(zhí)行速度快 1.7 倍。加速得益于編譯器優(yōu)化、模型設(shè)置更改和數(shù)據(jù)流添加的延遲。然而,該模型僅在單線程上執(zhí)行,加速并不顯著。這是因?yàn)榇蟛糠钟?jì)算負(fù)載都集中在上下變頻器模塊中。當(dāng)計(jì)算負(fù)載分散在整個(gè)模型中時(shí),數(shù)據(jù)流效果最佳,因?yàn)檫@為創(chuàng)建并行線程提供了更多機(jī)會。在下一節(jié)中,我們將擴(kuò)展模型,展示數(shù)據(jù)流的實(shí)現(xiàn)如何進(jìn)一步提高仿真性能。

處理大型模型

我們通過引入多通道音頻輸入信號來增大模型的計(jì)算復(fù)雜度。這會使需要處理的數(shù)據(jù)量倍增,也為數(shù)據(jù)流提供了更多優(yōu)化仿真性能的機(jī)會。圖 6 顯示經(jīng)過修改、采用立體聲音頻輸入的模型,運(yùn)行時(shí)間為 18.6 秒。通過啟用信號維度信息疊加,我們可以看到信號輸入確實(shí)有兩個(gè)音頻通道。

在啟用數(shù)據(jù)流并重新運(yùn)行模型后,我們觀察到模型在 5 個(gè)并發(fā)線程上運(yùn)行,執(zhí)行時(shí)間為 4.5 秒,幾乎實(shí)現(xiàn)了 4 倍加速(圖 7)。

使用數(shù)據(jù)流的多線程代碼生成數(shù)據(jù)流支持使用 Simulink Coder 和 Embedded Coder 的單核和多核 C/C++ 代碼生成。首先在 Simulink 模型的“求解器”窗格中啟用允許任務(wù)在目標(biāo)上并發(fā)執(zhí)行參數(shù),然后使用 Ctrl + B 生成代碼。為桌面目標(biāo)生成的代碼通過 OpenMP 實(shí)現(xiàn)多線程化。為 Embedded Coder 目標(biāo)生成的代碼通過 POSIX 實(shí)現(xiàn)多線程化。圖 8 顯示基于以上無線電模型生成的 OpenMP C 代碼,包括由數(shù)據(jù)流創(chuàng)建的并發(fā)任務(wù)。

數(shù)據(jù)流的限制

雖然數(shù)據(jù)流有助于加速大多數(shù)仿真,但它對有些模型可能并不適用,例如較小的模型、不太復(fù)雜的模型,或者計(jì)算負(fù)載集中在少數(shù)幾個(gè)模塊中的模型。在這些情況下,數(shù)據(jù)流實(shí)現(xiàn)的速度提升不會抵消在并行線程上同步和執(zhí)行模型所需的開銷。如無線電模型示例所示,當(dāng)計(jì)算負(fù)載在模型中均勻分布時(shí),數(shù)據(jù)流效果最佳,因?yàn)榫鶆蚍植嫉呢?fù)載意味著有更多機(jī)會進(jìn)行模型分區(qū)和并行執(zhí)行。就建模限制而言,從版本 2020b 開始,數(shù)據(jù)流不支持連續(xù)模塊、可變大小信號或虛擬 Simulink 總線的多線程仿真。

小結(jié)

通過數(shù)據(jù)流執(zhí)行域,您可以在 Simulink 模型中識別可以分布到多個(gè)線程中并行執(zhí)行的建模模式。這種方法可利用主機(jī) CPU 上閑置的處理能力,優(yōu)化吞吐量,并減少模型仿真時(shí)間。數(shù)據(jù)流執(zhí)行域最適合計(jì)算負(fù)載分散在整個(gè)模型中的情形(此時(shí)可引入并行機(jī)制),并且只能處理離散信號。

責(zé)任編輯:haq

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

    關(guān)注

    52

    文章

    4283

    瀏覽量

    135801
  • 信號
    +關(guān)注

    關(guān)注

    11

    文章

    2852

    瀏覽量

    78266
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3519

    瀏覽量

    50411

原文標(biāo)題:加速 Simulink 模型中的信號處理算法仿真

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

    通過 FX3 以 5200*3900 分辨率、15fps 的速度從我的 fpga 傳輸視頻數(shù)據(jù)流,但無法設(shè)置最小/最大比特率描述符值,怎么解決?

    我正試圖通過 FX3 以 5200*3900 分辨率、15fps 的速度從我的 fpga 傳輸視頻數(shù)據(jù)流,但無法設(shè)置最小/最大比特率描述符值,因?yàn)槊枋龇笮≈挥?32 位。 描述符的預(yù)期值應(yīng)該是
    發(fā)表于 05-23 06:35

    150℃無壓燒結(jié)銀最簡單三個(gè)步驟

    150℃無壓燒結(jié)銀最簡單三個(gè)步驟 作為燒結(jié)銀的全球領(lǐng)航者,SHAREX善仁新材持續(xù)創(chuàng)新,不斷超越自我,最近開發(fā)出150℃無壓燒結(jié)銀AS9378TB,以其獨(dú)特的低溫處理優(yōu)勢,成為了眾多研究與應(yīng)用中
    發(fā)表于 02-23 16:31

    使用ADS1281做調(diào)制器,兩個(gè)調(diào)制器都是輸出1位的數(shù)據(jù)流,那合并之后數(shù)據(jù)流是幾位的呢?

    ]). 現(xiàn)在有以下兩個(gè)問題: 1.兩個(gè)調(diào)制器都是輸出1位的數(shù)據(jù)流,那合并之后數(shù)據(jù)流是幾位的呢? 2.如果取所有可能的情況,Y[n]的輸出范圍就是-24~+25,這個(gè)又要怎么理解呢?
    發(fā)表于 02-05 09:10

    適用于Oracle的SSIS數(shù)據(jù)流組件:提供快速導(dǎo)入及導(dǎo)出功能

    使用SSIS 數(shù)據(jù)流組件,通過與關(guān)鍵數(shù)據(jù)庫和云服務(wù)的 Oracle 數(shù)據(jù)集成改進(jìn)您的 ETL 流程,這些組件提供快捷和可靠的
    的頭像 發(fā)表于 01-15 10:51 ?986次閱讀
    適用于Oracle的SSIS<b class='flag-5'>數(shù)據(jù)流</b>組件:提供快速導(dǎo)入及導(dǎo)出功能

    TMETRIC:簡單步驟將工作區(qū)連接到時(shí)間跟蹤應(yīng)用程序

    將計(jì)時(shí)器按鈕添加到組合門票 完成這三個(gè)簡單步驟以在 Assembla 中啟用時(shí)間跟蹤。設(shè)置時(shí)間不超過 3 分鐘。 注冊 TMetric 具有高級計(jì)費(fèi)和報(bào)告功能的時(shí)間跟蹤應(yīng)用程序 安裝瀏覽器擴(kuò)展
    的頭像 發(fā)表于 01-07 09:23 ?415次閱讀
    TMETRIC:<b class='flag-5'>簡單步驟</b>將工作區(qū)連接到時(shí)間跟蹤應(yīng)用程序

    Devart SSIS數(shù)據(jù)流組件

    Devart SSIS 數(shù)據(jù)流組件是功能強(qiáng)大的工具,旨在簡化 SQL Server Integration Services (SSIS) 包內(nèi)的 ETL 流程,使用戶無需編寫復(fù)雜的代碼即可通過
    的頭像 發(fā)表于 01-05 11:08 ?1131次閱讀
    Devart SSIS<b class='flag-5'>數(shù)據(jù)流</b>組件

    經(jīng)典的三個(gè)保護(hù)電路分享

    1.電路原理 如下圖所示,使用母線上的電阻進(jìn)行母線電流采樣,將兩端壓差通過運(yùn)放放大之后得到Ibus輸出電壓。將這個(gè)電壓和另一個(gè)保護(hù)的參考電壓同時(shí)輸入另一個(gè)運(yùn)放,這里的運(yùn)放用作比較器
    的頭像 發(fā)表于 11-19 09:25 ?6922次閱讀
    經(jīng)典的<b class='flag-5'>三個(gè)</b>過<b class='flag-5'>流</b>保護(hù)電路分享

    理解ECU數(shù)據(jù)流的分析方法

    隨著汽車電子化程度的提高,ECU在車輛中扮演的角色越來越重要。它們不僅控制著發(fā)動(dòng)機(jī)管理、變速箱、制動(dòng)系統(tǒng)等關(guān)鍵功能,還涉及到車輛的舒適性和安全性。 ECU數(shù)據(jù)流分析的重要性 故障診斷 :通過
    的頭像 發(fā)表于 11-05 11:07 ?1211次閱讀

    請問TLV320AIC3254EVM-K怎么讀取音頻數(shù)據(jù)流?

    您好,我在學(xué)習(xí)TLV320AIC3254EVM-K開發(fā)板的過程中碰到一個(gè)這樣的問題,TI提供的軟件是否具備讀取I2S的音頻數(shù)據(jù)流的功能,或者是否有PC機(jī)軟件可以讀取音頻數(shù)據(jù)流,或者其它方法?請高手幫忙解決,萬分感謝!
    發(fā)表于 10-31 06:14

    簡述光刻工藝的三個(gè)主要步驟

    “ 光刻作為半導(dǎo)體中的關(guān)鍵工藝,其中包括3大步驟的工藝:涂膠、曝光、顯影。三個(gè)步驟有一個(gè)異常,整個(gè)光刻工藝都需要返工處理,因此現(xiàn)場異常的處理顯得尤為關(guān)鍵”
    的頭像 發(fā)表于 10-22 13:52 ?2169次閱讀

    電廠負(fù)荷率最簡單三個(gè)步驟

    電廠負(fù)荷率是指電廠在一定時(shí)間內(nèi)實(shí)際發(fā)電量與最大發(fā)電能力之比,它是衡量電廠發(fā)電效率和經(jīng)濟(jì)性的重要指標(biāo)。提高電廠負(fù)荷率可以減少能源浪費(fèi),提高經(jīng)濟(jì)效益,同時(shí)也有助于電網(wǎng)的穩(wěn)定運(yùn)行。 步驟一:優(yōu)化電廠運(yùn)行
    的頭像 發(fā)表于 09-30 09:04 ?1072次閱讀

    220v單管自激最簡單三個(gè)步驟是什么

    對于220V單管自激電路,雖然“最簡單三個(gè)步驟”可能因具體電路設(shè)計(jì)和應(yīng)用需求而有所不同,但我可以概括出一般性的、簡化的步驟,這些步驟旨在提供
    的頭像 發(fā)表于 09-18 11:28 ?1679次閱讀

    快速確定升壓轉(zhuǎn)換器最大輸出電流的三個(gè)步驟

    電子發(fā)燒友網(wǎng)站提供《快速確定升壓轉(zhuǎn)換器最大輸出電流的三個(gè)步驟.pdf》資料免費(fèi)下載
    發(fā)表于 09-07 10:42 ?0次下載
    快速確定升壓轉(zhuǎn)換器最大輸出電流的<b class='flag-5'>三個(gè)</b><b class='flag-5'>步驟</b>

    統(tǒng)一日志數(shù)據(jù)流

    統(tǒng)一日志數(shù)據(jù)流圖 日志系統(tǒng)數(shù)據(jù)流圖 系統(tǒng)進(jìn)行日志收集的過程可以分為三個(gè)環(huán)節(jié): (1)日志收集和導(dǎo)入ElasticSearch (2)ElasticSearch進(jìn)行索引等處理 (3)可視化操作,查詢等
    的頭像 發(fā)表于 08-21 15:00 ?572次閱讀
    統(tǒng)一日志<b class='flag-5'>數(shù)據(jù)流</b>圖

    示波器電流探頭最簡單三個(gè)步驟是什么

    具有重要意義。下面介紹示波器電流探頭的三個(gè)簡單步驟步驟一:選擇合適的電流探頭 確定測量范圍 :首先,需要根據(jù)待測電路的電流大小選擇合適的電流探頭。電流探頭通常有不同的量程,如10A、100A、1000A等,選擇一
    的頭像 發(fā)表于 08-09 14:24 ?1459次閱讀