91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

modelname = ‘mono_radiomodel’;

tic;

simData = sim(modelname);

t = toc

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

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

modelname = ‘mono_radiomodel_dataflow’;

tic;

simData2 = sim(modelname);

t_Dataflow = toc

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

處理大型模型

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

在啟用數(shù)據(jù)流并重新運行模型后,我們觀察到模型在 5 個并發(fā)線程上運行,執(zhí)行時間為 4.5 秒,幾乎實現(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 實現(xiàn)多線程化。為 Embedded Coder 目標(biāo)生成的代碼通過 POSIX 實現(xiàn)多線程化。圖 8 顯示基于以上無線電模型生成的 OpenMP C 代碼,包括由數(shù)據(jù)流創(chuàng)建的并發(fā)任務(wù)。

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

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

小結(jié)

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

責(zé)任編輯:haq

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

    關(guān)注

    54

    文章

    4486

    瀏覽量

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

    關(guān)注

    12

    文章

    2914

    瀏覽量

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

    關(guān)注

    1

    文章

    3755

    瀏覽量

    52118

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    變頻器PID參數(shù)設(shè)置步驟

    變頻器PID控制是工業(yè)自動化領(lǐng)域中實現(xiàn)精確調(diào)節(jié)的關(guān)鍵技術(shù)之一,其核心在于通過比例(P)、積分(I)、微分(D)三個參數(shù)的協(xié)同作用,實現(xiàn)對電機轉(zhuǎn)速、壓力、流量等物理量的閉環(huán)控制。本文將結(jié)合西門子
    的頭像 發(fā)表于 03-03 17:14 ?492次閱讀
    變頻器PID參數(shù)<b class='flag-5'>設(shè)置</b><b class='flag-5'>步驟</b>

    MAX1916:高性能低 dropout 恒通道白光 LED 偏置電源

    MAX1916 是傳統(tǒng)白光 LED 設(shè)計中簡單鎮(zhèn)流電阻的高性能替代方案。它只需一電阻就能為三個 LED 設(shè)置偏置電流,且三個 LED 的
    的頭像 發(fā)表于 02-03 14:55 ?163次閱讀

    基于Matter over Thread的照明應(yīng)用示例簡要設(shè)置步驟

    在Silicon Labs(芯科科技)近期更新的技術(shù)支持文檔頁面中,我們詳細(xì)描述了運行一基于Matter over Thread的照明應(yīng)用示例的簡要設(shè)置步驟。
    的頭像 發(fā)表于 02-03 14:03 ?379次閱讀
    基于Matter over Thread的照明應(yīng)用示例簡要<b class='flag-5'>設(shè)置</b><b class='flag-5'>步驟</b>

    束管式光纜最簡單三個步驟

    束管式光纜的安裝或施工可簡化為以下三個核心步驟,確保光纖傳輸性能穩(wěn)定且操作高效: 第一步:路由規(guī)劃與準(zhǔn)備 路徑勘察 確定光纜敷設(shè)路線,避開強電磁干擾源(如高壓線)、尖銳物體或易受外力破壞的區(qū)域(如
    的頭像 發(fā)表于 01-07 10:12 ?250次閱讀

    使用簡儀科技產(chǎn)品構(gòu)建高速數(shù)據(jù)流盤與回放系統(tǒng)解決方案

    本案例面向國產(chǎn)自主可控PXI軟硬件平臺,構(gòu)建了一套運行于銀河麒麟實時操作系統(tǒng)環(huán)境下的高速數(shù)據(jù)流盤與回放系統(tǒng)。系統(tǒng)以高速數(shù)字化儀為核心,實現(xiàn)多通道高速信號的實時采集、連續(xù)盤存儲及離線回放分析,保障
    的頭像 發(fā)表于 12-30 10:52 ?548次閱讀
    使用簡儀科技產(chǎn)品構(gòu)建高速<b class='flag-5'>數(shù)據(jù)流</b>盤與回放系統(tǒng)解決方案

    如何查看電能質(zhì)量在線監(jiān)測裝置的數(shù)據(jù)自動清理規(guī)則參數(shù)設(shè)置是否成功?

    查看電能質(zhì)量在線監(jiān)測裝置數(shù)據(jù)自動清理規(guī)則參數(shù)設(shè)置是否成功,需通過 參數(shù)核對 、 日志驗證 、 模擬測試 三個維度進(jìn)行,以下是完整操作方法: 一、參數(shù)配置核對(確認(rèn)
    的頭像 發(fā)表于 12-10 16:29 ?312次閱讀
    如何查看電能質(zhì)量在線監(jiān)測裝置的<b class='flag-5'>數(shù)據(jù)</b>自動清理規(guī)則參數(shù)<b class='flag-5'>設(shè)置</b>是否成功?

    歐姆龍推出全新數(shù)據(jù)流邊緣控制器DX1

    2025年11月,歐姆龍自動化(中國)有限公司發(fā)布新品【數(shù)據(jù)流控制器DX1】。DX1作為一款數(shù)據(jù)流邊緣控制器,面對生產(chǎn)現(xiàn)場數(shù)據(jù)采集與活用困難、數(shù)據(jù)需求因人/設(shè)備而異、需關(guān)停設(shè)備才能引入
    的頭像 發(fā)表于 11-26 18:02 ?1271次閱讀
    歐姆龍推出全新<b class='flag-5'>數(shù)據(jù)流</b>邊緣控制器DX1

    在以下嵌入式軟件設(shè)計模型中,屬于數(shù)據(jù)流模型的是,哪里有設(shè)計模型的介紹?

    在以下嵌入式軟件設(shè)計模型中,屬于數(shù)據(jù)流模型的是()。A. CCSB. CSPC. FSMD. Petri Net
    發(fā)表于 11-24 15:55

    如何在大核rtt上把kd_mpi_vicap_start_stream三個攝像頭各自出的拼成一呢?

    內(nèi)容為空就行,三個格對應(yīng)三個攝像頭 最后目的是進(jìn)行這個frame編解碼然后uvc 你好,實現(xiàn)多個攝像頭畫面的合成顯示,可借助 VO(視頻輸出)的 WBC(窗口合成)功能,具體步驟如下: 首先在 VO
    發(fā)表于 09-09 07:20

    求助,關(guān)于stm32H7多DMA數(shù)據(jù)流問題求解

    情況如下:stm32H7配置了一adc進(jìn)行采樣,通過dma進(jìn)行數(shù)據(jù)傳輸,串口接收和發(fā)送命令,用兩dma數(shù)據(jù)流通道,采用的空閑中斷。 問題
    發(fā)表于 07-29 15:02

    如何使用WaveDac8設(shè)置簡單數(shù)據(jù)采集系統(tǒng),以生成不同持續(xù)時間的脈沖?

    我目前正在嘗試使用 WaveDac8 設(shè)置簡單數(shù)據(jù)采集系統(tǒng),以生成不同持續(xù)時間的脈沖,并應(yīng)用于 RC 簡單電路。我成功生成了 250
    發(fā)表于 07-25 07:55

    用IS8000軟件和WT5000功率分析儀的DS波形數(shù)據(jù)流功能分析形數(shù)據(jù)

    橫河IS8000集成軟件平臺,將功率分析儀的波形采集與示波器的波形數(shù)據(jù)分析融為一體,提高測試效率。下面我們將為您揭曉如何通過IS8000軟件和WT5000的DS波形數(shù)據(jù)流功能輕松保存并分析相關(guān)波形
    的頭像 發(fā)表于 07-03 18:30 ?642次閱讀
    用IS8000軟件和WT5000功率分析儀的DS波形<b class='flag-5'>數(shù)據(jù)流</b>功能分析形<b class='flag-5'>數(shù)據(jù)</b>

    FX3板是否兼容2k和4k分辨率的視頻數(shù)據(jù)流?

    ,實現(xiàn)了 1920 * 1080 @ 60 fps 的設(shè)計,但現(xiàn)在我想檢查與上述更高分辨率的兼容性。 關(guān)于這一點,我有幾個問題 1.FX3 板是否兼容 2k 和 4k 分辨率的視頻數(shù)據(jù)流? 2.視頻數(shù)據(jù)流
    發(fā)表于 05-23 06:35

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

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

    使用FX3測試程序中的數(shù)據(jù)流時,遇到了每8字節(jié)重復(fù)的場景,是什么原因?qū)е碌模?/a>

    我在使用 FX3 測試程序中的數(shù)據(jù)流時,遇到了每 8 個字節(jié)重復(fù)的場景。
    發(fā)表于 05-21 06:59