何をお探しですか?
オシロスコープ・バイナリ・ファイルのMATLAB変換プログラム
このプログラムにより、キーサイトのオシロスコープ・バイナリ・ファイルをMathWorks社MATLAB®にインポートできます。MATLABは、The Math Works, Inc.の登録商標です。
Keysight 6000/8000/80000シリーズなどのオシロスコープのデータは、オシロスコープ・バイナリ・フォーマットで保存できます。MATLABでimportKeysightBin.mプログラムを使用して、オシロスコープのバイナリ出力ファイルをMATLABに読み込めます
概要
変換プログラムimportKeysightBinとオシロスコープ・バイナリ・ファイルをMATLAB作業ディレクトリに保存します。MATLABで変換関数をコールします。関数の引数の1つにオシロスコープ・バイナリ・ファイルを指定します(ファイル名はシングルクォーテーションで囲み半角丸括弧に入れます)。関数の出力はx軸/y軸の配列になります。
例
例1: 10ポイントのリスト
points10.binファイルは、Keysight DSO81204Bオシロスコープで10ポイントの波形立ち上がりエッジを保存したものです。サンプルは40 GSa/s(25 ps/ポイント)で取得されたものです。
- バイナリ・データ・ファイルpoints10.binとプログラムimportKeysightBinをMATLABの作業ディレクトリにコピーします。
- MATLABで、
importKeysightBin('points10.bin')
関数(ファイル名はシングルクォーテーションで囲み半角丸括弧に入れます)をコールします。 - 参考のために、zipファイル内のMATLABプログラム(plot10points.m)を確認してください。
例2: 方形波のプロット
この例では複数の周期にわたる方形波をプロットします。バイナリファイルmyFileName.binは1000ポイントです。
- myFileName.binとimportKeysightBin.mをMATLABの作業ディレクトリに保存します。
- MATLABで、
importKeysightBin('myFileName.bin')
関数(ファイル名はシングルクォーテーションで囲み半角丸括弧に入れます)をコールします。 - 参考のために、zipファイル内のMATLABプログラム(plot1024points.m)を確認してください。
手順書
はじめに
オシロスコープのデータをMATLABにインポートしたい場合がよくあります。以下の手順は、Keysight Infiniiumオシロスコープのバイナリ・データ・ファイルをMATLABで使用できる配列に変換する方法です。
- データをバイナリフォーマットでオシロスコープのハードディスクに保存します。
- オシロスコープ・バイナリ・データをPCのMATLAB作業ディレクトリに転送します。
- MATLABでimportKeysightBin関数をコールします。
MATLABで使用されているバイナリフォーマットはキーサイトのオシロスコープで使用されているバイナリフォーマットとは異なるので、変換プログラムを使用する必要があります。この変換プログラムは関数です。よって、MATLABアプリケーションプログラムからこの関数をコールします。
このプログラムは.m拡張子付きのMATLAB Mファイルで、厳密にはMATLAB関数です。プログラムはMATLAB言語で書かれたテキストファイルです。関数名はimportKeysightBinで、.mテキストファイル名はimportKeysightBin.mです。
変換プログラムと元のオシロスコープ・バイナリ・ファイルは、MATLAB作業ディレクトリに保存する必要があります。その後、MATLAB.mプログラムから変換関数をコールします。関数の引数の1つがオシロスコープ・バイナリ・ファイルで、ファイル名はシングルクォーテーションで囲みます。関数の出力はx軸/y軸の配列になります。
importKeysightBin関数
入力ファイルを作成するには、オシロスコープで波形トレースをキーサイトのオシロスコープ・バイナリ・フォーマットとして保存します。入力ファイル名はテキスト文字なので、関数のコール時に引数に指定する際はシングルクォーテーションで囲みます。
1つのy軸電圧ベクトルを変換する場合は、varargin引数を1に設定するか省略します。
出力変数
関数の出力は、2つの1次元配列(ベクトル)です。
timeVectorはx軸の時間サンプリングポイントです。
timeVoltageはy軸の電圧測定ポイントです。
変換動作の詳細
.mファイルの1行目は関数定義です。四角括弧で囲まれているのが出力、半角丸括弧で囲まれているのが入力です。
その下の5行は説明で、先頭に%記号が付加されています。
最初に、ファイルヘッダ情報を読み込みます(キーサイトのバイナリファイルには長いファイルヘッダが含まれています。詳細はオシロスコープのオンラインヘルプシステムに記載されています)。ヘッダを読み込む前に、fopen関数でフィールド(fid)を初期化します。fopen関数はフィールドをMATLABのスカラー整数に初期化します。これは、この後のファイル関数コマンドでファイルを識別するのに使用されます。fileSizeはファイルサイズを表すスカラー整数です。nWaveformsは波形の数を表すスカラー整数です。
次に、nPoints変数をx/yの単位情報と共に読み込みます。時間ベクトルはxIncrementとxOriginから計算されます。
最後に電圧ベクトルを読み込みます。