メインコンテンツ

E3xx 無線ハードウェアを使用したベースバンド ファイルへの RF データの取得

取得後の処理を MATLAB® で行うために RF 信号を記録します。FM ブロードキャスト信号をベースバンド サンプルとしてファイルに保存します。記録信号が格納されているファイルを読み取り、ベースバンド サンプルを復調します。

SDR ハードウェアの構成

無線ハードウェアがホストとの無線通信用に既に構成されている場合は、このセクションをスキップしてください。ホストとの無線通信用に無線ハードウェアを構成するには、Guided Host-Radio Hardware Setupの手順に従ってください。88 ~ 108 MHz 帯域に適したアンテナを最初の RX チャネルに接続します。

受信機 System object の構成

指定したプロパティをもつ受信機 System object を作成します。指定した中心周波数は、ローカルの FM ステーションに対応します。

stationCenterFrequency = 95e6;
deviceName = 'E3xx';
rx = sdrrx(deviceName,'BasebandSampleRate',528e3,...
    'CenterFrequency',stationCenterFrequency,'OutputDataType','Double');

ファイルへのデータ取得の開始

受信機オブジェクト、取得期間、およびファイル名を指定して、capture 関数を呼び出します。この関数は、取得したデータを "FMRecording.bb" という名前のファイルに返します。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 プロパティを設定します。BasebandSampleRate フィールドは MetaData 構造体内にあります。comm.FMBroadcastDemodulator System object を作成します。FM データの各フレームを復調して再生します。while ループを使用して、取得データのすべてのフレームを読み取ります。

fmbDemod = comm.FMBroadcastDemodulator( ...
    'AudioSampleRate', 48e3, ...
    'SampleRate',bbr.Metadata.BasebandSampleRate,'PlaySound',true);

while ~isDone(bbr)
    fmbDemod(bbr());
end

参考

関数

オブジェクト