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

パラメトリクス オーディオ イコライザーの固定小数点への変換

この例では、Fixed-Point Designer™ の固定小数点ツールを使用して浮動小数点システムを固定小数点に変換する方法を示します。

必要な MathWorks™ 製品:

  • MATLAB®

  • Signal Processing Toolbox™

  • DSP System Toolbox™

  • Simulink®

  • MATLAB® Coder™

  • Simulink® Coder™

  • Embedded Coder™

  • Fixed-Point Designer™

はじめに

このチュートリアルは、固定小数点ツールの機能の一部を紹介すると共に、浮動小数点システムを固定小数点に変換するために必要な手順を理解できるように設計されています。固定小数点ツールでは、浮動小数点モデルを固定小数点モデルに変換するために必要なほとんどのタスクが自動化されます。ワークフローの最初のステップで、固定小数点ツールからシステムに適した固定小数点の設定が提示されます。

この例では、dspparameqcodegenの例と同じ浮動小数点モデルを使用します。dspparameq の例と同じ検討事項とワークフローがここでも適用されます。

この例では、固定小数点ツールを使用して、dspparameqflt2fix モデルの Equalizer サブシステムを浮動小数点から固定小数点に変換します。これらのツールを使用してこの変換を行ったら、Equalizer サブシステムから固定小数点 C コードを生成し、調べることができます。

Equalizer サブシステムの検証

Equalizer サブシステムは、目的の周波数応答を実現するように係数を調整できる Biquad Filterブロックを使用した 3 つの 2 次型フィルターで構成されています。

次のユーザー インターフェイス (UI) をシミュレーションで使用して、フィルター係数を動的に調整できます。

フィルターは、複数の DSP System Toolbox™ Biquad Filter ブロックを使用して実現されます。既定の設定では、これらのブロックの固定小数点パラメーターは、ブロック入力から語長と小数部の長さを継承します。これらの設定はブロック ダイアログで確認できます。固定小数点ツールで固定小数点パラメーターの語長と小数部の長さを調整できるようにするには、それらを "2 進小数点スケーリング" に設定しなければなりません。それにより、ブロックでは語長と小数部の長さが開始値に設定されますが、それらをいつでも変更できます。その後、固定小数点ツールは、シミュレーション中にログが作成された最小値と最大値に基づき、精度を高め、オーバーフローを防ぐ新しい小数部の長さの設定を提示します。

この例には、3 つの Biquad ブロックの固定小数点パラメーターを "2 進小数点スケーリング" に変更するスクリプトが用意されています。さらに、このスクリプトでは、これらのブロックのアキュムレータ語長を一部の DSP ハードウェア プロセッサで使用される 40 ビットに設定します。

モデルを開いて、次のハイパーリンクをクリックしスクリプトを実行します。2 進固定小数点パラメーターの準備。スクリプトを表示するには、スクリプトを調べる をクリックします

モデルの固定小数点パラメーターの設定を変更するスクリプトがない場合は、手動で変更しなければなりません。そのためには、ブロック ダイアログを開き、[データ型] タブをクリックして適切な固定小数点パラメーターの設定を選択します。代わりに、独自のスクリプトを作成し、関数 set_param を使用して、固定小数点パラメーターの設定を変更することもできます)。

モデルの設定

モデルを固定小数点に変換する前に、信号のログを設定してターゲット ハードウェアを指定することをお勧めします。信号のログを記録することで、変換後に浮動小数点モデルの動作と固定小数点モデルの動作を比較できます。

固定小数点ツールでモデルのデータ型を推定する際、指定したターゲット ハードウェアの情報が使用されます。[コンフィギュレーション パラメーター] ダイアログの [ハードウェア実行] ペインで、[デバイス ベンダー]Texas Instruments に設定します。[デバイス タイプ]C6000 に設定します。このプロセッサのデータ型は 40 ビット長です。

固定小数点ツールを使用した固定小数点への Equalizer サブシステムの変換

固定小数点ツールを開くには、モデルのメニューから [解析]、[データ型の設計]、[固定小数点ツール] を選択します。ツールストリップの [システムの準備] セクションで、[設計対象のシステム] を Equalizer サブシステムに設定します。

1.ツールストリップの [範囲の収集] セクションで、範囲の収集方法を [シミュレーション範囲] に設定し、[準備] をクリックします。固定小数点ツールで、設計対象のシステムに変換プロセスとの互換性があるかがチェックされ、モデルで問題が見つかった場合は報告されます。可能な場合、固定小数点ツールによって互換性のない設定が自動的に変更されます。ツールで設定を自動的に変更できない場合は、変換プロセスを正常に完了するために手動で変更しなければならない設定が通知されます。

2.[範囲の収集] をクリックしてシミュレーションを実行し、シミュレーション中の最小値と最大値のログを固定小数点ツールで記録します。[シミュレーション データの可視化] を参照すると、モデルの現在のデータ型ではシミュレーション中にオーバーフローが複数発生することがわかります。

3.[データ型を推奨] ボタンをクリックします。固定小数点ツールにより、前の手順で収集された範囲を使用して、できるだけ高い精度を維持しながらオーバーフローを回避できるデータ型が推奨されます。

推定された小数部の長さの変更は、表の [ProposeDT] 列に表示されます。フィールドは編集可能であるため、推定された値を変更できます。推定された各データ型の左側にあるチェック ボックスがオンになります。推定された変更を受け入れない場合、チェック ボックスをオフにします。完了したら、[データ型を適用] ボタンをクリックします。

4.変換後の動作を固定小数点ツール使用前の動作と比較するには、[組み込み型によるシミュレーション] をクリックします。シミュレーション データ インスペクターを使用して、変換前と変換後にログを記録した信号の動作を比較できます。シミュレーション データ インスペクターを開くには、[信号の比較] をクリックします。

Equalizer サブシステムは固定小数点に変換されました。[終了時間] を inf に設定し、モデルを実行します。固定小数点周波数応答が表示されます。表示される内容は浮動小数点周波数応答と同じです。比較のために 2 つの応答を以下に示します。

Equalizer サブシステム用の C コードの生成

C コードを生成するには、「Generate Code for Equalizer Subsystem」ブロックをクリックします。次のハイパーリンクをクリックして、コードを生成することもできます。Equalizer サブシステム用のコードを生成する。モデルは、生成されたソース コードとヘッダー ファイルでの移動に使用できる HTML レポートを生成するように設定されています。

他のコード生成オプションの詳細は、dspparameqcodegen を参照してください。

その他の情報

Fixed-Point Designer の固定小数点ツールの使用の詳細については、固定小数点アドバイザーを参照してください。

DSP System Toolbox での固定小数点データの操作の詳細については、Fixed-Point Signal Processing Developmentを参照してください。