Кодиране, Компютърни мрежи
Разбъркването се състои в изчисляване бит по бит на резултантния код въз основа на битовете на изходния код и битовете на резултантния код, получени в предишни цикли. Например скрамблер може да реализира следната връзка:
Тук Bi е двоичната цифра на резултантния код, получен в i-тия цикъл на операцията на скрамблера,Ai е двоичната цифра на изходния код, който пристига на входа на скрамблера в i-тия цикъл,Bi-3 иBi-5 са двоичните цифри на резултантния код, получен в предишните цикли на операцията на скрамблера (3 и 5 цикли по-рано от текущия цикъл, съответно) и комбинирани от операцията XOR (събиране по модул 2).

Така на изхода на скрамблера ще се появи кодът 110001101111, който не съдържа последователността от шест нули, присъстваща в изходния код. След като получи получената последователност, приемникът я предава на дескраблера, който реконструира оригиналната последователност въз основа на обратната връзка:
Различните алгоритми за разбъркване се различават по броя на термините, които дават цифрата на резултантния код, и отместването между термините. И така, в ISDN мрежите при прехвърляне на данни от мрежата към абоната се използва трансформация с измествания от 5 и 23 позиции, а при прехвърляне на данни от абоната към мрежата с измествания от 18 и 23 позиции.
Има и по-прости методи за работа с поредици от единици, също класифицирани като кодиране. За подобряване на биполярния AMI код се използват два метода, базирани на изкуствено изкривяване на последователността от нули чрез забранени символи.
Фигура 1 илюстрира използването на методите B8ZS (биполярно със заместване с 8 нули) и HDB3 (биполярно с висока плътност 3 нули) за коригиране на AMI кода. Изходният код се състои отдве дълги поредици от нули: в първия случай - от 8, а във втория от 5.
Кодът B8ZS коригира само последователности, състоящи се от 8 нули. За да направи това, след първите три нули, вместо останалите пет нули, той вмъква пет цифри: V-1*-0-V-1*. Тук V означава сигнал за единица, забранен (нарушения) за даден цикъл на полярност, т.е. сигнал, който не променя полярността на предишния, 1* е сигнал на единица с правилна полярност (знакът звездичка отбелязва факта, че в изходния код в този цикъл не е имало единица, а нула). В резултат на това приемникът вижда 2 изкривявания за 8 тактови цикъла - много малко вероятно е това да се случи поради шум по линията или други повреди в предаването. Следователно получателят счита такива нарушения за кодиране на 8 последователни нули и при получаване ги заменя с оригиналните 8 нули. Кодът B8ZS е конструиран по такъв начин, че неговият постоянен компонент е нула за всяка последователност от двоични цифри.

Ориз. 1. Кодове B8ZS и HDB3
Кодът HDB3 коригира всеки четири съседни нули в оригиналната последователност. Правилата за генериране на код HDB3 са по-сложни от кода B8ZS. Всеки четири нули се заменят с четири сигнала, които имат един сигнал V. За да се потисне DC компонентът, полярността на сигнала V се обръща при последователни промени.
В допълнение, два модела от четирициклични кодове се използват за подмяна. Ако първоначалният код съдържа нечетен брой 1s преди замяната, се използва последователността 000V, а ако броят на 1s е четен, се използва последователността 1*00V.
Подобрените кандидат кодове имат доста тясна честотна лента за всякакви последователности от 1s и 0s, които се срещат в предаваните данни. На фиг. 2 показва спектрите на сигнали от различни кодове, получени чрез произволно предаванеданни, в които различни комбинации от нули и единици в изходния код са еднакво вероятни. При конструирането на графики спектърът беше осреднен за всички възможни набори от първоначални последователности. Естествено, получените кодове могат да имат различно разпределение на нули и единици. От фигурата се вижда, че потенциалният NRZ код има добър спектър с един недостатък - има постоянен компонент. Кодовете, получени от потенциалния код чрез логическо кодиране, имат по-тесен спектър от кода на Манчестър, дори при повишена тактова честота (на фигурата спектърът на кода 4V / 5V трябва приблизително да съвпада с кода B8ZS, но е изместен към по-високи честоти, тъй като неговата тактова честота е увеличена с 1/4 в сравнение с други кодове). Това обяснява преобладаващото използване в модерните технологии като FDDI, Fast Ethernet, Gigabit Ethernet, ISDN и т.н. на потенциални излишни и кодирани кодове вместо Манчестърския и биполярния импулсен код.

Ориз. 2 Спектри на потенциални и импулсни кодове