人気ブログランキング |

ジッタクリーナの実験②実践編

DACに組み込んで動作確認と測定を行いました。



【組み立て実装】
回路図等は前回の記事をご参照願います。
再現実験が可能な手法という事で、変換基板とユニバーサル基板で組みました。
CS2000-CPは0.5mmピッチ10ピンです。ハンダ付けの技能は最上級の事。(爆)
拡大鏡も必要です。ヘッドバンド型とか眼鏡に装着するタイプは便利ですな。
(iPodTouchの画面も拡大鏡が無いと見えないんですよ当方は。)
他には、基板が小さすぎるので動かない様に固定する必要があります。
当方は秋月の変換基板を使いました。
こんな感じです。裏に付いてるチップは10uF。
e0298562_11435814.jpg

次に、DAI基板とDAC基板を連結するジョイント基板のコネクタを利用します。
足りないのは3.3V電源と12MHzクロックですな。
3.3VはDAC基板よりもDAI基板の方がノイズが少ない様なので、
3.3VはDAI基板からもらいます。銅箔カットとか配線も必要ですな。
e0298562_11442435.jpg

後は現物合わせでユニバーサル基板に回路を組みます。
マイコンはソケットを使用し書き込みミス等に対応します。
スペースが無いのでマイコンは裏に実装しました。
e0298562_11455182.jpg

表側もくみ上げて、ジョイント基板の代わりに装着してみました。
e0298562_1146417.jpg

ピンヘッダは機能設定用ですな。下側からSW1〜SW4の並びです。
写真のジャンパーピンでは128Hz、スルーの設定ですな。


【基本動作の観測】
ジャンパーピンのスイッチをいじくって正しく機能する事を確認します。
と言いましても、SW3、SW4の設定に付きましては差が判りません。
AUX_OUTとCLK_IN(DAIのMCK出力)を同時に観測します。

まずは周波数が同じかどうかですな。次に同期(位相)ですな。
周波数が同じなのに位相関係がズレズレならば機能していると思います。
まずは44.1kHzサンプリング時です。256fsなのでSCKは11.2896MHzです。
e0298562_11485592.png

動作は問題ありませんな。
このまま何もいじらずに、SPDIF信号を切り変えします。
CDプレイヤーからパソコンに変更しまして、
48kHzサンプリングと96kHzサンプリングを見てみます。
e0298562_11494193.png

e0298562_11495217.png

任意の周波数に自動的にPLLロックしますな。
ところで、PLLロックするまでの時間はどのくらい掛かるのでしょう?
予想に反して激早です。(爆)
e0298562_11501310.png

ジッタクリーナがあっても無くても同じ様に違和感無く使用出来ますな。

あとは音を聞いて判断しましょう。プチ音とか変な音がしない事を確認します。


【ジッタの改善具合】
CS2000-CPのデータシートの、スペックの項目にPeriod Jitterが載っています。
70ps rmsですか? 数値だけの判断ですがVCXOと同程度なのかも知れませんな?
ピリオドジッタを当方のオシロで測定出来るかやってみましたが不能でしたな。
そういう訳でして、やっぱり狭帯域のスペアナを使う事になりました。
スペアナでの測定になりますと、ジッタじゃなくて位相ノイズの確認になります。
e0298562_11513483.png

クリーニングした波形もスルー波形も、同じCS2000-CPのAUX_OUT端子です。
同じICの同じ端子波形ですから測定条件は平等で信用出来る結果と思います。
まずはジッタ性能が悪いと思われるiPodTouch + AirPlayです。
(図をクリックで拡大できます。)
e0298562_11515876.png

何だ、はっきり改善効果が測定出来るじゃありませんか。
10dBくらい改善してますな。スプリアスの方は30dBも効いてますよ?
次は音が良かったDVDプレイヤーも見てみました。
e0298562_1152286.png

AirPlayとの差は5kHz以内の近傍の暴れが大きい様ですな。
それ以外にはピーク(スプリアス)の差がありますね。

更なる近傍についてはこの様になります。
e0298562_11525056.png

AirPlayを使用した時の暴れは押さえられる様です。
しかし完璧でも無い様なので、ジッタクリーナを入れっぱなしはどうかと思います。
当方はスルーとクリーニングの切り替えスイッチをフロントパネルに設けました。
普段はクリーナ状態のままと思いますが、お遊び機能と言う訳です。


【更なる測定】
ここからは変わった計測ツールを使用して確認してみようと思います。
まあAPB-3の機能に備わっているFMアナライザーという物も使ってみました。
けっこう使えるツールかも知れませんよ。おじさん工房の人に感謝ですな。
早速ですが測定結果です。
e0298562_11534225.png

e0298562_11535484.png

e0298562_11541171.png

e0298562_11542331.png

けっこう差が出ますな。時間軸に対しての周波数変動幅が見れる訳です。

さて、APB-3をFMアナライザーにして測定ですが、よく調べると
同時に背面のミニジャックから周波数変動成分が出て来るみたいです。
しかもリアルタイムですよ。
下図の様にして確認しました。
e0298562_11544539.png

(パソコンを分けたのはGNDループの影響があったためです。)
まあこんな波形として確認出来ました。
e0298562_1155322.png

e0298562_11551568.png

これは周波数ドメインに変換して見る事が出来る訳ですな。
1kHz以上で10dBくらいの改善、ヒゲ状の変動は30dB程度の改善です。
スペアナ測定と関連性がある感じですな。
1kHz以下の帯域が変化ありませんが、まあレベルが小さ過ぎです。
APB-3のFMアナライザーとしては測定が難しいレベルの気がします。


【その他】
CS2000-CPは入力のSCKを2倍の周波数にして出す事も出来ます。
現状で256fsですから512fsも可能という事ですな。
その辺の設定は「32bitレシオ」の値を2倍にする等で実現可能です。
当方も実験してみましたが、実際にやってみると1倍の時よりジッタが増えます。
音も何だか悪くなった様な気もします。これはNGです。
というわけでお勧め致しません。
よってhexファイルは公開致しません。

具体的にはこんな感じです。ご興味のある方だけ見て下さい。
赤字が変更部分です。その他の部分の説明は前回記事を参照して下さい。

// pic12f509 i2c CS2000-CP設定Ver.2
// SCK周波数を2倍に設定可能なバージョン
// ①ピン=VDD、⑧ピン=GND

#include <12f509.h>
#fuses INTRC,NOWDT,NOPROTECT,NOMCLR
#use delay(clock=4000000)
#use i2c(MASTER,SDA=PIN_B5,SCL=PIN_B4,SLOW)

int i,j,k,q;   //qを追加
short m,n,p;

void main()
{
 set_tris_B(0x0f);
 output_float(PIN_B5);
 output_float(PIN_B4);

 if(input(PIN_B0))
  i=(0x10);
 else
  i=(0x08);

 delay_ms(200);

 while(1)
  {
   m=input(PIN_B1);
   n=input(PIN_B2);
   p=input(PIN_B3);

   if(m)
    j=(0x05);
   else
    j=(0x03);

   if(n) //⑤=HIなら
   k=(0b00000000); //PLLバンド幅は1Hz
   else //⑤=LOなら
   k=(0b01110000); // 128Hz その他は省略

   if(p) //④=HIなら32bitレシオ0を使用
   q=(0b00000001); //LockClk=00、FracNSrc=1
   else //④=LOなら32bitレシオ1に切り替え
   q=(0b00000011); // LockClk=01、FracNSrc=1


   delay_ms(50);

   i2c_start();
   i2c_write(0x9C);
   i2c_write(0x81);
   i2c_write(0x00);
   i2c_write(0x00);
   i2c_write(j);
    i2c_write(q); // 04h ④ピン設値定=qの値を送信
   i2c_write(0x01);
   i2c_write(0x00);
   i2c_write(0x10);
   i2c_write(0x00);
   i2c_write(0x00);
    i2c_write(0x00); // 0Ah 32bitレシオ1 →2倍 00 20 00 00
    i2c_write(0x20); // 0Bh
    i2c_write(0x00); // 0Ch
    i2c_write(0x00); // 0Dh

   i2c_write(0x00);
   i2c_write(0x10);
   i2c_write(0x00);
   i2c_write(0x00);
   i2c_write(0x00);
   i2c_write(0x10);
   i2c_write(0x00);
   i2c_write(0x00);
   i2c_write(i);
   i2c_write(0x08);
   i2c_write(k);
   i2c_stop();

   while(1)
    {
    if((m!=(input(PIN_B1)))||(n!=(input(PIN_B2)))||(p!=(input(PIN_B3))))
    break;
    }
  }
}





【音質について】
効果が判りにくい録音がほとんどですがまあ色々聞いてみましょう。
PLLバンド幅1Hz〜128Hzの差は気のせいレベル。1Hzに固定で良いかと思います。
距離感とか奥行き方向の空間の音が改善する様です。リアルになりますな。
やっとiPodTouchでも楽しめる様になりました。
めでたしめでたし。

当然ですがテストトーンなのに残響が聞こえるとかは無しにして下さい。(爆)
狭い6畳間で残響が聞こえる謎の現象? サラウンドはOFFですよ!(爆)
そうじゃなくてテストトーンはそれなりに味気なく鳴る訳です。
しかし別の録音を再生してみれば、空間ごと録音現場にワープした様なリアルさ。
まあ録音に依りますし、ジッタが改善してもアナログ部が悪けりゃ駄目でしょう。
当方の気のせいですよ。(爆)



【注意事項】
実験は自由ですが、当方の検討結果とか考案の回路を勝手に採用しないで下さい。
記事を鵜呑みにせずご自身で実験評価して下さい。当方は一切サポート致しません。

以上です。










いや〜、色々聴いてみてますが、ジッタクリーナの音質改善効果は確かな様です。
当方所持の機器と比較してみても、最も高音質に仕上がってますよこれは。
元の音には戻れませんな。
by ca3080 | 2013-11-16 12:52 | オーディオ&電子工作
<< 計測ツール①20kHzLPFと... ジッタクリーナの実験①ソフト編 >>