お気に入りのSDR#4製作 「SDR Study改造をスタートする」


 写真はオリジナルのSDR Study画面、(クリックで拡大)これから少しずつ改造していく予定。

2024.8.22

はじめに
 2011年からスタートした「お気に入りSDR製作プロジェクト」ですが、既に13年近くが経過しました。(ソフトに関しては、相変わらず初心者ですが)
 この間、SDR実験バラックセット+Power SDRからスタートして、SDR#3号機+SDR Study改造ソフトの組み合わせでプロジェクトを進めてきました。
 SDR#4号機では、ARMマイコン+SDR Study改造ソフトの組み合わせで検討しており、SDR Studyはもう少し凝った画面や新しい機能を盛り込みたいと計画しています。
まずはSDR Stydu改造検討のスタートです。

どんなソフトにするか
 PC画面のソフトは、従来からのSDR Studyをペースにして、以下の内容を妄想しています。

 

補足説明
 -3.チューニングは、今までアナログダイアルにこだわってきましたが、CWモードではスペクトラム画面上をクリックすることで チューニングを取ることにに慣れてしまいました、SSBモードでは、キャリアの位置がスペクトラム画面からは読み取れませんが 多くの局が3kHzステップでQRVしているので、マウスで1kHzステップ可変が出来れば実用上問題なしと判断しています。
-4.使用予定のPC(Win10 DynaBook)にはオーディオI/Fが3.5mmφの4極ジャックになっており、Mic入力、L/Rオーディオ出力のようで、 ステレオマイク入力非対応の様です。この為今までの送信処理ソフトが使えず、それならばSTM側で送信処理してしまおうと考えています。
-5.SDR#3号機まではPCのAD(16bit)を使いましたが、SDR#4号機ではSTMのAD(12bit)を使います。S/N比が低下するので、ノイズリダクションで ある程度S/Nを改善することを目指します。

SDR Study改造スタート
 SDR StudyをSDR#4号機用に、ステップを追って少しずつ改造していきます。まずは、USB CDCで受信したI/Qデータを再生出来るか確認です。
 SDR Studyのサンプリング(16kHz)は、今回オリジナルのままとします。

Form画面の改造 左図はFormを少し大きくし、入力切り替えGRP Box内にRadio Buttonを追加したForm画面(クリックで拡大)。
 他に、画面には見えていませんが、シリアルポートを追加。当局の場合COM4とし、速度は230800bpsに設定します。シリアルポート受信バッファは8192バイト 設定。

 

ソースコードの追加1

 Form.csプログラム内のForm LoadとCloseイベント内にSerialPort open closeを挿入、特にエラー処理は追加していません。

 

ソースコードの追加2

 信号処理スレッド内に、受信バッファ Byte[]配列で4096(16bitデータ 1024 * 2ch分)分確保します。
byte[] rcv_buf = new byte[4096];
SDR StudyではI/Q(Real/Imag)各々1024パケット単位で処理しているので、改造SDRもオリジナルに合わせ1024パケット分の4096byte確保します。
 

 

ソースコードの追加3

 追加したRadio Buttonのイベント処理として、アスキーデータ"2"(Sound Data要求)をSTM側に送り、STM側から波形データ配列を送出します。
 8bit下位+8bit上位データの順に送られてきたデータを連結して16bitデータに戻し、サウンドデータとして後はオリジナルの処理になります。
コードのdummyとsleepはデバック用、

 

動作確認
 先に作成した、USBを使ってみるを実行させたうえで、SDR Studyを立ち上げ入力切り替えを追加したRadiobutton選択にします。
PCスピーカーから1kHzのトーン信号が聞こえ、基本的なプログラム動作はOKなようです。

  問題点や課題
 今回使用した、波形データは事前に配列として作成した固定したデータので、波形のスタートと終点が必ずしもうまくつながりません。そのため波形を1kHz以外に 設定すると、音が"ブツブツ"と雑音が混入します。
 波形データを連続させるには、もう少しプログラムの修正必要で今後の課題ですが、まずはUSB CDCで波形データを再生することは確認は出来ました。

  今後の進め方
 今後は、SDR Studyの改造と並行して、STM側のプログラムまとめや、SDRフロントエンドのハード製作を進めていきます。

   Top Menu