SDRStudyの基本ソフトを利用して、自分なりのSDRトランシーバーを製作していきます。
SDRStudyのソースコード
SDRStudyは主に4つのソースファイルで構成され、それぞれの処理機能に応じて判り易くクラス分けされています。
今回は、ユーザーインターフェイス部のForm1クラスにSメーターの絵を貼り付け、Sメーターの針を動かすパラメーターを、信号処理部のSignalクラスから取り出す
改造を盛り込みます。
ソースコードはこちらからダウンロードできます。
画面を作ってみる
ANT入力レベルとgainの相関を調べてみる SDRに使用するフロントエンド構成やSDRStudyのLevel設定(デフォルト値 = 0.1)によって相関値は変わりますが ANT入力にSSG信号を印加し、そのレベルとgainの相関を調べてみました。
S Level | S=9 | S=8 | S=7 | S=6 | S=5 | S=4 | S=3 | S=2 | S=1 | S=0 |
SSG dbm | -73 | -79 | -85 | -91 | -97 | -103 | -109 | -115 | -121 | -127 |
gain | 43 | 47 | 53 | 59 | 64 | 68 | 71 | 72 | 72 | 72 |
gain(理想値) | 43 | 49 | 55 | 61 | 67 | 73 | 79 | 85 | 91 | 97 |
ANT入力-73dbm時、S=9を基準とすると入力-6db毎にgainは+6dbアップしていくはずですが、S=4辺りから内部雑音の影響で相関が悪くなってきますが、まずはgainをパラメーターとして
Sメーターを動かせそうです。
ソフトの説明
FormソースリストとSignalソースリストを参考まで
ソースコード中のコメントに日付挿入された部分が、追加変更部です。
FormのソースにSメーター表示関数として、 private void smeter(double sm_level) //Sメーター表示
、とTextBox6に表示の、 public void SetText(double sm_level)で、sm_levelを他の引き数に変えれば、信号処理スレッドの変数を表示することができます。
結果
SSBモード受信時はメーターの動作ピークのタイミングと、実際の信号ピークのタイミングが少しずれているようで、今後の検討課題ですがまずは、Sメーターの組み込みについては
一旦終了です。 動作試験用lsbファイルを受信した様子をYouTubeにアップしました。デバッグモードでテストしているのでスペクトラム表示がうまく出ていません。
SDR S Meter demo(動画 YOUTUBEへ)Sメーターの動きの様子を動画にしてみました。