Descripción
Quiero generar manualmente un archivo de forma de onda (*.wv) con Python que pueda después cargar en mi generador de señales vectoriales.
Quiero generar manualmente un archivo de forma de onda (*.wv) con Python que pueda después cargar en mi generador de señales vectoriales.
Para generar manualmente un archivo *.wv necesita los datos I y Q de su forma de onda y la frecuencia de muestreo (reloj) con la que se muestrea la señal.
En este ejemplo sencillo se utiliza un reloj de 10 MHz y una secuencia I/Q de 20 muestras.
En el encabezado de la forma de onda se insertan las etiquetas. Las etiquetas TYPE, CLOCK, LEVEL OFFS y WAVEFORM son obligatorias para cada forma de onda.
Todas las demás etiquetas son opcionales y se pueden insertar después de la etiqueta TYPE en cualquier orden.
El rango numérico entre –1,0 y +1,0 de los datos I y Q corresponde al rango de modulación del convertidor D/A de 16 bits de forma de onda de -32767 hasta +32767.
Estos números íntegros de 16 bits deben convertirse a los valores I y Q resultantes representados en formato little endian hexadecimal.
A continuación deben insertarse los datos en formato binario en la etiqueta WAVEFORM con la siguiente estructura:
Tras ejecutar el código indicado arriba se puede abrir el archivo generado con el R&S ARB Toolbox y proporciona la siguiente forma de onda. Comparando los datos I y Q del código Python se puede ver que los datos se han generado correctamente.
Referencias:
Manual de usuario de SMBV100B
https://www.rohde-schwarz.com/produkte/messtechnik/vektorsignalgeneratoren/rs-smbv100b-vektorsignalgenerator_63493-519808.html