Main Content

Simulink.sdi.setSignalInputProcessingMode

入力処理信号プロパティの値を指定

R2020a 以降

説明

Simulink.sdi.setSignalInputProcessingMode(blkPath,port,mode) は、指定されたブロック パスおよび端子にある信号の [入力処理] プロパティの値として mode を指定します。ログ信号の [入力処理] プロパティのみ指定できます。

[入力処理] 設定は、ログ データの形式、およびシミュレーション データ インスペクターとダッシュボード ブロックによる信号の表示方法に影響を与えます。信号をフレームベースおよびサンプルベースの入力処理用に設定できます。

Simulink.sdi.setSignalInputProcessingMode(h,mode) は、ライン ハンドル h に対応する信号の [入力処理] プロパティの値として mode を指定します。

すべて折りたたむ

多くの信号処理アプリケーションは、個別の信号値ではなくフレームを使用してデータを処理します。フレームは複数のサンプル時間の信号値で構成されます。モデル内で信号をフレームベースとして処理するには、そのブロックでフレームベースの処理を指定します。フレームベースの信号を記録および可視化するには、信号の [インストルメンテーションのプロパティ] で [入力処理] 設定を [Columns as channels (frame based)] に設定します。

この例では DSP System Toolbox™ からモデルを使用し、モデル内の信号の [入力処理] 設定を関数 Simulink.sdi.setSignalInputProcessingMode を使用してプログラムによって指定する方法を示します。モデルはフレームベースの信号を使用して、単側波帯 (SSB) 変調を示します。

信号ログの構成

モデル ssbdemo_frame を開くか読みこんでおきます。この例では、スクリプト作成ワークフローについて説明し、モデルを読み込むだけです。

load_system('ssbdemo_frame');

このモデルには可視化ブロックが含まれていて、信号ログは使用しません。上側波帯と下側波帯を表す信号をログ記録対象としてマークします。

upperSB_block = 'ssbdemo_frame/Up';
lowerSB_block = 'ssbdemo_frame/Down';

Simulink.sdi.markSignalForStreaming(upperSB_block,1,'on')
Simulink.sdi.markSignalForStreaming(lowerSB_block,1,'on')

モデルをそのままシミュレートする場合、信号はサンプルベースであるかのように記録されるため、サンプル内の各要素は個別のチャネルとして扱われます。信号をフレームベースとして記録するには、関数 Simulink.sdi.setSignalInputProcessingMode を使用して信号の [入力処理] 設定を frame として指定します。

Simulink.sdi.setSignalInputProcessingMode(upperSB_block,1,'frame');
Simulink.sdi.setSignalInputProcessingMode(lowerSB_block,1,'frame');

上側波帯と下側波帯の信号をログ記録対象としてフレームベースで設定したら、データはワークスペースおよびシミュレーション データ インスペクターにフレームベースの形式で記録されるため、サンプル内の各列は信号のチャネルとして扱われます。シミュレーション データ インスペクターで、またはプログラムによるインターフェイスを使用して、データを表示および解析できます。

入力引数

すべて折りたたむ

信号を生成するブロックのブロック パス。string または文字配列として指定します。

例: "vdp/Mu"

信号を生成する端子のブロック出力端子番号。スカラーとして指定します。

例: 1

信号の [入力処理] プロパティ値。"signal" または "frame" として返されます。

  • sample — サンプルベースの入力処理。サンプル内の各要素がチャネルとして扱われます。

  • frame — フレームベースの入力処理。サンプル内の各列がチャネルとして扱われます。

信号のライン ハンドル。'LineHandles' オプションを指定した関数 get_param を使用して、信号のライン ハンドルを取得できます。たとえば、モデル vdp 内の Mu ブロックの出力のライン ハンドルにアクセスするには、以下のようにします。

MuLineHandles = get_param('vdp/Mu','LineHandles');
MuOutputLineHandle = MuLineHandles.Outport;

例: MuOutputLineHandle

バージョン履歴

R2020a で導入