Цитата(petrov @ Mar 18 2010, 12:15)

Расскажите подробно как эквалайзер работает. Как по поднесущим и по символам усреднение сделано для исправления одной несущей.
Эквалайзер работает как корректор искажений. Два этапа:
1 по каждой поднесущей скорректировать долговременные искажения ачх и фчхДолговременные искажения обусловлены медленными изменениями радиоканала (изменения происходят на интервале не более одного пакета) и искажениями радиоплаты. В начале каждого пакета находится обучающая последовательность, по которой для каждой поднесущей определяется ошибка по амплитуде и по фазе. Далее для всех символов пакета проводится коррекция как линейная сдвиг. Т.е. по ошибке первой поднесущей обучающей последовательности будут скорректированы все первые поднесущие символов на интервале пакета.
2 быстрые изменения ачх и фчхВ приемнике между бабочками ifft символы скалируются в полный размах разрядной сетки для уменьшения разрядности преобразования. В результате на входе эквалайзера все символы по амплитуде отличаются в пределах 1 разряда. Кроме того, символы с высокими индексами модуляции отличаются от символов с низкими индексами. Посчитав среднюю величину амплитуды пилота по каждому символу, можно все символы линейно проскалировать.
Основной вклад в быстрые фазовые изменения - это нескомпенсированная ошибка несущей частоты. Предполагалось по каждому символу по пилотам посчитать среднее отклонение фазы и линейно сдвинуть каждый символ. Оказалось, что такой способ не совсем хорош.
В итоге, сейчас видится, что нужно либо менять весь алгоритм, либо что-то немного допилить. Второй вариант более желателен, но пока не видится как это сделать
Цитата(DMax @ Mar 18 2010, 13:14)

По порядку. Предположим, что вы передаёте OFDM-символы, в которых все поднесущие имеют одинаковую амплитуду и фазу.
На приемной стороне вы принимаете сигнал, в котором:
0) Все параметры сигнала чуть-чуть искажены из-за шумов.
1) Фазы (и, обычно, в меньшей мере амлитуды) искажены из-за частотной отстройки.
2) Фазы искажены из-за погрешности синхронизации.
3) Фазы и амплитуды искажены из-за многолучевости.
Спасибо за обстоятельный ответ.
С 0) и 2) все понятно. 3) при моделировании железяка работает- пока что считаю что и в реальности будет работать.
Сейчас бъюсь над 1).
Цитата(DMax @ Mar 18 2010, 13:14)

Первый пункт, убирается тем, что вы по преамбуле определяете величину частотной отстройки во временной области. И во временной же области вы компенсируете, домножая на комплексную синусоиду с обратной частотой. Однако, в присутствие погрешности вы никогда не сведете отстройку к 0, а только уменьшите её. Но остаток этой отстройки будет приводить к тому, что созвездие будет по чуть-чуть вращаться вокруг 0.
Насчет сведения к нулю, понятно, что будет погрешность. Смущает, что у меня она получилась не маленькая.
Цитата(DMax @ Mar 18 2010, 13:14)

Причём внутри символа (после FFT) этот остаток отстройки не будет играть роли (разве только нарушая ортогональность, но эффект минимален). Его можно увидеть только сравнив созвездия двух символов, и чем дальше эти символы будут друг от друга - тем сильнее будет виден поворот созвездия. Для того чтобы поворачивать созвездие обратно, используют пилоты.
Таким образом, если вы видите, что после эквализации у вас внутри символа линейно изменяется фаза по поднесущим, то
а) вы не правильно рассчитали эквалайзер
б) у вас проблема с частотой дискретизации.
Такой поворот созвездия я и наблюдаю. Вот только качественно довернуть не совсем получается.
С частотой дискретизации все прозрачно. Одна и та же частота используется для передатчика и приемника, генератор стабильный.
Чуть выше описал, как работает эквалайзер в моем исполнении. Ошибка днк не видится
Цитата(DMax @ Mar 18 2010, 13:14)

Ну и в заключение... вы там со своей борьбой за избыточность надеюсь не забыли про защитные интервалы во временной и частотной областях?

Во временной области интервалы имеются. А что имеется ввиду под защитными интервалами в частотной области, не совсем понятно. Может я упустил ужасно важную штуку?