2015年 01月 23日




関連エントリー (画像)

2015年 01月 22日

シミュレーションしたヘッドフォンアンプを作ってみる

いくつか回路をシミュレーションしたが、ClassAA のヘッドフォンアンプは今まで作ったことがなく、ブリッジの応用の部分がかっこいいので、実際に作ってみたくなった。比較的高出力なオペアンプを選べば能動素子をオペアンプ以外使わなくてもかなり良さそうなので気が楽だ。

回路

シミュレーションで、出力や発振しないかなどを確認した上で、実装しやすいように (手元にある部品で作れるように) 定数を変更している。

ブリッジにしろ、帰還抵抗にしろ比率が保たれていれば良いので、比較的自由がある。

増幅率は3倍にしてあるが、1〜2倍程度でもいいかなという気がする。あまり下げると (つまり帰還を多くすると) オペアンプによっては発振しやすくなるみたいだが、事前にシミュレーションしてある程度確認できるぶん、定数設定が楽だ。いわゆる Zobel フィルタ (高周波発振を防ぐ) は入れてないけど、負荷をちゃんとシミュレーションしていないので、安全のためにはいれたほうが良さそう。

出力インピーダンスはほぼ出力についている抵抗値に等しくなる (=1Ω)。入力インピーダンスはボリュームの値になる (=10kΩ)。

電源

±9V の両電源をトランスから、リニアレギュレータを介して生成している。これは特に理由はなく、もともとあった昔作ったヘッドフォンアンプの電源を流用しているため。高校生ぐらいのときに作ったところなので、ちゃんと作りなおしたほうがよさそうだけど、そのまま…

実体配線図

例によって Eagle に回路を起こしなおし、基板検討を行い。C基板 (25×15 穴) にほぼ収まるように配置した (GND ラインがはみだしてる)。ブリッジ部分が綺麗に配線できるか心配だったが、思いのほか綺麗にいった。ジャンパはパスコン部分だけ。

低周波回路では基板上でも一点アースにして共通インピーダンスをなくすのが非常にノイズ対策に効くのだが、基板の面積的に厳しいので、GND と V+ V- を太めのスズメッキ線を使って配線するようにした。

実際つくったもの

その後検討しなおしたもの

できるだけ、電源の配置を電流が多く流れる出力側にしたり、基板サイズにあうようにした

測定

オーディオアナライザなどはないので、簡易的な測定しかできない。PCオーディオインターフェイスを介して測定を行う。

測定環境

Xonar U7 のヘッドフォン端子から、ヘッドフォンアンプに入力し、ヘッドフォンアンプから、Xonar U7 のライン入力に繋いでいる。

この状態で RMAA (RightMark Audio Analyzer を使って測る)

測定環境ではループバック測定した場合 THD 0.0019% / SN -110dB 程度。これよりも精密な測定はできないので、これよりも悪くなければとりあえず良いということにする。

測定結果

ClassAA RMAA

全体的にそんなに悪くはなさそうだけど、測定限界まで良いとは言えない。Noise level の FFT を見ると、電源を内蔵としたためか、50Hz とその高調波が出力に少し出ている (最大で -100dB 程度)。耳には聞こえないレベルではあるがちょっと気持ちは悪い。これをどうにかしないと測定限界を超えられなさそう。

つまり何も考えないで作った電源がネック

まとめ

別にこれによって音が良くなったかとかは感じないのだけど、自分で作った回路を通して音を聞くというのは気分が良い体験で、面白い。

あいかわらずノイズ対策が最も難しく感じる。いまいちどこから飛びこんでいるノイズなのかがわからない。ボリューム位置で少し変化するので少なくとも入力には多少入っているみたいだ。聴覚上聞こえなくても測定はできる。

できれば、最近そこらにころがっている5V USB を電源にしてコンパクトに作ってみたい。5V から昇圧をかけてノイズフィルタとレギュレータを通す、みたいな。

ASUS Xonar U7

ASUSTek ハイレゾ対応 USB DAC 7.1ch対応 Xonar U7 - ASUS

ASUS

5.0 / 5.0

現時点で最高の USB オーディオデバイスだと思う。

つくった回路の評価のためにもオーディオアナライザが欲しいところだけれど、本物は非常に高価で手に入らない。オーディオに特別思い入れもないのにそこまで投資する気にはなれない。

ただ測定なしでは作る意味が全くないので、RMAA ぐらいは通したい、ということで、今手に入る中で性能的にコスパ最高のを探したところ、そこそこ最近出た ASUS Xonar U7 が良いということがわかった。

RMAA テスト結果

さっそく音楽鳴らすよりも先に RMAA を走らせて見たけど、非常に良いっぽいことはわかった。これはヘッドフォン出力からライン入力に入れて、ライン入力のレベルを最大にしたままヘッドフォンを調整して測定した。(ループバックのテストなので、出力と入力の特性が混ざっている。つまり出入力いずれも優秀でないと良い結果にならない)

ノイズが本当に皆無なのがすごい。後段にヘッドフォンアンプをつけてボリュームを最大にしてもホワイトノイズが聞こえてこないレベル。

余談

実は UR22 を買ったちょっとした後に、SDR 用サウンドカードテストのページを見たら載っていて知っていたのだが、SDR だけのためにさらに機械を買うのもという感じで保留していた。

SDR (ソフトウェア無線) ではサンプリング周波数が同時に見れる帯域幅そのものになる。いわゆるハイレゾオーディオインターフェイスは、ハイレゾ音源がそれほどない現時点では謳い文句と裏腹にSDRでの実利が非常に大きい。

SDR 用では視覚的にFFTされた結果を見ることになるので、サウンドカード由来のノイズは非常に気になりやすい、良いSN比や帯域のフラット性が重要になる。そういう意味でも Xonar U7 は現時点で最高の選択っぽい。

2015年 01月 21日

デジタルモード用インターフェイスの改良

今まで、トランス2個とボリュームと少々の部品だけのインターフェイスで、VOX でデジタル運用していたが、音声もデジタル用の入力から入れようと思いはじめた。

というのも、マイク入力からだとデジタル入力からよりも、無線機内部での入力の増幅率が高くSN が悪化するのと、音声を一旦 PC に入れてDSPをかけて出力する際、デジタルモード用のインターフェイスに出力するほうが接続が楽になるからだ。

そういうことをしようとすると、VOX ではなく PTT をスイッチにして明確に切替えたくなるので、デジタルモードのPTT制御も含めてちゃんと作った。

USB シリアルモジュールの RTS を PTT 出力として使い (他は全く使わない)、手動PTTもRTSを手動で制御するようにした。その後にフォトカプラを入れ、PC側とは絶縁している。

また、この機会に入りこむノイズをできるだけ減らそうということで、USB 延長ケーブルを使って、USB オーディオデバイスの位置を延長し、無線機用のインターフェイスを5cm程度の極短いケーブルに変えた。これでブーンという音が入りこむのを抑えることができた。

あと、トランスの入出力にもフェライトビーズ(チップインダクタ)を入れて、送信時の回り込み対策を強化しておいた。

残念ながら、リグの内部雑音が結構あるみたいで、無音(マイクショート)しても送信状態にするとホワイトノイズが少々送信される (PWR メータは全く振れないが、近くの別の無線機で最大感度に設定すると十分聞きとれるレベル)

あと、シリアル通信か、オーディオインターフェイス由来かわからないが、USB か何かから少し高めの音のノイズが規則的に入るのが気になるが対策できていない。ノイズ対策は難しい。

2015年 01月 20日

先週末に奈良に行った。

子供が歩く前に一回どっか行っておこうということで、1週間前ぐらいに急に予定を決めて1泊した。

いったところ

1日目

  • 春日大社
  • 東大寺 (大仏殿)
  • 法隆寺

2日目

  • 大神神社 (大和国一宮)
  • 石上神宮
  • 伏見稲荷大社

奈良、無限に歩けるならいいんだけど、子供抱っこして歩くには案外坂が多くてきつく、1つ1つのポイントが離れているので、厳しいかった。

2015年 01月 14日

LTSpice でヘッドフォンアンプを解析する

LTSpice に慣れようということで、いくつか代表的なヘッドフォンアンプの回路をシミュレーションし、全高調波歪率 (THD / Total Harmonic Distortion) を出してみた。

オペアンプには単体で70mAまで電流をとれる NJM4556A で全て統一し、増幅率もほぼ同じになるように組んだ。

回路

オペアンプ1回路・バッファなしシンプル

THD=0.000134%

部品点数が少ないし、普通に使うぶんには完全に十分そう…

オペアンプ2回路・出力増強

THD=0.000131%

オペアンプ1回路・ダイアモンドバッファ

THD=0.000150%

ヘッドフォンアンプだと良く使われるバッファ

オペアンプ2回路・ClassAA

THD=0.000055%

オペアンプ2つを使ったものだけど、パラにしているわけではなく、ホイートストンブリッジを使い電圧増幅するオペアンプと電流増幅するオペアンプとで役割をわけたもの。実際に作る場合、最初のオペアンプは殆ど負荷がかからないようになっているので、もっと低歪みのオペアンプを使う。

備考

電流に余裕があるオペアンプなためバッファなしで十分良いという感じになった。

LTSpice

.four コマンドは .tran 解析の後、指定した回路のポイントをFFTして高調波歪を求められる。出力はログ (Cmd+L) に出る。デフォルトでは第9高調波まで算出するが、十分っぽい。最後に THD が表示される。

.option plotwinsize=0 を指定しないと、ものすごい数字が出てしまい、ハマった。このオプションはLTSpiceに対し、解析結果のデータ圧縮を無効にする効果がある。LTWiki の FAQ にもなっていた。歪み率を算出したいのに、データ圧縮が効いているとどうしようもない。

このへんが参考になった

http://lowreal.net/2015/01/14/3 に続く

LTSpice の小技

複数の解析コマンドを簡単に切替えたい

Comment と Directive が同じ画面で編集になっているという点に気付く。

つまり、解析コマンドのまとまりごとに別の Directive のまとまりを作り、必要ないものは Comment に切替えておくという手段をとるのが一番簡単。いちいち行頭にセミコロンを付けてまわるとかしなくて良い。

よく変更するパラメータに名前をつけたい

.param ディレクティブを使えば、任意の数値に名前をつけられる。参照するときは {name} とすれば良い。

LTSpice でヘッドフォンアンプを解析する2

http://lowreal.net/2015/01/14/1 の続き

NJM4556A は 70mA と余裕があるオペアンプだが、こんなに電流とれるオペアンプはそれほどないので、もう少し普通のオペアンプで試してみる。

OPA2134 (= OPA134) という低歪みなオペアンプで試す。これは出力電流が±35mAと、丁度 NJM4556A の半分となる。

回路

オペアンプ1回路・バッファなしシンプル

THD=19.97%

電流が足りず、クリッピングしてる。

オペアンプ2回路・出力増強

THD=0.000041%

オペアンプ1回路・ダイアモンドバッファ

THD=0.000116%

オペアンプ2回路・ClassAA

THD=0.000022%

片方は電流ソースになるので NJM4556A のままにしてある。THD はこれが最低。