FAQs from Rohde & Schwarz

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 ......

I/Q mode data transfer - FSV

ドローイングには、バイトではなく、サンプルが含まれます。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バイトの長さであることを表しています。閉じ括弧の後にはデータ・バイトが続きます。