構想の具体化
目標仕様
製作に先立ち目標仕様を、以下の様に仮設定します。
項目 | 仕様 | 備考 |
周波数 | 7MHz | シングルバンド |
対応モード | LSB/CW/AM | AM_L/AM-Hは受信のみ |
受信最小感度 | -125dbm以下 | CWモードにてビート確認できるレベル |
受信最大入力 | -30dbm以上 | 10kHz離れて-30dbmの2トーンを入力してもIMD成分が受信出来ないこと |
送信出力 | 5W | |
送受信イメージ比 | 60db以上 | イメージ周波数8MHz |
不要スプリアス | -70db以下 |
補足説明
IF周波数を455kHzにした場合、8MHz帯のイメージ比があまりとれないことが予想されます、出来ればイメージリジェクション方式を検討
してみます。
以下2024.3月追記、2024.4月、2025.5月一部見直し、受信部概略構想
SDR#4の開発をスタートして約2年、自分の技術力ではかなりハードルの高いSTMマイコンですが少しずつ具体化して、ようやく信号が通るようになってきました。
受信部のみですが、現状の概略構想を一旦まとめておきます。
ソフトの説明
AD変換、フロントエンドからの455kHz IF信号をAD、サンプリング周波数(Fs)はタイマー(TIM3)のクロックから分周して作成するので、割り切りの良い
fsに制約されるので1Mspsとします。ナイキスト周波数(500kHz)に対して余裕がありませんが、TIM3の分周比と最終出力サンプリング周波数の制約から、あまり選択肢は
ありません。
AD結果は、メモリー(BUF)へDMA転送し、BUFの容量はAD以降のソフト処理時間との兼ね合いになりますが、検討課題です。
デジタルミキサー、アナログ受信機のミキサーに相当、入力信号AD値(455kHz)とNCO(ローカルOSC相当448kHz)のデータを掛け算した、デジタルダウンコンバーター で、最終的なIF周波数は8kHzになります。
NCO、アナログ受信機のローカルOSCに相当する機能です。今回は周波数固定で使うので、ADサンプリング間隔に合わせた波形データ―(数サイクル分)
を配列で準備しておきます。配列の最初と最後のデーター不連続にならないように波形データ数を設定します。
一方、参考にしている「ARMマイコンでつくるダイレクトサンブリングSDR」(CQ出版)では、周波数可変タイプなので、計算で波形データ―を作っています、
処理時間の比較について、検討課題とします。
2025.5追記 今回は、周波数選択の自由度から「ARMマイコンでつくるダイレクトサンブリングSDR」の発生方法を採用しました。
Cicフィルタ、ADFsをデシメーションするため、Cicフィルタを配置し、次数は3次、Cicフィルターの組み込みは初めてなので、 どのような特性が良いのか、検討課題になります。
デシメーション比(R)、2025.5修正 デシメーション比は当初1/25と設定しましたが、プログラム上、2のべき乗の方が都合よく、1/32に変更しました。
一方ADのサンプリング周波数(Fs)は1Mspsとしたので、PCへの出力サンプリングは1M/32=31.25kHzとします。
Firフィルタ、出力fsは31.25kで、PC側のスペクトラム表示範囲は-15.5〜+15.5kになります。経験上スペクトラム表示範囲は-16〜+16k程度が見やすく、
Firフィルターのカットオフ周波数は16kHz程度とし、次数は3段に設定します。
CicフィルターのF特補正については、今後の課題です。
USB出力、PCへのI/Q信号をUSBオーディオストリーミングで出力することを考えています。サンプリング周波数(fs)は48kHz(40kHzに修正、その後31.25k)を想定していますが、
未だ具体的な実現方法が理解できていません。
USBオーディオクラスの規格などを参考にしていますが、ハードルが高くて停滞しています。通常のシリアル出力(CDC)でもある程度の遅延を許容すれば
実現出来そうな気もしますが、、、。
2025.5追記、USB出力はSTMマイコンから直接出力もできますが、PC側のバーチャルCOMポートの速度が出ていないので、新たにFTDIの変換モジュールとドライバを介して
STMからUART出力後USB変換(2Mbps)することにします。
プログラムの構成
プロクラム構成は、現在のところメイン、CIC、NCO、FIRに分割し、他Si5351(PLL)制御用のI2Cは別途検討です。STMCubeIDでは自動生成されるソースだけでかなりの
行数があり、すべてのソースをメインに記述するよりは、分割する方が判り易くなります。
送信部のソフトは今後盛り込み予定ですが、MIC IN〜455kHz TX IF出力までをSTMマイコンで処理することを予定。
ハード部説明 2025.8月追記
BPF1、初段のBPFには、挿入損失を4db程度、イメージ帯域での減衰特性は20db程度のBPFを配置。
RF AMP、BPF1、BPF2、DBMのロスを補い、かつ少しゲインのあるAMPを想定すると、2SK125 GG AMPではややゲイン不足のため、今回初めてNFB方式のAMP を検討してみます。ゲインは約20db程度を予定。
BPF2、BPF1のイメージ帯域での減衰特性を補う目的で、セラミックレゾネーターを使用したBPFを配置、8MHz帯で-40db程度の特性とし、BPF1とBPF2の組み合わせ でイメージ比60db以上確保します。
MIX DBM、SDR#4ではダイオードによるDBMを使用、SDR#3号機ではSN16913を使用していましたが、IMDの目標仕様「-30dBmX2ToneのiMD成分が受信出来ないこと」 に関して実現できなかったので、SDR#4ではNFB RF AMPとダイオードDBMを採用します。
PLL OSC、LOCAL OSCはSi5351を使い、チューニングはPCのマウスでの操作になります。SDR#3号機ではアナログVFOとSi5351の併用でしたが、マウス でのチューニングに慣れてしまったので、アナログVFOは止めました。
IF AMP1、AGC機能を持ったIF AMPで20db程度のヶイン設定とし、AGCはNFB方式にしてみます。
IF FILT、455kHz BW+/-15kHzのラジオ用セラミックフィルターを使用。ただサンプリングを31.25kにとると455+31.25/2kHz以上の雑音成分が折返しになってくるので 今後はサンプリングをもう少し上げたいところです。
IF AMP2、STM ADとのインターフェイスの為、3.3V系のレールtoレールの高速OP AMPを使ったIF AMPにします。
補足説明、SDR#3号機で採用していた、7MHz帯の狭帯域BPFは、バンド内のざわつき感を低減するのに効果的でしたが、
マニアルチューニングの為、パネルにつまみが配置必要になり、今回は採用しませんでした。
今後は、電子チューニングを利用した狭帯域BPFの検討をすすめてみます。
必要ゲインは、大まかに以下のように見積もっています、
STM A/Dのノイズフロアーを1mVとして、S9の信号入力(40dbu)を、ノイズフロアーより30db上に設定すると、必要ゲインは50db程度となります。
RF AMP、IF AMP1.2それぞれ20db程度のゲインとし、フィルター等のロスを含めると、全体で50db程度になります。
今後の予定
ようやくSDR#4号機、受信部の動作評価が出来るようになってきました。まだ詳細つめは沢山ありますが、まずは12bits ADでもやれそうな感触です。
今後は、SDR Studyの画面作成、STMマイコンへの送信機能盛り込みなど楽しみが続きます。