如月
如月
田舎に引っ込んで土地は余っているから、広くて天井高けりゃ良かろうと、オーディオ部屋を建てたのは数年前。36畳で高さは平均5mぐらいなので、容積は300立米ほど。 六年近くかけて、DACその他の電…

マイルーム

うちの部屋
うちの部屋
持ち家(戸建) / 専用室 / オーディオルーム / 16畳~
 小屋裏はそのまま。高さ方向は五角形になる。  一階と二階にスピーカーを置く。聞くのは二階。二階の方が遙かに良い響きになるので。なので一階はウーハーのみになった。ベイマの45cmPA用。 …
所有製品
所有製品は登録されていません

レビュー/コメント

レビュー/コメントはありません

カレンダー

  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

最新のレス

日記
製品レビュー/コメント

製品レビュー/コメントへのレスはありません

お気に入り製品

お気に入り製品はありません

日記

サウンドブラスターのジッタは濡れ衣だった。

このエントリーをはてなブックマークに追加
2017年05月10日

 HPの53310Aでジッタを測ったら、サウンドブラスターだけが、かなり悪い結果になった。現象が出ているならば、五分五分で原因も分かる。自分で作っている機械ならば、100%分かる。他人の作った物はブラックボックスな部分があるので、確率は半分ぐらいに落ちる。運良くサウンドブラスターは、原因が分かった。あれは所謂ジッタではなく、濡れ衣だった。

 あんまり深入りしても仕方ない話ながら、ジッタと言うのは所詮ノイズ電力なので、敢えてジッタという分け方をする必要はない。SNのノイズは、通常THD+Nで表す。THDはTotal Harmonic Distortion、Nはホワイトノイズ的な残り。昭和の機械のようにメーターで見た場合、両者の区別はつかない。FFTでないと分からない。

 こじつけるならば、Harmonic Distortionでないのでホワイトノイズに分類されるスペクトルの中で、比較的大きいものは元の信号の時間軸をずらすので、ジッタ的なノイズ電力になる。Harmonic Distortionは、いつも同じ所に出て来るので、時間軸には影響しない。レベル的に小さなホワイトノイズも、影響しない。-80dBFSを超えると、少しばかり影響するかも。

 ただどうも誤解があって、元の信号が12kHzだと、ジッタと言われるものはその近くの12.001KHzとか11.999kHzと思いがち。RFで使う100MHzを超えるようなクロックではそうかもだけど、オーディオのように音声信号のせいぜい12kHz程度だと、そういう出方はしない。

 53310Aでは、被測定信号の立ち上がりの問題で、細かいデータは取れない。その替り、それなりの精度のADCがあると、被測定信号の周期が測れる。53310Aはコンパレーターでこれをやっている。コンパレーターは1ビットと言う話なので、些か条件に制約が出る。レコードのデジタル化に使っているADCのデータから、周期が測れないかとやってみたら、結構上手くいった。

 この平成型の周期測定ならば、被測定信号の立ち上がりの制約を受けない。デジタル化されているので、特定の周波数帯域に制限したりできる。そこで色々調べてみたら、まずはMME経由で出していたテスト信号の12kHzに、問題があった。これはWindowsのバグらしい。随分とサウンドブラスターは歪が出るなあとは思っていたが、元のテスト信号自体が歪んでいたというオチ。

 こんな状態になっている。赤と黄のスペクトルは、12kHzのHarmonics Distortionではないので、時間軸を揺らすことになる。所謂ジッタ。ただし、元信号の12kHzとは随分と離れている。離れているけれど、これが12kHzの周期をずらす。話はややこしくなるけれど、53310Aも平成型のADC方式でも、測っているのは一周期の時間。これはFFTなどで言う周波数とは別物。

 12KHzの約83.333μsecが83.339、83.323、83.345、という具合に揺れているのを測るだけで、ならば1/83.339≒11.999k、1/83.323≒12.002k、1/83.339≒11.998kのスペクトルを持つという話ではない。もしも12kHzと11.999kHzのスペクトルを測るのであれば、原理的に最短でも1秒の時間が必要。83.333μsecが83.339μsecになったとしても、1Hzの分解能とは無関係。

 1秒は待てないので、便宜的に一周期を測っている。勿論、そこでいつも同じ周期になっているならば、時間軸のずれはない。1Hzの分解能には、必ず最短でも1秒の時間が必要。ともあれ、サウンドブラスターがボロボロだったのは、測定用信号の12kHzに整数倍ではないかなり大きなスペクトルが含まれていたから。

 ならばデジタル化されたADCを活かして、その余計なのを取ってしまう。まずは20kHzぐらいに制限して、赤の32kと40kを消す。更に、12kHz±500Hzぐらいの帯域制限をして、テスト信号の近辺だけにしてしまう。そうするとこうなる。

 青は前回の測定とほぼ同じ。かなり時間軸が揺れている。でもその原因は、32k、40k、20k、4.2kの周波数成分。赤で20kHzに制限すると、20kと4.2kのみになるので、かなり良くなる。12kHz±500Hzの緑は、全く問題なし。0.01nanosecぐらいのズレなので、1ppm以下。そこまでの精度で測れているかは疑問だけど、測定値はその位に収まってしまう。

 もしも12kHz±500Hzの範囲に余計なスペクトルがあると、それは時間軸の変動になる。この状態でジッタが全くないというのは、この範囲に余計なスペクトルはないという事。周期の測定でスペクトル解析は出来ないけれど、余計なスペクトルのあるなしは分かる。この結果は、ないと言っている。

 ないというのは、FFTでも測れるように自作のDACに少し細工をした時にも、確認している。USB接続で条件の悪いサウンドブラスターでも、どうやら出ない。時間軸の揺れは、高調波ではないスペクトルで発生する可能性があって、それをジッタと思いがちだけど、それは元信号とは離れた所にいる。ノイズ電力であっても、世間的意味合いのジッタではないと分かる。

 時間軸の揺れを細かく調べるのであれば、やはり53310Aのように一周期を測る方が良い。FFTでは、勘違いする可能性が高い。FFTは、ほとんどの場合で窓関数を使う。窓関数なしでは誤差が大きいので仕方ない。でも勿論、窓関数を使っても誤差は出る。つまり、原理的に細かい精度は出ないという事。これを見れば、百聞は一見に如かず。

 緑のような信号のスペクトルを調べる時、これは始まりと終わりが同じ値ではないので、周期性のない信号。たまたま運良く周期的になるのは、意図的にそうしている場合のみで、自作DACならば、その環境を作れなくはない。そうしてあれば、周期信号として扱えるので、窓関数は不要となり精度が出せる。そうでない場合は、元が緑でも赤のような信号を解析している。

 赤は始まりと終わりがゼロになっているので、周期性がある。なので誤差は少なくなるけれど、緑と赤はどう見ても同じではない。本来の緑とは違う結果になるだろうことは自明。でも仕方ない。この誤差を考えても周波数解析できる意味は大きいので、実用的にこんな窓関数を使っている。

 誤差の出方は、FFTの次数に依存する。エクセルの場合、4096次まで。緑に窓関数を掛けた赤を2048と4096で計算すると、こんな具合。緑は27から28ぐらいの周波数になっているので、そこのレベルが一番高い。でもそれ以外に広がってしまう。4096の方が2048よりも広がりが少なくて、本来の数字に近くなる。0.001以下をないとするならば、23から32の間で、27あたりが一番高そう。4096次だと、その位の誤差。

 音声編集ソフトのFFTは、もっと次数が高い。RX-4だと、1024k次まで。間違いなくジッタのあるレコードと、DACとを64k次で比べると、こんな感じになる。96kサンプリングなので、96/64≒1.6Hzの分解能。このぐらいだと、あんまり両者に差がないように見える。誤差の関係で、そう見えているだけ。

 1024k次まで上げると、こう。白のレコードは、64k次と比べて大差ない。既に誤差のない所まで64k次でも来ているので、1024k次に上げる必要はない。DACの方は、大きく変わる。64k次では、誤差の影響で本当の状態が見れていない。1024k次でも、多分まだ足りない。もっと上げられるなら、スペクトルはもっと急峻になるはず。

 窓関数なしで測れる環境だと、96/1024≒0.1Hzの分解能で見れる。Rectangularは、DFFTでは窓関数なしの意味になる。深入りしても仕方ないけど、コンピューターで使うのは、DFFT。コンピューターでは有限個数の計算しかしないので、DFFT。FFTは、数学的な話なので一般的に無限個。Rectangularは、FFTとDFFTで意味合いがかなり違う。大抵はFFTとしての説明なので、話がややこしくなる。

 解説書は数学的な話が多いので、あんまり実用的でない。実用的なのはこれぐらい。
http://www.fbs.osaka-u.ac.jp/labs/ishijima/FFT-01.html
数学的過ぎるけれど、一番良さそうなのはこれ。。
https://www.onosokki.co.jp/HP-WK/c_support/newreport/analyzer/index.htm#menu

 これは12kHzの近くのスペクトルが影響を受けているかを調べるために、
4*(96/1024)≒0.4Hz間隔ぐらいで、スケールが入っている。ほんの少し変化があるけれど、ないのも同然。帯域を12kHz±500Hzに制限すると、そこに余計なスペクトルがない事は、このFFTからも分かる。但し、一般的なDACでの測定は出来ないので、53310Aのように一周期を追いかける方が汎用的。結果は勿論同じ。

 たまたまWindowsのバグで、サウンドブラスターを詳しく調べる。レコード用のADCは、やはり相当に応用が効く。結論として、時間軸が揺れてしまう機械はある。それはジッタ性のノイズ電力と言えなくもなし。一般的に言われているような時間軸変動は、サウンドブラスターにもない。FFTの誤差をジッタとしている可能性が高い。電子機器の時間軸は、電子式と機械式の時計を考えると、大体の見当はつく。

 安物のクオーツでも、機械式より二桁は良いのでなかろうか。電子部品の中で、クリスタルは抵抗やコンデンサと比べると、飛び抜けて精度が高い。なのでクリスタルでシステムの性能が制約されることはない。長年やっていても、そんな例を見た事はない。音声も然り。商売の道具として、ジッタと言うのは便利な言葉であるのは間違いない。オチは、ジッタのジッタいは如何に、かな。




次回の日記→

←前回の日記

レスを書く

レスを書くにはログインする必要があります
ログインする