реклама на сайте
подробности

 
 
> восстановление несущей ofdm модем
infinity
сообщение Mar 16 2010, 05:38
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 9-06-08
Пользователь №: 38 169



Постановка задачи:
делается небольшенький пакетный ofdm модем на 64 поднесущих. Разнесение поднесущих от 11 до 180kHz переключаемое. Схема восстановления несущей по заголовку

Есть две непонятки, первая по расчету:

Вне зависимости от разнесения поднесущих, сигнал ошибки со схемы восстановления дает погрешность не лучше 4% от величины разнесения. При этом усреднение ошибки от пакета к пакету невозможно, т.е. подстройка осуществляется только на текущий пакет. Вопрос, можно ли получить лучшие результаты по погрешности, возможно есть какие-то нестандартные способы и как стреляется полученная мной величина, с тем, что должно быть.

второй по эквалайзированию:
Если нескомпенсированная величина ошибки по несущей небольшая, то по идее ее должен скорректировать эквалайзер. Здесь получается небольшой затык. Делаю в два этапа: сначала для каждой поднесущей по обучающей последовательности нахожу мгновенное значение ошибки и для всех символов убираю эту ошибку. Далее для каждого символа считаю ошибку по пилотным поднесущим, в итоге имею деградацию среднего значения фазы и амплитуды и собственно, корректирую. В результате, если есть нескомпенсированная ошибка по несущей, то в зависимости от длинны пакета, в какой-то момент будет происходить перескок фазы на 180deg.

буду признателен всем, кто направит советом, или дорогой к мануалу, в котором описано решение схожих задач.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
svalery
сообщение Mar 17 2010, 07:15
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 60
Регистрация: 18-07-09
Из: Н.Новгород
Пользователь №: 51 363



Что мешает добавлять в начале пакета преамбулу достаточной длины для вычисления отстройки по частоте с заданой точностью?
Go to the top of the page
 
+Quote Post
infinity
сообщение Mar 18 2010, 07:19
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 9-06-08
Пользователь №: 38 169



Цитата(svalery @ Mar 17 2010, 10:15) *
Что мешает добавлять в начале пакета преамбулу достаточной длины для вычисления отстройки по частоте с заданой точностью?


В начале пакета имеется символ, по которому вычисляется отстройка по частоте. Точность, как и говорил, не лучше 4%. Не совсем понятно, что вы понимаете под преамбулой, если обозначенная мной штука, тогда что есть достаточная длинна? Выделить на синхронизацию частоты больше одного символа не позволяет жадность - во всю идёт война с избыточностью

Цитата(DMax @ Mar 17 2010, 14:47) *
Не совсем понятно, откуда у вас берутся эти 180 градусов. Пилотные поднесущие должны иметь заранее известную фазу. На приёмной стороне после эквалайзера, вы должны посчитать разность между принятой фазой и этой заранее известной фазой, а потом вычесть эту дельту из всех поднесущих символа. Если будете вычислять эту дельту из суммы нескольких пилотов (которая должна быть для всех пилотов одинакова), то точность определения угла поворота созвездия возрастёт. И никаких перескоков (разве только на 360 градусов) быть не должно.

Возможно я немного некорректно выразился. unsure.gif Ситуация выглядит следующим образом:

Используются все поднесущие, кроме нулевой и 32. На входе эквалайзера искаженные амплитуды и фазы. По заголовку для каждой поднесущей определяется ошибка по фазе. После чего делается коррекция - f0. Предполагаю, что в процессе работы фаза и амплитуда могут деградировать, поэтому для каждого символа, используя пилоты, определяю среднюю деградацию и во второй раз делаю коррекцию - f1. Картинка, когда ошибки по несущей нет, и все работает хорошо
Прикрепленное изображение


Совсем другое дело, когда есть ошибка по несущей:

Для примера выключил коррекцию ошибки несущей по заголовку, и добавил большую ошибку (дабы эффект происходящего был более нагляден). Видно, что в точке f0 средняя фаза деградирует - линейно 'плывёт' со скоростью, определяемой ошибкой частоты. В результате, в точке f0 имеются повороты фазы с шагом 90deg. Такой эффект получается, если часть пилотов на интервале одного символа в точке f0 содержит ошибку в 90deg, а часть- без нее. Ясно, что эквалайзер не должен уметь исправлять ошибки, когда фаза шустро меняется на интервале одного символа. Но когда ошибочка по несущей небольшая, рано или поздно случаются одиночные символы, на которых фаза 'прокручивается'.

Прикрепленное изображение


Возможно порядок работы эквалайзера должен быть не такой? crying.gif
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
DMax
сообщение Mar 18 2010, 10:14
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 161
Регистрация: 19-01-08
Из: Питер
Пользователь №: 34 234



Цитата(infinity @ Mar 18 2010, 10:19) *
Совсем другое дело, когда есть ошибка по несущей:

Для примера выключил коррекцию ошибки несущей по заголовку, и добавил большую ошибку (дабы эффект происходящего был более нагляден). Видно, что в точке f0 средняя фаза деградирует - линейно 'плывёт' со скоростью, определяемой ошибкой частоты. В результате, в точке f0 имеются повороты фазы с шагом 90deg. Такой эффект получается, если часть пилотов на интервале одного символа в точке f0 содержит ошибку в 90deg, а часть- без нее. Ясно, что эквалайзер не должен уметь исправлять ошибки, когда фаза шустро меняется на интервале одного символа. Но когда ошибочка по несущей небольшая, рано или поздно случаются одиночные символы, на которых фаза 'прокручивается'.


Секундочку. То, что вы тут говорите противоречит теории.

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

Далее, нулевой пункт не убирается.

Первый пункт, убирается тем, что вы по преамбуле определяете величину частотной отстройки во временной области. И во временной же области вы компенсируете, домножая на комплексную синусоиду с обратной частотой. Однако, в присутствие погрешности вы никогда не сведете отстройку к 0, а только уменьшите её. Но остаток этой отстройки будет приводить к тому, что созвездие будет по чуть-чуть вращаться вокруг 0. Причём внутри символа (после FFT) этот остаток отстройки не будет играть роли (разве только нарушая ортогональность, но эффект минимален). Его можно увидеть только сравнив созвездия двух символов, и чем дальше эти символы будут друг от друга - тем сильнее будет виден поворот созвездия. Для того чтобы поворачивать созвездие обратно, используют пилоты.

Далее, второй пункт. В зависимости от используемого вами метода временной синхронизации, величина ошибки синхронизации может быть от длительности полусэмпла до длительности защитного интервала. Наличие этой ошибки (по теореме о задержке) обусловливает добавочную фазу к поднесущим, величина которой прямо пропорциональна номеру поднесущей. То есть предположим, что мы передавали поднесущие с одной и той же фазой и амплитудой, а все остальные искажения отсутствуют. Тогда на приемной стороне, мы получим поднесущие с одной амплитудой, но с фазами, образующими наклонную прямую на графике фаз. Или же, что то же самое, если отложить на комплексной плоскости полученные поднесущие и соединить их одной кривой, то мы получим идеальный кусок окружности с радиусом равным амплитуде поднесущих. Если частота дискретизации на приемной и передающей сторонах совпадают (с большой точностью), то величина ошибки одна и та же на всех символах одного пакета. А значит величина добавочной фазы для n-ой поднесущей тоже постоянна. То есть эту ошибку можно учесть в эквалайзере.

Третий пункт по определению исправляется эквалайзером.

Таким образом, если вы видите, что после эквализации у вас внутри символа линейно изменяется фаза по поднесущим, то
а) вы не правильно рассчитали эквалайзер
б) у вас проблема с частотой дискретизации.

Ну и в заключение... вы там со своей борьбой за избыточность надеюсь не забыли про защитные интервалы во временной и частотной областях?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- infinity   восстановление несущей ofdm модем   Mar 16 2010, 05:38
|- - svalery   Цитата(infinity @ Mar 18 2010, 10:19) тог...   Mar 18 2010, 08:52
||- - infinity   Цитата(svalery @ Mar 18 2010, 11:52) Длин...   Mar 18 2010, 12:52
||- - alex_os   Цитата(infinity @ Mar 18 2010, 15:52) .. ...   Mar 18 2010, 13:28
|- - petrov   Цитата(infinity @ Mar 18 2010, 10:19) Воз...   Mar 18 2010, 09:15
||- - infinity   Цитата(petrov @ Mar 18 2010, 12:15) Расск...   Mar 18 2010, 14:42
||- - petrov   Цитата(infinity @ Mar 18 2010, 17:42) Экв...   Mar 18 2010, 15:24
||- - svalery   Цитата(infinity @ Mar 18 2010, 17:42) А ч...   Mar 18 2010, 16:37
||- - infinity   Цитата(svalery @ Mar 18 2010, 19:37) Если...   Mar 19 2010, 05:23
||- - svalery   Цитата(infinity @ Mar 19 2010, 08:23) Мож...   Mar 19 2010, 05:50
|||- - infinity   Цитата(svalery @ Mar 19 2010, 08:50) Можн...   Mar 19 2010, 11:09
|||- - svalery   Цитата(infinity @ Mar 19 2010, 14:09) А п...   Mar 19 2010, 11:38
|||- - infinity   Цитата(svalery @ Mar 19 2010, 14:38) Тут ...   Mar 20 2010, 07:36
|||- - petrov   Проблема в том что непонятно как у вас там всё сде...   Mar 20 2010, 08:08
||- - petrov   Цитата(infinity @ Mar 19 2010, 08:23) Во ...   Mar 19 2010, 06:50
- - DMax   Цитата(infinity @ Mar 16 2010, 08:38) вто...   Mar 17 2010, 11:47
- - infinity   Цитата(petrov @ Mar 20 2010, 11:08) Пробл...   Mar 30 2010, 01:34
- - petrov   Для оценки канала в какой-то поднесущей нужно усре...   Mar 30 2010, 07:59


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 09:05
Рейтинг@Mail.ru


Страница сгенерированна за 0.7152 секунд с 7
ELECTRONIX ©2004-2016