- •Що таке економне кодування інформації? з якою метою воно здійснюється? Які існують способи задання кодів?
- •Що таке рівномірні й нерівномірні коди? з якою метою використовуються оптимальні нерівномірні коди?
- •Що таке надлишковість коду? Як вона визначається?
- •4. Учомуполягає принцип кодування з перевіркою на парність? Яка надлишковість коду? у чомупереваги та недолікикодування?
- •5. Щотакетвірнаматрицялінійногоблокового коду? Якіїївластивості? Яка структура твірноїматриці?
- •6. Щотакеоптимальнекодуванняінформації? Якийкритерійоптимальностістатистичнихкодів?
- •7. Які існують класи завадостійких кодів? Які коди належать до блокових завадостійких кодів? в яких випадках їх доцільно використовувати?
- •8. Які коди належать до завадостійких? Якими загальними властивостями вони характеризуються? Для чого в завадостійкі коди вводиться надлишковість?
- •9. Які коди називаються префіксними? Що таке вектор Крафта? Як записується нерівність Крафта? у чому полягає умова оптимальності префіксних кодів?
- •11.У чомуполягає алгоритм побудовиоптимального коду Шеннона-Фано?
- •12. У чому полягає алгоритм побудови оптимального коду Хаффмена?
- •13 Які необхідна і достатня умови існування завадостійкого коду?
- •14 Які існують способи задання лінійних блокових кодів? Які основні частини мають кодові слова лінійного блокового коду?
- •15 Які коди належать до лінійних блокових кодів? Які коди мають властивість систематичності?
- •16 Що таке система перевірних рівнянь лінійного блокового коду?
- •17 Що таке перевірна матриця лінійного блокового коду? Які її властивості? Яка структура перевірної матриці?
- •18 Як, скориставшись перевірною матрицею, побудувати систему перевірних рівнянь лінійного блокового коду?
- •19. Що таке кодовий синдром лінійного коду? Як він визначається?
- •20. У чому полягає алгоритм кодування циклічним кодом? Що таке перевірний поліном циклічного коду? Які його властивості?
- •21. Яким чином виявляються помилки поліноміальним кодом? в яких випадках помилки залишаються не знайденими?
- •22 Як побудувати твірну матрицю лінійного блокового коду із заданими характеристиками?
- •23 Які коди називаються блоковими? Що таке порядок блокового коду?
- •24 Які коди називаються поліноміальними?
- •25. Які поліноміальні коди називаються циклічними? Які їх властивості?
- •26. У чому полягає відмінність блокових і згорткових кодів?
- •27. У чому полягає метод блокування повідомлень? Як будується блоковий код Хаффмена?
- •Адаптивний алгоритм хаффмена з упорядкованим деревом
- •28.Які лінійні блокові коди називаються кодом Хеммінга? Як знаходиться кількість інформаційних і перевірних символів для коду Хеммінга? Як утворюються кодові слова коду Хеммінга?
- •29.Як складається перевірна та твірна матриці коду Хеммінга?
- •30.Як виконується декодування коду Хеммінга?
- •31. Як визначаються основні арифметичні операції над поліномами в полі двійкових символів gf(2)?
- •32. Як визначається поліном синдрому для циклічних кодів?
- •33. Як виявляються і виправляються помилки циклічним кодом?
- •34. Як визначаєтьсядовжинакомбінації у двійковихкодах бчх?
- •35. Як побудувати твірну матрицю коду бчх
- •36. Як визначаєтьсямінімальнакількістьперевірнихсимволів для лінійногоблокового коду іззаданими характеристиками?
- •37 Як побудувати твірну та перевірну матриці циклічного коду?
- •38 Яким чином за допомогою кодового синдрому виявляються та виправляються помилки лінійним блоковим кодом?
- •39 Як записуються необхідна і достатня умови виявлення лінійним блоковим кодом помилок заданої кратності?
- •40. Як побудувати твірну матрицю поліноміального коду?
- •41. Як записуються необхідна і достатня умови виправлення лінійним блоковим кодом помилок заданої кратності?
- •42. Який канал передачі інформації описується моделлю двійкового симетричного каналу?
- •43 Як визначається вектор помилок у двійковому каналі зв'язку? у чому полягає задача декодування переданого кодового слова?
- •44 Яку властивість має кодовий синдром прийнятої кодованої послідовності? у яких випадках синдром не дозволяє знайти помилки у переданій послідовності?
- •45 Яке кодування інформації називається статистичним? Які алгоритми стиснення даних відносять до статистичних?
- •46. За якими ознаками класифікують системи й методи стиснення даних?
- •47. Чим визначається верхня границя стиснення інформації? Які існують границі стиснення при використанні оптимального кодування Шеннона-Фано і Хаффмена?
- •48. Які переваги та недоліки використання оптимального кодування Шеннона-Фано і Хаффмена?
- •49 Які системи характеризуються стисненням без втрат інформації? Які основні елементи вони включають?
- •50 У чому полягає арифметичний алгоритм кодування інформації? Які його переваги в порівнянні з іншими статистичними методами стиснення інформації?
- •51 Як здійснюється декодування даних за арифметичним алгоритмом?
- •.У чому полягає основна ідея словникових методів стиснення інформації? у чому переваги використання словникових методів у порівнянні із статистичними? (ст.104)
- •Які основні елементи включає система стиснення інформації? Які функції вони виконують?
- •На які основні групи поділяються словникові алгоритми стиснення? Які їх характерні риси? (ст.104)
- •55 .У чому полягають словникові методи стиснення з використанням «ковзного» вікна lz77, lzss? Чим визначається довжина кодів цих алгоритмів?
- •56 Які переваги модифікованого алгоритму lzss у порівнянні з lz77?
- •57 У чому полягають словникові методи стиснення lz78, lzw? Чим визначається довжина кодів для цих алгоритмів? Які переваги модифікації lzw?
- •58 У чому полягає метод стиснення інформації способом кодування серій (алгоритм rle)
- •59 ЯкінедолікисловниковихалгоритмівLz77, lzss?
- •60 ЯкіперевагиалгоритмівLz78, lzw у порівнянні з lz77, lzss?
- •61 Якісистемихарактеризуютьсястисненнямізвтратамиінформації? у чомурізниця систем ізвтратами й без втратінформації?
- •62 У чому суть дискретного косинус-перетворення у стисканні зображень?
- •63 Яку функцію покладено на етап квантування у алгоритмі jpeg?
20. У чому полягає алгоритм кодування циклічним кодом? Що таке перевірний поліном циклічного коду? Які його властивості?
1. Таким чином, алгоритм побудови циклічного (k, n)- коду для послідовності m=(m0, m1, m2, … , mk-1) такий:
1) многочлен інформаційної послідовності m(x) множиться на xn-k, тобто зсувається праворуч на n-k розрядів;
2) отриманий у такий спосіб поліном ділиться на твірний поліном коду g(x);
3) остача від ділення xn-km(x) на g(x) додається до xn-km(x), тобто записується в молодших n-k розрядах.
2 Визначення. Поліном h(x) степеня k, що є часткою від ділення двочлена xn+1 на твірний поліном коду g(x), називається перевірним поліномом. Оскільки h(x) однозначно зв'язаний з g(x), то він також визначає код.
Спираючись на вищевикладене, можна дати інше визначення двійкового циклічного коду.
Визначення. Циклічним називається лінійний (k, n)- код, усі 2k кодові комбінації якого подані поліномами степеня n-1 і менше, які діляться без остачі на деякий поліном g(x) степеня r=n-k, що є дільником двочлена xn+1.
21. Яким чином виявляються помилки поліноміальним кодом? в яких випадках помилки залишаються не знайденими?
1. Визначення. Поліноміальним кодом називається множина всіх многочленів степеня не більше n-1, що мають спільний множник – деякий фіксований многочлен g(x) степеня r=n-k (де n - довжина кодових слів, k - довжина інформаційного повідомлення; r - кількість перевірних символів). Цей многочлен g(x) називається твірним многочленом коду.
Поліноміальний код з твірним многочленом g(x) кодує повідомлення m(x) поліномом вигляду
u(x)=m(x)g(x)=u0 + u1x + u2x2 + … + un-1xn-1, (3.15)
або кодовим словом з коефіцієнтів цього многочлена u= (u0, u1, …, un-1).
Матриця
поліноміального коду з твірним
многочленом g(x) степеня r=n-k
має вигляд
,
(3.16)
де ненульові елементи в i-му рядку - це послідовність коефіцієнтів твірного многочлена, розташованих з j-го по (j+r)-й стовпець.
2. Теорема. Вектор помилок e=e0, …, en-1 залишиться не визначеним у тому і лише у тому випадку, якщо його многочлен e(x)=e0+e1x+…+en-1xn-1 ділиться на твірний поліном коду g(x) без остачі.
Доведення. Прийнята послідовність c(x)=m(x)g(x)+e(x) ділиться на g(x) без остачі тоді і тільки тоді, коли e(x) ділиться на g(x) без остачі.
Тому будь-яка помилка, многочлен якої не ділиться на g(x), буде знайденою, відповідно будь-яка помилка, многочлен якої ділиться на g(x), знайденою не буде. Отже, виявлення помилки поліноміальним кодом з твірним поліномом g(x) може бути здійснене за допомогою ділення многочленів: якщо залишок від ділення многочлена прийнятої послідовності на твірний поліном g(x) ненульовий, то при передачі відбулося спотворення даних.
22 Як побудувати твірну матрицю лінійного блокового коду із заданими характеристиками?
Твірна матриця лінійного блокового коду складається зk лінійно незалежних комбінацій коду,а всі інші кодові слова, крім нульового, - лінійні комбінації кодових слів, що входять до твірної матриці.
Найзручнішим і наочним способом задання лінійного блокового коду є його подання за допомогою твірної матриці.
одинична перевірна
підматрицяIkxkпідматрицяPkx(n-k)
Визначення.Лінійний блоковий систематичний (k, n)- код повністю визначається матрицею G розміром kn з двійковими матричними елементами. При цьому кожне кодове слово є лінійною комбінацією рядків матриці G, а кожна лінійна комбінація рядків G - кодовим словом.
Нехай m=(m1, m2, ... , mk) – блок повідомлення. Тоді кодовим словом буде послідовність u=mG, де для i=1, 2, ..., kui=mi; для i=k+1, ..., nui= m1p1i+ m2p2i+ ...+ +mkpki; i=1, 2, ..., n-k - номер стовпця перевірної частини Pk(n-k) твірної матриці Gkn.
Приклад 1 Розглянемо найпростіший лінійний блоковий (4, 7)-код, заданий твірною матрицею вигляду
.
Кодові слова даного коду знаходяться так:
u=mG=(m1,
m2,
m3,
m4)
=(m1,
m2,
m3,
m4,
m1+m3+m4,
m1+m2+m3,
m2+m3+m4).
Звідси випливає система перевірних рівнянь коду
Закодуємо, наприклад, послідовність m=(1011):
(1011)
=(
).
Лінійний блоковий код може бути заданийперевірною матрицеюH(n-k)n, що має таку властивість:
якщо деяка послідовність u є кодовим словом лінійного блокового коду, заданого перевірною матрицею H(n-k)n, тоuH= 0, тобто перевірна матриця ортогональна будь-якій кодовій послідовності даного коду.
Перевірна матриця має розмірність (n-k)n і таку структуру:
,
де - транспонована перевірна підматриця твірної матриці Gkn; - одинична підматриця.
З властивості перевірної матриці лінійного блокового коду випливає, що за її допомогою можна визначити, чи є прийнята послідовність кодовим словом даного коду чи ні.
Приклад2 Для розглянутого прикладу лінійного блокового (4, 7)- коду перевірна матриця матиме вигляд
.
Нехай прийнята послідовність y=(1011001). Перевіримо, чи є вона кодовим словом даного коду:
=(1011001)
=(1
0 1) ≠0.
Отже, послідовність (1011001) не кодове словом даного коду.
