メインコンテンツ

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)
  • single

  • fixdt(true,32,31)

  • fixdt(true,16,15)

  • fixdt(true,8,7)

  • 実数入力

  • 実数出力

  • 入力と出力は同じデータ型でなければならない。

  • シングル/マルチチャネル

  • 入力と出力は同じデータ型でなければならない。

  • 入力と出力の係数は同じデータ型でなければならない。

  • 構造体: Direct Form

  • InitialConditions:0

'Direct Form' 構造体の場合:

  • NumeratorSource: Property または [入力端子]

'Lattice MA' 構造体の場合:

  • ReflectionCoefficientSource: Property または [入力端子]

Direct Form Structure を使用した固定小数点 FIR フィルターの場合:

  • FullPrecisionOverride: false

  • RoundingMethod: 'Floor'

  • OverflowAction: 'Saturate'

  • Q15 固有: フィルター係数の数は偶数かつ 4 以上でなければならない。そうでない場合は、末尾にゼロをパディングする。

'Direct Form' 構造体:

  • mw_arm_fir_f32

  • mw_arm_fir_init_f32

  • q7 形式の固定小数点入力:

    • mw_arm_fir_q7

    • mw_arm_fir_init_q7

  • Q15 形式の固定小数点入力:

    • mw_arm_fir_q15

    • mw_arm_fir_init_q15

  • Q31 形式の固定小数点入力:

    • mw_arm_fir_q31

    • mw_arm_fir_init_q31

dsp.FIRDecimator (DSP System Toolbox)
  • single

  • 実数入力

  • 実数出力

  • シングル/マルチチャネル

  • 入力と出力は同じデータ型でなければならない。

  • 入力と出力の係数は同じデータ型でなければならない。

  • Structure: Direct Form

  • AllowArbitraryInputLength: false

  • mw_arm_fir_decimate_init_f32

  • mw_arm_fir_decimate_f32

dsp.FIRInterpolator (DSP System Toolbox)
  • single

  • 実数入力

  • 実数出力

  • シングル/マルチチャネル

  • 入力と出力は同じデータ型でなければならない。

  • 入力と出力の係数は同じデータ型でなければならない。

なし
  • mw_arm_fir_interpolate_init_f32

  • mw_arm_fir_interpolate_f32

dsp.LMSFilter (DSP System Toolbox)
  • single

  • 実数入力

  • 実数出力

  • シングル/マルチチャネル

  • StepSizeSource: 'Property'

  • WeightResetInputPort: false

  • WeightsOutputPort: false

  • AdaptInputPort: false

  • LeakageFactor: 1.0

  • InitialConditions: 0

  • Method: LMS または Normalized LMS

  • arm_lms_init_f32

  • arm_lms_f32

    アルゴリズムが正規化 LMS の場合:

    • arm_lms_norm_f32

    • arm_lms_norm_init_f32

dsp.FFT (DSP System Toolbox)
  • single

  • シングル/マルチチャネル

  • 入力長は FFT 長と同じでなければならない。

  • FFTImplementation: Radix-2

  • Normalize: False

  • FFTLength: 16、64、256、1024

  • FFTLengthSource: 'Property'

  • WrapInput: True または False。入力長は FFT 長と等しくなければならないため、値は重要ではない。

  • mw_arm_cfft_init_f32

  • mw_arm_cfft_f32

dsp.IFFT (DSP System Toolbox)
  • single

  • シングル/マルチチャネル

  • 入力長は FFT 長と同じでなければならない。

  • FFTImplementation: Radix-2

  • Normalize: True

  • FFTLengthSource: 'Property'

  • FFTLength: 16、64、256、1024

  • ConjugateSymmetricInput: False

  • WrapInput: True または False。入力長は FFT 長と等しくなければならないため、値は重要ではない。

  • mw_arm_cfft_init_f32

  • mw_arm_cfft_f32

dsp.VariableBandwidthFIRFilter (DSP System Toolbox)
  • single

  • 実数入力

  • 実数出力

  • シングル/マルチチャネル

なし
  • mw_arm_fir_f32

  • mw_arm_fir_init_f32

dsp.FIRHalfbandInterpolator (DSP System Toolbox)
  • single

  • 実数入力

  • 実数出力

  • シングル/マルチチャネル

なし
  • mw_arm_fir_f32

  • mw_arm_fir_init_f32

dsp.FIRHalfbandDecimator (DSP System Toolbox)
  • single

  • 実数入力

  • 実数出力

  • シングル/マルチチャネル

なし
  • mw_arm_fir_f32

  • mw_arm_fir_init_f32

dsp.CICCompensationDecimator (DSP System Toolbox)
  • single

  • 実数入力

  • 実数出力

  • シングル/マルチチャネル

なし
  • mw_arm_fir_decimate_init_f32

  • mw_arm_fir_decimate_f32

dsp.CICCompensationInterpolator (DSP System Toolbox)
  • single

  • 実数入力

  • 実数出力

  • シングル/マルチチャネル

なし
  • mw_arm_fir_interpolate_init_f32

  • mw_arm_fir_interpolate_f32

dsp.DigitalDownConverter (DSP System Toolbox)
  • single

  • 実数入力

  • 実数出力

  • シングル/マルチチャネル

  • Oscillator: 'None'

  • mw_arm_fir_decimate_init_f32

  • mw_arm_fir_decimate_f32

dsp.DigitalUpConverter (DSP System Toolbox)
  • single

  • 実数入力

  • 実数出力

  • シングル/マルチチャネル

なし

  • mw_arm_fir_interpolate_init_f32

  • mw_arm_fir_interpolate_f32

dsp.SampleRateConverter (DSP System Toolbox)
  • single

  • 実数入力

  • 実数出力

  • シングル/マルチチャネル

なし

サンプル レートを下げる場合:

  • mw_arm_fir_decimate_init_f32

  • mw_arm_fir_decimate_f32

サンプル レートを上げる場合:

  • mw_arm_fir_interpolate_init_f32

  • mw_arm_fir_interpolate_f32

dsp.SOSFilter (DSP System Toolbox)
  • single

  • fixdt(true,32,31)

  • fixdt(true,16,15)

  • 実数入力

  • 実数出力

  • シングル/マルチチャネル

  • 入力と出力は同じデータ型でなければならない。

  • 入力と出力の係数は同じデータ型でなければならない。

  • Structure: Direct Form I

  • CoefficientSource: Dialog parameter または Input port

  • HasScaleValues: false ([CoefficientSource]Property (Not Dialog Parameter) または Input port に設定した後)

固定小数点入力の場合:

  • OverflowAction: 'Saturate'

Direct Form I 構造体:

  • mw_arm_biquad_cascade_df1_init_f32

  • mw_arm_biquad_cascade_df1_f32

  • mw_arm_biquad_cascade_df1_init_q31

  • mw_arm_biquad_cascade_df1_q31

  • mw_arm_biquad_cascade_df1_init_q15

  • mw_arm_biquad_cascade_df1_q15