dasha39 0 5 августа, 2013 Опубликовано 5 августа, 2013 · Жалоба не подскажете, исходя из каких соображений выбираются начальные значения обратной корреляционной диагональной матрицы в RLS алгоритме?! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dasha39 0 13 августа, 2013 Опубликовано 13 августа, 2013 · Жалоба Уважаемые эксперты, не могли бы вы направить меня в верном направлении. я на данном этапе разработки сталкиваюсь со следущими проблемами: (работаю со схемой FSE DFE LMS + Tanlock по несущей + AGC, без тактовой синхронизации) 1) данная схема неплохо(согласно исходным условиям) исправляет сигнал с несколькими лучами с разностью лучей в несколько символов, так же нет проблем с ошибкой связанной с доплеровским сдвигом. Проблема возникает при доплеровском рассеянии (DopplerSpread). Даже в случае одного луча(в случае нескольких лучей все ехе хуже), при большом значении DopplerSpread невязка(ошибка подаваемая на эквалайзер) постоянно изменяется от маленьких значений, до очень больших, и эквалайзер разваливается. Я думал, что ошибку связанную с DopplerSpread должен компенсировать АРУ, но никакой АРУ, ни экспоненциальный, ни линейный не дает желаемых результатов. В заданных мне каналах значение DopplerSpread достигает 10 Гц, тогда как моя схема способна исправно работать только при значениях DopplerSpread не больше 0.5 Гц. как с этим быть? а)Возможно я не правильно вычисляю коэффициент усиления АРУ. Так как у меня forward filter работает по двум отсчетам на символ, для вычисления коэффициента АРУ я беру амплитуду среднего значения двух входных отсчетов (abs(mean(x))). б) В некоторых случаях при плохих каналах значение приходящее с feedback filter начинает расти, а с forward filter уменьшаться, и поэтому выходное значение символа определяется в большей степени не forward filter, а feedback filter, что в корне не верно. Нужно каким-то образом ограничивать выход feedback filter и не давать коэффициентам forward filter уменьшаться?! 2) Изначально центральный коэффициент forward filter я устанавливаю в единицу. Так как у меня не TSE, а FSE адаптивный фильтр, то возникают проблемы, особенно при обучении. Так как на один символ приходится два отсчета, поэтому есть разница, какому из этих отсчетов будет соответствовать коэффициент единица. Если в начальный момент единичному коэффициенту соответствует "лучший" из отсчетов, то эквалайзер быстро сходиться, в противном случае эквалайзер быстрее настраивается при инициализации forward filter всеми нулями. Имеет ли смысл в начальный момент каким-либо образом оценивать первые значения входного сигнала, чтобы установить единичный коэффициент на место, которое соответствовало бы отсчету имеющему больше значение по амплитуде?! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrov 7 13 августа, 2013 Опубликовано 13 августа, 2013 · Жалоба 1) данная схема неплохо(согласно исходным условиям) исправляет сигнал с несколькими лучами с разностью лучей в несколько символов, так же нет проблем с ошибкой связанной с доплеровским сдвигом. Проблема возникает при доплеровском рассеянии (DopplerSpread). Даже в случае одного луча(в случае нескольких лучей все ехе хуже), при большом значении DopplerSpread невязка(ошибка подаваемая на эквалайзер) постоянно изменяется от маленьких значений, до очень больших, и эквалайзер разваливается. Я думал, что ошибку связанную с DopplerSpread должен компенсировать АРУ, но никакой АРУ, ни экспоненциальный, ни линейный не дает желаемых результатов. В заданных мне каналах значение DopplerSpread достигает 10 Гц, тогда как моя схема способна исправно работать только при значениях DopplerSpread не больше 0.5 Гц. как с этим быть? а)Возможно я не правильно вычисляю коэффициент усиления АРУ. Так как у меня forward filter работает по двум отсчетам на символ, для вычисления коэффициента АРУ я беру амплитуду среднего значения двух входных отсчетов (abs(mean(x))). б) В некоторых случаях при плохих каналах значение приходящее с feedback filter начинает расти, а с forward filter уменьшаться, и поэтому выходное значение символа определяется в большей степени не forward filter, а feedback filter, что в корне не верно. Нужно каким-то образом ограничивать выход feedback filter и не давать коэффициентам forward filter уменьшаться?! АРУ не при чём, оно только среднюю мощность сигнала отслеживает, большой DopplerSpread означает быстрое изменение канала, вплоть до принципиальной невозможности компенсации искажений, даже c самым лучшим алгоритмом адаптации. 2) Изначально центральный коэффициент forward filter я устанавливаю в единицу. Так как у меня не TSE, а FSE адаптивный фильтр, то возникают проблемы, особенно при обучении. Так как на один символ приходится два отсчета, поэтому есть разница, какому из этих отсчетов будет соответствовать коэффициент единица. Если в начальный момент единичному коэффициенту соответствует "лучший" из отсчетов, то эквалайзер быстро сходиться, в противном случае эквалайзер быстрее настраивается при инициализации forward filter всеми нулями. Имеет ли смысл в начальный момент каким-либо образом оценивать первые значения входного сигнала, чтобы установить единичный коэффициент на место, которое соответствовало бы отсчету имеющему больше значение по амплитуде?! Конечно, если максимум на выходе фильтра, согласованного с известной последовательностью, в дробном клоковом домене приходится на отбрасываемый отсчёт в домене одного отсчёта на символ, имеет смысл компенсировать дробную задержку соответствующим выбором единичного коэффициента. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Corner 0 17 августа, 2013 Опубликовано 17 августа, 2013 · Жалоба Виктор39: Я так понимаю, у вас КВ трансивер, как основа. Какой тип модуляции несущей используется: SSB или FM? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dasha39 0 19 августа, 2013 Опубликовано 19 августа, 2013 · Жалоба Я так понимаю, у вас КВ трансивер, как основа. Какой тип модуляции несущей используется: SSB или FM? Да, вы правильно понимаете, у меня КВ трансивер. В нем используется модуляция 8psk. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Corner 0 21 августа, 2013 Опубликовано 21 августа, 2013 (изменено) · Жалоба Да, вы правильно понимаете, у меня КВ трансивер. В нем используется модуляция 8psk. 8psk на поднесущей 1800 Гц, а какой тип модуляции по несущей? Или модуляция однократная? Просто я делал модем, который работает с речевым каналом. Проводил эксперименты с разными типами модуляции несущей (SSB, FM, AM, PM) при разных видах модуляции поднесущей (PSK, OPSK, OFDM). Только у меня была поднесущая (поднесущие на OFDM) 600... 1200 Гц. Изменено 21 августа, 2013 пользователем Corner Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dasha39 0 26 августа, 2013 Опубликовано 26 августа, 2013 · Жалоба 8psk на поднесущей 1800 Гц, а какой тип модуляции по несущей? Или модуляция однократная? Просто я делал модем, который работает с речевым каналом. Проводил эксперименты с разными типами модуляции несущей (SSB, FM, AM, PM) при разных видах модуляции поднесущей (PSK, OPSK, OFDM). Только у меня была поднесущая (поднесущие на OFDM) 600... 1200 Гц. модуляция однократная Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dasha39 0 29 августа, 2013 Опубликовано 29 августа, 2013 · Жалоба разбираюсь с алгоритмом Stop And Go... не могу понять, как это можно представить в комплексном виде для моего случая... может быть поможете gamma = E[|a|^2] / E[|a|]. Насколько я понимаю E это усреднение, тогда для моего случая 8psk с точками 0.5000 + 0.5000i 0.0000 + 0.7071i -0.5000 + 0.5000i -0.7071 + 0.0000i -0.5000 - 0.5000i -0.0000 - 0.7071i 0.5000 - 0.5000i 0.7071 - 0.0000i gamma будет равняться следующему??? это верно? gamma = sum([(0.5^2) (0.7071^2)]) / sum([0.5 0.7071]) далее sgn{y[k]} будет равняться следующему? : sign(real(y[k])) + j*sign(imag(y[k])) а как быть с условием if (sign{e_D[k]} == sign{e_S[k]}) % ??? ??????????? ??? ? ??????????? ????? f = 0; else f = 1; end как посчитать знаки sign{e_D[k]} и sign{e_S[k]}? не понятно, как это сделать для случая с комплексными числами Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alex_os 0 29 августа, 2013 Опубликовано 29 августа, 2013 · Жалоба разбираюсь с алгоритмом Stop And Go... не могу понять, как это можно представить в комплексном виде для моего случая... может быть поможете А для PSK 8 Stop And Go не будет иметь никакого смысла. S&G он для КАМов или для многопозиционной АМ. Если нужен слепой алгоритм для корректора смотрите лучше на CMA. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dasha39 0 29 августа, 2013 Опубликовано 29 августа, 2013 (изменено) · Жалоба А для PSK 8 Stop And Go не будет иметь никакого смысла. S&G он для КАМов или для многопозиционной АМ. Если нужен слепой алгоритм для корректора смотрите лучше на CMA. в атаче статья, в которой рассматриваются алгоритмы улучшения качества работы DFE для сигналов с 8VSB модуляцией. мне нужен алгоритм, позволяющий удерживать адаптивные фильтры FF и FB в таком состоянии, чтобы они не боролись друг с другом. дело в том, что в плохих каналах FB начинает подавлять FF и эквалайзер разваливается. как я понимаю, нужно минимизировать распространение ошибки через обратный фильтр. я не знаю, насколько правильно будет использовать алгоритм предназначенный для VSB, но почему-то мне кажется, что это то, что мне нужно. в данной статье в конечном итоге рассматривается алгоритм модифицированный SAG DMCMA. смысл его в том, что SAG применяется совместно с CMA только для обратного фильтра. для прямого фильтра применяется только DMCMA. но все равно, для реализации данного алгоритма мне нужно понять, как для комплексных чисел реализовать обычный SAG. 5_BLIND_DECISION_FEEDBACK_EQUALIZATION_FOR_VSB_BASED_DTV_BECEIVERS.pdf Изменено 29 августа, 2013 пользователем Виктор39 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alex_os 0 29 августа, 2013 Опубликовано 29 августа, 2013 · Жалоба в атаче статья, в которой рассматриваются алгоритмы улучшения качества работы DFE для сигналов с 8VSB модуляцией. мне нужен алгоритм, позволяющий удерживать адаптивные фильтры FF и FB в таком состоянии, чтобы они не боролись друг с другом. дело в том, что в плохих каналах FB начинает подавлять FF и эквалайзер разваливается. как я понимаю, нужно минимизировать распространение ошибки через обратный фильтр. я не знаю, насколько правильно будет использовать алгоритм предназначенный для VSB, но почему-то мне кажется, что это то, что мне нужно. в данной статье в конечном итоге рассматривается алгоритм модифицированный SAG DMCMA. смысл его в том, что SAG применяется совместно с CMA только для обратного фильтра. для прямого фильтра применяется только DMCMA. но все равно, для реализации данного алгоритма мне нужно понять, как для комплексных чисел реализовать обычный SAG. 5_BLIND_DECISION_FEEDBACK_EQUALIZATION_FOR_VSB_BASED_DTV_BECEIVERS.pdf ИМХО не туда копаете! Ничего слепое не будет работать при Doppler Spread = 10 Hz. 1. Если хотите сделать действительно работающую систему c корректором читайте M. Tuchler'a. 2. Doppler Spread = 10 Hz это не реально много! Такое может быть только за полярным кругом. Если нужно действительно 10 Hz , я бы сделал 8 каналов PSK8 с тупым дифференциальным кодированим, 300 Bod в каждом канале и простейший дифференциальный демодулятор (тупо измерять разницу фазу между предидущим и текущим символом) и это бы работало. 3. Найдите стандарт MIL-STD-188-110B там в конце есть цифирки при каких Doppler Spread и SNR что работает. Еще полезный стандарт ITU-R F.1487 там написано где какие Doppler Spread могут быть. Статьи про DFE для цифрового ТВ не читайте у них канал совсем не меняется в отличии от КВ. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dasha39 0 29 августа, 2013 Опубликовано 29 августа, 2013 · Жалоба 1. Если хотите сделать действительно работающую систему c корректором читайте M. Tuchler'a. Найдите стандарт MIL-STD-188-110B там в конце есть цифирки при каких Doppler Spread и SNR что работает. Еще полезный стандарт ITU-R F.1487 там написано где какие Doppler Spread могут быть. спасибо, обязательно посмотрю. ИМХО не туда копаете! Ничего слепое не будет работать при Doppler Spread = 10 Hz. Doppler Spread = 10 Hz это не реально много! Такое может быть только за полярным кругом. как оказалось, мне 10 Hz на данный момент и не нужно. хотя бы Doppler Spread =1 Hz чтобы полноценно работало. + у меня не совсем слепой эквалайзер. в начале обучающая последовательность и в некоторых режимах в каждом кадре (48 символов) имеется 16 известных... Статьи про DFE для цифрового ТВ не читайте у них канал совсем не меняется в отличии от КВ. вы имеете ввиду также данную статью, которую я прикрепил в предыдущем сообщение? неужели алгоритм SF MSAG DMCMA описанный в ней не улучшит качество работы DFE? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alex_os 0 29 августа, 2013 Опубликовано 29 августа, 2013 · Жалоба как оказалось, мне 10 Hz на данный момент и не нужно. хотя бы Doppler Spread =1 Hz чтобы полноценно работало. + у меня не совсем слепой эквалайзер. в начале обучающая последовательность и в некоторых режимах в каждом кадре (48 символов) имеется 16 известных... Ну вот это уже другое дело! По 16ти известным символам измеряете канал, находите импульсную характеристику канала ИХ, ее можно сглаживать ( т.е усреднять во времени ). По измеренной ИХ считаете коэффициенты корректора , какого хотите , хотите чисто линейного, хотите DFE. Проблема, в том что ИХ длинее 8 символов так просто не удастся измерить. вы имеете ввиду также данную статью, которую я прикрепил в предыдущем сообщение? неужели алгоритм SF MSAG DMCMA описанный в ней не улучшит качество работы DFE? Про данную статью ничего не могу сказать , но явно корректор испытывался на другой модели канала . Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dasha39 0 29 августа, 2013 Опубликовано 29 августа, 2013 · Жалоба а может все таки кто-нибудь ответит на вопрос заданный в 98-ом сообщении? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alex_os 0 29 августа, 2013 Опубликовано 29 августа, 2013 · Жалоба а может все таки кто-нибудь ответит на вопрос заданный в 98-ом сообщении? Для комплексных чисел нужно проверять равенство знаков для каждой квадратуры отдельно. Т.е знаки для Re не равны, вещественную часть ошибки считаем 0. Точно также для мнимой части ошибки. Интересно только во что это выльется для PSK 8 :). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться