スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

256倍オーバーサンプリング ディスクリートDACを作りたい(2)

今日はFPGAロジックを作りこんでみました。
・256倍OS(オーバーサンプリング)デジタルフィルタ 実装
・1bitδΣ変調 実装(PCM->DSD256変換)

DSD256信号の後段にアナログフィルタを追加すればDACとして機能します。
これは、本命であるR-2R DACの音が良くなかった場合の、保険案です。



前回、デジタルフィルタを64倍OS化したソフトを作っていたのですが、
256倍化するにあたって、ロジックを整理しました。
OS倍数を上げていくと、デジタルフィルタのTap数と必要な乗算器もそれに比例して増大するので
(例えば8倍OS時に256Tapで設計したフィルタ特性を256倍OSで実現しようとすると、16384Tap必要になる)
それをコンパクトに圧縮することにしました。

せっかくなので、高倍率OSの効果を確認してみました。
↓は16倍OSデジタルフィルタに44.1kHzサンプリング・16kHz正弦波を入力した際のR-2R出力波形です。
256DAC_101.gif

↓は256倍OSの場合。波形が滑らかになっているのが分かります。
256DAC_102.gif

市販チップは8倍OSが標準的ですが、これを高倍率化することでアナログポストフィルタを軽くすることができます。
高い周波数領域の歪み特性も改善されます。


さて次。
1bitδΣ変調を実装してみました。

カニはδΣ変調については初心者です。
エクセルでロジックを確認しながら、実装してみました。

δΣ変調自体の概念は分かったつもりになりました^^;
しかし、カニは三次以上のδΣ変調の組み方が良く分かりませんでした。
ノイズシェーピングの効果を上げるには、高次のものが必須とのことですが。。。

例えば一次δΣの動作をエクセル上で確認してみます。
256DAC_104.gif
赤色が入力、水色がアナログフィルタを通した後の出力波形です。

次、二次δΣの動作です。
256DAC_105.gif

良く見ると分かりますが、出力の中央値付近(0.2~0.8)の波形歪みが減り、その代わり高周波ノイズが増えています。
また、出力の上下限付近の波形が崩れています。
高次δΣ変調は、上下限付近の動作が不安定になり易いようです。
(Σ部にリミット処理を入れれば良いのかな?)

で、三次以上のロジックの組み方が良く分かりませんでした。
現状ではサンプリング周波数をDSD256相当(11.2896MHz)で考えているのですが、
オーディオ帯域のS/Nや分解能を確保するには、二次以上であれば良いようです。
(良く理解できていませんが、調べてみると11MHz二次δΣの20kHzにおけるS/Nは約130dB、分解能は約18bit相当でしょうか)
市販品の次数は3~7次程度が多いようで、それらには性能的には負けますけれど。。。

で、とりあえず二次のδΣをロジック実装してみました。
すなわちPCM⇒256倍デジタルフィルタ⇒DSD256という、
リアルタイム変換としては世界初?(だと嬉しいな^^)の試みです。
256DAC_103.gif
デジタルフィルタ:最小位相タイプ、44.1kHzパルス入力にて、
黄色がR-2R出力波形、水色がDSD256出力をFc=25kHzの一次フィルタに通した波形です。

DSD出力は高周波ノイズが多いですね。1bitのノイズエネルギーは巨大です。
DSDはアナログフィルタを高次化しないと使え無さそうです。
突き詰めていくと、ElectrartさんのようなアナログFIRが最適な方策なのかもしれません。


今回はここまで。
次回はδΣとR-2Rを組み合わせてみたいと思います。
スポンサーサイト
Secret

プロフィール

カニ

Author:カニ
DACやアンプの自作がメインの、オーディオブログです。
自作基板の頒布も行なっています。カテゴリ「頒布」をご覧下さい。

ニアフィールドリスニングや、ポータブルオーディオにも手を染めたいんですが、いつになることやら。。。

繊細で柔らかい音
実在感のある音
を目指して、
ゆっくり、ゆっくり、潜航中。

カテゴリ

月別アーカイブ

最新コメント

検索フォーム

最新記事

リンク

カウンター

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。