[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Это уже чуть лучше. В аналогичной ситуации (чужая мерзкая синхра, но слегка получше Вашей) удалось зацепиться с помощью прямой синхронизации: в длинный сдвиговый регистр с частотой 8*Fbit засасываются отсчеты, далее это XORится с синхропоследовательностью,
далее на каждом такте путем суммирования единичек вычисляется корреляция (на такой синхре эффективен рекурсивный алгоритм, поэтому жутких расходов времени можно будет избежать).Момент прохождения синхров определяется по 2 критериям:
- корреляция прошла свой пик
- значение корреляции в пике выше порогового
Ну и дальше, если посылка короткая и частота стабильная, можно уже не подстраивать фазу битовой синхронизации, а накапливать по 8 отсчетов (в моем примере), суммировать в накопленном байте единички и принимать решения: N>4 - принят "1",N<4 - принят "0", N==4 - ошибка.
E-mail: info@telesys.ru