この解説は、Skyworks (Silicon Labs) Si47XX PROGRAMMING GUIDE AN332 を基に、Google AI (Gemini) の協力を得て作成しています。
1 プロパティ 0x180B. FM_BLEND_MULTIPATH_RELEASE_RATE 概要
FM_BLEND_MULTIPATH_RELEASE_RATE
マルチパス・ブレンド機能における、モノラルからステレオへの切り替え(リリース)速度を設定します。
値を小さくするとリリースは遅くなり、大きくすると速くなります。
次のコマンドを送信しても安全な状態になると、CTSビット(およびオプションの割り込み)がセットされます。
このプロパティは、パワーアップ・モードの時のみ設定または読み出しが可能です。
デフォルト値は40(約1.64秒)です。
RELEASE[15:0] = 65536 / time (timeはミリ秒単位の希望する遷移時間)
対応デバイス: Si4704/05-D50以降、Si4706-D50、Si4730/31/34/35-D50以降、Si4732
デフォルト値: 0x0028
ステップ: 1
範囲: 0(無効)、1~32767
マルチパス・ブレンド機能における、モノラルからステレオへの切り替え(リリース)速度を設定します。
値を小さくするとリリースは遅くなり、大きくすると速くなります。
次のコマンドを送信しても安全な状態になると、CTSビット(およびオプションの割り込み)がセットされます。
このプロパティは、パワーアップ・モードの時のみ設定または読み出しが可能です。
デフォルト値は40(約1.64秒)です。
RELEASE[15:0] = 65536 / time (timeはミリ秒単位の希望する遷移時間)
対応デバイス: Si4704/05-D50以降、Si4706-D50、Si4730/31/34/35-D50以降、Si4732
デフォルト値: 0x0028
ステップ: 1
範囲: 0(無効)、1~32767
2 プロパティ
2.1 プロパティリスト
| Bit | 上位バイト PROPH | 下位バイト PROPL | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Name | RELEASE | |||||||||||||||
| Bit | Name | Function |
|---|---|---|
| 15:0 | RELEASE |
2.2 プロパティ
本プロパティは、FM受信においてマルチパス(電波の多重経路反射)が改善して安定した電波状態に戻った際、
モノラル音声から元のステレオ音声へ「どのくらいの遅さ(時間設定)」で復帰させるか(リリースレート)を指定するものです。
前回の 0x180A (FM_BLEND_MULTIPATH_ATTACK_RATE) がノイズ発生時にステレオからモノラルへ退避する「攻撃の速さ」であるのに対し、 この 0x180B は安全圏に戻った後にステレオ感をじわじわと広げていく「復帰の余韻時間」を制御します。
前回の 0x180A (FM_BLEND_MULTIPATH_ATTACK_RATE) がノイズ発生時にステレオからモノラルへ退避する「攻撃の速さ」であるのに対し、 この 0x180B は安全圏に戻った後にステレオ感をじわじわと広げていく「復帰の余韻時間」を制御します。
2.2.1 RELEASE (Mono to stereo release rate for multipath-based blend)
目的と概要:
AN332に明記されない目的と解説:
マルチパス歪みが解消された後の、モノラルからステレオへの復帰(リリース)レートを設定します。
設定範囲は 1〜65535 で、デフォルト値は 20(0x0014、時間換算で約3276.8ms=約3.2秒)です。
チップ内部の時定数は以下の計算式で決定されます
RELEASE= 65536 / 希望する遷移時間(ms)
値が大きいほど復帰速度が「速く(ステレオにすぐ戻る)」なり、値が小さいほど「遅く(じっくりステレオに戻る)」なります。
設定範囲は 1〜65535 で、デフォルト値は 20(0x0014、時間換算で約3276.8ms=約3.2秒)です。
チップ内部の時定数は以下の計算式で決定されます
RELEASE= 65536 / 希望する遷移時間(ms)
値が大きいほど復帰速度が「速く(ステレオにすぐ戻る)」なり、値が小さいほど「遅く(じっくりステレオに戻る)」なります。
AN332に明記されない目的と解説:
公式ガイド AN332 のデフォルト値(20 = 約3.2秒)からも分かる通り、リリース速度はアタック速度(デフォルト約16.4ms)に比べて圧倒的に遅く設定されることが大前提となっています。
このオーディオ工学的な真の目的は、「音場のフラつき(フリッカー現象やポンピング現象)を徹底的に排除し、リスナーに電波の悪化を気づかせないこと」にあります。
市街地や山間部を移動しているとき、マルチパスは「一瞬だけ発生しては消える」という挙動を短い周期で繰り返します。
もしリリース速度をアタック並みに高速(例: 数十ms)にしてしまうと、マルチパスが一瞬消えるたびに音が左右にブワッと広がり、 次の瞬間にまた中央にすぼむ、という「音場が激しく伸び縮みする不快な現象」が発生します。
本パラメータをあえて「3秒以上」といった長い時間に設定しておくことで、一時的にマルチパスが途切れてもDSPはモノラルに近い状態を一定時間キープ(ホールド)します。
これにより、完全にマルチパスエリアを抜けたと判断できるまで音場を安定させ、プレミアムなカーオーディオのような「品格のある静粛なリスニング環境」を作り出すことができます。
このオーディオ工学的な真の目的は、「音場のフラつき(フリッカー現象やポンピング現象)を徹底的に排除し、リスナーに電波の悪化を気づかせないこと」にあります。
市街地や山間部を移動しているとき、マルチパスは「一瞬だけ発生しては消える」という挙動を短い周期で繰り返します。
もしリリース速度をアタック並みに高速(例: 数十ms)にしてしまうと、マルチパスが一瞬消えるたびに音が左右にブワッと広がり、 次の瞬間にまた中央にすぼむ、という「音場が激しく伸び縮みする不快な現象」が発生します。
本パラメータをあえて「3秒以上」といった長い時間に設定しておくことで、一時的にマルチパスが途切れてもDSPはモノラルに近い状態を一定時間キープ(ホールド)します。
これにより、完全にマルチパスエリアを抜けたと判断できるまで音場を安定させ、プレミアムなカーオーディオのような「品格のある静粛なリスニング環境」を作り出すことができます。
3 応答パラメータ
STATUS (Status Byte)
CTS (Clear to Send):
ERR (Error):
1 になると、チップが前のコマンドの処理を完了し、次のコマンドを受け入れられる状態であることを示します。
ERR (Error):
1 の場合、直前に送ったコマンドやプロパティの引数が不正(範囲外など)であったことを示します。
4 その他(Google AI (Gemini) の見解)
4.1 コマンドの重要ステップと注意事項
16ビット値の分割送信とアタックとの連動
計算式の分母に注意
本プロパティも 0x180A と同様に2バイト(16ビット)構成です。
I2Cで送信する際は、プロパティID 0x180B に続き、設定値の上位バイト(ARG3)、下位バイト(ARG4)の順で正確に分割して送信してください。
I2Cで送信する際は、プロパティID 0x180B に続き、設定値の上位バイト(ARG3)、下位バイト(ARG4)の順で正確に分割して送信してください。
計算式の分母に注意
遷移時間をミリ秒(ms)で計算します。
デフォルトの約3.2秒にする場合は 3276 ms となり、65536 / 3276 ≒ 20 となります。
値に 0 を設定すると内部の除算アルゴリズムが破綻するため、必ず 1 以上の値を設定してください。
デフォルトの約3.2秒にする場合は 3276 ms となり、65536 / 3276 ≒ 20 となります。
値に 0 を設定すると内部の除算アルゴリズムが破綻するため、必ず 1 以上の値を設定してください。
4.2 もう少し踏み込んだ応用展開
「電波環境の荒れ具合」に応じた動的リリース制御
RSSIリリース(0x180C)とのシンクロナイズ
ホストマイコン側で FM_RSQ_STATUS コマンドを定期的に発行し、マルチパスの検出頻度を監視します。
マルチパスが1分間に何度も発生する「超悪環境エリア」では、RELEASE をさらに小さな値(例: 10=約6.5秒)に動的変更し、 実質的にモノラル状態を長く維持させて耳障りなステレオの復帰ノイズを完全に封じ込めます。
逆に、ノイズが全く発生しない「クリーンな強電界エリア」に突入したことを検知したら、RELEASE を 200(約320ms)程度まで引き上げ、 選局後に一瞬で爽快なステレオ感が広がるようにチューニングする、といった高級機ならではのインテリジェント制御が可能です。
マルチパスが1分間に何度も発生する「超悪環境エリア」では、RELEASE をさらに小さな値(例: 10=約6.5秒)に動的変更し、 実質的にモノラル状態を長く維持させて耳障りなステレオの復帰ノイズを完全に封じ込めます。
逆に、ノイズが全く発生しない「クリーンな強電界エリア」に突入したことを検知したら、RELEASE を 200(約320ms)程度まで引き上げ、 選局後に一瞬で爽快なステレオ感が広がるようにチューニングする、といった高級機ならではのインテリジェント制御が可能です。
RSSIリリース(0x180C)とのシンクロナイズ
Si4735には、電界強度が戻った際のリリースレート 0x180C (FM_BLEND_RSSI_RELEASE_RATE) も存在します。
このマルチパス側のリリース(0x180B)とRSSI側のリリース(0x180C)の時間軸のバランスを統一(あるいは意図的にズラす)ことで、 電波が弱くてマルチパスも激しいという最悪のシチュエーションから脱出した際の、音域と音場の「戻り方の芸術的なグラデーション」を演出できます。
このマルチパス側のリリース(0x180B)とRSSI側のリリース(0x180C)の時間軸のバランスを統一(あるいは意図的にズラす)ことで、 電波が弱くてマルチパスも激しいという最悪のシチュエーションから脱出した際の、音域と音場の「戻り方の芸術的なグラデーション」を演出できます。
4.3 デバッグ時のチェックリスト
エンディアン(バイト順)の整合性:
アタックレートとの設定順序:
GET_PROPERTYによる確認:
リスニングテストでの効果確認:
RELEASE の「上位バイト」→「下位バイト」の順でI2Cデータが送信されているか(上下が逆になると、例えば 20 (0x0014) が 5120 (0x1400=約12.8msの超高速復帰) に化けてしまい、
音場が激しくバタつきます)。
アタックレートとの設定順序:
一般的に 0x180A (ATTACK) を設定した直後に 0x180B (RELEASE) を設定するため、その間で確実に CTS==1 をポーリングしてチップの処理完了を待っているか。
GET_PROPERTYによる確認:
音場の戻り方が不自然に早い、または遅すぎる直感がある場合、GET_PROPERTY を投げて意図した16ビット値(例: デフォルトなら 0x0014)が正しくチップに書き込まれているかをログで確認したか。
リスニングテストでの効果確認:
値を極端に 1000(約65msで高速復帰)に設定したときと、デフォルトの 20(約3.2秒で低速復帰)に設定したときで、
マルチパスノイズが去ったあとの「ステレオ感の戻り方の滑らかさ」に明確な違いを体感できるか。
4.4 まとめ
0x180B (FM_BLEND_MULTIPATH_RELEASE_RATE) は、FMオートブレンド機能における「大人の落ち着き」を演出するための最重要プロパティです。
マルチパスを検知してモノラルへ「電光石火(高速アタック)」で逃げる機能がどれだけ優秀でも、 この戻る側のリリースが雑(高速すぎ)だと、ラジオ全体の聴き心地は一気に安っぽくなってしまいます。
hobbylab.jp が開発されているDSPラジオにおいて、この約3秒という絶妙な余韻のデフォルト値をベースに、 実走・実聴テストを重ねて「一番耳が疲れない、心地よい復帰スピード」を追い込んでみてください!
マルチパスを検知してモノラルへ「電光石火(高速アタック)」で逃げる機能がどれだけ優秀でも、 この戻る側のリリースが雑(高速すぎ)だと、ラジオ全体の聴き心地は一気に安っぽくなってしまいます。
hobbylab.jp が開発されているDSPラジオにおいて、この約3秒という絶妙な余韻のデフォルト値をベースに、 実走・実聴テストを重ねて「一番耳が疲れない、心地よい復帰スピード」を追い込んでみてください!

