![]() Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
![]() Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
![]() |
Розв'язання. Кількість бітів, необхідна для кодування 8 повідомлень різними комбінаціями двійкового коду, визначається з нерівності
Кількість бітів, необхідна для кодування 8 повідомлень різними комбінаціями двійкового коду, визначається з нерівності N £ 2k, де N – об'єм алфавіту джерела повідомлень; k – довжина кодової комбінації у бітах. Звідки випливає, що k³ log2 N. У даному випадку для кодування N =8 повідомлень необхідна кількість бітів k ³ 3. Довжина кодових слів при кодуванні лінійним блоковим кодом інформаційних повідомлень довжиною k символів n= k+r, де r – кількість перевірних символів, що додаються до інформаційного повідомлення для забезпечення можливості виявлення і/або виправлення помилок, що виникають при передачі по каналу зв'язку із завадами. Знайдемо кількість перевірних розрядів r, необхідну для виправлення помилок кратності l = 1. Для того щоб лінійний блоковий код міг виправляти помилки кратності не більшої l, необхідно і достатньо, щоб найменша кодова відстань між його словами dmin відповідала нерівності dmin ≥ 2 l+ 1. У даному випадку для виправлення помилок ваги l= 1 мінімальна кодова відстань dmin ³ 3. Мінімальну кількість перевірних розрядів r визначаємо, скориставшись формулою нижньої границі Плоткина: r³ 2 dmin - 2 – log2 dmin. У даному випадку необхідна кількість перевірних елементів r = ù 2×3 – 2 – log2 3 é» ù 4 – 1,585 é= 3. Тоді довжина кодового слова n= k+r = 3+3= 6. Твірна матриця лінійного блокового коду складається із двох частин: інформаційної Ik×k (одиничної підматриці) і перевірної Рk ´ r. Перевірна підматриця Pk ´ (n-k) будується підбором r -розрядних комбінацій з кількістю одиниць у рядку ≥ dmin - 1 і кодовою відстанню між рядками ≥dmin - 2. При цьомусі рядки твірної матриці лінійно незалежні, вага кожного кодового слова, що входить у твірну матрицю, і кодова відстань між ними ≥ dmin. Наведемо можливий варіант твірної матриці лінійного блокового (3,6)-коду:
Ik×k Pk ´ (n-k) Перевірна матриця заданого коду складається із транспонованої перевірної частини твірної матриці P(n-k ) ×k і одиничної підматриці I(n-k) × ( n-k):
P T (n-k)´-k I T k×k Виходячи з твірної матриці, будуємо таблицю всіх можливих кодових слів заданого коду: (m 1, m 2, m 3)® (u 1, u 2, u 3, u 4, u 5, u 6)= =(m 1, m 2, m 3, r 1, r 2, r 3), де кодове слово u = m´G(k, n). 1) (000)® (000000); 2) (001)® (001110); 3) (010)® (010011); 4) (011)® (011101); 5) (100)® (100101); 6) (101)® (101011); 7) (110)® (110000); 8) (111)® (111001). Неважко переконатися, що мінімальна кодова відстань отриманого коду dmin =3. Іншим способом таблицю кодів можна побудувати, розглянувши всі можливі лінійні комбінації (порозрядні суми за модулем 2) кодових слів, що входять у твірну матрицю коду. Припустимо передається повідомлення m =(101). Кодовим словом на виході кодера буде послідовність u = m ´ G = (101)´ Для декодування прийнятої послідовності на прийомній стороні обчислюється кодовий синдром S = y´H T, де y – прийнята кодована послідовність; H T - транспонована перевірна матриця. Обчислимо синдром прийнятого вектора y: S = (101111) ´ Виправляємо помилку і декодуємо кодове слово так: (101111) ® (101011) ® (101).
Задачі до розділу 10
1 Перевірна матриця лінійного блокового (3, 6)- коду має вигляд
Побудувати твірну матрицю і систему перевірних рівнянь коду. Визначити синдром виправлення однократних помилок в комбінаціях коду. Навести приклад виявлення і виправлення помилки кодом. 2 Перевірна матриця лінійного блокового (3, 6)- коду має вигляд
Побудувати твірну матрицю коду. Закодувати повідомлення 101, 001. Використовуючи синдром, визначити помилку (якщо вона є) і декодувати послідовності 011001; 110100; 001111. 3 Лінійний блоковий код заданий твірною матрицею вигляду
Побудувати перевірну матрицю коду. Визначити синдром виправлення поодиноких помилок цим кодом. Побудувати таблицю кодів. Навести приклад виявлення і виправлення помилки кодом. 4 Перевірна матриця коду має вигляд
Побудувати твірну матрицю коду. Визначити мінімальну кодову відстань Хеммінга і можливості коду виявляти і виправляти помилки. Визначити синдром виправлення поодиноких помилок кодом. Навести приклад виявлення і виправлення помилки. 5 Твірна матриця лінійного блокового коду має вигляд
Побудувати перевірну матрицю коду. Визначити синдром виправлення поодиноких помилок кодом і його можливості виявляти і виправляти помилки. Навести приклад виправлення помилки. 6 Твірна матриця лінійного блокового (4, 7)- коду має вигляд
Побудувати перевірну матрицю коду й закодувати комбінації 0010, 1010, 1110. Визначити синдром виправлення поодиноких помилок в комбінаціях заданого коду. Навести приклад виправлення помилки. Скільки помилок можна виявити/ виправити цим кодом? 7 Перевірна матриця лінійного блокового (4, 7)- коду має вигляд
Побудувати твірну матрицю коду. Закодувати комбінації 0010, 1010, 1110. Визначити синдром виправлення поодиноких помилок в комбінаціях заданого коду. Виправити помилку і декодувати послідовності 1010101, 0010101. Визначити можливості коду виявляти і виправляти помилки. 8 Перевірна матриця лінійного блокового (4, 7)- коду має вигляд
Використовуючи синдром, визначити помилку і декодувати прийняті комбінації 0110010, 1101001, 0111100, 0011110. 9 Твірна матриця лінійного блокового коду має вигляд
Визначити, які з комбінацій 1101001, 0110011, 0111100, 0011110 містять помилку, виправити їх і декодувати. 10 Розглянути лінійний блоковий (k, n)-код, кодове слово якого утворюється за правилом u= (x1, x2, x3, x4, x1+x3+x4, x1+x2+x4, x2+x3+x4). Визначити перевірну матрицю коду і параметри n, k. Чому дорівнює мінімальна кодова відстань отриманого коду? 11 Розглянути лінійний блоковий (k, n)-код, кодове слово якого утворюється за правилом u= (x1, x2, x3, x4, x1+x2, x3+x4, x1+x3, x2+x4, x1 + x2 + x3 + x4). Побудувати твірну матрицю коду. 12 Побудувати твірну матрицю лінійного блокового коду, здатного виправляти поодинокі помилки при передачі 16 повідомлень. Визначити синдром виправлення поодиноких помилок кодом. Навести приклад виявлення і виправлення помилки. Розділ 11 КОД ХЕММІНГА
Найпоширенішими систематичними лінійними блоковими кодами є коди Хеммінга, до яких належать коди з мінімальною кодовою відстанню dmin =3, здатні виправляти поодинокі помилки. При передачі кодового слова по каналу зв'язку можливе виникнення однократної помилки у будь-якому з його елементів. Кількість таких ситуацій дорівнює n. Отже, для того щоб визначити місце виникнення помилки, кількість різних комбінацій перевірних елементів
З цієї нерівності випливає мінімальне співвідношення перевірних і інформаційних розрядів, необхідне для виправлення кодом поодиноких помилок
Для розрахунку основних параметрів коду Хеммінга можна задатися кількістю перевірних елементів r, тоді довжина кодових слів Таблиця 3.3
Характерною властивістю перевірної матриці лінійного блокового коду з dmin = 3 є те, що її стовпці являють собою різні ненульові комбінації завдовжки r. Хеммінгомзапропоновано розміщувати стовпці перевірної матриці Наприклад, для r =3 перевірна матриця Хеммінга має вигляд
Для даного лінійного блокового (4, 7)- коду перший, другий, четвертий розряди (u1, u2, u4) будуть перевірними, а третій, п'ятий, шостий і сьомий розряди (u3, u5, u6, u7) - символами інформаційного повідомлення у звичайному порядку, тобто (m1, m2m3, m4) відповідно. Отже, для (k, n)- коду Хеммінга в кожному кодовому слові u =(u1, u2, u3, u4, …, u8, … un), r = n-k бітів з номерами степеня двійки є перевірними, а інші – бітами повідомлення, тобто кодування здійснюється так: E (m1, m2, …, mk) =(u1, u2, …, un) =(r1, r2, m1, r3, m2, m3, m4, r4, m5, m6, …, mk). Перевірна матриця (k, n)- коду Хеммінга складається із r рядків і
Синдром, що визначає систему перевірних рівнянь коду, знаходиться із рівняння u ´ Наприклад, для r = 3 система перевірних рівнянь буде така: Звідси визначають перевірні розряди (контрольні суми) Щоб закодувати повідомлення m ® u, значеннями розрядів ui, де i не дорівнює степеню двійки, будуть відповідні біти повідомлення у тому самому порядку, а перевірні розряди з індексами степеня двійки знаходяться з системи перевірних рівнянь. У кожне рівняння системи входить тільки одна контрольна сума. Приклад 1 Закодуємо повідомлення m= (0111) (4, 7)-кодом Хеммінга. Кодовим словом для заданого повідомлення m буде послідовність u= (u 1 u 2 0 u 4 1 1 1), де u 1, u 2, u 4 - контрольні суми r1, r2, r3 відповідно. Знаходимо контрольні суми з системи перевірних рівнянь: r1 = u1 = u3 + u5 + u7 = m1 + m2 + m4 =0+1+1=0, r2 = u2 = u3 + u6 + u7 = m1 + m3 + m4 = 0+1+1=0, r3 = u4 = u5 + u6 + u7 = m2 + m3 + m4 = 1+1+1=1. Отже, кодовим словом буде послідовність u= (0001111). Декодування коду Хеммінга здійснюється у такий спосіб. Обчислюється синдром прийнятої послідовності y: S = y ´ де Приклад 2 Повідомлення кодується (4, 7)- кодом Хеммінга. Декодуємо прийняту послідовність y= (0011111). Обчислюємо синдром прийнятого вектора: y ´ Виправляємо помилку, змінюючи значення у помилковому біті: (00 1 1111) ® (0001111). Передане повідомлення декодується так: D (u1, u2, u3, u4, u5, u6, u7)= D (0001111)=(0111). Твірна матриця ( k, n )- коду Хеммінга - це матриця(k × n), в якій стовпці з номерами нестепеня 2 утворюють одиничну підматрицю, а решта стовпців визначається з перевірних рівнянь коду. Така матриця при кодуванні копіюватиме біти повідомлення у позиції з номерами нестепеня 2 і заповнюватиме інші позиції коду згідно з перевірним рівнянням знаходження відповідного контрольного розряду. Приклад 3 Система перевірних рівнянь (4, 7)- коду Хеммінга має вигляд: r1 = u1 = u3 + u5 + u7 = m1 + m2 + m4 , r2 = u2 = u3 + u6 + u7 = m1 + m3 + m4, r3 = u4 = u5 + u6 + u7 = m2 + m3 + m4. Відповідно твірна матриця даного коду така:
Зразки розв'язування задач до розділу 11 Приклад 1 Закодувати повідомлення 11001010110 двійковим кодом Хеммінга. Побудувати твірну матрицю коду. Навести приклад виправлення помилки і декодування повідомлення. Визначити надлишковість коду. Date: 2015-11-15; view: 1012; Нарушение авторских прав |