|
Адаптивный эквалайзер для TDMA модема (+), Покажите нужное направление |
|
|
|
Oct 7 2008, 11:37
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Добрый день господа!
Есть задача сделать адаптивный эквалайзер для TDMA модема. Обложился бумажными и электронными книгами, перерыл форум и хелп матлаба в разделе эквалайзеры. Но все равно есть много вопросов, прошу помощи.
1. В книгах по эквалайзерам (Бингхам, Прокис, Скляр и т.д.) описаны 3 метода адаптации Zero-Forced, LMS, DD. Но в том же матлабе алгоритмов больше (те же CMA, RLS). Есть ли книги в которых описаны эти методы адаптации коэффициентов и расписаны их достоинства и недостатки ?
Если проектировать фрактальный эквалайзер, то :
2. Обязательно ли его тактовая на выходе должна быть меньше в К раз чем тактовая на входе ?
3. Как в этом случае выбирается обучающая последовательность ? Ведь на стороне передатчика мы передаем ее на символьной частоте, а тут обрабатываем на более высокой частоте ?
4. У меня recovery работает на удвоенной символьной частоте. Можно ли, брать решения для адаптации эквалайзера не с его выхода, а с выхода recovery.
5. Какой, по вашему мнению, алгоритм адаптации дает большую скорость сходимости для коротких пакетов ?
6. Какой, по вашему мнению, эквалайзер линейный TSE/FSE или DFE вы посоветуете для TDMA систем.
7. Можно ли в матлабе смоделировать потоки данных со стартовой преамбулой, обучающей последовательностью и пакетом рандомных данных?
Сам понимаю что вопросы ламерские, но вот пока не могу найти решение в книгах или плохо ищу. Решил спросить здесь.
Спасибо!!!
--------------------
|
|
|
|
|
Oct 7 2008, 14:44
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
... Цитата(des00 @ Oct 7 2008, 15:37)  Есть задача сделать адаптивный эквалайзер для TDMA модема. Обложился бумажными и электронными книгами, перерыл форум и хелп матлаба в разделе эквалайзеры. Но все равно есть много вопросов, прошу помощи. Непростая это задачка. Цитата(des00 @ Oct 7 2008, 15:37)  1. В книгах по эквалайзерам (Бингхам, Прокис, Скляр и т.д.) описаны 3 метода адаптации Zero-Forced, LMS, DD. Но в том же матлабе алгоритмов больше (те же CMA, RLS). Есть ли книги в которых описаны эти методы адаптации коэффициентов и расписаны их достоинства и недостатки ? Тут у путаница некоторая, надо разделять алгоритмы адаптации Zero-Forced, LMS, RLS и критерии настройки DD, CMA, по известной последовательности и т. п. В книгах к сожалению как правило простые случаи рассматриваются. Для TDMA вам наверное потребуются самые быстрые алгоритмы адаптации с обучением по известной последовательности. Цитата(des00 @ Oct 7 2008, 15:37)  Если проектировать фрактальный эквалайзер, то : Дробный наверное правильнее. Цитата(des00 @ Oct 7 2008, 15:37)  2. Обязательно ли его тактовая на выходе должна быть меньше в К раз чем тактовая на входе ? Прямой фильтр дожен работать минимум с частотой дискретизации по котельникову для вашего сигнала. Цитата(des00 @ Oct 7 2008, 15:37)  3. Как в этом случае выбирается обучающая последовательность ? Ведь на стороне передатчика мы передаем ее на символьной частоте, а тут обрабатываем на более высокой частоте ? Обучающая последовательность очевидно должна обеспечивать равновероятность точек сигнального созвездия и обладать хорошей автокорреляцонной функцией. В этом и сложность про которую не пишут в книжках что мы должны обнаружить начало последовательности и обеспечить синхронизации для вычисления ошибки для настройки эквалайзера и при этом все эти синхронизации плохо работают так как эквализация ещё не выполнена. Цитата(des00 @ Oct 7 2008, 15:37)  4. У меня recovery работает на удвоенной символьной частоте. Можно ли, брать решения для адаптации эквалайзера не с его выхода, а с выхода recovery. Непонятно о чём речь. Цитата(des00 @ Oct 7 2008, 15:37)  5. Какой, по вашему мнению, алгоритм адаптации дает большую скорость сходимости для коротких пакетов ? Почитайте Adaptive_Filters_-_Ali_H_Sayed это типа справочника по различным алгоритмам адаптации. Ортогонализация и нормализация делают процесс сходимости независимым от отношения максимального и минимального собственных чисел автокорреляционной матрицы входного сигнала. Цитата(des00 @ Oct 7 2008, 15:37)  6. Какой, по вашему мнению, эквалайзер линейный TSE/FSE или DFE вы посоветуете для TDMA систем. Зависит от канала, линейный только для несильных искажений, если есть спектральные нули то только DFE. Цитата(des00 @ Oct 7 2008, 15:37)  7. Можно ли в матлабе смоделировать потоки данных со стартовой преамбулой, обучающей последовательностью и пакетом рандомных данных? Можно всё и лучше в симулинке.
Сообщение отредактировал petrov - Oct 7 2008, 14:17
|
|
|
|
|
Oct 8 2008, 04:43
|
Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030

|
Цитата(des00 @ Oct 7 2008, 15:37)  Есть задача сделать адаптивный эквалайзер для TDMA модема... Вообще все зависит от канала передачи данных. Если повезло и импульсная характеристика канала короткая и индех модуляции маленький, т.е. число состояний канала не велико то стоит смотреть в сторону MLSE алгоритмов, естественно под это требуется неслабое железо.. Из корректоров лучшее из практически реализуемого это "turbo equalizer" (гуглом много всего находится, еще можно поискать по слову Tuchler - это автор многих статей на эту тему). Для турбо корректора (фактически это итеративный корректор - декодер) требуется наличие помехоустойчивого кодирования и перемежителя. Если ничего из вышеупомянутого не подходит остается банальный DFE.
--------------------
ну не художники мы...
|
|
|
|
|
Oct 8 2008, 07:08
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Всем спасибо за ответы, кое что начинает прояснятся. Пояснения к моему сумбурном вопросу : 2 petrov Цитата Непонятно о чём речь. Речь идет вот о чем следующем. В уже готовом модеме, для которого надо сделать эквалайзер, сигнал децимируется на частоту 2*fsymb, на ней обрабатывается и поступает на схему востановления (recovery). После нее уже на частоте fsymb идет на схему жесткого принятия решений и на блочный декодер. Вопрос заключался вот в чем, если делать дробный эквалайзер, то его надо ставить на 2*fsymb до recovery, но взять отсчеты сигнала, для оценки ошибки, на выходе эквалайзера на 2*fsymb нельзя. Их можно взять только после того, как отчеты пройдут схему recovery на fsymb. Можно ли брать ошибки таким способом ? Цитата Почитайте Adaptive_Filters_-_Ali_H_Sayed это типа справочника по различным алгоритмам адаптации. Если вам не сложно, не могли бы поделится этой книгой в электронке. Гугль выводит на предложения ее купить, а хранилище я прошелся по разделу документации и не нашел. 2 Serg76 Цитата Посмотрите у Феера. (К.Феер. Безпроводная цифровая связь). Вы имете в виду книгу "К.Феер. Беcпроводная цифровая связь. Методы модуляции и расширения спектра" ? Если да, то там теме адаптивных эквалайзеров посвещенно всего 5 страниц текста.  И дано все поверхностно. 2 alex_os Цитата Вообще все зависит от канала передачи данных. Если повезло и импульсная характеристика канала короткая и индех модуляции маленький, т.е. число состояний канала не велико то стоит смотреть в сторону MLSE алгоритмов, естественно под это требуется неслабое железо.. Канал гаусовский, с спектральными нулями. Индекс модуляции 2-5 (QPSK-QAM64). Диапазон частот 400МГц. MLSE алгоритм это, как я понимаю, алгоритм с использованием мягкого решения. Он не подходит, как я уже писал используется жесткое решение и блочное кодирование. Цитата Из корректоров лучшее из практически реализуемого это "turbo equalizer" (гуглом много всего находится, еще можно поискать по слову Tuchler - это автор многих статей на эту тему). Для турбо корректора (фактически это итеративный корректор - декодер) требуется наличие помехоустойчивого кодирования и перемежителя. Как я понял из обзорной статьи по турбо эквалайзерам в гугле, они все работают с использованием декодера витерби(мягкое решение) и в данный модем такое не закаладывалось. Цитата Зависит от канала, линейный только для несильных искажений, если есть спектральные нули то только DFE. Если ничего из вышеупомянутого не подходит остается банальный DFE. Если я ничего не путаю, то получается что надо рыть в сторону DFE эквалайзеров и алгоритмов быстрой сходимости. А какой вариант будет лучше для реализации TSE/FSE или эти термины относятся только к линейным эквалайзерам ? Спасибо
--------------------
|
|
|
|
|
Oct 8 2008, 08:07
|
Частый гость
 
Группа: Участник
Сообщений: 87
Регистрация: 15-06-08
Пользователь №: 38 299

|
Цитата(des00 @ Oct 8 2008, 11:08)  Если я ничего не путаю, то получается что надо рыть в сторону DFE эквалайзеров и алгоритмов быстрой сходимости. DFE (или КРОС) потребуется при сильных искажениях АЧХ. Но он выдаёт ошибки пачками, чем больше длина ОС, тем длиннее пачка. Если провалы в АЧХ небольшие, лучше обойтись линейным корректором. Насчёт быстрой настройки. У вас канал с переменными параметрами? И если переменными, то насколько быстыми? Может можно обойтись одной длинной настройкой в начале соединения, потратить на неё, например, один пакет, а затем подстраивать корректор только по данным. В противном случае вам придётся каждый пакет начинать с длинной настроечной последовательности. Цитата А какой вариант будет лучше для реализации TSE/FSE или эти термины относятся только к линейным эквалайзерам ? Линейный корректор лучше FSE. В фильтре прямой связи для КРОСа также лучше FSE. В фильтре обратной связи кроме TSE ничего поставить не получится, т.к. там находятся решения, которые вырабатываются со скоростью тактов.
|
|
|
|
|
Oct 8 2008, 08:23
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(des00 @ Oct 8 2008, 11:08)  Речь идет вот о чем следующем. В уже готовом модеме, для которого надо сделать эквалайзер, сигнал децимируется на частоту 2*fsymb, на ней обрабатывается и поступает на схему востановления (recovery). После нее уже на частоте fsymb идет на схему жесткого принятия решений и на блочный декодер.
Вопрос заключался вот в чем, если делать дробный эквалайзер, то его надо ставить на 2*fsymb до recovery, но взять отсчеты сигнала, для оценки ошибки, на выходе эквалайзера на 2*fsymb нельзя. Их можно взять только после того, как отчеты пройдут схему recovery на fsymb. Можно ли брать ошибки таким способом ? Да ошибка вычисляется в клок домене одного отсчёта на символ, там же работает обратный фильтр DFE, прямой дробный фильтр ессно работает в клок домене нескольких отсчётов на символ. Выкладывал симулинк модели с эквалайзерами: http://electronix.ru/forum/index.php?showtopic=23652Кстати блочные коды с жёсткими решениями не дают выигрыша. Цитата(des00 @ Oct 8 2008, 11:08)  Канал гаусовский, с спектральными нулями. Индекс модуляции 2-5 (QPSK-QAM64). Диапазон частот 400МГц.
MLSE алгоритм это, как я понимаю, алгоритм с использованием мягкого решения. Он не подходит, как я уже писал используется жесткое решение и блочное кодирование.
Как я понял из обзорной статьи по турбо эквалайзерам в гугле, они все работают с использованием декодера витерби(мягкое решение) и в данный модем такое не закаладывалось. Если я ничего не путаю, то получается что надо рыть в сторону DFE эквалайзеров и алгоритмов быстрой сходимости.
А какой вариант будет лучше для реализации TSE/FSE или эти термины относятся только к линейным эквалайзерам ? Даже самые быстрые алгоритмы настройки адаптивных фильтров могут не устроить вас по скорости сходимости потомучто все они feedback. Иначе надо действительно смотреть в сторону турбо, либо делать перед пакетом какой-то специальный сигнал по которому быстренько восстанавливать синхронизацию и настраивать эквалайзер только сложность этой части может быть похлеще основной демодуляции. Ещё у DFE проблема - размножение ошибок в обратном фильтре. Ко всем относится, дробный надо делать.
|
|
|
|
|
Oct 8 2008, 09:58
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
2 petrov Спасибо за книги !!! 2 links Цитата Если провалы в АЧХ небольшие, лучше обойтись линейным корректором. Насчёт быстрой настройки. У вас канал с переменными параметрами? И если переменными, то насколько быстыми? Может можно обойтись одной длинной настройкой в начале соединения, потратить на неё, например, один пакет, а затем подстраивать корректор только по данным. В противном случае вам придётся каждый пакет начинать с длинной настроечной последовательности. Наблюдаемые на испытаниях провалы АЧХ составили 10дБ, по словам разработчиков модема если заложиться на провалы 20дБ это их удовлетворит полностью. Насчет канала. Передача идет пакетами с полезной нагрузкой 4 килобайта + преамбула + обучающая последовательность 63 символа. На время передачи пакета канал считается стационарным. Планируется к реализации двухступенчатая подстройка, сначала быстрый захват по обучающей последовательности, потом удержание по данным. Специфика работы такова, что нужна полная настройка под каждый пакет. Цитата В фильтре прямой связи для КРОСа также лучше FSE. В фильтре обратной связи кроме TSE ничего поставить не получится, т.к. там находятся решения, которые вырабатываются со скоростью тактов.
Да ошибка вычисляется в клок домене одного отсчёта на символ, там же работает обратный фильтр DFE, прямой дробный фильтр ессно работает в клок домене нескольких отсчётов на символ. По FSE понял, спасибо за разъяснение. Цитата Выкладывал симулинк модели с эквалайзерами: Кстати блочные коды с жёсткими решениями не дают выигрыша. Модели скачал, начинаю разбираться. Про выигрыш вы имели в виду по SNR, ну в этом модеме сделано так %)
--------------------
|
|
|
|
|
Oct 8 2008, 11:29
|
Частый гость
 
Группа: Участник
Сообщений: 87
Регистрация: 15-06-08
Пользователь №: 38 299

|
Цитата(des00 @ Oct 8 2008, 13:58)  Наблюдаемые на испытаниях провалы АЧХ составили 10дБ, по словам разработчиков модема если заложиться на провалы 20дБ это их удовлетворит полностью.
Насчет канала. Передача идет пакетами с полезной нагрузкой 4 килобайта + преамбула + обучающая последовательность 63 символа. На время передачи пакета канал считается стационарным. Планируется к реализации двухступенчатая подстройка, сначала быстрый захват по обучающей последовательности, потом удержание по данным. Специфика работы такова, что нужна полная настройка под каждый пакет. 20 дБ это много. Линейный корректор не спасёт. Если нужна подстройка под каждый пакет, то задача действительно сложная. Может поможет настройка по Калману (в файле). С другой стороны, почему бы вам не подумать о применении OFDM? Оно как раз и было придумано для того, чтобы уйти от нелинейной коррекции, заменив её линейной в каждом из подканалов.
|
|
|
|
|
Oct 9 2008, 07:47
|
Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030

|
Цитата(des00 @ Oct 8 2008, 11:08)  Канал гаусовский, с спектральными нулями. Индекс модуляции 2-5 (QPSK-QAM64). Диапазон частот 400МГц.
MLSE алгоритм это, как я понимаю, алгоритм с использованием мягкого решения. Он не подходит, как я уже писал используется жесткое решение и блочное кодирование. MLSE = maximum likelihood sequence estimator не связан с наличием или отсутствием помехоустойчивого кодирования. Этот алгоритм производит оценку символов на входе канала с памятью по зашумленным отсчетам с выхода канала. Поскольку индекс модуляции у Вас больше 2 число состояний канала будет скорее всего огромное = (индекс модуляции )^(память_канала - 1 ), т.е. практически не реализуем. Цитата(des00 @ Oct 8 2008, 11:08)  Как я понял из обзорной статьи по турбо эквалайзерам в гугле, они все работают с использованием декодера витерби(мягкое решение) и в данный модем такое не закаладывалось. Если я ничего не путаю, то получается что надо рыть в сторону DFE эквалайзеров и алгоритмов быстрой сходимости. Вообще "жесткий" декодер не есть гуд, классики пишут о 3х децибельных потерях у жесткого декодера vs мягкого. Для быстрой настройки DFE нужна преамбула, c хорошими автокорреляционными свойствами. Быстро посчитать коэффициенты корректоров прямого и обратного можно примерно так. По известной преамбуле находите импульсную характеристику канала h, это не сложно. Далее по в лоб рассчитываются коэффициенты прямого фильтра корректора и фильтра обратной связи. Это самая затратная операция, приходится решать систему линейных уравнений L x L (L длина прямого фильтра корректора ). Для Т интервального корректора матрица системы становится теплицевой, уже немного легче.
--------------------
ну не художники мы...
|
|
|
|
|
Oct 9 2008, 10:36
|

Эксперт
    
Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183

|
Цитата(alex_os @ Oct 9 2008, 11:47)  По известной преамбуле находите импульсную характеристику канала h, это не сложно. Далее по в лоб рассчитываются коэффициенты прямого фильтра корректора и фильтра обратной связи. Это самая затратная операция, приходится решать систему линейных уравнений L x L (L длина прямого фильтра корректора ). Для Т интервального корректора матрица системы становится теплицевой, уже немного легче. Не только теплицевой, у ковариационной матрицы есть и другие симметрии, поэтому для MMSE-DFE есть быстрые рекурсивные алгоритмы даже для фрактальных эквалайзеров (когда матрица не является даже теплицевой) Трудно только все это осилить с непривычки  )
|
|
|
|
|
Oct 9 2008, 13:10
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(alex_os @ Oct 9 2008, 02:47)  MLSE = maximum likelihood sequence estimator не связан с наличием или отсутствием помехоустойчивого кодирования. Этот алгоритм производит оценку символов на входе канала с памятью по зашумленным отсчетам с выхода канала. Поскольку индекс модуляции у Вас больше 2 число состояний канала будет скорее всего огромное = (индекс модуляции )^(память_канала - 1 ), т.е. практически не реализуем. Спасибо буду знать, до этого раздела я еще не дошел, сосредоточился на DFE эквалайзерах. Цитата Вообще "жесткий" декодер не есть гуд, классики пишут о 3х децибельных потерях у жесткого декодера vs мягкого. Для быстрой настройки DFE нужна преамбула, c хорошими автокорреляционными свойствами. Быстро посчитать коэффициенты корректоров прямого и обратного можно примерно так. По известной преамбуле находите импульсную характеристику канала h, это не сложно. Далее по в лоб рассчитываются коэффициенты прямого фильтра корректора и фильтра обратной связи. Это самая затратная операция, приходится решать систему линейных уравнений L x L (L длина прямого фильтра корректора ). Для Т интервального корректора матрица системы становится теплицевой, уже немного легче. Про декодер это понятно, но модем заложили таким. Сейчас нужно только в него интегрировать эквалайзер. В качестве преамбулы используется последовательность Хаффмана. Предложенный вами алгоритм понятен, буду курить книги, что бы все свести воедино %) Цитата(fontp @ Oct 9 2008, 05:36)  Не только теплицевой, у ковариационной матрицы есть и другие симметрии, поэтому для MMSE-DFE есть быстрые рекурсивные алгоритмы даже для фрактальных эквалайзеров (когда матрица не является даже теплицевой) Трудно только все это осилить с непривычки  ) спасибо за статью почитаю.
--------------------
|
|
|
|
|
Oct 9 2008, 18:16
|

Эксперт
    
Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183

|
Цитата(des00 @ Oct 9 2008, 17:10)  спасибо за статью почитаю. Есть ещё первородная статья Марпла по поводу быстрого метода а-ля рекурсии Шура решения ковариационных уравнений для FIR-identification c программой на FORTRANe это решение можно использовать для Т-эквалайзера работающего на символьной скорости В случае фрактального эквалйзера решения того же типа, только более сложная блочная матричная алгебра. Впрочем, это всё быстрые реализации, не касающиеся проблемы качества эквалайзера
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|