FAQs from Rohde & Schwarz

I/Q 模式数据传输

问题

通过远程控制接收 I 值和 Q 值。I 值和 Q 值是如何插入数据流的?

回答

远程读取 R&S FSV 中的 I/Q 数据

描述解释了在二进制模式中 I/Q 数据读数的格式。I 和 Q 信息在二进制字节流中的顺序是按转换格式定义的。我们定义了三种不同的转换格式。

用于定义转换格式的远程命令是

TRACe<n>:IQ:DATA:FORMat <Format>

这三种转换格式的名称如下:

COMPatible -> 512k I 数据样本,512k Q 数据样本,512k I 数据 ......

IQBLock -> I 数据块,Q 数据块

IQPair -> I 数据样本,Q 数据样本,I 数据样本,Q 数据样本,I 数据 ......

I/Q mode data transfer - FSV

图形包含了样本(而非字节)。四个字节包含一个样本的内容。

数据块 512k I 数据样本为:512k 样本 = 512 * 1024 = 524288 样本

数据块 512k Q 数据样本为:512k 样本 = 512 * 1024 = 524288 样本

您可以通过两种不同的方式启动数据传输:即刻获取所有的数据,以及获取少量数据。

即刻获取所有的数据:TRACe<n>:IQ:DATA?

获取少量数据:TRACe<n>:IQ:DATA:MEMory? <OffsetSamples>,<NoOfSamples>

通过接口传输的数据字节总数如下:

L = H + s * b * i

L -> 传输的数据字节总数

H -> 页眉长度信息(请参见此应用说明最后的页眉规范)

s -> 样本数

b -> 始终是 4 字节,因为四个字节包含一个样本的内容

i -> 始终是 2,因为一个样本表 I 数据以及 Q 数据

示例:

===================================================================================================

转换格式: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 字节的长度。数据字节跟在右括号后面。