Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Simulink, блок LMS DFE
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Вопросы системного уровня проектирования
ToR_TDA
Здравствуйте форумчане!
Ни как не получается разобраться с работой блока 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.
Прошу помощи.
petrov
ИМХО проще и полезнее вручную сделать и примеры соответствующие на форуме выкладывались.
ToR_TDA
Цитата(petrov @ May 31 2012, 19:39) *
ИМХО проще и полезнее вручную сделать и примеры соответствующие на форуме выкладывались.

Да это верно. Ваши модели я видел и разбирал. Наверно я не силен в математике, что не могу сам реализовать вычисления в эквалайзере в матричной форме. А в прямой форме модель работает очень медленно. На рисунке часть модели, где происходит свертка и обновление коэффициентов, несколько таких блоков сильно загружают ЦП.
В целом, я понимаю, что происходит в эквалайзере это несложно понять из Прокиса и Documentation от MathWorks и мне проще использовать готовые блоки.

petrov
Да какая там математика, буфера дают вектор отводов с линии задержки, один экземпляр операции размножается на все элементы вектора, в ранних версиях симулинка блоки эквалайзеров так и были сделаны.
ToR_TDA
Методом научного тыка я решил проблему. На 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.
И у меня еще вопрос: какой оптимальный эквалайзер и алгоритм адаптации если главная проблема это МСИ, то есть скорость сходимости не важна и шумы невелики?
petrov
Ваш эквалайзер подойдёт, проблема заставить работать надёжно приёмник в целом.
ToR_TDA
Пытаюсь в ходе моделирования передать через проводную линию (АЧХ на рисунке) 2Мбит/с информации используя модуляцию PAM-16 и LMS DFE эквалайзер.
Не учитываю расстройку по частотам приемника и передатчика и шум.
В общем, мне это не удается. Эквалайзер работает, затем в какой-то момент адаптация коэффициентов практически останавливается (по коэффициентам видно, что все шло в правильном направлении), а глаз диаграмма остается закрытой.
Я так понимаю, что невозможно передать по этому каналу 2Мбита при вышеперечисленных условиях (PAM-16).
Я прав?
ToR_TDA
Цитата(petrov @ Jun 1 2012, 12:15) *
Ваш эквалайзер подойдёт, проблема заставить работать надёжно приёмник в целом.

Это стало большой проблемой для меня. Не могу понять одновременную работу эквалайзера и символьной синхронизации.
В моей схеме присутствует цифровая символьная синхронизация (Farrow, Gardner TED, Loop filter, NCO), и FFE LMS эквалайзер.
Первый глупый вопрос о том, где должен стоять FFE? После Farrow и с FFE сигнал идет на TED?
Далее я пытаюсь настроить эквалайзер по известной последовательности. То есть, по сути, у меня два модулятора на стороне передачи и на стороне приема на которые поступают одинаковые данные. Но в силу естественных причин частота работы модулятора на стороне передачи может отличаться от этой же частоты на стороне приема.
Таким образом, через какое-то время после старта эти одинаковые последовательности разбегаются и адаптация становится невозможна.
Эту проблему должна решить символьная синхронизация, но так-как эквалайзер не может быть настроен то и на TED ничего путного не поступает.
Замкнутый круг какой-то.
Помогите разобраться.
petrov
Совместная работа петель эквалайзера и символьной синхронизации неустойчива. Если искажения не сильные и символьная синхронизация без сбоев работает по такому сигналу, то можно поставить символьную синхронизацию до эквалайзера. Иначе можно периодически передавать настроечную последовательность для синхронизации и настройки эквалайзера, Farrow при этом не нужен, синхронизацию поддерживает дробный эквалайзер как FIFO до следующей настроечной последовательности.
ToR_TDA
Цитата(petrov @ Jul 17 2012, 14:29) *
Совместная работа петель эквалайзера и символьной синхронизации неустойчива. Если искажения не сильные и символьная синхронизация без сбоев работает по такому сигналу, то можно поставить символьную синхронизацию до эквалайзера. Иначе можно периодически передавать настроечную последовательность для синхронизации и настройки эквалайзера, Farrow при этом не нужен, синхронизацию поддерживает дробный эквалайзер как FIFO до следующей настроечной последовательности.

Спасибо за ответ!
Если под искажениями Вы имеете в виду МСИ, то они в моем случае сильные. По сути, входной сигнал одни сплошные МСИ. Как я понял синхронизацию по такому сигналу не сделать. Приведу пример выхода передатчика и входа приемника. Еще раз отмечу, что у меня проводной канал связи и идея заключается в том, что бы по включению эквалайзер один раз настроился по известной последовательности и далее уменьшением шага µ замедляем его адаптацию и передаем данные. Канал связи считаем стабильным и он параметры в процессе не меняет. Синхронизация тоже может быть установлена один раз, разницу в тактовых частотах приемника и передатчика считаем стабильной. Шумовая обстановка сравнительно благоприятна, сигнал/шум на входе предварительно оцениваю как >30Дб.
Почти нет опыта в этом, тяжело идет. Подскажите, поподробнее.
petrov
Периодически передаёте настроечную последовательность для возвращения дробного эквалайзера в центральное положение коэффициентов, во время передачи данных на приёме символьный NCO не подстраиваете, это делает эквалайзер.
des00
Цитата(ToR_TDA @ Jul 19 2012, 14:43) *
Приведу пример выхода передатчика и входа приемника.

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

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

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

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

ToR_TDA
Цитата(des00 @ Jul 20 2012, 17:54) *
посмотрел на схему, делал я модем под такую модуляцию. наелся по самое не хочу. Вам кстати еще придется решать вопросы балансировки постоянки линии и зависания скремблера, особенно если есть трансформаторы wink.gif

Трансформаторы есть. Догадываюсь, что все не так просто. В рекомендациях к HDSL и SHDSL вопросы скремблеров рассматриваются. Я пока не касался этого.
Цитата(des00 @ Jul 20 2012, 17:54) *
уменьшением шага, при фиксированной разрядной сетке вы только ухудшите параметры, т.к. у вас начнет сказываться ошибка округления, которая в эквалайзере обожает накапливаться и приводить к мега финтам. А вот поставить обучалку в канал, это самое то и периодически подстраиваться.

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

Если я правильно понял, что такое центральное положение, то привожу вид ИХ эквалайзера после адаптации и соответствующую глаз-диаграмму. При этом положении в моем понимании эквалайзер наилучшим образом исполняет роль согласованного фильтра а характеристики канал+эквалайзер дают приближение к ЧХ RC фильтра.
Присоединяюсь к вопросам, в попытке понять, как удерживать эквалайзер в этом состоянии.
des00
Цитата(ToR_TDA @ Jul 20 2012, 11:39) *
Трансформаторы есть. Догадываюсь, что все не так просто. В рекомендациях к HDSL и SHDSL вопросы скремблеров рассматриваются. Я пока не касался этого.

посмотрел на вашу АЧХ, предлагаю вам добавить туда модель трансформатора (блока который отрежет все что ниже 3кГц) и посмотреть что будет %)
Цитата
Да, это надо учитывать. Я просто подумал о LMS с переменным шагом, только не менять шаг непрерывно как функцию от ошибки, а делать это шагами, по времени. Мне скорость сходимости не играет роли, а вот остаточная МСИ играет.

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

Цитата
Если я правильно понял, что такое центральное положение, то привожу вид ИХ эквалайзера после адаптации и соответствующую глаз-диаграмму. При этом положении в моем понимании эквалайзер наилучшим образом исполняет роль согласованного фильтра а характеристики канал+эквалайзер дают приближение к ЧХ RC фильтра.

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

Цитата
Присоединяюсь к вопросам, в попытке понять, как удерживать эквалайзер в этом состоянии.

самый надежный вариант выключить его %)
ToR_TDA
Цитата(des00 @ Jul 21 2012, 11:35) *
посмотрел на вашу АЧХ, предлагаю вам добавить туда модель трансформатора (блока который отрежет все что ниже 3кГц) и посмотреть что будет %)

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

Спасибо, далее я собираюсь перевести модель в целочисленную математику и еще раз там все отладить. Насколько я знаю, шум на входе полезен для компенсации ошибок округления.
Цитата(des00 @ Jul 21 2012, 11:35) *
При совместной работе синхронизации и эквалайзера есть эффект утекания центрального коэффициента в одну из сторон. В результате этого эквалайзер не может адекватно описывать АЧХ коррекции. Вот потому и возник вопрос, как рассчитать обучалку, что бы она возвращала центральный коэффициент обратно в середину эквалайзера

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

Я бы так и сделал если бы он успевал настроится, но АЧХ тяжелая, настраивается медленно.

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


Последовательность обнаруживаем отдельным фильтром согласованным, а дальше дело техники включить обучающую последовательность в правильный момент времени, чтобы вырос коэффициент в центре адаптивного фильтра(канал допустим искажений не вносит). NCO не подстраивается, работает синхронно с местным кварцем, дробный эквалайзер подстраивает фазу символа, соответственно пиковый коэффициент начинает дрейфовать к краю фильтра, главное чтобы он за край не уехал пока полезные данные передаются, потом снова повторяется процедура настройки по периодической последовательности.
des00
Цитата(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 коэффициентов).

По мотивам вашего корректора, собрал схожую схему, но вот не вижу что от нее становится что-то лучше.
petrov
Цитата(des00 @ Jul 21 2012, 18:54) *
Именно эти способы вы предлагали для центровки коэффициента или придумали что-то другое ? sm.gif)))))))


Цитата(des00 @ Jul 21 2012, 18:54) *
Ну и ИМХО метод замены фарроу на FSE эквалайзер


Вы всё правильно поняли.

Цитата(des00 @ Jul 21 2012, 18:54) *
работает только для целочисленного приемника (когда дробная ошибка плавная пила), для дробного приемника этот метод работать не будет (дробная ошибка частая пила). Ну либо надо делать гибрид : фиксированный ресамплер на фарроу + эквалайзер.


Разумеется, но это уже детали, важно что эквалайзер работает и символьная фаза подстраивается и нету никакой неустойчивой совместной работы петель.
ToR_TDA
Цитата(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 эквалайзером, все более менее, правда коэффициентов в обратную связь нужно много.
des00
Цитата(ToR_TDA @ Jul 21 2012, 18:40) *
Я выкладываю модель с которой сейчас работаю. MATLAB R2011b, надеюсь, у Вас откроется.

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

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

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

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

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

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

А как решается эта проблема в модемах SHDSL (для трансформаторных линий)? Ведь там PAM-16 и проблема баланса DC должна стоять еще острее. И решетчатое кодирование ситуацию не меняет.
По поводу ресурсов, у меня вроде как все хорошо. Связка такая: LTC2202 + Cyclone 3, при модуляции PAM-4, скорости 512кб/с и 8 отсчетах на символ, входной сигнал цифруется с темпом 2,048МГц.
На моделях, как я понял, обратное звено и эквалайзер в целом начинают гудеть из-за двух факторов: много шума и большой шаг адаптации. Уменьшением шага побороть это можно, но, как мы уже говорили, надо знать меру.
Цитата(des00 @ Aug 2 2012, 07:55) *
У меня были высокие скорости и крайне мало ресурса и я выкрутился уходом на более сложное созвездие со специальным маппером, этим подавил постоянку в спектре на ~50дБ (спектр получился как у AMI кода) и добавил FEC, для компенсации потерь в чутье.

А можете немного рассказать про это созвездие, если это не коммерческая тайна?
Цитата(des00 @ Aug 2 2012, 07:55) *
для компенсации потерь в чутье.

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

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

Да, присматривался к этому кодированию. Используется цикличность, начало которой как-то надо ловить, как я понял. И символьный интервал уменьшится в 2 раза по сравнению с 2b1q при той же скорости. Но постоянки нет и это здорово.

des00
Цитата(ToR_TDA @ Aug 2 2012, 05:09) *
А как решается эта проблема в модемах SHDSL (для трансформаторных линий)? Ведь там PAM-16 и проблема баланса DC должна стоять еще острее. И решетчатое кодирование ситуацию не меняет.
По поводу ресурсов, у меня вроде как все хорошо. Связка такая: LTC2202 + Cyclone 3, при модуляции PAM-4, скорости 512кб/с и 8 отсчетах на символ, входной сигнал цифруется с темпом 2,048МГц.
На моделях, как я понял, обратное звено и эквалайзер в целом начинают гудеть из-за двух факторов: много шума и большой шаг адаптации. Уменьшением шага побороть это можно, но, как мы уже говорили, надо знать меру.

самому интересно как они решают данную проблему, в свое время рыл, ничего не нашел. Вы DFE звено мало гоняли, особенно интересно снять входной сигнал, и видеть сигнал на выходе, который разгоняется обратной связью %)
Цитата
А можете немного рассказать про это созвездие, если это не коммерческая тайна?

Не то что бы коммерческая, но нигде ничего похожего не видел. я ушел на PAM5, с 5 ю точками, модель в приложении. Рекомендую поиграться с уровнями в блоке saturation (он там один), увидите интересные картинки. Систему родил в диком бреду, так что сильно не смейтесь %)

Цитата
Не понял последее слово.

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

Цитата
Да, присматривался к этому кодированию. Используется цикличность, начало которой как-то надо ловить, как я понял. И символьный интервал уменьшится в 2 раза по сравнению с 2b1q при той же скорости. Но постоянки нет и это здорово.

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

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


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

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


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


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



des00
Цитата(petrov @ Aug 2 2012, 05:45) *
Так половину данных можно передавать в квадратурной компоненте, никакого расширения не нужно.

как бы да, но если сравнить модуляцию на нуле с модуляцией на ПЧ, то ширина спектров будет Fs/2*(1+a) и Fs*(1+a) соответственно %)

чорт, это же из другой области. что-то я попутал немного. %(

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

Кстати более опасно не затухание, а перекос спектра. Т.к. скорее всего восстанавливать тактовую будете на Fs/2 частях спектра, там получается сильный перекос, который может не дать нужного качества.

кста, на КАМ16 и скруглении 50% полоса будет 512/4/2*1.5 = 96кГц. поставите спектр на 50КГц и будет вам счастье, как раз впишетесь в оптимальный диапазон. Правда приемник придется делать квадратурный, со всеми вытекающими.
Вот что значит отпуск, разучился приемники считать %( 192 КГц будет полоса, у вас нормально не ляжет, разве что скругление сделать 0.2
ToR_TDA
Цитата(des00 @ Aug 2 2012, 14:30) *
самому интересно как они решают данную проблему, в свое время рыл, ничего не нашел.

Вот такой встретил патент, в котором есть блок DC offset correction. FIG. 2B - похожа на мою идею.
des00
Цитата(ToR_TDA @ Aug 3 2012, 04:40) *
Вот такой встретил патент, в котором есть блок DC offset correction. FIG. 2B - похожа на мою идею.

первая страница
Цитата
"b) a DC offset correction circuit for reducing a DC component in an incoming analog signal"


Кстати судя по алгоритму работы, такой корректор у меня в модеме стоит (в свое время набредил, даже работает). Но он нужен что бы давить постоянку, связанную с АЦП, а не восстанавливать постоянку связанную со спектром. И у него есть недостаток, в случае обрыва кабеля, при не аккуратном расчете тракта, можно получить не рабочий модем когда кабель появится %)
ToR_TDA
Цитата(des00 @ Aug 2 2012, 14:30) *
Не то что бы коммерческая, но нигде ничего похожего не видел. я ушел на PAM5, с 5 ю точками, модель в приложении. Рекомендую поиграться с уровнями в блоке saturation (он там один), увидите интересные картинки. Систему родил в диком бреду, так что сильно не смейтесь %)

Как я понял Вы благодаря избыточному кол-ву уровней имеете возможность балансировать код. Посмотрел модель. Да, НЧ давится неплохо. Буду разбираться.

Продолжаю копать на счет решения этой проблемы в HDSL. Последняя страница по ссылке.

Они называют это baseline wander, и предлагают длинный DFE в качестве решения.

UPD: Baseline Wander Correction For Communication Receivers - Patent 7738567
des00
Цитата(ToR_TDA @ Aug 6 2012, 03:10) *
Как я понял Вы благодаря избыточному кол-ву уровней имеете возможность балансировать код. Посмотрел модель. Да, НЧ давится неплохо. Буду разбираться.

Именно так, при этом, за счет специального маппера, на приеме не требуется никакого декодера и кодирование по грею получается автоматически. Единственное чего боится такая схема, это длительного залипания во внутренних точках. Но это уже решается другими методами %)
Цитата
Продолжаю копать на счет решения этой проблемы в HDSL. Последняя страница по.....

Спасибо, посмотрю. У меня ресурса не было даже на короткий DFE sm.gif
ToR_TDA
Ну и еще раз похожую на мою идею увидел. US6415003
FIGURE 1B
Выгодное отличие от моей в том, что работает на символьной скорости и информацию берет с устройства принятия решения (не увеличивает шум).
Вместо модели трансформатора, можно подставить его обратную модель (интегратор с коэффициентом + сам сигнал) и поменять знак сумматора.
ToR_TDA
Нашел доку, в ней целых 3 варианта baseline wander correction.
des00
Цитата(ToR_TDA @ Aug 16 2012, 05:16) *
Нашел доку, в ней целых 3 варианта baseline wander correction.


Хмм, один вариант вижу не плохой. Вот только сдается мне что будет бороться смещение постоянки АЦП с восстановлением постоянки спектра, т.к. они имеют разные знаки.
ToR_TDA
При реализации FSE на ПЛИС появилась проблема, показанная на рисунке. На нем изображены коэффициенты во время адаптации (после некоторого времени), прочитанные из памяти ПЛИС и построенные в Матлаб. Видно, что 15 и 63 коэффициенты "вылетают" из общей картины. Я бы подумал, что это проблемы реализации на ПЛИС, но что-то не вяжется. Причем всегда именно с 15 коэффициентом проблемы.
Может, есть какое-то объяснение этому? Заранее благодарен.
petrov
Цитата(ToR_TDA @ Oct 30 2012, 14:28) *
При реализации FSE на ПЛИС появилась проблема


Как у вас символьная синхронизация сделана?
Serg76
Цитата(ToR_TDA @ Oct 30 2012, 14:28) *
При реализации FSE на ПЛИС появилась проблема, показанная на рисунке. На нем изображены коэффициенты во время адаптации (после некоторого времени), прочитанные из памяти ПЛИС и построенные в Матлаб. Видно, что 15 и 63 коэффициенты "вылетают" из общей картины. Я бы подумал, что это проблемы реализации на ПЛИС, но что-то не вяжется. Причем всегда именно с 15 коэффициентом проблемы.
Может, есть какое-то объяснение этому? Заранее благодарен.

наверное, все-таки, ошибка в реализации алгоритма. там вроде и "ломаться" нечему, а что за сигнал?
ToR_TDA
Цитата(petrov @ Oct 30 2012, 13:56) *
Как у вас символьная синхронизация сделана?

К сожалению пока, никак. То есть я пока только пытаюсь обучить эквалайзер на канал. Для этого передатчик по команде начнает генерировать известную последовательность, длиной около 1мс, далее она повторяется. Приемник ловит ее начало по своеобразной преамбуле, и начинает формировать желаемы сигнал (desired) аналогичный переданному передатчиком. Я получаю джиттер в 1 такт АЦП между выходом передатчика и желаемым сигналом в приемнике, но это не обясняет мне резултат.

Цитата(Serg76 @ Oct 30 2012, 14:03) *
наверное, все-таки, ошибка в реализации алгоритма. там вроде и "ломаться" нечему, а что за сигнал?

Весьма вероятно. Это мой второй проект на ПЛИС после FIR sm.gif
Система предназначается для PAM модуляции. А обучаю я по сигналу аналогичному коду AMI
У меня в ПЛИС четыре одинаковых блока FIR (по 16 коэффициентов) и четыре блока LMS, а ломается только 15-й коэффициент.
petrov
Цитата(ToR_TDA @ Oct 30 2012, 15:17) *
К сожалению пока, никак. То есть я пока только пытаюсь обучить эквалайзер на канал. Для этого передатчик по команде начнает генерировать известную последовательность, длиной около 1мс, далее она повторяется. Приемник ловит ее начало по своеобразной преамбуле, и начинает формировать желаемы сигнал (desired) аналогичный переданному передатчиком. Я получаю джиттер в 1 такт АЦП между выходом передатчика и желаемым сигналом в приемнике, но это не обясняет мне резултат.


Весьма вероятно. Это мой второй проект на ПЛИС после FIR sm.gif
Система предназначается для PAM модуляции. А обучаю я по сигналу аналогичному коду AMI
У меня в ПЛИС четыре одинаковых блока FIR (по 16 коэффициентов) и четыре блока LMS, а ломается только 15-й коэффициент.


Приёмник и передатчик от разных генераторов тактируются? Как вы определили что 15 коэффициент сломан? У вас нет символьной синхронизации, вот FSE эквалайзер и пытается её подстроить, к краю фильтра дрейфует исходный центральный коэффициент.
ToR_TDA
Цитата(petrov @ Oct 30 2012, 14:48) *
Приёмник и передатчик от разных генераторов тактируются? Как вы определили что 15 коэффициент сломан? У вас нет символьной синхронизации, вот FSE эквалайзер и пытается её подстроить, к краю фильтра дрейфует исходный центральный коэффициент.

Да, от разных. Я пробовал читать память ПЛИС непрерывно и смотрел на значения коэффициентов, 15-й (если считать с 0-го) всегда ведет себе как показано на рисунке. Символьной синхронизации нет, но есть синхронизация по преамбуле каждую мс. Желаемый сигнал начинает формироваться, когда произойдет событие преамбулы, далее ~850мкс передатчик и приемник формируют одинаковые сигналы для обучения, затем ~150мкс идет 0 и все повторяется. Благодаря этому коэффициенты не уплывают далеко (могут дергаться на 1 такт АЦП), хотя я понимаю, что это не оптимально.
petrov
Цитата(ToR_TDA @ Oct 30 2012, 16:03) *
Желаемый сигнал начинает формироваться, когда произойдет событие преамбулы


А вы подвигайте желаемый сигнал по фазе относительно события преамбулы, буде у вас пик сдвигаться с 15-го коэффициента?
ToR_TDA
Цитата(petrov @ Oct 30 2012, 15:11) *
А вы подвигайте желаемый сигнал по фазе относительно события преамбулы, буде у вас пик сдвигаться с 15-го коэффициента?

Это Идея! Спасибо, попробую.
ToR_TDA
Да, проблема в реализации, каждый последний коэф. в блоках по 16 адаптируется неверно. Со временем это развалит фильтр. Но пока этого не произошло правильные коэффициенты борются с ошибкой. И на выходе фильтра я долгое время вижу красивый сигнал. Вот это-то меня и подвело sm.gif
Спасибо!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.