Найти в Дзене
8 подписчиков

Как моделировать сдвиг несущей частоты сигнала в GNU Radio Companion.

Искажение сигнала в виде сдвига несущей частоты (Carrier Frequency Offset, CFO) является одним из разрушительных искажений сигнала с точки зрения достоверности передачи сообщения системой электрической связи. В системах с квадратурной модуляцией, CFO вызывает постоянное вращение точек созвездия вокруг начала координат. В системах с ортогональным частотным разделением (OFDM) CFO нарушает ортогональность поднесущих, что приводит к взаимным искажениям между ними, снижению соотношения сигнал-шум и, как следствие, увеличение вероятности ошибки приема модуляционного символа.
Под сдвигом несущей частоты понимается рассогласование между частотой несущего сигнала на передающей стороне и частотой генератора на приемной стороне, рис.1-2.
Основной причиной возникновения сдвига несущей частоты модулированного сигнала, является разница частот между тактовыми генераторами передатчика и приемника в результате проявления эффекта Доплера.
Моделирование сдвига несущей частоты в GNU Radio Companion осуществляет блок «CFO Model» библиотеки «Impairment models», рис.3.
Блок «CFO Model» вносит искажения в сигнал в виде разницы частот между тактовыми генераторами передачи и приема вызванной эффектом Доплера, а также среднеквадратическое отклонение сдвига несущей частоты для имитации нестабильности генераторного оборудования.
Параметры настройки блока включают в себя:
1. Sample Rate (Hz) – Значение частоты дискретизации сигнала в Гц (float).
2. CFO Standard Deviation Hz per sample – Среднеквадратическое отклонение значения несущей частоты [Гц], за один интервал дискретизации, значение вещественного типа (float). Определяет, девиацию значения случайного сдвига частоты для каждого отсчета, моделируя эффект Доплера и рассогласование генераторов приема и передачи.
Для обеспечения непрерывности фазы при изменении параметров «CFO Standard Deviation Hz per sample» или «Sample Rate (Hz)».
3. Max CFO Bound Hz – Максимально допустимое значение сдвига частоты в Гц. Параметр ограничивает значение общего сдвига частоты, определяемое параметром «CFO Standard Deviation Hz per sample», чтобы оно не превышало разумные пределы для моделируемой системы, рис.1-2.
4. Seed – Начальное значение типа «int» используется для инициализации алгоритма генерации псевдослучайной последовательности чисел, задающих значения сдвига частоты каждого отсчета. Если значение Seed равно нулю, при каждом запуске потокового будет формироваться новая последовательность, при значениях отличных от нуля, будет формироваться одна и та же последовательность, структура которой будет определяться конкретным значение переменной Seed.
Описание параметров настройки блока приведено для:
ОС Windows 10,11 Версия GRC 3.10.12.0 Версия Python 3.12.9.

При моделировании частотного сдвига в схеме используется сигнальный генератор (блок «Signal Source» выделен, синим прямоугольником со сплошной линией) косинусных колебаний на частоте 10 КГц с частотой дискретизации 32 КГц (определена в блоке переменной samp_rate), рис.4.
Сигнал от блока Signal Source поступает в блок CFO Model, где моделируется эффект Доплера со следующими характеристиками: максимальное значение девиации несущей частоты Max CFO Bound Hz =2 КГц (блок QT GUI RANGE с ID=MAX_Dev), среднеквадратическое отклонение значения несущей частоты  CFO Standard Deviation Hz per sample = 0,2 Гц/отсчет.
Значение величины частотного сдвига устанавливается в переменной CFO Standard Deviation Hz per sample блоком QT GUI RANGE с ID= CFO_Dev, а ограничение частотного сдвига в переменной Max CFO Bound Hz блока с ID= MAX_Dev (выделены зеленой штрих пунктирной линией).
Результат моделирования визуализируется с помощью блока QT GUI Frecuency Sink, рис. 5.

Полную информацию об использовании блока можно прочитать в статье «Особенности моделирования искажений сигнала в виде сдвига несущей частоты в GNU Radio Companion»

Читайте новости SDR технологии на нашем канале в телеграмм и сайте prosdr.ru.
3 минуты