この解説は、Skyworks (Silicon Labs) Si47XX PROGRAMMING GUIDE AN332 を基に、Google AI (Gemini) の協力を得て作成しています。
1 プロパティ 概要
FM_BLEND_STEREO_THRESHOLD(プロパティID: 0x1105)
ステレオブレンドのRSSI閾値を設定します(閾値以上で完全なステレオ、閾値未満でブレンド)。
ステレオに固定する場合は0に、モノラルに固定する場合は127に設定します。
次のコマンドを送信可能な状態になると、CTSビット(およびオプションの割り込み)がセットされます。
このプロパティは、パワーアップモード時のみ設定または読み取りが可能です。デフォルト値は49 dBμVです。
対応デバイス: Si470x/2x、Si473x-C40およびそれ以前のモデル
デフォルト値: 0x0031
単位: dBμV
ステップ: 1
範囲: 0~127
ステレオブレンドのRSSI閾値を設定します(閾値以上で完全なステレオ、閾値未満でブレンド)。
ステレオに固定する場合は0に、モノラルに固定する場合は127に設定します。
次のコマンドを送信可能な状態になると、CTSビット(およびオプションの割り込み)がセットされます。
このプロパティは、パワーアップモード時のみ設定または読み取りが可能です。デフォルト値は49 dBμVです。
対応デバイス: Si470x/2x、Si473x-C40およびそれ以前のモデル
デフォルト値: 0x0031
単位: dBμV
ステップ: 1
範囲: 0~127
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 | STTHRESH | ||||||
| Bit | Name | Function |
|---|---|---|
| 6:0 | STTHRESH |
FMブレンド・ステレオ閾値。 このRSSI閾値を下回ると、音声出力がブレンドモードに切り替わります。 この閾値を上回る場合、音声出力は完全なステレオとなります。 単位はdBμVで、1 dB刻み(0~127)で指定します。デフォルト値は49 dBμVです。 |
2.2 プロパティ
本プロパティは、FMステレオ放送の受信時において、フルステレオ状態からブレンド(ステレオセパレーションを徐々に狭めてモノラルに近づける)モードへ移行するRSSI(受信信号強度)の閾値を設定します。
基本動作: 受信RSSIがこの閾値より高ければ「フルステレオ」を維持し、閾値を下回るとノイズ低減のために自動でブレンド処理(左右音の混合)が開始されます。
既定値: 49 dBμV(0x0031)。
制御特性: 0 に設定すると常時フルステレオを強制し、127(0x7F)に設定すると常時モノラルを強制できます。
電界強度が不安定な地域で、ステレオとモノラルが頻繁に切り替わることによる「パタパタ(シュワシュワ)ノイズ」を低減し、聴感を滑らかにするための極めて重要なパラメータです。
基本動作: 受信RSSIがこの閾値より高ければ「フルステレオ」を維持し、閾値を下回るとノイズ低減のために自動でブレンド処理(左右音の混合)が開始されます。
既定値: 49 dBμV(0x0031)。
制御特性: 0 に設定すると常時フルステレオを強制し、127(0x7F)に設定すると常時モノラルを強制できます。
電界強度が不安定な地域で、ステレオとモノラルが頻繁に切り替わることによる「パタパタ(シュワシュワ)ノイズ」を低減し、聴感を滑らかにするための極めて重要なパラメータです。
2.2.1 STTHRESH
目的と概要:
ステレオブレンドを開始するRSSIの境界値を1dBステップ(0〜127 dBμV)で決定するためのビットフィールドです。
AN332に明記されない目的と解説:
データシート(AN332)には明記されていませんが、内部のDSPファームウェアにおいて、この値は「デジタルローパスフィルタのカットオフ周波数連動トリガー」としても機能しています。
RSSIが STTHRESH を下回ると、セパレーション(分離度)を狭めると同時に、高域ノイズ(FM特有の三角ノイズ)を抑えるためのハイカットフィルタが連動して緩やかにかかり始めます。
これにより、単に音がモノラルに近づくだけでなく、聴感上の高音域のチリチリした不快なノイズを同時に相殺する設計になっています。
RSSIが STTHRESH を下回ると、セパレーション(分離度)を狭めると同時に、高域ノイズ(FM特有の三角ノイズ)を抑えるためのハイカットフィルタが連動して緩やかにかかり始めます。
これにより、単に音がモノラルに近づくだけでなく、聴感上の高音域のチリチリした不快なノイズを同時に相殺する設計になっています。
3 応答パラメータ
プロパティを設定する SET_PROPERTY コマンドや、読み出す GET_PROPERTY コマンドを実行した際、Si4735は1バイトのステータスバイト(STATUS)を応答パラメータとして返します。
STATUS (Status Byte)[目的と概要]:
チップがホストMCUからのコマンドを受理したか、および内部でエラーが発生していないかを示すステータスレジスタです。
主に以下の2つの重要なビットを含みます。
CTS (Clear to Send): 1 になると、チップが前の処理を終えて次のコマンドを受け入れられる状態であることを示します。
ERR (Error): 1 になると、送信されたプロパティID(0x1105など)の指定に誤りがあったか、あるいはサポートされていないモードでコマンドが実行された(エラーが起きた)ことを示します。
STATUS (Status Byte)[目的と概要]:
チップがホストMCUからのコマンドを受理したか、および内部でエラーが発生していないかを示すステータスレジスタです。
主に以下の2つの重要なビットを含みます。
CTS (Clear to Send): 1 になると、チップが前の処理を終えて次のコマンドを受け入れられる状態であることを示します。
ERR (Error): 1 になると、送信されたプロパティID(0x1105など)の指定に誤りがあったか、あるいはサポートされていないモードでコマンドが実行された(エラーが起きた)ことを示します。
4 その他(Google AI (Gemini) の見解)
4.1 コマンドの重要ステップと注意事項
MONO閾値との相関性(必須条件):
パワーアップ状態の確認:
0x1105 (STTHRESH) を変更する場合、必ずペアとなるモノラル完全移行閾値 0x1106 (FM_BLEND_MONO_THRESHOLD) の値との関係性に注意してください。
原則として、「STEREO閾値 > MONO閾値」となるように設定する必要があります(例:STEREO=49, MONO=30)。
この関係が逆転または同一の極端な値になると、DSP内のブレンド補間アルゴリズムが破綻し、受信強度が低下した瞬間に音が不自然にミュートされたり、クリックノイズが発生したりする原因になります。
原則として、「STEREO閾値 > MONO閾値」となるように設定する必要があります(例:STEREO=49, MONO=30)。
この関係が逆転または同一の極端な値になると、DSP内のブレンド補間アルゴリズムが破綻し、受信強度が低下した瞬間に音が不自然にミュートされたり、クリックノイズが発生したりする原因になります。
パワーアップ状態の確認:
: このプロパティは、FM受信モード(POWER_UP コマンド完了後)に移行している状態でしか受け付けられません。
初期設定ルーチンに組み込む際は、必ず CTS が 1 になったことを確認してから書き込んでください。
初期設定ルーチンに組み込む際は、必ず CTS が 1 になったことを確認してから書き込んでください。
4.2 もう少し踏み込んだ応用展開
アンテナ特性に合わせた「アダプティブ・ブレンド」の実装:
ホストMCU側で FM_TUNE_STATUS または FM_RSQ_STATUS コマンドを定期的にポーリングし、現在のRSSIやSNR(信号対雑音比)をリアルタイム監視します。
例えば、ホイップアンテナ(ロッドアンテナ)を使用した移動体環境では、フェージング(電界の激しい変動)が多発します。
このとき、固定の 49 dBμV ではブレンドへの移行が急激に感じられることがあるため、ホスト側から受信環境(強電界地域か弱電界地域か)を判別し、 STTHRESH の値を動的に数dB上下させる(ヒステリシスを持たせる)ことで、高級車載ラジオのような「フェージングを感じさせない滑らかな音質制御」が実現可能です。
例えば、ホイップアンテナ(ロッドアンテナ)を使用した移動体環境では、フェージング(電界の激しい変動)が多発します。
このとき、固定の 49 dBμV ではブレンドへの移行が急激に感じられることがあるため、ホスト側から受信環境(強電界地域か弱電界地域か)を判別し、 STTHRESH の値を動的に数dB上下させる(ヒステリシスを持たせる)ことで、高級車載ラジオのような「フェージングを感じさせない滑らかな音質制御」が実現可能です。
4.3 デバッグ時のチェックリスト
プロパティ設定後、即座に GET_PROPERTY コマンドを発行して 0x1105 の値を読み戻し、書き込んだ値(例: 0x0031)が正しくチップ側に保持されているか?
アンテナを抜くなどして意図的に電界強度(RSSI)を落とした際、音が「ステレオ → ブレンド(徐々にモノラル)」へとスムーズに移行するか?
(急激にパチッと切り替わる場合は、0x1106 との差分が少なすぎる可能性があります)
強制ステレオテスト(値を 0 に設定)を行い、弱電界でも左右のセパレーションが維持されているか、およびその際のノイズレベルが許容範囲内か?
4.4 まとめ
Si4735の 0x1105 (STTHRESH) は、自作ラジオや受信機の「聴き心地」を最終チューニングするための鍵となるプロパティです。
デフォルトの 49 dBμV はシールドされた安定環境向けの数値に近いため、実際のポータブル運用や、ノイズの多い室内環境では、 この値を少し高め(例: 52〜55)に振って早めにブレンドさせるか、あるいは動的制御を取り入れることで、圧倒的にノイズ感の少ない洗練されたレシーバーへと昇華させることができます。
デフォルトの 49 dBμV はシールドされた安定環境向けの数値に近いため、実際のポータブル運用や、ノイズの多い室内環境では、 この値を少し高め(例: 52〜55)に振って早めにブレンドさせるか、あるいは動的制御を取り入れることで、圧倒的にノイズ感の少ない洗練されたレシーバーへと昇華させることができます。
