Цитата(infinity @ Mar 18 2010, 10:19)

Совсем другое дело, когда есть ошибка по несущей:
Для примера выключил коррекцию ошибки несущей по заголовку, и добавил большую ошибку (дабы эффект происходящего был более нагляден). Видно, что в точке f0 средняя фаза деградирует - линейно 'плывёт' со скоростью, определяемой ошибкой частоты. В результате, в точке f0 имеются повороты фазы с шагом 90deg. Такой эффект получается, если часть пилотов на интервале одного символа в точке f0 содержит ошибку в 90deg, а часть- без нее. Ясно, что эквалайзер не должен уметь исправлять ошибки, когда фаза шустро меняется на интервале одного символа. Но когда ошибочка по несущей небольшая, рано или поздно случаются одиночные символы, на которых фаза 'прокручивается'.
Секундочку. То, что вы тут говорите противоречит теории.
По порядку. Предположим, что вы передаёте OFDM-символы, в которых все поднесущие имеют одинаковую амплитуду и фазу. На приемной стороне вы принимаете сигнал, в котором:
0) Все параметры сигнала чуть-чуть искажены из-за шумов.
1) Фазы (и, обычно, в меньшей мере амлитуды) искажены из-за частотной отстройки.
2) Фазы искажены из-за погрешности синхронизации.
3) Фазы и амплитуды искажены из-за многолучевости.
Далее, нулевой пункт не убирается.
Первый пункт, убирается тем, что вы по преамбуле определяете величину частотной отстройки во временной области. И во временной же области вы компенсируете, домножая на комплексную синусоиду с обратной частотой. Однако, в присутствие погрешности вы никогда не сведете отстройку к 0, а только уменьшите её. Но остаток этой отстройки будет приводить к тому, что созвездие будет по чуть-чуть вращаться вокруг 0. Причём внутри символа (после FFT) этот остаток отстройки не будет играть роли (разве только нарушая ортогональность, но эффект минимален). Его можно увидеть только сравнив созвездия двух символов, и чем дальше эти символы будут друг от друга - тем сильнее будет виден поворот созвездия. Для того чтобы поворачивать созвездие обратно, используют пилоты.
Далее, второй пункт. В зависимости от используемого вами метода временной синхронизации, величина ошибки синхронизации может быть от длительности полусэмпла до длительности защитного интервала. Наличие этой ошибки (по теореме о задержке) обусловливает добавочную фазу к поднесущим, величина которой прямо пропорциональна номеру поднесущей. То есть предположим, что мы передавали поднесущие с одной и той же фазой и амплитудой, а все остальные искажения отсутствуют. Тогда на приемной стороне, мы получим поднесущие с одной амплитудой, но с фазами, образующими наклонную прямую на графике фаз. Или же, что то же самое, если отложить на комплексной плоскости полученные поднесущие и соединить их одной кривой, то мы получим идеальный кусок окружности с радиусом равным амплитуде поднесущих. Если частота дискретизации на приемной и передающей сторонах совпадают (с большой точностью), то величина ошибки одна и та же на всех символах одного пакета. А значит величина добавочной фазы для n-ой поднесущей тоже постоянна. То есть эту ошибку можно учесть в эквалайзере.
Третий пункт по определению исправляется эквалайзером.
Таким образом, если вы видите, что
после эквализации у вас
внутри символа линейно изменяется фаза по поднесущим, то
а) вы не правильно рассчитали эквалайзер
б) у вас проблема с частотой дискретизации.
Ну и в заключение... вы там со своей борьбой за избыточность надеюсь не забыли про защитные интервалы во временной и частотной областях?