« 2022年7月 | トップページ | 2022年9月 »

2022年8月

2022年8月29日 (月)

なんとなくフラクタル

いつのことだったか、スーパーの野菜売り場を歩いていたら一瞬ゾッとした。
なぜゾッとしたのかわからず、しばらくあたりを見回してみると、視界に見慣れない名前の野菜が置いてあった。

「ロマネスコ」

初めて見る野菜だった。
気を取り直してその野菜をもう一度見て、しばし凝固してしまった。

Romanesco
写真1.ロマネスコ(Wikipediaより)

その形状は数式が具現化したようなものだった。
数学、その中でも虚数が出てくるような世界はもはや現実的ではなく、概念としてしか捉えることはできない。せいぜい複素平面上のグラフとしてしか目で見ることができないようなものだと思っていたが、それがいきなり野菜に姿を変えて目の前に現れたのだった。

「これはマンデルブロイ集合のフラクタル図形のようではないか……」

はるか30年前の数学の授業で教わったマンデルブロ集合(その当時はマンデルブロイ集合と言っていた)。
マンデルブロ集合とは、

f(z) = z^2 + Cという関数を、z0 = 0から始めて、
z1 = f(z0), z2 = f(z1), z3 = f(z2), …
とくり返し計算して数列を作っていったときに、k → ∞で|zk|が発散しない複素数Cの集合

で定義される複素平面上の集合で、どんな意味があるかはさておき、そのグラフにはとてもおもしろい性質がある。
それはフラクタル(自己相似性)という性質で、図形のある箇所を拡大していくと、もとの図形が現れる、ということが無限に繰り返されるような性質のことだ。
ロマネスコを一目見て、フラクタルな野菜だと直感し、想像上の生物が突然目の前に現れたかのような衝撃を受けてゾッとしたのだった。

マンデルブロ集合を実際にグラフに書いていろいろな場所で拡大縮小、彩色をすると、非常におもしろい模様が現れる。座標の位置、尺度、彩色のパターンは無限に選べるので、無限のパターンのマンデルブロ集合が楽しめる。
このページでは、マンデルブロ集合の描画プログラムを提供している。
「マンデルブロ集合描画スクリプトを開く」ボタンを押すと、別窓でプログラムが起動するので、「おまかせ描画」ボタンを押すと、ランダムな座標や尺度、彩色でマンデルブロ集合を描画してくれる。

おもしろい絵が出たら保存しておいて、ネクタイを作ってみたい。

Mandelbrot
図1.おまかせ描画でランダムに描画されたマンデルブロ集合

【参考ページ】
マンデルブロ集合の不思議な世界

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

2022年8月 6日 (土)

YAHAアンプの味見2

Yahapic1

この記事は7/28YAHAアンプの味見の続編です。


【20220824追記】
前回の記事に掲載したLTSpiceによるYAHAアンプのシミュレーションは、その後の調査によりグリッドのバイアス電圧が生じていないことがわかりました。おそらく使用した真空管のSPICEモデルでは初速度電流が生じていないことが原因ではないかと思われます。
そのためカソードにバイアス電圧を挿入して再度シミュレーションしてみました(図A)。こちらの方が実際に組んだ回路に近い動作になっていると思います。

20220824yaha2
図A.YAHAアンプのシミュレーション(カソードバイアス付き)


前回の記事では、出力バッファにトランジスタのエミッタホロワを一段つけて動作確認したが、どうもこれでは真空管の負荷が重すぎるらしいことがわかったので、この点を考慮して再検証した。
エミッタホロワをダーリントンにするか、あるいはMOSFETに置き換えるか考えたが、今回はMOSFETを使ってみることにした。
今回検証した回路を図1に示す。

Yaha2sch
図1.今回検証した、MOSFET出力バッファのYAHAヘッドホンアンプ(片チャンネル)
※LRチャンネルのトータルの消費電流は390mA。

MOSFETはAO3406を使用した。これはVthが2V程度で、IDが3A以上、On抵抗が50mΩ程度と、電源のON/OFFなどの用途に重宝するので部品箱に常備してある。秋月で販売しているAO3400でも代用できると思う。パッケージがSOT-23なので変換基板を使用した。

今回は回路の改良に加えて、USB PDから電源を取る検証をあわせて行った。
USB PDはUSB-Cから電力を供給する仕組みで、5V、9V、12V、15V、20Vから選択でき、最大100W程度の供給が可能だ。
今回のYAHAアンプは12V電源なので、USB PDから12Vを供給すれば動作可能だ。
USB PDを使うには、これに対応したUSB電源とケーブル、それにUSBデコイと呼ばれるPDトリガーデバイスが必要だ。
今回使ったUSB PD対応電源と、USBデコイ基板を写真1~写真3に示す。

Acadaputerpddecoy
写真1.USB PD対応電源アダプタUGREEN AceCube 30WとUSBデコイ基板

Imgp9007
写真2.USBデコイ基板  IP2721という専用のデバイスが使われている

Imgp9008
写真3.USBデコイ基板裏面 基板の種類とショートパッド(表面)により、電圧が選択できる。


最初に、USB PD出力を12Vに設定し、これでアンプを駆動してみたが、ハムノイズと、ヘリコプターのようなパタパタというノイズが乗ってしまい、実用には程遠い結果となった。平滑コンデンサで対策できるレベルではなかった。アンプにつないだ状態の電源波形を図2に示す。
次に、USB PD出力を15Vに設定し、図3に示すレギュレータ回路をつけて12Vを生成し、これをアンプに供給したところ、ノイズは問題のないレベルまで抑えられた。アンプ接続状態での電源の波形を図4に示す。

12vdirect
図2.USB PD12V出力のノイズ


Reg12v
図3.USB PD15V出力に追加した12Vレギュレータ回路


Reg12vfrom15v
図4.レギュレータ回路を使用した電源波形


今回は図1のアンプ回路に対して、USB PD電源アダプタ15Vから12Vレギュレータで生成した電源を使用して以下の通り評価を行った。
負荷33Ωでの100Hz、1kHz、1kHz方形波、100kHzの再生波形を図5~図8に示す。

100hz
図5.100Hz75mVrms入力時の出力波形(黄色が出力)


1khz
図6.1kHz75mVrms入力時の出力波形(黄色が出力)


1khzsqr
図7.1kHz方形波入力時の出力波形(黄色が出力)


100khz15db
図8.100kHz75mVrms入力時の出力波形(黄色が出力)

今回はプレート抵抗を20kに変更し、出力バッファをMOSFETに変えたことで、ゲインが14.5dB@50Hz、17.13dB@1kHz、15.54dB@100kHzとなった。1kHzを基準に、下は50Hzで-2.63dB、上は100kHzで-1.59dBという周波数特性が得られた。周波数特性を図9に示す。

F
図9.周波数特性


最大出力は、図10に示すとおり1.1Vrms@33Ωで波形がクリップするので、37mW@33Ω。

Clip
図10.クリップ波形  クリップは1.1Vrms@33Ωなので、最大出力は37mW。


ひずみ率はWavegeneとWavespectraを使って測定した。
すでに公表していたひずみ率は10kHzで6%を超えていたが、測定系に問題があったため再測定した。測定系の問題とは、Wavegeneのサンプリング周波数が44.1kHzになっていたことで、今回は96kHzにしてすべて再測定した。ひずみ率THD+N(%)を図11に示す。

 
Thdnall2

図11.THD+N測定結果(33Ω負荷)
※実用域ではおおむね1%以下、10kHzでは6%超と高め


図12に、およそ0.5mW時1kHz@33Ωの出力FFTを示す。ひずみは2次が支配的。

1k125mvrms33ohm
図12.0.5mW時1kHz@33ΩのFFT。2次ひずみが支配的。


試聴は前回と同じくスーパーサンプリングSDプレイヤーSSSDP4490をソースに、ヘッドホンHDJー1500で行った。試聴の様子を写真4に示す。

Yahapic2
写真4.バラックで組んだYAHAアンプの試聴


今回は回路の改良と電源ノイズの対策を行ったため、前回よりも大幅に音質が改善した。
プレーヤー直接の場合と比べ音が厚く聞こえるのは、おそらく真空管シングルアンプの特徴である偶数次ひずみが付加されるためか。
実使用に十分耐えうる音質が得られ、USB PDからの電源供給も可能であることから、実用的なポタアンが製作できる可能性が確認できた。

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

| | | コメント (0)

« 2022年7月 | トップページ | 2022年9月 »