メインコンテンツ

block

デジタル フィルターからのブロック生成

構文

block(hd)
block(hd,'propertyname1',propertyvalue1,'propertyname2',propertyvalue2,...)

説明

block(hd) は、デジタル フィルター hd と同等の DSP System Toolbox™ ブロックを生成します。

block(hd,'propertyname1',propertyvalue1,'propertyname2',propertyvalue2,...) は、プロパティ名とプロパティ値のペアで指定されたオプションを使用して DSP System Toolbox ブロックを生成します。有効なプロパティと値は次のとおりです。

プロパティ名

プロパティ値

説明と値

Destination

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

ブロックを取得する Simulink® モデルを決定します。'current' または 'new' と入力するか、既存のサブシステムの名前を subsystemname に指定します。'current' を指定すると、現在の Simulink モデルにブロックが追加されます。'new' を指定すると、新しいモデルが開き、ブロックが追加されます。サブシステムの名前を subsystemname に指定すると、block では、新しいブロックが指定したサブシステムに追加されます。

Blockname

'filter' (既定の設定)

生成されるブロックの名前を指定します。名前はモデル内のブロックの下に表示されます。ブロック名を指定しない場合、既定では filter になります。

OverwriteBlock

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

同じ名前の既存のブロックを上書きするか新規ブロックを作成するかを block に指示します。既定の設定は 'off' で、block は名前が一致する既存のブロックを上書きしません。'off' から 'on' に切り替えると、block は既存のブロックを上書きします。

MapStates

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

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

Link2Obj

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

ブロック マスクでの [係数のソース] の設定方法を指定します。既定の設定は 'off' で、[係数のソース][ダイアログ パラメーター] に設定されます。Link2Obj'on' に設定すると、[係数のソース][Discrete-time filter object (DFILT)] に設定されます。Link2ObjMapCoeffstoPorts を同時に 'on' にすることはできません。

MapCoeffstoPorts

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

フィルターの係数をブロックの端子にマッピングするかどうかを指定します。Link2ObjMapCoeffstoPorts を同時に 'on' にすることはできません。

CoeffNames

{'Num'} (既定の FIR)

{'Num','Den'} (既定の直接型 IIR)

{'Num','Den','g'} (既定の IIR SOS)

{'K'} (既定の形式ラティス)

係数の変数名を文字ベクトルの cell 配列として指定します。

このプロパティを適用するには、MapCoeffsToPorts'on' に設定しなければなりません。

InputProcessing

'columns as channels' (既定の設定)、 'elements as channels'

サンプルベース (elements as channels) またはフレームベース (columns as channels) の処理を指定します。

RateOption

'enforce single rate' (既定の設定) または 'allow multirate'

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

block を使用した固定小数点デジタル フィルターの実現

ソース フィルター hd が固定小数点の場合、ブロックの入力の語長と小数部の長さはブロックの入力信号から派生します。実現処理では、警告を発行し、ソース フィルター オブジェクトの一部である入力の語長と小数部の長さを無視して入力データから設定を継承します。それ以外の固定小数点プロパティは、実現されたブロックで語長と小数部の長さの設定に直接マップされます。

すべて折りたたむ

ローパス フィルター仕様オブジェクトを作成します。通過帯域周波数が $0.15{\pi}$ ラジアン/サンプル、阻止帯域周波数が $0.25{\pi}$ ラジアン/サンプルになるように指定します。許容通過帯域リップルを 1 dB に、阻止帯域の減衰量を 60 dB に指定します。

最初の例では、block を既定の構文で使用し、関数でブロックの名前と設定が決定されるようにします。

d = fdesign.lowpass('Fp,Fst,Ap,Ast',0.15,0.25,1,60);
hd = design(d);

ここで、既定の構文を使用してブロックを作成します。

block(hd);

この 2 番目の例では、プロパティ名とプロパティ値のペアの入力引数を使用して、要件を満たすブロック名を定義します。

block(hd, 'blockname', 'FIR Filter');

図は、Simulink モデル内のブロックを示しています。これらの例を試みると、2 つ目のブロックが最初のブロックの位置を上書きすることがわかります。これを避けるには、最初のブロックを移動してから 2 つ目を生成するか、常に blockname プロパティを使用してブロックに名前を付けるか、Destination プロパティを new に設定して新しい Simulink モデルにフィルター ブロックを配置します。

バージョン履歴

R2011a で導入