FAQs from Rohde & Schwarz

Capturar um traço no modo do analisador de espectro usando o Matlab

Pergunta

O script Matlab a seguir fornece uma referência rápida sobre como mover os dados de rastreamento de um analisador de espectro FSV3030 da Rohde & Schwarz para o espaço de trabalho do Matlab.

Um sinal CW simples não modulado de 1 GHz e -30 dbm foi utilizado como exemplo para a prova de conceito.

Resposta

+++Código+++

% Pré-condições:
% - Mais recente R&S®VISA instalado
clc;
analyzer_handle = visa('rs','TCPIP::10.205.0.101::INSTR'); %conexão visa, toolbox necessário
analyzer_handle.OutputBufferSize = 1000000; %tamanho do buffer de saída em bytes
analyzer_handle.InputBufferSize = 1000000; %tamanho do buffer de entrada em bytes
fopen(analyzer_handle);

fprintf(analyzer_handle,'*RST;*WAI');
fprintf(analyzer_handle,'*IDN?');
a=fscanf(analyzer_handle);
disp(a);

fprintf(analyzer_handle,'INIT:CONT OFF'); %Selecione o modo de varredura única.

%--------------Configurando a Frequência e o Intervalo-------------
fcenter=1000000000;
fprintf(analyzer_handle,'FREQ:CENT %d',fcenter); %Define a frequência central
fspan=5000000;
fprintf(analyzer_handle,'FREQ:SPAN %d',fspan); %Define o intervalo

%--------------Configurando a varredura--------------------------
fprintf(analyzer_handle,'SENS:SWE:COUN 1'); %Define 1 varredura
points=10.000; %o nº de pontos define a resolução do traço
fprintf(analyzer_handle, 'SENS:SWE:POIN %d’,points);

%--------------Configurando a largura de banda----------------------
fprintf(analyzer_handle,'BAND:AUTO OFF');
fprintf(analyzer_handle,'BAND 100000'); %Define a resolução de largura de banda
fprintf(analyzer_handle,'BAND:VID 500kHz'); %Desassocie o VBW da resolução de largura de banda e o diminua para suavizar o traço.

%--------------aquisição de traço-----------------------------
tempo limite=30; %tempo limite em segundos
set(analyzer_handle,'Timeout',timeout); %o tempo limite aumentado antes da aquisição para evitar erros de sincronização
fprintf(analyzer_handle,'INIT:IMM;*WAI');
fprintf('Fetching waveform ...\n ');
fprintf(analyzer_handle,':FORM REAL,32');
fprintf(analyzer_handle,':TRAC? TRACE1;*WAI');
data=binblockread(analyzer_handle,'float32');
fread(analyzer_handle,1); %a leitura remove o terminal extra no buffer
tempo limite=1; %tempo limite em segundos volta a um valor normal
set(analyzer_handle,'Timeout',timeout);

%--------------Apresentação do traço em um diagrama---------
fstart=fcenter-fspan/2;
fstop=fcenter+fspan/2;
resolution=fspan/points;
points_array=1:1:points;

for c = 1:points %eixo de tempo de escala e dados de potência

points_array(1,c)=points_array(1,c)*resolution;
points_array(1,c)=points_array(1,c) + fstart;

fim

plot(points_array,data);
title('SA Spectrum Acquisition')
xlabel('frequency domain [Hz]')
ylabel('power [dbm]')

%--------------verificação de erro----------------------
fprintf(analyzer_handle,'SYST:ERR?');
a=fscanf(analyzer_handle);
disp(a);

fclose(analyzer_handle);

+++

Abaixo do traço observado no analisador de espectro após a execução do script acima com o Matlab.

Capturar um traço no modo do analisador de espectro usando o Matlab

Aqui vemos a saída do código que apresenta os dados de rastreamento como uma prova de conceito.

Capturar um traço no modo do analisador de espectro usando o Matlab
Capturar um traço no modo do analisador de espectro usando o Matlab

Além disso, é possível usar o VisaTester da Rohde & Schwarz para revisar em detalhes o processo de aquisição dos pontos de dados. Para este caso específico foram adquiridos 10.000 pontos, cada um dado como um valor flutuante de 4 bytes. É por isso que se lê 40.000 bytes no protocolo no início da captura, para que o buffer de aquisição seja definido de em consonância,

Referências:

-Página do produto FSV3030
https://www.rohde-schwarz.com/de/produkt/fsv3000-produkt-startseite_63493-601503.html

-Dicas e sugestões para controle remoto dos analisadores de espectro e de rede - nota de aplicação 1EF62_1E
https://www.rohde-schwarz.com/applications/hints-and-tricks-for-remote-control-of-spectrum-and-network-analyzers-application-note_56280-15635.html

-Controle remoto e drivers de instrumento:
https://www.rohde-schwarz.com/driver-pages/remote-control/drivers-remote-control_110753.html