FAQs from Rohde & Schwarz

Пример генерирования файла *.wv вручную с помощью языка Python

Описание

Я хочу вручную создать файл формы сигнала (*.wv) с помощью языка Python, чтобы позднее загрузить этот файл в мой векторный генератор сигналов.

Разрешение

Для создания файла *.wv вручную вам требуются данные I и Q вашей формы сигнала и частота дискретизации сигнала.

В следующем простом примере используется частота дискретизации 10 МГц и I/Q-последовательность из 20 выборок.

Вопросы и ответы: пример генерирования файла *.wv вручную с помощью языка Python — экран 1

В заголовок файла формы сигнала добавляются теги. Теги TYPE, CLOCK, LEVEL OFFS и WAVEFORM обязательны для каждой формы сигнала.

Все прочие теги необязательны и могут следовать после тега TYPE в произвольном порядке.

Числовой диапазон от –1,0 до +1,0 для данных I и Q соответствует диапазону модуляции 16-битного цифро-аналогового преобразователя формы сигнала от -32767 до +32767.

Эти 16-битные целые числа со знаком преобразуются в значения I и Q, которые представлены в шестнадцатеричном формате с прямым порядком.

Затем данные переводятся в двоичный формат в тег WAVEFORM, который имеет следующую структуру:

  • Расчет длины
  • Длина = количество пар I/Q * 4 + 1 = 20*4 + 1 = 81 байт
  • Поместите строку {WAVEFORM-81:# в начало набора данных
  • Поместите символ строку } в конец набора данных

После выполнения указанного выше кода можно открыть созданный файл в R&S ARB Toolbox, где отображается приведенная ниже форма сигнала. Путем сравнения с IQ-данными в коде Python можно проверить правильность созданного файла.

Вопросы и ответы: пример генерирования файла *.wv вручную с помощью языка Python — экран 2

Библиография:
Руководство пользователя SMBV100B
https://www.rohde-schwarz.com/produkte/messtechnik/vektorsignalgeneratoren/rs-smbv100b-vektorsignalgenerator_63493-519808.html