Перед БПФ должна быть реализована частотная и временная синхронизация по тренировочному символу (преамбула) либо по CP символов. На вход БПФ должны заходить синхронизованные по времени символы, т.е. Вы знаете начало символа в пределах CP. После БПФ по пилот-тонам можно оценить фазовое смещение символов, которое обусловлено:
- фазовым смещением от рассогласования синтезаторов передатчика/приёмника и канала,
- остаточным частотным рассогласованием после частотной синхронизации,
- остаточным временным смещением в пределах CP.
Это фазовое смещение в каждом символе компенсируется своими собственными пилотами и созвездия встают в свои квадратуры. Точность компенсации определяется таймингом сэмпла.
Это было, так сказать, оценка и компенсация целого фазового смещения.
Если подумать, то после этого можно оценить остаточное (дробное) фазовое смещение в символе и его завести, как обратную связь в дробный интерполятор (ресемплер, фильтр Фарроу), который поставить сразу же после АЦП и тем самым дробно сдвигать не сам клок, а находить значения сигнала между сэмплами.
http://www.ee.iitm.ac.in/~giri/pdfs/EE6002/book-cho.pdfстр.178 - восстановление тактовой частоты
К слову, на практике не приходилось компенсировать дробное фазовое смещение.
Компенсации целого было достаточно (например, QAM64).