При использовании прямоугольных импульсов для передачи дискретной информации необходимо выбрать такой способ кодирования, который одновременно достигал бы нескольких целей:
- имел при одной и той же битовой скорости наименьшую ширину спектра результирующего сигнала;
- обеспечивал синхронизацию между передатчиком и приемником;
- обладал способностью распознавать ошибки;
- обладал низкой стоимостью реализации.
Более узкий спектр сигналов позволяет на одной и той же линии (с одной и той же полосой пропускания) добиваться более высокой скорости передачи данных. Кроме того, часто к спектру сигнала предъявляется требование отсутствия постоянной составляющей, то есть наличия постоянного тока между передатчиком и приемником. В частности, применение различных трансформаторных схем гальванической развязки препятствует прохождению постоянного тока.
Синхронизация передатчика и приемника нужна для того, чтобы приемник точно знал, в какой момент времени необходимо считывать новую информацию с линии связи.
Рис. Синхронизация приемника и передатчика на небольших расстояниях.
Поэтому в сетях применяются так называемые самосинхронизирующиеся коды, сигналы которых несут для передатчика указания о том, в какой момент времени нужно осуществлять распознавание очередного бита (или нескольких бит, если код ориентирован более чем на два состояния сигнала). Любой резкий перепад сигнала — так называемый фронт — может служить хорошим указанием для синхронизации приемника с передатчиком.
Рис. Способы дискретного кодирования данных.
Потенциальный код без возвращения к нулю.
При передаче последовательности единиц сигнал не возвращается к нулю в течение такта. Метод NRZ прост в реализации, обладает хорошей распознаваемостью ошибок, но не обладает свойством самосинхронизации.
Метод биполярного кодирования с альтернативной инверсией (AMI).
В этом методе используются три уровня потенциала — отрицательный, нулевой и положительный. Для кодирования логического нуля используется нулевой потенциал, а логическая единица кодируется либо положительным потенциалом, либо отрицательным, при этом потенциал каждой новой единицы противоположен потенциалу предыдущей.
Потенциальный код с инверсией при единице (NRZI).
При передаче нуля он передает потенциал, который был установлен в предыдущем такте, а при передаче единицы потенциал инвертируется на противоположный.
Биполярный импульсный код.
В сетях используются импульсные коды – данные представлены полным импульсом или же его частью — фронтом. В этом коде единица представлена импульсом одной полярности, а ноль — другой.
Манчестерский код.
В манчестерском коде для кодирования единиц и нулей используется перепад потенциала, то есть фронт импульса. При манчестерском кодировании каждый такт делится на две части. Информация кодируется перепадами потенциала, происходящими в середине каждого такта. Единица кодируется перепадом от низкого уровня сигнала к высокому, а ноль — обратным перепадом.
Потенциальный код 2B1Q.
Этот код 2B1Q, название которого отражает его суть — каждые два бита (2В) передаются за один такт сигналом, имеющим четыре состояния (1Q), Паре бит 00 соответствует потенциал -2,5 В, паре бит 01 соответствует потенциал -0,833 В, паре 11 — потенциал +0,833 В, а паре 10 — потенциал +2,5 В.