Искажение сигнала в виде сдвига несущей частоты (Carrier Frequency Offset, CFO) является одним из разрушительных искажений сигнала с точки зрения достоверности передачи сообщения системой электрической связи. В системах с квадратурной модуляцией, CFO вызывает постоянное вращение точек созвездия вокруг начала координат. В системах с ортогональным частотным разделением (OFDM) CFO нарушает ортогональность поднесущих, что приводит к взаимным искажениям между ними, снижению соотношения сигнал-шум и, как следствие, увеличение вероятности ошибки приема модуляционного символа.
Под сдвигом несущей частоты понимается рассогласование между частотой несущего сигнала на передающей стороне и частотой генератора на приемной стороне, рис.1-2.
Основной причиной возникновения сдвига несущей частоты модулированного сигнала Y(n), является разница частот между тактовыми генераторами передатчика и приемника в результате проявления эффекта Доплера. Тогда сигнал на входе приемника определяется выражением:
где X(n) –комплексный сигнал на выходе модулятора;
- Δf- смещение несущей частоты за один интервал дискретизации (Гц);
- fs - частота дискретизации сигнала (Гц).
Выражение (1) позволяет моделировать сдвиг спектра сигнала в частотной области (2), линейное накопление фазовой ошибки во времени (3), вращение созвездия для сигналов с квадратурной модуляцией, рис.3:
где fnorm = Δf / fs нормированная частота смещения.
Если известна начальная фаза сигнала φ₀, то выражение (1) принимает вид:
Учет начальной фазы φ₀ позволяет описать дополнительно эффект рассогласования несущих частот для последующего экспериментального исследования влияния сдвига несущей частоты на достоверность передачи сообщений в системах цифровой связи.
Моделирование сдвига несущей частоты в GNU Radio Companion осуществляет блок «CFO Model» библиотеки «Impairment models», рис.4.
Блок «CFO Model» вносит искажения в сигнал в виде разницы частот между тактовыми генераторами передачи и приема вызванной эффектом Доплера, а также среднеквадратическое отклонение сдвига несущей частоты для имитации нестабильности генераторного оборудования.
Блок используется при тестировании устойчивости алгоритмов приема к Доплеровскому эффекту сдвига несущей частоты. Блок обрабатывает отсчеты в комплексном виде.
Параметры настройки блока включают в себя:
1. Sample Rate (Hz) – Значение частоты дискретизации сигнала fs в Гц (float), рис.5.
2. CFO Standard Deviation Hz per sample – Среднеквадратическое отклонение значения несущей частоты Δf в Гц, за один интервал дискретизации, значение вещественного типа (float). Определяет, девиацию значения случайного сдвига частоты для каждого отсчета, моделируя эффект Доплера и рассогласование генераторов приема и передачи.
Для обеспечения непрерывности фазы при изменении параметров Δf (CFO Standard Deviation Hz per sample) или fs (Sample Rate (Hz)), во время выполнения потокового графа, применяется расчет текущей фазы сигнала рекуррентным способом: θ[n] = θ[n-1] + 2π × fnorm.
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.
ОС Ubuntu 22.04.03 Версия GRC 3.10.1.1 Версия Python 3.10.12.
Потоковый граф, демонстрирующий сдвиг несущей частоты сигнала блоком «CFO Model»
При моделировании частотного сдвига в схеме используется сигнальный генератор (блок «Signal Source» выделен, синим прямоугольником со сплошной линией) косинусных колебаний на частоте 10 КГц с частотой дискретизации 32 КГц (определена в блоке переменной samp_rate), рис.6.
Сигнал от блока 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, рис. 7.
Моделирование сдвига сложных сигналов (QPSK) демонстрирует схема на рисунке 8.
При моделировании частотного сдвига в схеме используется сигнал c модулятора QPSK генератор (блок «Constellation Modulator» выделен, синим прямоугольником со сплошной линией), рис.7.
В блоке CFO Model моделируется эффект Доплера со следующими характеристиками: максимальное значение девиации несущей частоты Max CFO Bound Hz =1 КГц, среднеквадратическое отклонение значения несущей частоты CFO Standard Deviation Hz per sample = 0,2 Гц/отсчет.
Значение величины частотного сдвига устанавливается в переменной CFO Standard Deviation Hz per sample блоком QT GUI RANGE с ID= CFO_Dev (выделены зеленой штрих пунктирной линией). Результат моделирования визуализируется с помощью блока QT GUI Constellation Sink, рис. 9.
Больше новостей об SDR-технологии, сообщения о новых публикациях Вы можете прочитать на нашем сайте ProSDR.ru , в каналах Телеграмм и Яндекс Дзен.