最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。
双二次構造を使用した IIR フィルター
dsp.BiquadFilter
オブジェクトは、双二次セクションのカスケードを実装します。ここで、各セクションの係数は、N 行 6 列の 2 次セクション型 (SOS) 行列の個別の行で提供されます。SOS 行列の各行には、フィルターのセクションに対応する分子係数と分母係数が含まれています。結果として得られるフィルターは、ベクトル入力または行列入力に適用可能です。ここで、各列は、個別に処理されるデータのチャネルを表します。
双二次または SOS を使用して IIR フィルター構造を実装するには、次のようにします。
dsp.BiquadFilter
オブジェクトを作成し、そのプロパティを設定します。
関数と同様に、引数を指定してオブジェクトを呼び出します。
System object の機能の詳細については、System object とはを参照してください。
は双二次 IIR (SOS) フィルター System object™ biquad
= dsp.BiquadFilterbiquad
を返します。これは、SOS セクション [1 0.3 0.4 1 0.1 0.2]
を直接型 II 転置構造で使用して、時間の経過と共に入力の各チャネル (列) を個別にフィルター処理します。
biquad = dsp.BiquadFilter(sosmatrix,scalevalues)
は、SOSMatrix
プロパティが sosmatrix
に設定され、ScaleValues
プロパティが scalevalues
に設定された双二次フィルター オブジェクトを返します。
biquad = dsp.BiquadFilter(
は、各プロパティが指定の値に設定された双二次フィルター オブジェクト Name,Value
)biquad
を返します。
特に指定がない限り、プロパティは "調整不可能" です。つまり、オブジェクトの呼び出し後に値を変更することはできません。オブジェクトは呼び出すとロックされ、ロックを解除するには関数 release
を使用します。
プロパティが "調整可能" の場合、その値をいつでも変更できます。
プロパティ値の変更の詳細については、System object を使用した MATLAB でのシステム設計を参照してください。
Structure
— フィルター構造'Direct form II transposed'
(既定値) | 'Direct form I'
| 'Direct form I transposed'
| 'Direct form II'
フィルター構造を 'Direct form I'
、'Direct form I transposed'
、'Direct form II'
、'Direct form II transposed'
として指定します。
SOSMatrixSource
— SOS 行列のソース'Property'
(既定値) | 'Input port'
SOS 行列のソースに 'Property'
または 'Input port'
を指定します。
SOSMatrix
— SOS 行列[1 0.3 0.4 1 0.1 0.2]
(既定値) | N 行 6 列の行列2 次セクション型 (SOS) 行列を N 行 6 列の行列として指定します。N はフィルターのセクション数です。SOS 行列の各行には、フィルターのセクションに対応する分子係数と分母係数が含まれています。双二次フィルターのシステム関数 H(z) は次のようになります。
係数は、SOS 行列の行で(b0, b1,b2,1, –a1, –a2) のように順序付けられます。係数には実数値または複素数値を使用できます。このプロパティは、SOSMatrixSource
プロパティを Property
に設定した場合にのみ適用されます。双二次フィルターの最初の分母係数 a0は、指定値にかかわらず、各フィルター セクションで 1 と等しくなります。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fi
ScaleValues
— 各双二次セクションのスケール値1
(既定値) | スカラー | ベクトル双二次フィルターの各セクションの前後に適用するスケール値を指定します。ScaleValues
はスカラーまたは長さが N+1
のベクトルでなければなりません。ここで N
はセクション数です。このプロパティをスカラーに設定すると、スカラー値はフィルターの最初のセクションの前でのみゲイン値として使用されます。残りのゲイン値は 1
に設定されます。このプロパティを N+1
値のベクトルに設定すると、各値がフィルターの個別のセクションで使用されます。
このプロパティは、SOSMatrixSource
プロパティを Property
に設定した場合にのみ適用されます。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
InitialConditions
— 直接型 II 構造の初期条件0
(既定値) | スカラー | ベクトル | 行列Structure
プロパティが Direct form II
または Direct form II transposed
のいずれかの場合に、フィルター状態の初期条件を指定します。直接型 II 双二次フィルターの状態要素または遅延要素の数 (零点と極) はフィルター セクション数の 2 倍に等しくなります。初期条件はスカラー、ベクトルまたは行列として指定できます。
スカラー値を指定すると、双二次フィルターはフィルターのすべての遅延要素をその値に初期化します。フィルターの遅延要素数に等しい長さのベクトルを指定すると、各ベクトル要素は対応する遅延要素に一意の初期条件を指定します。
双二次フィルターは初期条件の同じベクトルを入力信号の各チャネルに適用します。フィルターの入力チャネル数と遅延要素数の積に等しい長さのベクトルを指定すると、各要素は対応するチャネルの対応する遅延要素に一意の初期条件を指定します。フィルターの遅延要素数と同数の行と入力信号の各チャネルに対応する列をもつ行列を指定すると、各要素は対応するチャネルの対応する遅延要素に一意の初期条件を指定します。
このプロパティは、Structure
プロパティを Direct form II
または Direct form II transposed
のどちらかに設定した場合にのみ適用されます。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
NumeratorInitialConditions
— 零点側の初期条件0
(既定値) | スカラー | ベクトル | 行列フィルター構造の零点側でフィルター状態の初期条件を指定します。直接型 I 双二次フィルターの分子にある状態要素または遅延要素の数はフィルター セクション数の 2 倍に等しくなります。初期条件はスカラー、ベクトルまたは行列として指定できます。スカラーを指定すると、双二次フィルターはフィルターの零点側のすべての遅延要素をその値に初期化します。フィルターの零点側の遅延要素数に等しい長さのベクトルを指定すると、各ベクトル要素は対応する零点側の遅延要素に一意の初期条件を指定します。
双二次フィルターは初期条件の同じベクトルを入力信号の各チャネルに適用します。フィルターの零点側の入力チャネル数と遅延要素数の積に等しい長さのベクトルを指定すると、各要素は対応するチャネルの零点側の対応する遅延要素に一意の初期条件を指定します。フィルターの零点側の遅延要素数と同数の行と入力信号の各チャネルに対応する列をもつ行列を指定すると、各要素は対応するチャネルの零点側の対応する遅延要素に一意の初期条件を指定します。
このプロパティは、Structure
プロパティを Direct form I
または Direct form I transposed
のどちらかに設定した場合にのみ適用されます。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
DenominatorInitialConditions
— 極側の初期条件0
(既定値) | スカラー | ベクトル | 行列フィルター構造の極側でフィルター状態の初期条件を指定します。直接型 I (非標準) 双二次フィルターの分母の状態または遅延要素の数はフィルター セクション数の 2 倍に等しくなります。初期条件はスカラー、ベクトルまたは行列として指定できます。スカラーを指定すると、双二次フィルターはフィルターの極側のすべての遅延要素をその値に初期化します。フィルターの極側の遅延要素数に等しい長さのベクトルを指定すると、各ベクトル要素は対応する極側の遅延要素に一意の初期条件を指定します。
オブジェクトは初期条件の同じベクトルを入力信号の各チャネルに適用します。フィルターの極側の入力チャネル数と遅延要素数の積に等しい長さのベクトルを指定すると、各要素は対応するチャネルの極側の対応する遅延要素に一意の初期条件を指定します。フィルターの極側の遅延要素数と同数の行と入力信号の各チャネルに対応する列をもつ行列を指定すると、各要素は対応するチャネルの極側の対応する遅延要素に一意の初期条件を指定します。
このプロパティは、Structure
プロパティを Direct form I
または Direct form I transposed
のいずれかに設定した場合にのみ適用されます。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
OptimizeUnityScaleValues
— 1 のスケール値の最適化true
(既定値) | false
この boolean プロパティが true
に設定されている場合、双二次フィルターは 1 のスケール値のゲイン計算をすべて削除します。これにより計算数が減少して、固定小数点の精度が上がります。
このプロパティは、SOSMatrixSource
プロパティを Property
に設定した場合にのみ適用されます。
ScaleValuesInputPort
— スカラー値の指定方法true
(既定値) | false
スカラー値の指定方法を選択します。既定の設定では、このプロパティは true
で、スケール値は入力端子経由で指定されます。このプロパティが false
の場合、すべてのスカラー値は 1 になります。
このプロパティは、SOSMatrixSource
プロパティが Input port
の場合にのみ適用されます。
RoundingMethod
— 固定小数点演算の丸め手法Floor
(既定値) | Ceiling
| Convergent
| Nearest
| Round
| Simplest
| Zero
丸め方法を指定します。
OverflowAction
— 固定小数点演算のオーバーフロー アクションWrap
(既定値) | Saturate
オーバーフロー アクションを Wrap
または Saturate
のいずれかとして指定します。
MultiplicandDataType
— 被乗数の語長と小数部の長さSame as output
(既定値) | Custom
被乗数の固定小数点データ型を Same as output
または Custom
のいずれかとして指定します。
このプロパティは、Structure
プロパティを Direct form I transposed
に設定した場合にのみ適用されます。
CustomMultiplicandDataType
— カスタムの被乗数の語長と小数部の長さnumerictype([],32,30)
(既定値) | numerictype被乗数の固定小数点型を Signedness
が Auto
に設定された、スケーリングされた numerictype
(Fixed-Point Designer) オブジェクトとして指定します。
このプロパティは、MultiplicandDataType
プロパティを Custom
に設定した場合にのみ適用されます。
SectionInputDataType
— セクションの入力の語長と小数部の長さSame as input
(既定値) | Custom
セクションの入力の固定小数点データ型を Same as input
または Custom
のいずれかとして指定します。
CustomSectionInputDataType
— カスタムのセクションの入力の語長と小数部の長さnumerictype([],16,15)
(既定値) | numerictypeセクション入力の固定小数点型を Signedness
が Auto
に設定された、スケーリングされた numerictype
(Fixed-Point Designer) オブジェクトとして指定します。
このプロパティは、SectionInputDataType
プロパティを Custom
に設定した場合にのみ適用されます。
SectionOutputDataType
— セクションの出力の語長と小数部の長さSame as section input
(既定値) | Custom
セクションの出力の固定小数点データ型を Same as section input
または Custom
のいずれかとして指定します。
CustomSectionOutputDataType
— カスタムのセクションの出力の語長と小数部の長さnumerictype([],16,15)
(既定値) | numerictypeセクションの出力の固定小数点型を Signedness
が Auto
に設定された、符号付きでスケーリングされた numerictype
(Fixed-Point Designer) オブジェクトとして指定します。
このプロパティは、SectionOutputDataType
プロパティを Custom
に設定した場合にのみ適用されます。
NumeratorCoefficientsDataType
— 分子係数の語長と小数部の長さSame word length as input
(既定値) | Custom
分子係数の固定小数点データ型を Same word length as input
または Custom
として指定します。このプロパティを設定すると、DenominatorCoefficientsDataType
プロパティと ScaleValuesDataType
プロパティも同じ値に設定されます。
このプロパティは、SOSMatrixSource
プロパティを Property
に設定した場合にのみ適用されます。
CustomNumeratorCoefficientsDataType
— カスタムの分子係数の語長と小数部の長さnumerictype([],16,15)
(既定値) | numerictype分子係数の固定小数点型を Signedness
が Auto
に設定された numerictype
(Fixed-Point Designer) オブジェクトとして指定します。CustomNumeratorCoefficientsDataType
、CustomDenominatorCoefficientsDataType
および CustomScaleValuesDataType
の各プロパティの語長は同じでなければなりません。
このプロパティは、SOSMatrixSource
プロパティを Property
に、NumeratorCoefficientsDataType
プロパティを Custom
に設定した場合にのみ適用されます。
DenominatorCoefficientsDataType
— 分母係数の語長と小数部の長さSame word length as input
(既定値) | Custom
分母係数の固定小数点データ型を Same word length as input
または Custom
として指定します。このプロパティを設定すると、NumeratorCoefficientsDataType
プロパティと ScaleValuesDataType
プロパティも同じ値に設定されます。
このプロパティは、SOSMatrixSource
プロパティを Property
に設定した場合にのみ適用されます。
CustomDenominatorCoefficientsDataType
— カスタムの分母係数の語長と小数部の長さnumerictype([],16,15)
(既定値) | numerictype分母係数の固定小数点型を Signedness
が Auto
に設定された numerictype
(Fixed-Point Designer) オブジェクトとして指定します。CustomNumeratorCoefficientsDataType
、CustomDenominatorCoefficientsDataType
および CustomScaleValuesDataType
の各プロパティの語長は同じでなければなりません。
このプロパティは、SOSMatrixSource
プロパティを Property
に、DenominatorCoefficientsDataType
プロパティを Custom
に設定した場合にのみ適用されます。
ScaleValuesDataType
— スケール値の語長と小数部の長さSame word length as input
(既定値) | Custom
スケール値の固定小数点データ型を Same word length as input
または Custom
として指定します。このプロパティを設定すると、NumeratorCoefficientsDataType
プロパティと DenominatorCoefficientsDataType
プロパティも同じ値に設定されます。
このプロパティは、SOSMatrixSource
プロパティを Property
に設定した場合にのみ適用されます。
CustomScaleValuesDataType
— カスタムのスケール値の語長と小数部の長さnumerictype([],16,15)
(既定値) | numerictypeスケール値の固定小数点型を Signedness
が Auto
に設定された numerictype
(Fixed-Point Designer) オブジェクトとして指定します。CustomNumeratorCoefficientsDataType
、CustomDenominatorCoefficientsDataType
および CustomScaleValuesDataType
の各プロパティの語長は同じでなければなりません。
このプロパティは、SOSMatrixSource
プロパティを Property
に、ScaleValuesDataType
プロパティを Custom
に設定した場合にのみ適用されます。
NumeratorProductDataType
— 分子の乗算の語長と小数部の長さSame as input
(既定値) | Custom
| Full precision
分子の乗算の固定小数点データ型を決めるモードを次のように指定します。
Same as input
(既定) — 分子の乗算の語長と小数部の長さは入力と同じになります。
Custom
— CustomNumeratorProductDataType
プロパティを有効にし、それを使ってカスタムの分子の乗算のデータ型を指定できます。データ型は numerictype
オブジェクトとして指定します。
Full precision
— 完全精度ルールを使ってデータ型を指定します。これらの規則は、最も正確な固定長数値を提供します。この規則はオブジェクト内で量子化が発生しないようにします。必要に応じてビットが追加されて、丸めやオーバーフローが発生しないようにします。詳細は、Full Precision for Fixed-Point System Objectsを参照してください。
このプロパティを設定すると、DenominatorProductDataType
プロパティも同じ値に設定されます。
CustomNumeratorProductDataType
— カスタムの分子の乗算の語長と小数部の長さnumerictype([],32,30)
(既定値) | numerictype乗算の固定小数点型を Signedness
が Auto
に設定された、スケーリングされた numerictype
(Fixed-Point Designer) オブジェクトとして指定します。CustomNumeratorProductDataType
プロパティおよび CustomDenominatorProductDataType
プロパティの語長は同じでなければなりません。
このプロパティは、NumeratorProductDataType
プロパティを Custom
に設定した場合にのみ適用されます。
DenominatorProductDataType
— 分母の乗算の語長と小数部の長さSame as input
(既定値) | Custom
| Full precision
分母の乗算の固定小数点データ型を決めるモードを次のように指定します。
Same as input
(既定) — 分母の乗算の語長と小数部の長さは入力と同じになります。
Custom
— CustomDenominatorProductDataType
プロパティを有効にし、それを使ってカスタムの分母の乗算のデータ型を指定できます。データ型は numerictype
オブジェクトとして指定します。
Full precision
— 完全精度ルールを使ってデータ型を指定します。これらの規則は、最も正確な固定長数値を提供します。この規則はオブジェクト内で量子化が発生しないようにします。必要に応じてビットが追加されて、丸めやオーバーフローが発生しないようにします。詳細は、Full Precision for Fixed-Point System Objectsを参照してください。
このプロパティを設定すると、NumeratorProductDataType
プロパティも同じ値に設定されます。
CustomDenominatorProductDataType
— カスタムの分母の乗算の語長と小数部の長さnumerictype([],32,30)
(既定値) | numerictype乗算の固定小数点型を Signedness
が Auto
に設定された、スケーリングされた numerictype
(Fixed-Point Designer) オブジェクトとして指定します。CustomNumeratorProductDataType
プロパティおよび CustomDenominatorProductDataType
プロパティの語長は同じでなければなりません。
このプロパティは、DenominatorProductDataType
を Custom
に設定した場合にのみ適用されます。
NumeratorAccumulatorDataType
— 分子アキュムレータの語長と小数部の長さSame as product
(既定値) | Same as input
| Custom
分子アキュムレータの固定小数点データ型を Same as input
、Same as product
、または Custom
として指定します。このプロパティを設定すると、DenominatorAccumulatorDataType
プロパティも同じ値に設定されます。
CustomNumeratorAccumulatorDataType
— カスタムの分子アキュムレータの語長と小数部の長さnumerictype([],32,30)
(既定値) | numerictype分子アキュムレータの固定小数点型を Signedness
が Auto
に設定された、スケーリングされた numerictype
(Fixed-Point Designer) オブジェクトとして指定します。CustomNumeratorAccumulatorDataType
プロパティおよび CustomDenominatorAccumulatorDataType
プロパティの語長は同じでなければなりません。
このプロパティは、NumeratorAccumulatorDataType
プロパティを Custom
に設定した場合にのみ適用されます。
DenominatorAccumulatorDataType
— 分母アキュムレータの語長と小数部の長さSame as product
(既定値) | Same as input
| Custom
分母アキュムレータの固定小数点データ型を Same as input
、Same as product
、または Custom
として指定します。このプロパティを設定すると、NumeratorAccumulatorDataType
プロパティも同じ値に設定されます。
CustomDenominatorAccumulatorDataType
— カスタムの分母アキュムレータの語長と小数部の長さ numerictype([],32,30)
(既定値) | numerictype分母アキュムレータの固定小数点型を Signedness
が Auto
に設定された、スケーリングされた numerictype
(Fixed-Point Designer) オブジェクトとして指定します。CustomNumeratorAccumulatorDataType
プロパティおよび CustomDenominatorAccumulatorDataType
プロパティの語長は同じでなければなりません。
このプロパティは、DenominatorAccumulatorDataType
プロパティを Custom
に設定した場合にのみ適用されます。
StateDataType
— 状態の語長と小数部の長さSame as accumulator
(既定値) | Same as input
| Custom
状態の固定小数点データ型を Same as input
、Same as accumulator
、または Custom
として指定します。
このプロパティは、Structureプロパティを Direct form II
または Direct form II transposed
に設定した場合に適用されます。
CustomStateDataType
— カスタムの状態の語長と小数部の長さnumerictype([],16,15)
(既定値) | numerictype状態の固定小数点型を Signedness
が Auto
に設定された、スケーリングされた numerictype
(Fixed-Point Designer) オブジェクトとして指定します。
このプロパティは、StateDataType
プロパティを Custom
に設定した場合にのみ適用されます。
NumeratorStateDataType
— 分子の状態の語長と小数部の長さSame as accumulator
(既定値) | Same as input
| Custom
分子の状態の固定小数点データ型を Same as input
、Same as accumulator
、または Custom
として指定します。このプロパティを設定すると、DenominatorStateDataType
プロパティも同じ値に設定されます。
このプロパティは、Structureプロパティを Direct form I transposed
に設定した場合にのみ適用されます。
CustomNumeratorStateDataType
— カスタムの分子の状態の語長と小数部の長さnumerictype([],16,15)
(既定値) | numerictype分子の状態の固定小数点型を Signedness
が Auto
に設定された、スケーリングされた numerictype
(Fixed-Point Designer) オブジェクトとして指定します。CustomNumeratorProductDataType
プロパティおよび CustomDenominatorProductDataType
プロパティの語長は同じでなければなりません。
このプロパティは、StateDataType
プロパティを Custom
に設定した場合にのみ適用されます。
DenominatorStateDataType
— 分母の状態の語長と小数部の長さSame as accumulator
(既定値) | Same as input
| Custom
分母の状態の固定小数点データ型を Same as input
、Same as accumulator
、または Custom
として指定します。このプロパティを設定すると、NumeratorStateDataType
プロパティも同じ値に設定されます。
このプロパティは、Structureプロパティを Direct form I transposed
に設定した場合にのみ適用されます。
CustomDenominatorStateDataType
— カスタムの分母の状態の語長と小数部の長さ numerictype([],16,15)
(既定値) | numerictype分母の状態の固定小数点型を Signedness
が Auto
に設定された、スケーリングされた numerictype
(Fixed-Point Designer) オブジェクトとして指定します。CustomNumeratorStateDataType
プロパティおよび CustomDenominatorStateDataType
プロパティの語長は同じでなければなりません。
このプロパティは、StateDataType
プロパティを Custom
に設定した場合にのみ適用されます。
OutputDataType
— 出力の語長と小数部の長さSame as accumulator
(既定値) | Same as input
| Custom
出力の固定小数点データ型を Same as input
、Same as accumulator
、または Custom
として指定します。
CustomOutputDataType
— カスタムの出力の語長と小数部の長さnumerictype([],16,15)
(既定値) | numerictype出力の固定小数点型を Signedness
が Auto
に設定された、スケーリングされた numerictype
(Fixed-Point Designer) オブジェクトとして指定します。
このプロパティは、OutputDataTypeプロパティを Custom
に設定した場合にのみ適用されます。
x
— データ入力データ入力。ベクトルまたは行列として指定します。このオブジェクトは可変サイズの入力も受け入れます。オブジェクトがロックされると、各入力チャネルのサイズは変更できますが、チャネルの数は変更できません。
すべての入力のデータ型が同じでなければなりません。入力が固定小数点の場合、勾配が 2 のべき乗でバイアスが 0 の符号付き固定小数点でなければなりません。
x
、num
、および den
の実数/複素数は同じでなければなりません。
データ型: single
| double
| int8
| int16
| int32
| int64
| fi
複素数のサポート: あり
num
— 分子係数分子係数。3 行 N 列の数値行列として指定します。ここで N は双二次フィルター セクションの数です。x
、num
、および den
の実数/複素数は同じでなければなりません。
すべての入力のデータ型が同じでなければなりません。num
が固定小数点の場合、勾配が 2 のべき乗でバイアスが 0 の符号付き固定小数点でなければなりません。
この入力は、SOSMatrixSource
プロパティを Input port
に設定した場合にのみ適用されます。
データ型: single
| double
| int8
| int16
| int32
| int64
| fi
複素数のサポート: あり
den
— 分母係数分母係数。2 行 N 列の数値行列として指定します。ここで N は双二次フィルター セクションの数です。オブジェクトは、各セクションの最初の分母係数が 1 であると想定しています。
すべての入力のデータ型が同じでなければなりません。den
が固定小数点の場合、勾配が 2 のべき乗でバイアスが 0 の符号付き固定小数点でなければなりません。
x
、num
、および den
の実数/複素数は同じでなければなりません。
この入力は、SOSMatrixSource
プロパティを Input port
に設定した場合にのみ適用されます。
データ型: single
| double
| int8
| int16
| int32
| int64
| fi
複素数のサポート: あり
g
— スケール値双二次フィルターのスケール値。1 行 (N +1) 列の数値ベクトルとして指定します。ここで、N
は双二次フィルター セクションの数です。
すべての入力のデータ型が同じでなければなりません。g
が固定小数点の場合、勾配が 2 のべき乗でバイアスが 0 の符号付き固定小数点でなければなりません。
この入力は、SOSMatrixSource
プロパティが Input Port
、ScaleValuesInputPort
プロパティが true
である場合に適用されます。
データ型: single
| double
| int8
| int16
| int32
| int64
| fi
y
— フィルター処理された出力フィルター処理された出力。ベクトルまたは行列として返されます。出力信号のサイズ、データ型、実数/複素数は入力信号と一致します。
データ型: single
| double
| int8
| int16
| int32
| int64
| fi
複素数のサポート: あり
オブジェクト関数を使用するには、System object を最初の入力引数として指定します。たとえば、obj
という名前の System object のシステム リソースを解放するには、次の構文を使用します。
release(obj)
dsp.BiquadFilter
に固有freqz | フィルターの周波数応答 |
fvtool | Visualize frequency response of DSP filters |
impz | 離散時間フィルター System object のインパルス応答 |
info | Information about filter System object |
coeffs | フィルター係数 |
cost | Estimate cost of implementing filter System object |
scale | Scale second-order sections |
scaleopts | Create an options object for second-order section scaling |
scalecheck | Check scaling of biquadratic filter |
cumsec | Cumulative second-order section of the biquadratic filter |
generatehdl | Generate HDL code for quantized DSP filter (requires Filter Design HDL Coder) |
tf | 離散時間フィルター System object の伝達関数への変換 |
メモ: R2016a 以前のリリースを使用している場合、それぞれのオブジェクトの呼び出しを等価な step 構文で置き換えてください。たとえば、obj(x)
は step(obj,x)
になります。
正規化されたカットオフ周波数 0.4 をもつ 4 次のローパス双二次フィルター オブジェクトを使用して、入力信号から高周波数をフィルター処理します。Spectrum Analyzer を使って結果をパワー スペクトルとして表示します。
t = (0:1000)'/8e3; xin = sin(2*pi*0.3e3*t)+sin(2*pi*3e3*t); % Input is 0.3 & % 3kHz sinusoids src = dsp.SignalSource(xin, 100); sink = dsp.SignalSink; [z,p,k] = ellip(4,1,60,.4); % Set up the filter [s,g] = zp2sos(z,p,k); biquad = dsp.BiquadFilter(s,g,'Structure','Direct form I'); sa = dsp.SpectrumAnalyzer('SampleRate',8e3,... 'PlotAsTwoSidedSpectrum',false,... 'OverlapPercent', 80,'PowerUnits','dBW',... 'YLimits', [-160 -10]); while ~isDone(src) input = src(); filteredOutput = biquad(input); sink(filteredOutput); sa(filteredOutput) end filteredResult = sink.Buffer; fvtool(biquad,'Fs',8000)
関数 design
を使用してローパス双二次フィルター System object を設計して適用します。
lpSpec = fdesign.lowpass('Fp,Fst,Ap,Ast',500,550,0.5,60,10000); lpfilter = design(lpSpec,'butter','systemobject',true) fvtool(lpfilter);
lpfilter = dsp.BiquadFilter with properties: Structure: 'Direct form II' SOSMatrixSource: 'Property' SOSMatrix: [42x6 double] ScaleValues: [43x1 double] InitialConditions: 0 OptimizeUnityScaleValues: true Use get to show all properties
関数 scale
を使用して、双二次フィルターの Linf ノルム スケーリングを示します。
Fs = 8000; Fcutoff = 2000; [z,p,k] = butter(10,Fcutoff/(Fs/2)); [s,g] = zp2sos(z,p,k); biquad = dsp.BiquadFilter('Structure', 'Direct form I', ... 'SOSMatrix', s,'ScaleValues', g); scale(biquad,'linf','scalevalueconstraint','none','maxscalevalue',2)
必要なスケーリング オプション設定を含むオプション スケーリング オブジェクトを作成します。
EllipI = design(fdesign.lowpass('N,Fp,Ap,Ast',10,0.5,0.5,20), 'ellip', 'FilterStructure', 'df1sos','SystemObject',true)
EllipI = dsp.BiquadFilter with properties: Structure: 'Direct form I' SOSMatrixSource: 'Property' SOSMatrix: [5x6 double] ScaleValues: [6x1 double] NumeratorInitialConditions: 0 DenominatorInitialConditions: 0 OptimizeUnityScaleValues: true Show all properties
opts = scaleopts(EllipI)
opts = sosReorder: 'auto' MaxNumerator: 2 NumeratorConstraint: 'none' OverflowMode: 'wrap' ScaleValueConstraint: 'unit' MaxScaleValue: 'Not used'
このオブジェクトは、Biquad Filter ブロックのリファレンス ページで説明されているアルゴリズム、入力、および出力を実装しています。オブジェクト プロパティはブロック パラメーターに対応しますが、以下の場合を除きます。
Coefficient source
Action when the a0 values of the SOS matrix are not one – 双二次フィルター オブジェクトは、指定した値にかかわらず、0 次の分母係数を 1 と等しいと仮定します。双二次フィルター オブジェクトは、対応するブロック内で検出された [Error]
オプションまたは [Warning]
オプションをサポートしません。
このオブジェクトと、それに対応するブロックの両方で、可変サイズの入力がサポートされます。このオブジェクトは、呼び出されたときに、サイズが変化する入力引数を処理できます。
使用上の注意および制限:
MATLAB コード生成における System object (MATLAB Coder)を参照してください。
以下の図は、dsp.BiquadFilter
オブジェクトで入力が固定小数点の場合に使用されるデータ型を示しています。オブジェクトでサポートされる各フィルター構造に対して、これらの図に示すデータ型をオブジェクトのそれぞれの固定小数点プロパティを使用して設定できます。
直接型 I
次の図は、固定小数点信号用のフィルターの 1 つのセクションで使用されるデータ型を示しています。
以下の図は、フィルターのセクション間で使用される固定小数点データ型を示しています。
データを最適化しない場合:
OptimizeUnityScaleValues
を true
に指定してスケール値を 1 に設定した場合:
直接型 I 転置構成
次の図は、固定小数点信号用のフィルターの 1 つのセクションで使用されるデータ型を示しています。
OptimizeUnityScaleValues
を true
に指定してスケール値を 1 に設定した場合、破線のキャストは省略されます。
以下の図は、フィルターのセクション間で使用される固定小数点データ型を示しています。
データを最適化しない場合:
OptimizeUnityScaleValues
を true
に指定してスケール値を 1 に設定した場合:
直接型 II
次の図は、固定小数点信号用のフィルターの 1 つのセクションで使用されるデータ型を示しています。
OptimizeUnityScaleValues
を true
に指定してスケール値を 1 に設定した場合、破線のキャストは省略されます。
以下の図は、フィルターのセクション間で使用される固定小数点データ型を示しています。
データを最適化しない場合:
OptimizeUnityScaleValues
を true
に指定してスケール値を 1 に設定した場合:
直接型 II 転置構成
次の図は、固定小数点信号用のフィルターの 1 つのセクションで使用されるデータ型を示しています。
以下の図は、フィルターのセクション間で使用される固定小数点データ型を示しています。
データを最適化しない場合:
OptimizeUnityScaleValues
を true
に指定してスケール値を 1 に設定した場合:
coeffs
| cost
| cumsec
| freqz
| fvtool
| generatehdl
| impz
| info
| scale
| scalecheck
| scaleopts
| tf
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
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: .
Select web siteYou can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.