AGC, IQバランス調整、フィルタ切り替え、USB, LSB切り替え、FFTデシメーションなど、やることは山ほどあるし、自分には難しいものばかりが残っているが、周波数表示もできるようになり、やっとSDRらしくなってきたところで、パチリ。
受信帯域48KHzを半分に分けて上下に表示しているが、シャッター時間と表示のタイミングが合わないのか、上下全体がなかなか撮れない。ちなみにFFTの周期は50msにしている。右端の矢印はバグ。

IQ信号のwavファイルからの復調もできているが、一旦治まったかにみえた、特定の周波数で発信音が聞こえる症状が残っている。数字の型変換をいくつかやっているが、ここらがマズくて、オーバフローしているところがあるのかも知れない。
これをつぶすのを最優先にやっていくとするか。
LCDに周波数を表示するために、数値を文字列に変換するところはC++プログラミング日記さんからatofの逆変換関数ftoaのソースをいただいた。(感謝)
画面のピクセルに合わせて、FFTのサイズを256としたが、1bin当たり48KHz(サンプリング周波数)/256=187.5Hzなので、とても実際の交信に使えるものではない。
部分的にデシメーション処理をするのもいいのかもしれないが、手っ取り早くFFTサイズを上げて、分解能を上げ、受信周波数が文字で分かればいいかな。画面と矢印は参考程度でいいか。
受信帯域48KHzを半分に分けて上下に表示しているが、シャッター時間と表示のタイミングが合わないのか、上下全体がなかなか撮れない。ちなみにFFTの周期は50msにしている。右端の矢印はバグ。

IQ信号のwavファイルからの復調もできているが、一旦治まったかにみえた、特定の周波数で発信音が聞こえる症状が残っている。数字の型変換をいくつかやっているが、ここらがマズくて、オーバフローしているところがあるのかも知れない。
これをつぶすのを最優先にやっていくとするか。
LCDに周波数を表示するために、数値を文字列に変換するところはC++プログラミング日記さんからatofの逆変換関数ftoaのソースをいただいた。(感謝)
画面のピクセルに合わせて、FFTのサイズを256としたが、1bin当たり48KHz(サンプリング周波数)/256=187.5Hzなので、とても実際の交信に使えるものではない。
部分的にデシメーション処理をするのもいいのかもしれないが、手っ取り早くFFTサイズを上げて、分解能を上げ、受信周波数が文字で分かればいいかな。画面と矢印は参考程度でいいか。