Частотная синхронизация CPFSK

ЦОС, обработка видео и изображений в MATLAB\Simulink

Модератор: Admin

humbert_humbert
Пользователь
Сообщения: 29
Зарегистрирован: Пн сен 17, 2018 9:58 pm

Частотная синхронизация CPFSK

Сообщение humbert_humbert » Вт июл 02, 2019 5:35 pm

Синхронизация CPFSK сигнала.
Доброго времени суток. Продолжаю изучение приема сигналов CPFSK. В данный момент пытаюсь реализовать частотную синхронизацию. Генерирую сигнал следующим образом:

Код: Выделить всё

clear all
close all

lenDataSym = 10000;%Число бит для модуляции
M = 4;%Порядок модуляции
Fs = 600000*4;%Частота дискретизации
symbRate = 600000;%Символьная скорость
samplePerSymb = Fs/symbRate;%Число отсчетов на символ
indexMod = 0.9;%Индекс модуляции
freqSep = indexMod*symbRate;%Расстояние между частотами модуляции
EbN0 = [30];%Отношение С/Ш на бит

data  = randsrc(1,lenDataSym, [0 1; 0.5 0.5]);%Генерация битового потока
dataSymb = bi2de(reshape(data,log2(M),[])','left-msb');%Перевод битового потока в символы
modSignal = fskmod(dataSymb,M,freqSep,samplePerSymb,Fs,'cont','gray');%fsk модулятор
recvSignal = awgn(modSignal,EbN0 - 10*log10(samplePerSymb) + 10*log10(log2(M)),'measured');%Добавление шума

То есть, пока никакой частотной отстройки я не добавлял.
Для синхронизации решил использовать алгоритм, описанный в книге Umberto Mengali "Synchronization Techniques for Digital Receivers" на стр. 169.
Блок-схема алгоритма:
Изображение
Оценка несущей частоты рассчитывается по следующей формуле:
Изображение
Вот моя попытка реализовать это в матлабе:

Код: Выделить всё

freqOffset = Fs*(angle(sum(recvSignal(2:500).*conj(recvSignal(1:500-1)))))/(2*pi)

Я выбрал задержку D равную 1 (т.е. 0,25 от длительности символа), интервал анализа L0=500 отсчетов.
Вместо ожидаемых 0 Гц я получаю какую-то чушь (-3.2783e+05, например).
Поэтому прошу помощи, мб кто скажет, что я делаю не так и в чем ошибка?
Заранее спасибо.

sandy
Эксперт
Сообщения: 5601
Зарегистрирован: Ср сен 22, 2004 4:49 pm

Re: Частотная синхронизация CPFSK

Сообщение sandy » Ср июл 03, 2019 10:51 pm

Да ни в чем, просто таков собственный шум этой схемы (см. рис. 4.17 в этой книге).
С уважением

Александр Сергиенко

humbert_humbert
Пользователь
Сообщения: 29
Зарегистрирован: Пн сен 17, 2018 9:58 pm

Re: Частотная синхронизация CPFSK

Сообщение humbert_humbert » Чт июл 04, 2019 9:22 am

sandy писал(а):Да ни в чем, просто таков собственный шум этой схемы (см. рис. 4.17 в этой книге).

Ага, понятно.
А еще вопрос по поводу этого графика (4.17). По оси y там указана дисперсия нормированной частоты. К чему частота нормируется? к частоте дискретизации? Просто хотелось бы такой же график получить в матлабе. ну или примерно такой же.

sandy
Эксперт
Сообщения: 5601
Зарегистрирован: Ср сен 22, 2004 4:49 pm

Re: Частотная синхронизация CPFSK

Сообщение sandy » Чт июл 04, 2019 12:21 pm

К чему частота нормируется?

К символьной скорости. См., например, формулу (2.4.23) или подпись горизонтальной оси к рис. 3.8.
С уважением



Александр Сергиенко

humbert_humbert
Пользователь
Сообщения: 29
Зарегистрирован: Пн сен 17, 2018 9:58 pm

Re: Частотная синхронизация CPFSK

Сообщение humbert_humbert » Чт июл 04, 2019 12:38 pm

sandy писал(а):
К чему частота нормируется?

К символьной скорости. См., например, формулу (2.4.23) или подпись горизонтальной оси к рис. 3.8.

То есть, в моем случае получившееся значение оценки частоты необходимо просто поделить на символьную скорость:

Код: Выделить всё

freqOffset/symbRate

Получается - это и будет нормированная частота. Правильно я все понял?

sandy
Эксперт
Сообщения: 5601
Зарегистрирован: Ср сен 22, 2004 4:49 pm

Re: Частотная синхронизация CPFSK

Сообщение sandy » Чт июл 04, 2019 2:53 pm

Да.
С уважением



Александр Сергиенко

humbert_humbert
Пользователь
Сообщения: 29
Зарегистрирован: Пн сен 17, 2018 9:58 pm

Re: Частотная синхронизация CPFSK

Сообщение humbert_humbert » Чт июл 04, 2019 2:57 pm

sandy писал(а):Да.

Благодарю за помощь.

humbert_humbert
Пользователь
Сообщения: 29
Зарегистрирован: Пн сен 17, 2018 9:58 pm

Re: Частотная синхронизация CPFSK

Сообщение humbert_humbert » Чт июл 04, 2019 4:33 pm

sandy писал(а):
К чему частота нормируется?

К символьной скорости. См., например, формулу (2.4.23) или подпись горизонтальной оси к рис. 3.8.

еще вопросик появился: почему нормировка происходит к символьной скорости? потому что расстояние между частотами модуляции как раз и равно символьной скорости? но это только в случае, когда индекс модуляции равен 1. А в случае, если он не равен 1, нормировка все равно к символьной скорости осуществляется? или к символьной скорости, умноженной на индекс модуляции?

sandy
Эксперт
Сообщения: 5601
Зарегистрирован: Ср сен 22, 2004 4:49 pm

Re: Частотная синхронизация CPFSK

Сообщение sandy » Чт июл 04, 2019 6:06 pm

Потому что это логично - это нормированное значение означает долю окружности, набегающую за один символ из-за частотного сдвига.
С уважением



Александр Сергиенко