SDRトランシーバー4号機(SDR#4)の製作スタート「全体構成の検討Rev4 送信処理の検討追加」


写真はSDR#4で使用予定のSTM32マイコンボードとフロントエンドの組み合わせで受信動作の評価の様子。

2026.1.31送信部処理の追記
2025.8.28ハード構成追記
2025.5.25一部見直し、追記
2024.4.7一部見直し
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. 表示はSDR3号機からのSDRStudy(改)をSDR4号機用に改造し、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程度と安価ですし、自作力アップを 目指します。STMマイコン選定について
 叉、「Armマイコンでつくる、ダイレクトサンプリングSDR」を参考にTRYスタートです

 3.チューニングにはアナログVFOにこだわってきましたが、SDR#4ではデジタルチューニングのみとし、その場合も極力アナログVFOのフィーリング にこだわりたいですね。
2026.1.30追記
 4.SDR自作例では、スタンドアロンタイプが多いようですが、当局の場合QRV時にはHamLogを立ち上げているので、PCとの組み合わせによるSDRの方が 操作性など優先します。

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

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

2026.1月Rev4、SDR#4号機概略構想
 SDR#4の開発をスタートして約2年、自分の技術力ではかなりハードルの高いSTMマイコンですが少しずつ具体化して、ようやく受信信号が通るようになってきました。
 ハード、ソフトについて、送信部を含めた現状の概略構想を一旦まとめておきます。


図は、全体のハード構成とSTMマイコンソフトの構成をブロック図にまとめたものです。
 フロントエンド部は、アナログ構成として、ゲイン配分や使用デバイスなどはSTMマイコン部の特性により詳細を詰めていきますが、 従来技術の延長なので、今の自分の技術レベルで実現できそうです。
 一方、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フィルターの組み込みは初めてなので、 どのような特性が良いのか、まずはcicフィルターの検討してみます。  

デシメーション比(R)、2025.5修正 デシメーション比は当初1/25と設定しましたが、プログラム上、2のべき乗の方が都合よく、1/32に変更しました。
 一方ADのサンプリング周波数(Fs)は1Mspsとしたので、PCへの出力サンプリングは1M/32=31.25kHzとします。

Firフィルタ、Cicフィルターの特性を補う目的で、FIRフィルターを配置します。
 AD Fsを31.25kとしたのでFIRフィルターカットオフは1/2fs以下の設定。PC側のスペクトラム表示範囲は-15.5〜+15.5kになります。
 CicフィルターのF特を補正するフィルター設計方法については、今後の課題です。

USB出力、当初PCへのI/Q信号をUSBオーディオストリーミングで出力することを考えていましたが、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程度になります。

以下2026.1.30追加
送信部 送信処理ソフトの説明
 自作SSBの作成方法として、多くはヒルベルト変換を使用していますが、SDR#4号機では、SDR#3号機等で使用してきたウェーバー方式を採用しています。
PCではメモリー容量を気にせず、高次タップ数のフィルターが使えましたが、STMマイコンで容量の都合上実現できるかなどの課題も多いのですが、 まずはスタートしてみます。

AD変換、マイクAMPからのオーディオ信号をAD、サンプリング周波数(Fs)はタイマーのクロック(84MHz)から分周して作成するので、割り切りの良い fsに制約され今回は131.25kspsとします。
 AD結果は、メモリー(BUF)へDMA転送し、BUFの容量はAD以降のソフト処理時間との兼ね合いになりますが、検討課題です。

バンドパスフィルタ、AD信号を0.15〜2.7kHz程度のフィルターに通します。

インターポーレーション、AD段でのサンプリング131.25kspsを2.1Mspsにアップするため、131.25kspsの離散信号間に新たに15ヶの0信号を挿入 します。

FIR LPFフィルタ、インターポーレーションによって生じるナイキスト折返し妨害対策のLPFを配置します。

デジタルアップコンバーター、アナログの周波数変換に相当、マイク入力信号を(0.15〜2.7kHz)とNCO(ローカルOSC相当455kHz)のデータを掛け算し、 デジタルアップコンバージョンで、455kHzのSSB信号を作成します。

NCO、アナログのローカルOSCに相当する機能です。受信部のNCOに同じソースになります。  

インターポーレーション、2.1Mspsのサンプリングを、最終のサンプリング8.4Mspsにします。

FIR LPFフィルタ、インターポーレーションによって生じるナイキスト折返し妨害対策のLPFを配置します。

DA出力、サンプリング8.4Mspsの455kspsのデジタル信号を、アナログ信号に戻し出力します。

送信部ハード説明
 DAからの455kHz IF信号は、フィルタ機能を持ったOPAMPで軽くAMPして、受信部と共用のDBMで7MHzに変換し最終出力までAMP します

PC SDRStudy改造説明
 PC画面はSDRStudy(RF World#22)をペースとして、STMマイコンからのI/Q信号処理、フィルター追加、ハードの制御等の処理を追加改造します。
PCの大きな画面を活かして、すべての操作ボタンをメインフォーム上に配置します。

今後の予定
 ようやくSDR#4号機、受信部の動作評価が出来るようになってきました。まだ詳細つめは沢山ありますが、まずは12bits ADでもやれそうな感触ですtが どうも受信時のノイズの質がやはり16bitsに比較し少し異なります。
今後は、SDR Studyの画面作成、STMマイコンへの送信機能盛り込みなど各要素ブロック毎に実験の楽しみが続きます。

   Top Menu