dasha39 0 28 мая, 2013 Опубликовано 28 мая, 2013 · Жалоба я спрашивал о проблеме обнаружения преамбулы из-за большого разброса амплитуды входного сигнала. мне кажется, для решения этой проблемы стоит на входе приемника поставить систему АРУ. насколько это приемлемый метод? если это то, что мне нужно, посоветуйте, уважаемые знатоки, какой-нибудь приемлемый алгоритм, плиз. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andyp 10 28 мая, 2013 Опубликовано 28 мая, 2013 (изменено) · Жалоба Если динамика цифровой части приемника позволяет, то лучше хотя бы часть AGC в цифре делать. (Т.е оцениваешь мощность сигнала и умножаешь сигнал на соответствующий множитель на входе СФ). Просто, неожиданные переключения внешней системы АРУ при приеме данных могут привести к сюрпризам. В модеме нужно знать, когда изменилось усиление приемника (особенно, если это происходит скачком). Конкретика зависит от проектируемой системы связи. Есть еще алгоритмы поиска с адаптивным порогом, когда порог обнаружения преамбулы подстраивается в соответствии с наблюдаемым уровнем сигнала на входе СФ. Ключевые слова - adaptive threshold detection. PS Тут все зависит от скорости замираний и инреционности системы АРУ. Если АРУ не успевает следить за федингом, то используется адаптивный порог. Изменено 28 мая, 2013 пользователем andyp Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dasha39 0 10 июля, 2013 Опубликовано 10 июля, 2013 · Жалоба продолжаю разрабатывать 8psk модем. тестирую различные типы эквалайзеров. столкнулся с проблемой при реализации эквалайзера, который бы настраивался по известной последовательности. как я понимаю, отличие его только в том, что он на каком-то определенному начальном участке времени, вычисляет сигнал ошибки не как разность значения исходного входного сигнала и наиболее подходящего значения точки идеального созвездия, а как разность исходного входного сигнала и текущего значения известной последовательности. вот в чем вопрос: мне не известна символьная фаза входного сигнала, как быть в таком случае? перебирать все 8 возможных значений фаз для настройки эквалайзера. либо мне нужно каким-то образом работать с разностью фазы текущего значения известной последовательности и предыдущего? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrov 7 10 июля, 2013 Опубликовано 10 июля, 2013 · Жалоба а как разность исходного входного сигнала и текущего значения известной последовательности. Непонятно в чём проблема, берёте разность и всё? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FatRobot 4 10 июля, 2013 Опубликовано 10 июля, 2013 · Жалоба Подозреваю, что вопрос о совместной работе эквалайзера и фапч несущей. Если так, то нужно рассказать, как организовано это совместное оценивание. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 11 июля, 2013 Опубликовано 11 июля, 2013 · Жалоба вот в чем вопрос: мне не известна символьная фаза входного сигнала, как быть в таком случае? перебирать все 8 возможных значений фаз для настройки эквалайзера. либо мне нужно каким-то образом работать с разностью фазы текущего значения известной последовательности и предыдущего? вы же как то ищите, где у вас стоит обучалка ? Тут возможны 2 варианта : 1. Подсовываете обучалку без учета поворота созвездия. Эквалайзер сам довернет созвездие, но в этом случае метод поиска обучалки должен быть инвариантен повороту фазы созвездия. 2. Подсовываете обучалку с учетом поворота созвездия. В этом случае метод поиска обучалки должен выдавать не только наличие последовательности в РК но и оценивать поворот созвездия. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dasha39 0 11 июля, 2013 Опубликовано 11 июля, 2013 · Жалоба вы же как то ищите, где у вас стоит обучалка ? Подозреваю, что вопрос о совместной работе эквалайзера и фапч несущей. Если так, то нужно рассказать, как организовано это совместное оценивание. как и описывалось выше в теме, я "ловлю" преамбулу с помощью банка фильтров, далее рассчитываю частотную отстройку с помощью комплексно-сопряженной свертки с преамублой, и последующий сигнал, с учетом этой отстройки, переношу на нулевую частоту. сразу же за преамбулой, по которой рассчитывается частотная расстройка, следует обучающая последовательность. таким образом я знаю ее начало. как я понимаю фазовое несоответствие между принятыми значениями обучающей последовательности и имеющей заранее известной последовательностью на приемной стороне может отличатся на pi. 1. Подсовываете обучалку без учета поворота созвездия. Эквалайзер сам довернет созвездие сможет ли эквалайзер достаточно быстро довернуть фазу созвездия на максимальную отстройку равную pi? не повлияет ли это сильно на скорость сходимости? 2. Подсовываете обучалку с учетом поворота созвездия. В этом случае метод поиска обучалки должен выдавать не только наличие последовательности в РК но и оценивать поворот созвездия. не совсем понятна идея, каким образом это делается? я думал, может быть первый принятый символ обучалки, довернуть до ближайшей точки фазового созвездия. далее сравнить эту точку с первым символом заведомо известной последовательности. оценить их разность, которая может принимать значения [-pi, -3/4pi,... +1/2pi, +3/4pi, +pi] и все дальнейшие входные символы обучалки доворачивать на эту фазу?! делается ли это так? или не до конца ясен мой вопрос? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 11 июля, 2013 Опубликовано 11 июля, 2013 · Жалоба сможет ли эквалайзер достаточно быстро довернуть фазу созвездия на максимальную отстройку равную 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) ну а дальше будет работать как надо. сразу же за преамбулой, по которой рассчитывается частотная расстройка, следует обучающая последовательность. таким образом я знаю ее начало. Кстати, не забудьте что начало обучалки нужно искать на выходе эквалайзера, а не на его входе. Т.к. фильтр прямой ветви может двигать сигнал от 0 до количества тапов в дискретах домена в котором работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrov 7 11 июля, 2013 Опубликовано 11 июля, 2013 · Жалоба сможет ли эквалайзер достаточно быстро довернуть фазу созвездия на максимальную отстройку равную pi? не повлияет ли это сильно на скорость сходимости? Сможет, влияет, но нет смысла точно фазу доворачивать, эквалайзер в любом случае будет этим заниматься, так как вы принимаете несколько лучей с разными фазами. Ещё может быть ошибка в оценке частоты, и созвездие будет слишком быстро вращаться для адаптации эквалайзера, используйте совместную настройку ФАПЧ и эквалайзера. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dasha39 0 11 июля, 2013 Опубликовано 11 июля, 2013 · Жалоба фазу доворачивать, эквалайзер в любом случае будет этим заниматься, так как вы принимаете несколько лучей с разными фазами. Ещё может быть ошибка в оценке частоты, и созвездие будет слишком быстро вращаться для адаптации эквалайзера, используйте совместную настройку ФАПЧ и эквалайзера. у меня есть первоначальная грубая компенсация частоты, и затем еще реализован фапч, который работает совместно с эквалайзером, как вы и сказали. Кстати, не забудьте что начало обучалки нужно искать на выходе эквалайзера, а не на его входе. Т.к. фильтр прямой ветви может двигать сигнал от 0 до количества тапов в дискретах домена в котором работает. я не понял, что это значит. в моем представлении все должно работать следующим образом: словив преамбулу я знаю начало полезного сигнала. в моем случае полезным сигналом следующим за преамбулой идет обучающая последовательность. так как я знаю длину преамбулы в символах и в отсчетах, соответственно я зная и начало обучающей последовательности. эквалайзер же запускается только по первому символу обучающей последовательности. соответственно первый символ на выходе эквалайзер и будет является первым символом обучалки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fontp 0 11 июля, 2013 Опубликовано 11 июля, 2013 · Жалоба как и описывалось выше в теме, я "ловлю" преамбулу с помощью банка фильтров, далее рассчитываю частотную отстройку с помощью комплексно-сопряженной свертки с преамублой, и последующий сигнал, с учетом этой отстройки, переношу на нулевую частоту. сразу же за преамбулой, по которой рассчитывается частотная расстройка, следует обучающая последовательность. таким образом я знаю ее начало. как я понимаю фазовое несоответствие между принятыми значениями обучающей последовательности и имеющей заранее известной последовательностью на приемной стороне может отличатся на pi. Если Вы определили расстройку несущей с помощью банков фильтров, то можете определить не только скорость вращения созвездия, но и его начальную фазу. После переноса преамбулы на нулевую частоту (естественно учитывая обнаруженную расстройку, умножением на exp(iwn)), фаза (как и амплитуда) комплексной синусоиды (со снятой модуляцией и несущей) определяется просто усреднением сигнала по преамбуле и взятием арктангенса (суммы квадратов для амплитуды, если нужно). Это оценки максимального правдоподобия по преамбуле. ФАПЧ дальше можно запустить мгновенно с известных значений частоты и фазы, если, конечно ГУН у вас цифровой, а не аналоговый. Ошибка измерения фазы не может быть в пределах pi, а небольшая и известно какая сможет ли эквалайзер достаточно быстро довернуть фазу созвездия на максимальную отстройку равную pi? не повлияет ли это сильно на скорость сходимости? не совсем понятна идея, каким образом это делается? Ошибка фазы, если доделать оценку её по преамбуле вовсе не в пределах pi, а задается критерием Крамера-Рао для фазы. http://electronix.ru/forum/index.php?act=A...st&id=39182 var(Teta)=1/(SNR*N), т.е. если, например, N=32, SNR=10 (наверное же не 2 для 8psk), то стандартное отклонение - градусов где-то 5 (на вскидку 1/17 радиана), не больше Она небольшая, но возможно для приема и недостаточная (как и ошибка оценки частоты несущей и фазы символьной, определенных по реакции банка фильтров). По преамбуле измеряются грубые оценки всех параметров, что обеспечивает хорошие условия для сходимости адаптивным следящим подсистемам. Как дальше совместно настраивать и ФАПЧ и эквалайзер, словами не описать. Это уже не наука, а искусство- наука решает проблемы отдельно, разделяя переменные В первом приближении запускайте ФАПЧ и эквалайзер независимо, но одновременно. Все будет очень нелинейно, чтобы заценить, но есть надежда, что все сойдется само. Дальше задача состоит в том, чтобы наворотить такую блок-схему с перекрестными связями между подсистемами (ФАПЧ несущей, эквалайзер, ФАПЧ символьной), чтобы обеспечить одновременную сходимость всех ошибок к минимуму по короткой траектории. Понятно, что оптимальной блок-схемы на все случаи жизни не существует Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dasha39 0 16 июля, 2013 Опубликовано 16 июля, 2013 · Жалоба как и было предложено в данной теме, я оцениваю начальную растройку фазы по преамбуле, следующим образом(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. не могу сообразить, как это можно написать в матлабе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fontp 0 16 июля, 2013 Опубликовано 16 июля, 2013 · Жалоба как и было предложено в данной теме, я оцениваю начальную растройку фазы по преамбуле, следующим образом(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.html P = 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)); и не перепутать к какому моменту времени относится фаза - для запуска ФАПЧ фазу нужно оценить для первого отсчета после преамбулы Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dasha39 0 18 июля, 2013 Опубликовано 18 июля, 2013 (изменено) · Жалоба 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) я понимаю, что все очень относительно, но какой длинны обучающие последовательности рекомендуется использовать? Изменено 18 июля, 2013 пользователем Виктор39 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
thermit 1 18 июля, 2013 Опубликовано 18 июля, 2013 · Жалоба в матлабе есть еще функция angle() atan2(y,x) эквивалентна angle(complex(x,y)) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться