このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
Biquad Filter
双二次 IIR (SOS) フィルターのモデル化

ライブラリ:
DSP System Toolbox /
Filtering /
Filter Implementations
DSP System Toolbox HDL Support /
Filtering
説明
Biquad Filter ブロックは、指定の双二次無限インパルス応答 (IIR) フィルターを使って入力信号の各チャネルを個別にフィルター処理します。ダイアログ ボックスにフィルター係数を指定すると、ブロックは固定係数を使用して静的フィルターを実装します。入力端子を通してフィルター係数を指定すると、シミュレーション時に係数を調整できます。
Biquad Filter ブロックは Simulink® の状態ログ機能をサポートしています。詳細は、ステート (Simulink)を参照してください。
例
端子
入力
In — データ入力
ベクトル | 行列
ブロックへのデータ入力。ベクトルまたは行列として指定します。このブロックは、シミュレーション中の入力フレームのサイズ (行数) 変更を有効にする可変サイズの入力信号をサポートします。ただし、チャネル数 (列数) は一定でなければなりません。
入力が固定小数点の場合、2 進小数点スケーリングを使用する符号付き固定小数点でなければなりません。
この端子は [Coefficient source] を [Input port(s)]
に設定しない限り、名前は付きません。
データ型: single
| double
| int8
| int16
| int32
| int64
| fixed point
複素数のサポート: あり
Num — 分子係数
行列
双二次フィルターの分子係数。3 行 N 列の行列として指定します。ここで、N は双二次フィルター セクションの数です。
[Num] が固定小数点の場合、2 進小数点スケーリングを使用する符号付き固定小数点でなければなりません。
依存関係
この端子は [Coefficient source] を [Input port(s)]
に設定する場合にのみ表示されます。
データ型: single
| double
| int8
| int16
| int32
| int64
| fixed point
Den — 分母係数
行列
双二次フィルターの分母係数。2 行 N 列の行列として指定します。ここで、N は双二次フィルター セクションの数です。
[Den] が固定小数点の場合、2 進小数点スケーリングを使用する符号付き固定小数点でなければなりません。
依存関係
この端子は [Coefficient source] を [Input port(s)]
に設定する場合にのみ表示されます。
データ型: single
| double
| int8
| int16
| int32
| int64
| fixed point
g — スケール値
行ベクトル
双二次フィルターのスケール値。1 行 (N+1) 列のベクトルとして指定します。ここで、N は双二次フィルター セクションの数です。
[g] が固定小数点の場合、2 進小数点スケーリングを使用する符号付き固定小数点でなければなりません。
依存関係
この端子は [Coefficient source] を [Input port(s)]
に設定する場合にのみ表示されます。
データ型: single
| double
| int8
| int16
| int32
| int64
| fixed point
出力
Out — フィルター処理された出力
ベクトル | 行列
フィルター処理された出力。ベクトルまたは行列として返されます。
出力次元は、常に入力信号の次元と同じです。このブロックの出力は dsp.BiquadFilter
System object™ の出力と数値的に一致します。
[Out] が固定小数点の場合、2 進小数点スケーリングを使用する符号付き固定小数点でなければなりません。
この端子は [Coefficient source] を [Input port(s)]
に設定しない限り、名前は付きません。
データ型: single
| double
| int8
| int16
| int32
| int64
| fixed point
複素数のサポート: あり
パラメーター
[メイン] タブ
Coefficient source — 操作モード
Dialog parameters
(既定値) | Input port(s)
| Filter object
Biquad Filter ブロックは 3 つの異なるモードで操作できます。
Dialog parameters
— 構造や係数などのフィルターに関する情報をブロック マスクに入力します。Input port(s)
— [Filter structure] パラメーターを使用して、フィルター構造に関する情報をブロック マスクに入力します。フィルター係数は、ブロック アイコンに表示される追加の入力端子を通してブロックに適用されます。Num
— 分子係数を指定します。Den
— 分母係数を指定します。g
— スケール値を指定します。
ブロックは、各セクションの最初の分母係数を 1 と仮定します。この構成は
SOSMatrixSource
プロパティが'Input port'
で、ScaleValuesInputPort
プロパティがtrue
の場合に適用可能です。SOSMatrix ではなく [Num] と [Den] を指定しなければならないのは、固定小数点演算で分子と分母の小数部の長さが異なる可能性があるためです。このため、分母とは異なる固定小数点型をもつ分子のデータを渡すことができなければなりません。Filter object
—dsp.BiquadFilter
System object を使用してフィルターを指定します。
Filter — フィルター オブジェクトの名前
BQF
(既定値) | dsp.BiquadFilter
System object
名
dsp.BiquadFilter
System objectブロックで実装する離散時間フィルターの名前を指定します。フィルターは dsp.BiquadFilter
System object として指定しなければなりません。
System object はブロック マスクまたは MATLAB® ワークスペース変数で定義できます。
System object の作成の詳細については、基本的な System object の定義を参照してください。
依存関係
このパラメーターは、[Coefficient source] が [Filter object]
に設定されている場合にのみ表示されます。
Filter structure — フィルター構造
Direct form II transposed
(既定値) | Direct form I
| Direct form I transposed
| Direct form II
フィルター構造を指定します。
依存関係
このパラメーターは、[Coefficient source] が [Dialog parameters]
または [Input port(s)]
に設定されている場合にのみ表示されます。
SOS Matrix (Mx6) — SOS 行列
[1 0.3 0.4 1 0.1 0.2]
(既定値) | M 行 6 列の行列
M 行 6 列の行列を指定します。ここで、M は 2 次セクション型フィルターのセクション数です。SOS 行列の各行には、フィルターで対応するセクションの分子係数と分母係数 (bik と aik) が含まれています。
最初の分母係数 [a01 a02 ... a0N] は実際の値にかかわらず 1 として扱われます。[a0] が 1 でない場合に SOS 行列に適用されるスケーリングはありません。
関数 ss2sos
と関数 tf2sos
は、フィルターの状態空間または伝達関数の説明をこのブロックで使用される 2 次セクション型の説明に変換します。
依存関係
このパラメーターは、[Coefficient source] が [Dialog parameters]
に設定されている場合にのみ表示されます。
スケール値 — スケール値
1
(既定値) | スカラー | ベクトル
SOS セクション間で使用されるスケール値を指定します。実数値のスカラーまたは M+1 の長さのベクトルを指定できます。
スカラーを入力すると、その値は 2 次フィルターの最初のセクション前にゲイン値を指定します。ゲイン値の残りは既定で 1 に設定されます。
M+1 値のベクトルを入力すると、各値がフィルターの個別のセクションを指定します。たとえば、最初の要素は最初のゲイン値で、2 番目の要素は 2 番目のゲイン値、のように続きます。
[Optimize unity scale values] チェック ボックスをオンにし、1 つ以上のスケール値が 1 と等しい場合にシミュレーションを最適化します。このオプションを選択すると 1 のゲインが削除されるため、値は Simulink のラインまたはワイヤのように扱われます。一部の固定小数点では、1 のスケール値がある場合にこのパラメーターを選択しても特定のキャストが省略されます。詳細については、「拡張機能」の「固定小数点の変換」のセクションを参照してください。
依存関係
このパラメーターは、[Coefficient source] が [Dialog parameters]
に設定されている場合にのみ表示されます。
初期条件 — 初期条件
0
(既定値) | スカラー | ベクトル
[Filter structure] が [Direct form II]
または [Direct form II transposed]
に設定されている場合にフィルターの状態の初期条件を指定します。
直接型 II
直接型 II 転置構成
Biquad Filter ブロックは、既定の設定で内部フィルターの状態をゼロに初期化します。フィルター遅延に対して非ゼロの初期状態を指定するには、[Initial conditions] パラメーターを使用します。
指定すべき初期条件の数と指定方法を決定するには、有効な初期条件について以下の表を参照してください。
有効な初期条件
初期条件 | 説明 |
---|---|
スカラー | このブロックはフィルター内のすべての遅延要素をスカラー値に初期化します。 |
ベクトルまたは行列 | ベクトルまたは行列の各要素は対応するチャネルの対応する遅延要素に一意の初期条件を指定します。M はセクションの数で、N は入力チャネルの数です。
|
依存関係
このパラメーターは [Coefficient source] が [Dialog parameters]
または [Input port(s)]
、[Filter structure] が [Direct form II]
または [Direct form II transposed]
に設定されている場合にのみ表示されます。
零点側の初期条件 — 零点側の初期条件
0
(既定値) | スカラー | ベクトル
フィルター構造の零点側 (b0, b1,b2, ...) でフィルター状態の初期条件を指定します。このパラメーターは、[Filter structure] が [Direct form I]
または [Direct form I transposed]
に設定されている場合にのみ適用されます。
直接型 I
直接型 I 転置構成
Biquad Filter ブロックは、既定の設定で内部フィルターの状態をゼロに初期化します。フィルター遅延に対して非ゼロの初期状態を指定するには、[Initial conditions on zeros side] パラメーターを使用します。
モデル例については、MATLAB コマンド プロンプトで次のモデル名を入力します。
ex_biquad_filter_ref
指定すべき初期条件の数と指定方法を決定するには、有効な初期条件について以下の表を参照してください。
有効な初期条件
初期条件 | 説明 |
---|---|
スカラー | このブロックはフィルター内のすべての遅延要素をスカラー値に初期化します。 |
ベクトルまたは行列 | ベクトルまたは行列の各要素は対応するチャネルの対応する遅延要素に一意の初期条件を指定します。ここで、M はセクションの数、N は入力チャネルの数です。
|
依存関係
このパラメーターは [Coefficient source] が [Dialog parameters]
または [Input port(s)]
、[Filter structure] が [Direct form I]
または [Direct form I transposed]
に設定されている場合にのみ表示されます。
極側の初期条件 — 極側の初期条件
0
(既定値) | スカラー | ベクトル
フィルター構造の極側 (a1, a2, ...) でフィルター状態の初期条件を指定します。このパラメーターは、[Filter structure] が [Direct form I]
または [Direct form I transposed]
に設定されている場合にのみ適用されます。
直接型 I
直接型 I 転置構成
Biquad Filter ブロックは、既定の設定で内部フィルターの状態をゼロに初期化します。フィルター遅延に対して非ゼロの初期状態を指定するには、[Initial conditions on poles side] パラメーターを使用します。
モデル例については、MATLAB コマンド プロンプトで次のモデル名を入力します。
ex_biquad_filter_ref
指定すべき初期条件の数と指定方法を決定するには、有効な初期条件について以下の表を参照してください。
有効な初期条件
初期条件 | 説明 |
---|---|
スカラー | このブロックはフィルター内のすべての遅延要素をスカラー値に初期化します。 |
ベクトルまたは行列 | ベクトルまたは行列の各要素は対応するチャネルの対応する遅延要素に一意の初期条件を指定します。ここで、M はセクションの数、N は入力チャネルの数です。
|
依存関係
このパラメーターは [Coefficient source] が [Dialog parameters]
または [Input port(s)]
、[Filter structure] が [Direct form I]
または [Direct form I transposed]
に設定されている場合にのみ表示されます。
Scale values mode — スケール値を指定するモード
Specify via input port (g)
(既定値) | Assume all are unity and optimize
スケール値を指定してフィルター セクション間で使用する方法を選択します。[Specify via input port (g)]
を選択する場合、スケール値を端子 [g] での 2 次元ベクトルとして入力します。[Assume all are unity and optimize]
を選択する場合、すべてのスケール値が削除され、Simulink のラインまたはワイヤのように扱われます。
依存関係
このパラメーターは、[Coefficient source] が [Input port(s)]
に設定されている場合にのみ表示されます。
Action when the a0 values of the SOS matrix are not one — SOS 行列の a0 値が 1 でない場合のアクション
Warning
(既定値) | None
| Error
SOS 行列 a0j 値が 1 と等しくない場合にブロックが実行しなければならないアクションを指定します。このアクションは [Warning]
、[Error]
、または [None]
に指定できます。
[None]
を選択すると、最初の係数 a0j は実際の値にかかわらず 1 として扱われます。[a0] が 1 でない場合に SOS 行列に適用されるスケーリングはありません。
依存関係
このパラメーターは、[Coefficient source] が [Dialog parameters]
に設定されている場合にのみ表示されます。
Optimize unity scale values — 1 のスケール値の最適化
on
(既定値) | off
このチェック ボックスをオンにして、1 つ以上のスケール値が 1 と等しい場合にシミュレーションを最適化します。このオプションを選択すると 1 のゲインが削除されるため、値は Simulink のラインまたはワイヤのように扱われます。一部の固定小数点では、1 のスケール値がある場合にこのパラメーターを選択しても特定のキャストが省略されます。詳細については、拡張機能で Fixed Point の節を参照してください。
依存関係
このパラメーターは、[Coefficient source] が [Dialog parameters]
に設定されている場合にのみ表示されます。
Input processing — 入力処理
Columns as channels (frame based)
(既定値) | Elements as channels (sample based)
ブロックで入力を処理する方法を指定します。入力が M 行 N 列の行列の場合、このパラメーターを次のように設定できます。
Columns as channels (frame based)
(既定の設定) — ブロックは各列を別々のチャネルとして扱います。このモードでは、ブロックは同じフィルターの M インスタンスを生成し、それそれが独自の独立した状態バッファーをもちます。それぞれの M フィルターが N 入力サンプルを Simulink タイム ステップごとに処理します。Elements as channels (sample based)
— ブロックは各要素を別々のチャネルとして扱います。このモードでは、ブロックは同じフィルターの MN インスタンスを生成し、それそれが独自の独立した状態バッファーをもちます。各フィルターが 1 つの入力サンプルを Simulink タイム ステップごとに処理します。
View Filter Response — フィルター応答の表示
ボタン
このボタンでフィルターの可視化ツール (FVTool) を開き、ダイアログで指定したフィルターのフィルター応答を表示します。
メモ
ブロック ダイアログでフィルター パラメーターを変更する場合、[フィルター応答の表示] ボタンを使用する前に [適用] ボタンをクリックしなければなりません。
[データ型] タブ
メモ
このタブは、[Coefficient source] を [Dialog parameters]
または [Input port(s)]
のいずれかに設定する場合にのみ表示されます。[Coefficient source] を [Filter object]
に設定すると、フィルター オブジェクトのプロパティで指定したデータ型がブロックで使用されます。
丸めモード — 丸めモード
Floor
(既定値) | Ceiling
| Convergent
| Nearest
| Round
| Simplest
| Zero
固定小数点演算の丸めモードを指定します。
詳細については、丸めモードを参照してください。フィルター係数はこのパラメーターに従いません。代わりに、これらは常に [Nearest]
に丸められます。
整数オーバーフローで飽和 — オーバーフロー アクションの方法
off
(既定値) | on
このパラメーターをオンにすると、ブロックは固定小数点演算の結果を飽和させます。このパラメーターをオフにすると、ブロックは固定小数点演算の結果をラップします。saturate
および wrap
の詳細については、固定小数点演算のオーバーフロー モードを参照してください。
フィルター係数は常に飽和し、このパラメーターには従いません。
Section input — セクションの入力データ型
Same as input
(既定値) | Binary point scaling
双二次フィルターの各セクションに入力される固定小数点データ型の語長と小数部の長さを指定する方法を選択します。このブロックでセクションの入力データ型の用法を示す図については、拡張機能で Fixed-Point Conversion の節を参照してください。次を選択する場合:
Same as input
— [Section input] データ型の語長と小数部の長さの特性がブロックへの入力の特性と一致します。Binary point scaling
— セクションの入力の語長と小数部の長さをビット数で入力します。
Section output — セクションの出力データ型
Same as section input
(既定値) | Binary point scaling
双二次フィルターの各セクションから出力される固定小数点データ型の語長と小数部の長さを指定する方法を選択します。このブロックでセクションの出力データ型の用法を示す図については、「拡張機能」の「固定小数点の変換」のセクションを参照してください。次を選択する場合:
Same as section input
— [Section output] データ型の語長と小数部の長さの特性がブロックへの入力の特性と一致します。Binary point scaling
— セクションの出力の語長と小数部の長さをビット数で入力します。
Multiplicand — 被乗数のデータ型
Same as output
(既定値) | Binary point scaling
[Direct form I transposed]
フィルター構造の被乗数データ型の語長と小数部の長さを指定する方法を選択します。このブロックで被乗数データ型の用法を示す図については、「拡張機能」の「固定小数点の変換」のセクションを参照してください。
次を選択する場合:
Same as output
— [Multiplicand] データ型の語長と小数部の長さの特性がブロックへの出力の特性と一致します。Binary point scaling
— 被乗数データ型の語長と小数部の長さをビット数で入力します。
依存関係
このパラメーターは、[Filter structure] パラメーターが [Direct form I transposed]
に設定されている場合にのみ表示されます。
Coefficients — 係数データ型
Same word length as input
(既定値) | Specify word length
| Binary point scaling
[Coefficient source] を [Dialog parameters]
に設定する場合のフィルター係数 (分子、分母、およびスケール値) の語長と小数部の長さを指定する方法を選択します。このブロックで係数のデータ型の用法を示す図については、「拡張機能」の「固定小数点の変換」のセクションを参照してください。次を選択する場合:
Same word length as input
— フィルター係数の語長はブロックへの入力の語長と一致します。このモードでは、ブロックによって係数の小数部の長さが 2 進小数点のみのスケーリングに自動的に設定されます。このスケーリングは、与えられた係数の値と語長で最高の精度になります。Specify word length
— 係数の語長をビット数で入力します。このモードでは、ブロックによって係数の小数部の長さが 2 進小数点のみのスケーリングに自動的に設定されます。このスケーリングは、与えられた係数の値と語長で最高の精度になります。Binary point scaling
— 係数の語長と小数部の長さをビット数で入力します。必要に応じて、分子と分母の係数に個別の小数部の長さを入力できます。
フィルター係数は [Rounding mode] パラメーターと [Overflow mode] パラメーターには従いません。代わりに、これらは常に飽和して [Nearest]
に丸められます。
依存関係
このパラメーターは、[Coefficient source] が [Dialog parameters]
に設定されている場合にのみ表示されます。
乗算出力 — 乗算出力のデータ型
Same as input
(既定値) | Inherit via internal rule
| Binary point scaling
乗算出力の語長と小数部の長さの指定方法を指定します。このブロックで乗算出力のデータ型の用法を示す図については、乗算のデータ型および「拡張機能」の「固定小数点の変換」のセクションを参照してください。次を選択する場合:
Same as input
— 乗算出力の語長と小数部の長さの特性がブロックへの入力の特性と一致します。Inherit via internal rule
— 乗算出力の語長と小数部の長さが完全精度の規則に基づいて計算されます。この規則はオブジェクト内で量子化が発生しないようにします。必要に応じてビットが追加されて、丸めやオーバーフローが発生しないようにします。詳細は、内部ルールによる継承を参照してください。Binary point scaling
— 乗算出力の語長と小数部の長さをビット数で入力します。必要に応じて、分子と分母の乗算出力のデータ型に個別の小数部の長さを入力します。
アキュムレータ — アキュムレータのデータ型
Same as product output
(既定値) | Same as input
| Binary point scaling
アキュムレータの語長と小数部の長さの指定方法を指定します。このブロックでアキュムレータのデータ型の用法を示す図については、乗算のデータ型および「拡張機能」の「固定小数点の変換」のセクションを参照してください。次を選択する場合:
Same as input
— アキュムレータの語長と小数部の長さの特性がブロックへの入力の特性と一致します。Same as product output
— アキュムレータの語長と小数部の長さの特性が乗算出力の特性と一致します。Binary point scaling
— アキュムレータの語長と小数部の長さをビット数で入力します。必要に応じて、分子と分母アキュムレータのデータ型に個別の小数部の長さを入力します。
States — 状態のデータ型
Same as accumulator
(既定値) | Same as input
| Binary point scaling
[Coefficient source] が [Dialog parameters]
に設定されている場合の状態の語長と小数部の長さの指定方法を指定します。このブロックで状態のデータ型の用法を示す図については、「拡張機能」の「固定小数点の変換」のセクションを参照してください。
次を選択する場合:
Same as input
— 状態の語長と小数部の長さの特性がブロックへの入力の特性と一致します。Same as accumulator
— 状態の語長と小数部の長さの特性がアキュムレータの特性と一致します。Binary point scaling
— 状態の語長と小数部の長さをビット数で入力します。必要に応じて、分子と分母の状態のデータ型に個別の小数部の長さを入力します。
依存関係
このパラメーターは、[Filter structure] が [Direct form II]
または [Direct form II transposed]
に設定されている場合にのみ表示されます。
出力 — 出力データ型
Same as accumulator
(既定値) | Same as input
| Binary point scaling
出力の語長と小数部の長さを指定する方法を選択します。このブロックで出力データ型の用法を示す図については、「拡張機能」の「固定小数点の変換」のセクションを参照してください。次を選択する場合:
Same as input
— 出力の語長と小数部の長さの特性がブロックへの入力の特性と一致します。Same as accumulator
— 出力の語長と小数部の長さの特性がアキュムレータの特性と一致します。Binary point scaling
— 出力の語長と小数部の長さをビット数で入力します。
固定小数点ツールによる変更に対してデータ型の設定をロックする — データ型の設定のロック
off
(既定値) | on
ブロック マスクで指定するデータ型が固定小数点ツールによってオーバーライドされないようにするには、このパラメーターを選択します。
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
HDL コード生成
HDL Coder™ を使用して FPGA 設計および ASIC 設計のための Verilog および VHDL のコードを生成します。
HDL Coder™ は、HDL の実装および合成ロジックに影響を与える、追加の構成オプションを提供します。
ハードウェア フレンドリーな制御信号で HDL 用に最適化された双二次フィルター アーキテクチャには、Biquad Filter (DSP HDL Toolbox) ブロックを使用します。DSP HDL Toolbox™ ブロックは、FPGA の DSP ブロックに適合する直接型 II または直接型 II 転置構成のパイプライン化された加算-乗算演算を生成します。使用する乗算器の数は多くなりますが、クリティカル パスを短縮し、より高いクロック レートを実現するオプションのパイプライン フィードバック アーキテクチャを提供します。DSP HDL Toolbox ブロックはプログラミング可能係数をサポートしません。マルチチャネルのフィルター処理を実行するには、DSP HDL ToolboxBiquad Filter ブロックを For Each サブシステムに配置します。
HDL Coder は、Biquad Filter ブロックについてプログラミング可能フィルターをサポートします。
フィルター ブロック マスクで [係数のソース] を [入力端子] に設定します。
ベクトル信号を [Num] および [Den] 係数端子に接続します。行列入力信号は HDL コード生成でサポートされていません。フィルター内の 2 次セクション型ごとに 1 つの Biquad Filter ブロックを使用する必要があります。2 次セクション型 M をもつフィルターについては、それぞれ 3 行 1 列のベクトルである入力 [Num] と 2 行 1 列のベクトルである入力 [Den] をもつ一連の M Biquad Filter ブロックを使用します。
プログラミング可能 Biquad Filter ブロックの HDL 最適化には、以下の制限が適用されます。
Fully serial アーキテクチャと Partly serial アーキテクチャはサポートされていません。[アーキテクチャ] は
[Fully parallel]
に設定しなければなりません。正準符号付き桁数 (CSD) 乗算器の最適化はサポートされていません。
CoeffMultipliers
は[乗算器]
に設定しなければなりません。
HDL Coder は、Biquad Filter ブロックに対するベクトル入力の使用をサポートします。
ベクトル信号を Biquad Filter ブロックの入力端子に接続します。
[入力処理] として
[チャネルとしての要素 (サンプル ベース)]
を指定します。チャネル間でフィルター カーネルを共有することにより領域を減らすには、サブシステムの [StreamingFactor] パラメーターをチャネル数に設定します。フィルターのサブシステム最適化 (HDL Coder)のストリーミングに関する節を参照してください。
ブロックレベルの最適化を使用してハードウェア リソースを削減するには、シリアルの [アーキテクチャ] を選択します。次に、NumMultipliers
または Folding Factor
を設定します。HDL のフィルター プロパティを参照してください。
シリアル アーキテクチャを選択する場合は、[フィルター構造] を [直接型 I]
または [直接型 II]
に設定します。シリアル アーキテクチャでは、直接型転置構造はサポートされていません。
[AddPipelineRegisters] を使用する場合、レジスタはフィルター構造に基づいて配置されます。パイプライン レジスタの配置によりレイテンシが決定されます。
フィルター構造 | パイプライン レジスタの配置 | レイテンシ (クロック サイクル) |
---|---|---|
任意 | パイプライン レジスタは、フィルター セクション間に追加されます。 | NS-1 。NS はセクション数です。 |
このブロックは、共有、ストリーミング、パイプラインなど、サブシステム レベルの最適化に関与できます。サブシステム レベルの最適化にブロックを関与させるには、[アーキテクチャ] を [Fully parallel]
に設定します。フィルターのサブシステム最適化 (HDL Coder)を参照してください。
AddPipelineRegisters | フィルター内の計算段階の間にパイプライン レジスタを挿入します。AddPipelineRegisters (HDL Coder) も参照してください。 |
CoeffMultipliers | 係数乗算器をシフトおよび加算ロジックに置き換えることによりフィルター領域を減らすため、正準符号付き桁数 (CSD) 最適化を使用するよう指定します。Fully parallel フィルターを実装する場合、[CoeffMultipliers] を |
FoldingFactor | 結果を生成するために必要なサイクル数によって IIR SOS フィルターのシリアル実装を指定します。FoldingFactor (HDL Coder) も参照してください。 |
NumMultipliers | 生成するハードウェア乗算器の数によって IIR SOS フィルターのシリアル実装を指定します。NumMultipliers (HDL Coder) も参照してください。 |
HDL のフィルター プロパティの詳細については、HDL Filter ブロック プロパティ (HDL Coder)を参照してください。
ConstrainedOutputPipeline | 設計内で既存の遅延を移動することによって出力に配置するレジスタの数。分散型パイプラインは、これらのレジスタを再分散しません。既定の設定は |
InputPipeline | 生成コードに挿入する入力パイプライン ステージの数。分散型パイプラインと制約付き出力パイプラインは、これらのレジスタを移動できます。既定の設定は |
OutputPipeline | 生成コードに挿入する出力パイプライン ステージの数。分散型パイプラインと制約付き出力パイプラインは、これらのレジスタを移動できます。既定の設定は |
HDL コードの生成では、フレームの入力はサポートされていません。フレームベース入力には Biquad Filter (DSP HDL Toolbox) ブロックを使用します。
[初期条件] を
0
に設定しなければなりません。非ゼロの初期状態に対して、HDL コードの生成はサポートされていません。[1 のスケール値に対して最適化する] を選択しなければなりません。
Resettable Synchronous Subsystem (HDL Coder) 内で、このブロックの HDL を生成することはできません。
固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。
入力が固定小数点の場合、勾配が 2 のべき乗でバイアスが 0 の符号付き整数または符号付き固定小数点でなければなりません。
次の節の図には、Biquad Filter ブロックでサポートされるフィルター構造を示します。これらは、固定小数点信号のフィルター構造で使用されるデータ型も示しています。ブロックのダイアログ ボックスでこれらの図に示されるデータ型を設定できます。
次の図は、固定小数点信号用のフィルターの 1 つのセクションで使用されるデータ型を示しています。
以下の図は、フィルターのセクション間で使用される固定小数点データ型を示しています。
データを最適化しない場合:
[Optimize unity scale values] を選択し、スケール値が 1 と等しい場合:
次の図は、固定小数点信号用のフィルターの 1 つのセクションで使用されるデータ型を示しています。
[Optimize unity scale values] を選択し、スケール値が 1 と等しい場合、破線付きキャストは省略されます。
以下の図は、フィルターのセクション間で使用される固定小数点データ型を示しています。
データを最適化しない場合:
[Optimize unity scale values] を選択し、スケール値が 1 と等しい場合:
次の図は、固定小数点信号用のフィルターの 1 つのセクションで使用されるデータ型を示しています。
[Optimize unity scale values] を選択し、スケール値が 1 と等しい場合、破線付きキャストは省略されます。
以下の図は、フィルターのセクション間で使用される固定小数点データ型を示しています。
データを最適化しない場合:
[Optimize unity scale values] を選択し、スケール値が 1 と等しい場合:
次の図は、固定小数点信号用のフィルターの 1 つのセクションで使用されるデータ型を示しています。
以下の図は、フィルターのセクション間で使用される固定小数点データ型を示しています。
データを最適化しない場合:
[Optimize unity scale values] を選択し、スケール値が 1 と等しい場合:
バージョン履歴
R2008b で導入
参考
オブジェクト
ブロック
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)