この解説は、Skyworks (Silicon Labs) Si47XX PROGRAMMING GUIDE AN332 を基に、Google AI (Gemini) の協力を得て作成しています。
1 プロパティ 0x3102. AM_CHANNEL_FILTER 概要
AM_CHANNEL_FILTER(AMチャンネルフィルタ設定)
AMチャネルフィルタの帯域幅を選択します。
次のコマンドを送信しても安全な状態になると、CTSビット(およびオプションの割り込み)がセットされます。
このプロパティは、パワーアップモードのときにのみ設定または読み出しが可能です。
デフォルトは2 kHz帯域幅のチャネルフィルタです。
注:1 kHzオプション、1.8 kHzオプション、および100 Hzハイパス・ラインノイズ除去フィルタは、Si473x-D60以降のデバイスおよびSi4732デバイス (AM_SW_LWコンポーネント バージョン3.0以降)でサポートされています。
2.5 kHzオプションは、Si473x-D60以降のデバイスおよびSi4732デバイス(AM_SW_LWコンポーネント バージョン5.0以降)でサポートされています。
対応デバイス:すべて
デフォルト:0x0003
AMチャネルフィルタの帯域幅を選択します。
次のコマンドを送信しても安全な状態になると、CTSビット(およびオプションの割り込み)がセットされます。
このプロパティは、パワーアップモードのときにのみ設定または読み出しが可能です。
デフォルトは2 kHz帯域幅のチャネルフィルタです。
注:1 kHzオプション、1.8 kHzオプション、および100 Hzハイパス・ラインノイズ除去フィルタは、Si473x-D60以降のデバイスおよびSi4732デバイス (AM_SW_LWコンポーネント バージョン3.0以降)でサポートされています。
2.5 kHzオプションは、Si473x-D60以降のデバイスおよびSi4732デバイス(AM_SW_LWコンポーネント バージョン5.0以降)でサポートされています。
対応デバイス:すべて
デフォルト:0x0003
2 プロパティ
2.1 プロパティリスト
| Bit | 上位バイト PROPH | 下位バイト PROPL | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Name | 0 | 0 | 0 | 0 | 0 | 0 | 0 | AMPLFLT | 0 | 0 | 0 | 0 | AMCHFLT | |||
| Bit | Name | Function |
|---|---|---|
| 8 | AMPLFLT | AM電源ラインノイズ除去フィルターを有効にします。 |
| 3:0 | AMCHFLT | AMチャンネルフィルター AMチャンネルフィルターの帯域幅を選択します。 以下の設定が可能です。 0 = 帯域幅 6 kHz 1 = 帯域幅 4 kHz 2 = 帯域幅 3 kHz 3 = 帯域幅 2 kHz 4 = 帯域幅 1 kHz 5 = 帯域幅 1.8 kHz 6 = 帯域幅 2.5 kHz(緩やかなロールオフ) 7~15 = 予約済み(使用しないでください) |
2.2 プロパティ
AM_CHANNEL_FILTERは、AM/LW/SW受信モードにおいて、デジタルIF(中間周波数)段の帯域幅およびAC電源ノイズ除去フィルタを制御するプロパティです。
選択可能なデジタルフィルタ帯域幅(6, 4, 3, 2, 2.5, 1.8, 1 kHz)を内蔵DSPでリアルタイムに切り替えることで、隣接する周波数の混信(近接局の被り)を遮断します。
さらに、50Hz/60HzのAC商用電源ラインから混入するハムノイズ(ハミング音)をデジタル処理で効果的に抑え込む機能を併せ持っています。
選択可能なデジタルフィルタ帯域幅(6, 4, 3, 2, 2.5, 1.8, 1 kHz)を内蔵DSPでリアルタイムに切り替えることで、隣接する周波数の混信(近接局の被り)を遮断します。
さらに、50Hz/60HzのAC商用電源ラインから混入するハムノイズ(ハミング音)をデジタル処理で効果的に抑え込む機能を併せ持っています。
2.2.1 AMPLFLT (AM Power Line Noise Rejection Filter Enable)
目的と概要:
100Hzのハイパスフィルタを有効にし、AC電源(商用電源)ラインから誘発される低周波の電源ノイズやハム音をカットします。
1 でフィルタ有効、0 で無効(デフォルト)となります。
AN332に明記されない目的と解説:
1 でフィルタ有効、0 で無効(デフォルト)となります。
一般的なACアダプタ利用時のハムノイズ対策用とされていますが、電子機器やマイコン基板が近接する組込み環境において、
PWM制御(液晶のバックライト調光やモーター駆動)による低周波の回り込みノイズを緊急回避する簡易的なリジェクションフィルタとしても役立ちます。
また、屋外での移動受信時など、近くのAC電線(配電線)から放射される誘導電界ノイズをソフトウェア的に遮断・軽減するテスト用スイッチとしても活用されます。
また、屋外での移動受信時など、近くのAC電線(配電線)から放射される誘導電界ノイズをソフトウェア的に遮断・軽減するテスト用スイッチとしても活用されます。
2.2.2 AMCHFLT (AM Channel Filter Bandwidth Select)
目的と概要:
デジタルチャンネルフィルタの帯域幅を以下の値で選択します。
0 = 6 kHz / 1 = 4 kHz / 2 = 3 kHz / 3 = 2 kHz(デフォルト)/ 4 = 1 kHz / 5 = 1.8 kHz / 6 = 2.5 kHz (緩やかな減衰)。
AN332に明記されない目的と解説:
0 = 6 kHz / 1 = 4 kHz / 2 = 3 kHz / 3 = 2 kHz(デフォルト)/ 4 = 1 kHz / 5 = 1.8 kHz / 6 = 2.5 kHz (緩やかな減衰)。
単なる混信除去にとどまらず、電波のコンディション(RSSIやSNR)に応じた「聴感上のオーディオバランス調整」として裏で機能します。
AM放送の音声信号は、帯域が狭いほどこもった音になり、広いほど高域まで伸びたクリアな音になります。
混信がないクリアな局では、あえて最大の 6 kHz を選ぶことで中波でもFMに迫る豊かな広帯域オーディオを引き出し、 DSP内部の自動音量制御(AVC)やディエンファシス処理と組み合わせて、聴き疲れしないプロ仕様の音場をソフトウェア側で強制的に作り出すバッファとしても機能します。
AM放送の音声信号は、帯域が狭いほどこもった音になり、広いほど高域まで伸びたクリアな音になります。
混信がないクリアな局では、あえて最大の 6 kHz を選ぶことで中波でもFMに迫る豊かな広帯域オーディオを引き出し、 DSP内部の自動音量制御(AVC)やディエンファシス処理と組み合わせて、聴き疲れしないプロ仕様の音場をソフトウェア側で強制的に作り出すバッファとしても機能します。
3 応答パラメータ
STATUS (Status Byte)
CTS (Clear to Send):
ERR (Error):
1 になると、チップが前のコマンドの処理を完了し、次のコマンドを受け入れられる状態であることを示します。
ERR (Error):
1 の場合、直前に送ったコマンドやプロパティの引数が不正(範囲外など)であったことを示します。
4 その他(Google AI (Gemini) の見解)
4.1 コマンドの重要ステップと注意事項
書き込みタイミングの限定:
16ビットデータ構造の取扱:
必ず Powerup(起動状態)モード中 に設定してください。
選局直後、または音声が最初に出力されるタイミングに同期させて初期書き込み(デフォルトの2kHzから変更したい場合)を行うのが確実です。
選局直後、または音声が最初に出力されるタイミングに同期させて初期書き込み(デフォルトの2kHzから変更したい場合)を行うのが確実です。
16ビットデータ構造の取扱:
AMPLFLTはビット8(上位バイトの最下位ビット)、AMCHFLTはビット3:0(下位バイトの4ビット)に位置しています。
そのため、例えば「100Hz電源ノイズ除去をON」にしつつ「帯域幅を6kHz(値0)」にする場合は、0x0100 のように上位・下位双方のバイト演算を正確に行って送信する必要があります。
そのため、例えば「100Hz電源ノイズ除去をON」にしつつ「帯域幅を6kHz(値0)」にする場合は、0x0100 のように上位・下位双方のバイト演算を正確に行って送信する必要があります。
4.2 もう少し踏み込んだ応用展開
「オート(適応型)帯域幅制御」の実装: ホストマイコン側で AM_TUNE_STATUS コマンド等を用いて SNR(信号対雑音比) を定期的にサンプリングします。
SNRが高い(強電界・超クリア):
SNRが中程度(通常受信):
SNRが極めて低い(ノイズまみれの遠距離局・混信大):
AMCHFLTを 0 (6kHz) に広げて超高音質化。
SNRが中程度(通常受信):
AMCHFLTを 1 (4kHz) または 3 (2kHz) に設定。
SNRが極めて低い(ノイズまみれの遠距離局・混信大):
AMCHFLTを 4 (1kHz) まで絞り込み、混信局のキャリアを物理的に叩き落として音声を浮き上がらせる。
このように「自動追従型デジタルIFフィルタ」を組むと、自作ラジオの操作性が格段に向上します。
このように「自動追従型デジタルIFフィルタ」を組むと、自作ラジオの操作性が格段に向上します。
4.3 デバッグ時のチェックリスト
16ビットのバイナリ合成時、AMPLFLT(ビット8)のシフト操作((1 << 8))が正しく行われ、上位バイトに 0x01 が乗っているか?
GET_PROPERTY コマンドで 0x3102 を読み戻した際、書き込んだ通りのビットパターンが返ってくるか?
帯域幅を 6kHz から 1kHz に切り替えた際、出力オーディオの高音域が「こもる方向」へ段階的に変化し、ノイズの音色(ザー音からボー音へ)が変わるか(聴感および波形での確認)?
GET_PROPERTY コマンドで 0x3102 を読み戻した際、書き込んだ通りのビットパターンが返ってくるか?
帯域幅を 6kHz から 1kHz に切り替えた際、出力オーディオの高音域が「こもる方向」へ段階的に変化し、ノイズの音色(ザー音からボー音へ)が変わるか(聴感および波形での確認)?
4.4 まとめ
AM_CHANNEL_FILTER(0x3102)は、Si4735の誇る高性能なデジタルSDR(ソフトウェア無線)アーキテクチャの恩恵を最も直接的に体感できる、受信機の心臓部と言えるプロパティです。
単なる固定値ではなく、受信環境に応じて動的にパラメータを変化させることで、 市販の高級ハイエンドレシーバーに匹敵する「超分離・高選択度」のラジオをソフトウェアのみで構築することが可能になります。
単なる固定値ではなく、受信環境に応じて動的にパラメータを変化させることで、 市販の高級ハイエンドレシーバーに匹敵する「超分離・高選択度」のラジオをソフトウェアのみで構築することが可能になります。
