この解説は、Skyworks (Silicon Labs) Si47XX PROGRAMMING GUIDE AN332 を基に、Google AI (Gemini) の協力を得て作成しています。
1 プロパティ 0x3403. AM_SEEK_TUNE_SNR_THRESHOLD 概要
AM_SEEK_TUNE_SNR_THRESHOLD
有効なAMシーク/チューンとみなすためのSNR閾値を設定します。
値を0に設定した場合、AMシーク実行時にSNRは有効性の判定基準として使用されません。
次のコマンドを送信しても安全な状態になると、CTSビット(およびオプションの割り込み)がセットされます。
このプロパティは、パワーアップモードのときにのみ設定または読み取りが可能です。
デフォルトの閾値は5 dBです。
対応機種:すべて
デフォルト:0x0005
単位:dB
ステップ:1
範囲:0~63
有効なAMシーク/チューンとみなすためのSNR閾値を設定します。
値を0に設定した場合、AMシーク実行時にSNRは有効性の判定基準として使用されません。
次のコマンドを送信しても安全な状態になると、CTSビット(およびオプションの割り込み)がセットされます。
このプロパティは、パワーアップモードのときにのみ設定または読み取りが可能です。
デフォルトの閾値は5 dBです。
対応機種:すべて
デフォルト:0x0005
単位:dB
ステップ:1
範囲:0~63
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 | 0 | 0 | 0 | AMSKSNR | |||||
| Bit | Name | Function |
|---|---|---|
| 5:0 | AMSKSNR | AMシーク/チューン時のSNR閾値。 シークまたはチューニング中に有効なチャンネルが検出されたかどうかを判定するためのSNR閾値です。 1 dB単位(0~63)で指定します。 デフォルトの閾値は5 dBです。 |
2.2 プロパティ
2.2.1
目的と概要:
0 (0 dB)
1 〜 63 (1 dB 〜 63 dB) ※デフォルト値: 5 (5 dB)
AN332に明記されない目的と解説:
SNRによる制限を事実上無効化します。
1 〜 63 (1 dB 〜 63 dB) ※デフォルト値: 5 (5 dB)
局判定を行うためのSNRしきい値を1 dBステップで任意に設定します。
0 (0 dB)
1 〜 63 (1 dB 〜 63 dB) ※デフォルト値: 5 (5 dB)
ノイズフロアが極めて低い理想的なシールド環境や、RSSI(電界強度)のみで局判定を行いたい特殊な実装で使用されます。
通常の屋外・屋内環境で設定すると、すべての周波数のノイズを局と誤認してシークが即座に停止するため推奨されません。
通常の屋外・屋内環境で設定すると、すべての周波数のノイズを局と誤認してシークが即座に停止するため推奨されません。
1 〜 63 (1 dB 〜 63 dB) ※デフォルト値: 5 (5 dB)
AMはFMに比べ外部ノイズ(家電、PC、LED照明など)の影響を強く受けます。
デフォルトの 5 dB は比較的感度重視(微弱局も拾う)の設定です。
市中ノイズが多い現代の環境では、8 〜 12 dB 程度まで引き上げることで、不快なノイズ埋もれの無音・雑音チャンネルでの誤停止を劇的に減らすことができます。
短波(SW)受信時はフェージングによりSNRが激しく変動するため、あえて低めの 3 〜 5 dB に設定し、中波(MW)では高めの 10 dB にするといった、 バンドに応じた動的チューニングが実用上非常に有効です。
デフォルトの 5 dB は比較的感度重視(微弱局も拾う)の設定です。
市中ノイズが多い現代の環境では、8 〜 12 dB 程度まで引き上げることで、不快なノイズ埋もれの無音・雑音チャンネルでの誤停止を劇的に減らすことができます。
短波(SW)受信時はフェージングによりSNRが激しく変動するため、あえて低めの 3 〜 5 dB に設定し、中波(MW)では高めの 10 dB にするといった、 バンドに応じた動的チューニングが実用上非常に有効です。
3 応答パラメータ
プロパティ設定(SET_PROPERTY)時および取得(GET_PROPERTY)時の応答パラメータです。
STATUS (ステータスバイト)
RESP1 〜 RESP4 (プロパティ値取得時のみ)
STATUS (ステータスバイト)
チップの現在の動作状態を返します。
最上位ビットの CTS (Clear to Send) が 1 になることで、コマンドが正常に処理され、次のコマンドを受付可能になったことを示します。
最上位ビットの CTS (Clear to Send) が 1 になることで、コマンドが正常に処理され、次のコマンドを受付可能になったことを示します。
RESP1 〜 RESP4 (プロパティ値取得時のみ)
GET_PROPERTY コマンドを送信した場合、設定されている16ビットのプロパティ値(AM_SEEK_TUNE_SNR_THRESHOLD の現在の値)が返されます。
設定値が正しくレジスタに書き込まれたかの検証(ベリファイ)に使用します。
設定値が正しくレジスタに書き込まれたかの検証(ベリファイ)に使用します。
4 その他(Google AI (Gemini) の見解)
4.1 コマンドの重要ステップと注意事項
三種の神器(RSSI、SNR、セパレーション)の連携:
設定変更のタイミング:
シークの成否は本プロパティ単体では決まりません。
必ず姉妹プロパティである 0x3404 (AM_SEEK_TUNE_RSSI_THRESHOLD) と連携して動作します。
「RSSIとしきい値の両方をクリア」して初めてシークが停止するため、片方だけを過剰に高く設定すると、 良好な局であっても永久にシークが止まらなくなる(無限ループする)原因になります。
必ず姉妹プロパティである 0x3404 (AM_SEEK_TUNE_RSSI_THRESHOLD) と連携して動作します。
「RSSIとしきい値の両方をクリア」して初めてシークが停止するため、片方だけを過剰に高く設定すると、 良好な局であっても永久にシークが止まらなくなる(無限ループする)原因になります。
設定変更のタイミング:
AM_SEEK コマンドを発行する「前」に必ずプロパティを書き換えてください。
シーク動作中に変更しても、そのスキャンセッションには反映されません。
シーク動作中に変更しても、そのスキャンセッションには反映されません。
4.2 もう少し踏み込んだ応用展開
「スキャン感度切り替え」機能の実装:
適応型しきい値アルゴリズム(Auto-Threshold):
ラジオのUIに「DX(遠距離局・高感度)」モードと「LOCAL(近距離局・低ノイズ)」モードを設ける展開がおすすめです。
DXモード: SNR = 3 〜 5 dB / RSSI = 低め(ノイズに埋もれた海外短波局や遠距離中波局を強引にシーク)
LOCALモード: SNR = 12 〜 15 dB / RSSI = 高め(地元の大電力局だけを快適にハイスピード選局)
DXモード: SNR = 3 〜 5 dB / RSSI = 低め(ノイズに埋もれた海外短波局や遠距離中波局を強引にシーク)
LOCALモード: SNR = 12 〜 15 dB / RSSI = 高め(地元の大電力局だけを快適にハイスピード選局)
適応型しきい値アルゴリズム(Auto-Threshold):
シーク開始前に、番組のない明らかな空き周波数の現状SNRを数点計測(AM_TUNE_STATUS で取得)し、
その「現在の環境ノイズの平均SNR + 6 dB」を計算して動的に 0x3403 に書き込むことで、
劣悪なノイズ環境下でも誤停止しないスマートな自動選局システムが構築できます。
4.3 デバッグ時のチェックリスト
シークが全く止まらない場合、しきい値が大きすぎないか(まずは 0 または 1 にして止まるか確認)。
シークが毎ステップ(すべての周波数)で止まってしまう場合、しきい値が小さすぎないか(10 以上に上げて変化を見る)。
短波(SW)帯で昼と夜でシークの挙動が極端に変わっていないか(電波伝搬特性によるSNR変動を考慮しているか)。
SET_PROPERTY 送信後、直ちに AM_SEEK を送るのではなく、CTS ビットの確認(または数ミリ秒のディレイ)を挟んでいるか。
シークが毎ステップ(すべての周波数)で止まってしまう場合、しきい値が小さすぎないか(10 以上に上げて変化を見る)。
短波(SW)帯で昼と夜でシークの挙動が極端に変わっていないか(電波伝搬特性によるSNR変動を考慮しているか)。
SET_PROPERTY 送信後、直ちに AM_SEEK を送るのではなく、CTS ビットの確認(または数ミリ秒のディレイ)を挟んでいるか。
4.4 まとめ
AM_SEEK_TUNE_SNR_THRESHOLD は、DSPラジオとしての「選局の賢さ」を左右する超重要パラメータです。
電界強度(RSSI)だけでは見抜けない「音声としての品質(聴くに堪えるか)」をチップ側に判断させるフィルターとして機能します。
固定値に依存せず、MW/SWのバンド特性や、ユーザーが求める感度設定に応じてソフトウェア側から動的にコントロールすることが、
高級機に負けない快適なラジオ制作への鍵となります。
電界強度(RSSI)だけでは見抜けない「音声としての品質(聴くに堪えるか)」をチップ側に判断させるフィルターとして機能します。
固定値に依存せず、MW/SWのバンド特性や、ユーザーが求める感度設定に応じてソフトウェア側から動的にコントロールすることが、
高級機に負けない快適なラジオ制作への鍵となります。
