[an error occurred while processing this directive]
|
=== Имеется двоичный поток с демодулятора - как его стробировать ?
Эхе-хе-хе... Тут две задачи - демодулировать и, необходимое условие для демодуляции, засинхронизироваться. Раньше такое устройство называли регенератором.
=== Доп. проблема в том, что частота дискретизации не кратна числу точек на бит.
Она всегда некратна. Не переживайте.
=== Сейчас работает вариант выделения фронтов и подачи их на БИХ-фильтр с большим усилением настроеный на битовую частоту.
не понял, но фиг с ним.
=== БИХ если в плавучке по производительности хватает только на одно звено, если в 32 разрядах - точности не хватает.
А это неправда. Хватает 16 бит всегда. Проверенно неоднократно. Ищите хомут. Подозреваю - неправильный алгоритм.
=== Ткните где почитать.
Читайте меня. Я делал это много раз. Проверте очень простенький, но очень надежный алгоритм.
1. Вы должны по имеющимся фронтам определить середину посылки. Думаю, Вы с этим справитесь, поэтому перехожу к нахождению фронтов.
2. Сначало мы от фонаря ставим на сигнале точку. И говорим "се есть предсказанный мною фронт".
3. Далее на интервале +-половина посылки ишем реальный фронт (или фронты, т.к. возможен банальный дребезг)
4. Если ничего не нашли, то фиг с ним, добавляете к "предсказаному мною фронту" длину посылки и находите очередной предсказанный фронт.
5. А вот если нашли, то вычисляете ошибку предсказания.
6. Эту ошибку напрвляете в рекурсивный ФНЧ первого порядка.
7. В качестве нового предсказанного положения фронта берете "старое предсказанное положение" + длина посылки + ошибку предсказания после ФНЧ.
Этот алгоритм можно усовершенствовать, но стоит ли? Влияние синхронизации на качество связи - минимально.
E-mail: info@telesys.ru