この解説は、Skyworks (Silicon Labs) Si47XX PROGRAMMING GUIDE AN332 を基に、Google AI (Gemini) の協力を得て作成しています。
1 プロパティ 0x3300. AM_SOFT_MUTE_RATE 概要
AM_SOFT_MUTE_RATE
ソフトミュートの開始時および解除時におけるアタックレートとディケイレートを設定します。
指定された値に 4.35 dB/s を乗じた値が、実際のアタックレートとなります。
次のコマンドを送信しても安全な状態になると、CTSビット(およびオプションの割り込み)がセットされます。
このプロパティは、パワーアップモード時のみ設定または読み出しが可能です。
デフォルトのレートは 278 dB/s です。
対応機種: すべて
デフォルト: 0x0040
実際のレート: SMRATE × 4.35
単位: dB/s
ステップ: 1
範囲: 1~255
ソフトミュートの開始時および解除時におけるアタックレートとディケイレートを設定します。
指定された値に 4.35 dB/s を乗じた値が、実際のアタックレートとなります。
次のコマンドを送信しても安全な状態になると、CTSビット(およびオプションの割り込み)がセットされます。
このプロパティは、パワーアップモード時のみ設定または読み出しが可能です。
デフォルトのレートは 278 dB/s です。
対応機種: すべて
デフォルト: 0x0040
実際のレート: SMRATE × 4.35
単位: dB/s
ステップ: 1
範囲: 1~255
2 プロパティ
2.1 プロパティリスト
| Bit | 上位バイト PROPH | 下位バイト PROPL | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Name | SMRATE | |||||||||||||||
| Bit | Name | Function |
|---|---|---|
| 15:0 | SMRATE | AMソフトミュート・レート。 ソフトミュートが有効な場合に、AMがソフトミュート状態に移行する速度を決定します。 実際のレートは、フィールドに設定された値に4.35 dB/sを乗じて算出されます。 デフォルトのレートは278 dB/s(SMRATE[15:0] = 0x0040)です。 |
2.2 プロパティ
電波強度の低下や、急激なノイズ混入(フェーディングなど)によって受信信号のSNR(信噪比)が悪化した際、
聴感上の不快感を減らすために自動で音量を絞る機能を「ソフトミュート(Soft Mute)」と呼びます。
AM_SOFT_MUTE_RATE は、このソフトミュート状態に移行する(アタック)、および解除される(ディケイ/リリース)際の 音量変化の「速度(レート)」を設定するプロパティです。
デフォルト値: 0x0040(十進数で64)
実際の変化速度: 設定値 × 4.35 dB/s となり、デフォルトでは 64×4.35≒278 (dB/s) に設定されています。
AM_SOFT_MUTE_RATE は、このソフトミュート状態に移行する(アタック)、および解除される(ディケイ/リリース)際の 音量変化の「速度(レート)」を設定するプロパティです。
デフォルト値: 0x0040(十進数で64)
実際の変化速度: 設定値 × 4.35 dB/s となり、デフォルトでは 64×4.35≒278 (dB/s) に設定されています。
2.2.1 SMRATE (AM Soft Mute Rate)
目的と概要:
16ビット(Bit 15:0)の領域を用いて、AM受信時のソフトミュートアタックおよびディケイの減衰レートをダイレクトに決定します。
値が小さければミュートの変化が緩やかになり、大きければ素早く追従します
AN332に明記されない目的と解説:
値が小さければミュートの変化が緩やかになり、大きければ素早く追従します
AN332 上では「アタックとディケイ(復帰)の両方に効く」という一括表記がされていますが、
内部DSPの挙動としては、「立ち上がり(ノイズ進入時)の不快なバリバリ音を瞬時に抑え込むアタック特性」を最優先して最適化されています。
また、本チップを搭載した一部のハイエンドモデル向けファームウェア(別売パッチなど)では、 SSB(シングルサイドバンド)やLW(長波)/SW(短波)受信時において、このレートがAGC(自動利得制御)の時定数補正と密接にリンクしており、 速すぎると「音声の合間にバックグラウンドノイズが急激に浮き上がる現象(ポンピング)」を引き起こすため、 聴感の好みに応じて慎重に微調整するための隠れたチューニングファクターとして機能します。
また、本チップを搭載した一部のハイエンドモデル向けファームウェア(別売パッチなど)では、 SSB(シングルサイドバンド)やLW(長波)/SW(短波)受信時において、このレートがAGC(自動利得制御)の時定数補正と密接にリンクしており、 速すぎると「音声の合間にバックグラウンドノイズが急激に浮き上がる現象(ポンピング)」を引き起こすため、 聴感の好みに応じて慎重に微調整するための隠れたチューニングファクターとして機能します。
3 応答パラメータ
プロパティ設定コマンド(SET_PROPERTY)を実行した際、および取得コマンド(GET_PROPERTY)を実行した際の応答(Response)パラメータです。
STATUS (Status Byte)
RESP1 ~ RESP4 (Response Bytes ※GET_PROPERTY時)
STATUS (Status Byte)
コマンド受付後のICの現在の状態を返す1バイトのデータです。
最上位ビットの CTS (Clear to Send) は、ICが次のコマンドを受け入れ可能かを示し、このビットが 1 になることで設定の完了を保証します。
最上位ビットの CTS (Clear to Send) は、ICが次のコマンドを受け入れ可能かを示し、このビットが 1 になることで設定の完了を保証します。
RESP1 ~ RESP4 (Response Bytes ※GET_PROPERTY時)
GET_PROPERTY コマンドを投げた場合のみ、現在ホストから書き込まれている 0x3300 の設定値(2バイト分:SMRATE の高位・低位バイト)が
応答パラメータ(RESP2、RESP3)に格納されて返されます。
設定が正しく保持されているかの検証に用いられます。
設定が正しく保持されているかの検証に用いられます。
4 その他(Google AI (Gemini) の見解)
4.1 コマンドの重要ステップと注意事項
POWER_UP モードの厳守:
CTSビットのポーリング:
本プロパティの書き込み・読み出しは、必ずICが POWER_UP コマンドを受け付け、完全に起動した状態(AM受信モード)で行う必要があります。
初期化シーケンスの途中で送ると無視されます。
初期化シーケンスの途中で送ると無視されます。
CTSビットのポーリング:
SET_PROPERTY 送信後は、必ず STATUS バイトの CTS ビットが 1 になるのを待ってから次の処理に移ってください。
これを怠ると、DSP側のレジスタ反映が間に合わず、設定値の衝突が起きる可能性があります。
これを怠ると、DSP側のレジスタ反映が間に合わず、設定値の衝突が起きる可能性があります。
4.2 もう少し踏み込んだ応用展開
フェーディング(電波の周期的な強弱)対策:
選局(Seek/Tune)時と連動した可変制御:
中波・短波特有の遠距離フェーディングが発生する環境では、
デフォルトの 278 dB/s は追従が速すぎて、音が頻繁に「詰まる」ような不自然なミュート感を与える場合があります。
この値をあえて小さく(例:0x0010 = 約69.6 dB/sなど)設定することで、 音量変化を滑らかにし、シンセサイザー的なフェーディング音をマイルドに聴かせることができます。
この値をあえて小さく(例:0x0010 = 約69.6 dB/sなど)設定することで、 音量変化を滑らかにし、シンセサイザー的なフェーディング音をマイルドに聴かせることができます。
選局(Seek/Tune)時と連動した可変制御:
チューニング操作中やオートシーク中は SMRATE を最大(高速)にして「プツプツ」という局間ノイズを即座に消し去り、選局が完了して局にロックした後は、
音質重視の緩やかなレートに戻すといった、マイコン制御側での「動的プロパティ書き換え」への応用が非常に有効です。
4.3 デバッグ時のチェックリスト
SET_PROPERTY コマンドの引数として、プロパティID 0x3300 が確実にビッグエンディアン(33h, 00h)で送信されているか。
設定後に GET_PROPERTY (0x13) コマンドを発行し、書き込んだ値(例: 0x0040)が寸分違わず戻ってくるか。
弱電界の信号を入力した際、音量が不自然に「バタバタ」と波打っていないか(波打つ場合はレートが速すぎるか、AM_SOFT_MUTE_SNR_THRESHOLD と干渉している可能性があります)。
設定後に GET_PROPERTY (0x13) コマンドを発行し、書き込んだ値(例: 0x0040)が寸分違わず戻ってくるか。
弱電界の信号を入力した際、音量が不自然に「バタバタ」と波打っていないか(波打つ場合はレートが速すぎるか、AM_SOFT_MUTE_SNR_THRESHOLD と干渉している可能性があります)。
4.4 まとめ
AM_SOFT_MUTE_RATE は、単にミュートの速度を変えるだけでなく、「AM/SW独特の過酷な電波環境下で、
人間の耳にどれだけ自然にラジオ音声を届けられるか」を決定する重要な隠し味です。
hobbylab.jpが設計されるこだわりの受信機において、シーク時の快適性と、遠距離局受信時の聴き疲れにくさを両立させるためのキープロパティとなります。
hobbylab.jpが設計されるこだわりの受信機において、シーク時の快適性と、遠距離局受信時の聴き疲れにくさを両立させるためのキープロパティとなります。
