Есть старый телеметрический протокол связи с BPSK-модуляцией с частотной символов Finf = 3.145728 МГц, частотой baseband-сигнала F = 2*Finf. Передача непрерывная с редкими двумя "тренировочными" символами (раз в 384 символа). Несущая в районе 200-300 МГц.
Передатчик сделан был давно. Разработана аппаратная часть приёмника с оцифровкой baseband-сигнала (только вещественная часть) с fs = 50 МГц (не кратна символьной). Сначала был реализован когерентный приём со слежением за частотным рассогласованием. Потом некогерентный приём: умножение сигнала на себя задержанного на период символа с фильтрацией двойной гармоники. В момент смены фазы будет детектироваться отрицательный пик длительностью несколько сэмплов.
Алгоритм отрабатывает нормально в условиях обычного офиса.
При испытаниях в цеху с железобетонными стенами начинается пляска. При разных положениях приёмник не справляется и выдает мусор: то не детектируется отрицательный пик, то он смещается по времени. Чувствуется, что все из-за межсимвольной интерференцией.
Вопрос: как реализовать эквалайзер?
Понимаю, как работает эквалайзер в частотной или временной области. В статьях и различных моделях наблюдал эквалайзирование созвездий. Т.е. это абстрактные модели, где нет переноса и снятия с модулирующего baseband-сигнала. Как работать в случае, когда fs не кратна символьной частоте? В моем случае получается, что большинство символов будет занимать 16 сэмплов, а какой-нибудь проскочит 15 сэмплов. Т.е. фаза постоянно крутиться. И не ясно как в таком случае оценивать созвездия и обновлять коэффициенты адаптивного фильтра.
