ADALM-PLUTO 無線機を使用したベースバンド ファイルへの RF データの取得
関数 capture と ADALM-PLUTO 無線機を使用して、取得後の処理を MATLAB® で行うために RF 信号を記録します。FM ブロードキャスト信号をベースバンド サンプルとしてファイルに保存します。記録信号が格納されているファイルを読み取り、ベースバンド サンプルを復調します。
SDR ハードウェアの構成
ADALM-PLUTO 無線機をホスト無線通信用に構成するには、Guided Host-Radio Hardware Setupを参照してください。
88 ~ 108 MHz 帯域に適したアンテナを最初の RX チャネルに接続します。FM ラジオ帯域は、ADALM-PLUTO 無線機の既定の調整範囲外です。関数configurePlutoRadioを使用すると、周波数範囲を拡張し、ADALM-PLUTO 無線機を認定された調整範囲外で使用できるようになります。拡張された周波数範囲は、FM ラジオ帯域全体を含みます。
configurePlutoRadio('AD9364');## Establishing connection to hardware. This process can take several seconds.
受信機 System object の構成
指定したプロパティをもつ SDR 受信機 System object を作成します。指定した中心周波数は、ローカルの FM ステーションに対応します。
deviceName = 'Pluto'; samplerate = 528e3; fmStationFrequency = 88.9e6; % Adjust to select an FM station nearby rx = sdrrx(deviceName,'BasebandSampleRate',samplerate, ... 'CenterFrequency',fmStationFrequency,'OutputDataType','double');
ファイルへのデータ取得の開始
受信機オブジェクト、取得期間、およびファイル名を指定して、関数 capture を呼び出します。FM 信号を取得した後、関数 release を使用して受信機オブジェクトのロックを解除します。
capture(rx,5,'Seconds','Filename','FMRecording.bb');
## Establishing connection to hardware. This process can take several seconds.
release(rx);
FM 録音の復調
取得信号を読み取ってファイルからデータのフレームを抽出するためのcomm.BasebandFileReader System object を作成します。保存されたベースバンド信号を読み取るときに、ベースバンド ファイル リーダーがフレームごとに 4400 サンプルを取得するように設定します。
bbr = comm.BasebandFileReader('FMRecording.bb');
bbr.SamplesPerFrame = 4400;ベースバンド ファイル リーダー オブジェクトの BasebandSampleRate フィールドを使用して、復調器の SampleRate プロパティを設定します。MetaData 構造体の BasebandSampleRate フィールドを検索します。comm.FMBroadcastDemodulator System object を作成します。FM データの各フレームを復調して再生します。while ループを使用して、取得データのすべてのフレームを読み取ります。
fmbDemod = comm.FMBroadcastDemodulator('AudioSampleRate',48e3, ... 'SampleRate',bbr.Metadata.BasebandSampleRate,'PlaySound',true); while ~isDone(bbr) fmbDemod(bbr()); end