Найти в Дзене
Pro Sdr

Моделирование нестабильности кварцевых генераторов и синтезаторов частот в GNU Radio Companion

Часто при решении практических задач необходимо учитывать не совершенство элементной базы. Одним из таких случаев является учет нестабильности генераторного оборудования телекоммуникационной аппаратуры. В GNU Radio для решения данной задачи используется блок «Phase Noise Generator» (рис.1).

Рис. 1.  Изображение иконки блока «Phase Noise Generator»
Рис. 1. Изображение иконки блока «Phase Noise Generator»

Блок «Phase Noise Generator» создает случайные флуктуации фазы сигнала, имитируя нестабильность реальных кварцевых генераторов и синтезаторов частот, эффект наблюдается в виде «размытия» границ сигнала при использовании анализаторов спектра и вращение точек сигнальных созвездий цифровых сигналов.

Блок «Phase Noise Generator» является составным иерархическим блоком GNU Radio, схема которого представлена на рисунке 2.

Рис. 2. Структура графа иерархического блока «Phase Noise Generator»
Рис. 2. Структура графа иерархического блока «Phase Noise Generator»

Структурно иерархический блок «Phase Noise Generator» состоит из:

− источника шума (Noise Source);

− однополюсного БИХ-фильтра (Single Pole IIR Filter);

− блоков, выполняющих трансцендентные математические операции функциями sin и cos (Transcendental);

− блока преобразования сигнала из вещественного представления в комплексное (Float To Complex);

− коннектора для подключения к входу блока «Phase Noise Generator», принимает сигнал, фазу которого надо «зашумить» (Pad Source);

− блока умножения шумового сигнала на входной (Multiply);

− коннектора для подключения к выходу иерархического блока, выдает сигнал с «зашумленной» фазой (Pad Sink).

Источник шума формирует начальный сигнал в комплексной форме, в основе которого лежит центрированный Гаусовский случайный процесс (рис. 3).

Рис. 3. Шумовой сигнал, сформированный блоком «Noise Source» и блоками «Transcendental»
Рис. 3. Шумовой сигнал, сформированный блоком «Noise Source» и блоками «Transcendental»

Однополюсный БИХ-фильтр первого порядка выполняет роль ФНЧ, с передаточной функцией (1) и разностным уравнением (2) обеспечивает НЧ- фильтрацию сигнала для подавления его высоко частотных составляющих.

выражение (1)
выражение (1)
выражение (2)
выражение (2)

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

Блок «Float To Complex» преобразует квадратурные составляющие шумового сигнала I и Q в один поток комплексных чисел.

На этом заканчивается этап формирования фазового «зашумляющего» сигнала без паразитной амплитудной модуляции, что точно моделирует фазовые флуктуации в реальных генераторах.

Через коннектор подключения входа иерархического блока (Pad Source) сигнал поступает на блок Multiply и поэлементно перемножается с шумовым сигналом по правилам комплексного умножения.

Коннектор подключения выхода иерархического блока (Pad Sink) обеспечивает передачу значений зашумленного сигнала в блоки вне иерархического блока.

Блок «Phase Noise Generator» имеет один вход «in» и выход «out», для которых настраиваются типы векторов значений входного и выходного сигналов («float», «complex» или «shot»).

В меню блока предусмотрены следующие параметры настройки (рис. 4.):

1. Значение дисперсии шума (Noise Magnitude) – максимальное отклонение значения шумового сигнала, задающего случайный процесс изменения фазы, в диапазоне от 0 до 1. Тип переменной «float». Выбор значения для высококачественных генераторов не превышает 0,001 (слабый шум), для генераторов с умеренными шумами выбирается в интервале от 0,001 до 0,01, при сильных шумах значение выбирается от 0,1.

Рис. 4. Меню настройки параметров блока «Phase Noise Generator»
Рис. 4. Меню настройки параметров блока «Phase Noise Generator»

2. Коэффициент сглаживания БИХ-фильтр (Alpha) – определяет ширину полосы расфильтровки однополюсного ФНЧ фильтра с БИХ. Значение типа «float» выбирается в диапазоне от 0 до 1. Выбор значения при медленных флуктуациях (при очень узкой полосе расфильтровки) не превышает уровня 0,001. При средних значения полосы расфильтровки фильтра значение выбирается из интервала от 0,001 до 0,01, а при быстрых флуктуациях (широкая полоса расфильтровки) значение Alpha выбирается от 0,1.

Пример, демонстрирующий работу иерархического блока «Phase Noise Generator» в среде GNU Radio Companion:

Граф, демонстрирующий работу иерархического блока «Phase Noise Generator» в среде GNU Radio Companion представлен на рис.5, пример можете скачать на нашем сайте здесь .

Рис. 5. Потоковый граф, демонстрирующий работу иерархического блока 
«Phase Noise Generator»
Рис. 5. Потоковый граф, демонстрирующий работу иерархического блока «Phase Noise Generator»

В блоке «Signal Source» генерируется периодический сигнал прямоугольной формы. Блок «Phase Noise Generator» вносит случайные флуктуаций фазы в детерминированный сигнал моделируя нестабильность источников сигнала реальной аппаратуры (phase jitter). Форма и характеристики дрожаний фазы определяются параметрами «Noise Magnitude» (Дисперсия шума) и «Alpha» (Коэффициент сглаживания), рис. 6.

Блок «QT GUI Time Sink» отображает различия сигналов на входе и выходе блока «Phase Noise Generator» (рис. 6). С помощью органов управления в схеме можно изменять параметры «Noise Magnitude» и «Alpha».

Рис. 6.  Сравнение сигналов на входе и выходе «Phase Noise Generator»
Рис. 6. Сравнение сигналов на входе и выходе «Phase Noise Generator»

Блок «Phase Noise Generator» удобно использовать при решении задачи моделирования нестабильности реальных кварцевых генераторов и синтезаторов частот. Потоковый граф GRC для демонстрации примера использования блока «Phase Noise Generator» можно скачать на нашем сайте: prosdr.ru

Читайте новости SDR технологии на нашем канале в телеграмм: prosdr777