オーディオ考

オーディオに求めるものなど。

2023年12月10日 (日)

アナログ回路で磁気浮上

動画1.磁気浮上実験の様子(PCBWayの案件ではありませんのでご安心ください←一度言ってみたかった!!)


最近、オーディオサークルでスピーカー用のフローティングフットの研究をしている人がいたので、それならいっそのことスピーカーを宙に浮かせたらウケるかも!!と考えて、その実験をしてみた。

当初、重さ約2kgのAuratone 5Cを宙に浮かせてデモをしたらウケるだろうなあ……

と安易な妄想をし、磁気浮上の実験を開始したのだが、現在のところ浮上に成功したのは磁石込みで14.4gの精密ドライバーを約5mm浮かせるにとどまった。Auratoneを浮かすには修行が足らない(^-^;

話の発端となったスピーカー用のフローティングフットとは、オーディオ用のスピーカーボックスを台に設置する際の足の部分を、細いワイヤーでスピーカーボックス重量を吊して支える構造にして、スピーカーボックスと台が相互に振動を伝えないようにする仕掛けである。たとえばこんな感じのもの
オーディオ再生でスピーカーは重要な位置を占めるが、スピーカーの設置方法もまた重要で、たとえばスピーカーの台に対してスピーカーがぴったり置けていないと、ビリビリと振動による鳴きが聞こえてしまったりして、こんなのは論外だ。スピーカーボックスそのものがまったく振動しないように作れれば理想だが、それは難しいので、せめてスピーカーボックスの振動が、設置している台に伝わらないようにしたい。そうすると台を剛体にして、そこにたとえばナットとビー玉や、ベーゴマをひっくり返したものを足に使って、3点支持にするということはよく行なわれる。3点支持で支点は決まるので少なくとも鳴きは発生しないが、台へ振動が伝わるので、これを嫌って足の下に防振ゲルを挟んだりする場合もある。上で紹介したフローティングフットは、細いワイヤーで支持することで、振動を極力伝えないようにするものだ。

さて、それならば、スピーカーボックスを完全に空中に浮かせてしまえばいいんじゃね??

ということになるのだが、じつはそのような製品はすでにある(写真1)。

Floating_sp
写真1.宙に浮くスピーカー

すでに製品があるということは技術的に可能だということだ。
それならば、どんなスピーカーでも浮かせることができるシステムが作れれば、スピーカー設置に関する悩みがひとつ解決するだろう。

磁気浮上の製作記事は、ネット検索するといくつも出てくるが、多くはマイコンを使って電磁石をON/OFF制御するやりかただ。
オーディオに使うことを考えると、パルスノイズを発生するものはあまり使いたくないので、今回はアナログ回路で検討することにした。

遠い昔、ぼくが光磁気ディスク装置の開発部隊に配属された頃、光ディスクに対して光ピックアップのレンズを追従させるサーボ技術を学んだ。
光ディスク装置は、光ピックアップからレーザー光を照射し、ディスクに反射して帰ってきた光を光検出器で受けて信号を読み込む。その際に、まずレーザー光のパワーを一定に保つALPC、スピンドルモーターを狙った回転数で回転させるスピンドルサーボ、回転してブレるディスク盤面にピントを合わせて追従するフォーカスサーボ、ディスクのトラックの真ん中を追従するトラッキングサーボ、任意のディスクの位置に光ピックアップを運ぶラジアルサーボなど、光ディスク装置はサーボ(自動制御)のかたまりだ。
これらは高々2次遅れ系(ばねと粘性減衰)のサーボで、周波数応答法で設計されていた。つまり、想定される外乱の影響を、信号読み込みに必要な偏差まで抑えるために、オープンループゲインがいくら必要か検討し、また、その際にゲインのゼロ点で位相が180度回ると発振するので、これを回避するため最適な位相進み遅れ補償を施すなどして、最適設計を行うものだ。

今回作ろうとしている磁気浮上は、距離の2乗に反比例して磁力が働くので、伝達関数は分母がs^3となる3次遅れ系になることが想像できる。そういえば、最近あちこちで見かける倒立振子も3次遅れ系だったような……

3次遅れ系自動制御の設計は経験がないので、どういうやり方があるのか調べてみると、どうやらPID制御が最近の流行らしい。
PID制御は、とにかく目標値とセンサ値の誤差と、その積分と微分を適当にミックスして帰還制御すれば、だいたい動くんじゃね??という、わりとお気楽な自動制御法らしい。

なるほどと思い、Aliexpressで入手したDC12Vで吸着力8kgの電磁石、ダイソーで買ったネオジウムマグネット、秋月で入手したホール素子HG-166A-2Uとオペアンプとトランジスタその他を使って作ってみた。

回路図はこちら。
ダウンロード - magnefloat_sch.pdf

一見複雑そうに見えるが、オペアンプU2A,U2Bで構成している積分回路、オペアンプU2C,U2Dで構成している微分回路は、はっきりした効果が見いだせず、無くても動作するし、目標値設定のバッファのU3Aも省いてしまえば、残りのオペアンプはU1の4回路だけなので、4回路入りのオペアンプなら1個で作ることができる。
駆動段は単電源で構成したかったのでNPNとPNPのパワートランジスタを2組使ってBTLとした。今回使ったトランジスタは部品箱に入っていたテキトーなもので、コンプリメンタリペアではなく他人同士だ。ICが5Aもあれば十分で、テキトーな組み合わせでOKだ。

使用した電磁石を図1に、ホール素子装着の様子を図2に示す。

Emag
図1.使用した電磁石 DC12V、吸着力8kg仕様のもの

Hall
図2.ホール素子装着
表面実装のホール素子を1.6mmの基板に実装し、基板を介して両面テープで電磁石コアに貼付け。
ホール素子実装面は、浮上対象物の接触によるショートを防止するため、セロテープでシールド。

実際に物体を磁気浮上する様子は上の動画1に示したとおりで、このときの条件は次のとおり。

・浮上しているマグネットとドライバの総重量は14.4g
・浮上距離はおよそ5mm
・駆動電流は80~90mA(12V)

PID制御をするため、エラー信号に、その積分と微分のそれぞれをmixして電磁石を駆動するが、実際にやってみると微分も積分もない、いわばP制御が可能で、積分信号を追加してもとくに安定するでもなく、微分信号を追加すると発振気味になるようで、逆効果だった。微分回路有り無しのエラー信号の様子を図3、図4に示す。

2023121030khz
図3.エラー信号のみでの浮上時のホール素子出力(30kHzで振動)


2023121065khz
図4.エラー信号に微分をmixした場合のホール素子出力(6.5kHzで振動)


以上のように、今回の実験では積分信号、微分信号ともにはっきりした効果は見られず、
エラー信号のみでも浮上動作が可能という結果だった。

積分信号と微分信号を帰還することの意味は、積分は低域ゲインを増加させて定常特性(保持力)を確保し、
位置信号の微分は速度帰還となることから、ダンパー(粘性抵抗)と等価な防振効果が期待できる。

上述の光ディスク装置開発の仕事をしていた当時、リニアモーターを任意の速度で動かす駆動装置を作るという仕事があって、
駆動速度が高速になるほど、止めるのが難しくなる。たとえば矩形波状の速度プロファイルに沿って動かそうとすると、
高速運動から急に止めようとしても、びよよよよーんと振動してしまい、きれいに止まってくれない。
そういう場合は速度帰還をかければよい、と技術書に書いてあったので、位置信号を微分して帰還してみた。ためしに駆動信号を与えずに微分信号の帰還だけをした状態で、リニアモーターを手で動かしてみると、まるで濃厚なオイルダンパーを付けたような、ネトーっとした抵抗が加わっていた。速度帰還をかけるというのはこういうことだったのか!!と身をもって体験できたのだった……

今回は積分も微分も効果を見いだせなかったし、エラー信号は振動していて、自動制御としては不完全のように思える。
高次の伝達関数の自動制御についてまだまだ研究の余地がありそうだ。

【参考サイト】
こんとろラボ
自動制御の基礎から学べます。

ロバスト制御入門
このプレゼン資料に、磁気浮上の伝達関数が説明されています。

半日で作る磁気浮遊オブジェ
PICマイコンで磁気浮上を実現しています。ソースコードもあります。

知恵の楽しい実験
Arduinoマイコンで磁気浮上を実現しています。ソースコードあり。

| | | コメント (0)

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年6月28日 (水)

4.5㎝スコーカーのBTL電流駆動(ラズパイPico SDプレーヤー)

Pico1

写真1.戦利品のSONY4.5㎝スコーカーとメディアプレイヤー
4.5㎝スコーカーはamazon段ボールに穴を開けたバッフルにはめ込み、アンプはオペアンプAD8534を使ったBTL電流駆動。


先日、手作りアンプの会のイベントで、SONY製4.5㎝スコーカーを4個100円でゲットしたので、何か使い道はないかと思い、SDプレーヤーを試作してみた。

このスコーカーは特性も型番もわからないのでネットで調べると、販売しているサイトが見つかった。なんと1個200ドル(@_@;
販売サイトは見つけたものの、結局特性はよくわからないまま。

とりあえず仕事で着手していたメディアプレーヤーにつないで音を出してみたところ、案外元気に鳴る。ただ、スコーカーということなので、帯域はおそらく300~5kHzくらいじゃないかと思われた。
ぼくはマルチウェイはあまりやる気がしないので、これを単発で鳴らす実験をすることにした。
帯域の狭いスピーカーを無理に駆動するなら電流駆動がおもしろそうだ。それならばそのついでにBTLもやってみることにした。
遠い昔(30年ほど前)、メーカーでのMOドライブ開発のときにアクチュエータドライバに使っていたHA13490というICがまさにBTL電流駆動のドライバで、こんな駆動方式はオーディオアンプでは見ることはないが、アクチュエータ駆動ではよく出てくる。その当時、「これでスピーカーを鳴らしたらどんな音がするんだろう?」と思ったが、30年経ったいま、それをやってみようというわけだ。

今回製作した回路は、SDプレイヤー部はラズベリーパイPicoにSDホルダーとタクトスイッチがついているだけのきわめてシンプルなもので、アナログ出力は122kHzのPWMで出力されるのでDACすらついていない。ソフトの起動時にポップノイズが出るので、それをミュートするためにオペアンプの電源をPicoからON/OFFできるようにしている。出力はPicoのPWM出力をオペアンプで受けてローパスをかけ、出力VRを経て一段バッファし、ヘッドホン出力のあとにBTL電流駆動パワーアンプがついている。使用したオペアンプはAD8534という4回路入りフルスイングオペアンプで、出力電流が最大250mAとれるので、Liion電池一本でスピーカーを駆動する。同じ内容の2回路のオペアンプAD8532は秋月で入手できる。
ソフトはGithubからもらってきたMicropythonで書かれたもの。このソフトをベースにボタン操作部分を追加した。対応フォーマットは44.1kHz16bitのWAVファイル。

実際に音楽を聴いてみると、3.7Vのリチウムイオン電池1本でけっこうよく鳴る。部屋でBGM用に使うには十分だ。消費電流はステレオで最大150mAほど。

せっかくなので、アンプを電流駆動にした場合と電圧駆動の場合の音圧特性をとってみた。測定条件はスピーカー軸上正面10㎝、測定系はminiDSP UMIK-1、およびソフトにREWを使用した。測定結果を図1に示す。

Capture

図1.音圧特性(赤:電流駆動 緑:電圧駆動


赤で示した電流駆動では、274Hzに大きなピークが出ていて、これはスピーカーのf0だと推定できる。電流駆動によってf0が大きく増強されている。また高域もインピーダンス上昇に伴って音圧が徐々に上昇している。
電圧駆動では低音がまったく出ない印象で、やっぱりスコーカー単発では無理があるように感じられるが、電流駆動することで低域が持ち上がり、どうにかこうにか聴けるレベルの帯域感になったように感じられる。

そういうわけで、30年越しのBTL電流駆動実験ができて満足です(^-^)

 

| | | コメント (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月25日 (木)

12BH7A YAHAヘッドホンアンプの製作

202205yaha000
写真1.製作したYAHAヘッドホンアンプ

YAHAアンプの味見YAHAアンプの味見2の記事で、12BH7Aを使ったYAHAヘッドホンアンプの試作をしたが、思いのほか音がよく気に入ったので、試作品を残しておくことにした。

すでに過去記事で紹介したとおり、USB PD対応のACアダプタとIP2721を搭載したUSBデコイモジュールを使用し15Vを入力して、7812で12Vにして電源としている。
USB PD対応ACアダプタはamazonで約1500円で購入したUGREEN Ace Cube 30W(Model:CD272)で、15V 2Aが出力できる。
今回は入出力のカップリングコンデンサの容量を大きくして周波数特性を改善し、使い勝手を考えて入力VRを追加した。回路図を図1に示す。

20220825yaha_kairo
図1.今回製作したYAHAヘッドホンアンプ回路図(片チャンネル分)

組み立ては、42x92xt2のアルミ板のセンターに真空管ソケット用の穴を開けて、真空管ソケットはダイソーのUVレジンでアルミ板に接着固定し、アルミ板の4つ角にはスペーサー用の穴を開けて、スペーサーを介してユニバーサル基板と足用のスペーサーを固定する。
ケミコンは真空管の熱が伝わらないようにするため、基板の下側に配置した。

202205yaha001
写真2.YAHAアンプの組み立て


202205yaha002
写真3.YAHAアンプの底面
正面側にヘッドホンジャックとボリューム、背面側に入力ジャックとUSB-C電源入力コネクタを配置した。


特性はカップリングコンデンサの増量と、キチンと組んだことで、f特、ひずみ特性ともに改善した。

図2にTHD+N特性、図3に周波数特性、図4に10kHz方形波再生波形(いずれも33Ω負荷)を示す。

20220825yaha_thdn
図2.THD+N特性
実用領域で1%以下となった。

20220825yaha_ftoku
図3.周波数特性
10~100kHzで0,-3dBを満たしている。入力VRで約-15dB減衰しているため、裸のアンプゲインは約16.7dB(約6.8倍)。


Tek0049
図4.10kHz方形波再生波形
オーバーシュートやサグはなく問題なし。

これまで真空管アンプというと、高耐圧の部品や高圧用のトランス、出力トランスなど、真空管専用のお高いパーツが必要で、なかなか敷居が高く、あまり積極的に取り組んでこなかったが、今回製作したYAHAアンプは真空管以外に特殊な部品は使用せず、しかもUSB PDというお手軽なUSB ACアダプタを使用して組むことができ、なおかつ想像を超える特性が得られた。
音質も申し分なく、真空管シングルアンプらしい厚みのある音質で音楽を楽しむことができた。

お手軽なので、真空管を体験してみたい、という人におすすめします(^-^)

| | | コメント (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)