Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Декодер Витерби выдает пакетные ошибки
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Математика и Физика
Muscat
Дабы не плодить сущности, поставлю просто ссылку на тему в соседнем разделе
http://electronix.ru/forum/index.php?showtopic=78165

Здесь, кажется, более подходящий раздел для таких вопросов.
Добавлю, что проверил работу встроенного матлабовского декодера для этого же кода- такого эффекта нет, так что явно проблема в моей реализации. Поскольку по решетке он продвигается правильно, то остается одно возможное место для косяка - алгоритм по которому принимается решение о выдаче бита из декодера
Serg76
Цитата(Muscat @ Jul 7 2010, 11:31) *
Дабы не плодить сущности, поставлю просто ссылку на тему в соседнем разделе
http://electronix.ru/forum/index.php?showtopic=78165

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

petrov вам все правильно объяснил, по другому в принципе не получиться.
Muscat
У меня получается, минут через пару выложу код

Проблема оказалась собственно в синтаксисе, идея была правильная. Ошибка вылезала в том случае, когда рассматривая "бабочку" для нижнего узла выбиралось значение метрики, которые приходят в первый. В случае отсутствия ошибок в канале эта проблема никак не проявлялась, а вот при некоторых комбинациях выдавало как раз таки пакеты ошибок. Надо быть внимательнее.

Если кому то интересно, то я реализовал это дело вот так. Несколько коряво, но оно работает и главное я понимаю, как оно работает.

В буфере я компю не единицы и нули (вверх-вниз), это будет следующим шагом, на котором буду отрабатывать способы реализации. В этом случае действительно необходимо пройти весь путь, чтобы выяснить, что же за переход у нас был. Но в моих то матрицах копиться сам путь. 4 возможных состояния, значит 4 возможных пути, которые могут выглядеть вот так
Path_Matrix
1 2 1 1 2 2
2 3 3 4 1 2
3 3 4 2 3 1
4 1 3 4 1 2

И соответствующий ему столбец метрики эти путей
2
4
6
3

Далее выбираем минимальный путь из этих - это будет первый путь, у него самый старый известный переход
это крайние правые числа 2-2. Такому переходу будет соответствовать выдача 1, к примеру. На следующем шаге справа будут переходы
12
41
31
12
И выбирать уже будем из этих переходов.

Система работает :-)

Картинка, показывающая, что декодер работает. Из 1000 символов было поврежденно 142, после декодера ошибочных оказалось 23. На больших последовательностях полученные мной результаты похожи на те, что выдает встроенный декодер Витерби, с теми же параметрами. Сейчас посмотрю 2 графика BER(SNR) для моего декодера и для встроенного. Если совпадут, то и славно.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.