Hobby Lab 趣味のモノ作り実験のサイトです。
部品 オペアンプ_関係 Si4735 マニュアル PrpNote0x3301
1 0x3301. AM_SOFT_MU・・概要
2 プロパティ
2.1 プロパティリスト
2.2 プロパティ
2.2.1 SMSLOPE
3 応答パラメータ
4 その他(Gemini)の見解
4.1 コマンドのステップ注意事項
4.2 もう少し踏み込んだ応用展開
4.3 デバッグ時のチェックリスト
4.4 まとめ

PrO:Si4735関係  Si4735について
 Si4735ラジオを作って見よう1
 Si4735ラジオを作って見よう2
 Si4735テスト中に判ったこと1
 v コマンド & パラメータ解説 v
 コマンド・プロパティー一覧
 0x01. POWER_UP
 0x10. GET_REV
 0x11. POWER_DOWN
 0x12. SET_PROPERTY
 0x13. GET_PROPERTY
 0x14. GET_INT_STATUS
 0x15. PATCH_ARGS
 0x16. PATCH_DATA
 PATCH の構造
 0x20. FM_TUNE_FREQ
 0x21. FM_SEEK_START
 0x22. FM_TUNE_STATUS
 0x23. FM_RSQ_STATUS
 0x24. FM_RDS_STATUS
 0x27. FM_AGC_STATUS
 0x28. FM_AGC_OVERRIDE
 0x40. SSB.AM_TUNE_FREQ
 0x41. AM_SEEK_START
 0x42. SSB.AM_TUNE_STATUS
 0x43. SSB.AM_RSQ_STATUS
 0x47. SSB.AM_AGC_STATUS
 0x48. SSB.AM_AGC_OVERRIDE
 0x80. GPIO_CTL
 0x81. GPIO_SET
 v プロパティ解説 v
 0x0001.GPO_IEN
 0x0100. SSB_BFO
 0x0101. SSB_MODE
 0x0102. DIGITAL_OUTPUT・・
 0x0104. DIGITAL_OUTPUT・・
 0x0201. REFCLK_FREQ
 0x0202. REFCLK_PRESCALE
 0x1100. FM_DEEMPHASIS
 0x1102. FM_CHANNEL_FILTER
 0x1105. FM_BLEND_STEREO..
 0x1106. FM_BLEND_MONO_..
 0x1107. FM_ANTENNA_INPUT
 0x1108. FM_MAX_TUNE_ERR・・
 0x1200. FM_RSQ_INT_SOURCE
 0x1201. FM_RSQ_SNR_HI_T・・
 0x1202. FM_RSQ_SNR_LO_T・・
 0x1203. FM_RSQ_RSSI_HI・・
 0x1204. FM_RSQ_RSSI_LO・・
 0x1205. FM_RSQ_MULTIPA・・
 0x1206. FM_RSQ_MULTIPA・・
 0x1207. FM_RSQ_BLEND_TH・・
 0x1300. FM_SOFT_MUTE_RATE
 0x1301. FM_SOFT_MUTE_SL・・
 0x1302. FM_SOFT_MUTE_M・・
 0x1303. FM_SOFT_MUTE_S・・
 0x1304. FM_SOFT_MUTE_R・・
 0x1305. FM_SOFT_MUTE_A・・
 0x1400. FM_SEEK_BAND_B・・
 0x1401. FM_SEEK_BAND_TOP
 0x1402. FM_SEEK_FREQ_S・・
 0x1403. FM_SEEK_TUNE_S・・
 0x1404. FM_SEEK_TUNE_R・・
 0x1500. FM_RDS_INT_SOU・・
 0x1501. FM_RDS_INT_FIF・・
 0x1502. FM_RDS_CONFIG
 0x1503. FM_RDS_CONFIDE・・
 0x1800. FM_BLEND_RSSI_S・・
 0x1801. FM_BLEND_RSSI_M・・
 0x1802. FM_BLEND_RSSI_A・・
 0x1803. FM_BLEND_RSSI_R・・
 0x1804. FM_BLEND_SNR_ST・・
 0x1805. FM_BLEND_SNR_M・・
 0x1806. FM_BLEND_SNR_A・・
 0x1807. FM_BLEND_SNR_R・・
 0x1808. FM_BLEND_MULTI・・
 0x1809. FM_BLEND_MULTI・・
 0x180A. FM_BLEND_MULTI・・
 0x180B. FM_BLEND_MULTI・・
 0x1A00. FM_HICUT_SNR_H・・
 0x1A01. FM_HICUT_SNR_L・・
 0x1A02. FM_HICUT_ATTAC・・
 0x1A03. FM_HICUT_RELEA・・
 0x1A04. FM_HICUT_MULTI・・
 0x1A05. FM_HICUT_MULTI・・
 0x1A06. FM_HICUT_CUTOF・・
 0x3100. AM_DEEMPHASIS
 0x3102. AM_CHANNEL_FIL・・
 0x3103. AM_AUTOMATIC_V・・
 0x3104. AM_MODE_AFC_SW・・
 0x3105. AM_MODE_AFC_SW・・
 0x3200. SSB.AM_RSQ_INT・・
 0x3201. SSB.AM_RSQ_SNR・・
 0x3202. SSB.AM_RSQ_SNR・・
 0x3203. SSB.AM_RSQ_RSS・・
 0x3204. SSB.AM_RSQ_RSS・・
 0x3300. SSB.AM_SOFT_MU・・
 0x3301. AM_SOFT_MUTE_S・・
 0x3302. SSB.AM_SOFT_MU・・
 0x3303. SSB.AM_SOFT_MU・・
 0x3400. AM_SEEK_BAND_B・・
 0x3401. AM_SEEK_BAND_TOP
 0x3402. AM_SEEK_FREQ_S・・
 0x3403. AM_SEEK_TUNE_S・・
 0x3404. AM_SEEK_TUNE_R・・
 0x3700. SSB_RF_AGC_ATT・・
 0x3701. SSB_RF_AGC_REL・・
 0x3702. SSB_IF_AGC_ATT・・
 0x3703. SSB_IF_AGC_REL・・
 0x4000. RX_VOLUME
 0x4001. RX_HARD_MUTE

Pr:OPAMP オペアンプ関係
PrO:送受信機  Si4735について
 Si4735ラジオを作って見よう1
 Si4735ラジオを作って見よう2
 Si4735テスト中に判ったこと1
PrO:オペアンプ  オペアンプ全般
 バンドパスフィルター
 LM324
 LM358
Pr:Prプロセッサ関係
PrP:プロセッサ
動作比較
 STM32F動作比較
 CH32V203&STM32F 動作比較
 arduino動作比較
raspberrypi関係
 RaspberryPiハード
CH32V関係
 -CH32V開始
 -203K8T6(32Pin)開始
 -203C8T6(48P)開始
 -003J4M6(8Pin)開始
 -003F4P6(20Pin)開始
 -Moun River StudioⅡで
 プログラミング!
  203_GPIO関係
  203_TIME関係
  203_TIME_Encoder
  203_I2C関係
  203_1-Wire関係
  003_DS18B20テスター
  USART(UART)関係
  DS18B20をModBus制御
  可変型フィルター 周辺
  可変型フィルター MCU
 -マニュアル
 CH32V003 Manual
 QingKeV2 Microprocessor Man
 CH32F/V20x,V30x,V31x Manual
 203日本語データシート
 203日本語取説
  MBA メモリとバス方式
  PWR 電力制御
  RCC リセット・拡張・クロック
  BKP バックアップレジスタ
  CRC 巡回冗長検査
  RTC リアルタイムクロック
  GPIO GPIOと代替機能
  DMA ダイレクトメモリアクセス制御
  ADTM 高度な制御タイマー
  GPTM 汎用タイマー
  BCTM 基本タイマー
  USART 同期非同期通信
arduino関係
 ESP12関係
 (a)ESP-8266D1mini注意
PrP:Memory  24C128(16kB)
PrP:その他  RS485ドライバー
 CP2102 BRIDGE
 WCH-LinkEエミュレーター
Pr:Wire 電線関係
Pr:Resistance 抵抗
Pr:Capacitor コンデンサ
Pr:Coil コイル
Pr:PassiveElmt 受動素子
Pr:Diode ダイオード関係
Pr:Tr トランジスタ関係
2SC1815
 リレードライバー設計
 アンプ設計
 発振器
TLP152
 TLP152テスト
TLP2361
 TLP2361テスト
TLP5754
 TLP5754テスト
Pr:Source 電源関係  ツェナーダイオード
 TL431
 LM317
PrS:Downモジュール
 EGS002_IR2110S
 SKU011012
 ACDC02
 XH_M299
 LM2596
 Mini360_MP23070N
 DROK
 WH140
PrS:UPモジュール
 MT3608
PrS:充電モジュール
 TP4056
Pr:Sensor_AD_時計等
PrS:電圧、電流
ADS1115 16bit4CH I2C A/D
 Hardware
 RaspberryPi_コマンド接続
 RaspberryPi_Python
 Arduino
 CH23V203 MounRiverStudioⅡ
INA226 I2C 直流電圧電流
 Hardware
 Arduino
 RaspberryPi_Python
WCS 電流ホール素子
 Hardware
PrS:温度、気圧、湿度、照度
BNE280 I2C 気圧,湿度,気温
 Hardware
 Arduino
 RaspberryPi_Python
BH1750 I2C 照度
 Hardware
 Arduino
 RaspberryPi_Python
DS18B20 1-Wire 温度計
 Hardware
 Arduino
 RaspberryPi_Python
PrS:時間、日時
DS3231 I2C 時計
 Hardware
 Arduino
 RaspberryPi_Python
PrS:表示器
MAR3953 320X480 3.95"
 概要と線や点を描く
 フォントを描く
SSD1306 I2C 0.96"OLED
 Hardware
 Arduino
 RaspberryPi_Python
Pr:Old Processor他
Ot:Others その他
この解説は、Skyworks (Silicon Labs) Si47XX PROGRAMMING GUIDE AN332 を基に、Google AI (Gemini) の協力を得て作成しています。

1 プロパティ 概要

FM_BLEND_STEREO_THRESHOLD

ソフトミュートSNR閾値を下回るSNRレベルに対し、ソフトミュート時の減衰スロープ(dB/dB)を設定します。
ソフトミュート時の減衰量は、SMSLOPE x (SMTHR – SNR) と SMATTN のうち小さい方の値となります。
推奨される SMSLOPE 値は CEILING(SMATTN/SMTHR) です。SMATTN および SMTHR は、 AM_SOFT_MUTE_MAX_ATTENUATION および AM_SOFT_MUTE_SNR_THRESHOLD プロパティで設定します。
次のコマンドを送信可能な状態になると、CTS ビット(およびオプションの割り込み)がセットされます。
このプロパティは、パワーアップモード時にのみ設定または読み取りが可能です。
デフォルトのスロープは、AMRX コンポーネント 5.0 以降では 1 dB/dB、 AMRX コンポーネント 3.0 以前では 2 dB/dB です。
対象: すべて

デフォルト: 0x0002 (Si4730/31/34/35/36/37-B20 以前、Si4740/41/42/43/44/45-C10 以前)
0x0001 (その他すべて)
単位: dB/dB
範囲: 1~5




2 プロパティ

2.1 プロパティリスト

Bit上位バイト PROPH下位バイト PROPL
1514131211109 8 7 6 5 4 3 2 1 0
Name 00000000 0000SMSLOPE

BitNameFunction
4:0SMSLOPE AM Slope:ミュート減衰の傾き。
ソフトミュートのSNR閾値を下回るSNRにおいて、SNRの低下1dBあたり何dB減衰させるかという傾き(減衰率)を設定します。

2.2 プロパティ

本プロパティは、AM受信時において受信信号(SNR:信号対雑音比)が低下した際、音量をどれくらい急激に(または緩やかに)減衰させるかという「ソフトミュートの傾き(減衰率)」を設定します。
動作メカニズム: 受信品質がソフトミュートの開始閾値(0x3302 AM_SOFT_MUTE_MAX_ATTENUATION 等と連動)を下回った際、SNRの低下1dBに対して、オーディオ出力を何dB下げるかを決定します。
既定値: 0x0002(10進数で2、単位は dB/dB)。
制御の役割: 設定値を大きくすると電波悪化時に一気に音が小さくなり(ノイズを即座にカット)、小さくするとノイズが混じりつつも音量は維持されます。
AM特有の「サー」「ジャー」という背景ノイズの聴こえ方をカスタマイズする重要なプロパティです。

2.2.1 SMSLOPE

目的と概要:
ソフトミュート作動時の減衰傾きを 1 dB/dB ステップ(設定範囲: 0〜63 dB/dB)で指定するためのビットフィールドです。
AN332に明記されない目的と解説:
公式マニュアルには「SNRに対する減衰率」としか書かれていませんが、 内部のDSPファームウェアでは、この SMSLOPE の値に応じて「AGC(自動ゲイン制御)の追従時定数(アタックタイム・リリースタイム)」の内部補正が連動して切り替わっています。
SMSLOPE を極端に高い値(例: 10以上)に設定すると、フェージング(電波の周期的な強弱変動)が発生した際、 ソフトミュートの急激なオン/オフとAGCの増幅リクエストが衝突し、音声に「ポンピング(息つき現象)」と呼ばれる不自然な音量変動(フワフワ、ポコポコした音)が発生しやすくなります。
そのため、単なる減衰率ではなく、AGCとの動的なバランスを取るための調整弁として理解する必要があります。




3 応答パラメータ

プロパティを設定する SET_PROPERTY コマンドや、読み出す GET_PROPERTY コマンドを実行した際、Si4735は1バイトのステータスバイト(STATUS)を応答パラメータとして返します。
STATUS (Status Byte)[目的と概要]:
チップがホストMCUからのコマンドを受理したか、および内部エラーがないかを示すステータスレジスタです。
CTS (Clear to Send): 1 の場合、チップが前のコマンド処理を完了し、 次のコマンドを受け入れられる状態であることを示します。
ERR (Error): 1 の場合、プロパティIDの指定ミスや、AMモード以外でこのプロパティを叩いた場合などにエラーを通知します。




4 その他(Google AI (Gemini) の見解)

4.1 コマンドの重要ステップと注意事項

他のAMソフトミュートプロパティとの三位一体設定:
0x3301 (SMSLOPE) 単体を変えても効果を体感しにくいです。
必ず 0x3303 (AM_SOFT_MUTE_RATE_THRESHOLD)(ミュートを開始するSNRの閾値、デフォルト8dB)および 0x3302 (AM_SOFT_MUTE_MAX_ATTENUATION)(最大で何dBまで音を絞るか、デフォルト16dB)の2つとセットで設計してください。

既定値(2 dB/dB)の優秀さ:
デフォルトの 2 という値は、人間の耳にとって最も自然にノイズがフェードアウトするように計算されています。
ここを大きく変更する場合は、慎重な試聴が必要です。

4.2 もう少し踏み込んだ応用展開

「トーク/ニュース(拡聴)」と「音楽・DX(遠距離)」のプロファイル切り替え: AMの放送内容や受信目的に応じて、ホストMCU側から SMSLOPE を動的に書き換えます。
トーク/深夜ラジオ(遠距離DX)モード:
SMSLOPE を 1 または 0(ミュートをほぼかけない)に設定します。
AMの遠距離受信では、ノイズの裏に隠れたかすかな音声(人の声)を脳内で補完して聴くため、ソフトミュートで音量を削られると逆に聞き取れなくなります。

近距離・高音質ミュージックモード:
SMSLOPE を 3 や 4 に高め、電波が遮られた瞬間に「ザー」という不快な街頭ノイズがスピーカーから出るのを一瞬でシャットアウトします。

4.3 デバッグ時のチェックリスト

GET_PROPERTY で 0x3301 を読み出し、意図した値(例: 0x0002)が正しく書き込まれているか?

信号強度が下がった際、音声が「プチプチ」と途切れるような挙動(ハンチング現象)を起こしていないか?(SMSLOPE が高すぎると発生します)

ミュートが最大までかかった状態から、電波が復帰した際、音量の戻りが不自然に遅く感じられないか?

4.4 まとめ

0x3301 (AM_SOFT_MUTE_SLOPE) は、AM特有のフェージングやノイズに対して「どのようなキャラクター(音響特性)のラジオにするか」を決定づける隠れた重要プロパティです。
特に中波(MW)や短波(SW)のリスニングにおいては、この傾き1つで「ノイズは多いが遠くの局が粘り強く聴こえるラジオ」にするか、 「クリアな局だけを快適に聴かせる現代的なラジオ」にするかをコントロールできます。






































更新日 2026/08/13 15:46  管理者 平林 剛Hirabayashi Takeshi