FAQs from Rohde & Schwarz

Capture d'une trace dans le mode analyseur de spectre en utilisant Matlab

Question

Suivre le script Matlab donne une référence rapide sur la manière de déplacer les données de la trace depuis un analyseur de spectre FSV3030 R&S dans l'espace de travail Matlab.

Un signal CW simple non modulé de 1 GHz et -30 dbm a été utilisé comme exemple pour l'essai du concept.

Réponse

+++Code+++

% Pré-conditions :
% - dernier R&S VISA installé
clc;
analyzer_handle = visa('rs','TCPIP::10.205.0.101::INSTR'); %visa connection, toolbox nécessaire
analyzer_handle.OutputBufferSize = 1000000; %taille de mémoire de sortie en octets
analyzer_handle.InputBufferSize = 1000000; %taille de mémoire en entrée en octets
fopen(analyzer_handle);

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

fprintf(analyzer_handle,'INIT:CONT OFF'); %Sélectionne le mode de balayage unique.

%--------------Configuration de la fréquence et du span-------------
fcenter=1000000000;
fprintf(analyzer_handle,'FREQ:CENT %d',fcenter); %Définit la fréquence centrale
fspan=5000000;
fprintf(analyzer_handle,'FREQ:SPAN %d',fspan); %Règle le span

%--------------Configuration du balayage--------------------------
fprintf(analyzer_handle,'SENS:SWE:COUN 1'); %Définit 1 balayage
points=10000; %le nombre de points règle la résolution de la trace
fprintf(analyzer_handle, 'SENS:SWE:POIN %d',points);

%--------------Configuration de la bande passante----------------------
fprintf(analyzer_handle,'BAND:AUTO OFF');
fprintf(analyzer_handle,'BAND 100000'); %Définit la RBW
fprintf(analyzer_handle,'BAND:VID 500kHz'); %Découple la VBW de la RBW et la réduit pour une trace lisse.

%--------------acquisition de trace-----------------------------
timeout=30; %temporisation en secondes
set(analyzer_handle,'Timeout',timeout); %temporisation augmentée avant l'acquisition pour éviter les erreurs de synchronisation
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); %fread supprime la terminaison supplémentaire dans la mémoire
timeout=1; %temporisation en secondes revient à une valeur normale
set(analyzer_handle,'Timeout',timeout);

%--------------Présentation de la trace en diagramme---------
fstart=fcenter-fspan/2;
fstop=fcenter+fspan/2;
resolution=fspan/points;
points_array=1:1:points;

pour c = 1:points %échelle de l'axe du temps et des données de puissance

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

end

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

%--------------vérification d'erreur----------------------
fprintf(analyzer_handle,'SYST:ERR?');
a=fscanf(analyzer_handle);
disp(a);

fclose(analyzer_handle);

+++

Ci-dessous, la trace observée dans l'analyseur de spectre après le script ci-dessus a été exécuté avec Matlab.

Capture d'une trace dans le mode analyseur de spectre en utilisant Matlab

Ici, la sortie du code qui présente les données de la trace comme un essai de concept.

Capture d'une trace dans le mode analyseur de spectre en utilisant Matlab
Capture d'une trace dans le mode analyseur de spectre en utilisant Matlab

De plus, on peut utiliser R&S Visa Tester pour réviser en détail le processus d'acquisition des points de données, pour ce cas particulier 10000 points ont été acquis, chacun donné comme une valeur flottante 4 octets. C'est pourquoi on lit 40000 octets dans l'enregistrement au début de la capture, afin que la mémoire tampon d'acquisition soit configurée en conséquence,

Références :

- Page produit du FSV3030
https://www.rohde-schwarz.com/de/produkt/fsv3000-produkt-startseite_63493-601503.html

-Trucs et astuces pour la commande à distance d'analyseurs de spectre et de réseaux – Note d'application 1EF62_1E
https://www.rohde-schwarz.com/applications/hints-and-tricks-for-remote-control-of-spectrum-and-network-analyzers-application-note_56280-15635.html

- Commande à distance et pilotes de l'instrument :
https://www.rohde-schwarz.com/driver-pages/remote-control/drivers-remote-control_110753.html