最初のページ 戻る 次へ 最後のページ 目次 図
出力品質の評価方針
試作品を使用してみて、聴感上で再生品質向上が認められた
数値評価を試みた
- 方針
- 各D/A変換方式をシミュレーションする8xオーバー・サンプリング・フィルタを作成し、44.1kHzfsでSIN波入力した定常状態において出力をFFT変換する。FFT変換結果からS/N比を計算する。
- 比較対象の各方式は仕様に非公開の部分も含むため、一部仕様をこちらで想定した。以下に想定条件を示す
- Burr Brown方式のFIRフィルター仕様はこちらで想像して1023TAP, 16bitx16bitとした
- DAC7方式の掛け算は20bitx22bitで非対称である。CDDAの計算精度が高くなる手法としてデータ20bit、フィルター係数22bitとした。
- フィルタの定数は、bit長とTAP数を元に、独自に計算した
- フィルタ計算結果のbit長は、データとフィルタのbit長の長い方に合わせた。ただし、計算途中結果がオーバー・フローすると困るので、途中結果のbit長が一時的に長くなることを許した。
- 各方式のオーバサンプリングLPFフィルタには、周期パルスではなく階段状の波形を入力した(8xオーバサンプリング時に、元データ1個と7個の0を入力とみなす方式があるが、本方式は元データのコピーを8個並べた)
- 各フィルタのシミュレーションにおいて、FIR係数の最大値がそのLSIで扱える整数の最大値に近くなるようスケーリングした。計算結果のビット長は、加算時にフィルタ精度を一時的に超え、後に丸められる。
- ビット長を丸めるときは、単純四捨五入で正負が非対称になるのを避けるため、絶対値であつかった。
- 評価手段に独自工夫を加えた。
- FFTにおいて窓関数を使わずに計算した。
- 本来フーリエ変換は、周期関数の処理にのみ定義される。ダイナミックに変化する信号を無理矢理周期関数として扱えるようにする手段が窓関数だった。SIN波入力をFIR処理している定常状態ならば、出力が周期関数なので窓関数が省略できるはず。
- FFT計算は、計算に使用するサンプル個数を2のべき乗にすると都合が良い。
- SIN波入力で定常状態を作り、FFTサンプル数を入力SIN波周期の整数倍にすれば、周期関数になる。単なる整数倍ではなく、2のべき乗倍ならば、計算に有利である。
- PWMシミュレーションのノイズシェーピングによってデータのオーバーフローが発生しないように、入力振幅は最大振幅の0.9倍とした。
- D/A変換直後の信号と、さらに20kHzオーバーの信号をカットした場合を計算した
- 20kHzオーバーの信号をカットする際は、遮断域全体でゲイン-∞の理想的フィルターを想定した
評価結果を次スライド以降に示す。