FAQs from Rohde & Schwarz

Exemple de la manière de générer manuellement un fichier *.wv avec Python

Désignation

Je souhaite générer manuellement un fichier de forme d'onde (*.wv) avec Python, que je puisse charger dans mon générateur de signaux vectoriels.

Résolution

Afin de générer un fichier *.wv manuellement, vous avez besoin des données I et Q de votre forme d'onde et de la fréquence d'échantillonnage (horloge) avec laquelle le signal a été échantillonné.

Dans cet exemple simple, une horloge de 10 MHz et une séquence I/Q de 20 échantillons sont utilisés.

FAQ-Exemple-sur-la-maniere-de-generer-un-fichier-.wv-avec-Python_01

Dans l'en-tête du fichier de la forme d'onde, ce que l'on appelle des balises sont insérées. Les balises TYPE, CLOCK, LEVEL OFFS et WAVEFORM sont obligatoires pour chaque forme d'onde.

Toutes les autres balises sont optionnelles et peuvent être insérées après la balise TYPE dans un ordre arbitraire.

La gamme numérique entre –1.0 et +1.0 des données I et Q correspond à la gamme de modulation de la forme d'onde sur convertisseur N/A 16 bits de -32767 à +32767.

Ces nombres entiers 16 bits avec signe doivent être convertis en valeurs résultantes I et Q représentées au format hexadécimal Little endian.

Donc les données doivent être insérées au format binaire au sein de votre balise WAVEFORM avec la structure suivante :

  • Calcul de la longueur
  • Longueur = Nombre de paires I/Q * 4 + 1 = 20*4 + 1 = 81 octets
  • Placez la séquence {WAVEFORM-81:# au début de l'ensemble de données
  • Placez le symbole } à la fin de l'ensemble de données

Après l'exécution du code précédent, le fichier généré peut être ouvert avec le R&S ARB Toolbox et délivrer la forme d'onde suivante. Par rapport aux données I et Q du code Python, on peut voir que les données ont été correctement générées.

FAQ-Exemple-sur-la-maniere-de-generer-manuellement-un-fichier-.wv-avec-Python_02

Références :
Manuel d'utilisation du SMBV100B
https://www.rohde-schwarz.com/produkte/messtechnik/vektorsignalgeneratoren/rs-smbv100b-vektorsignalgenerator_63493-519808.html