修正AMIコードは、システム同期を維持するためのデジタル通信技術です。交互マーク反転(AMI)ラインコードは、意図的に双極性違反を挿入することによって修正されます。修正AMIコードにはいくつかの種類があり、さまざまなTキャリアシステムおよびEキャリアシステムで使用されています。
受信Tキャリアのクロックレートは、そのバイポーララインコードから抽出されます。各信号遷移は、受信機が送信機のクロックを確認する機会を提供します。AMIコードは、各マーク(1ビット)の前後に必ず遷移が存在することを保証しますが、隣接するスペース(0ビット)の間には遷移が存在しないようにします。ペイロードに長いゼロ列が存在する場合に同期が失われるのを防ぐため、同期を維持するのに十分な数の遷移を生成するために、意図的にバイポーラ違反がラインコードに挿入されます。これは、ランレングス制限符号化の一種です。受信端末装置はバイポーラ違反を認識し、バイポーラ違反に起因するマークをユーザデータから削除します。
Tキャリアはもともと音声アプリケーション向けに開発されました。音声信号をTキャリアで伝送するためにデジタル化する場合、データストリームには常に同期を維持するために十分な1ビットが含まれます。(これを助けるために、音声信号をデジタル化するμ-lawアルゴリズムは、無音を連続した1ビットのストリームとして符号化します。)しかし、デジタルデータの伝送に使用する場合、従来のAMIラインコードでは、受信クロックを回復するための十分なマークが得られず、同期が失われる可能性があります。これは、伝送されるユーザデータに連続するゼロが多すぎる場合に発生します。
特定の場合に送信されるバイポーラ違反の正確なパターンは、回線速度(すなわち、 Tキャリア階層における回線コードのレベル)と、許容できないほど長いゼロ列の直前のユーザデータ内の最後の有効なマークの極性によって決まります。マークの直後に違反があると遷移が発生しないため、有用ではありません。このため、すべての修正AMIコードには、各違反マークの前にスペース(0ビット)が含まれています。
以下の説明では、「B」は前のマークとは逆の極性を持つバランスマークを表し、「V」は前のマークと同じ極性を持つ双極性違反マークを表します。AMI コーディングの望ましいDC バイアスの排除を維持するためには、正のマークの数と負のマークの数が等しくなければなりません。バランス ( B ) マークの場合はこれは自動的に行われますが、ライン コードは正と負の違反マークが互いにバランスするようにする必要があります。
マークの最小密度を確保するために最初に用いられた手法は、ビットスタッフィングの一種であるゼロコード抑制であり、送信される各8ビットバイトの最下位ビットを1に設定するものでした(このビットは、ビット盗用信号処理のため既に利用できませんでした)。これにより、AMIコードを一切変更する必要がなくなりましたが、利用可能なデータレートはDS0音声チャネルあたり毎秒56,000ビットに制限されました。また、1の最小密度が低い(12.5%)ため、スパンにおけるクロックスリップが増加する場合もありました。
帯域幅に対する需要の増加、および毎秒64,000ビットを要求するG.703およびISDN PRI規格との互換性により、このシステムはB8ZSに取って代わられた。
北米のT1(デジタル信号1)1.544 Mbit/s回線コードで一般的に使用されるバイポーラ8ゼロ置換(B8ZS)は、連続する8つのゼロの各文字列を特殊パターン「000VB0VB」に置き換えます。前のマークの極性に応じて、000+−0−+または000−+0+−になります。
北米のT2レート(6.312 Mbit/s)では、6つ以上の連続するゼロが発生すると、バイポーラ違反が挿入されます。このラインコードは、6つのゼロ置換付きバイポーラ(B6ZS)と呼ばれ、6つの連続するゼロを「 0VB0VB 」というパターンに置き換えます。前のマークの極性によっては、0+−0−+または0−+0+−になる可能性があります。
欧州の電子搬送システム全レベルで使用されている高密度バイポーラ符号(HDB3)は、4ビット連続する0ビットを「 000V」または「B00V 」のいずれかのパターンに置き換えます。この選択は、連続する違反が異なる極性、つまり奇数個の通常の+または-マークで区切られることを保証するために行われます。
これらのルールは、元の文字列からコードが構築される際に適用されます。コードに 4 つの連続するゼロがあるたびに、それらは 000−、000+、+00+、または −00− のいずれかに置き換えられます。使用するパターンを決定するには、最後の違反ビット V 以降のプラス (+) の数とマイナス (−) の数を数え、一方から他方を減算する必要があります。結果が奇数の場合は 000− または 000+ が使用されます。結果が偶数の場合は +00+ または −00− が使用されます。使用する極性を決定するには、4 つのゼロの前のパルスを確認する必要があります。000V 形式を使用する必要がある場合は、V は最後のパルスの極性を単純にコピーします。B00V 形式を使用する必要がある場合は、選択された B と V は最後のパルスの逆の極性を持ちます。
以下に、AMIとHDB3を用いたビットストリーム符号の例を示します。いずれも同じ開始条件を前提としています。すなわち、直前の1ビットは−であり、直前の違反は偶数ビット前の1ビットであったとします。(例えば、直前のビットは++−であった可能性があります。)
北米のT3レート(44.736 Mbit/s)では 、3つ以上の連続するゼロが発生すると、バイポーラ違反が挿入されます。このラインコードは、3つのゼロ置換付きバイポーラ(B3ZS)と呼ばれ、HDB3と非常によく似ています。3つの連続するゼロはそれぞれ「 00V」または「B0V 」に置き換えられます。これは、連続する違反が異なる極性、つまり奇数個の通常のBマークで区切られるようにするためです。
3つの状態を持つその他のラインコード:
この記事は、連邦規格1037C(一般調達局)からのパブリックドメイン資料を組み込んでいます。 2022年1月22日にオリジナルからアーカイブされました。