Коли мова йде про лінійних кодах, кодові комбінації прийнято називати кодовими векторами (КВ).
Лінійний код зазвичай позначають як. де - значность КВ, - число інформаційних символів. Отже, число перевірочних (контрольних) символів.
Побудова лінійного починається з вибору числа інформаційних розрядів в кодових векторах. Це число вибирається, виходячи з необхідного обсягу коду. тобто максимального числа повідомлень, потрібних передавати.
У разі передачі двійковим кодом величина повинна задовольняти нерівності:
(Одиниця віднімається з тому, що нульова комбінація зазвичай не використовується при передачі, тому що не змінює стану каналу).
Після вибору визначається число контрольних розрядів. необхідне для отримання необхідної коректує здатності коду.
Якщо потрібно виправляти всі одиночні помилки (кодова відстань коду), величина вибирається з таких міркувань. Під впливом перешкод може бути спотворений будь-який символ в n-значному КВ, тобто для кожного кодового вектора можливо результатів передачі (враховує правильну передачу). За допомогою контрольних символів потрібно розрізняти всі можливі наслідки передачі. Це можливо, якщо виконується умова:
де - число сполучень з по 1.
Рівняння (2.10) є трансцендентним відносно. тому при невеликих величину визначають простим підбором, приймаючи мінімальне значення. задовольняють (2.10).
При великих для визначення при можна використовувати емпіричне співвідношення:
де - знак округлення до найближчого більшого числа.
Якщо необхідно виправляти не тільки все поодинокі, але і всі подвійні незалежні помилки, величина повинна вибиратися відповідно до умовою:
Після визначення складається утворює матриця, що складається з рядків і стовпців. У загальному вигляді утворює матриця має вигляд:
Кодові вектори, що входять в утворить матрицю, є вихідними дозволеними. Оскільки двійковий лінійний код є груповим по додаванню, інші дозволені КВ виходять шляхом підсумовування по модулю 2 рядків утворює матриці спочатку попарно, потім по три, нарешті, всіх -строк.
Як рядків утворює матриці можуть бути взяті будь-КВ, що відповідають таким умовам. Вони мають бути:
2) відстають один від одного на заданий кодове відстань;
4) мати вагу не менше заданого кодового відстані коду;
Останнім кроком в побудові лінійного коду є складання перевірочної (контрольної) матриці, що має n стовпців і m рядків. У загальному вигляді контрольна матриця має вигляд:
Елементи. складові контрольну матрицю, являють собою елементи КВ, ортогональних будь-яким дозволеним кодовим векторах. Якщо позначити через V фіксованого КВ даного лінійного коду, а через U вектор контрольної матриці, то умова ортогональності КВ V і U в математичній формі записується так:
де і . . - відповідно, елементи дозволених КВ і векторів контрольної матриці.
Крім того, що будь-який вектор контрольної матриці повинен бути ортогонален будь-якому дозволеному КВ, матриця в цілому повинна задовольняти наступній вимозі: в контрольній матриці не повинно бути нульових і однакових стовпців.
Після побудови контрольної матриці лінійний код є повністю визначеним. На етапі кодування КВ формується так, щоб він був ортогонален кожному з векторів контрольної матриці, а на етапі декодування прийнятий КВ, можливо містить помилки, перевіряється на ортогональность векторах матриці H.
Побудувати лінійний -код, що дозволяє виправляти всі одиночні помилки, якщо необхідний обсяг коду.
1. Визначаємо необхідне число інформаційних розрядів. Згідно (2.9) маємо:. . звідки.
2. Відповідно до (2.11) визначаємо необхідну кількість контрольних розрядів:
Отже,. а код має формат (7, 4).
3. Складаємо утворить матрицю.
Так як лінійний код повинен виправляти одноразові помилки, то кодова відстань між комбінаціями утворює матриці має задовольняти умові (2.8):. З огляду на, що вектори утворює матриці (2.13) є дозволеними, в подальшому на підставі умови ортогональності векторів V і U підбираються коефіцієнти так, щоб в контрольній матриці не було нульових і однакових стовпців. В результаті виконання цих дій отримана контрольна матриця (2.16). (При виконанні контрольної роботи матриця Н буде задана.)