Кодування (телекомунікації)
Кодування — перетворення вхідного коду, який може бути представлений послідовністю бітів, у вихідний код, який з відносно великою ймовірністю може бути переданий без втрат через телекомунікаційні мережі.
Призначення
Необхідність кодування при передачі даних пов'язана з самою природою даних. Так, у випадку даних, що підряд містять кілька двійкових нулів або одиниць, за відсутності кодування потік даних містив би фрагмент з нулів або одиниць, тобто імпульс, довжина якого буде визначатись довжиною ланцюжка нулів або одиниць. При цьому передача даних без кодування вимагала б:
- надретельної синхронізації частот приймача та передавача (так, при передачі пакету довжиною 1 кБ або 8096[Що?] біт, який містив би всі нулі або всі одиниці, точність синхронізації, згідно з теоремою Котельникова, мала б становити 1/(2*8096) або 0.006%);
- надширокої смуги пропускання телекомунікаційного каналу.
Саме тому в системах передачі даних застосовують кодування інформації з використанням кодів, що забезпечують самосинхронізацію передавача і приймача, яка досягається шляхом регулярних змін рівнів сигналу в каналі навіть у випадках передачі незмінних даних та/або додаванням спеціальних старт-стопових біт. Чим частіше відбуваються переходи рівня сигналу, тим надійніше здійснюється синхронізація приймача і впевненіше проводиться ідентифікація прийнятих бітів даних. Найкращими вважаються такі коди, які забезпечують перехід рівня сигналу не менше одного разу протягом інтервалу часу, необхідного на прийом одного інформаційного біта.
Методи кодування
Бінарне кодування
NRZ (англ. Non Return to Zero, без повернення до нуля) — найпростіший код, але має суттєвий недолік — наявність постійної складової, що унеможливлює забезпечення трансформаторної гальванічної розв'язки. Також потребує надійної високоякісної синхронізації частот приймача та передавача.
NZRI (англ. Non Return to Zero, Inverted, без повернення до нуля, інвертований) — теж саме, що NRZ, але значення бітів передаються не потенціалами, а змінами потенціалів. Як наслідок — дозволяє реалізувати гальванічну розв'язку.
Manchester — код з самосинхронізацією, логічному нулю відповідає зміна знаку в центрі біта в одному напрямку, логічній одиниці — в іншому.
Тернарне кодування
RZ (англ. Return to Zero, з поверненням до нуля) — логічному нулю відповідає зміна знаку в центрі біта в одному напрямку, логічній одиниці — в іншому. При цьому біти передаються в різній полярності, завдяки чому кодування є більш стійким до зашумлення каналу передачі.
MLT-3 (англ. Multi-Level Transmit 3, багаторівневий транспортинй 3) — є схожим з кодуванням NZRI, але використовує три рівні напруги.