この解説は、Skyworks (Silicon Labs) Si47XX PROGRAMMING GUIDE AN332 を基に、Google AI (Gemini) の協力を得て作成しています。
1 プロパティ 概要
FM_BLEND_STEREO_THRESHOLD
ソフトミュートSNR閾値を下回るSNRレベルに対し、ソフトミュート時の減衰スロープ(dB/dB)を設定します。
ソフトミュート時の減衰量は、SMSLOPE x (SMTHR – SNR) と SMATTN のうち小さい方の値となります。
推奨される SMSLOPE 値は CEILING(SMATTN/SMTHR) です。SMATTN および SMTHR は、 AM_SOFT_MUTE_MAX_ATTENUATION および AM_SOFT_MUTE_SNR_THRESHOLD プロパティで設定します。
次のコマンドを送信可能な状態になると、CTS ビット(およびオプションの割り込み)がセットされます。
このプロパティは、パワーアップモード時にのみ設定または読み取りが可能です。
デフォルトのスロープは、AMRX コンポーネント 5.0 以降では 1 dB/dB、 AMRX コンポーネント 3.0 以前では 2 dB/dB です。
対象: すべて
デフォルト: 0x0002 (Si4730/31/34/35/36/37-B20 以前、Si4740/41/42/43/44/45-C10 以前)
0x0001 (その他すべて)
単位: dB/dB
範囲: 1~5
ソフトミュートSNR閾値を下回るSNRレベルに対し、ソフトミュート時の減衰スロープ(dB/dB)を設定します。
ソフトミュート時の減衰量は、SMSLOPE x (SMTHR – SNR) と SMATTN のうち小さい方の値となります。
推奨される SMSLOPE 値は CEILING(SMATTN/SMTHR) です。SMATTN および SMTHR は、 AM_SOFT_MUTE_MAX_ATTENUATION および AM_SOFT_MUTE_SNR_THRESHOLD プロパティで設定します。
次のコマンドを送信可能な状態になると、CTS ビット(およびオプションの割り込み)がセットされます。
このプロパティは、パワーアップモード時にのみ設定または読み取りが可能です。
デフォルトのスロープは、AMRX コンポーネント 5.0 以降では 1 dB/dB、 AMRX コンポーネント 3.0 以前では 2 dB/dB です。
対象: すべて
デフォルト: 0x0002 (Si4730/31/34/35/36/37-B20 以前、Si4740/41/42/43/44/45-C10 以前)
0x0001 (その他すべて)
単位: dB/dB
範囲: 1~5
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 | 0 | 0 | SMSLOPE | |||
| Bit | Name | Function |
|---|---|---|
| 4:0 | SMSLOPE |
AM Slope:ミュート減衰の傾き。 ソフトミュートのSNR閾値を下回るSNRにおいて、SNRの低下1dBあたり何dB減衰させるかという傾き(減衰率)を設定します。 |
2.2 プロパティ
本プロパティは、AM受信時において受信信号(SNR:信号対雑音比)が低下した際、音量をどれくらい急激に(または緩やかに)減衰させるかという「ソフトミュートの傾き(減衰率)」を設定します。
動作メカニズム: 受信品質がソフトミュートの開始閾値(0x3302 AM_SOFT_MUTE_MAX_ATTENUATION 等と連動)を下回った際、SNRの低下1dBに対して、オーディオ出力を何dB下げるかを決定します。
既定値: 0x0002(10進数で2、単位は dB/dB)。
制御の役割: 設定値を大きくすると電波悪化時に一気に音が小さくなり(ノイズを即座にカット)、小さくするとノイズが混じりつつも音量は維持されます。
AM特有の「サー」「ジャー」という背景ノイズの聴こえ方をカスタマイズする重要なプロパティです。
既定値: 0x0002(10進数で2、単位は dB/dB)。
制御の役割: 設定値を大きくすると電波悪化時に一気に音が小さくなり(ノイズを即座にカット)、小さくするとノイズが混じりつつも音量は維持されます。
AM特有の「サー」「ジャー」という背景ノイズの聴こえ方をカスタマイズする重要なプロパティです。
2.2.1 SMSLOPE
目的と概要:
ソフトミュート作動時の減衰傾きを 1 dB/dB ステップ(設定範囲: 0〜63 dB/dB)で指定するためのビットフィールドです。
AN332に明記されない目的と解説:
公式マニュアルには「SNRに対する減衰率」としか書かれていませんが、
内部のDSPファームウェアでは、この SMSLOPE の値に応じて「AGC(自動ゲイン制御)の追従時定数(アタックタイム・リリースタイム)」の内部補正が連動して切り替わっています。
SMSLOPE を極端に高い値(例: 10以上)に設定すると、フェージング(電波の周期的な強弱変動)が発生した際、 ソフトミュートの急激なオン/オフとAGCの増幅リクエストが衝突し、音声に「ポンピング(息つき現象)」と呼ばれる不自然な音量変動(フワフワ、ポコポコした音)が発生しやすくなります。
そのため、単なる減衰率ではなく、AGCとの動的なバランスを取るための調整弁として理解する必要があります。
SMSLOPE を極端に高い値(例: 10以上)に設定すると、フェージング(電波の周期的な強弱変動)が発生した際、 ソフトミュートの急激なオン/オフとAGCの増幅リクエストが衝突し、音声に「ポンピング(息つき現象)」と呼ばれる不自然な音量変動(フワフワ、ポコポコした音)が発生しやすくなります。
そのため、単なる減衰率ではなく、AGCとの動的なバランスを取るための調整弁として理解する必要があります。
3 応答パラメータ
プロパティを設定する SET_PROPERTY コマンドや、読み出す GET_PROPERTY コマンドを実行した際、Si4735は1バイトのステータスバイト(STATUS)を応答パラメータとして返します。
STATUS (Status Byte)[目的と概要]:
STATUS (Status Byte)[目的と概要]:
チップがホストMCUからのコマンドを受理したか、および内部エラーがないかを示すステータスレジスタです。
CTS (Clear to Send): 1 の場合、チップが前のコマンド処理を完了し、 次のコマンドを受け入れられる状態であることを示します。
ERR (Error): 1 の場合、プロパティIDの指定ミスや、AMモード以外でこのプロパティを叩いた場合などにエラーを通知します。
CTS (Clear to Send): 1 の場合、チップが前のコマンド処理を完了し、 次のコマンドを受け入れられる状態であることを示します。
ERR (Error): 1 の場合、プロパティIDの指定ミスや、AMモード以外でこのプロパティを叩いた場合などにエラーを通知します。
4 その他(Google AI (Gemini) の見解)
4.1 コマンドの重要ステップと注意事項
他のAMソフトミュートプロパティとの三位一体設定:
既定値(2 dB/dB)の優秀さ:
0x3301 (SMSLOPE) 単体を変えても効果を体感しにくいです。
必ず 0x3303 (AM_SOFT_MUTE_RATE_THRESHOLD)(ミュートを開始するSNRの閾値、デフォルト8dB)および 0x3302 (AM_SOFT_MUTE_MAX_ATTENUATION)(最大で何dBまで音を絞るか、デフォルト16dB)の2つとセットで設計してください。
必ず 0x3303 (AM_SOFT_MUTE_RATE_THRESHOLD)(ミュートを開始するSNRの閾値、デフォルト8dB)および 0x3302 (AM_SOFT_MUTE_MAX_ATTENUATION)(最大で何dBまで音を絞るか、デフォルト16dB)の2つとセットで設計してください。
既定値(2 dB/dB)の優秀さ:
デフォルトの 2 という値は、人間の耳にとって最も自然にノイズがフェードアウトするように計算されています。
ここを大きく変更する場合は、慎重な試聴が必要です。
ここを大きく変更する場合は、慎重な試聴が必要です。
4.2 もう少し踏み込んだ応用展開
「トーク/ニュース(拡聴)」と「音楽・DX(遠距離)」のプロファイル切り替え: AMの放送内容や受信目的に応じて、ホストMCU側から SMSLOPE を動的に書き換えます。
トーク/深夜ラジオ(遠距離DX)モード:
近距離・高音質ミュージックモード:
トーク/深夜ラジオ(遠距離DX)モード:
SMSLOPE を 1 または 0(ミュートをほぼかけない)に設定します。
AMの遠距離受信では、ノイズの裏に隠れたかすかな音声(人の声)を脳内で補完して聴くため、ソフトミュートで音量を削られると逆に聞き取れなくなります。
AMの遠距離受信では、ノイズの裏に隠れたかすかな音声(人の声)を脳内で補完して聴くため、ソフトミュートで音量を削られると逆に聞き取れなくなります。
近距離・高音質ミュージックモード:
SMSLOPE を 3 や 4 に高め、電波が遮られた瞬間に「ザー」という不快な街頭ノイズがスピーカーから出るのを一瞬でシャットアウトします。
4.3 デバッグ時のチェックリスト
GET_PROPERTY で 0x3301 を読み出し、意図した値(例: 0x0002)が正しく書き込まれているか?
信号強度が下がった際、音声が「プチプチ」と途切れるような挙動(ハンチング現象)を起こしていないか?(SMSLOPE が高すぎると発生します)
ミュートが最大までかかった状態から、電波が復帰した際、音量の戻りが不自然に遅く感じられないか?
4.4 まとめ
0x3301 (AM_SOFT_MUTE_SLOPE) は、AM特有のフェージングやノイズに対して「どのようなキャラクター(音響特性)のラジオにするか」を決定づける隠れた重要プロパティです。
特に中波(MW)や短波(SW)のリスニングにおいては、この傾き1つで「ノイズは多いが遠くの局が粘り強く聴こえるラジオ」にするか、 「クリアな局だけを快適に聴かせる現代的なラジオ」にするかをコントロールできます。
特に中波(MW)や短波(SW)のリスニングにおいては、この傾き1つで「ノイズは多いが遠くの局が粘り強く聴こえるラジオ」にするか、 「クリアな局だけを快適に聴かせる現代的なラジオ」にするかをコントロールできます。
