уважаемый all,
собственно subj
исходные данные:
carrier: 900-1500 mhz, подстраивается с минимальным шагом 100 hz, не используем цифровой AFC
используем maxim tuner, у него выход сразу baseband
QPSK 128k symb/s (oversampling 4), непрерывный поток без синхронизации (синхронизация производится по данным)
используем tanlock loop как в незами (fig. 3-23, p 3-36), только правильно будет atan2(q/i) и Ki, Kp перепутаны.
Ki 0.04, Kp 0.4
все расчеты производятся с 12 бит integer (достаточная ли точность для этого способа?)
на незашумлённых сигналах (с генератора и реального передатчика по кабелю) работает вообще без ошибок на pn9.
на сигнале с генератора средняя ошибка после timing recovery около 4х градусов
на сигнале от передатчика около 7 градусов
timing recovery примерно как в незами (p 4-6)
при добавлении шума созвездие начинает довольно часто поворачивается.
в чем может быть причина?
еще одна странная особенность. если carrier и local достаточно близки то ошибки происходят гораздо чаще.
поэтому сейчас, используя информацию из dco держим разность около 500hz