Скляр Б. Цифровая связь (2003) (1151859), страница 97
Текст из файла (страница 97)
7.10, переходы за один промежуток времени можно сгруппировать в 2" ' непересекающиеся ячейки; каждая ячейка будет изображать четыре возможных перехода, причем ч = К-1 называется памятью кодера (епсобег шепюгу). Если К = 3, то ч = 2, и, следовательно, мы имеем 2' ' = 2 ячейки. Эти ячейки показаны на рис.
7.13, где буквы а, Ь, с и к( обозначают состояния в момент г„а а', Ь', с' и д' — состояния в момент времени г„ь Для каждого перехода изображена метрика ветви Ь„, индексы которой означают переход из состояния х в состояние у. Эти ячейки и соответствующие логические элементы, которые корректируют метрики состояний (Г„), где х означает конкретное расстояние состояния, представляют основные составляющие элементы декодера.
гв гв К следующему логическому элементу К следующему логическому элементу Рис. 7Л4. Логический блок, предназначенный евя осущесглвления операции слог»ения, сравнения и выбора Решетчатая диаграмма декодирования, аналогичная показанной на рис. 7.10, изображена на рис. 7.15. Метрика ветви, которая описывает каждую ветвь, — зто расстояние Хзмминга между принятым кодовым символом и соответствующим кодовым словом из решетки кодера. Еше на решетке (рис. 7.15) показаны значения каждого состояния х в каждый момент г,— еы метрика состояния которых обозначена Г,. Операция АСЬ выполняется после появления двух переходов, входящих в состояние, т.е.
для момента гл и более поздних. Например, в момент времени г„значение метрики состояния для состояния и вычисляется суммированием метрики состояния Г,=З в момент гз и метрики ветви Ь =1„что в итоге лает значение 4. В то же время к метрике состояния Ггм2 в момент времени г, прибавляется метрика ветви Ь„= 1, что дает значение 3. В ходе процедуры АСЬ происходит отбор наиболее правдоподобной метрики (с минимальным расстоянием), т.е. новой метрики состояния; позтому для состояния и в момент г„новой метрикой состояния будет Г» = 3. Отобранный путь изображен жирной линией, а путь, который был отброшен, показан светлой линией.
На рис. 7.!5 на решетке слева направо показаны все метрики состояний. Убедимся, что в любой момент времени значение каждой метрики состояния получается суммированием метрики состояния, соединенного с предыдущим состоянием вдоль отобранного пути (жирная линия), и метрики ветви, соединяющей зти состояния. Через некоторое время на выход декодера будут поданы выжившие ветви, прослеженные до самых ранних битов. Чтобы показать зто, посмотрим на рис. 7.15 в момент еэ Видим, что значение метрики состояния, соответствующей минимальному расстоянию, равно 1.
Отобранный путь можно проследить из состояния с) обратно, к моменту г,, и убедиться, что декодированное сообщение совпадает с исходным. Напомним, что пунктирные и сплошные линии соответствуют двоичным единице и нулю. 7.3.6. Память путей и синхронизация Требования к памяти декодера, работающего согласно алгоритму Витерби, растут с увеличением длины кодового ограничения как степенная функция. Для кола со степенью кодирования 11л после каждого шага декодирования декодер держит в памяти набор из 2» ' путей.
т О! 1О ГЦ Ы О! О1 т! 12 ге 14 !5 2 ! 3 ~ 3 ~ 1 ! 2 Сестея нее а = 00 Ь=!0 с=о! Г Митри»а пути а=11 ,декеднрееанные еыкедныеданные ъ Метрике еетен Рис. 2 1Д Операция сленг»низ, сравнения и выбора нри де»адиравании па алгоритму Витербо С высокой степенью вероятности можно утверждать, что при значительном превышении существующей на данный момент глубины декодирования эти пути не будут взаимно непересекающимися [12).
Все 2» ' пути ведут к полной ветви, которая в конце концов разветвляется на разные состояния. Поэтому, если декодер сохраняет историю 2» ' путей, самые первые биты на всех путях будут одинаковы. Следовательно, простой декодер имеет фиксированный объем исн!арии пун!ей и выдает самые ранние биты произвольного пути каждый раз, когда продвигается на один уровень вглубь решетки. Требуемый объем сохраняемых путей будет равен следующему [12): и = )к2» (7.10) Здесь Ь вЂ” длина истории пути информационного бита на состояние. При уточнении, которое проводится для минимизации Ь, вместо самых ранних битов произвольных путей на выходе декодера используются самые ранние биты наиболее вероятных путей. Было показано [12), что значения )к, равного 4 или 5 длинам кодового ограничения, достаточно, чтобы характеристики декодера были близки к оптимальным.
Необходимый объем памяти и является основным ограничением при разработке декодеров, работающих согласно алгоритму Витерби. В серийно выпускаемых декодерах длина кодового ограничения равна величине порядка К = 10, Попытка повысить эффективность кодирования за счет увеличения длины кодового ограничения вызывает экспоненциальный рост требований к памяти (и сложности), как это следует из уравнения (7.10). Синхронизация »адовых слов ветвей — это процесс определения начала слова ветви в принятой последовательности. Такую синхронизацию можно осуществить, не прибавляя новую информацию к потоку передаваемых символов, поскольку можно видеть, что, пока принятые данные не синхронизированы, у них непомерно высокая частота появления ошибок Следовательно, синхронизацию можно осуществить просто: нужно проводить сопутствующее наблюдение за уровнем частоты появления ошибок, т.е.
нас должна интересовать частота, при которой увеличиваются метрики состояний, или частота, при которой сливаются выжившие пути на решетке. ПараметР, за которым следят, сравнивается с пороговым значением, после чего соответствующим образом осуществляется синхронизация. дя! .те нт 7.4. Свойства сверточных кодов 7.4.1.
Пространственные характеристики сверточных кодов Рассмотрим пространственные характеристики сверточных кодов в контексте простого кодера (рис. 7.3) и его решетчатой диаграммы (рис. 7.7). Мы хотим узнать расстояния между всеми возможными парами последовательностей кодовых слов. Как н в случае блочных кодов (см. раздел 6.5.2), нас интересует мияимальное расстояние между всеми такими парами последовательностей кодовых слов в коде, поскольку минимальное расстояние связано с возможностями коррекции ошибок кода. Поскольку сверточный код является групповым или лянейным 16), можно без потери общности просто найти минимальное расстояние между последовательностью кодовых слов и нулевой последовательностью. Другими словами, для линейного кода данное контрольное сообщение окажется точно таким же "хорошим", как и любое другое.
Так почему бы не взять то сообщение, которое легко проследить, а именно нулевую последовательность? Допустим, что на вход передана нулевая последовательность; следовательно, нас интересует такой путь, который начинается и заканчивается в состоянии 00 и не возвращается к состоянию 00 нигде внутри пути. Всякий раз, когда расстояние любых других путей, которые сливаются с состоянием а =00 в момент г„окажется меньше расстояния нулевого пути, вплоть до момента г„будет появляться ошибка, вызывая в процессе декодирования отбрасывание нулевого пути.
Иными словами, при нулевой передаче ошибка возникает всегда, когда не выживает нулевой путь. Следовательно, ошибка, о которой идет речь, связана с выживающим путем, который расходится, а затем снова сливается с нулевым путем. Может возникнуть вопрос, зачем нужно, чтобы пути сливались? Не будет ли для обнаружения ошибки достаточно лишь того, чтобы пути расходились? В принципе, достаточно, но если ошибка характеризуется еаяько расхождением, то декодер, начиная с этой точки, будет выдавать вместо оставшегося сообщения сплошной "мусор". Мы хотим выразить возможности декодера через число обычно появляющихся ошибок, т.е. хотим узнать "самый легкий" для декодера способ сделать ошибку.
Минимальное расстояние для такой ошибки можно найти, полностью изучив все пути из состояния 00 в состояние 00. Итак, давайте сначала заново начертим решетчатую диаграмму, как показано на рис. 7.16, и обозначим каждую ветвь не символом кодового слова, а ее расстоянием Хэмминга от нулевого кодового слова. Расстояние Хэмминга между двумя последовательностями разной длины можно получить путем их сравнивания, т.е. прибавив к началу более короткой последовательности нужное количество нулей. Рассмотрим все пути, которые расходятся из нулевого пути и затем в какой-то момент снова сливаются в произвольном узле.
Из диаграммы на рис. 7.16 можно получить расстояние этих путей до нулевого пути. Итак, на расстоянии 5 от нулевого пути имеется один путь; этот путь отходит от нулевого в момент г, и сливается с ним в момент г,. Точно так же имеется два пути с расстоянием 6, один отходит в момент г, и сливается в момент г,, а другой отходит в момент г, и сливается в момент в и т.д. Также можно видеть (по пунктирным и сплошным линиям на диаграмме), что входными битами для расстояния 5 будут 1 00; от нулевой входной последовательности эта последовательность отличается только одним битом.