ARM Cortex-M プロセッサでサポートされている DSP System Toolbox System object と CMSIS ライブラリ
Support Package for ARM® Cortex®-M Processors で使用できる各 DSP System object™ では、CMSIS ライブラリでのコード置換を可能にするために特定の条件が必要です。このコード置換は、モデルまたは MATLAB® コードから C コードを生成するときに使用します。CMSIS ライブラリでは、次の表に示すように、特定のプロパティを設定した場合にのみ、これらの DSP System object がサポートされます。
メモ
CMSIS DSP 関数 (FIR および双二次フィルター) の固定小数点モードでは、アキュムレータの結果がオーバーフローした場合、中間 MAC 演算に Wrap が使用されます。最後に、アキュムレータは右にシフトされ、出力データ型に飽和されます。離散 FIR および双二次フィルター System object の場合、アキュムレータおよび出力のオーバーフロー設定は 1 つだけです。累積時にオーバーフローが発生した場合、シミュレーション結果は CMSIS ライブラリの結果と一致しません。[OverflowAction] が
'Wrap'に設定されていて、出力のみがオーバーフローした場合も、シミュレーション結果は CMSIS ライブラリの結果と一致しません。この場合は、[OverflowAction] を'Saturate'に設定します。DSP System object の実装では、PIL またはハードウェア上の SRAM バッファーでオーバーフローが発生すると、エラーが発生します。
| DSP System object | サポートされているデータ型 | 入力/出力の要件 | プロパティの要件 | CMSIS 関数を呼び出すラッパー |
|---|---|---|---|---|
dsp.FIRFilter (DSP System Toolbox) |
|
|
|
|
dsp.FIRDecimator (DSP System Toolbox) |
|
|
|
|
dsp.FIRInterpolator (DSP System Toolbox) |
|
| なし |
|
dsp.LMSFilter (DSP System Toolbox) |
|
|
|
|
dsp.FFT (DSP System Toolbox) |
|
|
|
|
dsp.IFFT (DSP System Toolbox) |
|
|
|
|
dsp.VariableBandwidthFIRFilter (DSP System Toolbox) |
|
| なし |
|
dsp.FIRHalfbandInterpolator (DSP System Toolbox) |
|
| なし |
|
dsp.FIRHalfbandDecimator (DSP System Toolbox) |
|
| なし |
|
dsp.CICCompensationDecimator (DSP System Toolbox) |
|
| なし |
|
dsp.CICCompensationInterpolator (DSP System Toolbox) |
|
| なし |
|
dsp.DigitalDownConverter (DSP System Toolbox) |
|
|
|
|
dsp.DigitalUpConverter (DSP System Toolbox) |
|
| なし |
|
dsp.SampleRateConverter (DSP System Toolbox) |
|
| なし | サンプル レートを下げる場合:
サンプル レートを上げる場合:
|
dsp.SOSFilter (DSP System Toolbox) |
|
|
固定小数点入力の場合:
|
|