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

 
 
> Simulink, блок LMS DFE, Не пойму, как с ним работать
ToR_TDA
сообщение May 31 2012, 13:14
Сообщение #1


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

Группа: Свой
Сообщений: 133
Регистрация: 7-08-10
Из: Мурманск
Пользователь №: 58 796



Здравствуйте форумчане!
Ни как не получается разобраться с работой блока LMS Decision Feedback Equalizer (Сommunication system toolbox/Equalizers) в Simulink Version 7.8 (R2011b).
Модуляция PAM-4, 8 отсчетов на символ. Не пойму, в каком виде данные должны поступать на Input port и Desired port. В хэлпе написано "The Input port accepts a column vector input signal" то есть входной сигнал вектор-столбец, а от чего зависит и сколько должна быть длина этого вектора? Тот же вопрос и по Desired port.
Прошу помощи.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ToR_TDA
сообщение Jun 1 2012, 07:15
Сообщение #2


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

Группа: Свой
Сообщений: 133
Регистрация: 7-08-10
Из: Мурманск
Пользователь №: 58 796



Методом научного тыка я решил проблему. На Desired port подал сигнал так: Buffer(8)->To Sample->Reshape(column vector)->Desired port, с Input port все то же самое только буфер на 64. Это все работает при 8-ми отсчетах на символ.
Результат отличный sm.gif Привожу глаз диаграмму выхода и коэффициенты, правда они в виде одного вектора "the block outputs the current forward and feedback weights, concatenated into one vector". Перешел уже на PAM-16.
И у меня еще вопрос: какой оптимальный эквалайзер и алгоритм адаптации если главная проблема это МСИ, то есть скорость сходимости не важна и шумы невелики?
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
petrov
сообщение Jun 1 2012, 08:15
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Ваш эквалайзер подойдёт, проблема заставить работать надёжно приёмник в целом.
Go to the top of the page
 
+Quote Post
ToR_TDA
сообщение Jul 16 2012, 19:11
Сообщение #4


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

Группа: Свой
Сообщений: 133
Регистрация: 7-08-10
Из: Мурманск
Пользователь №: 58 796



Цитата(petrov @ Jun 1 2012, 12:15) *
Ваш эквалайзер подойдёт, проблема заставить работать надёжно приёмник в целом.

Это стало большой проблемой для меня. Не могу понять одновременную работу эквалайзера и символьной синхронизации.
В моей схеме присутствует цифровая символьная синхронизация (Farrow, Gardner TED, Loop filter, NCO), и FFE LMS эквалайзер.
Первый глупый вопрос о том, где должен стоять FFE? После Farrow и с FFE сигнал идет на TED?
Далее я пытаюсь настроить эквалайзер по известной последовательности. То есть, по сути, у меня два модулятора на стороне передачи и на стороне приема на которые поступают одинаковые данные. Но в силу естественных причин частота работы модулятора на стороне передачи может отличаться от этой же частоты на стороне приема.
Таким образом, через какое-то время после старта эти одинаковые последовательности разбегаются и адаптация становится невозможна.
Эту проблему должна решить символьная синхронизация, но так-как эквалайзер не может быть настроен то и на TED ничего путного не поступает.
Замкнутый круг какой-то.
Помогите разобраться.
Go to the top of the page
 
+Quote Post
petrov
сообщение Jul 17 2012, 10:29
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Совместная работа петель эквалайзера и символьной синхронизации неустойчива. Если искажения не сильные и символьная синхронизация без сбоев работает по такому сигналу, то можно поставить символьную синхронизацию до эквалайзера. Иначе можно периодически передавать настроечную последовательность для синхронизации и настройки эквалайзера, Farrow при этом не нужен, синхронизацию поддерживает дробный эквалайзер как FIFO до следующей настроечной последовательности.
Go to the top of the page
 
+Quote Post
ToR_TDA
сообщение Jul 19 2012, 19:43
Сообщение #6


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

Группа: Свой
Сообщений: 133
Регистрация: 7-08-10
Из: Мурманск
Пользователь №: 58 796



Цитата(petrov @ Jul 17 2012, 14:29) *
Совместная работа петель эквалайзера и символьной синхронизации неустойчива. Если искажения не сильные и символьная синхронизация без сбоев работает по такому сигналу, то можно поставить символьную синхронизацию до эквалайзера. Иначе можно периодически передавать настроечную последовательность для синхронизации и настройки эквалайзера, Farrow при этом не нужен, синхронизацию поддерживает дробный эквалайзер как FIFO до следующей настроечной последовательности.

Спасибо за ответ!
Если под искажениями Вы имеете в виду МСИ, то они в моем случае сильные. По сути, входной сигнал одни сплошные МСИ. Как я понял синхронизацию по такому сигналу не сделать. Приведу пример выхода передатчика и входа приемника. Еще раз отмечу, что у меня проводной канал связи и идея заключается в том, что бы по включению эквалайзер один раз настроился по известной последовательности и далее уменьшением шага µ замедляем его адаптацию и передаем данные. Канал связи считаем стабильным и он параметры в процессе не меняет. Синхронизация тоже может быть установлена один раз, разницу в тактовых частотах приемника и передатчика считаем стабильной. Шумовая обстановка сравнительно благоприятна, сигнал/шум на входе предварительно оцениваю как >30Дб.
Почти нет опыта в этом, тяжело идет. Подскажите, поподробнее.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
des00
сообщение Jul 20 2012, 13:54
Сообщение #7


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(ToR_TDA @ Jul 19 2012, 14:43) *
Приведу пример выхода передатчика и входа приемника.

посмотрел на схему, делал я модем под такую модуляцию. наелся по самое не хочу. Вам кстати еще придется решать вопросы балансировки постоянки линии и зависания скремблера, особенно если есть трансформаторы wink.gif
Цитата
по включению эквалайзер один раз настроился по известной последовательности и далее уменьшением шага µ замедляем его адаптацию и передаем данные.

уменьшением шага, при фиксированной разрядной сетке вы только ухудшите параметры, т.к. у вас начнет сказываться ошибка округления, которая в эквалайзере обожает накапливаться и приводить к мега финтам. А вот поставить обучалку в канал, это самое то и периодически подстраиваться.

Цитата(petrov @ Jul 19 2012, 16:21) *
Периодически передаёте настроечную последовательность для возвращения дробного эквалайзера в центральное положение коэффициентов, во время передачи данных на приёме символьный NCO не подстраиваете, это делает эквалайзер.

Можно пару вопросов
1. а как рассчитать обучающую последовательность которая именно вернет эквалайзер в центральное положение ? я правильно понял, именно в центральное?
2. не совсем понял почему не надо подстраивать символьный NCO, ведь именно он занимается подстройкой частоты. Я бы понял если бы не надо было подстраивать интерполятор farrow, сам так делал. Но при этом кто сформирует нужные стробы ?



--------------------
Go to the top of the page
 
+Quote Post
petrov
сообщение Jul 21 2012, 09:49
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(des00 @ Jul 20 2012, 17:54) *
Можно пару вопросов
1. а как рассчитать обучающую последовательность которая именно вернет эквалайзер в центральное положение ? я правильно понял, именно в центральное?
2. не совсем понял почему не надо подстраивать символьный NCO, ведь именно он занимается подстройкой частоты. Я бы понял если бы не надо было подстраивать интерполятор farrow, сам так делал. Но при этом кто сформирует нужные стробы ?


Последовательность обнаруживаем отдельным фильтром согласованным, а дальше дело техники включить обучающую последовательность в правильный момент времени, чтобы вырос коэффициент в центре адаптивного фильтра(канал допустим искажений не вносит). NCO не подстраивается, работает синхронно с местным кварцем, дробный эквалайзер подстраивает фазу символа, соответственно пиковый коэффициент начинает дрейфовать к краю фильтра, главное чтобы он за край не уехал пока полезные данные передаются, потом снова повторяется процедура настройки по периодической последовательности.
Go to the top of the page
 
+Quote Post
des00
сообщение Jul 21 2012, 14:54
Сообщение #9


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(petrov @ Jul 21 2012, 04:49) *
Последовательность обнаруживаем отдельным фильтром согласованным, а дальше дело техники включить обучающую последовательность в правильный момент времени, чтобы вырос коэффициент в центре адаптивного фильтра(канал допустим искажений не вносит). NCO не подстраивается, работает синхронно с местным кварцем, дробный эквалайзер подстраивает фазу символа, соответственно пиковый коэффициент начинает дрейфовать к краю фильтра, главное чтобы он за край не уехал пока полезные данные передаются, потом снова повторяется процедура настройки по периодической последовательности.

Спасибо за развернутый ответ, но позвольте уточнить :

Единственный известный мне способ заставить эквалайзер типа LMS адаптировать центральный коэффициент "сильнее" чем остальные, это поставить в его тап отчет с амплитудой больше остальных. Причем, этот отчет нельзя будет использовать для адаптации других коэффициентов (ну как минимум крайних). Поэтому получаем эффект "децимации" отчетов обучалки и снижение скорости сходимости эквалайзера (т.к. обновляться будет не каждый символ).

Метод неравного мю (когда одни коэффициенты адаптируются быстрее других), неравной утечки и т.д. плохо работает, т.к. основная информация об адаптации летит именно в отчетах на тапы.

Именно эти способы вы предлагали для центровки коэффициента или придумали что-то другое ? sm.gif)))))))

Ну и ИМХО метод замены фарроу на FSE эквалайзер работает только для целочисленного приемника (когда дробная ошибка плавная пила), для дробного приемника этот метод работать не будет (дробная ошибка частая пила). Ну либо надо делать гибрид : фиксированный ресамплер на фарроу + эквалайзер.

Цитата(ToR_TDA @ Jul 21 2012, 03:26) *
В посте №7 я привожу АЧХ с которой работаю в simulink, она учитывает трансформаторы (завал НЧ до 3кГц). В моей модели я немного схитрил, что бы пока не думать о трансформаторах. Я добавил коррекцию НЧ, прикрепил рисунки. Коэффициентом в цепи интегратора (который меньше единицы) решаю проблему. Не видел такого решения раньше, наверно так нельзя, но работает и эквалайзер сходится нормально. Если убрать, то эквалайзер не сможет справиться с НЧ неравномерностью и картинка будет значительно хуже.

В том то и дело, интересна именно вся область. У любого трансформатора коэффициент передачи на 0 частоте = 0, надеюсь ваша модель это учитывает wink.gif 2B1Q модуляция, которую вы используете не обладает эффектом балансировки постоянки, у нее на 0 частоте не 0. При использовании любого скремблера. Корректор НЧ который вы придумали надо покрутить, сдается мне что не все так просто. Надо покрутить его в матлабе, потом на своем модеме проверить %)

UPD. Кстати если не сложно, выложите модель вашего канала, интересно запустить его со своим модемом %)

UPD2. собрал простую модельку 2B1Q модуляция, скругление 50%, 4sps. Форум глючит с загрузкой файлов, выложил сюда http://disk.tom.ru/zmlkh3f использовал 2007а
Обратите внимание на качество "созвездия" референсное (без искажений) и его пляску после наличия в цепи трансформатора (в качестве него использую очень качественный ФВЧ на основе FIR с ~5000 коэффициентов).

По мотивам вашего корректора, собрал схожую схему, но вот не вижу что от нее становится что-то лучше.


--------------------
Go to the top of the page
 
+Quote Post
ToR_TDA
сообщение Jul 21 2012, 23:40
Сообщение #10


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

Группа: Свой
Сообщений: 133
Регистрация: 7-08-10
Из: Мурманск
Пользователь №: 58 796



Цитата(des00 @ Jul 21 2012, 18:54) *
В том то и дело, интересна именно вся область. У любого трансформатора коэффициент передачи на 0 частоте = 0, надеюсь ваша модель это учитывает wink.gif 2B1Q модуляция, которую вы используете не обладает эффектом балансировки постоянки, у нее на 0 частоте не 0. При использовании любого скремблера. Корректор НЧ который вы придумали надо покрутить, сдается мне что не все так просто. Надо покрутить его в матлабе, потом на своем модеме проверить %)

UPD. Кстати если не сложно, выложите модель вашего канала, интересно запустить его со своим модемом %)

UPD2. собрал простую модельку 2B1Q модуляция, скругление 50%, 4sps. Форум глючит с загрузкой файлов, выложил сюда http://disk.tom.ru/zmlkh3f использовал 2007а
Обратите внимание на качество "созвездия" референсное (без искажений) и его пляску после наличия в цепи трансформатора (в качестве него использую очень качественный ФВЧ на основе FIR с ~5000 коэффициентов).

По мотивам вашего корректора, собрал схожую схему, но вот не вижу что от нее становится что-то лучше.

Расскажу как я получил модель. У меня есть в железе собранный имитатор предполагаемой линии связи. Сопротивления, емкости, индуктивности. И трансформаторы, характеристики которых я с некоторой точностью знаю. Это все дело я собрал в симулинке, заменив трансформаторы конденсатором (больно хитрые в симулинке трансформаторы), естественно все подобрал по АЧХ и ФЧХ в переделах интересующей полосы. На частоте 0 коэф. передачи 0 собственно из-за разделительного конденсатора. Затем преобразовал схему в передаточную функцию.
Характеристика трансформатора это наклон +20Дб на декаду до некоторой частоты (3кГц). Не думаю что верно рассматривать его как ФВЧ из FIR фильтра, у которого наклон на интересующем нас участке очень большой.
Коррекцией НЧ я ни в коей мере не пытаюсь сделать коэффициент 1 на частоте 0 (это и невозможно хотя бы потому что трансформатора два и суммарный наклон их на самых низких частотах +40Дб на дек.), а выправляю искажения на частотах 1-5кГц, частоты ниже меня не волнуют. Не будет в символьном потоке таких низкочастотных комбинаций у меня.
Я выкладываю модель с которой сейчас работаю. MATLAB R2011b, надеюсь, у Вас откроется.
А если не откроется, то коэффициенты непрерывной передаточной функции канала связи ниже. Степени страшные но ЧХ верная.
Код
Numerator:
[2.94403109419322e+48 3.75363964514541e+50 9.20009710057251e+50]
Denominator:
[1 30281918.0413941 274607705914320 9.04088186370070e+20 1.42223444146747e+27 1.22332081927049e+33 6.03277915826580e+38 1.38688752497084e+44 6.80264563064239e+48 1.00248480070856e+53 1.26206425614540e+55]


UPD:
В общем, после Ваших слов я крепко задумался и решил составить полную модель своей линии с трансформаторами. В итоге АЧХ и ФЧХ ниже. И коэффициенты:
Код
Numerator coefficients:
[4.86676532428514e+41 -3.14267106681878e+31 3.99746005709417e+33]
Denominator coefficients:
[1 31044040.8624094 141672400106005 2.63266667181974e+20 2.53134409117157e+26 1.38672737731181e+32 3.73432529898103e+37 2.78370733494247e+42 2.05237380726397e+46 2.13104119289990e+49]

В ней все как должно быть. Два трансформатора давят НЧ по 40Дб на декаду, а верхние частоты остались прежними.
И Вы были правы, глаз диаграмма стала плавать вверх-вниз, как и на вашей модели. Это при FSE. Работает конечно, но помехоустойчивость сильно снижается.
Попробовал эту же передаточную с FSE-DFE эквалайзером, все более менее, правда коэффициентов в обратную связь нужно много.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  PAM_LMS_22_07_12.rar ( 17.45 килобайт ) Кол-во скачиваний: 32
 
Go to the top of the page
 
+Quote Post
des00
сообщение Aug 2 2012, 03:55
Сообщение #11


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(ToR_TDA @ Jul 21 2012, 18:40) *
Я выкладываю модель с которой сейчас работаю. MATLAB R2011b, надеюсь, у Вас откроется.

спасибо, обязательно посмотрю как 2011 найду %)
Цитата
И Вы были правы, глаз диаграмма стала плавать вверх-вниз, как и на вашей модели. Это при FSE. Работает конечно, но помехоустойчивость сильно снижается.
Попробовал эту же передаточную с FSE-DFE эквалайзером, все более менее, правда коэффициентов в обратную связь нужно много.

Вот именно на это я и натолкнулся в железе, причем на случайном спектре эффект не так заметен, как на спектре, порожденном потоками данных. Долго искал в чем проблема, пока не решил проверить как влияет именно постоянка. Причем для 2B1Q не работают методы подавления постоянки типа 8b/10b и т.д. С DFE, тоже надо быть внимательным, на высоких скоростях большое кол-во коэффициентов обратной ветви может привести к слишком большим расходам по ресурсу и снижению тактовой (но это как я понял не ваш случай). Кроме того, обратное звено может банально загудеть.

У меня были высокие скорости и крайне мало ресурса и я выкрутился уходом на более сложное созвездие со специальным маппером, этим подавил постоянку в спектре на ~50дБ (спектр получился как у AMI кода) и добавил FEC, для компенсации потерь в чутье.

Другим вариантом был уход на ПЧ, но это приведет к расширению спектра в 2 раза, что для кабеля может и не прокатить и необходимости синхронизации по несушке.

Еще как вариант, взять кодировние MLT3 из обычного 100 мегабитного эзернета. По докам обещают "сжатие" спектра в 2 раза, хотя на самом деле он не сжимается, а энергетически перераспределяется (судя по модели в матлабе) что позволяет не морочить голову по подавлению ВЧ частот. Но там есть свои особенности применения.

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


--------------------
Go to the top of the page
 
+Quote Post
petrov
сообщение Aug 2 2012, 11:45
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(des00 @ Aug 2 2012, 07:55) *
Другим вариантом был уход на ПЧ, но это приведет к расширению спектра в 2 раза...


Так половину данных можно передавать в квадратурной компоненте, никакого расширения не нужно.

Цитата(ToR_TDA @ Aug 2 2012, 14:09) *
На ПЧ уйти не могу, затухание там будет огромное.


Надо сдвинуть как раз в то место где затухание не огромное.


Кроме того есть модуляции без постоянной составляющей, например CAP, передача модифицированными дуобинарными импульсами.



Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- ToR_TDA   Simulink, блок LMS DFE   May 31 2012, 13:14
- - petrov   ИМХО проще и полезнее вручную сделать и примеры со...   May 31 2012, 15:39
|- - ToR_TDA   Цитата(petrov @ May 31 2012, 19:39) ИМХО ...   May 31 2012, 17:11
|- - petrov   Да какая там математика, буфера дают вектор отводо...   May 31 2012, 17:24
|- - petrov   Периодически передаёте настроечную последовательно...   Jul 19 2012, 21:21
|- - ToR_TDA   Цитата(des00 @ Jul 20 2012, 17:54) посмот...   Jul 20 2012, 17:39
||- - des00   Цитата(ToR_TDA @ Jul 20 2012, 11:39) Тран...   Jul 21 2012, 07:35
||- - ToR_TDA   Цитата(des00 @ Jul 21 2012, 11:35) посмот...   Jul 21 2012, 08:26
|- - petrov   Цитата(des00 @ Jul 21 2012, 18:54) Именно...   Jul 21 2012, 18:05
|- - ToR_TDA   Цитата(des00 @ Aug 2 2012, 07:55) Вот име...   Aug 2 2012, 10:09
||- - des00   Цитата(ToR_TDA @ Aug 2 2012, 05:09) А как...   Aug 2 2012, 10:30
||- - ToR_TDA   Цитата(des00 @ Aug 2 2012, 14:30) самому ...   Aug 3 2012, 09:40
|||- - des00   Цитата(ToR_TDA @ Aug 3 2012, 04:40) Вот т...   Aug 3 2012, 10:49
||- - ToR_TDA   Цитата(des00 @ Aug 2 2012, 14:30) Не то ч...   Aug 6 2012, 09:10
||- - des00   Цитата(ToR_TDA @ Aug 6 2012, 03:10) Как я...   Aug 6 2012, 15:00
|- - des00   Цитата(petrov @ Aug 2 2012, 05:45) Так по...   Aug 2 2012, 12:08
- - ToR_TDA   Пытаюсь в ходе моделирования передать через провод...   Jun 9 2012, 20:42
- - ToR_TDA   Ну и еще раз похожую на мою идею увидел. US6415003...   Aug 6 2012, 15:46
- - ToR_TDA   Нашел доку, в ней целых 3 варианта baseline wander...   Aug 16 2012, 10:16
|- - des00   Цитата(ToR_TDA @ Aug 16 2012, 05:16) Наше...   Aug 16 2012, 13:59
- - ToR_TDA   При реализации FSE на ПЛИС появилась проблема, пок...   Oct 30 2012, 10:28
|- - petrov   Цитата(ToR_TDA @ Oct 30 2012, 14:28) При ...   Oct 30 2012, 10:56
||- - ToR_TDA   Цитата(petrov @ Oct 30 2012, 13:56) Как у...   Oct 30 2012, 11:17
||- - petrov   Цитата(ToR_TDA @ Oct 30 2012, 15:17) К со...   Oct 30 2012, 11:48
||- - ToR_TDA   Цитата(petrov @ Oct 30 2012, 14:48) Приём...   Oct 30 2012, 12:03
||- - petrov   Цитата(ToR_TDA @ Oct 30 2012, 16:03) Жела...   Oct 30 2012, 12:11
||- - ToR_TDA   Цитата(petrov @ Oct 30 2012, 15:11) А вы ...   Oct 30 2012, 12:14
|- - Serg76   Цитата(ToR_TDA @ Oct 30 2012, 14:28) При ...   Oct 30 2012, 11:03
- - ToR_TDA   Да, проблема в реализации, каждый последний коэф. ...   Oct 30 2012, 13:55


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 22:00
Рейтинг@Mail.ru


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