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

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

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

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


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

Уважаемые эксперты, не могли бы вы направить меня в верном направлении. я на данном этапе разработки сталкиваюсь со следущими проблемами:

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

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


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

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

 

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

 

 

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


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

Виктор39:

Я так понимаю, у вас КВ трансивер, как основа. Какой тип модуляции несущей используется: SSB или FM?

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


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

Я так понимаю, у вас КВ трансивер, как основа. Какой тип модуляции несущей используется: SSB или FM?

 

Да, вы правильно понимаете, у меня КВ трансивер. В нем используется модуляция 8psk.

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


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

Да, вы правильно понимаете, у меня КВ трансивер. В нем используется модуляция 8psk.

 

8psk на поднесущей 1800 Гц, а какой тип модуляции по несущей? Или модуляция однократная?

Просто я делал модем, который работает с речевым каналом. Проводил эксперименты с разными типами модуляции несущей (SSB, FM, AM, PM) при разных видах модуляции поднесущей (PSK, OPSK, OFDM). Только у меня была поднесущая (поднесущие на OFDM) 600... 1200 Гц.

Изменено пользователем Corner

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


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

8psk на поднесущей 1800 Гц, а какой тип модуляции по несущей? Или модуляция однократная?

Просто я делал модем, который работает с речевым каналом. Проводил эксперименты с разными типами модуляции несущей (SSB, FM, AM, PM) при разных видах модуляции поднесущей (PSK, OPSK, OFDM). Только у меня была поднесущая (поднесущие на OFDM) 600... 1200 Гц.

модуляция однократная

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


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

разбираюсь с алгоритмом Stop And Go... не могу понять, как это можно представить в комплексном виде для моего случая... может быть поможете

 

thumb-5345_521F016E.jpg

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]}?

не понятно, как это сделать для случая с комплексными числами

post-75542-1377761954_thumb.jpg

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


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

разбираюсь с алгоритмом Stop And Go... не могу понять, как это можно представить в комплексном виде для моего случая... может быть поможете

 

А для PSK 8 Stop And Go не будет иметь никакого смысла. S&G он для КАМов или для многопозиционной АМ. Если нужен слепой алгоритм для корректора смотрите лучше на CMA.

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


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

А для 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

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

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


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

в атаче статья, в которой рассматриваются алгоритмы улучшения качества работы 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 для цифрового ТВ не читайте у них канал совсем не меняется в отличии от КВ.

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


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

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?

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


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

как оказалось, мне 10 Hz на данный момент и не нужно. хотя бы Doppler Spread =1 Hz чтобы полноценно работало.

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

 

Ну вот это уже другое дело! По 16ти известным символам измеряете канал, находите импульсную характеристику канала ИХ, ее можно сглаживать ( т.е усреднять во времени ). По измеренной ИХ считаете коэффициенты корректора , какого хотите , хотите чисто линейного, хотите DFE. Проблема, в том что ИХ длинее 8 символов так просто не удастся измерить.

 

 

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

неужели алгоритм SF MSAG DMCMA описанный в ней не улучшит качество работы DFE?

 

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

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


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

а может все таки кто-нибудь ответит на вопрос заданный в 98-ом сообщении?

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


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

а может все таки кто-нибудь ответит на вопрос заданный в 98-ом сообщении?

 

Для комплексных чисел нужно проверять равенство знаков для каждой квадратуры отдельно. Т.е знаки для Re не равны, вещественную часть ошибки считаем 0. Точно также для мнимой части ошибки. Интересно только во что это выльется для PSK 8 :).

 

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


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

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

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

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

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

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

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

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

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

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