
超エレキ万博2026が終ったので、保留にしていたハードウェアの改造を実施(展示で動かないわけにはいかないので終了までお預けにしていた)。

変更ポイント
一次試作はこの状態。

この状態ですでにオペアンプを載せている(右上の方)。入力信号のプリアンプと、出力のアクティブLPFがこのオペアンプの役割り。手元の環境ではプリアンプはなくても充分ではあるけれど、弱い場合もあろうかと。出力のLPFは当初の設計ではパッシブだったけれど、プリアンプとしてオペアンプを載せることにしたので、あまりの一回路を使ってアクティブフィルタにすることに。
二次試作の初期状態がこちらの記事。

ここでは一次試作に対して、上記のプリアンプとアクティブLPFの他に以下の変更を行っている。
- 出力を外付けDACに変更(一次試作ではRP2350からPWMで出していた)。
- それに伴い、サンプリング周波数の変更(36.62kHz(150MHz/4096)から、48kHzに変更)。
- 出力サンプリング周波数は2fsの96kHz。アクティブLPFの設計を楽に。
- USBへの音声出力機能追加(サンプリング周波数を48kHzにしたので普通に扱える)。
- USBを使ってPCとの連携でパラメトリックイコライザを実装(3バンド)。スピーカやヘッドフォン、自分の好みの音質に調整可能。
- パラメトリックイコライザ対応に伴い、基本出力レベルを0.7倍(-3dB)に変更。プラス側のヘッドルームを確保。

USBに音声信号を流せるようになったので、スマートフォンやタブレットのスペアナアプリでもBPFなどの様子をリアルタイムで見られるようになった。これは視覚でわかるのでデモで非常に好評だった。下は、BPFにノッチを入れた状態(電源もタブレット機から供給することになる)。

iPhoneでもいける。

なお、USBオーディオ出力は、L-chにDSP処理後、R-chに処理前(生音)を出すようにしている。両ch共、DSP処理後のものを出すこともできる(タブレット機などは強制的にL+Rでモノラル化してしまうようだったので、その対応)。

ここまでが超エレキ万博2026時に実装していたもの。
その後実施した改造は以下の通り(写真は一番上)。
- スピーカ/ヘッドフォンの自動判別(プラグ挿込みによる)。
- その状態を受け取るためにマイコンのGPIO割り当てを見直し(DIP SWの整理)。
- テストトーンの発生指示をDIP SWから押しボタンスイッチに変更。
- スピーカ/ヘッドフォンの自動判別によって、パラメトリックイコライザの自動切替え。
- ヘッドフォン時には空電などの突発的大音量を制限するクリッパを実装。
- DAC出力のLPFの定数見直し(2fs対応)。
- オーディオアンプのポップ音対策。電源を切るのはやめてシャットダウン機構だけを使うことにした。かなり小さくなるがゼロにはならない。電源断とシャットダウンの併用だと電源電圧が下がってくるためか、どうしてもポップ音が消せなかった。シャットダウンだと待機電流が流れるが数十μAなので良しとする。
- オーディオアンプの電源を切るのをやめたことに伴って、電源パイロットランプをマイコン制御に変更(他のステータスの表示にも利用)。
ソフトは上記の大音量クリッパ機構の追加を除いて、基本的なところは変っていないが、パラメータを見直して操作性を良くした(つもり)。
本当は二次試作で終りにしたかったのだけれど、改造箇所が多くなってしまったので、もう一度試作しておこう。
特性(再)確認
周波数特性は前回の記事と変っていないが、USBオーディオ対応したので余計なノイズが紛れ込まず、きれいに見られるようになったので改めて。
Phoneモード
まず、ホワイトノイズの素通し。

右肩上がりに見えるのは、サンプリング回数の影響らしい。300回の平均を表示させると概ねフラトになる(下の図の青線)。

BPFを効かせたところ。下が100Hz、上が8kHz。主にAM放送をターゲットにしている。

この特性で一番絞った状態。上が約3kHz。

3kHzを下回るとSSBがターゲット。下は200Hzでカット。かつ、フィルタの切れを急峻に。

一番絞ると、上が1kHz。下は200Hzなので、通過帯域幅は800Hz。これでも人の声として認識できる。

テスト信号として1kHzと3.7kHzを重畳した状態。

ノッチで1kHzを落とす。

オートノッチを使うと両方落とせる。きれいに落ちるが、音がややデジタル臭くなる(わずかなケロり感)。

大量のビートもオートノッチでほとんど落とせる。デジタル臭は強くなる。まぁ、通常はこんなにたくさんのビートはないだろうが。


こちらはホワイトノイズに1kHzを重ねたものに、ノイズリダクションをかけたもの。ホワイトノイズのレベルが下がっているのがわかる。ノイズリダクションの効き具合は可変だけれど、これも強くするとデジタル臭が漂ってくる(元音にもよる)。

ノイズリダクションはFMでも有効かも(弱い信号の局でノイズがらみになっている場合とか)。
CWモード
まず、BPFが最も広い状態。下が300Hz、上が3kHz。空いているバンドで広い範囲をワッチしたいという場合を想定。

この動作モードで最も絞った状態が通過帯域幅が500Hz。ピッチ(中心周波数)は可変(300~1500Hz)。下の図では750Hzあたり。

通過帯域幅が500Hzを下回ると、APF(オーディピークフィルタ)の特性に変る。

下限は150Hz。

さらに、70Hzに絞ることもできる。言い換えると70~150Hzの間は飛ばす。このあたりを細かく調整しても聴感上はほとんど変らなかったので、それなら広い方の可変をやりやすいようにと(回転角を大きく確保する)。

また、オーディオピークフィルタではなくて、クリスタルフィルタのように通過帯域をフラットにすることもできる。これは通過帯域が200Hzくらいかな?

アナログ部を含む特性
上のテストは、マイコン内部でホワイトノイズを作り、出力もUSBで行ったもの。つまり、DSP部の特性。したがって、入力部のプリアンプや出力DAC+LPFの特性は含まれいない。そこで、アナログ部を含めた全体特性も確認しておく。ただし、ライン出力で測定したため、オーディオアンプは含んでいない(BTL出力のため測定が面倒なので…)。
素通し。出力にカップリングCが入っているので100Hzより下はややレベルが落ちる。とは言え、BPFはAMターゲットの領域でも200Hzでカットするので問題ない。上は15kHzくらいからスッパリ切れる。

下も上もBPFの通過周波数を完全にカバーしているのでこれだけ分かれば充分であるが、念のため、いくつかの特定も見ておく。
まず、Phoneモードで最広帯域。

広帯域モードでの最狭状態。

狭帯域モードでの最広状態。

狭帯域モードで最狭状態。

CWモードでの最広状態。

CWでの広帯域モードでの最狭状態。

通過帯域幅300Hzを境に、狭くするとオーディオピークフィルタの特性に変化。

通過帯域幅150Hz程度。

70Hzのスペシャルモード。

通過帯域の特性をフラットにした場合。通過特性自体は200Hz程度に設定。



コメント