随時更新します.
非公約数のサンプリングレートにリサンプリングすることの問題点
非公約数のサンプリングレートにリサンプリングすると,周波数領域で見たときにもともとピークのなかった周波数にピークが発生してしまう事があります.
例えば2048 Hzでサンプリングした時系列を500 Hzにダウンサンプリングすると,48 Hzの辺りに本来存在しないピークが発生します.これは公約数にリサンプリングするとき,例えば1024 Hzにリサンプリングするときには起こりません.
原因:
原因は特定中です.知っている方いらっしゃいましたらコメントで教えてください.
解決法:アップサンプリングしてからダウンサンプリングする.
例えば2048 Hz でサンプリングした時系列を500 Hzにダウンサンプリングする場合,500 Hz は 2048 Hz の公約数ではありません.そこで125を2048 Hz に掛ければ500 Hz を公約数に含むようになります.その後,500 Hzにダウンサンプリングすることで,本来存在しないピークが発生するのを防ぐことができます.ただし,その場合128000 Hz になるので現実的ではありません.そこで\(5^3\)を含み,かつ可能な限り\(2^N\)も含むような数字にアップサンプリングすることを考えます.このとき\(2^N\)の周波数の整数倍の周波数に偽のピークが発生することが分かっています.そのため注目する周波数よりも \(2^N\) が高くなるようにアップサンプリングしてからダウンサンプリングするのがおすすめです.
例えば100 Hz までの周波数に注目する場合は\(2^7 = 128\)に偽のピークが存在してもよいので\(2^7 \times 5^3 = 16000\)にアップサンプリングしてから 500 Hzにダウンサンプリングするといいです.
コメント