この解説は、Skyworks (Silicon Labs) Si47XX PROGRAMMING GUIDE AN332 を基に、Google AI (Gemini) の協力を得て作成しています。
1 プロパティ 概要
SSB_RF_AGC_RELEASE_RATE(プロパティID: 0x3701)
IF AGCの解除レート(release rate)を設定します。値を大きくすると解除は遅くなり、小さくすると速くなります。
次のコマンドを送信しても安全な状態になると、CTSビット(およびオプションの割り込み)がセットされます。
このプロパティは、POWERUPモードでのみ設定または読み出しが可能です。デフォルト値は140(約40 dB/s)です。
AGC Release Rate(dB/s) = 5600 / RELEASE
「5600」という公称値は、Silicon Labs社のAMアンテナダミーおよびSi474x EVBリファレンスデザインに基づいています。
ソースインピーダンスや設計変更によって変動する可能性があります。ほとんどのシステムでは、正確な値は重要ではありません。
ただし、異なるソースインピーダンスや設計に合わせて計算を行う場合は、以下の手順に従ってください。
1. 目的のソースインピーダンスでアンテナ入力に信号を供給します(アンテナまたはアンテナダミーを使用)。
2. AGCインデックスが19から20に変化するまでRFレベルを上げます。インデックスが19のときの最後のRFレベルを記録します。
3. AGCインデックスが39に達するまでRFレベルを上げます。インデックスが39のときのRFレベルを記録します。
4. レート計算式の「5600」を「(RF39 – RF19) / 0.00667」に置き換えます。
デフォルト: 0x008C
ステップ: 4
範囲: 4~248
IF AGCの解除レート(release rate)を設定します。値を大きくすると解除は遅くなり、小さくすると速くなります。
次のコマンドを送信しても安全な状態になると、CTSビット(およびオプションの割り込み)がセットされます。
このプロパティは、POWERUPモードでのみ設定または読み出しが可能です。デフォルト値は140(約40 dB/s)です。
AGC Release Rate(dB/s) = 5600 / RELEASE
「5600」という公称値は、Silicon Labs社のAMアンテナダミーおよびSi474x EVBリファレンスデザインに基づいています。
ソースインピーダンスや設計変更によって変動する可能性があります。ほとんどのシステムでは、正確な値は重要ではありません。
ただし、異なるソースインピーダンスや設計に合わせて計算を行う場合は、以下の手順に従ってください。
1. 目的のソースインピーダンスでアンテナ入力に信号を供給します(アンテナまたはアンテナダミーを使用)。
2. AGCインデックスが19から20に変化するまでRFレベルを上げます。インデックスが19のときの最後のRFレベルを記録します。
3. AGCインデックスが39に達するまでRFレベルを上げます。インデックスが39のときのRFレベルを記録します。
4. レート計算式の「5600」を「(RF39 – RF19) / 0.00667」に置き換えます。
デフォルト: 0x008C
ステップ: 4
範囲: 4~248
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 | RELEASE | |||||||
| Bit | Name | Function |
|---|---|---|
| 7:0 | RELEASE |
2.2 プロパティ
本プロパティは、SSBモードにおいて、LNA(低ノイズアンプ)などのRFフロントエンド段で一度絞り込まれたAGC(自動ゲイン制御)の増幅率(ゲイン)を、
信号が弱くなった、または消失した際に「どれくらい素早く元の高感度な状態に戻すか」という復帰速度(リリース・タイム)を設定します。
動作メカニズム:
既定値:
動作メカニズム:
強力な信号が入力されてアタック(0x3700)が機能したあと、入力電界強度が低下した際に、フロントエンドが最大感度へ復帰するまでの時定数を決定します。
既定値:
0x0018(10進数で24、パッチの内部基準単位で 24 ms 相当)。
2.2.1 RELEASE
目的と概要:
強電界信号が去ったあとの、RFステージにおける感度復帰速度をミリ秒(ms)相当のステップで設定するためのフィールドです。
AN332に明記されない目的と解説:
標準マニュアル(AN332)には未記載の、パッチ専用拡張レジスタです。
内部のDSPファームウェアパッチにおける隠れた挙動として、この RELEASE 速度は「SSB音声のフェージング時における聴感上のS/N比の維持」に直結しています。
SSB(特に人間の音声)はAMと違って一定の搬送波(キャリア)がないため、言葉の切れ目(一瞬の無音)ごとに信号強度がゼロ近くまで落とし込まれます。
もしこの値をデータシートの数値のみを頼りに極端に速く(例: 数msなど)設定してしまうと、言葉のわずかな合間(子音と母音の間など) にフロントエンドが過剰に感度を最大まで戻してしまい、音声の切れ目ごとに「ザー、ザー」という激しい背景ノイズ(バックグラウンド・ノイズ)が不自然にポンピング(息つき現象)を起こし、 非常に耳障りで聞き取りにくい音質になる特性を持っています。
内部のDSPファームウェアパッチにおける隠れた挙動として、この RELEASE 速度は「SSB音声のフェージング時における聴感上のS/N比の維持」に直結しています。
SSB(特に人間の音声)はAMと違って一定の搬送波(キャリア)がないため、言葉の切れ目(一瞬の無音)ごとに信号強度がゼロ近くまで落とし込まれます。
もしこの値をデータシートの数値のみを頼りに極端に速く(例: 数msなど)設定してしまうと、言葉のわずかな合間(子音と母音の間など) にフロントエンドが過剰に感度を最大まで戻してしまい、音声の切れ目ごとに「ザー、ザー」という激しい背景ノイズ(バックグラウンド・ノイズ)が不自然にポンピング(息つき現象)を起こし、 非常に耳障りで聞き取りにくい音質になる特性を持っています。
3 応答パラメータ
プロパティを設定する SET_PROPERTY コマンド、または読み出す GET_PROPERTY コマンドを実行した際、Si4735は1バイトのステータスバイト(STATUS)を応答パラメータとして返します。
STATUS (Status Byte)[目的と概要]:
送信されたAGCリリース定数がDSPに正しく受理され、内部のRFフロントエンド・ハードウェアのタイマーと同期が取れたかを通知するステータスレジスタです。
STATUS (Status Byte)[目的と概要]:
送信されたAGCリリース定数がDSPに正しく受理され、内部のRFフロントエンド・ハードウェアのタイマーと同期が取れたかを通知するステータスレジスタです。
CTS (Clear to Send): 1 の場合、リリース定数の更新が完了し、次のチューニング(AM_TUNE_FREQ)や別プロパティ設定などのコマンドを受け入れ可能であることを示します。
ERR (Error): 1 の場合、SSBパッチが適用されていない状態での不正アクセスや、ハードウェアの制御限界を超える値を書き込もうとした際のエラーをホストMCUに通知します。
ERR (Error): 1 の場合、SSBパッチが適用されていない状態での不正アクセスや、ハードウェアの制御限界を超える値を書き込もうとした際のエラーをホストMCUに通知します。
4 その他(Google AI (Gemini) の見解)
4.1 コマンドの重要ステップと注意事項
アタックレート(0x3700)との比率の厳守: アタックレート(0x3700)との比率の厳守:
AGCを破綻なく動作させるための鉄則として、「アタックタイム(0x3700) ≪ リリースタイム(0x3701)」の関係(通常は数倍〜十数倍以上の差)を必ず維持してください。
デフォルトの「アタック4ms / リリース24ms」の比率はDSPループが発振しないよう計算された数値です。
この比率を崩してリリースを極端に短くすると、ゲイン制御がハンチングを起こし、受信音声全体が激しく歪む(または震えるような音になる)原因になります。
デフォルトの「アタック4ms / リリース24ms」の比率はDSPループが発振しないよう計算された数値です。
この比率を崩してリリースを極端に短くすると、ゲイン制御がハンチングを起こし、受信音声全体が激しく歪む(または震えるような音になる)原因になります。
4.2 もう少し踏み込んだ応用展開
受信対象に合わせた「インテリジェント・リリース・タイム」の制御: ホストMCU側で、ユーザーが受信するターゲット信号の特性(CW、SSB、デジタルモードなど)を判別し、
0x3701 を動的に切り替える高級通信機ライクなロジックの実装が推奨されます。
CW(モールス符号)モード:
SSB(長文の音声会話)モード:
CW(モールス符号)モード:
モールス信号はトン・ツーの合間が完全に無信号になります。ここでは RELEASE をデフォルトの 24ms またはそれよりやや短い 15〜20ms に設定します。
これにより、強力な符号が去ったあとに素早く感度が戻り、直後に続く別のアマチュア局の微弱な応答符号(アンサー)の頭を逃さずにキャッチできます。
これにより、強力な符号が去ったあとに素早く感度が戻り、直後に続く別のアマチュア局の微弱な応答符号(アンサー)の頭を逃さずにキャッチできます。
SSB(長文の音声会話)モード:
人の声を受信する場合は、RELEASE を 50ms〜100ms(またはそれ以上)とあえて「かなり遅め(スローAGC)」にリセットします。
これにより、 一連の会話が続いている間はフロントエンドのゲインが一定に低く維持(ロック)され、 言葉の合間に「ザー」という不快なノイズが飛び込んでくるのを完璧に抑え込み、非常に静かで落ち着いたリスニング環境を作ることができます。
これにより、 一連の会話が続いている間はフロントエンドのゲインが一定に低く維持(ロック)され、 言葉の合間に「ザー」という不快なノイズが飛び込んでくるのを完璧に抑え込み、非常に静かで落ち着いたリスニング環境を作ることができます。
4.3 デバッグ時のチェックリスト
GET_PROPERTY で 0x3701 を読み出し、意図したリリース値(例: 0x0018)が確実に書き込まれているか?
強いSSB信号を受信中、言葉の切れ目(一瞬の無音)で「ザッ、ザッ」と背景ノイズが激しく浮き上がってこないか?(浮き上がる場合は、RELEASE の値が小さすぎます)
強電界の局が送信を終了した直後、通常の微弱な短波ノイズ(または他局の音声)が聴こえるようになるまで、何秒もの不自然な「無音(感度抑圧)」が発生していないか?(戻りが遅すぎる場合は、RELEASE の値が大きすぎます)
4.4 まとめ
0x3701 (SSB_RF_AGC_RELEASE_RATE) は、短波(SW)やアマチュア無線の受信時における「音の静寂性と連続性」をコントロールする上で、アタックレート以上に人間の耳への影響度が高いパラメータです。
デフォルトの 24ms は万能ですが、ホストMCUから受信モード(CW/SSB)に応じてこの復帰速度を柔軟に可変(ファストAGC / スローAGCの切り替え)できるようにすることで、 チープなワンチップラジオの質感から、1クラス上の「本格的な通信型受信機」へとオーディオ品質を劇的に高めることができます。
デフォルトの 24ms は万能ですが、ホストMCUから受信モード(CW/SSB)に応じてこの復帰速度を柔軟に可変(ファストAGC / スローAGCの切り替え)できるようにすることで、 チープなワンチップラジオの質感から、1クラス上の「本格的な通信型受信機」へとオーディオ品質を劇的に高めることができます。
