組込みDSPの固定ポイントIIRフィルタのマスター化

固定点のデジタル信号プロセッサ(DSP)のInfinite Impulse Response(IIR)フィルタを実装すると、厳格な数値解析とターゲットハードウェアの深い理解の組み合わせが要求されます。 浮動小数点演算中に、数学を簡素化し、固定点は、高電圧、パワーコントレイント組み込みシステムのための優位性の選択肢を残します。 消費者イヤホンのアクティブノイズキャンセレーションから、産業におけるクローズドループモーター制御まで、安定した機能と、I-Cの制御を実装するには、これらの技術が必要です。 パフォーマンスの手順は、I-Cの制御を実装する機能が、これらの技術要件を満たしています。

IIRシステムにおける固定ポイント有リンジの設立

なぜ固定ポイントが組込みDSPを支配するのか

固定ポイントプロセッサは、フローティングポイントのカウンターパートよりも、シリコン領域と電力を大幅に削減します。 単一の16ビットマルチプライアキュム(MAC)操作は、単一の精密フローティングポイントMACに必要な論理リソースのほんの一部だけを必要とします。 バッテリー駆動装置やハイチャネル計算システムをターゲットとするアプリケーションでは、これは直接材料の法案(BOM)を下げ、運用寿命を延ばします。 固定ポイントアーキテクチャは、それらが重要なタスクを予測するために、決定サイクルサイクル数を数えるだけでなく、重要なタスクを予測することができます。

Q 形式と数値表現

固定点システムでは、小数点の位置が固定されます。 [ Q形式 は、整数と折れられた部分に何ビットが割り当てられているかを指定します。 Q15番号は16ビット合計(1符ビット、15 fractionalビット)を使用しており、-1.0から係数0.9999までの値が示されます。 A Q31番号は、この値を32ビットに拡張しますが、より長い精度は、例えば、FACR1.1.1.F.1.F.1.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.

固定ポイントIIRフィルタの重要な建築決定

直接フォームI対直接フォームII

フィルタの差分式のトポロジーは、数値性能に影響を与える単一の最も重要な決定です。 ダイレクトフォームII構造は、より少ない遅延ラインを使用しますが、再帰的なフィードバックセクションでフルフィルタゲインを集中します。 これは、状態が正しくスケールされていない場合、内部ノードが入力信号を超えて成長することができるため、内部のオーバーフローのリスクが高いを作成します。 ] は、フィードフォワードセクション(トランスフロー)と、より詳細な手順を[FLT]に分け、より詳細な手順を[FLT]と、より詳細な手順を[FLT]に示すようにします。

カスケードビクアッド規格

固定ポイントの実装は、単一の単数セクションとして、ハイオーダー(例えば、8番目の注文)転送機能に直接実現すべきではありません。 定量化へのフィルタ係数の感度は、フィルタオーダーで指数関数的に成長します。 ]]に転送機能を分割することにより、カスケードセカンドセカンダセクション(SOS)またはバイカード)は、棒は、複雑なコンファゲートセクションにグループ化され、初期のエラーが最小限に値する、最も高いレベルのシグと推定値が最大になる必要があります。

定量化とスケーリングのためのコア実装戦略

係数の量子化およびポーランド人の配置

二重精密で設計されたフィルタ係数は、ターゲット固定ポイントワードの長さに定量化する必要があります。 この量子化は、理想的なポールの位置を移動します。 フローティングポイントで完全に安定しているフィルターは、係数量子化後に余分に安定または不安定になることができます。 エンジニアは、ポスト定量安定性チェックを実行し、すべての量子化棒の大きさが1.0未満であることを検証する必要があります。 アナログ係数プロトタイプを事前警告して、バイリンガルの周波数変換の前に、必要なステップを交換する必要があります。

内部信号の成長およびスケーリングの管理

IIRフィルタの再帰性は、内部ノードの値を大きく成長させることができることを意味します。例えば、高Q共振器は、フィードバックループ内の100以上の要因によって小さな入力を増幅することができます。過流を防ぐには、入力スケーリング因子(論理シフトを右に限る)を導入する必要があります。標準のDF1の偏差の等方を考えてみましょう。

[]

からまでの転送機能の最大ゲインがGの場合、入力信号は(または2の近似の電力)で、フィードバックパスにオーバーフローを保証しなければスケールアップする必要があります。 より高い順序システムの場合、各バイクォードステージは、その最大の利益に基づいて独自のスケーリング分析を必要とします。

ワイドアキュムレータと飽和を重ねる

ほとんどの固定ポイントDSPは40ビットまたは56ビットの蓄積装置を備えています。この広いレジスタは、精密を失うことなく、マルチプライアライド操作の結果が蓄積されます。 40ビットの蓄積結果が16ビットまたは32ビットのメモリ位置に戻す必要があるときに、チャレンジが起こります。 2つのモードは存在します:ラッピングとサテレーション。 []]]]は、突然大きな負信号になるために大きな正信号を引き起こし、LTFATFの信号を出力する、最大解像度(LTF)または出力)を出力する。 [FLTFATFATTARTARTARTART]は、または出力されると、オーディオの動作の動作を出力する。

高度な数値的ピッタフォールと修復

サイクルとデッドゾーンを制限

固定点IIRフィルタは、ゼロ入力でも制限サイクルと呼ばれる自己持続的な振動を発揮することができます。 粒状制限サイクルは、再帰的乗算のエラーを丸めることによって引き起こされます。 製品の[が単語の長さに合わせて丸められているとき、丸みのあるエラーは蓄積することができます。 1つの標準的修正は、入力と状態変数が定義されたしきい値の下の場合には、状態変数は、完全にノイズを除去するか、または完全にノイズを除去するために強制的に調整することができます。 この機能は、ノイズフローを強制的に調整する機能が解除されます。

高精度・高機能なQ&Nの加工

狭い帯域IIRは、高Q因子を持つフィルタは、係数量子化に非常に敏感です。 分母係数の小さな変化は、中心周波数または帯域幅を大幅にシフトすることができます。 そのような場合、 格子フィルタ]または[[]]を使用して検討してください。 これにより、より計算の費用で低係数の感度が示されます。 さらに、二重段差計(16ビット)は、必要な長さをビット単位で指定できます。

検証と検証方法論

ビット・トラウシミュレーションとコシミュレーション

シミュレーションなしで固定ポイントの実装を信頼することは危険です。 エンジニアは、ハードウェアにデプロイする前に、ビットフルモデルによる正確な定量係数と固定ポイント算数操作を実行しなければなりません。 MATLAB固定ポイントデザイナーやカスタムCモデルなどのツールは、飽和とラウンドの本質を許容します。 理想的なダブル精密参照モデルに対する固定ポイントモデルの出力を比較すると、この要件を満たすのは、Wanse Squared Error (MSE) とピークエラー(MSE) および のパラメータ(Rounding ) が決定されます。 このシステムは、Q-NOSE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-SE-

ハードウェア・イン・ザ・ループ(HIL)のテスト

ターゲットDSPでフィルターが実行されると、検証はハードウェアドメインに移動します。 既知のテストベクターを注入すると、ユニットインパルス、クリティカル周波数でスイン波をステップし、マルチトーン信号をステップアップすることで、エンジニアがシミュレーションされた出力に対して実際のDAC出力を比較することができます。 出力の分光解析は、内部の飽和または制限サイクルによって引き起こされる予期しない調和歪みを明らかにすることができます。 標準的な慣習で、PCのホストの変数解析をバックアップする状態モードを実装します。

堅牢性のためのユニットテスト

生産コードには、エッジケースのユニットテストが含まれます。

  • [DC の安定性:]]] 一定した DC 値を注入し、定義された境界内で出力が解決することを確認します。
  • 最大振幅正弦波:] パスバンドエッジで本格的な正弦波を適用し、飽和が起こらないことを確認します。
  • ゼロ入力回復:[]]大入力を適用して削除します。 設定時間を測定し、制限サイクルを確定しません。
  • 流出回復:]] 蓄積器を飽和させ、信号が取り除かれるとき出力が滑らかに回復する信号を注入します。

コンテンツ

DSPチップ上に固定点の算数でIIRフィルタを実装することは、埋め込まれたシステムエンジニアの要求の厳しいが必須タスクです。 成功した実装は、アーキテクチャ(高順序セクション上のカスケードビクワッドを選ぶ)、スケーリング(有限ワードの長さの信号成長を管理する)、および検証(ビット真のシミュレーションと厳格なHILテストの活用)の3つの重要な分野における慎重な計画が必要です。 これらのベストプラクティスに従えば、エンジニアは、安定した性能を発揮し、その制約を発揮します。