この解説は、Skyworks (Silicon Labs) Si47XX PROGRAMMING GUIDE AN332 を基に、Google AI (Gemini) の協力を得て作成しています。
1 プロパティ 0x3100. AM_DEEMPHASIS 概要
AM_DEEMPHASIS(AM受信ディエンファシス設定)
AM受信のディエンファシスを50 μsに設定します。
次のコマンドを送信可能な状態になると、CTSビット(およびオプションの割り込み)がセットされます。
このプロパティは、パワーアップモードのときにのみ設定または読み取りが可能です。
デフォルトは無効です。
対象: すべて
デフォルト: 0x0000
AM受信のディエンファシスを50 μsに設定します。
次のコマンドを送信可能な状態になると、CTSビット(およびオプションの割り込み)がセットされます。
このプロパティは、パワーアップモードのときにのみ設定または読み取りが可能です。
デフォルトは無効です。
対象: すべて
デフォルト: 0x0000
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 | 0 | 0 | 0 | 0 | 0 | 0 | DEEMPH |
| Bit | Name | Function |
|---|---|---|
| 0 | DEEMPH | AMディエンファシス 1 = 50 μs 0 = 無効 |
2.2 プロパティ
AM_DEEMPHASISは、AM/LW/SW受信モードにおいて、音声信号の高域減衰時定数(ディエンファシス)を有効化または無効化するためのプロパティです。
送信側で高音域を強調(プリエンファシス)して放送された電波に対し、受信側でこのプロパティを使って高域を適切に落とすことで、 耳障りな「サー」という高周波ノイズ(ホワイトノイズ)を劇的に低減します。
内部のDSPによって正確なフィルタリングが行われるため、外付けのアナログCRフィルタを必要とせずに音質を最適化できます。
送信側で高音域を強調(プリエンファシス)して放送された電波に対し、受信側でこのプロパティを使って高域を適切に落とすことで、 耳障りな「サー」という高周波ノイズ(ホワイトノイズ)を劇的に低減します。
内部のDSPによって正確なフィルタリングが行われるため、外付けのアナログCRフィルタを必要とせずに音質を最適化できます。
2.2.1 DEEMPH (AM De-emphasis Enable)
目的と概要:
AM受信時のディエンファシス処理(50 µs)のオン・オフを制御します。
ビットを 1 にすると50 µsのディエンファシスが有効になり、0 にすると無効(フラットな周波数特性)になります。
AN332に明記されない目的と解説:
ビットを 1 にすると50 µsのディエンファシスが有効になり、0 にすると無効(フラットな周波数特性)になります。
遠距離弱電界(DX)受信時の明瞭度確保:
DSP内部演算のクリッピング防止:
本来は放送規格に合わせるためのビットですが、電波が極めて弱いAM/SW(短波)局を受信する際、あえて 0(無効)にすることで、
ノイズは増えるものの音声の「子音(高域成分)」を強調し、言葉の聞き取りやすさ(トークの明瞭度)を優先させるという裏のテクニックに使われます。
DSP内部演算のクリッピング防止:
強電界かつ高変調度のAM信号に対して強烈な高域カットを行うと、DSP内部のデジタルフィルタ段で位相変化に伴う過渡的な波形歪み(オーバーシュート)が発生するケースがあります。
これをソフトウェア側で自動検知し、一時的にDEEMPHをオフにして音割れを防ぐといった、動的なオーディオマネジメントのトリガーとしても活用できます。
これをソフトウェア側で自動検知し、一時的にDEEMPHをオフにして音割れを防ぐといった、動的なオーディオマネジメントのトリガーとしても活用できます。
3 応答パラメータ
STATUS (Status Byte)
CTS (Clear to Send):
ERR (Error):
1 になると、チップが前のコマンドの処理を完了し、次のコマンドを受け入れられる状態であることを示します。
ERR (Error):
1 の場合、直前に送ったコマンドやプロパティの引数が不正(範囲外など)であったことを示します。
4 その他(Google AI (Gemini) の見解)
4.1 コマンドの重要ステップと注意事項
パワーアップ直後の初期化フローに組み込む:
16ビットデータ構造の意識:
本プロパティはデフォルトが 0(無効)であるため、起動直後は高域ノイズが目立つ傾向があります。
すっきりしたAMサウンドを基本としたい場合は、POWER_UPコマンドの直後、選局(AM_TUNE_FREQ)を行う前に必ず 0x0001(DEEMPH=1)を書き込むステップを初期化ルーチンに組み込んでください。
すっきりしたAMサウンドを基本としたい場合は、POWER_UPコマンドの直後、選局(AM_TUNE_FREQ)を行う前に必ず 0x0001(DEEMPH=1)を書き込むステップを初期化ルーチンに組み込んでください。
16ビットデータ構造の意識:
Si4735のプロパティは16ビット(2バイト)構成です。
DEEMPHはビット0(最下位ビット)であるため、設定時は ARG1=0x00、ARG2=0x01 のように上位バイトを必ず 0x00 で埋めて送信する必要があります。
DEEMPHはビット0(最下位ビット)であるため、設定時は ARG1=0x00、ARG2=0x01 のように上位バイトを必ず 0x00 で埋めて送信する必要があります。
4.2 もう少し踏み込んだ応用展開
「音質選択モード」のソフトウェア実装:
受信機のUI(液晶画面やボタン)に「高音質(マイルド)」「標準」「高感度(クリア)」といったモードを用意します。
「高音質」では本プロパティを 1(50µs)にしつつ AM_CHANNEL_FILTER(0x3102)を広帯域(6kHz等)に設定。
「高感度」では本プロパティを 0(無効)にして帯域を狭める(2kHz等)といった、動的な音質エフェクト展開が可能です。
「高音質」では本プロパティを 1(50µs)にしつつ AM_CHANNEL_FILTER(0x3102)を広帯域(6kHz等)に設定。
「高感度」では本プロパティを 0(無効)にして帯域を狭める(2kHz等)といった、動的な音質エフェクト展開が可能です。
4.3 デバッグ時のチェックリスト
・SET_PROPERTY 送信後、STATUSバイトの CTS(ビット7) が 1 になるまでプログラム側で適切にウェイト(またはポーリング)を入れているか?
・実際に切り替えた際、オーディオ出力(L/R)の波形をオシロスコープや高速フーリエ変換(FFT)で確認し、数kHz以上の高域成分が約3dB〜数dB綺麗に減衰しているか?
・短波(SW)モードへの切り替え時にも、本プロパティの値が意図せずデフォルト(0x0000)にリセットされていないか?(モード間移行時の再設定確認)
・実際に切り替えた際、オーディオ出力(L/R)の波形をオシロスコープや高速フーリエ変換(FFT)で確認し、数kHz以上の高域成分が約3dB〜数dB綺麗に減衰しているか?
・短波(SW)モードへの切り替え時にも、本プロパティの値が意図せずデフォルト(0x0000)にリセットされていないか?(モード間移行時の再設定確認)
4.4 まとめ
DEEMPH(ビット0)は、Si4735のAM音質を決定づける最もシンプルかつ強力なスイッチです。
送信局の特性や現在の電波強度(RSSI)に合わせてこのビットを動的にON/OFF制御することで、自作ラジオのリスニング快適性を「市販の高級通信型受信機」のレベルまで引き上げることができます。
送信局の特性や現在の電波強度(RSSI)に合わせてこのビットを動的にON/OFF制御することで、自作ラジオのリスニング快適性を「市販の高級通信型受信機」のレベルまで引き上げることができます。
