AMI-Code
Der AMI-Code (Alternate Mark Inversion) ist ein pseudoternärer Leitungscode zur Übertragung von Daten.
Ternär bedeutet, dass bei diesem Code drei Signalwerte (−, 0, +) benutzt werden, um die 2 Zustände eines Bits zu codieren. Eine logische 0 wird dabei als physikalische 0 übertragen, eine 1 abwechselnd durch − oder +. Dadurch wird eine Gleichstromkomponente vermieden. Bei langen Nullfolgen besitzt er aber nur eine geringe Taktinformation, so dass für den Empfänger eine Taktrückgewinnung schwierig ist. Deswegen wird er in dieser Form meistens nur mit einem Scrambler verwendet. B8ZS und HDB3 sind Modifikationen des AMI-Codes, bei denen mithilfe von absichtlichen Coderegelverletzungen die Taktinformation erhalten bleibt.
Das AMI-Code-Verfahren wurde vor allem benötigt, um Signale über vorhandene Transformatoren im öffentlichen Fernsprechnetz senden zu können – also um reinen Wechselstrom zu erhalten, die man transformieren bzw. im vorhandenen Netz übertragen kann.
Wenn eine logische 1 durch denselben Zustand wie die vorherige 1 übertragen wird, spricht man von einer Coderegelverletzung. Durch gezielte Coderegelverletzungen können bei einer rahmenbasierten Übertragung verschiedene Rahmen getrennt werden.
Der Modifizierte AMI-Code ist eine Variante des AMI-Codes mit umgekehrter Zuordnung der zu kodierenden Bits. Die logische 1 wird hier als physikalische 0 übertragen, während die logische 0 abwechselnd durch − bzw. + übertragen wird. Diese Variante wird unter anderem auf dem S0-Bus im ISDN verwendet.