質問
リモート制御によるI/Q値の受信I/Q値はどのようにしてデータ・ストリームに挿入されますか?
リモート制御によるI/Q値の受信I/Q値はどのようにしてデータ・ストリームに挿入されますか?
リモートでのR&S FSVからのI/Qデータの読み取り
記述では、バイナリ・モードでのI/Qデータの読み取りフォーマットを説明します。バイナリ・バイト・ストリームのI/Q情報の順序は、転送フォーマットによって指定されます。3種類の転送フォーマットが指定されています。
転送フォーマットを指定するリモート・コマンドを以下に示します。
TRACe<n>:IQ:DATA:FORMat <Format>
これら3つの転送フォーマットは、以下のように指定されます。
COMPatible -> 512k I data samples, 512k Q data samples, 512k I data ......
IQBLock -> I data block, Q data block
IQPair -> I data sample, Q data sample, I data sample, Q data sample, I data ......
ドローイングには、バイトではなく、サンプルが含まれます。4バイトには、1つのサンプルのコンテンツが含まれます。
データブロック512k I data samplesの場合:512 kサンプル = 512 * 1024 = 524288サンプル
データブロック512k Q data samplesの場合:512 kサンプル = 512 * 1024 = 524288サンプル
データ転送を開始するには、以下の2つの方法があります。すべてのデータを一度に取り込む、すべてのデータを少しずつ取り込む。
すべてのデータを一度に取り込む:TRACe<n>:IQ:DATA?
すべてのデータを少しずつ取り込む:TRACe<n>:IQ:DATA:MEMory? <OffsetSamples>,<NoOfSamples>
インタフェース経由で転送される全データ・バイト数は、以下のとおりです。
L = H + s * b * i
L -> 転送される全データ・バイト数
H -> ヘッダ情報の長さ(このノートの終わりにあるヘッダ仕様を参照)
s -> サンプル数
b -> 4バイトに1つのサンプルのコンテンツが含まれるため、常に4
i -> 1つのサンプルがIデータとQデータを表すため、常に2
例:
===================================================================================================
転送フォーマット:COMPatible
測定サンプル数:10
転送バイト数:10サンプル * 4 * 2 + ヘッダ = 80バイト + ヘッダ
------------------------------------------------------------------------------------------------------------
TRACe<n>:IQ:DATA?を使用
データ・ストリームのコンテンツ:ヘッダ
40バイトのIデータ
40バイトのQデータ
------------------------------------------------------------------------------------------------------------
TRACe<n>:IQ:DATA:MEMory?を使用<OffsetSamples>,<NoOfSamples>
TRACe<n>:IQ:DATA:MEMory? 0, 3
データ・ストリームのコンテンツ:ヘッダ
12バイトのIデータ
12バイトのQデータ
TRACe<n>:IQ:DATA:MEMory? 3, 3
データ・ストリームのコンテンツ:ヘッダ
12バイトのIデータ
12バイトのQデータ
TRACe<n>:IQ:DATA:MEMory? 6, 3
データ・ストリームのコンテンツ:ヘッダ
12バイトのIデータ
12バイトのQデータ
TRACe<n>:IQ:DATA:MEMory? 9, 1
データ・ストリームのコンテンツ:ヘッダ
4バイトのIデータ
4バイトのQデータ
==============================================================
==============================================================
転送フォーマット:COMPatible
測定サンプル数:700000
転送バイト数:700000サンプル * 4 * 2 + ヘッダ = 5600000バイト + ヘッダ
------------------------------------------------------------------------------------------------------------
TRACe<n>:IQ:DATA?を使用
データ・ストリームのコンテンツ:ヘッダ
2097152バイトのIデータ
2097152バイトのQデータ
702848バイトのIデータ
702848バイトのQデータ
------------------------------------------------------------------------------------------------------------
TRACe<n>:IQ:DATA:MEMory?を使用<OffsetSamples>,<NoOfSamples>
TRACe<n>:IQ:DATA:MEMory? 0, 5000
データ・ストリームのコンテンツ:ヘッダ
20000バイトのIデータ
20000バイトのQデータ
TRACe<n>:IQ:DATA:MEMory? 5000, 600000
データ・ストリームのコンテンツ:ヘッダ
2097152バイトのIデータ
2097152バイトのQデータ
302848バイトのIデータ
302848バイトのQデータ
TRACe<n>:IQ:DATA:MEMory? 605000, 95000
データ・ストリームのコンテンツ:ヘッダ
380000バイトのIデータ
380000バイトのQデータ
===================================================================================================
===================================================================================================
===================================================================================================
===================================================================================================
転送フォーマット:IQBLock
測定サンプル数:10
転送バイト数:10サンプル * 4 * 2 + ヘッダ = 80バイト + ヘッダ
------------------------------------------------------------------------------------------------------------
TRACe<n>:IQ:DATA?を使用
データ・ストリームのコンテンツ:ヘッダ
40バイトのIデータ
40バイトのQデータ
------------------------------------------------------------------------------------------------------------
TRACe<n>:IQ:DATA:MEMory?を使用<OffsetSamples>,<NoOfSamples>
TRACe<n>:IQ:DATA:MEMory? 0, 3
データ・ストリームのコンテンツ:ヘッダ
12バイトのIデータ
12バイトのQデータ
TRACe<n>:IQ:DATA:MEMory? 3, 3
データ・ストリームのコンテンツ:ヘッダ
12バイトのIデータ
12バイトのQデータ
TRACe<n>:IQ:DATA:MEMory? 6, 3
データ・ストリームのコンテンツ:ヘッダ
12バイトのIデータ
12バイトのQデータ
TRACe<n>:IQ:DATA:MEMory? 9, 1
データ・ストリームのコンテンツ:ヘッダ
4バイトのIデータ
4バイトのQデータ
==============================================================
==============================================================
転送フォーマット:IQBLock
測定サンプル数:700000
転送バイト数:700000サンプル * 4 * 2 + ヘッダ = 5600000バイト + ヘッダ
------------------------------------------------------------------------------------------------------------
TRACe<n>:IQ:DATA?を使用
データ・ストリームのコンテンツ:ヘッダ
2800000バイトのIデータ
2800000バイトのQデータ
------------------------------------------------------------------------------------------------------------
TRACe<n>:IQ:DATA:MEMory?を使用<OffsetSamples>,<NoOfSamples>
TRACe<n>:IQ:DATA:MEMory? 0, 5000
データ・ストリームのコンテンツ:ヘッダ
20000バイトのIデータ
20000バイトのQデータ
TRACe<n>:IQ:DATA:MEMory? 5000, 600000
データ・ストリームのコンテンツ:ヘッダ
24000000バイトのIデータ
24000000バイトのQデータ
TRACe<n>:IQ:DATA:MEMory? 605000, 95000
データ・ストリームのコンテンツ:ヘッダ
380000バイトのIデータ
380000バイトのQデータ
===================================================================================================
===================================================================================================
===================================================================================================
===================================================================================================
転送フォーマット:IQPair
測定サンプル数:10
転送バイト数:10サンプル * 4 * 2 + ヘッダ = 80バイト + ヘッダ
------------------------------------------------------------------------------------------------------------
TRACe<n>:IQ:DATA?を使用
データ・ストリームのコンテンツ:ヘッダ
4バイトのIデータ
4バイトのQデータ
4バイトのIデータ
4バイトのQデータ
........
........
4バイトのIデータ
4バイトのQデータ
全体で、40バイトのIデータと40バイトのQデータがあります。
------------------------------------------------------------------------------------------------------------
TRACe<n>:IQ:DATA:MEMory?を使用<OffsetSamples>,<NoOfSamples>
TRACe<n>:IQ:DATA:MEMory? 0, 3
データ・ストリームのコンテンツ:ヘッダ
4バイトのIデータ
4バイトのQデータ
4バイトのIデータ
4バイトのQデータ
4バイトのIデータ
4バイトのQデータ
TRACe<n>:IQ:DATA:MEMory? 3, 3
データ・ストリームのコンテンツ:ヘッダ
4バイトのIデータ
4バイトのQデータ
4バイトのIデータ
4バイトのQデータ
4バイトのIデータ
4バイトのQデータ
TRACe<n>:IQ:DATA:MEMory? 6, 3
データ・ストリームのコンテンツ:ヘッダ
4バイトのIデータ
4バイトのQデータ
4バイトのIデータ
4バイトのQデータ
4バイトのIデータ
4バイトのQデータ
TRACe<n>:IQ:DATA:MEMory? 9, 1
データ・ストリームのコンテンツ:ヘッダ
4バイトのIデータ
4バイトのQデータ
==============================================================
==============================================================
転送フォーマット:IQPair
測定サンプル数:700000
転送バイト数:700000サンプル * 4 * 2 + ヘッダ = 5600000バイト + ヘッダ
------------------------------------------------------------------------------------------------------------
TRACe<n>:IQ:DATA?を使用
データ・ストリームのコンテンツ:ヘッダ
4バイトのIデータ
4バイトのQデータ
4バイトのIデータ
4バイトのQデータ
4バイトのIデータ
4バイトのQデータ
......
......
4バイトのIデータ
4バイトのQデータ
全体で、2800000バイトのIデータと2800000バイトのQデータがあります。
------------------------------------------------------------------------------------------------------------
TRACe<n>:IQ:DATA:MEMory?を使用<OffsetSamples>,<NoOfSamples>
TRACe<n>:IQ:DATA:MEMory? 0, 5000
データ・ストリームのコンテンツ:ヘッダ
4バイトのIデータ
4バイトのQデータ
4バイトのIデータ
4バイトのQデータ
4バイトのIデータ
4バイトのQデータ
......
......
4バイトのIデータ
4バイトのQデータ
全体で、20000バイトのIデータと20000バイトのQデータがあります。
TRACe<n>:IQ:DATA:MEMory? 5000, 600000
データ・ストリームのコンテンツ:ヘッダ
4バイトのIデータ
4バイトのQデータ
4バイトのIデータ
4バイトのQデータ
4バイトのIデータ
4バイトのQデータ
......
......
4バイトのIデータ
4バイトのQデータ
全体で、24000000バイトのIデータと24000000バイトのQデータがあります。
TRACe<n>:IQ:DATA:MEMory? 605000, 95000
データ・ストリームのコンテンツ:ヘッダ
4バイトのIデータ
4バイトのQデータ
4バイトのIデータ
4バイトのQデータ
4バイトのIデータ
4バイトのQデータ
......
......
4バイトのIデータ
4バイトのQデータ
全体で、380000バイトのIデータと380000バイトのQデータがあります。
===================================================================================================
===================================================================================================
===================================================================================================
===================================================================================================
===================================================================================================
バイナリ・データ・ストリームのヘッダの仕様:
#45168xxxxxxxx
ASCII文字の#の後ろに、データブロックが続きます。#の直後の数字は、その次に続くデータブロックの長さを示す桁の数です。この例では、4が、次に続く長さが5168バイトであることを表しています。これにデータ・バイトが続きます。このようなデータの伝送中は、すべてのバイトが送信されるまで、あらゆる終了信号またはその他の制御信号は無視されます。
このフォーマットは、9桁までのバイト・カウントだけをバイト数としてサポートします。999999999バイトより多い場合は、次の追加フォーマットが使用されます。
#(1100000000) xxxxxxxx
括弧で囲った場合のバイト長カウント。この例では、バイト・カウントが、1,100,000,000バイトの長さであることを表しています。閉じ括弧の後にはデータ・バイトが続きます。