この解説は、Skyworks (Silicon Labs) Si47XX PROGRAMMING GUIDE AN332 を基に、Google AI (Gemini) の協力を得て作成しています。
1 プロパティ 0x1808. FM_BLEND_MULTIPATH_STEREO_THRESHOLD 概要
FM_BLEND_MULTIPATH_STEREO_THRESHOLD
ステレオブレンドのマルチパス閾値を設定します(閾値未満では完全なステレオ、閾値を超えるとブレンド)。ステレオに固定する場合は100に設定します。
モノラルに固定する場合は0に設定します。
次のコマンドを送信しても安全な状態になると、CTSビット(およびオプションの割り込み)がセットされます。
このプロパティは、パワーアップモードの時のみ設定または読み出しが可能です。
デフォルト値は20です。
対応デバイス: Si4704/05-D50以降、Si4706-D50、Si4730/31/34/35-D50以降、Si4732
デフォルト値: 0x0014
ステップ: 1
範囲: 0~100
ステレオブレンドのマルチパス閾値を設定します(閾値未満では完全なステレオ、閾値を超えるとブレンド)。ステレオに固定する場合は100に設定します。
モノラルに固定する場合は0に設定します。
次のコマンドを送信しても安全な状態になると、CTSビット(およびオプションの割り込み)がセットされます。
このプロパティは、パワーアップモードの時のみ設定または読み出しが可能です。
デフォルト値は20です。
対応デバイス: Si4704/05-D50以降、Si4706-D50、Si4730/31/34/35-D50以降、Si4732
デフォルト値: 0x0014
ステップ: 1
範囲: 0~100
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 | STRTHRESH | ||||||
| Bit | Name | Function |
|---|---|---|
| 6:0 | STRTHRESH |
2.2 プロパティ
本プロパティは、FM受信時においてマルチパス(電波の多重経路反射)による歪みやノイズの度合いに応じて、ステレオ音声をモノラル側へ自動ブレンド(移行)し始める開始閾値を設定するためのものです。
マルチパスの検出レベルがこのプロパティで設定した閾値を超えると、チップは自動的にステレオセパレーションを狭め、聴感上のノイズを低減させます。
マルチパスの検出レベルがこのプロパティで設定した閾値を超えると、チップは自動的にステレオセパレーションを狭め、聴感上のノイズを低減させます。
2.2.1 STRTHRESH (Multipath threshold for stereo blend)
目的と概要:
マルチパス歪みに基づくステレオブレンドの開始閾値を 0〜100(%) の範囲で設定します(デフォルト値は 20、即ち 0x0014)。
この閾値よりマルチパスが少なければ完全なステレオ(Full stereo)を維持し、閾値を超えると自動ブレンドが開始されます。
強制的にステレオを維持したい場合は 100、強制的にモノラルへ移行させたい場合は 0 を設定します。
AN332に明記されない目的と解説:
この閾値よりマルチパスが少なければ完全なステレオ(Full stereo)を維持し、閾値を超えると自動ブレンドが開始されます。
強制的にステレオを維持したい場合は 100、強制的にモノラルへ移行させたい場合は 0 を設定します。
Silicon Labs/Skyworksの公式プログラミングガイド AN332 の記述は最小限に留まっていますが、実際の車載や移動体受信のユースケースにおいて、この設定は非常に重要な意味を持ちます。
マルチパスは建物や山などの反射波によって位相が乱れる現象で、電界強度(RSSI)が十分に高くても「ジー、ザー」という特有の不快な歪みノイズ(マルチパスノイズ)を発生させます。
本パラメータは、RSSIベースのステレオブレンド回路とは独立した別系統のトリガーとして機能します。
AN332には詳細なアルゴリズムは明記されていませんが、チップ内部のDSPがFM複号信号のパイロット信号や高域の非対称成分からマルチパスの割合を瞬時に計算し、 この STRTHRESH と比較してステレオ感を絞り込みます。これにより、強電界地域でありながら反射波が激しい市街地(ビル街)などを走行中、 ノイズだけが目立つステレオ再生を回避し、聴き取りやすいクリアなモノラル音声へシームレスに切り替えることが真の目的です。
マルチパスは建物や山などの反射波によって位相が乱れる現象で、電界強度(RSSI)が十分に高くても「ジー、ザー」という特有の不快な歪みノイズ(マルチパスノイズ)を発生させます。
本パラメータは、RSSIベースのステレオブレンド回路とは独立した別系統のトリガーとして機能します。
AN332には詳細なアルゴリズムは明記されていませんが、チップ内部のDSPがFM複号信号のパイロット信号や高域の非対称成分からマルチパスの割合を瞬時に計算し、 この STRTHRESH と比較してステレオ感を絞り込みます。これにより、強電界地域でありながら反射波が激しい市街地(ビル街)などを走行中、 ノイズだけが目立つステレオ再生を回避し、聴き取りやすいクリアなモノラル音声へシームレスに切り替えることが真の目的です。
3 応答パラメータ
STATUS (Status Byte)
CTS (Clear to Send):
ERR (Error):
1 になると、チップが前のコマンドの処理を完了し、次のコマンドを受け入れられる状態であることを示します。
ERR (Error):
1 の場合、直前に送ったコマンドやプロパティの引数が不正(範囲外など)であったことを示します。
4 その他(Google AI (Gemini) の見解)
4.1 コマンドの重要ステップと注意事項
CTSビットの確実なポーリング
パワーアップ状態の限定
プロパティ設定(SET_PROPERTY)を送信した直後は、必ず応答バイトの CTS ビットが 1 になるのを待機(ポーリング)するか、INTピンによる割り込みを確認してください。
これを行わずに次のコマンド(TUNEや別のプロパティ設定など)を連続して送ると、チップの内部バッファがオーバーフローし、動作がフリーズする原因になります。
これを行わずに次のコマンド(TUNEや別のプロパティ設定など)を連続して送ると、チップの内部バッファがオーバーフローし、動作がフリーズする原因になります。
パワーアップ状態の限定
本プロパティの書き込みおよび読み出しは、チップが POWER_UP コマンドを受け取り、FM受信モード(FMRX)として完全に起動している状態(Powerup mode)でのみ有効です。
スタンバイ状態(Powerdown状態)で送信してもコマンドは無視されます。
スタンバイ状態(Powerdown状態)で送信してもコマンドは無視されます。
4.2 もう少し踏み込んだ応用展開
RSSI閾値(0x1807)とのクロスフェード連携
動的シチュエーション・プロファイルの導入
実際の受信環境では、マルチパスだけでなく、電波が弱い(RSSIが低い)ことによるノイズも同時に発生します。
本プロパティ(0x1808)だけでなく、隣接するプロパティである FM_BLEND_RSSI_STEREO_THRESHOLD(0x1807)やモノラル移行閾値(0x1809)と 組み合わせてチューニングを行うことで、「弱電界ノイズ」と「都市型マルチパス歪み」の双方に対応した、極めて静粛で滑らかなオートブレンド・システムを構築できます。
本プロパティ(0x1808)だけでなく、隣接するプロパティである FM_BLEND_RSSI_STEREO_THRESHOLD(0x1807)やモノラル移行閾値(0x1809)と 組み合わせてチューニングを行うことで、「弱電界ノイズ」と「都市型マルチパス歪み」の双方に対応した、極めて静粛で滑らかなオートブレンド・システムを構築できます。
動的シチュエーション・プロファイルの導入
固定値(デフォルトの20)のまま運用するのではなく、例えば「静止してリスニングしている時(家庭用据え置きラジオモード)」は
ステレオ感を最優先にするため閾値を高めの 50〜80 に引き上げ、「移動中やロータリーエンコーダで選局中の時」はノイズを嫌って低めの 10〜15 に設定するなど、
システムの動作状況に応じてホストマイコンから動的に値を書き換えるプロファイル制御を行うと、ワンランク上の高級ラジオの質感を演出できます。
4.3 デバッグ時のチェックリスト
設定値の範囲確認:
コマンドIDとプロパティIDの整合性:
効果の検証環境:
GET_PROPERTYによる確認:
STRTHRESH に 0〜100 (0x00〜0x64)以外の不正な値(例えば 0xFF など)を書き込んでしまっていないか。
コマンドIDとプロパティIDの整合性:
SET_PROPERTY コマンド(0x12)の後、正しくプロパティIDの上位バイト 0x18、下位バイト 0x08 の順番でI2Cデータが送信されているか。
効果の検証環境:
ステレオブレンドの動作テストを行う際、疑似的なマルチパス環境(屋内でのアンテナの向きの意図的なズレや、ファンクションジェネレータによる変調)を作り、値を 0(強制モノラル)と 100(強制ステレオ)に振ったときに、明確に音声の広がり感とノイズ量が変化するか。
GET_PROPERTYによる確認:
設定後に GET_PROPERTY (0x13)コマンドを投げて、チップ内部に意図した通りの閾値が保持されているかをシリアルモニタ等にバースト出力して確認できているか。
4.4 まとめ
0x1808 (FM_BLEND_MULTIPATH_STEREO_THRESHOLD) は、Si4735が持つ強力なDSPの恩恵を最も受けることができる車載・移動体向けの高度なプロパティです。
電波の強さ(RSSI)だけに頼らない、マルチパス歪みという「リアルな受信障害」に対する防壁として機能します。
デフォルト値の20から始め、実際に hobbylab.jp製作されている試作基板とアンプ、スピーカーの組み合わせでリスニングテストを行いながら、最適なブレンド特性に追い込んでみてください!
電波の強さ(RSSI)だけに頼らない、マルチパス歪みという「リアルな受信障害」に対する防壁として機能します。
デフォルト値の20から始め、実際に hobbylab.jp製作されている試作基板とアンプ、スピーカーの組み合わせでリスニングテストを行いながら、最適なブレンド特性に追い込んでみてください!
