SDRトランシーバー4号機(SDR#4)の製作スタート「全体構成の検討」


写真はSDR#4で使用予定のSTM32マイコンボードの評価の様子。

2024.3.6追記
2023.4.20

はじめに
 新たな製作目標として「お気に入りのSDRトランシーバー4号機の製作」をスタートします。
 SDRの製作が続いていますが、製作の最終目標として「CPUボード内蔵ダイレクトサンプリングSDRの製作」をゴール設定して、 今までに、SDR#1からSDR#3で少しづつステップアップしてきました、次のステップとして以下のSDR製作を目標にして、今回は SDR#4の製作プロジャクトをスタートします。
 SDR#4、IF周波数を数100kHzに設定のシングルスーパーとし、dsPIC等でA/D処理して表示はPCを利用。
 SDR#5、RF信号(7MHz)をダイレクトにA/Dして、表示はタブレット端末等を利用。
 現状の自作力では、かなりハードルが高いのですが、少しずつ前に進めていきます。

構想の具体化

 大まかな構想案(妄想?)について、まだまだ妄想段階ですが、まとめておきます。

  • 1. 周波数構成は、7MHz-455kHz-数10kHz(I/Q信号の)とし、455kHzから数10kHzへの変換はデジタルダウンコンバート(DDC)とする。
  • 2. 表示はPCを利用し、同時にI/Q信号のデジタル処理を受け持つ。
  • 3. 内蔵するマイコンとして、STM32マイコンを採用し、455kHzからのDDCとPCへのUSB I/F。
  • 4. 高IP設計を目指す。
  • 5. SDR本体パネルにはSW、VR類を配置せず、すべての制御機能はPC画面から制御できるようにする。

 

  構想の補足説明
 1.IF周波数のA/D変換ICは、サンプリング周波数(Fs)5Msps 12-16bitA/Dを検討すると、ほぼ5k以上、しかも納期がかかりなかなか採用には至りません。 一方A/D内蔵マイコンなら、A/D性能はそれなりですが、2Msps 12bit程度なら使えそうと、今回はA/D内蔵マイコンを採用します。
 2.マイコンの選定、候補としてdsPIC33CHとSTM32F446を検討しました。使い慣れたPICの延長でdsPICを使いたかったのですが、開発ツール(Pickit4)が高価なので、 今回は、STM32F446 32bitマイコンにチャレンジします。なお開発ツールはマイコンポードに付属した物(ST Link)を使用すれば3k程度と安価ですし、自作力アップを 目指します。
 3.チューニングにはアナログVFOにこだわってきましたが、SDR#4ではマイコンソフトでNCOの検討も盛り込みたいと思います、その場合もアナログVFOのフィーリング にこだわりたいですね。

目標仕様
 製作に先立ち目標仕様を、以下の様に仮設定します。
項目 仕様 備考
周波数 7MHz シングルバンド
対応モード LSB/CW/AM AM_L/AM-Hは受信のみ
受信最小感度 -125dbm以下 CWモードにてビート確認できるレベル
受信最大入力 -30dbm以上 10kHz離れて-30dbmの2トーンを入力してもIMD成分が受信出来ないこと
送信出力 5W 
送受信イメージ比 60db以上 イメージ周波数8MHz
不要スプリアス -70db以下

補足説明
 IF周波数を455kHzに取った場合、8MHz帯のイメージ比があまりとれないことが予想されます、出来ればイメージリジェクション方式を検討 してみます。
 

以下2024.3月追記、受信部概略構想
 SDR#4の開発をスタートして約1年、自分の技術力ではかなりハードルの高いSTMマイコンですが少しずつ具体化しています。
 受信部のみですが、現状の概略構想を一旦まとめておきます。

左図は、受信部のハード構成とSTMマイコンソフトの構成をブロック図にまとめたものです。
 フロントエンド部は、アナログ構成として、ゲイン配分や使用デバイスなどはSTMマイコン部の特性により詳細を詰めていきますが、 従来技術の延長なので、今の自分の技術レベルで実現できそうです。
 一方、STMマイコンのソフトについては、実現可否不明な部分も多く、仕様を具体化して各要素毎どのような課題があるのか、出力側からみていきます。

USB出力、PCへのI/Q信号をUSBオーディオストリーミングで出力することを考えています。サンプリング周波数(fs)は48kHzを想定していますが、 未だ具体的な実現方法が理解できていません。
 USBオーディオクラスの規格などを参考にしていますが、ハードルが高くて停滞しています。通常のシリアル出力(CDC)でもある程度の遅延を許容すれば 実現出来そうな気もしますが、、、。

デシメーション比(R)、出力のfsは48kと決定したので、fs X R = ADのサンプリング周波数(ADfs)となります。
 一方ADFsはタイマー(TIM)を分周して作成されるので、割と切りの良いfsに制約され、仕様としてはCic R = 1/11、Fir R = 1/3、全体として R = 1/33とします。

Firフィルタ、出力fsは48kで、PC側のスペクトラム表示範囲は-24〜+24kになります。経験上スペクトラム表示範囲は-16〜+16k程度が見やすく、かつ エイリアス除去として、Firフィルターのカットオフ周波数は16kHz程度とし、次数は3段に設定します。

Cicフィルタ、ADfsをデシメーションするため、Cicフィルタを配置し、次数は3次にします。
 Cicフィルターの採用は初めてなので、どのような特性が良いのか、検討課題になります。

ミキサー、入力信号AD値とNCO(ローカルOSC相当)のデータを掛け算した、デジタルダウンコンバーターになります。
NCO、アナログ受信機のローカルOSCに相当する機能です。今回は周波数固定で使うので、ADサンプリング間隔に合わせた波形データ―(数サイクル分) を配列で準備しておきます。
 一方、参考にしている「ARMマイコンでつくるダイレクトサンブリングSDR」(CQ出版)では、周波数可変タイプなので、計算で波形データ―を作っています、 処理時間の比較について、検討課題とします。

ADコンバータ、ADfsは48k X R = 1.584Mとして、TIM3でトリガ―を作成します。タイミングは少し端数が出るので、全体としてどのような影響が出るのか 今後の課題です。
 AD結果は、メモリー(BUF)へDMA転送し、BUFの容量として256x2を想定します。BUF容量と、ソフト処理時間については検討課題です。

今後の予定
 SDR#4では、未経験の要素技術が多くで、なかなかソースコードを記述する段階には進めません。次回からは、各要素毎に動作確認しながら 進めていきます。

   Top Menu