Скляр Б. Цифровая связь (2003) (1151859), страница 101
Текст из файла (страница 101)
Продолжая аналогичным образом, декодер быстро перебирает все дерево. Допустим теперь, что принятая последовательность Х является искажеияым кодовым словом 1!. Декодер начинает с узла дерева в момент г, и генерирует оба пути, выходящие из этого узла. Если принятые я кодовых символов совпадают с одним из сгенерированных путей, декодер следует этому пути.
Если согласования нет, то декодер следует наиболее вероятному пути, но при этом ведет общий подсчет несовпадений между принятыми символами и кодовыми словами на пути следования. Если две ветви оказываются равновероятными, то приемник делает произвольный выбор, как и в случае с нулевым входным путем. На каждом уровне дерева декодер генерирует новые ветви и сравнивает их со следующим набором и принятых кодовых символов. Поиск продолжается до тех пор, пока все дерево не будет пройдено по наиболее вероятному пути, и при этом составляется счет несовпадений.
Если счет несовпадений превышает некоторое число (оно может увеличиваться после прохождения дерева), декодер решает, что он находится на неправильном пути, отбрасывает этот путь и повторяет все снова. Декодер помнит список отброшенных путей, чтобы иметь возможность избежать их при следующем прохождении дерева.
Допустим, кодер, представленный на рис. 7.3, кодирует информационную последовательностып = 1 1 0 1 1 в последовательность кодовых слов (), как показано на рис. 7.1. Предположим, что четвертый и седьмой биты переданной последовательности (! приняты с ошибкой.
Время Г! гз !3 г4 г5 Информационная последовательность: ш = 1 1 0 1 1 Переданная последовательность: () = 11 01 01 00 01 Принятая последовательность: Х = 11 00 01 10 01 7.5. Йоугие алгооитмы свеоточного аекапиоования Давайте проследим за траекторией пути декодирования на рис. 7.23. Допустим, что критерием возврата и повторного прохождения пугей будет общий счет несогласуюсцихся путей, равный 3. На рис. 7.23 числа у путей прохождения представляют собой текущее значение счетчика несовпадений. Итак, прохождение дерева будет иметь следующий вид. оо )з ,з с, и сз сс св х « оо ос ю ос Рис.
7.23. Ссема ноеледсиаснесьного декодирования Глават. Канальное кодирование:часть2 1. В момент времени г, мы принимаем символы 11 и сравниваем их с кодовыми словами, исходящими из первого узла. 2. Наиболее вероятна та ветвь, у которой кодовое слово 11 (соответствующее входной битовой единице или ответвлению вниз), поэтому декодер решает, что входная битовая единица правильно декодирована, и переходит на следующий уровень. 3.
В момент гз на этом втором уровне декодер принимает символы 00 и сравнивает их с возможными кодовыми словами 10 и 01. 4. Здесь нет "хорошего" пути, поэтому декодер произвольно выбирает путь, соответствующий входному битовому нулю (или кодовому слову 10), и счетчик несовпадений регистрирует 1. 5.
В момент времени г, декодер принимает символы 01 и сравнивает их на третьем уровне с кодовыми словами 11. и 00. 6. Здесь снова ни один из путей не имеет преимушеств. Декодер произвольно выбирает нулевой входной путь (или кодовое слово 11), и счетчик несовпадений возрастает до 2. 7. В момент г, декодер принимает символы 10 и сравнивает их на четвертом уровне с кодовыми словами 00 и 11.
8. Здесь снова ни один из путей не имеет преимуществ, и декодер произвольно выбирает нулевой входной путь (или кодовое слово 00); счетчик несовпадений возрастает до 3. 9. Поскольку счет несовпадений, равный 3, соответствует точке возврата, декодер "делает откат*' и пробует альтернативный путь. Счетчик переустанавливается на 2 несовпадения. 10. Альтернативный путь на четвертом уровне соответствует пути входной битовой единицы (или кодовому слову !1). Декодер принимает этот путь, но после сравнения его с принятыми символами 10 несовпадение остается равным 1, и счетчик устанавливается равным 3. 11.
Счет 3 является критерием точки возврата, поэтому декодер делает откат назад с этого пути, и счетчик снова устанавливается на 2. На данном уровне г„все альтернативные пути использованы, поэтому декодер возвращается на узел в момент г, и переустанавливает счетчик на 1. 12. В узле г, декодер сравнивает символы, принятые в момент времени г„а именно 01, с неиспользованным путем 00. В данном случае несовпадение равно 1, и счетчик устанавливается на 2. 13.
В узле гк декодер следует за кодовым словом 10, которое совпадает с принятым в момент г, кодовым символом 1О. Счетчик остается равным 2. 14. В узле гз ни один из путей не имеет преимуществ, и декодер, как и определяется правилами, следует верхней ветви. Счетчик устанавливается на 3 несовпадения. 15. При таком счете декодер делает откат, переустанавливает счетчик на 2 и пробует альтернативный путь в узле гя Поскольку другим кодовым словом является 00, снова получаем одно несовпадение с принятым в момент г, кодовым символом 01, и счетчик устанавливается равным 3.
7.5. Другие алгоритмы сверточного декодирования 447 16. Декодер уходит с этого пути, и счетчик переустанавливается на 2. На этом уровне г, все альтернативные пути использованы, поэтому декодер возвращается на узел в момент гх и переустанавливает счетчик на 1. 17. Декодер пробует альтернативный путь в узле гь метрика которого возрастает до 3, поскольку в кодовом слове имеется несовпадение в двух позициях. В этот момент декодер должен сделать откат всех путей до момента г,, поскольку все пути более высоких уровней уже использованы. Счетчик снова переусгановлен на нуль. 18. В узле г~ декодер следует кодовому слову 01. Поскольку имеется несовпадение в одной позиции с принятыми в момент гз кодовыми символами 00, то счетчик устанавливается на 1.
Далее декодер продолжает свои поиски таким же образом. Как видно из рис. 7.23, финаяьный путь, счетчик которого не нарушает критерия точки возврата, дает правильно декодированную информационную последовательносп 1 1 0 1 1. Последователыюе декодирование можно понимать как тактику проб и ошибок для поиска правильного пути на кодовом дереве. Поиск осушествляется последовательно; всегда рассматривается только один путь за раз.
Если принимается неправильное решение, последуюшие пути будут ошибочными. Декодер может со временем распознать ошибку, отслеживая метрики нуги. Алгоритм напоминает путешественника, отыскивающего пуп на карте дорог. До тех пор, пока путешественник видит, что дорожные ориентиры соответствуют таковым на карте, он продопжает путь. Когда он замечает странные ориентиры (увеличение его своеобразной метрики), в конце концов приходит к вьцюду, что он находится на неправильном пути, и возвращается к точке, где он может узнать ориентиры (его метрика возврашается в приемлемые рамки). Тогда он пробует альтернативный путь.
7.5.2. Сравнение декодирования по алгоритму Витерби с последовательным декодированием и их ограничения Главный недостаток декодирования по алгоритму Витерби заключается в том, что в то время, как вероятность появления ошибки экспоненциально убывает с ростом длины кодового ограничения, число кодовых состояний, а значит сложносп декодера, экслоненциально растет с увеличением дльвы кодового ограничения. С другой стороны, вычислительная сложность алгоритма Витерби является независимой от характеристики канала (в отличие от жесткого и мягкого декодирования, которые требуют обычного увеличения объемов вычислений).
Последовательное декодирование асимптотически достигает той же вероятности появления ошибки, что и декодирование по принципу максимального правдоподобия, но без поиска всех возможных состояний. Фактически при последовательном декодировании число перебираемых состояний существенно независимо олг длины кодового ограничения, и это позволяет использовать очень большие (К = 41) длины кодового ограничения. Это является важным фактором при обеспечении таких низких вероятностей появления ошибок. Основным недостатком последовательного декодирования является то, что количество перебираемых метрик состояний является случайной величиной. Для последовательгюго декодирования ожидаемое число неудачных гипотез и повторных переборов является функцией канального отношения сигналГшум (яйца! го псе гагю — Б!чй).
При низком Я!ч'К приходится перебирать больше гипотез, чем при высоком 3)чК. Из-за такой изменчивости вычислительной нагрузки, поступившие последовательности необходимо сохранять в буфере памяти. При низком Б!чК последовательности поступают в буфер до тех пор, пока декодер не сможет найти Глава 7. Канальное кодированигк часть 2 448 7.6. Резюме В течение последних десяти лет наиболее популярной схемой кодирования являлась сверточная, поскольку почти во всех приложениях сверточные коды лучше блочных при той же конструктивной сложности кодера и декодера.
Для каналов спутниковой связи схемы прямого исправления ошибок позволяют легко понизить на 5-6 дБ требуемое значение БЫК для заданной достоверности передачи. Из этой эффективности кодирования непосредственно вытекает снижение эффективной изотропной излучаемой мошности спутника (ейес!1че Воггорк таоба!ед роччег — Е1КР), что, соответственно, приводит к снижению веса и стоимости спутника.