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

    

Декодер систематического сверточного кода с обратной связью

Всем доброго времени суток!

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

Формируются они вот таким образом, как на картинке.

Тривиальный вариант с отбрасыванием проверочной части не интересует :)

Спасибо.

post-15243-1529485210_thumb.png

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


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

Maximum of A-posteriori Probability, MAP

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


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

Все тот же алгоритм Витерби.

Есть набор 2^4 текущих состояний лз. Есть набор 2^4 следующих состояний. Есть ребра - связи между текущими и следующими состояниями лз. Из каждого текущего состояния исходит 2 ребра: для входного значения кодера 0 и входного значения 1.

 

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

 

Последовательность ребер - путь. Надо найти максимально правдоподобный путь с наилучшей путевой метрикой, которая получается, как совокупность реберных метрик. Он будет проходить через состояния лз. Проходя выбранный путь в направлении 'к началу', вы восстанавливаете последовательность состояний лз, а из нее последовательность значений на входе кодера.

 

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

 

Иными словами:

сверточный кодер описывается как

{текущее состояние лз}+{значение на входе} => {следующее состояние лз}+{значения на выходе}

 

для декодера вам нужно модифицировать описание

 

для прямого прохода

{текущее состояние}+{значения на выходе} => {следующее состояние}+{значение на входе}

{значения на выходе} будут для вас опорными точками при расчете реберных метрик

 

для обратного прохода

{текущее состояние}+{значение, которое было на входе} => {предыдущее состояние}

 

Как считать реберные и путевые метрики описано, например, здесь

Морелос-Сарагоса Р. Искусство помехоустойчивого кодирования. Методы, алгоритмы, применение / пер. с англ. В. Б. Афанасьева. — М.: Техносфера, 2006. — 320 с. — (Мир связи). — 2000 экз. — ISBN 5-94836-035-0.

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


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

Есть набор 2^4 текущих состояний лз. Есть набор 2^4 следующих состояний. Есть ребра - связи между текущими и следующими состояниями лз. Из каждого текущего состояния исходит 2 ребра: для входного значения кодера 0 и входного значения 1.

Спасибо. Я о таком объяснение и мечтать не мог! :)

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


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

На здоровье. Мечтайте о чем-нибудь возвышенном.

 

Спасибо. Я о таком объяснение и мечтать не мог! :)

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


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

Похож на катастрофический. Так и задумано?

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


Ссылка на сообщение
Поделиться на другие сайты
Похож на катастрофический. Так и задумано?

 

Не похож.

 

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


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

Проверить ваши опасения не сложнее, чем возвестить о них.

 

Похож на катастрофический. Так и задумано?

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


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

Сработало "инверсное мышление" ;)

Здесь одному входному биту соотвествует слово бесконечного веса.

А для катастрофичности надо обратное условие: бесконечный вес на входе и конечный на выходе.

Да и не бывают систематическиие код катастрофическими.

В общем, погорячился ;)

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти