Main Content

realizemdl

フィルターのための Simulink Subsystem ブロック

構文

realizemdl(FiltObject)
realizemdl(FiltObject,Name,Value)

説明

realizemdl(FiltObject) では、Simulink® の sum ブロック、gain ブロック、および delay ブロックを使用して、Simulink Subsystem ブロックにフィルター オブジェクト FiltObject のモデルが生成されます。FiltObject のプロパティと値により、結果として得られる Subsystem ブロックのパラメーターが定義されます。

realizemdl には Simulink が必要です。量子化されたフィルターのモデルを正確に実現するには、Fixed-Point Designer™ を使用します。

realizemdl(FiltObject,Name,Value) では、関連する Name,Value のペアと FiltObject に設定されている他の任意の値をもつ FiltObject に対するモデルが生成されます。

メモ

realizemdl を使用して作成するフィルターのサブシステム ブロックは、サンプルベースの入出力のみをサポートします。フレームベースの信号を、ブロックで入出力することはできません。

オプションである propertyname/propertyvalue の組み合わせを使用すると、ブロックの配置、名前、ブロック構造の最適化など、ブロック サブシステムのモデル構築方法をより完全に制御することができます。次の表に、realizemdl で使用できるプロパティと値、既定値、プロパティの動作を記載します。

プロパティ名

プロパティ値

説明

Destination

'current' (既定の設定)、'new' または SubsystemName

ブロックを現在の Simulink モデルに追加するか、このブロックを含む新規モデルを作成するかを指定します。現在のサブシステムの名前を SubsystemName に指定すると、realizemdl では、新しいブロックが指定したサブシステムに追加されます。

Blockname

'filter' (既定の設定)

新規サブシステムのブロック名を指定します。既定の設定では、ブロックには 'filter' という名前が付けられます。ブロックに名前を入力するには、propertyvalue を任意の名前に設定し、一重引用符で囲みます。

MapCoeffstoPorts

'off' (既定の設定) または 'on'

フィルターの係数をブロックの端子にマッピングするかどうかを指定します。

MapStates

'off' (既定の設定) または 'on'

実現したモデルに、現在のフィルター状態を適用するかどうかを指定します。これにより、特定の方法で使用または構成したフィルター オブジェクトの状態を保存できます。既定の設定である 'off' は、状態がモデルには移されないことを意味します。プロパティを 'on' に設定すると、実現したモデルに現在のフィルター状態が保存されます。

OverwriteBlock

'off' または 'on'

同じ名前をもつ既存のブロックを上書きするか、新規ブロックを作成するかを指定します。

OptimizeZeros

'on' (既定の設定) または 'off'

ゼロゲインのブロックを削除するかどうかを指定します。

OptimizeOnes

'on' (既定の設定) または 'off'

1 のゲイン ブロックを直接接続に置き換えるかどうかを指定します。

OptimizeNegOnes

'on' (既定の設定) または 'off'

1 の負のゲイン ブロックを、最も近い Sum ブロックでの符号の変更に置き換えるかどうかを指定します。

OptimizeDelayChains

'on' (既定の設定) または 'off'

Delay ブロックの直列結合を、等価な遅延をもたらす単一の Integer Delay ブロックに置き換えるかどうかを指定します。

CoeffNames

{'Num'} (既定 FIR)、{'Num','Den'} (既定直接型 IIR)、{'Num','Den','g'} (既定 IIR SOS)、{'K'} (既定形式ラティス)

係数の変数名を、cell 配列として指定します。このプロパティを適用するには、MapCoeffsToPorts'on' に設定しなければなりません。

InputProcessing

'columnsaschannels' (既定値)、'elementsaschannels' または 'inherited'

フレームベース ('columnsaschannels') またはサンプルベース ('elementsaschannels') の処理を指定します。

[継承 (この選択肢は削除予定 - リリース ノートを参照)] オプションは将来のリリースでは削除されます。

RateOption

'enforcesinglerate' (既定の設定) または 'allowmultirate'

ブロックを出力のレートで調整して、サンプル数の減少に対応する方法を指定します。このパラメーターは、InputProcessing'columnsaschannels' の場合にのみ適用されます。

メモ

OptimizeZerosOptimizeOnes、および OptimizeNegOnes は既定で 'on' です。すべての係数を 1 つの端子にマッピングする場合は、以下のいずれかを行います。

  • これらの最適化プロパティを off にする。

  • 入力フィルターを 0、1、-1 で初期化しない。

すべて折りたたむ

ローパス バタワース フィルターを作成し、係数を端子にマッピングして Simulink® モデルを実現します。フィルターを NewFilter とします。

[b,a] = butter(4,.25);
d = dfilt.df1(b,a);
realizemdl(d,'MapCoeffsToPorts','on','BlockName','NewFilter')

この例では、フィルターは直接型 II 2 次セクション構造の IIR フィルターです。MapCoeffstoPorts'on' に設定すると、分子の係数、分母の係数、およびゲインが NumDeng という既定の変数名を使用して MATLAB® ワークスペースにエクスポートされます。NumDen の各列は、1 つの 2 次セクションを表します。実現した Simulink モデルが調整可能な場合は、フィルター係数を MATLAB ワークスペースで直接修正できます。

バージョン履歴

R2009b で導入

参考

アプリ

関数