FAQs from Rohde & Schwarz

Transferencia de datos en modo I/Q

Pregunta

Recepción de los valores de I y Q a través de control remoto. ¿Cómo se insertan los valores de I y Q en el flujo de datos?

Respuesta

Lectura remota de datos I/Q desde el FSV de R&S

En la descripción se explica el formato de la lectura de datos I/Q en modo binario. El orden de los datos I y Q en la secuencia de binaria de bytes está especificada por el formato de la transferencia. Hay tres formatos de transferencia distintos.

El comando de control remoto para especificar el formato de transferencia es:

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

Los tres formatos de transferencia tienen el nombre siguiente:

COMPatible -> 512 k muestras de datos I, 512 k muestras de datos Q, 512 k muestras de datos I ......

IQBLock -> bloque de datos I, bloque de datos Q

IQPair -> muestra de datos I, muestra de datos Q, muestra de datos I, muestra de datos Q, muestra de datos I ......

I/Q mode data transfer - FSV

El dibujo contiene muestras (no bytes). Cuatro bytes contienen una muestra.

En el caso de los bloques de datos de 512 k muestras de datos I es: 512 k muestras = 512 * 1024 = 524 288 muestras

En el caso de los bloques de datos de 512 k muestras de datos Q es: 512 k muestras = 512 * 1024 = 524 288 muestras

Hay dos formas distintas de iniciar una transferencia de datos: obtener todos los datos de una vez y obtener los datos en pequeñas cantidades.

Para obtener todos los datos de una vez: TRACe<n>:IQ:DATA?

Para obtener los datos en pequeñas cantidades: TRACe<n>:IQ:DATA:MEMory? <OffsetSamples>,<NoOfSamples>

El número global de bytes de datos transferidos a través de la interfaz es el siguiente:

L = H + s * b * i

L -> número global de bytes de datos transferidos

H -> longitud de la información de encabezamiento (ver la especificación del encabezamiento al final de esta nota)

s -> número de muestras

b -> siempre 4 porque cuatro bytes contienen una muestra

i -> siempre 2 porque una muestra incluye datos I y datos Q

Ejemplos:

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

Formato de transferencia: "COMPatible"

Número de muestras medidas: 10

Número de bytes por transferir: 10 muestras * 4 * 2 + encabezamiento = 80 bytes + encabezamiento

------------------------------------------------------------------------------------------------------------

Utilizando TRACe<n>:IQ:DATA?

El flujo de datos contiene: Encabezamiento

40 bytes datos I

40 bytes datos Q

------------------------------------------------------------------------------------------------------------

Utilizando TRACe<n>:IQ:DATA:MEMory? <OffsetSamples>,<NoOfSamples>

TRACe<n>:IQ:DATA:MEMory? 0, 3

El flujo de datos contiene: Encabezamiento

12 bytes datos I

12 bytes datos Q

TRACe<n>:IQ:DATA:MEMory? 3, 3

El flujo de datos contiene: Encabezamiento

12 bytes datos I

12 bytes datos Q

TRACe<n>:IQ:DATA:MEMory? 6, 3

El flujo de datos contiene: Encabezamiento

12 bytes datos I

12 bytes datos Q

TRACe<n>:IQ:DATA:MEMory? 9, 1

El flujo de datos contiene: Encabezamiento

4 bytes datos I

4 bytes datos Q

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

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

Formato de transferencia: "COMPatible"

Número de muestras medidas: 700 000

Número de bytes por transferir: 700 000 muestras * 4 * 2 + encabezamiento = 5 600 000 bytes + encabezamiento

------------------------------------------------------------------------------------------------------------

Utilizando TRACe<n>:IQ:DATA?

El flujo de datos contiene: Encabezamiento

2 097 152 bytes datos I

2 097 152 bytes datos Q

702 848 bytes datos I

702 848 bytes datos Q

------------------------------------------------------------------------------------------------------------

Utilizando TRACe<n>:IQ:DATA:MEMory? <OffsetSamples>,<NoOfSamples>

TRACe<n>:IQ:DATA:MEMory? 0, 5000

El flujo de datos contiene: Encabezamiento

20 000 bytes datos I

20 000 bytes datos Q

TRACe<n>:IQ:DATA:MEMory? 5000, 600 000

El flujo de datos contiene: Encabezamiento

2 097 152 bytes datos I

2 097 152 bytes datos Q

302 848 bytes datos I

302 848 bytes datos Q

TRACe<n>:IQ:DATA:MEMory? 605 000, 95 000

El flujo de datos contiene: Encabezamiento

380 000 bytes datos I

380 000 bytes datos Q

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

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

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

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

Formato de transferencia: "IQBLock"

Número de muestras medidas: 10

Número de bytes por transferir: 10 muestras * 4 * 2 + encabezamiento = 80 bytes + encabezamiento

------------------------------------------------------------------------------------------------------------

Utilizando TRACe<n>:IQ:DATA?

El flujo de datos contiene: Encabezamiento

40 bytes datos I

40 bytes datos Q

------------------------------------------------------------------------------------------------------------

Utilizando TRACe<n>:IQ:DATA:MEMory? <OffsetSamples>,<NoOfSamples>

TRACe<n>:IQ:DATA:MEMory? 0, 3

El flujo de datos contiene: Encabezamiento

12 bytes datos I

12 bytes datos Q

TRACe<n>:IQ:DATA:MEMory? 3, 3

El flujo de datos contiene: Encabezamiento

12 bytes datos I

12 bytes datos Q

TRACe<n>:IQ:DATA:MEMory? 6, 3

El flujo de datos contiene: Encabezamiento

12 bytes datos I

12 bytes datos Q

TRACe<n>:IQ:DATA:MEMory? 9, 1

El flujo de datos contiene: Encabezamiento

4 bytes datos I

4 bytes datos Q

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

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

Formato de transferencia: "IQBLock"

Número de muestras medidas: 700 000

Número de bytes por transferir: 700 000 muestras * 4 * 2 + encabezamiento = 5 600 000 bytes + encabezamiento

------------------------------------------------------------------------------------------------------------

Utilizando TRACe<n>:IQ:DATA?

El flujo de datos contiene: Encabezamiento

2 800 000 bytes datos I

2 800 000 bytes datos Q

------------------------------------------------------------------------------------------------------------

Utilizando TRACe<n>:IQ:DATA:MEMory? <OffsetSamples>,<NoOfSamples>

TRACe<n>:IQ:DATA:MEMory? 0, 5000

El flujo de datos contiene: Encabezamiento

20 000 bytes datos I

20 000 bytes datos Q

TRACe<n>:IQ:DATA:MEMory? 5000, 600 000

El flujo de datos contiene: Encabezamiento

24 000 000 bytes datos I

24 000 000 bytes datos Q

TRACe<n>:IQ:DATA:MEMory? 605 000, 95 000

El flujo de datos contiene: Encabezamiento

380 000 bytes datos I

380 000 bytes datos Q

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

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

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

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

Formato de transferencia: "IQPair"

Número de muestras medidas: 10

Número de bytes por transferir: 10 muestras * 4 * 2 + encabezamiento = 80 bytes + encabezamiento

------------------------------------------------------------------------------------------------------------

Utilizando TRACe<n>:IQ:DATA?

El flujo de datos contiene: Encabezamiento

4 bytes datos I

4 bytes datos Q

4 bytes datos I

4 bytes datos Q

........

........

4 bytes datos I

4 bytes datos Q

En total, hay 40 bytes datos I y 40 bytes datos Q

------------------------------------------------------------------------------------------------------------

Utilizando TRACe<n>:IQ:DATA:MEMory? <OffsetSamples>,<NoOfSamples>

TRACe<n>:IQ:DATA:MEMory? 0, 3

El flujo de datos contiene: Encabezamiento

4 bytes datos I

4 bytes datos Q

4 bytes datos I

4 bytes datos Q

4 bytes datos I

4 bytes datos Q

TRACe<n>:IQ:DATA:MEMory? 3, 3

El flujo de datos contiene: Encabezamiento

4 bytes datos I

4 bytes datos Q

4 bytes datos I

4 bytes datos Q

4 bytes datos I

4 bytes datos Q

TRACe<n>:IQ:DATA:MEMory? 6, 3

El flujo de datos contiene: Encabezamiento

4 bytes datos I

4 bytes datos Q

4 bytes datos I

4 bytes datos Q

4 bytes datos I

4 bytes datos Q

TRACe<n>:IQ:DATA:MEMory? 9, 1

El flujo de datos contiene: Encabezamiento

4 bytes datos I

4 bytes datos Q

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

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

Formato de transferencia: "IQPair"

Número de muestras medidas: 700 000

Número de bytes por transferir: 700 000 muestras * 4 * 2 + encabezamiento = 5 600 000 bytes + encabezamiento

------------------------------------------------------------------------------------------------------------

Utilizando TRACe<n>:IQ:DATA?

El flujo de datos contiene: Encabezamiento

4 bytes datos I

4 bytes datos Q

4 bytes datos I

4 bytes datos Q

4 bytes datos I

4 bytes datos Q

......

......

4 bytes datos I

4 bytes datos Q

En total, hay 2 800 000 bytes datos I y 2 800 000 bytes datos Q

------------------------------------------------------------------------------------------------------------

Utilizando TRACe<n>:IQ:DATA:MEMory? <OffsetSamples>,<NoOfSamples>

TRACe<n>:IQ:DATA:MEMory? 0, 5000

El flujo de datos contiene: Encabezamiento

4 bytes datos I

4 bytes datos Q

4 bytes datos I

4 bytes datos Q

4 bytes datos I

4 bytes datos Q

......

......

4 bytes datos I

4 bytes datos Q

En total, hay 20 000 bytes datos I y 20 000 bytes datos Q

TRACe<n>:IQ:DATA:MEMory? 5000, 600 000

El flujo de datos contiene: Encabezamiento

4 bytes datos I

4 bytes datos Q

4 bytes datos I

4 bytes datos Q

4 bytes datos I

4 bytes datos Q

......

......

4 bytes datos I

4 bytes datos Q

En total, hay 24 000 000 bytes datos I y 24 000 000 bytes datos Q

TRACe<n>:IQ:DATA:MEMory? 605 000, 95 000

El flujo de datos contiene: Encabezamiento

4 bytes datos I

4 bytes datos Q

4 bytes datos I

4 bytes datos Q

4 bytes datos I

4 bytes datos Q

......

......

4 bytes datos I

4 bytes datos Q

En total, hay 380 000 bytes datos I y 380 000 bytes datos Q

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

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

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

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

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

Especificación del encabezamiento de un flujo de datos binarios:

#45168xxxxxxxx

El carácter ASCII # introduce el bloque de datos. El número siguiente indica cuántos de los dígitos siguientes describen la longitud del bloque de datos. En el ejemplo, los 4 dígitos siguientes indican una longitud de 5168 bytes. Siguen los bytes de datos. Durante la transmisión de estos bytes de datos, se ignoran los "End" y otras señales de control hasta que se transmiten todos los bytes.

Este formato solo admite un recuento de bytes hasta 9 dígitos para el número de bytes. Si hay más de 999 999 999 bytes, se utiliza el siguiente formato adicional.

#(1100000000) xxxxxxxx

Recuento de longitud de bytes si va entre paréntesis. En este ejemplo, el recuento de bytes indica una longitud de 1 100 000 000 bytes. Siguen los bytes de datos después del cierre de paréntesis.