IQ 処理

first_iq
今日は IQ 処理のコードを考えていました。
以前より、勝手にヒルベルト変換とか考えていたのですが、もっと単純に考えて良いことが分かりました。IQ 信号の時間領域表現を i(n)+jq(n) と考えたときに、これに例えば c kHz の複素正弦波をかけてやれば、c kHz 上にシフトできる訳ですね。つまり、パスバンド化とかいうやつです。(合ってる?)
いま、IQ それぞれが 48kHz でサンプリングされているとしたら、まず最初に IQ それぞれを 96kHz にアップサンプリングして(要インターポーレーションフィルタ)、続いてそれを上述のような複素表現に直します。そして、それに 24kHz の複素正弦波をかければ、0〜48kHz 帯域に収まるパスバンド信号になります。 最後に、得られた結果から実成分だけを取り出して終わりです。(で、良いんだっけ? 自信なし。)
ここで、パスバンド化により正の周波数成分だけを持つ信号を得られたので、あとは FFT するなりなんなりすれば良いわけですな。あ、ちょっと待てよ。パスバンド化した後に FFT に入れる場合、時間領域信号の虚数部も残しておいたほうが良いのかなあ。今度比較してみるか。(← 理論的に検討できないところが弱い。)

FFT 関連

Faros に負けないものを作りたいという野望があって、情報収集してます。通常の窓がけ FFT では綺麗な線スペクトルを得るのは難しいようですが、いろいろ技法があるようです。