SSDAC

スーパーサンプリングD/Aコンバータ(SSDAC™)について

2023年11月 7日 (火)

SSDAC128 and デジタルRIAAイコライザ デュアル基板(基板頒布あり)

Dpeq_titlepic

前回の記事で、SSDAC128_I2S基板に装着するデジタルRIAAフォノイコライザ・サブ基板を発表しました。

これは従来のSSDAC128_I2S基板のFPGA回路を、デジタルRIAAフォノイコライザに書き換えることで実現しました。
従来通りAmaneroCombo384からのUSB入力で信号再生可能ですが、AmaneroCombo384の代わりにデジタルRIAAフォノイコライザ・サブ基板DPEQ000を装着することにより、レコードプレイヤーから直接入力ができ、リアルタイムでの再生が可能です。
ただし、デジタルRIAAフォノイコライザとして使用するためにFPGAの書き換えが必要で、再びSSDACとして使用するには再度FPGAをSSDACに書き換える必要がありました。

今回は、SSDAC128_I2S基板で使用するFPGAを、10M08SCE144C8Gから10M08SAE144C8Gに変更することで、SSDACとデジタルRIAAフォノイコライザ回路の両方を実装し、電源投入時のDIPスイッチの設定で選択できるようにしました。生基板は従来と共通のSSDAC128_I2S基板です。

レコードファンにとってはかなり便利になったと思います。
また、デジタルRIAAフォノイコライザ・サブ基板DPEQ000にはカートリッジ出力をプリアンプで増幅した信号がRCAで出力されているので、レコードの生音をパソコンでリッピングするときに便利で、レコードの生音を使ったソフトウェアフォノイコライザの検証などに役立ちます。

この記事の下の方にすべての資料とFPGAのオブジェクトファイルを公開します。自力で製作したい方は次の手順で行ってください。

①回路を組む
回路図を参照して、回路を組んでください。
ユニバーサル基板でもできると思いますが、回路規模を考えると、生基板を購入されることをお勧めします。
FPGAは10M08SAE144C8Gです。従来の10M08SCE144C8Gではないので購入時に間違えないように注意してください。
SSDAC128_I2S基板は、従来と比較してジャンパ配線が一箇所、LEDと抵抗をそれぞれ3個ずつ追加となります。資料を参照してジャンパ線と部品の追加を行ってください。

②FPGAにオブジェクトファイルを書き込む

PCと製作した基板をダウンロードケーブル(USB-Blaster)で接続し、FPGAにSSDACとRIAAイコライザのデュアルブートが可能なオブジェクトファイル(SS_RIAA.pof)を書き込みます。このオブジェクトファイルはデュアル・コンフィギュレーションのオブジェクトなので、QuartusPrime Programmerで図1のように、CFM0,CFM1の2つにチェックを入れて書き込みます。


Ssdac_riaa_write
図1.QuartusPrime Programmerによる書き込み
     CFM0とCFM1にチェックを入れて書き込みます。


これで、電源投入時のDIP SWの設定によってSSDACとRIAAフォノイコライザが選択できる基板の完成です(^-^)

詳しい仕様は、以下の資料をご参照ください。

製作マニュアル(SSDAC128_I2SDual)
図表(SSDAC128_I2SDual)
取扱説明書(SSDAC128_I2SDual)
電気学会論文

製作マニュアル(DPEQ000)
図表(DPEQ000)
取扱説明書(DPEQ000Dual)

FPGAオブジェクトファイル(10M08SAE144C8G用)


次の5種類を頒布します。(すべて税、送料込み)

①全部品実装基板セット(SSDAC128_I2SDualとDPEQ000のセット) 77000円
・全部品を実装し、動作確認済みの基板セットです。
・AK4490にはAK4490REQを使用しています。
・Amanero COMBO384は含まれません。
・すべて手実装です。
・DPEQ000のOPAMPはNJM4556AD。
・納期:2週間程度(受注生産)

②全部品実装基板(SSDAC128_I2SDualのみ) 72000円
・全部品を実装し、動作確認済みの基板です。
・すべて手実装です。
・納期:1週間~10日程度(受注生産)

③書き込み済みFPGA実装基板SSDAC128_I2SDual 27000円
・書き込み済みFPGAのみ搭載した基板です。
・すべて手実装です。

・納期:1週間程度(受注生産)

④全部品実装基板セット(動作確認済み)、AmaneroCOMBO384、電源トランスセット 98000円
・全部品を実装したSSDAC128_I2S基板、DPEQ000基板およびAmaneroと電源トランスのセットです。
・すべて手実装です。
・AC電源ケーブルおよび電源スイッチ、ヒューズ等はご用意ください。
・納期:2~3週間程度(受注生産)

⑤生基板セット 4700円
・AK4490EQおよびAK4490REQに対応したSSDAC128_I2SとDPEQ000の生基板セットです。
・生基板のみの販売です。FPGA用pofファイルをダウンロードしてお使いいただけます。
・納期:3~5日程度


購入ご希望の方は表題に「SSDAC_RIAA基板頒布希望」とお書きのうえ、
dj_higo_officialアットhigon.sakura.ne.jp(アットを@に換えて)までメールにて
お申し込みください。
※ご希望のセット番号と、お名前、ご住所、電話番号をお書きください。
折り返し、代金振込先等のご案内をお送りします。

製造・頒布はSLDJ合同会社が行います。

| | | コメント (0)

2023年10月28日 (土)

デジタルRIAAフォノイコライザ・サブ基板(基板頒布あり)

Dpeq_titlepic
写真1.デジタルRIAAフォノイコライザ・サブ基板を搭載したSSDAC128_I2S基板
128倍スーパーサンプリングD/Aコンバータ基板SSDAC128_I2Sに対し、サブ基板を追加して、FPGAを書き換えることでデジタルRIAAフォノイコライザを構成しました。


【参考記事】
RIAAフォノイコライザをIIRデジタルフィルタで実装する ①準備編
RIAAフォノイコライザをIIRデジタルフィルタで実装する ②係数計算編
RIAAフォノイコライザをIIRデジタルフィルタで実装する ③シミュレーション編
RIAAフォノイコライザをIIRデジタルフィルタで実装する ④実装・評価編
RIAAフォノイコライザをIIRデジタルフィルタで実装する ⑤Octaveによる位相検証


以前、FPGAによるデジタル回路でRIAAフォノイコライザを構成する検討しましたが、今回はその総集編として、SSDAC128_I2S基板にサブ基板を追加する形でデジタルRIAAフォノイコライザを製作しました。ADCスペックは96kHzサンプリング24bitです。

もともと、デジタルフィルタでフォノイコライザを製作することにはあまり意味がないと考えていました。
というのは、レコードをよい音で聞こうと思ったら、まじめに作ったCR型のフォノイコライザを通して、アナログアンプで増幅して聴けばよいと考えていたからです。
それなら、なぜデジタルRIAAイコライザを作ったのかというと、デジタルフィルタとFPGA(VHDL)の練習をするのにとてもよい課題だと思われたからです。
当時バラックでデジタルRIAAイコライザを組み立てて、動作を確認してデータをとり満足したので、もう作る必要はないと考えていましたが、SSDAC基板が完成した今、USB入力インタフェイスであるAmaneroの代わりに、I2Sを出すことのできる小基板を載せれば、SSDAC基板は汎用のオーディオDSP基板として使えるということに気がつき、その応用例としてデジタルRIAAフォノイコライザを作ってみました。

実際に作って音を聴いてみると、思いのほか音がよいことに驚きました。
アナログでフォノイコライザを組む際には、イコライザ回路に使うコンデンサに何を選ぶかに悩まされ、ここでお財布とも相談する必要があったりします。
その点デジタルフォノイコライザでは、コンデンサはカップリングとパスコンや平滑コンしかないのであまり悩む必要はなく、主に音質に影響を与える部品はプリアンプのOPAMPにほぼ限られ、ソケットにしておけば後から変更も可能です。
今回はプリアンプの出力をRCAで取り出せるようにしたので、パソコンにつないでレコードの生音をリッピングして、パソコンのソフトでイコライザの検討をするなど、いろいろな応用ができます。

今回製作したサブ基板を写真2に示します。

Inout1114
写真2.デジタルRIAAフォノイコライザ・サブ基板

このサブ基板を、SSDAC128_I2S基板のAmaneroの代りに挿し、FPGAの回路をデジタルRIAA回路に書き換えることで、デジタルRIAAイコライザ基板として使えるようになります。

主な特徴は次の通り

・ADCデバイスにPCM1808(96kHz24bit)を使用
・プリアンプゲインは0~470倍可変(ジャンパピンにより0~47倍も可)
・プリアンプ出力RCA端子搭載により、パソコンなどの外部機器へダイレクト出力が可能
・Amaneroを使用して、ダイレクトリッピングした音楽信号をパソコンから入力してRIAAイコライジング出力が可能
・プリアンプ用のOPAMPは2回路入りDIP8PINを採用し、ソケットとすることで換装可能
・出力はDAC8820、AK4490、PCM5102のすべてから選択可能
※FPGAをデジタルRIAAに書き換えると、スーパーサンプリングは機能しません。NOSまたは各DACデバイスのオーバーサンプリング処理となります。

詳しい仕様は、この記事冒頭にリンクした過去記事と、下にリンクした資料をご参照ください。

製作マニュアル
図表
取扱説明書
FPGAオブジェクトファイル(10M08SCE144C8G用)

次の2種類を頒布します。(すべて税、送料込み)

①全部品実装基板(動作確認済み)5800円
・すべて手実装です。
・OPAMPはNJM4556AD
・納期:2週間程度(受注生産)

②生基板 1600円
・生基板のみの販売です。

※本基板を使用するには、別途SSDAC128_I2S基板が必要です。

購入ご希望の方は表題に「DPEQ基板頒布希望」とお書きのうえ、
dj_higo_officialアットhigon.sakura.ne.jp(アットを@に換えて)までメールにて
お申し込みください。
※ご希望のセット番号と、お名前、ご住所、電話番号をお書きください。
折り返し、代金振込先等のご案内をお送りします。

製造・頒布はSLDJ合同会社が行います。


ぜひお試しください!

| | | コメント (0)

2023年10月16日 (月)

各種SSDAC基板 頒布再開のお知らせ

FPGA入手難につき、各種SSDAC基板の頒布を中止しておりましたが、

このたびようやくFPGAが入手できましたので、頒布を再開いたします。

引き続きよろしくお願いします。

| | | コメント (0)

2023年4月24日 (月)

各種SSDACの信号ひずみ率 THD+N の比較(20230506データ追加)

【20230506】SS128基板のPCM5102出力および市販DAC(AK4396、PCM2704、ES9018K2M)のデータを追加しました。

デジタル音楽データをスプライン関数で補間するSSDACについて、実際に波形がどのように補間されているかはこれまで波形を紹介してきたが、今回は1kHzの正弦波信号を再生した場合の全高調波歪率+雑音(THD+N)がどうなっているかを紹介する。
比較参考用として、同じ測定系で市販DACデバイスAK4396、PCM2704、ES9018K2Mの測定を行った(20230506追加)。

測定条件は次のとおり。

パソコンOS  :windows XP
正弦波発生   :WaveGene1.4    44.1kHz、F32bit
FFT       :WaveSpectra1.4  96kHz、24bit
サウンドカード  :SoundBlaster Premium HD

windowsXP上のWaveGeneで正弦波を発生させ、USBでSSDACのAmaneroに入力、
SSDACのアナログ出力をSoundBlasterのラインに入力し、WaveSpectraで測定した。

SSDACの測定結果を表1に、市販DACの測定結果を表2にそれぞれ示す。

表1. 1kHz正弦波再生時の全高調波歪+雑音(THD+N)
20230506thd_table2_20230506160801


表2.市販DACの1kHz正弦波再生時の全高調波歪+雑音(THD+N)
20230506thd_table3


スーパーサンプリングのTHD+Nが最小なのはSSDAC128基板AK4490出力の0.00268%、最大だったのは同基板PCM5102出力の0.00907%だ。これは+Nの部分が支配的だが、耳で聞いてわかるほどの差はない。
また、NOSのTHD+Nは多くが4%前後と、非常にわるい結果となっているが、これは信号周波数1kHzとサンプリング周波数44.1kHzのエイリアシングが出ており、測定系が96kHzであったために観測された(下記参照)。
PCM5102NOS出力のTHD+Nは他の4%前後より大幅に低い0.0933%になっているが、これは出力回路のローパスフィルタのカットオフが低いため、44.1kHz±1kHzのエイリアシングのレベル低下による。

代表例としてSSDAC128の16bitDAC、DAC8820の128倍スーパーサンプリング出力のFFTを図1に、同NOS出力のFFTを図2に示す。

Ss8820
図1.SS128のDAC8820スーパーサンプリング出力


Nos8820noise
図2.SS128のDAC8820 NOS出力


図1、図2の比較において顕著なのが図2のAで示したエイリアシングで、これがTHD+NがNOSで約4%になっている主な原因だ。信号周波数が1kHzに対して、サンプリング周波数が44.1kHzであるため、44.1kHz±1kHzのエイリアシングが発生している。
また、Bで示した範囲にもノイズが発生していることがわかる。
これらのノイズは、図1のスーパーサンプリング出力では抑えられている。

以上のとおりTHD+Nは同じスーパーサンプリングでも、デバイスやスペックの差により最小0.00268%から最大0.00907%と開きがあるが、音を聞く限り、この差はあまり音質に影響していない。
音の傾向に影響をもたらすのは、マルチビットかΔΣか、あるいは中間型のアドヴァンスドセグメントかの違いが大きいのではないかと思われる。

主観的な傾向としては、PCM1704、PCM1702およびDAC8820のマルチビットDACは表情が繊細、アドヴァンスドセグメントのPCM1795はビビッドで鮮烈、AK4490やPCM5102はそれらの中間のような印象がする。



| | | コメント (0)

2023年4月16日 (日)

【修正情報】SSDAC使用時のWindows10の設定について

[Correction Information] Windows 10 settings when using SSDAC

パソコンからSSDACを使用する場合に、
過去記事「SSDAC使用時のパソコン設定について」においてCDからリッピングした16bit 44.1kHzサンプリングのWAVファイル再生について、windows10のコントロールパネル→サウンド→Amanero(使用する再生デバイス)のプロパティ→詳細で、「既定の形式」を「2チャンネル、16ビット、44100Hz(CDの音質)」を設定することとしていましたが、windows10の仕様(あるいは不具合)により、16bit設定時のみノイズが発生することを確認しました。つきましては、16bit設定を使用せず、24bitまたは32bit設定を使用してください。

【例】CDからリッピングしたWAVファイル(16bit 44.1kHz)を再生する場合、windowsの「既定の形式」を
●「2チャンネル、24ビット、44100Hz(スタジオの音質)」
●「2チャンネル、32ビット、44100Hz(スタジオの音質)」
のいずれかに設定します(16ビットは使わないでください)。

つまり、サンプリングレートを再生するファイルに合わせ、ビット深度は24ビットまたは32ビットを選択してください。

詳細については以下のとおりです。

When using SSDAC from a computer, regarding playing WAV files ripped from a CD at 16-bit 44.1kHz sampling in the past article "Regarding computer settings when using SSDAC", it was recommended to set the "default format" in Control Panel -> Sound -> Amanero (playback device used) properties -> Advanced to "2 channel, 16 bit, 44100Hz (CD quality)". However, it has been confirmed that noise occurs only when the 16-bit setting is used due to Windows 10 specifications (or a bug). Therefore, please use the 24-bit or 32-bit setting instead of the 16-bit setting.

For example, when playing a WAV file (16-bit 44.1kHz) ripped from a CD, set Windows "default format" to either "2 channel, 24 bit, 44100Hz (studio quality)" or "2 channel, 32 bit, 44100Hz (studio quality)" (do not use 16 bits).

In other words, please select 24-bit or 32-bit depth depending on the file's sampling rate for playback.

For more information, please refer to the following.


【詳細説明】

過去記事「SSDAC使用時のパソコン設定について」において、パソコンのサウンドの設定を、再生する音声ファイルのフォーマットに合わせるということを書いたが、
その後の調査で、パソコンのサウンド設定の「既定の形式」が16bit(44100Hz、48000Hz、88200Hz、96000Hzのすべて)の場合のみ、無音時にノイズが乗る現象を確認した。現象は以下のとおり。

●16bit 44.1kHzサンプリングフォーマットの1kHz正弦波Lchのみ(Rchは無音)を、パソコンのサウンド設定「既定の形式」を「2チャンネル、16ビット、44100Hz(CDの音質)」に設定して再生した場合の、AmaneroCombo384のI2S出力を図1に示す。

[Detailed Explanation]

In the past article "Regarding computer settings when using SSDAC," it was mentioned to adjust the sound settings on the computer to match the format of the audio file being played. However, after further investigation, it was confirmed that when the "default format" of the computer's sound settings is set to 16-bit (all of 44100Hz, 48000Hz, 88200Hz, and 96000Hz), noise occurs during silent periods. The phenomenon is as follows:

Figure 1 shows the I2S output of the Amanero Combo384 when playing only a 1kHz sine wave on the L channel (with R channel silent) of a 16-bit 44.1kHz sampling format, with the computer's sound settings set to "2 channel, 16 bit, 44100Hz (CD quality)" as the "default format."




3_20230416101101
図1.16bit 44.1kHz設定時のAmanero I2S出力
Figure1.I2S output of the Amanero Combo384 when playing only a 1kHz sine wave on the L channel (with R channel silent)


図1はAmaneroCombo384のI2S出力で、上の紫色の波形がDATA、下の緑色の波形がLRCKだ。
LRCKが”L”のときLチャンネル、”H”のときにRチャンネルのデータがDATAに出力される。
この元データは、Lチャンネルに1kHzが入っており、Rチャンネルは無音のためデータは無い。
ところが図1を見ると、データが出ないはずのLRCK=”H”の区間にノイズが出ている。このノイズの部分を拡大したものを図2~図4に示す。

Figure 1 is the I2S output of the Amanero Combo384, with the purple waveform at the top representing DATA and the green waveform at the bottom representing LRCK. When LRCK is "L", data for the L channel is outputted to DATA, and when LRCK is "H", data for the R channel is outputted to DATA. The original data in this case has a 1kHz signal in the L channel, and no data in the R channel due to it being silent.
However, as shown in Figure 1, noise appears in the interval where LRCK="H" when there should be no data outputted. Figures 2 to 4 show an enlarged view of this noisy section.




1_20230416101101
図2.ノイズパターン1
Figure2. Noise pattern1


2_20230416101101
図3.ノイズパターン2
Figure3. Noise pattern2




3_20230416101201
図4.ノイズパターン3(出力なし)
Figure4. Noise pattern3(No output)


図2において、MSBが16bitの最上位ビット、LSBが16ビットの最下位ビットを示しているので、このときのデータは
0000 0000 0000 0001
となっている。

図3においては、16bitすべてがHになっているので、このときのデータは
1111 1111 1111 1111
である。

図4においては、16bitのすべてがLになっているので、このときのデータは
0000 0000 0000 0000
である(つまりデータなし=無音)。

I2Sのデータは「2の補数表現」というフォーマットになっていて、たとえば16ビットのデータなら表1のようになっている。

In Figure 2, MSB represents the most significant bit of the 16-bit data and LSB represents the least significant bit of the 16-bit data. Therefore, the data at this time is 0000 0000 0000 0001.

In Figure 3, all 16 bits are set to "H," so the data at this time is 1111 1111 1111 1111.

In Figure 4, all 16 bits are set to "L," so the data at this time is 0000 0000 0000 0000 (i.e., no data = silence).

I2S data is in the "two's complement representation" format, and for example, for 16-bit data, it looks like Table 1.



表1.16ビットデータの「2の補数表現」
Table1."Two's complement representation" of 16-bit data.
2_20230416102901

16ビットデータとは、2の16乗=65536段階のデータであり、これを2の補数表現にすると、表1のように-32768~ +32767の範囲のデータとして定義される。
ここで、先ほどの図2~図4に示したノイズデータはどうだったかというと、-1、0、1の値が出ていることがわかる。
つまり、無音(DATA=0)であるはずのRチャンネルに、-1、0、1の値のノイズが出ているということだ。

windowsのサウンド設定の「既定の形式」を24bit 44.1kHzに設定した場合のI2S出力を図5に示す。

16-bit data refers to data with 65536 levels, which is defined as data within the range of -32768 to +32767 when represented in two's complement format, as shown in Table 1.
Regarding the noise data shown in Figures 2-4 earlier, it can be seen that values of -1, 0, and 1 are present.
In other words, noise with values of -1, 0, and 1 are present in the R channel, which should be silent (DATA=0).

Figure 5 shows the I2S output when the default format of the Windows sound settings is set to 24-bit 44.1kHz.




44100_24bit
図5.24bit 44.1kHz設定時のI2S出力波形
Figure 5. I2S output waveform at 24-bit 44.1 kHz setting.


図5ではRチャンネル(LRCK=H)の区間は正しく無音(データなし)の状態になっている。これは32bit 44.1kHzに設定しても同様だった。

以上の検証は、手持ちのwindows10パソコン3台、AmaneroCombo384およびAmaneroのコンパチ基板で確認したが、すべて同じ結果となった。

以上により、windows10において、サウンド設定の「既定の形式」を16ビットに設定すると、無音時にノイズが発生するため、
これを回避するために、「既定の形式」のビット深度は24ビットまたは32ビットに設定することをおすすめします。

In Figure 5, the interval for the R channel (LRCK=H) is correctly in a state of silence (no data). This was also the case when set to 32-bit 44.1kHz.

The above verification was confirmed with three Windows 10 computers, an AmaneroCombo384, and a compatible board from Amanero, all resulting in the same outcome.

Therefore, in Windows 10, setting the "default format" of the sound settings to 16-bit will result in noise during silent periods. To avoid this, it is recommended to set the bit depth of the "default format" to 24-bit or 32-bit.

| | | コメント (0)

2022年8月20日 (土)

SSDAC使用時のパソコン設定について(2023/4/16修正)

【修正情報】この記事は2023/4/16に修正しています。
こちらの記事もあわせてご参照ください。

SSDACのユーザーの方より、
「方形波再生時に、SSDACの特徴であるプリエコー、ポストエコーが抑えられた波形にならず、リンギングが発生している」
とのお問い合わせがあり調査したところ、再生するファイルのフォーマットと、パソコンのサウンド設定が違っている場合に、ご指摘のような現象が出ることを確認しました。
つきましては、SSDACの性能を十分に楽しんでいただくために、PCのサウンドの再生の「既定の形式」において、サンプリング周波数を再生するファイルフォーマットに揃え、ビット深度を24ビットまたは32ビットに設定してお使いください。
特にwindows10においては、「既定の形式」を16ビット設定時にノイズが発生することが確認されましたので、16ビットの設定は使用しないでください。(2023/4/16記事参照


CDからリッピングしたファイル形式(44.1kHz 16bit wav)の場合の設定方法は次の通りです。

【windows10の場合】
コントロールパネル→サウンド→再生タブ→デジタル出力(Amanero Technologies USB Driver X.X.XX)※1 をダブルクリック
→詳細タブ→既定の形式
「2チャンネル、24ビット、44100Hz(スタジオの音質)」
または
「2チャンネル、32ビット、44100Hz(スタジオの音質)」
に設定
→OK

※1 SSDACでご使用のDDコンバータ

【MACパソコンの場合】
アプリケーションホルダのユーティリティの中の、「Audio MIDI」設定で同じように出力設定を
再生ソースにあわせてください(CDの場合は44.1kHz16bit)。

また、再生時に使用するソフトウェアによっても上記の現象が出る場合があります。
当方のパソコンで調べたところ、次の通りでした。

・WindowsMediaPlayer(windows10Pro 21H2)
再生するファイル形式のサンプリング周波数が、パソコンの「既定の形式」とそろっていれば問題なし。

・iTunes(12.7.4.80)
再生するファイル形式のサンプリング周波数が、パソコンの「既定の形式」とそろっていれば問題なし。

・VLC media player(3.0.2)SSDACには使用不可!
再生するファイル形式と、パソコンの「既定の形式」のサンプリング周波数がそろっていても、リンギングが発生する場合がある。

・MixVibesHome
「既定の形式」が44.1kHz24bitまたは32bitであり、再生するファイルのサンプリング周波数が同じ44.1kHzであれば問題なし。

詳細については以下の通りです。


1.SSDACの特徴
SSDACの最大の特徴は、オーバーサンプリングとデジタルフィルタを使わずに、各データ点の間を3次自然スプライン関数で補間することによって、過渡的な信号を再生する際に生じるプリエコー、ポストエコーの発生を抑え、より原音に忠実に再生することです。

Es9018k2m_1ktr_20220820103001
図1.ES9018K2Mのプリエコーとポストエコー(リンギング)

Pc44116_44116
図2.SSDACによりプリエコー、ポストエコーが抑えられた波形


図1に示すのは1kHz方形波をES9018K2Mで再生した波形で、典型的なプリエコー、ポストエコーが発生しています。
図2は同じ波形をSSDACで再生した場合で、プリエコー、ポストエコーが抑えられています。

このように、現在主流のオーバーサンプリングとデジタルフィルタをつかったD/Aコンバータでは、図1のようなプリエコー、ポストエコーが発生し、音質に影響を与えます。
これを嫌って、一切のオーバーサンプリングを行わず、素のデータのまま再生するNOS(Non Over Sampling)DACを使う人がいます。
SSDACを発明した小林芳直氏は、NOSDACの歯切れのいい音を聴いて感動し、NOSDACの歯切れ良さと、オーバーサンプリングの微細さを併せ持つDACができないかと考え、オーバーサンプリングとデジタルフィルタを使わずに、3次スプライン関数でデータを補間するスーパーサンプリング方式を考案しました。
スプライン関数でデータを補間すること自体は誰でも思いつきそうですが、スプライン関数をすべて計算するためには、曲の初めから終わりまでのすべてのデータを使うので、読込と演算に時間がかかり現実的ではありません。そこでデータ数を適当な個数で区切り、両端のデータを始点と終点と仮定して計算する方法がありますが、これだと誤差が出て波形が歪みます。
小林氏が3次スプライン関数について研究を進めたところ、データが現在の点(中心点)から遠ざかるほど、その区間のスプライン関数に与える影響が小さくなり、たとえば24bitデータの場合は前後13サンプリングデータより遠くのデータは、スプライン関数に与える影響が24bit分解能以下となり、無視しても影響がない、ということを発見し、リアルタイムで誤差が発生しないスプライン関数の導出方法を発見しました。これを応用したのがSSDACです。


2.パソコンの設定による再生不具合について
この記事の冒頭で、再生するファイル形式と、パソコンの「既定の形式」がそろっていることが必要だと書きましたが、実際の再生でそろっている場合とそろえていない場合にどのような差があるのか具体的に紹介します。

①パソコンの「既定の形式」を44.1kHz 16bitに設定した場合
この設定で、フォーマットが同じものとフォーマットが異なるwavファイルを再生した場合の波形を以下に示します。
PCはlenovo X230、windows10 21H2、Windows Media Playerで再生しました。

まずは、再生ファイルが既定の形式と同じ44.1kHz 16ビットの再生波形を図3に、ビット深度が違う44.1kHz 24bitの再生波形を図4にそれぞれ示します。

Pc44116_44116
図3.パソコン設定44.1kHz16bitで、同じ44.1kHz16bitのファイルを再生。正常。


Pc44116_44124
図3.パソコン設定44.1kHz16bitで、44.1kHz24bitのファイルを再生。正常。


パソコンの「既定の形式」と同じファイル形式と、サンプリング周波数が同じでbit深度のみ違うファイル形式は正常に再生されました。

次に、同じくパソコンの「既定の形式」を44.1kHz16bitとし、ファイル形式が48kHzサンプリングと96kHzサンプリングのものを再生した波形を図4~図7に示します。

Pc44116_4816r22k
図4.パソコン設定44.1kHz16bitで、48kHz16bitのファイルを再生。約22kHzのプリエコー、ポストエコーが出ている。


Pc44116_4824r22k
図5.パソコン設定44.1kHz16bitで、48kHz24bitのファイルを再生。約22kHzのプリエコー、ポストエコーが出ている。


Pc44116_9616r22k
図6.パソコン設定44.1kHz16bitで、96kHz16bitのファイルを再生。約22kHzのプリエコー、ポストエコーが出ている。


Pc44116_9624r22k
図7.パソコン設定44.1kHz16bitで、96kHz24bitのファイルを再生。約22kHzのプリエコー、ポストエコーが出ている。


ここまでの波形はすべて1kHz方形波です。
方形波ではなく正弦波の場合は、設定が異なっても問題なく再生されます。1kHz正弦波の再生波形を図8に示します。

Pc44116_9624sin
図8.パソコン設定44.1kHz16bitで、96kHz24bitの正弦波ファイルを再生。問題なし。



②パソコンの「既定の形式」を96kHz24bitに設定した場合
この設定で、フォーマットが同じものと異なるwavファイルを再生した場合の波形を以下に示します。

Pc9624_9624
図9.パソコン設定96kHz24bitで、同じ96kHz24bitのファイルを再生。問題なし。


Pc9624_9616
図10.パソコン設定96kHz24bitで、同じ96kHz16bitのファイルを再生。問題なし。


Pc9624_44116r22k
図11.パソコン設定96kHz24bitで、44.1kHz16bitのファイルを再生。約22kHzのプリエコー、ポストエコーが出ている。


Pc9624_44124r22k
図12.パソコン設定96kHz24bitで、44.1kHz24bitのファイルを再生。約22kHzのプリエコー、ポストエコーが出ている。


Pc9624_4816r22k
図13.パソコン設定96kHz24bitで、48kHz16bitのファイルを再生。約22kHzのプリエコー、ポストエコーが出ている。


Pc9624_4824r22k
図12.パソコン設定96kHz24bitで、48kHz24bitのファイルを再生。約22kHzのプリエコー、ポストエコーが出ている。


Pc9624_44116din
図13.パソコン設定96kHz24bitで、44.1kHz16bitの正弦波ファイルを再生。問題なし。


以上①、②では、方形波再生時、パソコンの「既定の形式」とファイル形式において、サンプリング周波数が一致しているものは正常に再生され、サンプリング周波数が異なるものはプリエコー、ポストエコーが発生しました。
正弦波については、形式の異なるファイルでも正常に再生されました。
これらはWindows Media Playerを使って検証しましたが、iTunes(12.7.4.80)でも同じ結果でした。


③ソフトによって不具合が出るもの
VLC media player(3.0.2)による波形再生結果を以下に示します。


Pc44116_44116_20220820130501
図14.パソコン設定44.1kHz16bitで、VLCで同じ44.1kHz16bitのファイルを再生。問題なし。


Pc44116_44124r18k
図15.パソコン設定44.1kHz16bitで、VLCで44.1kHz24bitのファイルを再生。約18kHzのプリエコー、ポストエコーが出ている。


Pc9624_9624r40k
図16.パソコン設定96kHz24bitで、VLCで同じ96kHz24bitのファイルを再生。約40kHzのプリエコー、ポストエコーが出ている。


Pc9624_9616_20220820130501
図17.パソコン設定96kHz24bitで、VLCで96kHz16bitのファイルを再生。問題なし。


以上より、VLC media playerでは、サンプリング周波数が同じでもビット深度の違いによりプリエコー、ポストエコーが発生し、またパソコン設定を96kHz24bitにした場合は、96kHz16bitのファイルを再生した場合問題なく、設定と同じ96kHz24bitのファイルを再生した場合にプリエコー、ポストエコーが出るという謎の結果となりました。
VLC media playerは非常に便利な万能プレイヤーですが、SSDACでの再生には向いていないようです。


3.なぜ「既定の形式」とファイルの形式が違うとプリエコー、ポストエコーが出るのか
パソコン側の「既定の形式」と再生するファイルのデータ形式が違う場合、使用ソフトの内部でSRC(Sampling Rate Converter)を使って、サンプリングレートの変換を行っていると考えられます。
SRCの内部構造は一般的に、
①入力データをオーバーサンプリングしデジタルフィルタを通す
②データを間引いて、目標のサンプリングレートにリサンプリングする
という構造になっており、とくに①の工程でデジタルフィルタ(FIR)を使うことで、過渡的な波形に対してはプリエコー、ポストエコーが付加されてしまいます。つまりSSDACに渡されるデータにはすでにプリエコー、ポストエコーが付加されている、と考えられます。
SRCの詳しい説明はこちらのサイトが参考になると思います。

ご自分で確かめたい方は、テスト用のwavファイルを用意しましたのでお使いください。

ダウンロード - test_wav.zip

 

| | | コメント (0)

2022年8月19日 (金)

SSDAC用のDDコンバータとMCLK(CM6631A使用品のFW対応)

SSDAC用のDDコンバータ(USB to I2S)について、新たなお知らせです。
すでにSSDAC対応DDコンバーター(USB to I2S)について【20220610追記】にて最新の情報をお知らせしましたが、今回は追加情報です。

SSDACはDDコンバータとしてAmanero Combo384または互換品を使用する前提で開発しています。
これは事実上の業界標準なので、互換品についても各信号のフォーマットは同等であるという前提で考えていましたが、使用可能として紹介したCM6631A使用のDDコンバータの製品に、MCLKに互換性のないものがあるとの情報が寄せられました。つきましてはCM6631AによるDDコンバータをお使いの方に、ファームウェアアップデートによる対処方法を紹介します。

はじめに、Amanero Combo384のI2S信号フォーマットを表1に示します。

表1.SSDAC対応DDコンバータのクロック一覧
Ddcon

SSDACは表1に示すクロック条件で設計されています。
ところが、CM6631Aを使用したDDコンバータ製品の中に、44.1kHzと48kHzのMCLKがそれぞれ11.2896MHz、12.288MHzのものがあるらしいのです。つまりAmaneroのMCLKの1/2です。
この場合、SSDACは動作しますが、スーパーサンプリング倍率が半分になってしまいます。
この対策として、表1のMCLKが出力されるファームウェアに書き換えることで、CM6631Aを使ったDDコンバータが正しく使えるようになります。次のとおりファームウェアのアップデートを行ってください。

①書き込みツールのダウンロード
このサイトにCM6631A用の各種ツールがアップされていますので、この中から"Mhdt Labs DACs Firmware Tools"をダウンロードします。

②ファームウェアのダウンロード
SSDAC用にビルドしたファームウェアを用意しましたのでダウンロードしてください。
ダウンロード - 20220819forssdac9624.hex

③書き込み
CM6631AのDDコンバータボードをUSBでパソコンに接続し、①でダウンロードしたファイル群の中の"FWUpdate.exe"を起動し、ドロップダウンリストから該当するVIDのものを選びます(私が持ってるボードは0D8Cでした)。
まず、Erase FWを押して、現在書き込まれているファームウェアを消去します。
次にUpdate FWを押し、上でダウンロードしたhexファイルを選択してOKを押して書き込みます。

以上でファームウェアの更新は完了で、MCLKは最適化され、SSDACは正常動作します。

これに関連して、PCのサウンドの設定によってSSDACが正しく動作しない場合の対処方法を近くアップする予定です。

| | | コメント (0)

2022年6月11日 (土)

SSDAC頒布についてのお知らせ

現在SSDAC関連基板を5種類頒布していますが、SSDACに使用しているFPGA、10M08SCE144C8Gが入手困難となっていて、在庫がなくなりました。
つきましては、各種SSDACでFPGAのみを搭載した基板については一旦頒布中止とします。
予約連絡いただければ、頒布再開後に優先して受け付けます。

完成基板につきましては、現在僅かながら在庫がある10M08SAE144C8Gにて対応し、動作確認の上出荷します。

ご迷惑をおかけしますが、ご理解のほどよろしくお願い申し上げます。

 

| | | コメント (0)

2022年6月10日 (金)

SSDAC対応DDコンバーター(USB to I2S)について【20220610追記】

About SSDAC compatible DD converter (USB to I2S)

【20220819追記】
CM6631A使用品について、ファームウェアのアップデートによる最適化の記事を書きましたのでそちらもご参照ください。

【20220610追記】
ユーザーの方から、「amaneroCombo384のコンパチ品を使うとノイズが乗る」とのご指摘があり調査したところ、windowsの設定条件によって、amaneroCombo384のコンパチ品でノイズが出るもの(出ないものもある)、およびXMOSのDDコンバータでもノイズが出ることを確認しました。
よって、
①基本的にamaneroCombo384純正品を使用してください。
②amaneroコンパチ品では設定条件(windowsのデジタル出力のプロパティ→既定の形式の設定)によってはノイズが出るものがあるため、基本的におすすめしません。自己責任でお願いします。
③XMOSのU208DDコンバータは、48kHz、96kHzの設定でノイズが出ます。おすすめしません。
④CM6631およびPCM2706は問題ありませんでした。

[20220610 postscript]
A user pointed out that "using amaneroCombo384 compatible products causes noise", and after investigating, some of the amaneroCombo384 compatible products generate noise (some do not), depending on the settings of windows. And I confirmed that noise appears even in the DD converter of XMOS U208.
Therefore,
① Basically, use genuine amanero Combo384 product.
② It is basically not recommended for amanero compatible products because noise may occur depending on the setting conditions (windows digital output properties → default format settings). Please take responsibility for your actions.
③ The XMOS U208DD converter produces noise at 48kHz and 96kHz settings. Not recommended.
④ There was no problem with CM6631 and PCM2706.



頒布中のSSDAC基板に対応するDDコンバータ(USB to I2S)について、動作確認できているものは次のとおり。
The following DD converters (USB to I2S) that are compatible with the SSDAC board being distributed have been confirmed to work.

Dd_boards
写真1.SSDACで動作確認済みのDDコンバーター
photo1. DD converter that has been confirmed to work with SSDAC

 

①Amanero COMBO384(写真左端)
・SSDACで標準としているDDコンバータ。
・The standard DD converter for SSDAC.

②Amanero COMBO384互換ボード(写真左から2番目)※おすすめしません。
compatible board (second from the left in the photo) ※Not recommended.
・amazonやAliexpressなどで廉価で入手できる。
・動作はAmanero COMBO384と同じだが、ファームウェアのアップデートはできない。
・Available at low prices on Amazon and Aliexpress.
・The operation is the same as Amanero COMBO384, but the firmware cannot be updated.

③XMOS U208(写真中央) (center of the photo ※Not recommended. ) ※おすすめしません
・Amanero COMBO384と同等。
・ Equivalent to Amanero COMBO 384.

④6631PRO(写真右から2番目) (second from the right in the photo)
・CM6631Aを使用したDDコンバータ。
・SSDAC基板上のサンプルレート、ビット深度を示すLEDは点灯しないが、動作は問題なし。
・USB接続有無を示す”PLUG”信号が必要な場合は、コネクタの1pinと10pinをジャンパで接続する。(SSDACでは不要)
・DD ​​converter using CM6631A.
・The LED indicating the sample rate and bit depth on the SSDAC board does not light, but there is no problem in operation.
・If a "PLUG" signal indicating the presence or absence of a USB connection is required, connect pins 1 and 10 of the connector     with a jumper. (Not required for SSDAC)

⑤PCM2706ボード(写真右端) (far right in the photo)
・PCM2706を使用したDDコンバータ。
・SSDAC基板上のサンプルレート、ビット深度を示すLEDは点灯しないが、動作は問題なし。
・USB接続有無を示す”PLUG”信号は無し(SSDACでは不要)。
・44.1kHz,48kHzの16bitのみ対応。
・SSDACへの接続コネクタに電源が供給されていないため、コネクタ 7pinにジャンパで電源を接続する必要がある。
・クロックがUSBと兼用で、I2Sに必要なクロックはPLLで生成されているため、積極的にはおすすめしない。
・DD ​​converter using PCM2706.
・The LED indicating the sample rate and bit depth on the SSDAC board does not light, but there is no problem in operation.
・There is no "PLUG" signal indicating the presence or absence of a USB connection (not required for SSDAC).
・ Only 16bit of 44.1kHz and 48kHz are supported.
・Connecting to SSDAC Since power is not supplied to the connector, it is necessary to connect the power to pin 7 of the         connector with a jumper.
・The clock is also used for USB, and the clock required for I2S is generated by PLL, so we do not actively recommend it.

以上参考にしてください。
Please refer to the above.

| | | コメント (0)

2022年6月 7日 (火)

SSDAC AK4490REQチップ対応のお知らせ

20210113ss_pcb2_20210704141501


128倍スーパーサンプリングDAC基板
16倍24bitスーパーサンプリングSDプレーヤー

上記の2機種について、工場火災の影響で入手困難となっていたAK4490EQに対し、新たに後継デバイスAK4490REQに対応しました。
上記2機種とも基板改版により以降頒布品につきAK4490EQおよびAK4490REQの両方に対応します。
完成基板については在庫分に限りAK4490EQでの対応となります。在庫終了次第AK4490REQに切り替えます。 
 

| | | コメント (0)