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

Особенности моделирования искажений сигнала в виде сдвига несущей частоты в GNU Radio Companion

Искажение сигнала в виде сдвига несущей частоты (Carrier Frequency Offset, CFO) является одним из разрушительных искажений сигнала с точки зрения достоверности передачи сообщения системой электрической связи. В системах с квадратурной модуляцией, CFO вызывает постоянное вращение точек созвездия вокруг начала координат. В системах с ортогональным частотным разделением (OFDM) CFO нарушает ортогональность поднесущих, что приводит к взаимным искажениям между ними, снижению соотношения сигнал-шум и, как следствие, увеличение вероятности ошибки приема модуляционного символа. Под сдвигом несущей частоты понимается рассогласование между частотой несущего сигнала на передающей стороне и частотой генератора на приемной стороне, рис.1-2. Основной причиной возникновения сдвига несущей частоты модулированного сигнала Y(n), является разница частот между тактовыми генераторами передатчика и приемника в результате проявления эффекта Доплера. Тогда сигнал на входе приемника определяется выражением: где
Оглавление

Искажение сигнала в виде сдвига несущей частоты (Carrier Frequency Offset, CFO) является одним из разрушительных искажений сигнала с точки зрения достоверности передачи сообщения системой электрической связи. В системах с квадратурной модуляцией, CFO вызывает постоянное вращение точек созвездия вокруг начала координат. В системах с ортогональным частотным разделением (OFDM) CFO нарушает ортогональность поднесущих, что приводит к взаимным искажениям между ними, снижению соотношения сигнал-шум и, как следствие, увеличение вероятности ошибки приема модуляционного символа.

Под сдвигом несущей частоты понимается рассогласование между частотой несущего сигнала на передающей стороне и частотой генератора на приемной стороне, рис.1-2.

Рисунок 1.  Смещение несущей сигнала в частотной области
Рисунок 1. Смещение несущей сигнала в частотной области
Рисунок 2.  Смещение несущей сигнала во временной области
Рисунок 2. Смещение несущей сигнала во временной области

Основной причиной возникновения сдвига несущей частоты модулированного сигнала Y(n), является разница частот между тактовыми генераторами передатчика и приемника в результате проявления эффекта Доплера. Тогда сигнал на входе приемника определяется выражением:

где X(n) –комплексный сигнал на выходе модулятора;

- Δf- смещение несущей частоты за один интервал дискретизации (Гц);

- fs - частота дискретизации сигнала (Гц).

Выражение (1) позволяет моделировать сдвиг спектра сигнала в частотной области (2), линейное накопление фазовой ошибки во времени (3), вращение созвездия для сигналов с квадратурной модуляцией, рис.3:

-4
-5

где fnorm = Δf / fs нормированная частота смещения.

Рисунок 3. Вращение созвездия сигнала BPSK
Рисунок 3. Вращение созвездия сигнала BPSK

Если известна начальная фаза сигнала φ₀, то выражение (1) принимает вид:

-7

Учет начальной фазы φ₀ позволяет описать дополнительно эффект рассогласования несущих частот для последующего экспериментального исследования влияния сдвига несущей частоты на достоверность передачи сообщений в системах цифровой связи.

Моделирование сдвига несущей частоты в GNU Radio Companion осуществляет блок «CFO Model» библиотеки «Impairment models», рис.4.

Рисунок 4. Изображение иконки блока «CFO Model» в среде GNU Radio Companion
Рисунок 4. Изображение иконки блока «CFO Model» в среде GNU Radio Companion

Блок «CFO Model» вносит искажения в сигнал в виде разницы частот между тактовыми генераторами передачи и приема вызванной эффектом Доплера, а также среднеквадратическое отклонение сдвига несущей частоты для имитации нестабильности генераторного оборудования.

Блок используется при тестировании устойчивости алгоритмов приема к Доплеровскому эффекту сдвига несущей частоты. Блок обрабатывает отсчеты в комплексном виде.

Параметры настройки блока включают в себя:

1. Sample Rate (Hz) – Значение частоты дискретизации сигнала fs в Гц (float), рис.5.

Рисунок 5. Меню настройки блока «CFO Model» в среде GNU Radio Companion
Рисунок 5. Меню настройки блока «CFO Model» в среде GNU Radio Companion

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.

Рисунок 6. Потоковый граф, демонстрирующий преобразование сигнала блоком «CFO Model»
Рисунок 6. Потоковый граф, демонстрирующий преобразование сигнала блоком «CFO Model»
Рисунок 7.  Результат моделирования частотного сдвига сигнала блоком «CFO Model»
Рисунок 7. Результат моделирования частотного сдвига сигнала блоком «CFO Model»

Моделирование сдвига сложных сигналов (QPSK) демонстрирует схема на рисунке 8.

При моделировании частотного сдвига в схеме используется сигнал c модулятора QPSK генератор (блок «Constellation Modulator» выделен, синим прямоугольником со сплошной линией), рис.7.

В блоке CFO Model моделируется эффект Доплера со следующими характеристиками: максимальное значение девиации несущей частоты Max CFO Bound Hz =1 КГц, среднеквадратическое отклонение значения несущей частоты CFO Standard Deviation Hz per sample = 0,2 Гц/отсчет.

Рисунок 8. Потоковый граф, демонстрирующий преобразование сигнала QPSK блоком «CFO Model»
Рисунок 8. Потоковый граф, демонстрирующий преобразование сигнала QPSK блоком «CFO Model»

Значение величины частотного сдвига устанавливается в переменной CFO Standard Deviation Hz per sample блоком QT GUI RANGE с ID= CFO_Dev (выделены зеленой штрих пунктирной линией). Результат моделирования визуализируется с помощью блока QT GUI Constellation Sink, рис. 9.

Рисунок 9.  Результат моделирования частотного сдвига сигнала QPSK блоком «CFO Model»
Рисунок 9. Результат моделирования частотного сдвига сигнала QPSK блоком «CFO Model»

Больше новостей об SDR-технологии, сообщения о новых публикациях Вы можете прочитать на нашем сайте ProSDR.ru , в каналах Телеграмм и Яндекс Дзен.