Іншим серйозним недоліком методу NRZ є наявність низькочастотної складової, яка наближається до нуля при передачі довгих послідовностей одиниць або нулів. Через це багато каналів зв'язку, що не забезпечують прямого гальванічного з'єднання між приймачем і джерелом, цей вид кодування не підтримують. В результаті в чистому вигляді код NRZ в мережах не використовується. Проте використовуються його різні модифікації, в яких усувають як погану самосинхронізацію коду NRZ, так і наявність постійної складової. Привабливість коду NRZ, через яку має сенс зайнятися його поліпшенням, складається в досить низькій частоті основної гармоніки f0, яка дорівнює N / 2 Гц, як це було показано в попередньому розділі. У інших методів кодування, наприклад манчестерського, основна гармоніка має більш високу частоту.
Метод біполярного кодування з альтернативною інверсією
Однією з модифікацій методу NRZ є метод біполярного кодування з альтернативною інверсією (Bipolar Alternate Mark Inversion, AMI). У цьому методі (рис. 2.16, б) використовуються три рівні потенціалу - негативний, нульовий і позитивний. Для кодування логічного нуля використовується нульовий потенціал, а логічна одиниця кодується або позитивним потенціалом, або негативним, при цьому потенціал кожної нової одиниці протилежний потенціалу попередньої.
Код AMI частково ліквідує проблеми постійної складової і відсутності самосинхронизации, властиві коду NRZ. Це відбувається при передачі довгих послідовностей одиниць. У цих випадках сигнал на лінії являє собою послідовність різнополярних імпульсів з тим же спектром, що і у коду NRZ, передає чергуються нулі і одиниці, тобто без постійної складової і з основною гармонікою N / 2 Гц (де N - бітова швидкість передачі даних) . Довгі ж послідовності нулів також небезпечні для коду AMI, як і для коду NRZ - сигнал вироджується в постійний потенціал нульовий амплітуди. Тому код AMI вимагає подальшого поліпшення, хоча завдання спрощується - залишилося впоратися тільки з послідовностями нулів.
В цілому, для різних комбінацій біт на лінії використання коду AMI приводить до більш вузького спектру сигналу, ніж для коду NRZ, а значить, і до більш високої пропускної здатності лінії. Наприклад, при передачі одиниць, що чергуються, і нулів основна гармоніка fo має частоту N / 4 Гц. Код AMI надає також деякі можливості по розпізнаванню помилкових сигналів. Так, порушення строгого чергування полярності сигналів говорить про помилковий імпульсі або зникнення з лінії коректного імпульсу. Сигнал з некоректною полярністю називається забороненим сигналом (signal violation).
У коді AMI використовуються не два, а три рівня сигналу на лінії. Додатковий рівень вимагає збільшення потужності передавача приблизно на 3 дБ для забезпечення тієї ж достовірності прийому біт на лінії, що є загальним недоліком кодів з декількома станами сигналу в порівнянні з кодами, які розрізняють тільки два стани.
Цифрове кодування. Принципи, переваги і недоліки методів "Біполярного імпульсного кодування", "Манчестерського кодування", "Потенційного кодування 2B1Q".
Біполярний імпульсний код
Крім потенційних кодів в мережах використовуються й імпульсні коди, коли дані представлені повним імпульсом або ж його частиною - фронтом. Найбільш простим випадком такого підходу є біполярний імпульсний код, в якому одиниця представлена імпульсом однієї полярності, а нуль - інший (рис. 2.16, в). Кожен імпульс триває половину такту. Такий код має відмінні самосінхронізірующіхся властивостями, але постійна складова, може бути присутнім, наприклад, під час передачі довгою послідовності одиниць або нулів. Крім того, спектр у нього ширше, ніж у потенційних кодів. Так, при передачі всіх нулів або одиниць частота основної гармоніки коду буде дорівнює N Гц, що в два рази вище основної гармоніки коду NRZ і в чотири рази вище основної гармоніки коду AMI при передачі одиниць, що чергуються, і нулів. Через занадто широкого спектру біполярний імпульсний код використовується рідко.
У локальних мережах до недавнього часу найпоширенішим методом кодування був так званий манчестерський код (рис. 2.16, г). Він застосовується в технологіях Ethernet і Token Ring.
У манчестерському коді для кодування одиниць і нулів використовується перепад потенціалу, тобто фронт імпульсу. При манчестерському кодуванні кожен такт ділиться на дві частини. Інформація кодується перепадами потенціалу, що відбуваються в середині кожного такту. Одиниця кодується перепадом від низького рівня сигналу до високого, а нуль - зворотним перепадом. На початку кожного такту може відбуватися службовий перепад сигналу, якщо потрібно представити кілька одиниць або нулів підряд. Так як сигнал змінюється принаймні один раз за такт передачі одного біта даних, то манчестерський код володіє хорошими самосінхронізірующіхся властивостями. Смуга пропускання манчестерського коду вужче, ніж у біполярного імпульсного. У нього також немає постійної складової, а основна гармоніка в гіршому випадку (при передачі послідовності одиниць або нулів) має частоту N Гц, а в кращому (при передачі одиниць, що чергуються, і нулів) вона дорівнює N / 2 Гц, як і у кодів AMI або NRZ. В середньому ширина смуги манчестерського коду в півтора рази вже, ніж у біполярного імпульсного коду, а основна гармоніка коливається поблизу значення 3N / 4. Манчестерський код має ще одну перевагу перед біполярним імпульсним кодом. В останньому для передачі даних використовуються три рівні сигналу, а в манчестерському - два.
Потенційний код 2B1Q
На рис. 2.16, д показаний потенційний код з чотирма рівнями сигналу для кодування даних. Це код 2B1Q, назва якого відображає його суть - кожні два біти (2В) передаються за один такт сигналом, що має чотири стани (1Q), Парі біт 00 відповідає потенціал -2,5 В, парі біт 01 відповідає потенціал -0,833 В, парі 11 - потенціал +0,833 в, а парі 10 - потенціал +2,5 В. при цьому способі кодування потрібні додаткові заходи по боротьбі з довгими послідовностями однакових пар біт, так як при цьому сигнал перетворюється в постійну складову. При випадковому чергуванні біт спектр сигналу в два рази вже, ніж у коду NRZ, так як при тій же бітової швидкості тривалість такту збільшується в два рази. Таким чином, за допомогою коду 2B1Q можна по одній і тій же лінії передавати дані в два рази швидше, ніж за допомогою коду AMI або NRZI. Однак для його реалізації потужність передавача повинна бути вище, щоб чотири рівні чітко розрізнялися приймачем на тлі перешкод.