メインコンテンツ

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