|
восстановление несущей ofdm модем |
|
|
|
Mar 16 2010, 05:38
|
Участник

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

|
Постановка задачи: делается небольшенький пакетный ofdm модем на 64 поднесущих. Разнесение поднесущих от 11 до 180kHz переключаемое. Схема восстановления несущей по заголовку
Есть две непонятки, первая по расчету:
Вне зависимости от разнесения поднесущих, сигнал ошибки со схемы восстановления дает погрешность не лучше 4% от величины разнесения. При этом усреднение ошибки от пакета к пакету невозможно, т.е. подстройка осуществляется только на текущий пакет. Вопрос, можно ли получить лучшие результаты по погрешности, возможно есть какие-то нестандартные способы и как стреляется полученная мной величина, с тем, что должно быть.
второй по эквалайзированию: Если нескомпенсированная величина ошибки по несущей небольшая, то по идее ее должен скорректировать эквалайзер. Здесь получается небольшой затык. Делаю в два этапа: сначала для каждой поднесущей по обучающей последовательности нахожу мгновенное значение ошибки и для всех символов убираю эту ошибку. Далее для каждого символа считаю ошибку по пилотным поднесущим, в итоге имею деградацию среднего значения фазы и амплитуды и собственно, корректирую. В результате, если есть нескомпенсированная ошибка по несущей, то в зависимости от длинны пакета, в какой-то момент будет происходить перескок фазы на 180deg.
буду признателен всем, кто направит советом, или дорогой к мануалу, в котором описано решение схожих задач.
|
|
|
|
|
 |
Ответов
|
Mar 17 2010, 07:15
|
Участник

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

|
Что мешает добавлять в начале пакета преамбулу достаточной длины для вычисления отстройки по частоте с заданой точностью?
|
|
|
|
|
Mar 18 2010, 07:19
|
Участник

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

|
Цитата(svalery @ Mar 17 2010, 10:15)  Что мешает добавлять в начале пакета преамбулу достаточной длины для вычисления отстройки по частоте с заданой точностью? В начале пакета имеется символ, по которому вычисляется отстройка по частоте. Точность, как и говорил, не лучше 4%. Не совсем понятно, что вы понимаете под преамбулой, если обозначенная мной штука, тогда что есть достаточная длинна? Выделить на синхронизацию частоты больше одного символа не позволяет жадность - во всю идёт война с избыточностью Цитата(DMax @ Mar 17 2010, 14:47)  Не совсем понятно, откуда у вас берутся эти 180 градусов. Пилотные поднесущие должны иметь заранее известную фазу. На приёмной стороне после эквалайзера, вы должны посчитать разность между принятой фазой и этой заранее известной фазой, а потом вычесть эту дельту из всех поднесущих символа. Если будете вычислять эту дельту из суммы нескольких пилотов (которая должна быть для всех пилотов одинакова), то точность определения угла поворота созвездия возрастёт. И никаких перескоков (разве только на 360 градусов) быть не должно. Возможно я немного некорректно выразился. Ситуация выглядит следующим образом:Используются все поднесущие, кроме нулевой и 32. На входе эквалайзера искаженные амплитуды и фазы. По заголовку для каждой поднесущей определяется ошибка по фазе. После чего делается коррекция - f0. Предполагаю, что в процессе работы фаза и амплитуда могут деградировать, поэтому для каждого символа, используя пилоты, определяю среднюю деградацию и во второй раз делаю коррекцию - f1. Картинка, когда ошибки по несущей нет, и все работает хорошо
Совсем другое дело, когда есть ошибка по несущей:Для примера выключил коррекцию ошибки несущей по заголовку, и добавил большую ошибку (дабы эффект происходящего был более нагляден). Видно, что в точке f0 средняя фаза деградирует - линейно 'плывёт' со скоростью, определяемой ошибкой частоты. В результате, в точке f0 имеются повороты фазы с шагом 90deg. Такой эффект получается, если часть пилотов на интервале одного символа в точке f0 содержит ошибку в 90deg, а часть- без нее. Ясно, что эквалайзер не должен уметь исправлять ошибки, когда фаза шустро меняется на интервале одного символа. Но когда ошибочка по несущей небольшая, рано или поздно случаются одиночные символы, на которых фаза 'прокручивается'.
Возможно порядок работы эквалайзера должен быть не такой?
Эскизы прикрепленных изображений
|
|
|
|
|
Mar 18 2010, 08:52
|
Участник

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

|
Цитата(infinity @ Mar 18 2010, 10:19)  тогда что есть достаточная длинна Длина необходимая для получения нужной точности оценки при заданном уровне шума. При каком уровне шума у вас получается эта 4% ошибка, меняется она с увеличением шума? Если проверяется без шума, то сам по себе алгоритм ошибку давать не может, если только что то не загрублено с разрядностью.
|
|
|
|
|
Mar 18 2010, 12:52
|
Участник

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

|
Цитата(svalery @ Mar 18 2010, 11:52)  Длина необходимая для получения нужной точности оценки при заданном уровне шума. При каком уровне шума у вас получается эта 4% ошибка, меняется она с увеличением шума? Если проверяется без шума, то сам по себе алгоритм ошибку давать не может, если только что то не загрублено с разрядностью. сигнал/шум не менее 30дБ. Проверки проводились как в режиме цифрового шлейфа, так и через радиоканал. О многолучевости пока речи нет. Разрядность не загублена с вероятностью не менее 95%. Для индексов модуляции меньше qam64 полученные 4% приемлимы. Начиная с qam64 мой эквалайзер не слишком хорошо справляется. Остюда и появлися такой вопрос. Насколько я понимаю, любая схема восстановления несущей отработает с какой- то погрешностью. Вот только на сколько хорошо? Буду признателен, если кто- то делал модем на базе ofdm и поможет 'пристрелятся' к цифрам
|
|
|
|
|
Mar 18 2010, 13:28
|
Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030

|
Цитата(infinity @ Mar 18 2010, 15:52)  .. Насколько я понимаю, любая схема восстановления несущей отработает с какой- то погрешностью. Вот только на сколько хорошо? Буду признателен, если кто- то делал модем на базе ofdm и поможет 'пристрелятся' к цифрам  А как несущую меряете? Может ошибка в алгоритме?
--------------------
ну не художники мы...
|
|
|
|
Сообщений в этой теме
infinity восстановление несущей ofdm модем Mar 16 2010, 05:38  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 18 2010, 10:19) Сов... Mar 18 2010, 10:14 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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|