|
|
  |
структура модема при 8psk |
|
|
|
Jul 11 2013, 06:09
|
Частый гость
 
Группа: Участник
Сообщений: 123
Регистрация: 8-02-13
Из: Минск
Пользователь №: 75 542

|
Цитата вы же как то ищите, где у вас стоит обучалка ? Цитата Подозреваю, что вопрос о совместной работе эквалайзера и фапч несущей. Если так, то нужно рассказать, как организовано это совместное оценивание. как и описывалось выше в теме, я "ловлю" преамбулу с помощью банка фильтров, далее рассчитываю частотную отстройку с помощью комплексно-сопряженной свертки с преамублой, и последующий сигнал, с учетом этой отстройки, переношу на нулевую частоту. сразу же за преамбулой, по которой рассчитывается частотная расстройка, следует обучающая последовательность. таким образом я знаю ее начало. как я понимаю фазовое несоответствие между принятыми значениями обучающей последовательности и имеющей заранее известной последовательностью на приемной стороне может отличатся на pi. Цитата 1. Подсовываете обучалку без учета поворота созвездия. Эквалайзер сам довернет созвездие сможет ли эквалайзер достаточно быстро довернуть фазу созвездия на максимальную отстройку равную pi? не повлияет ли это сильно на скорость сходимости? Цитата 2. Подсовываете обучалку с учетом поворота созвездия. В этом случае метод поиска обучалки должен выдавать не только наличие последовательности в РК но и оценивать поворот созвездия. не совсем понятна идея, каким образом это делается? я думал, может быть первый принятый символ обучалки, довернуть до ближайшей точки фазового созвездия. далее сравнить эту точку с первым символом заведомо известной последовательности. оценить их разность, которая может принимать значения [-pi, -3/4pi,... +1/2pi, +3/4pi, +pi] и все дальнейшие входные символы обучалки доворачивать на эту фазу?! делается ли это так? или не до конца ясен мой вопрос?
|
|
|
|
|
Jul 11 2013, 07:50
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Виктор39 @ Jul 11 2013, 00:09)  сможет ли эквалайзер достаточно быстро довернуть фазу созвездия на максимальную отстройку равную pi? не повлияет ли это сильно на скорость сходимости? сможет, но в зависимости от метода адаптации. LMSу требуется большее время чем RLS. Скорость сходимости, если речь идет о работе в канале с ISI, не изменится. В тесте начального старта эквалайзера, если сравнивать с неповернутым созвездием, разница будет. Цитата не совсем понятна идея, каким образом это делается? Ну например, синхра 1, -1, 1 -1, 1 1 -1 1, а видите вы -1, 1, -1, 1, -1, -1, 1, 1 Логично предположить что фаза повернулась на 180 градусов. Цитата я думал, может быть первый принятый символ обучалки, довернуть до ближайшей точки фазового созвездия. далее сравнить эту точку с первым символом заведомо известной последовательности. оценить их разность, которая может принимать значения [-pi, -3/4pi,... +1/2pi, +3/4pi, +pi] и все дальнейшие входные символы обучалки доворачивать на эту фазу?! Можно и так сделать, но в шумах возможна ошибка определения поворота фазы. Но судя по тому что вы описали, вам можно просто подсунуть обучалку, а эквалайзер все сделает как надо. Потеряете первые несколько сот символов (если речь идет про LMS) ну а дальше будет работать как надо. Цитата(Виктор39 @ Jul 11 2013, 00:09)  сразу же за преамбулой, по которой рассчитывается частотная расстройка, следует обучающая последовательность. таким образом я знаю ее начало. Кстати, не забудьте что начало обучалки нужно искать на выходе эквалайзера, а не на его входе. Т.к. фильтр прямой ветви может двигать сигнал от 0 до количества тапов в дискретах домена в котором работает.
--------------------
|
|
|
|
|
Jul 11 2013, 10:15
|
Частый гость
 
Группа: Участник
Сообщений: 123
Регистрация: 8-02-13
Из: Минск
Пользователь №: 75 542

|
Цитата фазу доворачивать, эквалайзер в любом случае будет этим заниматься, так как вы принимаете несколько лучей с разными фазами. Ещё может быть ошибка в оценке частоты, и созвездие будет слишком быстро вращаться для адаптации эквалайзера, используйте совместную настройку ФАПЧ и эквалайзера. у меня есть первоначальная грубая компенсация частоты, и затем еще реализован фапч, который работает совместно с эквалайзером, как вы и сказали. Цитата Кстати, не забудьте что начало обучалки нужно искать на выходе эквалайзера, а не на его входе. Т.к. фильтр прямой ветви может двигать сигнал от 0 до количества тапов в дискретах домена в котором работает. я не понял, что это значит. в моем представлении все должно работать следующим образом: словив преамбулу я знаю начало полезного сигнала. в моем случае полезным сигналом следующим за преамбулой идет обучающая последовательность. так как я знаю длину преамбулы в символах и в отсчетах, соответственно я зная и начало обучающей последовательности. эквалайзер же запускается только по первому символу обучающей последовательности. соответственно первый символ на выходе эквалайзер и будет является первым символом обучалки.
|
|
|
|
|
Jul 11 2013, 10:50
|

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

|
QUOTE (Виктор39 @ Jul 11 2013, 10:09)  как и описывалось выше в теме, я "ловлю" преамбулу с помощью банка фильтров, далее рассчитываю частотную отстройку с помощью комплексно-сопряженной свертки с преамублой, и последующий сигнал, с учетом этой отстройки, переношу на нулевую частоту. сразу же за преамбулой, по которой рассчитывается частотная расстройка, следует обучающая последовательность. таким образом я знаю ее начало. как я понимаю фазовое несоответствие между принятыми значениями обучающей последовательности и имеющей заранее известной последовательностью на приемной стороне может отличатся на pi. Если Вы определили расстройку несущей с помощью банков фильтров, то можете определить не только скорость вращения созвездия, но и его начальную фазу. После переноса преамбулы на нулевую частоту (естественно учитывая обнаруженную расстройку, умножением на exp(iwn)), фаза (как и амплитуда) комплексной синусоиды (со снятой модуляцией и несущей) определяется просто усреднением сигнала по преамбуле и взятием арктангенса (суммы квадратов для амплитуды, если нужно). Это оценки максимального правдоподобия по преамбуле. ФАПЧ дальше можно запустить мгновенно с известных значений частоты и фазы, если, конечно ГУН у вас цифровой, а не аналоговый. Ошибка измерения фазы не может быть в пределах pi, а небольшая и известно какая QUOTE (Виктор39 @ Jul 11 2013, 10:09)  сможет ли эквалайзер достаточно быстро довернуть фазу созвездия на максимальную отстройку равную pi? не повлияет ли это сильно на скорость сходимости?
не совсем понятна идея, каким образом это делается? Ошибка фазы, если доделать оценку её по преамбуле вовсе не в пределах pi, а задается критерием Крамера-Рао для фазы. http://electronix.ru/forum/index.php?act=A...st&id=39182var(Teta)=1/(SNR*N), т.е. если, например, N=32, SNR=10 (наверное же не 2 для 8psk), то стандартное отклонение - градусов где-то 5 (на вскидку 1/17 радиана), не больше Она небольшая, но возможно для приема и недостаточная (как и ошибка оценки частоты несущей и фазы символьной, определенных по реакции банка фильтров). По преамбуле измеряются грубые оценки всех параметров, что обеспечивает хорошие условия для сходимости адаптивным следящим подсистемам. Как дальше совместно настраивать и ФАПЧ и эквалайзер, словами не описать. Это уже не наука, а искусство- наука решает проблемы отдельно, разделяя переменные В первом приближении запускайте ФАПЧ и эквалайзер независимо, но одновременно. Все будет очень нелинейно, чтобы заценить, но есть надежда, что все сойдется само. Дальше задача состоит в том, чтобы наворотить такую блок-схему с перекрестными связями между подсистемами (ФАПЧ несущей, эквалайзер, ФАПЧ символьной), чтобы обеспечить одновременную сходимость всех ошибок к минимуму по короткой траектории. Понятно, что оптимальной блок-схемы на все случаи жизни не существует
|
|
|
|
|
Jul 16 2013, 09:44
|

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

|
QUOTE (Виктор39 @ Jul 16 2013, 12:41)  как и было предложено в данной теме, я оцениваю начальную растройку фазы по преамбуле, следующим образом(matlab): t =inSignal(i)*conj(preamble(i)); phiError =atan(imag(t)/real(t))/(2*pi);
таким образом у меня фазавая ошибка вычисляется как бы по модулю pi. т.е. например если реальная фазовая ошибка pi+pi/4, то phiError будет равно pi/4. так как символьная фаза может быть сдвинута на произвольный угол, мне нужно чтобы phiError в результате вычисления равнялось именно pi+pi/4, а не просто pi/4. не могу сообразить, как это можно написать в матлабе. http://cens.ioc.ee/local/man/matlab/techdoc/ref/atan2.htmlP = atan2(Y,X) returns an array P the same size as X and Y containing the element-by-element, four-quadrant inverse tangent (arctangent) of the real parts of Y and X. Только нужно убрать ещё и найденную частотную расстройку w t(n) =inSignal(n)*conj(preamble(n))*exp(iwn); P = atan2(mean(Imag(t)),mean(Real(t))) A = Abs(mean(t)); и не перепутать к какому моменту времени относится фаза - для запуска ФАПЧ фазу нужно оценить для первого отсчета после преамбулы
|
|
|
|
|
Jul 18 2013, 05:51
|
Частый гость
 
Группа: Участник
Сообщений: 123
Регистрация: 8-02-13
Из: Минск
Пользователь №: 75 542

|
Цитата t(n) =inSignal(n)*conj(preamble(n))*exp(iwn); P = atan2(mean(Imag(t)),mean(Real(t))) спасибо за atan2. 1)в разрабатываемом модеме использую Гарднер по тактовой, tanlock по несущей и TSE RLS DFE эквалайзер, + предварительную частотную и фазовую корректировки по преамбуле. вопрос в обучении эквалайзера. правильно ли я понимаю, обучалку нужно запускать в тот момент, когда первый символ принимаемой обучающий последовательности при свертке с весовыми коэффициентами, попадает на центральный коэффициент, изначально равный единице? получается задержка, на половину длины фильтра. и только начиная с этого момента стоит начинать корректировку весовых коэффициентов? 2)кто-нибудь может сказать что либо доброе или плохое про алгоритм Калмана по сравнению с RLS и LMS? 3) я понимаю, что все очень относительно, но какой длинны обучающие последовательности рекомендуется использовать?
Сообщение отредактировал Виктор39 - Jul 18 2013, 08:37
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|