2019年9月11日水曜日

小ネタ:FM復調

 FM復調で遊んでみた。思ったより簡単にできた。
 SDRで録音したIQファイルを読み込んで複素数から位相を取り出し、位相連続を再生した上で位相の値をWAVに書き出すだけでIFからAFを復元できた。
 FMラジオ放送を元データに使ったのでSNRが極めて高いこと、周波数や時間帯の関係から外来ノイズが少ないことで更にSNRが確保できたこと、といったあたりで、フィルタリングとか何もせずに、IQから直接Phaseを取り出しても問題なかった。
 ただ、おそらくレシーバーのクロック制度の問題で、DCがどんどんずれていってしまうので、とりあえず位相カウンタに係数をかけてゼロに戻すような処理を加えている。

 今日は眠いのでここで終わりだけど、とりあえず受信の帯域を150kHzくらいに絞るBPFと、結果をAC結合するBPFを通せば、FMの復調はちゃんと動きそうだ。

 AMラジオだとトランジスタで検波したりというのはあるけど、FMラジオって復調ICを使っていたり、結構ブラックボックス感漂うんだよね。ソフトウェア実装だと至ってシンプル。
 このノリでAM復調もやってみたいけど、VHF/UHFのAMってサンプルデータが入手しづらいんだよなぁ。身近なところだとエアバンドがそうだけど、このあたりは空港から遠いので低頻度&低SNR。

 今回の目的は衛星とは関係なく、地上のFMを復調したいだけだったけど、同じような方法でCWも復調できないかな、とか考えたり。その辺も追々作っていきたい。
 でもまずは色々端折った部分をちゃんと作り込んだり、かな。地上放送をデコードして遊びたいし、衛星はその後。

/* あと数時間起きてればH-IIB/HTB打ち上げが見れるんだなぁ。さすがに眠いので寝ますが。。。 */

0 件のコメント:

コメントを投稿