最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

dsp.BiquadFilter

双二次構造を使用した IIR フィルター

説明

dsp.BiquadFilter オブジェクトは双二次または 2 次セクション型 (SOS) を使用して IIR フィルター構造を実装します。

双二次または SOS を使用して IIR フィルター構造を実装するには、次のようにします。

  1. dsp.BiquadFilter オブジェクトを作成し、そのプロパティを設定します。

  2. 関数と同様に、引数を指定してオブジェクトを呼び出します。

System object の機能の詳細については、System object とは (MATLAB)を参照してください。

作成

説明

biquad = dsp.BiquadFilter は双二次 IIR (SOS) フィルター System object™ biquad を返します。これは、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 でのシステム設計 (MATLAB)を参照してください。

フィルター構造を 'Direct form I''Direct form I transposed''Direct form II''Direct form II transposed' として指定します。

SOS 行列のソースに 'Property' または 'Input port' を指定します。

2 次セクション型 (SOS) 行列を N 行 6 列の行列として指定します。N はフィルターのセクション数です。SOS 行列の各行には、フィルターのセクションに対応する分子係数と分母係数が含まれています。双二次フィルターのシステム関数 H(z) は次のようになります。

H(z)=k=02bkzk1l=12alzl

係数は、SOS 行列の行で(b0, b1,b2,1, –a1, –a2) のように順序付けられます。係数には実数値または複素数値を使用できます。このプロパティは、SOSMatrixSource プロパティを Property に設定した場合にのみ適用されます。双二次フィルターの最初の分母係数 a0は、指定値にかかわらず、各フィルター セクションで 1 と等しくなります。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi

双二次フィルターの各セクションの前後に適用するスケール値を指定します。ScaleValues はスカラーまたは長さが N+1 のベクトルでなければなりません。ここで N はセクション数です。このプロパティをスカラーに設定すると、スカラー値はフィルターの最初のセクションの前でのみゲイン値として使用されます。残りのゲイン値は 1 に設定されます。このプロパティを N+1 値のベクトルに設定すると、各値がフィルターの個別のセクションで使用されます。

依存関係

このプロパティは、SOSMatrixSource プロパティを Property に設定した場合にのみ適用されます。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

フィルター構造の零点側でフィルター状態の初期条件を指定します。直接型 I 双二次フィルターの分子にある状態要素または遅延要素の数はフィルター セクション数の 2 倍に等しくなります。初期条件はスカラー、ベクトルまたは行列として指定できます。スカラーを指定すると、双二次フィルターはフィルターの零点側のすべての遅延要素をその値に初期化します。フィルターの零点側の遅延要素数に等しい長さのベクトルを指定すると、各ベクトル要素は対応する零点側の遅延要素に一意の初期条件を指定します。

双二次フィルターは初期条件の同じベクトルを入力信号の各チャネルに適用します。フィルターの零点側の入力チャネル数と遅延要素数の積に等しい長さのベクトルを指定すると、各要素は対応するチャネルの零点側の対応する遅延要素に一意の初期条件を指定します。フィルターの零点側の遅延要素数と同数の行と入力信号の各チャネルに対応する列をもつ行列を指定すると、各要素は対応するチャネルの零点側の対応する遅延要素に一意の初期条件を指定します。

依存関係

このプロパティは、Structure プロパティを Direct form I または Direct form I transposed のどちらかに設定した場合にのみ適用されます。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

フィルター構造の極側でフィルター状態の初期条件を指定します。直接型 I (非標準) 双二次フィルターの分母の状態または遅延要素の数はフィルター セクション数の 2 倍に等しくなります。初期条件はスカラー、ベクトルまたは行列として指定できます。スカラーを指定すると、双二次フィルターはフィルターの極側のすべての遅延要素をその値に初期化します。フィルターの極側の遅延要素数に等しい長さのベクトルを指定すると、各ベクトル要素は対応する極側の遅延要素に一意の初期条件を指定します。

オブジェクトは初期条件の同じベクトルを入力信号の各チャネルに適用します。フィルターの極側の入力チャネル数と遅延要素数の積に等しい長さのベクトルを指定すると、各要素は対応するチャネルの極側の対応する遅延要素に一意の初期条件を指定します。フィルターの極側の遅延要素数と同数の行と入力信号の各チャネルに対応する列をもつ行列を指定すると、各要素は対応するチャネルの極側の対応する遅延要素に一意の初期条件を指定します。

依存関係

このプロパティは、Structure プロパティを Direct form I または Direct form I transposed のいずれかに設定した場合にのみ適用されます。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

この boolean プロパティが true に設定されている場合、双二次フィルターは 1 のスケール値のゲイン計算をすべて削除します。これにより計算数が減少して、固定小数点の精度が上がります。

依存関係

このプロパティは、SOSMatrixSource プロパティを Property に設定した場合にのみ適用されます。

スカラー値の指定方法を選択します。既定の設定では、このプロパティは true で、スケール値は入力端子経由で指定されます。このプロパティが false の場合、すべてのスカラー値は 1 になります。

依存関係

このプロパティは、SOSMatrixSource プロパティが Input port の場合にのみ適用されます。

固定小数点プロパティ

丸め方法を指定します。

オーバーフロー アクションを Wrap または Saturate のいずれかとして指定します。

被乗数の固定小数点データ型を Same as output または Custom のいずれかとして指定します。

依存関係

このプロパティは、Structure プロパティを Direct form I transposed に設定した場合にのみ適用されます。

被乗数の固定小数点型を SignednessAuto に設定された、スケーリングされた numerictype オブジェクトとして指定します。

依存関係

このプロパティは、MultiplicandDataType プロパティを Custom に設定した場合にのみ適用されます。

セクションの入力の固定小数点データ型を Same as input または Custom のいずれかとして指定します。

セクション入力の固定小数点型を SignednessAuto に設定された、スケーリングされた numerictype オブジェクトとして指定します。

依存関係

このプロパティは、SectionInputDataType プロパティを Custom に設定した場合にのみ適用されます。

セクションの出力の固定小数点データ型を Same as section input または Custom のいずれかとして指定します。

セクションの出力の固定小数点型を SignednessAuto に設定された、符号付きでスケーリングされた numerictype オブジェクトとして指定します。

依存関係

このプロパティは、SectionOutputDataType プロパティを Custom に設定した場合にのみ適用されます。

分子係数の固定小数点データ型を Same word length as input または Custom として指定します。このプロパティを設定すると、DenominatorCoefficientsDataType プロパティと ScaleValuesDataType プロパティも同じ値に設定されます。

依存関係

このプロパティは、SOSMatrixSource プロパティを Property に設定した場合にのみ適用されます。

分子係数の固定小数点型を SignednessAuto に設定された numerictype オブジェクトとして指定します。CustomNumeratorCoefficientsDataTypeCustomDenominatorCoefficientsDataType および CustomScaleValuesDataType の各プロパティの語長は同じでなければなりません。

依存関係

このプロパティは、SOSMatrixSource プロパティを Property に、NumeratorCoefficientsDataType プロパティを Custom に設定した場合にのみ適用されます。

分母係数の固定小数点データ型を Same word length as input または Custom として指定します。このプロパティを設定すると、NumeratorCoefficientsDataType プロパティと ScaleValuesDataType プロパティも同じ値に設定されます。

依存関係

このプロパティは、SOSMatrixSource プロパティを Property に設定した場合にのみ適用されます。

分母係数の固定小数点型を SignednessAuto に設定された numerictype オブジェクトとして指定します。CustomNumeratorCoefficientsDataTypeCustomDenominatorCoefficientsDataType および CustomScaleValuesDataType の各プロパティの語長は同じでなければなりません。

依存関係

このプロパティは、SOSMatrixSource プロパティを Property に、DenominatorCoefficientsDataType プロパティを Custom に設定した場合にのみ適用されます。

スケール値の固定小数点データ型を Same word length as input または Custom として指定します。このプロパティを設定すると、NumeratorCoefficientsDataType プロパティと DenominatorCoefficientsDataType プロパティも同じ値に設定されます。

依存関係

このプロパティは、SOSMatrixSource プロパティを Property に設定した場合にのみ適用されます。

スケール値の固定小数点型を SignednessAuto に設定された numerictype オブジェクトとして指定します。CustomNumeratorCoefficientsDataTypeCustomDenominatorCoefficientsDataType および CustomScaleValuesDataType の各プロパティの語長は同じでなければなりません。

依存関係

このプロパティは、SOSMatrixSource プロパティを Property に、ScaleValuesDataType プロパティを Custom に設定した場合にのみ適用されます。

分子の乗算の固定小数点データ型を決めるモードを次のように指定します。

  • Same as input (既定) — 分子の乗算の語長と小数部の長さは入力と同じになります。

  • CustomCustomNumeratorProductDataType プロパティを有効にし、それを使ってカスタムの分子の乗算のデータ型を指定できます。データ型は numerictype オブジェクトとして指定します。

  • Full precision — 完全精度ルールを使ってデータ型を指定します。これらの規則は、最も正確な固定長数値を提供します。この規則はオブジェクト内で量子化が発生しないようにします。必要に応じてビットが追加されて、丸めやオーバーフローが発生しないようにします。詳細は、Full Precision for Fixed-Point System Objectsを参照してください。

このプロパティを設定すると、DenominatorProductDataType プロパティも同じ値に設定されます。

乗算の固定小数点型を SignednessAuto に設定された、スケーリングされた numerictype オブジェクトとして指定します。CustomNumeratorProductDataType プロパティおよび CustomDenominatorProductDataType プロパティの語長は同じでなければなりません。

依存関係

このプロパティは、NumeratorProductDataType プロパティを Custom に設定した場合にのみ適用されます。

分母の乗算の固定小数点データ型を決めるモードを次のように指定します。

  • Same as input (既定) — 分母の乗算の語長と小数部の長さは入力と同じになります。

  • CustomCustomDenominatorProductDataType プロパティを有効にし、それを使ってカスタムの分母の乗算のデータ型を指定できます。データ型は numerictype オブジェクトとして指定します。

  • Full precision — 完全精度ルールを使ってデータ型を指定します。これらの規則は、最も正確な固定長数値を提供します。この規則はオブジェクト内で量子化が発生しないようにします。必要に応じてビットが追加されて、丸めやオーバーフローが発生しないようにします。詳細は、Full Precision for Fixed-Point System Objectsを参照してください。

このプロパティを設定すると、NumeratorProductDataType プロパティも同じ値に設定されます。

乗算の固定小数点型を SignednessAuto に設定された、スケーリングされた numerictype オブジェクトとして指定します。CustomNumeratorProductDataType プロパティおよび CustomDenominatorProductDataType プロパティの語長は同じでなければなりません。

依存関係

このプロパティは、DenominatorProductDataTypeCustom に設定した場合にのみ適用されます。

分子アキュムレータの固定小数点データ型を Same as inputSame as product、または Custom として指定します。このプロパティを設定すると、DenominatorAccumulatorDataType プロパティも同じ値に設定されます。

分子アキュムレータの固定小数点型を SignednessAuto に設定された、スケーリングされた numerictype オブジェクトとして指定します。CustomNumeratorAccumulatorDataType プロパティおよび CustomDenominatorAccumulatorDataType プロパティの語長は同じでなければなりません。

依存関係

このプロパティは、NumeratorAccumulatorDataType プロパティを Custom に設定した場合にのみ適用されます。

分母アキュムレータの固定小数点データ型を Same as inputSame as product、または Custom として指定します。このプロパティを設定すると、NumeratorAccumulatorDataType プロパティも同じ値に設定されます。

分母アキュムレータの固定小数点型を SignednessAuto に設定された、スケーリングされた numerictype オブジェクトとして指定します。CustomNumeratorAccumulatorDataType プロパティおよび CustomDenominatorAccumulatorDataType プロパティの語長は同じでなければなりません。

依存関係

このプロパティは、DenominatorAccumulatorDataType プロパティを Custom に設定した場合にのみ適用されます。

状態の固定小数点データ型を Same as inputSame as accumulator、または Custom として指定します。

依存関係

このプロパティは、Structureプロパティを Direct form II または Direct form II transposed に設定した場合に適用されます。

状態の固定小数点型を SignednessAuto に設定された、スケーリングされた numerictype オブジェクトとして指定します。

依存関係

このプロパティは、StateDataType プロパティを Custom に設定した場合にのみ適用されます。

分子の状態の固定小数点データ型を Same as inputSame as accumulator、または Custom として指定します。このプロパティを設定すると、DenominatorStateDataType プロパティも同じ値に設定されます。

依存関係

このプロパティは、Structureプロパティを Direct form I transposed に設定した場合にのみ適用されます。

分子の状態の固定小数点型を SignednessAuto に設定された、スケーリングされた numerictype オブジェクトとして指定します。CustomNumeratorProductDataType プロパティおよび CustomDenominatorProductDataType プロパティの語長は同じでなければなりません。

依存関係

このプロパティは、StateDataType プロパティを Custom に設定した場合にのみ適用されます。

分母の状態の固定小数点データ型を Same as inputSame as accumulator、または Custom として指定します。このプロパティを設定すると、NumeratorStateDataType プロパティも同じ値に設定されます。

依存関係

このプロパティは、Structureプロパティを Direct form I transposed に設定した場合にのみ適用されます。

分母の状態の固定小数点型を SignednessAuto に設定された、スケーリングされた numerictype オブジェクトとして指定します。CustomNumeratorStateDataType プロパティおよび CustomDenominatorStateDataType プロパティの語長は同じでなければなりません。

依存関係

このプロパティは、StateDataType プロパティを Custom に設定した場合にのみ適用されます。

出力の固定小数点データ型を Same as inputSame as accumulator、または Custom として指定します。

出力の固定小数点型を SignednessAuto に設定された、スケーリングされた numerictype オブジェクトとして指定します。

依存関係

このプロパティは、OutputDataTypeプロパティを Custom に設定した場合にのみ適用されます。

使用法

R2016b より前のバージョンでは、関数 step を使用して System object アルゴリズムを実行します。step に対する引数は作成したオブジェクトであり、この節で示す引数が次に続きます。

たとえば、y = step(obj,x)y = obj(x) は同等の演算を実行します。

説明

y = biquad(x) は入力信号 x をフィルター処理し、フィルター済みの値 y を出力します。双二次フィルター オブジェクトは、アルゴリズムへの連続する呼び出しで入力信号の各チャネルをフィルター処理します。

y = biquad(x,num,den) は、num を双二次フィルターの分子係数として、den を双二次フィルターの分母係数として使用して、入力をフィルター処理します。この構成は、SOSMatrixSource プロパティが Input portScaleValuesInputPort プロパティが false である場合に適用されます。

y = biquad(x,num,den,g) は、双二次フィルターのスケール値 g を指定します。この構成は、SOSMatrixSource プロパティが Input PortScaleValuesInputPort プロパティが true である場合に適用されます。

入力引数

すべて展開する

データ入力。ベクトルまたは行列として指定します。このオブジェクトは可変サイズの入力も受け入れます。オブジェクトがロックされると、各入力チャネルのサイズは変更できますが、チャネルの数は変更できません。

すべての入力のデータ型が同じでなければなりません。入力が固定小数点の場合、勾配が 2 のべき乗でバイアスが 0 の符号付き固定小数点でなければなりません。

xnum、および den の実数/複素数は同じでなければなりません。

データ型: single | double | int8 | int16 | int32 | int64 | fi
複素数のサポート: あり

分子係数。3 行 N 列の数値行列として指定します。ここで N は双二次フィルター セクションの数です。xnum、および den の実数/複素数は同じでなければなりません。

すべての入力のデータ型が同じでなければなりません。num が固定小数点の場合、勾配が 2 のべき乗でバイアスが 0 の符号付き固定小数点でなければなりません。

依存関係

この入力は、SOSMatrixSource プロパティを Input port に設定した場合にのみ適用されます。

データ型: single | double | int8 | int16 | int32 | int64 | fi
複素数のサポート: あり

分母係数。2 行 N 列の数値行列として指定します。ここで N は双二次フィルター セクションの数です。オブジェクトは、各セクションの最初の分母係数が 1 であると想定しています。

すべての入力のデータ型が同じでなければなりません。den が固定小数点の場合、勾配が 2 のべき乗でバイアスが 0 の符号付き固定小数点でなければなりません。

xnum、および den の実数/複素数は同じでなければなりません。

依存関係

この入力は、SOSMatrixSource プロパティを Input port に設定した場合にのみ適用されます。

データ型: single | double | int8 | int16 | int32 | int64 | fi
複素数のサポート: あり

双二次フィルターのスケール値。1 行 (N +1) 列の数値ベクトルとして指定します。ここで、N は双二次フィルター セクションの数です。

すべての入力のデータ型が同じでなければなりません。g が固定小数点の場合、勾配が 2 のべき乗でバイアスが 0 の符号付き固定小数点でなければなりません。

依存関係

この入力は、SOSMatrixSource プロパティが Input PortScaleValuesInputPort プロパティが true である場合に適用されます。

データ型: single | double | int8 | int16 | int32 | int64 | fi

出力引数

すべて展開する

フィルター処理された出力。ベクトルまたは行列として返されます。出力信号のサイズ、データ型、実数/複素数は入力信号と一致します。

データ型: single | double | int8 | int16 | int32 | int64 | fi
複素数のサポート: あり

オブジェクト関数

オブジェクト関数を使用するには、System object を最初の入力引数として指定します。たとえば、obj という名前の System object のシステム リソースを解放するには、次の構文を使用します。

release(obj)

すべて展開する

freqzフィルターの周波数応答
fvtoolVisualize frequency response of DSP filters
impzImpulse response of discrete-time filter System object
infoInformation about filter System object
coeffsフィルター係数
costEstimate cost for implementing filter System objects
scaleScale second-order sections of dsp.BiquadFilter System object
scaleoptsCreate an options object for second-order section scaling
scalecheckCheck scaling of dsp.BiquadFilter System object
cumsecCumulative second-order section of BiquadFilter System object
sosConvert quantized filter to second–order sections (SOS) form
generatehdlGenerate HDL code for quantized DSP filter (requires Filter Design HDL Coder)
tfConvert discrete-time filter System object to transfer function
stepSystem object のアルゴリズムの実行
releaseリソースを解放し、System object のプロパティ値と入力特性の変更を可能にします。
resetSystem 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] オプションをサポートしません。

このオブジェクトと、それに対応するブロックの両方で、可変サイズの入力がサポートされます。つまり、サイズが変化する入力を step メソッドで処理できます。

拡張機能

R2012a で導入