B22 FCA610のジッター

現在Linux (Ubuntu 13.10)でベリンガー  FCA610をUSB接続で使用するとclock sourceをUSB-Bus(SOF)に設定しないと安定動作しません。そうなるとジッター(jitter)はどうなのか? 簡単に調べてみました。

FIDELIX社 技術情報 を参考にしました。

FIDELIXのサイトからダウンロードしても良いのですが、GNU octaveを使って j-test signal を作ってみます。

jtest.m

a1=hex2dec("C0000000");
a2=hex2dec("40000000");
a3=hex2dec("BFFFFF00");
a4=hex2dec("3FFFFF00");

a1=a1-2^32;
a3=a3-2^32;
b1=[a1;a1;a2;a2];
b2=[a3;a3;a4;a4];
b1=b1/2147483647;
b2=b2/2147483647;
c1=[b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1];
c2=[b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2];

d=[c1;c2];
for n=1:16
  d=[d;d];
endfor
d(:,2)=d;
wavwrite(d,44100,32,"jtest44k32.wav");
wavwrite(d,48000,32,"jtest48k32.wav");
wavwrite(d,96000,32,"jtest96k32.wav");

a1=hex2dec("C000");
a2=hex2dec("4000");
a3=hex2dec("BFFF");
a4=hex2dec("3FFF");
a1=a1-2^16;
a3=a3-2^16;
b1=[a1;a1;a2;a2];
b2=[a3;a3;a4;a4];
b1=b1/32767;
b2=b2/32767;
c1=[b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1];
c2=[b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2];

d=[c1;c2];
for n=1:16
  d=[d;d];
endfor
d(:,2)=d;
wavwrite(d,44100,16,"jtest44k16.wav");
wavwrite(d,48000,16,"jtest48k16.wav");
wavwrite(d,96000,16,"jtest96k16.wav");

これで16bitと24bitのj-test signal のwavファイルが出来上がります。

jtest44k16.wavをCD-Rに焼いて適当なCDプレーヤーで再生して、FCA610で録音してみます。録音したwavファイルを適当に処理(今回はサンプル数2^20、kaiser窓beta=18)してグラフをプロットします。

linux ubuntu13.10 (alsa) clock:USB-Bus(SOF)

jitter1

Windows VISTA(asio) clock:internal

jitter2

結論
FCA610をUSB接続で使うならば internal clock が使えるwindows(asio)で使え!

ちなみに周波数特性を測定するのには少しくらいジッターがあっても問題有りません。

おまけ
AIT LABOブログ(JITTERの項)を参考にトグル信号14.4Hzのテスト信号も作ってみた。

jtest2.m


a1=hex2dec("C000");
a2=hex2dec("4000");
a3=hex2dec("BFFF");
a4=hex2dec("3FFF");

a1=a1-2^16;
a3=a3-2^16;

b1=[a1;a1;a2;a2];
b2=[a3;a3;a4;a4];
b1=b1/32767;
b2=b2/32767;

c1=[b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1;b1];
c2=[b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2;b2];
c1=[c1;c1;c1;c1;c1;c1;c1;c1;c1;c1;c1;c1;c1;c1;c1;c1];
c2=[c2;c2;c2;c2;c2;c2;c2;c2;c2;c2;c2;c2;c2;c2;c2;c2];

d=[c1;c2];
for n=1:11
  d=[d;d];
endfor

d(:,2)=d;

wavwrite(d,44100,16,"j2test44k16.wav");

2014年3月27日

目次へ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.