Main Content

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

comm.BasebandFileReader

ベースバンド信号のファイルからの読み取り

説明

comm.BasebandFileReader オブジェクトは、comm.BasebandFileWriter により記述された特定のタイプのバイナリ ファイルからベースバンド信号を読み取ります。ベースバンド信号は、通常はゼロでない中心周波数から 0 Hz にダウンコンバートされます。SampleRate および CenterFrequency プロパティはファイルの作成時に保存されます。comm.BasebandFileReader オブジェクトは、サンプルレート、中心周波数、チャネル数、および任意の記述データを自動的に読み取り、読み取り専用プロパティに保存します。

保存されたベースバンド ファイルから入力信号を作成するには、次を行います。

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

  2. step を呼び出し、保存されたデータからベースバンド信号を生成します。

  3. release を呼び出してファイルを閉じます。

メモ

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

構築

bbr = comm.BasebandFileReader は、既定のプロパティを使用して、ベースバンド リーダー オブジェクト bbr を返します。

bbr = comm.BasebandFileReader(fname) は、ベースバンド リーダー オブジェクトを返し、fnameFilename プロパティとして設定します。

bbr = comm.BasebandFileReader(fname,spf) は、さらに、spfSamplesPerFrame プロパティとして設定します。

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

:

bbr = comm.BasebandFileReader('recorded_data',100);

プロパティ

すべて展開する

読み取り元のベースバンド ファイル名。文字ベクトルとして指定します。絶対パスを指定するのは、ファイルが MATLAB® パスにない場合のみです。絶対パスのみが保存されて表示されます。

このプロパティは読み取り専用です。

保存されたベースバンド信号のサンプルレート (Hz)

このプロパティは読み取り専用です。

保存されたベースバンド信号の中心周波数 (Hz)。このプロパティが行ベクトルの場合、各要素はマルチチャネル信号内のあるチャネルの中心周波数を表します。

このプロパティは読み取り専用です。

保存されたベースバンド信号のチャネル数です。

このプロパティは読み取り専用です。

ベースバンド信号を記述するデータです。ファイルに記述データがない場合、このプロパティは空の構造体になります。

出力フレームごとのサンプル数を正の整数で指定します。

データ型: double

ベースバンド ファイルを繰り返し読み取るためのフラグ。論理スカラーとして指定します。Filename で指定されたベースバンド ファイルを繰り返し読み取るには、このプロパティを true に設定します。

メソッド

infoベースバンド ファイル リーダーに関する特性情報
すべての System object に共通
release

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

step

ベースバンド信号をファイルから生成する

reset

ベースバンド ファイル リーダー オブジェクトの状態をリセットする

isDone

ベースバンド ファイル サンプルの読み取りステータス

すべて折りたたむ

comm.BasebandFileReader System object を使用して、ファイルからベースバンド信号を読み取ります。

ベースバンド ファイル リーダー オブジェクトを作成します。

bbr = comm.BasebandFileReader('example.bb')
bbr = 
  comm.BasebandFileReader with properties:

            Filename: '/tmp/Bdoc20a_1326390_123181/tpa8f61f6b/comm-ex87872352/example.bb'
          SampleRate: 1
     CenterFrequency: 100000000
         NumChannels: 1
            Metadata: [1x1 struct]
     SamplesPerFrame: 100
    CyclicRepetition: false

info メソッドを使用してbbr に関する追加情報を取得します。ファイルには 'double' 型のサンプルが 10000 含まれています。サンプルはまったく読み取られていません。

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

ベースバンド ファイル リーダー オブジェクトを複数回呼び出すデータの読み取り

NumSamplesPerFrame が 100、NumSamplesInData が 10000 であるため、example.bb ファイルの内容全体を読み取るには bbr オブジェクトを複数回呼び出す必要があります。これは、isDone メソッドを使用して while ループを終了することにより実現できます。

y = [];

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

ベースバンド データの絶対値の振幅をプロットします。

plot(abs(y))

すべてのサンプルが読み取られたことを確認します。

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

サンプルの合計数と読み取られたサンプル数は同じです。

ベースバンド ファイル リーダーのリソースを解放します。

release(bbr)

ベースバンド ファイル リーダー オブジェクトを 1 回呼び出すデータの読み取り

代わりに、オブジェクトを 1 回呼び出してファイルからすべてのサンプルを読み取るには、フレームごとのサンプル数をデータ ファイル内のサンプル数と等しくなるように設定します。

bbrinfo = bbr.info
bbrinfo = struct with fields:
    NumSamplesInData: 10000
            DataType: 'double'
      NumSamplesRead: 10000

bbr.SamplesPerFrame = bbrinfo.NumSamplesInData
bbr = 
  comm.BasebandFileReader with properties:

            Filename: '/tmp/Bdoc20a_1326390_123181/tpa8f61f6b/comm-ex87872352/example.bb'
          SampleRate: 1
     CenterFrequency: 100000000
         NumChannels: 1
            Metadata: [1x1 struct]
     SamplesPerFrame: 10000
    CyclicRepetition: false

これで、bbr オブジェクトを 1 回呼び出すことで example.bb ファイルの内容全体が読み取られます。すべてのサンプルが読み取られたことを確認します。

xx = bbr();
isequal(y,xx)
ans = logical
   1

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

拡張機能

R2016b で導入