この解説は、Skyworks (Silicon Labs) Si47XX PROGRAMMING GUIDE AN332 を基に、Google AI (Gemini) の協力を得て作成しています。
1 プロパティ 概要
SSB.AMSOFT_MUTE_SNR_THRESHOLD(プロパティID: 0x3303)
ソフトミュートを作動させるためのSNR(信号対雑音比)しきい値を設定します。
同調周波数のSNRがこのしきい値を下回ると、ソフトミュートの最大減衰量設定がゼロでない限り、AM受信はソフトミュート状態になります。
次のコマンドを送信しても安全な状態になると、CTSビット(およびオプションの割り込み)がセットされます。
このプロパティの設定や読み取りは、パワーアップモード時のみ可能です。
デフォルトのSNRしきい値は、AMRXコンポーネントバージョン5.0以降では8 dB、AMRXコンポーネントバージョン3.0以前では10 dBです。
対象: すべて
デフォルト: 0x000A (Si4730/31/34/35/36/37-B20以前、Si4740/41/42/43/44/45-C10以前)
0x0008 (その他すべて)
単位: dB
ステップ: 1
範囲: 0~63
ソフトミュートを作動させるためのSNR(信号対雑音比)しきい値を設定します。
同調周波数のSNRがこのしきい値を下回ると、ソフトミュートの最大減衰量設定がゼロでない限り、AM受信はソフトミュート状態になります。
次のコマンドを送信しても安全な状態になると、CTSビット(およびオプションの割り込み)がセットされます。
このプロパティの設定や読み取りは、パワーアップモード時のみ可能です。
デフォルトのSNRしきい値は、AMRXコンポーネントバージョン5.0以降では8 dB、AMRXコンポーネントバージョン3.0以前では10 dBです。
対象: すべて
デフォルト: 0x000A (Si4730/31/34/35/36/37-B20以前、Si4740/41/42/43/44/45-C10以前)
0x0008 (その他すべて)
単位: 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 | SMTHR | ||||||
| Bit | Name | Function |
|---|---|---|
| 6:0 | SMTHR |
AMソフトミュートSNR閾値。 SSB.AMSOFT_MUTE_MAX_ATTENUATIONプロパティに書き込まれた値がゼロでない場合、同調周波数のSNRがこの閾値を下回るとソフトミュートが作動します。 デフォルトのSNR閾値は8 dBです。 |
2.2 プロパティ
本プロパティは、AM受信時においてソフトミュート(自動音量減衰)機能を開始(エンゲージ)させるための信号対雑音比(SNR)の閾値を設定します。
動作メカニズム:
既定値:
制御の役割:
動作メカニズム:
受信している放送の現在のSNRがこのプロパティで設定した値を下回ると、チップはノイズ低減のために音量の減衰プロセスを自動的に開始します。
既定値:
0x0008(10進数で8、単位は dB)。
制御の役割:
ソフトミュート回路が作動する「タイミングの引き金(トリガーポイント)」を決定するパラメータです。
値を高くすると、電波が少しでも汚くなった時点(比較的クリアな状態)から早めにミュートがかかり始め、値を低くすると、ノイズまみれの極電界になるまで音量を維持しようとします。
値を高くすると、電波が少しでも汚くなった時点(比較的クリアな状態)から早めにミュートがかかり始め、値を低くすると、ノイズまみれの極電界になるまで音量を維持しようとします。
2.2.1 SMTHR
0x3303 プロパティのビット [3:0](またはチップ世代のレジスタマップによっては [6:0])に割り当てられているフィールドです。
目的と概要:
目的と概要:
ソフトミュートを開始するSNRの境界値を 1 dBステップ(設定範囲: 0〜63 dB、実用上は通常 0〜15 dB 付近)で指定するためのビットフィールドです。
AN332に明記されない目的と解説:
: AN332には単に「ソフトミュートをエンゲージするSNR」としか記されていませんが、内部のDSPファームウェアでは、
この SMTHR の値に基づいて「隣接チャネルのビートノイズ(混信フラグ)」に対する判定感度のマージンとしてもクロスリファレンス(内部連携)されています。
AM帯で隣接局からの強力な「ピーー」という混信ビートが発生した際、 DSPはそれを「SNRの悪化(広帯域ノイズの増加)」と誤認し、この SMTHR が高すぎると過剰に反応して音を絞りすぎてしまいます。
つまり、単なる音声のノイズ感だけでなく、「混信がある環境下でどれだけ音声を粘り強く残すか」を切り分けるための隠れたチューニングファクターとして機能しています。
AM帯で隣接局からの強力な「ピーー」という混信ビートが発生した際、 DSPはそれを「SNRの悪化(広帯域ノイズの増加)」と誤認し、この SMTHR が高すぎると過剰に反応して音を絞りすぎてしまいます。
つまり、単なる音声のノイズ感だけでなく、「混信がある環境下でどれだけ音声を粘り強く残すか」を切り分けるための隠れたチューニングファクターとして機能しています。
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 コマンドの重要ステップと注意事項
数式の破綻に注意(最重要):
推奨の傾き(SLOPE)値との連動:
公式ガイドに記載されているソフトミュートの減衰計算式は 減衰量 = SMSLOPE × (SMTHR - 現在のSNR) です。
もし SMTHR を現在の通常の受信環境よりも極端に高い値(例: 20dB以上)に設定してしまうと、 電波状況がそこまで悪くない(例えばSNRが15dBある)にもかかわらず、式の上で常に大きな減衰量が計算され続け、音が常に小さくこもった状態になってしまいます。
もし SMTHR を現在の通常の受信環境よりも極端に高い値(例: 20dB以上)に設定してしまうと、 電波状況がそこまで悪くない(例えばSNRが15dBある)にもかかわらず、式の上で常に大きな減衰量が計算され続け、音が常に小さくこもった状態になってしまいます。
推奨の傾き(SLOPE)値との連動:
: シリコンラボラトリーズの公式推奨として、傾きプロパティ(0x3301)の値は 切り上げ(SMATTN / SMTHR) で計算されるべきとされています。
SMTHR を変更した場合は、この推奨バランスが崩れないよう、0x3301 (SMSLOPE) の値も合わせて再計算して書き換えるのがベストプラクティスです。
SMTHR を変更した場合は、この推奨バランスが崩れないよう、0x3301 (SMSLOPE) の値も合わせて再計算して書き換えるのがベストプラクティスです。
4.2 もう少し踏み込んだ応用展開
「SSB(一側波帯)/CW受信」におけるソフトミュートの最適化(パッチ適用時):
Si4735にサードパーティ製パッチを適用してアマチュア無線や短波のSSB/CWを受信する場合、ソフトミュートは「百害あって一利なし」の挙動を示しやすくなります。
SSBやCWは、信号そのものが断続的(またはキャリアのみ)であるため、信号がない瞬間はSNRが0dB近くまで一瞬で落ちます。
このとき SMTHR がデフォルトの 8dB のままだと、符号や音声の切れ目ごとにソフトミュートが激しくオン/オフを繰り返し、信号の頭が潰れて聞き取れなくなります。
対策:
SSBやCWは、信号そのものが断続的(またはキャリアのみ)であるため、信号がない瞬間はSNRが0dB近くまで一瞬で落ちます。
このとき SMTHR がデフォルトの 8dB のままだと、符号や音声の切れ目ごとにソフトミュートが激しくオン/オフを繰り返し、信号の頭が潰れて聞き取れなくなります。
対策:
SSB/CWモードへ移行する際は、ホストMCUから SMTHR を 0(または 0x3302 の最大減衰量を 0)に設定し、
ソフトミュートのトリガーを完全に無効化することで、SSB特有のかすかな微弱信号を漏らさずキャッチするプロ仕様の通信機化が可能になります。
4.3 デバッグ時のチェックリスト
GET_PROPERTY コマンドで 0x3303 を読み戻し、設定した閾値(例: 0x0008)が正確に反映されているか?
電波が弱くなった(SNRが下がった)際、音が小さくなり始めるタイミングが不自然に早すぎたり、逆に遅すぎてノイズが爆音で出たりしていないか?
隣接チャネルに強力な局がある場合、その局の影響でSNRが下がったと判定され、自局の音声が意図せずミュートされていないか?
4.4 まとめ
0x3303 (SMTHR) は、AM/SW(短波)リスニングにおいて「ノイズをどこまで許容するか」の防衛ラインを決める最重要のプロパティです。
デフォルトの 8dB は非常にバランスが良いですが、ノイズに埋もれた遠距離の海外短波放送(DX受信)を楽しみたい場合はあえて 2〜4dB に下げ、 地元のクリアなAMニュース放送を静かに聴きたい場合は 10〜12dB に上げるなど、ターゲットとする受信スタイルに合わせてこのトリガーポイントを追い込むことで、 Si4735のポテンシャルを極限まで引き出すことができます。
デフォルトの 8dB は非常にバランスが良いですが、ノイズに埋もれた遠距離の海外短波放送(DX受信)を楽しみたい場合はあえて 2〜4dB に下げ、 地元のクリアなAMニュース放送を静かに聴きたい場合は 10〜12dB に上げるなど、ターゲットとする受信スタイルに合わせてこのトリガーポイントを追い込むことで、 Si4735のポテンシャルを極限まで引き出すことができます。
