その3 : 特殊な標本化周波数変換   08/28/2014

デジタル信号処理では、サンプリングレート(標本化周波数)を変換したいことが間々あります。
特にHi-Fiオーディオでは、CD(44.1kHz)とDVD/BD(48/96(/192)kH)のデータ交換にサンプリングレートの変 換が必要です。

通常、サンプリングレートの変換は、おおよそ以下の手順で行われます。
(1)元のデータを互いの標本化周波数の最小公倍数となる標本化周波数へアップサンプリング(データとして0を挿入する)する。
(2)(1)の結果を互いの標本化周波数の低い方のナイキスト周波数を遮断周波数とするデジタルLPFに入力する。
(3)(2)の結果を目的とする標本化周波数へダウンサンプリング(不要なデータを破棄する)する。
デジタルLPFが必要なのは、変換後の標本化周波数が高くても(1)のアップサンプリングでエイリアス(折り返し雑音)が重畳されるためで す。

さて、ここからが今日の本題です。
高精度なサンプリングレートの変換ってどこまでできるのでしょうか?
上記の手順で行うと、デジタルLPFを通過するためか、どうしても入力信号にはない周波数の成分が乗ってくるようです。
じゃあ、デジタルLPFを通過しなきゃいいの?というわけで、実験してみました。

1kHz正弦波のように標本化周波数と整数比になる信号では、必ずある周期でデータに0が現れます。
このようなケースでは、デジタルLPF不要で、低い標本化周波数から高い標本化周波数へサンプリングレートの変換ができます。
この特殊な標本化周波数変換の手順を以下に示します。
(1)0が現れる周期ごとにデータを上手いこと切り出します。
(2)(1)のデータ列をフーリエ変換します。
(3)(2)のデータ列をアップサンプリングします。
(4)(3)のデータ列を逆フーリエ変換します。
(5)(4)のデータ列をダウンサンプリングします。
実は(1)でちょっとおまじないが必要なんですが、大したことじゃありません。w
周波数軸上でアップサンプリングしてるのがミソです。

うーん、どうも眉唾っぽいっすよね。ウソくせぇって感じですか。
とりあえず論より証拠、結果は以下のとおりです。
上から、fs=44.1kHzの1kHz正弦波(入力信号)、fs=48kHzへの変換結果、参考までに直接生成したfs=48kHzの 1kHz正弦波信号の周波数特性(log)です。

fs=48kHzでは、fs=44.1kHzより1kHz正弦波に対して単純な整数比なので、直接生成すると量子化誤差の高調波成分しか重 畳していないことがわかります。
これに対し、特殊な標本化周波数変換を行ったほうは、fs=44.1kHzの1kHz正弦波で重畳している周波数成分が出ています。
入力信号にはない周波数の成分は高域で少し増えているようなので、参考までにリニアの周波数特性も取ってみました。

最後に、1kHz正弦波だけじゃ信用ならねぇっていう向きのため、4波混合(1kHz/2kHz/4kHz/8kHz)の結果です。
1kHz正弦波の時と同様な傾向を示していますね。

以上、演算量が莫大なので実用性には乏しいですが、あまり見かけないテクニックなので取り上げてみました。
どうしても高精度なサンプリングレート変換がしたいという時、適用できるか検討する価値はあると思います。


コラム へ戻る

ホームへ戻る