Перейти к содержанию
    

структура модема при 8psk

1)в разрабатываемом модеме использую Гарднер по тактовой, tanlock по несущей и TSE RLS DFE эквалайзер, + предварительную частотную и фазовую корректировки по преамбуле.

 

Совместная работа петель тактовой и эквалайзера неустойчива.

 

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

 

Ну да.

 

2)кто-нибудь может сказать что либо доброе или плохое про алгоритм Калмана по сравнению с RLS и LMS?

 

RLS - частный случай Калмана.

 

3) я понимаю, что все очень относительно, но какой длинны обучающие последовательности рекомендуется использовать?

 

Такую чтобы давала необходимое качество оценки.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1)в разрабатываемом модеме использую Гарднер по тактовой, tanlock по несущей и TSE RLS DFE эквалайзер, + предварительную частотную и фазовую корректировки по преамбуле. вопрос в обучении эквалайзера. правильно ли я понимаю, обучалку нужно запускать в тот момент, когда первый символ принимаемой обучающий последовательности при свертке с весовыми коэффициентами, попадает на центральный коэффициент, изначально равный единице? получается задержка, на половину длины фильтра. и только начиная с этого момента стоит начинать корректировку весовых коэффициентов?

 

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

 

3) я понимаю, что все очень относительно, но какой длинны обучающие последовательности рекомендуется использовать?

 

мне кажется, чаще используют адаптацию по решению, чем известные заранее обучающие последовательности. В любом случае канал медленно меняется, а при многолучевости он еще и может меняться достаточно быстро

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

мне кажется, чаще используют адаптацию по решению, чем известные обучающие последовательности. В любом случае канал медленно меняется, а при многолучевости он еще и может меняться достаточно быстро

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

 

Совместная работа петель тактовой и эквалайзера неустойчива.

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

 

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

или наоборот не должна взаимодействовать, а должна быть независимой от эквалайзера?

 

и вот еще вопросик. для имитации канала использую функцию matlab rayleighchan. в различных версиях matlab 2008 и 2010, 2012 результаты отличаются. если в 2008 версии искажения при многочисленном вызове функции rayleighchan достаточно стабильные и не сильно отличающие, то в последующих версиях matlab функция дает весьма отличающие друг от друга результаты, менее стабильные. кто-нибудь с подобным сталкивался? стоит больше доверять 2010, 2012?

Изменено пользователем Виктор39

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А чем плоха схема петля подстройки символьной частоты -> эквалайзер на удвоенной (утроенной и т д) частоте символов -> коррекция фазы несущей -> получение решения -> ошибка? Совместная работа эквалайзера и подстройки фазы несущей заключается в использовании для коррекции к-тов эквалайзера ошибки повернутой обратно на текущую коррекцию фазы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

 

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

 

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

 

или наоборот не должна взаимодействовать, а должна быть независимой от эквалайзера?

 

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

 

и вот еще вопросик. для имитации канала использую функцию matlab rayleighchan. в различных версиях matlab 2008 и 2010, 2012 результаты отличаются. если в 2008 версии искажения при многочисленном вызове функции rayleighchan достаточно стабильные и не сильно отличающие, то в последующих версиях matlab функция дает весьма отличающие друг от друга результаты, менее стабильные. кто-нибудь с подобным сталкивался? стоит больше доверять 2010, 2012?

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Когда то делал модем с аналогичными параметрами. Чтобы не связываться с многофазной обработкой пришел к выводу, что нужно сделать 9 углов, а не 8. То есть не 8psk, а 9opsk. Угол на символ получается не 45 градусов, а 40. Каждый следующий символ кодируется скачком фазы, 9-ая фаза нужна чтобы скачок был каждый такт передачи символа. Такая система устойчива к дрейфу частоты несущей при условии, что скачок превышает дрейф.

 

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

 

Полностью согласен с handmade, только еще не в матлабе, а в железе. Не верю ничему, кроме осциллографа и анализатора спектра.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Полностью согласен с handmade, только еще не в матлабе, а в железе. Не верю ничему, кроме осциллографа и анализатора спектра.

 

Ну тогда для Вас и 11psk самое то B)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не получится, 360 на 11 не делится.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не получится, 360 на 11 не делится.

 

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

обнаружить, даже если не гарантировано изменение фазы на каждом символе

 

Ну и радости, что делится нацело... Это важно для кабаллиста, а так - нет

А в радианах вообще никогда не разделится нацело ))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Спасибо, за этот ответ. Разрабатываемый 8PSK приемник должен иметь возможность работать с различными типами передачи данных, и с различными типами сигнала. Я понимаю, что ничего универсального не существует, поэтому и спрашиваю.

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

Перед каждым пакетом данных передается преамбула, по которой я буду ловить начало сигнала, определять начальную частотную и начальную фазовую расстройку, а также обучать эквалайзер. Длительности пакета, в зависимости от типа сигнала, очень отличаются, и могут иметь от 1.5 тысячи символов, до 22 тысяч. При передаче длинных пакетов, применяется тип сигнала, при котором данные в пакете делятся на кадры по 48 символов, из которых 32 - неизвестные данные, 16 - известные данные. Скорость передачи данных 2400 сим/сек. Вот собственно вопросы:

1)в случае самых длинных пакетов, если использовать предложенную вами схему без символьной синхронизации, как вы думаете, если сбрасывать эквалайзер в исходное состояние и обучать его только по преамбуле каждого нового пакета, за это время (максимально около 10 секунд), значащие коэффициенты за край не убегут? т.е. имеет ли смысл применять эту схему?

 

2)и еще, я думаю максимально использовать возможности стандарта, и поэтому в длинных пакетах, в которых в каждом кадре присутствует 16 известных символов, по этим известным символам дополнительно подстраивать(обучать) эквалайзер, а на неизвестных данных, корректировать коэффициенты по решению. это нормально?

 

3)И еще, я только работал с TSE эквалайзером, в исходном состояние которого все коэффициенты равнялись нулю, кроме центральной единицы. а вот в случае использования данного эквалайзера(кажись он называется FSE), что является его исходным состоянием?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1)в случае самых длинных пакетов, если использовать предложенную вами схему без символьной синхронизации, как вы думаете, если сбрасывать эквалайзер в исходное состояние и обучать его только по преамбуле каждого нового пакета, за это время (максимально около 10 секунд), значащие коэффициенты за край не убегут? т.е. имеет ли смысл применять эту схему?

 

Посчитайте по аналогии с FIFO, записываете с одним клоком, считываете с другим, когда оно опустошится или переполнится?

 

2)и еще, я думаю максимально использовать возможности стандарта, и поэтому в длинных пакетах, в которых в каждом кадре присутствует 16 известных символов, по этим известным символам дополнительно подстраивать(обучать) эквалайзер, а на неизвестных данных, корректировать коэффициенты по решению. это нормально?

 

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

 

3)И еще, я только работал с TSE эквалайзером, в исходном состояние которого все коэффициенты равнялись нулю, кроме центральной единицы. а вот в случае использования данного эквалайзера(кажись он называется FSE), что является его исходным состоянием?

 

То же самое. Но не обязательно сбрасывать эквалайзер на каждой известной последовательности, можно центр масс коэффициентов передвигать в центральное положение, тогда эквалайзер не будет долго настраиваться с нуля.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо, за этот ответ. Разрабатываемый 8PSK приемник должен иметь возможность работать с различными типами передачи данных, и с различными типами сигнала. Я понимаю, что ничего универсального не существует, поэтому и спрашиваю.

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

Перед каждым пакетом данных передается преамбула, по которой я буду ловить начало сигнала, определять начальную частотную и начальную фазовую расстройку, а также обучать эквалайзер. Длительности пакета, в зависимости от типа сигнала, очень отличаются, и могут иметь от 1.5 тысячи символов, до 22 тысяч. При передаче длинных пакетов, применяется тип сигнала, при котором данные в пакете делятся на кадры по 48 символов, из которых 32 - неизвестные данные, 16 - известные данные. Скорость передачи данных 2400 сим/сек. Вот собственно вопросы: 

1)в случае самых длинных пакетов, если использовать предложенную вами схему без символьной синхронизации, как вы думаете, если сбрасывать эквалайзер в исходное состояние и обучать его только по преамбуле каждого нового пакета, за это время (максимально около 10 секунд), значащие коэффициенты за край не убегут? т.е. имеет ли смысл применять эту схему? 

 

2)и еще, я думаю максимально использовать возможности стандарта, и поэтому в длинных пакетах, в которых в каждом кадре присутствует 16 известных символов, по этим известным символам дополнительно подстраивать(обучать) эквалайзер, а на неизвестных данных, корректировать коэффициенты по решению. это нормально?

 

3)И еще, я только работал с TSE эквалайзером, в исходном состояние которого все коэффициенты равнялись нулю, кроме центральной единицы. а вот в случае использования данного эквалайзера(кажись он называется FSE), что является его исходным состоянием?

 

1. Уход тактовой фазы на N символах легко оценить как dF/Fт *N, dF ошибка free-running тактовой.

Учитывая, точность генератора хотя бы 10 ppm и то, что потерями при ошибке тактовой на 1/10 символьного периода можно пренебречь, в пакетных модемах тактовую частоту вообще не подстраивают до N несколько тысяч. Если у Вас даже стабильность генератора недостаточная на 22 тыс символов, нет смысла городить петлю фапч по тактовой, достаточно определять тактовую фазу несколько раз каким нибудь feed forward методом и подкорректировать, либо положиться на то, что уход на 1/5 символа скорректирует эквалайзер

 

2. Мне кажется у вас подстроечные последовательности слишком часто, нет в этом необходимости, ничто не происходит так быстро. С такими короткими кадрами, можно вообще не делать подстройки эквалайзера по решению. По решению вынуждены подстраиваться в непрерывных модемах, когда подстроечная последовательность ( преамбула, постамбула) больше не повторяется или повторяется очень нескоро

 

3. За 16 или 48 символов центральный отсчет никуда не уйдет и ничего не нужно переинициализировать. А когда центр тяжести уползет на пол отсчета, как предложил  petrov, его нужно обратно задвинуть, передернув фильтр эквалайзера, и просто учесть этот сдвиг, там где делается выборка

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2. Мне кажется у вас подстроечные последовательности слишком часто, нет в этом необходимости, ничто не происходит так быстро.

 

Происходит, например КВ канал может так быстро изменяться.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

обнаружить, даже если не гарантировано изменение фазы на каждом символе

 

Ну и радости, что делится нацело... Это важно для кабаллиста, а так - нет

А в радианах вообще никогда не разделится нацело ))

 

1. Это модем для дальней связи, уровень сигнала меняется на порядки и 1 дБ потерь (на 9-ый символ) не играет никакой роли.

2. Дифференциальный детектор лишь находит частоту на которой происходит смена символов, детектирование символа происходит стандартно.

3. Так как окно символа известно (см. п2), то можно выкинуть 90% того огорода, который вы тут нагородили.

4. В модеме, для борьбы с замираниями, использовался fast hopping, ваш подход при этом бесполезен, поскольку имеет очень длительные времена сходимости петель обратной связи.

 

5. Слишком сложные петли обратной связи очень чувствительны к прицельным помехам. Канал связи будет разваливаться на раз-два...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...