Igor657 0 9 ноября, 2016 Опубликовано 9 ноября, 2016 · Жалоба Добрый день, Пытаюсь поcтроить модель демодулятора QPSK. Сейчас на этапе символьной синхронизации. Есть блок Фарроу, есть блок Гарднера, есть Loop фильтр(2-го порядка, пропорц+интегр части), есть аккумулятор мю для фарроу. В принципе работает как ожидается, но только на модельном сигнале "11,00,11,00 ..." т.е. когда по i и по q максимум переходов через ноль На случайном сигнале ошибку (выход после loop фильтра) начинает достаточно сильно колбасить. В принципе это понятно - переходы через ноль теперь есть не каждый такт и следовательно на Гарднера приходят комплекты отсчётов, у который межсимвольный отсчёт не всегда ноль, что даёт большие значения на его выходе. Loop фильтр их гасит похоже не очень эффективно, т.к. у него есть пропорциональная часть. Я всё-таки предполагал, что выход loop фильтра должен быть очень стабилен. Ну максимум шевелится в каком-то далёком знаке. Как с этим бороться ? 1. Фильтровать данные, поступающие на Гарднера ? Подавать только те, у которых межсимвольный отсчёт около нуля? 2. Считать коэффициенты loop фильтра как-то по другому ? Считал по документу http://ece485web.groups.et.byu.net/ee485.f...s/pll_notes.pdf, стр 333. K0 = 1 Kp = 1 bandwidth (% of symbol speed) = 0.125 получил k1 0,003992012 k2 3,99201E-06 3. Есть какой-то секретный ингредиент ? Заранее спасибо за ответы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrov 6 9 ноября, 2016 Опубликовано 9 ноября, 2016 · Жалоба Как с этим бороться ? Искать ошибки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Igor657 0 15 ноября, 2016 Опубликовано 15 ноября, 2016 · Жалоба Нашел ошибку в блоке Гарднера. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться