|
Как не дать адаптивному эквалайзеру умереть (+), Гуру поделитесь отпытом |
|
|
|
Jul 15 2009, 08:14
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
В процессе возни с разными эквалайзерами возникли следующие вопросы.
Непрерывный модем, модуляция КАМ16 и выше. Слепой эквалайзер. При работе эквалайзера, если он инициализирован в оптимальном режиме {0,0...,1,0...0} , внесением разных искажений можно увести его до такого состояния что коэффициенты фильтра будут малы. Когда искажения пропадают эквалайзер уже не может найти решение из этого состояния. При этом если использовался слепой детектор на основе определения точки на выходе эквалайзера, то он дает не правильное созвездие, а если слепой детектор по методу CMA то он только собирает точки в кучку, но созвездия не дает или поворачивает его на некоторый угол.Решение в этом случае только заново инициализировать эквалайзер. Вопрос такой : как правильно поступают в таком случае ? Неужели сброс эквалайзера это единственная мера приведения его в чувство ?
я нашел пару решений в данной ситуации : 1. Ввести ассиметрию эквалайзер. Используя неравномерный mu явно выделив желаемый центральный коэффициент. 2. Использовать детектор PS-SAGA(POINT-CONTOUR STOP-AND-GO ALGORITHM), по крайней мере в моих моделях он ведет себя намного лучше комбинации CMA(Godard) + DD на основе аппроксимации точки и логики их переключения.
Эквалайзер с настройкой по обучающей последовательности/слепой.
В процессе настройки центральный коэффициент может встать в любое место. Но при работе желательно что бы он был в центре эквалайзера. В одной книге прочитал что после настройки по обучающей последовательности, они предлагают определить местоположение центрального коэффициента и сдвинуть его в середину эквалайзера. Но в книге не было ни слова о том, как это реализовать на практике. Какими характеристиками должен обладать центральный коэффициент эквалайзера? Ведь при искажениях канала могут быть несколько коэффициентов приблизительно равной величины и явно выделить среди них главный нельзя.
Transform domain эквалайзер. я хочу внести ассиметрию в настройку эквалайзера, но в эквалайзерах такого типа коэффициенты фильтра идут в пространстве состояний используемого преобразования(Hadamard/DCT/DFT). Каждый коэффициент фильтра в пространстве состояний содержит в себе информацию обо всех коэффициентах во временной области. Можно ли внести ассиметрию, без промежуточного переноса приращений коэффициентов во временную область?
Спасибо!!!
--------------------
|
|
|
|
|
 |
Ответов
|
Jul 16 2009, 06:52
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(des00 @ Jul 15 2009, 12:14)  В процессе возни с разными эквалайзерами возникли следующие вопросы.
Непрерывный модем, модуляция КАМ16 и выше. Слепой эквалайзер. При работе эквалайзера, если он инициализирован в оптимальном режиме {0,0...,1,0...0} , внесением разных искажений можно увести его до такого состояния что коэффициенты фильтра будут малы. Когда искажения пропадают эквалайзер уже не может найти решение из этого состояния. При этом если использовался слепой детектор на основе определения точки на выходе эквалайзера, то он дает не правильное созвездие, а если слепой детектор по методу CMA то он только собирает точки в кучку, но созвездия не дает или поворачивает его на некоторый угол.Решение в этом случае только заново инициализировать эквалайзер. Вопрос такой : как правильно поступают в таком случае ? Неужели сброс эквалайзера это единственная мера приведения его в чувство ? Тоже думаю что от сброса в принципе не уйти, просто достаточно редко это должно происходить, также может периодически сбрасывать и настраивать по известной последовательности чтобы не дожидаться когда он деградирует окончательно. Ещё надо реальный канал смотреть, а то в модели может у вас слишком пессимистичный случай. CMA критерий не может поворот созвездия исправлять. Цитата(des00 @ Jul 15 2009, 12:14)  1. Ввести ассиметрию эквалайзер. Используя неравномерный mu явно выделив желаемый центральный коэффициент. Тоже экспериментировал с этим, эффект есть, но гарантии что развалала не будет нет. Цитата(des00 @ Jul 15 2009, 12:14)  2. Использовать детектор PS-SAGA(POINT-CONTOUR STOP-AND-GO ALGORITHM), по крайней мере в моих моделях он ведет себя намного лучше комбинации CMA(Godard) + DD на основе аппроксимации точки и логики их переключения. Выложите источник пожалуйста. Цитата(des00 @ Jul 15 2009, 12:14)  В процессе настройки центральный коэффициент может встать в любое место. Но при работе желательно что бы он был в центре эквалайзера. В одной книге прочитал что после настройки по обучающей последовательности, они предлагают определить местоположение центрального коэффициента и сдвинуть его в середину эквалайзера. Но в книге не было ни слова о том, как это реализовать на практике. Какими характеристиками должен обладать центральный коэффициент эквалайзера? Ведь при искажениях канала могут быть несколько коэффициентов приблизительно равной величины и явно выделить среди них главный нельзя. Это из книги The Theory and Practice of Modem Design - Bingham? Я так понимаю в этой книге результаты работы которая привела к созданию обычных телефонных модемов, каналы там получше чем в радио, имхо плохо всё это будет работать в произвольном радиоканале. Цитата(des00 @ Jul 15 2009, 12:14)  Transform domain эквалайзер. я хочу внести ассиметрию в настройку эквалайзера, но в эквалайзерах такого типа коэффициенты фильтра идут в пространстве состояний используемого преобразования(Hadamard/DCT/DFT). Каждый коэффициент фильтра в пространстве состояний содержит в себе информацию обо всех коэффициентах во временной области. Можно ли внести ассиметрию, без промежуточного переноса приращений коэффициентов во временную область? Вроде как без преобразования туда и обратно не обойтись. p. s. Если найдёте решения по этим вопросам напишите пожалуйста...
|
|
|
|
|
Jul 16 2009, 07:11
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(petrov @ Jul 16 2009, 00:52)  Тоже думаю что от сброса в принципе не уйти, просто достаточно редко это должно происходить, также может периодически сбрасывать и настраивать по известной последовательности чтобы не дожидаться когда он деградирует окончательно. Ещё надо реальный канал смотреть, а то в модели может у вас слишком пессимистичный случай. CMA критерий не может поворот созвездия исправлять. этот эффект я поймал чисто случайно, когда ради интереса собрал простой многолучевой канал. когда спросил коллег об этом они подтвердили что видели подобное в реальных модемах на реальных каналах и им интересно решение данной проблемы %) Цитата Тоже экспериментировал с этим, эффект есть, но гарантии что развалала не будет нет. понятно, не все так просто значит. Цитата Выложите источник пожалуйста. в атаче наиболее понятная и грамотная статья из всех что я нашел по stop-and-go алгоритмам. Цитата Это из книги The Theory and Practice of Modem Design - Bingham? Я так понимаю в этой книге результаты работы которая привела к созданию обычных телефонных модемов, каналы там получше чем в радио, имхо плохо всё это будет работать в произвольном радиоканале. да из нее. меня интересует сам принцип, как они аппаратно распознают центральный коэффициент. если предположить телефонный канал, то как я понимаю проблема изменения задержки эквалайзера, при сдвиге коэффициента, в данном виде связи роли не играет.
--------------------
|
|
|
|
|
Oct 9 2009, 07:26
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(des00 @ Jul 16 2009, 02:11)  в атаче наиболее понятная и грамотная статья из всех что я нашел по stop-and-go алгоритмам. Обнаружил пренеприятнейший эффект в работе SAGA алгоритма. Дело обстоит так : Когда разрабатывал структуру эквалайзера в матлабе, мерой оценки было нормальные точки созвездия. Когда моменты были выяснены, разработал все на языке, потестировал на созвездиях и простых искажениях в симуляторе, все нормально. Взял эквалайзер в самой простой версии TSE, LMS, Point-Contour Stop-and-Go Algorithm, Sign Err update. Эквалайзер работает, НО есть один очень тонкий момент, на который я в матлабе не обратил внимание. А именно SAGA детектор расширяет созвездие!!!, особенно это заметно на старших КАМах (QAM64/QAM256). Стоит отключить Stop-And-Go часть (убрать маскирование ошибок), как точки встают на место. Посмотрел в матлабе и точно так и есть. (см в атаче файл КАМ64) При прочих равных условиях эквалайзер с SAGA дает больший MSE, чем эквалайзер без него. Смотрю по MSE, т.к. вывести два луча на один блок просмотра созвездий у меня в матлабе не получилось. Как так получается и откуда берется эта нелинейность мне не понятно %( По логике работы детектор всего лишь игнорирует ошибки в определенном диапазоне и он никак не может влиять на линейность созвездия или его расширение. Может быть у кого нить будут какие либо идеи ? Проверил все еще на раз, почитал доки и обнаружил вот еще какое расхождение. В книгах (например Adaptive_Filtering_-_Algorithms_and_Practical_Implementation_-_Diniz.pdf -> стр 541 Sato Algorithm) написано что в алгоритме Sato порог вычисляется как R = E[|s|^2] / E[|s|]. Насколько я понимаю E это усреднение. Если рассмотреть созвездие QAM16, с точками 0.25/0.75 то получиться следующее sum([(2*0.25^2) 2*(0.25^2+0.75^2) (2*0.75^2)]) / sum([sqrt(2*0.25^2) 2*sqrt(0.25^2+0.75^2) sqrt(2*0.75^2)]) = 0.8346. Но при таком пороге и методе обновления коэффициентов в алгоритме SATO, даже без моделирования очевидно, что точки созвездия на выходе эквалайзера будет шире чем на его входе. Но при этом во всех материалах показаны созвездия где эти точки стоят на нужных местах. Но в статье про SAGA в детекторе SATO используют пороги SQRT(M)-1, т.е. берут максимальную точку 0.75. Гуру поясните этот момент, во всех материалах формула расчета порога одна и та же, но вот с мой логикой и матлабом (см аттач КАМ16) как то не вяжется. ЗЫ. Причем уменьшение mu в SATO и SAGA на расширение созвездия не влияет, всего лишь уменьшается скорость сходимости. Спасибо.
--------------------
|
|
|
|
|
Oct 9 2009, 09:16
|
Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030

|
Цитата(des00 @ Oct 9 2009, 11:26)  Обнаружил пренеприятнейший эффект в работе SAGA алгоритма. Дело обстоит так : Когда-то использовал stop&go для камов, кажется, порог выбирался, как средне-арифметическое между максимальным значением амплитуды квадратуры созвездия и следующим(меньшим) значением амплитуды квадратуры. Делал по статье G. Picchi and G. Prati, "Blind Equalization and Carrier Recovery Using a Stop-and-Go Decision-Directed Algorithm", IEEE Transactions on Communications, Vol. 35, No. 9, pp. 877-887, 1987.
--------------------
ну не художники мы...
|
|
|
|
|
Oct 9 2009, 09:54
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(alex_os @ Oct 9 2009, 03:16)  Когда-то использовал stop&go для камов, кажется, порог выбирался, как средне-арифметическое между максимальным значением амплитуды квадратуры созвездия и следующим(меньшим) значением амплитуды квадратуры. но ведь в этом случае на камах появляется дополнительный полигон, ошибки в котором маскируются, причем этот полигон не входит в логически обоснованную концепцию PC-SAGA алгоритма, описанного в статье, которую я выкладывал. Кроме того ошибка в SAGA считается по DD методу, т.е. точно, а второй критерий только определяет использовать ее или нет. За идею спасибо, надо попробывать. Цитата G. Picchi and G. Prati, "Blind Equalization and Carrier Recovery Using a Stop-and-Go Decision-Directed Algorithm", IEEE Transactions on Communications, Vol. 35, No. 9, pp. 877-887, 1987. у вас случайно этой статьи не осталось? у меня нет подписки на IEEE Цитата(petrov @ Oct 9 2009, 03:19)  Всё же лучше использовать критерий Годарда, если хочется сэкономить на вычислениях то можно взять в критерии Годарда знак после разности квадрата модуля и константы(можно также использовать разность модуля и корня квадратного из константы), при этом созвездие так же разъедется, это легко лечится подбором константы.
Ещё после умножения входного вектора на знак разности квадрата модуля и константы так же можно только знаки квадратур оставить избавившись тем самым от умножения. Это то все понятно. Такой простой эквалайзер я привел для того, что бы подчеркнуть что этот эффект не вызван переполнением коэффициентов и/или их некорректным вычислением %) Но первый мой вопрос был не в том как сэкономить, а почему так происходит. Ведь по физике работы PC-SAGA такого быть не должно, но оно есть %) По второму вопросу (критерий SATO) что то мне подсказывает что нужно брать не комплексные точки, а проекции точек на оси. В таком случае критерий будет sum([(0.25^2) (0.75^2)]) / sum([0.25 0.75]) = 0.625 ведь по идее сам Сато рассматривал вещественные сигналы PS. Нашел что то вроде кандидатской + еще пару док про слепое эквалайзирование, так вот алгоритм Годдара/CMA уже не айс, а айс это Multi-modulus algorithm (MMA)/Modified Constant Modulus Algorithm (MCMA) %) Если интересно выложу. ЗЗЫ. Цитата Ещё после умножения входного вектора на знак разности квадрата модуля и константы так же можно только знаки квадратур оставить избавившись тем самым от умножения. а вот этот метод (использовать знаки данных, а не сами данные) гуру (diniz и saied) не рекомендуют, я к ним присоединяюсь с практической точки зрения %)
--------------------
|
|
|
|
|
Oct 9 2009, 10:08
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(des00 @ Oct 9 2009, 13:54)  PS. Нашел что то вроде кандидатской + еще пару док про слепое эквалайзирование, так вот алгоритм Годдара/CMA уже не айс, а айс это Multi-modulus algorithm (MMA)/Modified Constant Modulus Algorithm (MCMA) %) Если интересно выложу. Конечно выкладывайте. Ясное дело что это фактически решения по амплитуде круче чем Годард. Цитата(des00 @ Oct 9 2009, 13:54)  а вот этот метод (использовать знаки данных, а не сами данные) гуру (diniz и saied) не рекомендуют, я к ним присоединяюсь с практической точки зрения %) Разумеется будет хуже работать, ИМХО сато то же самое.
|
|
|
|
|
Oct 9 2009, 10:59
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(petrov @ Oct 9 2009, 05:08)  Конечно выкладывайте. Ясное дело что это фактически решения по амплитуде круче чем Годард. выложил на местный файлообменник, который имеет выход в мир http://disk.tom.ru/upc1u2sЦитата Разумеется будет хуже работать, ИМХО сато то же самое. ИМХО не совсем то, т.к. метод Сато это метод вычисления ошибки в стандартном LMS алгоритме, а в stop and go это метод вычисления признака, а не ошибки (!!!). А замена данных на знаки в LMS алгоритме ИМХО приводит к поломке основ LMS, но это к данной теме не относиться
--------------------
|
|
|
|
Сообщений в этой теме
des00 Как не дать адаптивному эквалайзеру умереть (+) Jul 15 2009, 08:14 DRUID3 Цитата(des00 @ Jul 15 2009, 11:14) Когда ... Jul 15 2009, 11:36 Oldring Цитата(DRUID3 @ Jul 15 2009, 15:36) есть ... Jul 15 2009, 12:03 des00 Цитата(DRUID3 @ Jul 15 2009, 05:36) А есл... Jul 16 2009, 03:20  DRUID3 Цитата(des00 @ Jul 16 2009, 06:20) как ра... Jul 16 2009, 21:55   des00 Цитата(DRUID3 @ Jul 16 2009, 16:55) Да...... Jul 17 2009, 03:45 Serg76 Цитата(des00 @ Jul 15 2009, 12:14) Решени... Jul 15 2009, 17:09  petrov Цитата(des00 @ Jul 16 2009, 11:11) в атач... Jul 16 2009, 07:26        des00 Цитата(alex_os @ Oct 9 2009, 08:25) Во... Oct 9 2009, 16:51   petrov Цитата(des00 @ Oct 9 2009, 11:26) Обнаруж... Oct 9 2009, 09:19    des00 Цитата(petrov @ Oct 9 2009, 03:19) Всё же... Nov 9 2009, 10:49     petrov Цитата(des00 @ Nov 9 2009, 13:49) поковыр... Nov 9 2009, 13:00      des00 Цитата(petrov @ Nov 9 2009, 07:00) Не счи... Nov 9 2009, 13:14       petrov Цитата(des00 @ Nov 9 2009, 16:14) Хмм, уж... Nov 9 2009, 13:33        des00 Цитата(petrov @ Nov 9 2009, 07:33) Есть т... Nov 9 2009, 15:44       des00 Цитата(des00 @ Nov 9 2009, 20:14) это про... Apr 14 2014, 02:51 des00 статья с ieee шным качеством http://electronix.ru/... Oct 12 2009, 03:18 Ковылин_Константин Предлагаю сделать 2 адаптивных фильтра - один пада... Oct 14 2009, 08:21 des00 Цитата(Ковылин_Константин @ Oct 14 2009, 02... Oct 15 2009, 02:52
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|