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