オーバーサンプリングまとめと、時間軸での補間 [audio theory and study]
オーバーサンプリングは、音を良くするというより最終段でのアナログのローパスフィルタの影響を回避するためのものである。PC上で事前に行うと(DACによっては)好結果が得られるのは、DAC内部でのオーバーサンプリングを回避できるからだと考えられている。DAC内でのオーバーサンプリング処理は、タップ数や演算精度が十分でなく、また昔のものだと、サンプリング周波数を4倍や8倍にするのにあたって2倍にする処理を重ねることで実現していたりと、いろんな点で制約が大きかった。
(最近のノンオーバーサンプリング再評価も、DACでのオーバーサンプリングに対する問題提起だ)
ネット上では、そのオーバーサンプリングを、時間軸上、ゼロ次ホールドではなく、補間によって行う手法をみかけるが、これは実際には補間したデータを聴くのではなくて、歪まじりのデータを聴いていることになるのだが、なぜかその点を見過ごした記述が多い。
時間軸上のデータ間隔密度を2倍にすると、その処理を行うだけで、拡張された周波数領域にノイズが折り返しひずみとして現れる。それまでにデータの存在しなかった部分に、前後のサンプルから類推したデータを当てはめても、そのノイズに対しての加算となるだけだ。
また、ローパスフィルタを適用する際、ゼロ次ホールドだと、たとえば4倍のオーバーサンプリングであれば、4つのサンプルのうち3つは0のためタップ数よりも積和演算の回数はずっと少ないが、時間軸上の補間後だと、すべてのサンプルに対して演算が必要という点も、意外と忘れられているデメリットだ。
(最近のノンオーバーサンプリング再評価も、DACでのオーバーサンプリングに対する問題提起だ)
ネット上では、そのオーバーサンプリングを、時間軸上、ゼロ次ホールドではなく、補間によって行う手法をみかけるが、これは実際には補間したデータを聴くのではなくて、歪まじりのデータを聴いていることになるのだが、なぜかその点を見過ごした記述が多い。
時間軸上のデータ間隔密度を2倍にすると、その処理を行うだけで、拡張された周波数領域にノイズが折り返しひずみとして現れる。それまでにデータの存在しなかった部分に、前後のサンプルから類推したデータを当てはめても、そのノイズに対しての加算となるだけだ。
また、ローパスフィルタを適用する際、ゼロ次ホールドだと、たとえば4倍のオーバーサンプリングであれば、4つのサンプルのうち3つは0のためタップ数よりも積和演算の回数はずっと少ないが、時間軸上の補間後だと、すべてのサンプルに対して演算が必要という点も、意外と忘れられているデメリットだ。
2020-03-22 15:02
nice!(0)
コメント(0)
コメント 0