左図は、受信部のハード構成と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容量と、ソフト処理時間については検討課題です。
|