Descripción
Deseo generar de manera manual un archivo de forma de onda (*.wv) con Python que luego pueda cargarlo en mi generador de señales vectoriales.
Deseo generar de manera manual un archivo de forma de onda (*.wv) con Python que luego pueda cargarlo en mi generador de señales vectoriales.
Para generar una archivo *.wv de manera manual, se necesitan los datos I/Q de su forma de onda y la frecuencia de muestreo (reloj) con los cuales se muestrea la señal.
En este sencillo ejemplo se utiliza un reloj de 10 MHz y una secuencia I/Q de 20 muestras.
En el encabezamiento del archivo de la forma de onda se insertan las llamadas etiquetas. Son obligatorias las etiquetas TYPE, CLOCK, LEVEL OFFS y WAVEFORM para cada forma de onda.
Todas las otras etiquetas son opcionales y pueden insertarse después de la etiqueta TYPE en orden arbitrario.
El rango numérico entre –1.0 y +1.0 de los datos I/Q corresponden al rango de modulación del convertidor D/A de la forma de onda de 16-bit de -32767 a +32767.
Estos números enteros con signo de 16 bits deben convertirse a los valores I/Q resultantes que se representan en formato «hexadecimal little endian».
Después los datos deben insertarse en formato binario en su etiqueta WAVEFORM con la siguiente estructura:
Después de ejecutar el código anterior, el archivo generado puede abrirse con R&S®ARB Toolbox y proporciona la siguiente forma de onda. Al comparar los datos I/Q del código Python, puede verse que los datos se generaron de manera correcta.
Referencias:
Manual de usuario del R&S®SMBV100B
https://www.rohde-schwarz.com/produkte/messtechnik/vektorsignalgeneratoren/rs-smbv100b-vektorsignalgenerator_63493-519808.html