FAQs from Rohde & Schwarz

Como transferir automaticamente dados IQ do analisador de espectro FSVR para o software VSE - por exemplo, Python

Pergunta

Esse exemplo Python mostra como transferir um arquivo de dados IQ do analisador de espectro para o PC do controlador e como abri-lo com o software de análise de sinal VSE.

Para obter mais informações sobre o controle remoto do equipamento de teste e medição, consulte o manual do usuário dos instrumentos e o site da Rohde & Schwarz:

https://www.rohde-schwarz.com/driver-pages/remote-control/drivers-remote-control_110753.html

Resposta

Esse exemplo Python mostra como transferir um arquivo de dados IQ do analisador de espectro para o PC do controlador e como abri-lo com o software de análise de sinal VSE.

Testado com:

  • Analisador de espectro em tempo real FSVR (FW: 2.23 SP1)
  • Software VSE (1.90)
  • PyVISA 1.11.3
  • Python 3.9

Autor: Suporte da Rohde & Schwarz - MP

Atualizado em 22.01.2021

Versão: v1.3

Suporte técnico -> https://www.rohde-schwarz.com/support
Antes de executar, sempre confira este script para verificar se há configurações inadequadas!
Este exemplo não pretende ser completo. Todas as informações foram
compiladas com cuidado. No entanto, erros não podem ser descartados.

importar pyvisa

rm = pyvisa.ResourceManager()
# ajuste a cadeia de caracteres do recurso VISA para adequar ao seu instrumento
instr = rm.open_resource('TCPIP::192.168.0.1::INSTR') # substitua pelo seu endereço IP
instr.write_termination = '\n'
instr.read_termination = '\n'
instr.timeout = 3000

vse = rm.open_resource('TCPIP::127.0.0.1::INSTR') # não altere o host local
vse.timeout = 3000

vse.write('*RST')
vse.query('*OPC?')
instr.write('*RST')
instr.query('*OPC?')
instr.write('*CLS')

instr.write('INIT:CONT OFF')

print('\n' + instr.query('*IDN?'))

instr.write('FREQ:CENT 1e9')
instr.write('DISP:TRAC:Y:RLEV 0')
instr.write('TRAC1:IQ ON')
instr.write('TRAC1:IQ:SRAT 32 MHZ')
instr.write('TRAC1:IQ:RLEN 691') # Intervalo: 1 ... 209715200(200*1024*1024)
instr.query('*OPC?')

filePathPc = r"c:\temp\data.iq.tar"
filePathInstr = r"c:\temp\dev_data.iq.tar"

instr.write('INIT')
instr.query('*OPC?')

# salve o arquivo de dados IQ no disco rígido do instrumento
instr.write(f'MMEM:STOR:IQ:STAT 1, "{filePathInstr}"')

# peça dados de arquivo a partir do instrumento e salve no disco rígido local
fileData = bytes(instr.query_binary_values(f'MMEM:DATA? "{filePathInstr}"', datatype='s'))
newFile = open(filePathPc, "wb")
newFile.write(fileData)
newFile.close()

print(instr.query('SYST:ERR?'))

instr.close()

# carregue o arquivo no software VSE
vse.write(f'MMEM:LOAD:IQ:STAT 1, "{filePathPc}"')

vse.close()

Name
Type
Version
Date
Size
FSVR IQ-data-transfer 1-3
Type
Perguntas frequentes
Version
Date
Feb 04, 2021
Size
54 kB