Tag: fm receiver

FM Receiver using GNU Radio

今日はGNU Radioを用いて、FM受信機を作成してみます。 SDRのH/WをGNU Radioで制御するとき、殆どのユーザーはFM受信機から始まるんですね。ここまでできたらあなたもGNU Radioの立派なユーザーです。そして、WebやYoutubeなどではいくつのGNU Radioを使うFM受信機の事例がありますが、どれも説明が簡単であり、返って中身を理解するためにはあまり役に立たなかった気がしましたので、ここでは少し詳しく説明いたします。 まず、下記のフローチャートを見てみてください。 これが今回ソフト無線でFM受信機を作る設計図になります。フローチャートの各ブロックはGNU Radioのブロックに対応しています。 (0) 事前の設定 Sampling Rate : 2 MHz Channel widht : 200 kHz (1) SDR H/W Source ソフト無線のH/Wをソースとして指定します。その時、アンテナのゲイン及び中心周波数を指定します。 Gain : 40 dB (受信環境によって0 ~ 40 dBの間の適正な数値を入力してください。) Center Frequency : これが受信する周波数になります。私の場合、実験室だとFM放送の電波が入らないため、手持ちのFMトランスミッタを使っています。そのため、中心周波数がFMトランスミッタの94 MHzになりました。 (2) Low Pass Filter SDR H/Wから受信した信号をLow Pass Filterにかけます。同時にSampling RateのDecimationも行いますので、Low Pass Filterの出力のSampling Rateは200 kHzになります。 Decimation = (Sample Rate)/(Channel width) = 2 MHz / 200 kHz = 10 その結果、Sampling rate after LPF = 2 MHz / (Decimation) = 2 MHz / 10 = 200 kHzになります。フローチャートの矢印の上に赤い文字で各段階でのSampling Rateを表記しましたので、参考にしてください。 Cut off frequency = 75 kHz Transition width = 25 kHz Low pass filter @ GNU Radio (3) Rational Resampler ここで、もう一度Sampling Rateを変換します。目的はLPFのoutput Sampling Rate 200kHzを WBFM Receiverのinput Sampling Rate […]