最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

comm.BasebandFileWriter

ベースバンド信号のファイルへの書き込み

説明

ベースバンド ファイルは特定のタイプのバイナリ ファイルで、comm.BasebandFileWriter により書き込まれます。ベースバンド信号は、通常はゼロでない中心周波数から 0 Hz にダウンコンバートされます。SampleRate および CenterFrequency プロパティはファイルの作成時に保存されます。

ベースバンド信号をファイルに保存するには、次を行います。

  1. comm.BasebandFileWriter オブジェクトを作成し、オブジェクトのプロパティを設定します。

  2. step を呼び出して、ベースバンド信号をファイルに保存します。

  3. release を呼び出して、ベースバンド信号をファイルに保存してファイルを閉じます。

メモ

または、step メソッドを使用して、System object™ によって定義された演算を実行する代わりに、引数を関数であるかのように使ってオブジェクトを呼び出すことができます。たとえば、y = step(obj,x)y = obj(x) は同等の演算を実行します。

構築

bbw = comm.BasebandFileWriter は、既定のプロパティを使用して、ベースバンド ライター オブジェクト bbw を返します。

bbw = comm.BasebandFileWriter(fname)bbw を返し、fnameFilename プロパティとして設定します。

bbw = comm.BasebandFileWriter(fname,fs) は、さらに、fsSampleRate プロパティとして設定します。

bbw = comm.BasebandFileWriter(fname,fs,fc) は、さらに、fcCenterFrequency プロパティとして設定します。

bbw = comm.BasebandFileWriter(fname,fs,fc,md) は、さらに、構造体 mdMetaData プロパティとして設定します。

bbw = comm.BasebandFileWriter(___,Name,Value) は、Name,Value ペアを使用して追加のプロパティを指定します。指定していないプロパティは既定値になります。

:

bbw = comm.BasebandFileWriter('qpsk_data.bb',10e6,2e9);

プロパティ

すべて展開する

保存されたファイルの名前。文字ベクトルとして指定します。ファイル名には相対パスまたは絶対パスを含めることができます。

出力信号のサンプルレート。正のスカラーとして Hz で指定します。

ベースバンド信号の中心周波数。正の整数スカラーまたは行ベクトルとして Hz で指定します。CenterFrequency が行ベクトルの場合、各要素が 1 つのチャネルに対応します。

ベースバンド信号を記述するデータ。構造体として指定します。構造体は任意の数のフィールドおよび任意のフィールド名をもつことができます。フィールド値は任意の数値型、論理型、または文字データ型で、任意の次元数をもつことができます。

保存するサンプル数。正の整数で指定します。

  • すべてのベースバンド信号サンプルをファイルに書き込むには、NumSamplesToWriteInf に設定します。

  • 最後の NumSamplesToWrite のサンプルだけをファイルに書き込むには、NumSamplesToWrite を有限の数に設定します。

データ型: double

メソッド

infoベースバンド ファイル ライターに関する特性情報
resetベースバンド ファイル ライター オブジェクトの状態をリセットする
stepベースバンド信号をファイルに書き込む
すべての System object に共通
release

System object のプロパティ値の変更の許可

すべて展開する

1 kHz のサンプルレートと、0 Hz の中心周波数をもつベースバンド ファイル ライター オブジェクトを作成します。

bbw = comm.BasebandFileWriter('baseband_data.bb',1000,0);

Metadata 構造体に今日の日付を格納します。

bbw.Metadata = struct('Date',date);

QPSK 変調されたデータのチャネルを 2 つ作成します。

d = randi([0 3],1000,2);
x = pskmod(d,4,pi/4,'gray');

ベースバンド データをファイル 'baseband_data.bb' に書き込みます。

bbw(x)

bbw に関する情報を表示します。オブジェクトを解放します。

info(bbw)
ans = struct with fields:
             Filename: '/tmp/Bdoc19a_1054962_111646/tp5dc41dfe/comm-ex66490302/baseband_data.bb'
      SamplesPerFrame: 1000
          NumChannels: 2
             DataType: 'double'
    NumSamplesWritten: 1000

release(bbw)

ベースバンド ファイル リーダー オブジェクトを作成して、保存したデータを読み取ります。ファイルからのメタデータを読み取ります。

bbr = comm.BasebandFileReader('baseband_data.bb','SamplesPerFrame',100);
bbr.Metadata
ans = struct with fields:
    Date: '08-Feb-2019'

ファイルからデータを読み取ります。

z = [];

while ~isDone(bbr)
    y = bbr();
    z = cat(1,z,y);
end

bbr に関する情報を表示します。bbr を解放します。

info(bbr)
ans = struct with fields:
    NumSamplesInData: 1000
            DataType: 'double'
      NumSamplesRead: 1000

release(bbr)

元の変調されたデータ x がファイル 'baseband_data.bb' から読み取ったデータ z と一致することを確認します。

isequal(x,z)
ans = logical
   1

ヒント

  • comm.BasebandFileWriter は、ベースバンド信号を圧縮なしのバイナリ ファイルに書き込みます。これらのファイルを共有するために、関数 zip を使用して zip ファイルに圧縮できます。詳細は、zip アーカイブの作成と解凍 (MATLAB)を参照してください。

拡張機能

R2016b で導入