1) Декодування згортальних кодів. Алгоритм Вітербі.
1) Декодування згортальних кодів. Алгоритм Вітербі.
Для декодування згортальних кодів найбільше широко застосовується алгоритм декодування Вітербі (алгоритм максимальної правдоподібності). Алгоритм декодування Вітербі є повним алгоритмом декодування згортальних кодів, у зв'язку з чим імовірність відмовлення від декодування дорівнює нулеві. Однак при фіксованому коді імовірність помилки декодування буде більше, ніж у неповного декодера. Цей алгоритм практично може бути використаний для двійкових кодів з малою довжиною кодового обмеження — у даний час межею є довжини кодового обмеження 3. 1. Декодування в умовах відсутності помилок у каналі. Алгоритм Вітербі має ряд переваг перед іншими, у зв'язку з чим його широко використовують для декодування коротких згортальних кодів. Розглянемо особливості алгоритму на прикладі декодування коду, породжуваного кодером рис. 2, б, зі швидкістю
«Розвиток» діаграми для кодерів зі швидкістю З рисунка видно, що з кожного стану декодера до кожного нового стану веде дві гілки (див. також діаграму станів рис. 3). У процесі «розвитку» решітчастої діаграми до нового стану вибирається тільки одна гілка.
і власне на лініях, що зображує гілки) ведуть відповідно до станів « 00 » і « 10 ». Для кожної з цих гілок необхідно обчислити так називану метрику гілки (на рисунку позначається кодом над гілкою). Метрика гілки дорівнює відстані Хемминга між кадром символів на вході декодера (на рисунку позначені жирним шрифтом у верхній частині діаграми) і набором символів , що відповідають даній гілці на решітчастій діаграмі (рис. 9), тобто числу розрядів, значеннями яких вони відрізняються –
Так, наприклад, при На кожнім 1) відшукання метрик 2) порівняння метрик вхідних шляхів і вибір шляхів з найменшими метриками, величини яких використовують як метрики станів 3) визначення декодованого на даному У такий спосіб у загальному виді алгоритм Вітербі декодування згортальних кодів на довільному
Розглянемо більш докладно зміст декількох перших кроків алгоритму Вітербі декодування приведеної вище тестової кодової послідовності. Для перших двох кроків ( Для 1-го кроку декодування метрики станів рівні:
Далі вибирається шлях до стану з мінімальною метрикою, у даному випадку – до стану На 2-м кроці декодування з урахуванням значення чергового кадру кодових символів
Як і на попередньому кроці мінімальна метрика в стану Зауваження. Уже на цьому кроці може скластися враження, що немає необхідності розраховувати метрики всіх можливих станів і досить обмежитися обчисленням метрик двох станів, у які ведуть шляхи зі стану з мінімальною метрикою, отриманої на попередньому кроці (у даному випадку в 1-м). Однак такий підхід виявляється можливим тільки в припущенні постійної відсутності помилок на приймаючій стороні, що в умовах наявності в каналі шумів і завад по суті є подією неможливим. Наявність помилок породжує процес «розмноження шляхів, що вижили» і поява хоча б ще одного шляху, що «вижив», приводить до необхідності обліку метрик усіх станів, що буде показано нижче при розгляді роботи декодера Вітербі при перекручуванні в каналі кодової послідовності. Тому починаючи з 2-го кроку в алгоритмі декодування здійснюється розрахунок метрик усіх можливих станів. Далі алгоритм складається в періодичному повторенні основного кроку, відмінною рисою якого є наявність двох шляхів до кожного наступного стану. Роблячи попарне порівняння метрик шляхів, що входять у кожен стан, вибирають меншу метрику і неї вважають метрикою даного стану для наступного кроку декодування. Шлях, що входить у даний стан з меншою метрикою, вважають « вижившими » (на діаграмі рис. 9 шляхи, що «вижили», показані жирними лініями). Тонкою лінією показані шляхи, що відкидаються при попарному порівнянні. У результаті порівняння вибирають меншу метрику і неї вважають метрикою даного стану для наступного кроку декодування.
На 3-м (і кожнім наступному
На даному кроці мінімальна метрика в стану Далі алгоритм Вітербі повторює виконання основного кроку по співвідношеннях (3*). Процес побудови решітчастої діаграми рис. 4 для декодування послідовності виду 00. 00. 11. 01. 10. 01. 11. 00. 00. 11. 10. 00. 01. 01. 11. 00 показаний на рис. 10. Якщо метрики порівнюваних шляхів однакові, то вибір одного з двох шляхів роблять довільним образом. На кожнім кроці алгоритму при відсутності помилок у каналі в результаті порівняння половина можливих шляхів відкидається і надалі не використовується. Інша половина утворить продовження шляхів для наступного кроку декодування. У такий спосіб декодер простежує по кодовій решітці шлях, що має мінімальну відстань від шляху, що генерує кодер. Недвійкові коди декодировать декодером Вітербі трудніше, і це можливо лише при дуже малих довжинах кодового обмеження.
Воспользуйтесь поиском по сайту: ![]() ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|