SSBを受信するために必要な機能を追加

144MHz帯の下のほうでは非常に多くのSSBを受信できます。 また、アップコンバータを使ってHFのSSB通信をPiRadioで聞くこともできます。 PiRadioは当初、アナログならFMやAMの受信を想定していたため、周波数ステップが1KHzになっています。 帯域が3kHzしかないSSBを受信するにはもっと細かい周波数ステップが必要です。
今回、SSBやCWを受信するためにPiRadio Receiverソフトウェアに以下の機能追加をしました。

・最小周波数ステップを1kHzから100Hzに変更
・微弱な信号を復調できるようIF可変ゲイン0〜50dBを追加

画面上の変更点

これまでのV2.00と今回のV2.10の画面上の違いは以下の通りです。



100Hz単位で周波数調整できるように周波数の桁数を1桁増やしました。
DSB(SSB)専用のゲイン調整を追加しました。

ダウンロードとコンパイル方法

SSB受信機能強化版レシーバソフトウェアはこちらから最新版をダウンロードしてください。

ダウンロードしたソースコードをPiRadio ディレクトリの下に置きます。

ソースコードのコンパイル方法

$ cd PiRadio
$ g++ -I/usr/include/X11 -L/usr/X11 -o piradio piradio.cpp -lX11 -lasound -lm

コンパイル時間は数秒です。エラーやワーニングが出なければ正常終了です。

SSB受信方法

PiRadioで一番簡単にSSBを受信できるのは144.1〜144.5MHzの狭帯域エリアです。
FMと違ってスペクトラムのレベルが上下に変動するのですぐにわかります。

スケルチ設定は最低の-130dBmにします。
ゲイン調整は最初は30dB程度にします。



上の画像はSPAN=48.8kHzでSSB(USB)を受信している状態のスペクトラムです。
USBの場合はこのように中心より高域に信号が来るように調整すれば正しく復調できます。



FIRを6kHzまで絞ると変調に影響を与えずノイズだけを落とせてS/Nが向上します。(上の画像)
SSBではキレの良いFIRのほうが効果的です。



DEMODモードに切り替えて音声が正常になるように100Hzステップで微調整します。
適度な音量、了解度になるようゲインを調整します。

シンセサイザの考察(回路変更なしの場合)

今回のSSB対応はソフトの変更だけで実用上は問題ありません。
しかし周波数ステップを1KHzから100Hzへと変更したことに伴ってリファレンス周波数が25MHzから5MHzへ変更になります。 これはシンセサイザにとっては大きな変更になるため厳密にはループフィルタの再設計が必要です。



上の回路図はLTSpiceでPiRadioのシンセサイザをシミュレーションするためのビヘイビアモデルです。 これは現状の回路を表しています。この回路の応答特性が以下になります。



今回の100Hzステップ対応を実施した回路図は以下になります。



上の回路の応答特性が以下になります。



実測しても、ほぼこのシミュレーション結果と同じ波形になりました。
このようにロックアップタイムが長くなり、ダンピング特性もよくありません。
しかし、ただちに直さないといけない程でもありません。

シンセサイザの考察(回路変更した場合)

ループフィルタの再設計を実施した場合のシミュレーション結果です。
再設計と言ってもダンピング抵抗を変更しただけです。(R3=150 → R3=330)



上の回路の応答特性が以下になります。



実測しても、ほぼこのシミュレーション結果と同じ波形になりました。
このようにダンピング特性は理想的な収束カーブになります。
ただしロックアップタイムはリファレンス周波数が25MHzの時の倍程度にはなっています。

このビヘイビアモデルは以下でダウンロードできます。


回路定数の変更

以上のようにシンセサイザのループ特性を最適化する場合、以下の回路定数の変更を実施します。



変更しなくても実害はほぼないと思われるため、どうしても気になる方、腕に自信のある方のみ実施願います。

以上のシミュレーション結果は全て高速ロックアップモードでの解析結果です。
定常状態の解析はIo=0.62mA、R3=330+750=1080で実行してください。

USB/LSB対応について

V2.40よりUSB/LSB切替が可能になりました。
以下よりダウンロードできます。

Version 更新日 変更箇所                リンク
V2.40 2017/05/25 MODE DSBをUSB/LSB切替に変更