Main Content

シグマデルタ A/D 変換

この例では、シグマデルタ アルゴリズムの実装を使用したアナログからデジタルへの変換をモデル化する方法を示します。

浮動小数点のモデル例

固定小数点のモデル例

例の検証

オーバーサンプリングされたシグマデルタ A/D 変換器は、ノイズシェーピング量子化器として機能します。ノイズシェーピングの主な目的は、量子化ノイズのスペクトルを再整形し、音声アプリケーションの音声帯域など、関連する周波数帯域からほとんどのノイズを除去することです。主な目標は、ビット数よりサンプル数を優先する、つまり、サンプリング レートを上げてサンプルあたりのビット数を削減することです。その結果として増大する量子化ノイズは、ノイズシェーピング量子化器で補正します。この量子化器は、関連する周波数帯域から増大した量子化ノイズを押し出すので、望ましいレベルの信号品質が維持されます。ビット数の減少により、A/D 変換器および D/A 変換器の構造が簡略化されます。

この例で示すように、アナログ入力は、オーバーサンプリングによって構造が簡略化されたアンチエイリアシング プレフィルターによってプリフィルター処理されます。入力信号は、ファクター 64 でオーバーサンプリングされます。Integrator ブロック、1-Bit Quantizer ブロック、Zero-Order Hold ブロックは、2 レベルのアナログ デジタル コンバーター (ADC) を構成します。Zero-Order Hold ブロックの出力は、アナログ入力から減算されます。フィードバック (近似) ループでは、ADC によって生成された量子化ノイズがハイパス フィルター処理され、そのエネルギーは、より高い周波数 (64*fs/2) へ押し出され、関連する信号帯域から除去されます。間引き段階では、サンプリング レートが再び 8 KHz に減少します。このプロセスで、フィードバック ループで発生した高周波数量子化ノイズが除去され、単純なアナログ プレフィルターでは除去されなかったfs/2(4 KHz) を超える不要な周波数成分が除去されます。

間引き設計

この例バージョンでは、2 つの可能な間引き (デシメーター) 設計ソリューションを示しています。

浮動小数点バージョンモデルでは,3つのポリフェーズ冷杉間引きのカスケードを使用します。この方法では、次数の低いフィルターを使用することにより、単一の間引きと比べて計算やメモリの要件が低減します。各間引き段階で、サンプリング レートはファクター 4 ずつ減少します。フィルターによって導入されたレイテンシは、'Transport Delay' ブロックで適切な 'Time Delay' を設定するのに使用されます。フィルターの群遅延のため、3 つの FIR 間引きフィルターではそれぞれサンプル 16 個分のレイテンシが導入されます (実際の値は 15.5 ですが、サンプルの数は最も近い整数に丸められています)。間引き処理のために 3 つのフィルターで導入される合計のレイテンシは次のようになります。16 (最初のフィルター) + 4*16 (2 番目のフィルター) + 16*16 (3 番目のフィルター) となり、最終的には合計 336 の遅延になります。'Time delay' パラメーターの分母はモデルの基本レート (512 kHz) です。

固定小数点バージョンでは、5 セクションの CIC 間引きを使用して、浮動小数点バージョンと同様のダウンサンプリング レートを実現しています。FIR 間引きのような柔軟性はありませんが、CIC 間引きには乗算演算を必要としないという利点があります。CIC 間引きは、加算、減算、遅延のみを使用して実装されます。したがって、演算リソースが限定されているハードウェア実装に適しています。CIC 間引きでは 158 サンプルのレイテンシが導入されます。これは、フィルターの群遅延 (157.5) を最も近い整数に丸めた数です。これは、'Multistage CIC Processing Delay' ブロックの 'Time Delay' パラメーターに使用される値です。

使用可能な例のバージョン

浮動小数点バージョン:dspsdadc

固定小数点バージョン:dspsdadc_fixpt

参照

[1] Orfanidis, S. J.Introduction To Signal Processing, Prentice Hall, 1996.