FAQs from Rohde & Schwarz

Trasferimento dei dati nella modalità I/Q

Domanda

Sto ricevendo i valori I e Q tramite controllo remoto. Come vengono inseriti i valori I e Q nel flusso di dati?

Risposta

Leggere da remoto i dati I/Q dall'R&S FSV

La descrizione spiega i formati della lettura dei dati I/Q in modalità binaria. L'ordine delle informazioni I e Q nel flusso di byte binario è specificato dal formato di trasferimento. Sono stati specificati tre diversi formati di trasferimento.

Il comando remoto per specificare il formato di trasferimento è

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

Questi tre formati di trasferimento sono denominati come segue:

COMPatible -> 512k campioni di dati I, 512k campioni di dati Q, 512k dati I ......

IQBLock -> blocco di dati I, blocco di dati Q

IQPair -> campione di dati I, campione di dati Q, campione di dati I, campione di dati Q, dati I ......

I/Q mode data transfer - FSV

Il disegno contiene dei campioni (non byte). Quattro byte contengono il contenuto di un campione.

Nel caso dei blocchi di dati, i 512k campioni di dati I sono: 512k campioni = 512 * 1024 = 524288 campioni

Nel caso dei blocchi di dati, i 512k campioni di dati Q sono: 512k campioni = 512 * 1024 = 524288 campioni

Ci sono due modi diversi per avviare un trasferimento di dati: ottenere tutti i dati contemporaneamente e ottenere i dati in piccole quantità.

Ottenere tutti i dati contemporaneamente: TRACe<n>:IQ:DATA?

Ottenere tutti i dati in piccole quantità: TRACe<n>:IQ:DATA:MEMory? <OffsetSamples>,<NoOfSamples>

Il numero totale di byte di dati trasferiti tramite l'interfaccia è il seguente:

L = H + s * b * i

L -> numero totale di byte di dati trasferiti

H -> lunghezza delle informazioni dell'intestazione (vedere specifiche dell'intestazione alla fine di questa nota)

s -> numero di campioni

b -> sempre 4 perché quattro byte contengono il contenuto di un campione

i -> sempre 2 perché un campione campiona i dati I e i dati Q

Esempi:

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

Formato di trasferimento: COMPatible

Numero di campioni misurati: 10

Numero di byte da trasferire: 10 campioni * 4 * 2 + intestazione = 80 byte + intestazione

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

Utilizzando TRACe<n>:IQ:DATA?

Il flusso di dati contiene: Intestazione

Dati I da 40 byte

Dati Q da 40 byte

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

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

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

Il flusso di dati contiene: Intestazione

Dati I da 12 byte

Dati Q da 12 byte

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

Il flusso di dati contiene: Intestazione

Dati I da 12 byte

Dati Q da 12 byte

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

Il flusso di dati contiene: Intestazione

Dati I da 12 byte

Dati Q da 12 byte

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

Il flusso di dati contiene: Intestazione

Dati I da 4 byte

Dati Q da 4 byte

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

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

Formato di trasferimento: COMPatible

Numero di campioni misurati: 700000

Numero di byte da trasferire: 700000 campioni * 4 * 2 + intestazione = 5600000 byte + intestazione

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

Utilizzando TRACe<n>:IQ:DATA?

Il flusso di dati contiene: Intestazione

Dati I da 2097152 byte

Dati Q da 2097152 byte

Dati I da 702848 byte

Dati Q da 702848 byte

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

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

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

Il flusso di dati contiene: Intestazione

Dati I da 20000 byte

Dati Q da 20000 byte

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

Il flusso di dati contiene: Intestazione

Dati I da 2097152 byte

Dati Q da 2097152 byte

Dati I da 302848 byte

Dati Q da 302848 byte

TRACe<n>:IQ:DATA:MEMory? 605000, 95000

Il flusso di dati contiene: Intestazione

Dati I da 380000 byte

Dati Q da 380000 byte

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

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

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

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

Formato di trasferimento: IQBLock

Numero di campioni misurati: 10

Numero di byte da trasferire: 10 campioni * 4 * 2 + intestazione = 80 byte + intestazione

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

Utilizzando TRACe<n>:IQ:DATA?

Il flusso di dati contiene: Intestazione

Dati I da 40 byte

Dati Q da 40 byte

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

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

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

Il flusso di dati contiene: Intestazione

Dati I da 12 byte

Dati Q da 12 byte

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

Il flusso di dati contiene: Intestazione

Dati I da 12 byte

Dati Q da 12 byte

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

Il flusso di dati contiene: Intestazione

Dati I da 12 byte

Dati Q da 12 byte

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

Il flusso di dati contiene: Intestazione

Dati I da 4 byte

Dati Q da 4 byte

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

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

Formato di trasferimento: IQBLock

Numero di campioni misurati: 700000

Numero di byte da trasferire: 700000 campioni * 4 * 2 + intestazione = 5600000 byte + intestazione

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

Utilizzando TRACe<n>:IQ:DATA?

Il flusso di dati contiene: Intestazione

Dati I da 2800000 byte

Dati Q da 2800000 byte

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

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

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

Il flusso di dati contiene: Intestazione

Dati I da 20000 byte

Dati Q da 20000 byte

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

Il flusso di dati contiene: Intestazione

Dati I da 24000000 byte

Dati Q da 24000000 byte

TRACe<n>:IQ:DATA:MEMory? 605000, 95000

Il flusso di dati contiene: Intestazione

Dati I da 380000 byte

Dati Q da 380000 byte

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

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

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

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

Formato di trasferimento: IQPair

Numero di campioni misurati: 10

Numero di byte da trasferire: 10 campioni * 4 * 2 + intestazione = 80 byte + intestazione

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

Utilizzando TRACe<n>:IQ:DATA?

Il flusso di dati contiene: Intestazione

Dati I da 4 byte

Dati Q da 4 byte

Dati I da 4 byte

Dati Q da 4 byte

........

........

Dati I da 4 byte

Dati Q da 4 byte

Nel complesso ci sono dati I da 40 byte e dati Q da 40 byte

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

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

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

Il flusso di dati contiene: Intestazione

Dati I da 4 byte

Dati Q da 4 byte

Dati I da 4 byte

Dati Q da 4 byte

Dati I da 4 byte

Dati Q da 4 byte

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

Il flusso di dati contiene: Intestazione

Dati I da 4 byte

Dati Q da 4 byte

Dati I da 4 byte

Dati Q da 4 byte

Dati I da 4 byte

Dati Q da 4 byte

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

Il flusso di dati contiene: Intestazione

Dati I da 4 byte

Dati Q da 4 byte

Dati I da 4 byte

Dati Q da 4 byte

Dati I da 4 byte

Dati Q da 4 byte

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

Il flusso di dati contiene: Intestazione

Dati I da 4 byte

Dati Q da 4 byte

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

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

Formato di trasferimento: IQPair

Numero di campioni misurati: 700000

Numero di byte da trasferire: 700000 campioni * 4 * 2 + intestazione = 5600000 byte + intestazione

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

Utilizzando TRACe<n>:IQ:DATA?

Il flusso di dati contiene: Intestazione

Dati I da 4 byte

Dati Q da 4 byte

Dati I da 4 byte

Dati Q da 4 byte

Dati I da 4 byte

Dati Q da 4 byte

......

......

Dati I da 4 byte

Dati Q da 4 byte

Nel complesso ci sono dati I da 2800000 byte e dati Q da 2800000 byte

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

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

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

Il flusso di dati contiene: Intestazione

Dati I da 4 byte

Dati Q da 4 byte

Dati I da 4 byte

Dati Q da 4 byte

Dati I da 4 byte

Dati Q da 4 byte

......

......

Dati I da 4 byte

Dati Q da 4 byte

Nel complesso ci sono dati I da 20000 byte e dati Q da 20000 byte

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

Il flusso di dati contiene: Intestazione

Dati I da 4 byte

Dati Q da 4 byte

Dati I da 4 byte

Dati Q da 4 byte

Dati I da 4 byte

Dati Q da 4 byte

......

......

Dati I da 4 byte

Dati Q da 4 byte

Nel complesso ci sono dati I da 24000000 byte e dati Q da 24000000 byte

TRACe<n>:IQ:DATA:MEMory? 605000, 95000

Il flusso di dati contiene: Intestazione

Dati I da 4 byte

Dati Q da 4 byte

Dati I da 4 byte

Dati Q da 4 byte

Dati I da 4 byte

Dati Q da 4 byte

......

......

Dati I da 4 byte

Dati Q da 4 byte

Nel complesso ci sono dati I da 380000 byte e dati Q da 380000 byte

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

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

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

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

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

Specifiche dell'intestazione in un flusso di dati binario:

#45168xxxxxxxx

Il carattere ASCII # introduce il blocco di dati. Il numero successivo indica quante delle successive cifre descrivono la lunghezza del blocco di dati. Nell'esempio, le successive 4 cifre indicano una lunghezza di 5168 byte. Seguono i byte dei dati. Durante la trasmissione di questi byte di dati, tutti gli End o gli altri caratteri di controllo vengono ignorati finché tutti i byte non sono trasferiti.

Questo formato supporta solo un conteggio di byte fino a 9 cifre per il numero di byte. Per più di 999999999 byte, viene utilizzato il seguente formato.

#(1100000000) xxxxxxxx

Il conteggio della lunghezza dei byte è inserito tra parentesi. Nell'esempio, il conteggio dei byte indica una lunghezza di 1.100.000.000 byte. I byte dei dati seguono la parentesi di chiusura.