2019年05月14日

FPGA版CD-4 demodulator

ソフトウェア版CD-4 demodulatorを作りましたが、レコードを聴くのにいちいちパソコンを接続して、というのも面倒な作業ですし場所も必要ですので、単体で動作するものをFPGAで作ってみました。
基本的にマルツパーツで入手できるもので作っています。
FPGAボードはMAX10-FB(SDRAMは使用していないので雑誌付録でも十分)
ADコンバータは旭化成のAK5720VT
DAコンバータは同じく旭化成のAK4386ETを前後で2石
です。できるだけ安価な部品で集めてみました。
以前作ったオーディオコンソールに内蔵させることも考えて、セパレーション調整等は
I2Cから制御するように設計していますが、簡易的にプッシュスイッチでも調整できるように
入力を準備しています。(ただし左右同じ設定にしかできませんが)

CD4-FPGA.jpg
御覧の通り、まだブレッドボードです。また、まだ実験段階でフロントADCは未接続ですがたぶん問題なく動いているでしょう。
ADC,DACは24bit/96kHzに対応のI2Sフォーマットのものであれば何でも使用できると思います。
一応、全回路24bit/96kHzで計算させていますので「ハイレゾ」になるのでしょうか。
ソフトウェアバージョンでは500msのバッファで処理をしていましたが、FPGA版ではフィルタでの遅延はありますがほぼリアルタイムで処理されます。
4chレコードという、昭和の時代の産物も、平成・令和も健在です。
release-CD4dem.190513.qar
posted by プー at 00:19| Comment(0) | オーディオ関連 | 更新情報をチェックする

2018年11月03日

CD-4ディモジュレータ改良版

CD-4の30kHzで変調されている差分側信号にはノイズ低減の為にANRS(≒dolby B)が
掛けられています。
今までANRSの復調回路は入れていませんでしたが高音が少し耳につくので
入れてみました。
音量レベルに応じ、高音のゲインを調整するのですが、高音だけ取り出し、
音量レベルに応じて元の音から引いて減衰させています。

併せて、ノイズ等をキャリアとして認識し、復調をしてしまわないように
一定期間連続してキャリアを検出しないと復調を行わないようにしましたので
レコードの始まり前と終ったあとの無変調部分当でのノイズ発生を抑制しています。
release.181103.zip
posted by プー at 20:28| Comment(0) | オーディオ関連 | 更新情報をチェックする

2018年08月01日

CD-4 4ch出力対応

CD-4デモジュレータをまともに使用するために音源を追加しました。
4CH以上の出力、2CH以上の入力があり、サンプリング周波数96kHz以上に
対応していればとりあえず動作する筈なのですが、接続が面倒なので
USBタイプの音源にしました。
AT互換機にそれなりに長く付き合っている人であれば音源=SBだ、
ということで購入したのはSoundBlaster X-Fi Surround 5.1 Pro
という製品を購入しました。
ですが、PCの裏に潜り込んでライン出力-アンプ間結線をし直すのは
やはり面倒だったので、とりあえずは入力デバイスとしてテストしました。
(オンボード音源が4CH出力にするとジャックを共有するライン入力が
使えないので、オンボードを4CH出力専用、SBを入力専用として使用)
もちろん、SBも出力デバイスとして使用できるはずです。

プログラムをちょこっと修正し、4CH出力に対応させました。
CD4demod.exe
動作しているときの画面はこんな感じです。
CD-4demod.gif
CD-4システムを使ったことがある人であればわかると思いますが、CD-4システムは調整が必要です。
30kHzレベル調整、左右セパレーション調整です。
それ以外に、音源(ライン入力)のゲインも個体差がありますのでゲイン設定(PreGain)も
調整してください。
最初に入出力デバイスを選択し、30kHz Levelを少し右に動かし、Startを押すと機能開始します。
(30kHzレベルが0のままだとFM復調が常時動作し、CD-4未再生時にホワイトノイズが出ます。
左右チャンネルのseparationを少し右に動かし、何でもいいのでレコードを再生させ、PreGainを
少しずつ右に動かし、レコードの音が歪む手前に持っていきます。
(セパレーションレベルが高くても歪むのでセパレーションレベルはほんの少しのレベル)
あとはCD-4調整レコードの指示通りに各レベルを調整すればいいと思います。
レベルメータも飾り程度につけていますがセパレーション調整の時にリア(下側)のレベルが
最小になるように調整すると便利だと思います。
posted by プー at 21:26| Comment(0) | オーディオ関連 | 更新情報をチェックする