(57)【特許請求の範囲】
【請求項１】
通信トラフィック信号の伝送における誤りを減少する通信システムであって、送信機と受信機とを有し、
該送信機は、
送信されるべきデータメッセージに対応する誤り検出検査語を発生する誤り検出信号発生器と、
前記データメッセージと前記誤り検出検査語とをコード化する誤り訂正エンコーダとを含み、
前記受信機は、
コード化データメッセージとコード化誤り検出検査語とを受信してデコードする誤り訂正デコーダを含み、該誤り訂正デコーダは、
送信された最大公算の候補メッセージデータ及び候補第１誤り検出ビットシーケンスに対応する複数の候補ビットシーケンスを発生する手段と、
前記候補ビットシーケンスの各々に関してデコードされたメッセージデータビットの関数として第２誤り検出ビットを計算する手段と、
前記候補ビットシーケンスの前記第２誤り検出ビットと前記候補ビットシーケンスの前記第１誤り検出ビットの推定値とを比較して誤り検出シンドロームを形成する手段と、及び
誤り無しを表す誤り検出シンドロームを持つ最尤の候補ビットシーケンスから第１の候補メッセージを選択する手段であって、そのような候補が存在しない時には、訂正可能な数の誤りを表すシンドロームを持つ最尤の候補ビットシーケンスから第２の候補メッセージを選択して、該選択された第２の候補メッセージ内の前記ビット誤りを訂正する該選択する手段とを含む、ことを特徴とする通信システム。
【請求項２】
請求の範囲第１項によるシステムにおいて、前記データメッセージと前記誤り検出検査語とがたたみ込みコードを使用してコード化される、前記システム。
【請求項３】
請求の範囲第１項によるシステムにおいて、前記デコーダが前記コード化データメッセージと前記コード化誤り検出検査語とをデコードするために逐次最尤シーケンス推定技術を使用する、前記システム。
【請求項４】
請求の範囲第１項によるシステムにおいて、前記デコーダが仮定されたビット状態と、前記仮定されたビット状態の各々に対する選択されたビットの履歴と、前記仮定されたビット状態の各々に対する信頼係数とを記憶するメモリを含む、前記システム。
【請求項５】
請求の範囲第１項によるシステムであって、
前記送信機はたたみ込みエンコーダを有する送信機であって、前記たたみ込みエンコーダが、
Ｌをたたみ込みコードの拘束長若しくは制約長さとするとき、データメッセージ情報と誤り検出検査語情報とのＬビットを記憶するＬビットシフトレジスタと、
パリティービットを発生するために前記Ｌビットの特定のものを論理的に組み合わせる論理回路と、
前記パリティービットを送信する手段と、
を含む、前記システム。
【請求項６】
請求の範囲第１項によるシステムにおいて、前記コード化データメッセージと前記コード化誤り検出検査語とがパリティービットである、前記システム。
【請求項７】
請求の範囲第１項によるシステムにおいて、送信されるべきN1個のメッセージビット及び前記誤り検出検査語のN2個の誤り検出ビットを前記データメッセージが含む、前記システム。
【請求項８】
請求の範囲第７項によるシステムにおいて、前記N2個の誤り検出ビットが、巡回冗長検査多項式による前記N1個のメッセージビットの多項式除算の際の剰余である、前記システム。
【請求項９】
請求の範囲第１項によるシステムにおいて、前記誤り訂正エンコーダが前記デコーダに未知のビットをコード化することによって初期化されかつ終結される、前記システム。
【請求項１０】
請求の範囲第１項によるシステムにおいて、前記誤り訂正エンコーダが前記デコーダに既知のビットをコード化することによって初期化されかつ終結される、前記システム。
【請求項１１】
伝送から起こるデータビット誤りの発生率を減少させるために適合したデータ通信方法であって、
伝送されるべきメッセージ内へいくつかのメッセージデータビットをアセンブルするステップと、
前記メッセージデータビットの関数として第１誤り検出ビットを計算するステップと、
前記メッセージに前記誤り検出ビットを添付するステップと、
誤り訂正エンコーダ内で前記メッセージと前記添付された誤り検出ビットとをコード化して、伝送のために前記エンコーダからエンコーダビットを生成するステップと、
前記エンコーダビットを変調するステップと、
通信媒体を通して前記変調されたエンコーダビットを伝送するステップと、
伝送されたビットの推定値を受信するステップと、
前記受信された推定値を復調するステップと、
誤り訂正デコーダ内で前記復調された推定値をデコードするステップと、
伝送された最大公算の候補メッセージデータと候補第１誤り検出ビットシーケンスとに対応する複数の候補ビットシーケンスを発生するステップと、
前記候補ビットシーケンスの各々に関してデコード済みメッセージデータの関数として第２の誤り検出ビットを計算するステップと、
誤り検出シンドロームを形成するために前記複数の候補ビットシーケンスの前記第２の誤り検出ビットと前記複数の候補ビットシーケンスの前記第１の誤り検出ビット推定値とを比較するステップと、
誤り無しを表す誤り検出シンドロームを有する最尤の候補ビットシーケンスから第１候補メッセージを選択して、そのような候補が存在しない時には、訂正可能な数の誤りを表すシンドロームを持つ最尤の候補ビットシーケンスから第２の候補メッセージを選択して該選択された第２の候補メッセージ内の前記ビット誤りを訂正するステップとを含む、ことを特徴とするデータ通信方法。
【請求項１２】
請求の範囲第11項によるデータ通信方法において、前記第１及び第２の誤り検出ビットが巡回冗長検査多項式による前記メッセージデータビットの多項式除算の際の剰余である、前記データ通信方法。
【請求項１３】
請求の範囲第11項によるデータ通信方法において、前記誤り訂正エンコーダがたたみ込みエンコーダである、前記データ通信方法。
【請求項１４】
請求の範囲第13項によるデータ通信方法において、前記誤り訂正エンコーダが末端ビッテイングを使用するたたみ込みエンコーダであり、前記データ通信方法が、
前記伝送に先立ち前記受信するデコーダにとって未知のデータビットを送り込むことによって前記エンコーダを初期化するステップと、
前記データビットを再び送り込むことによって前記エンコーダを終結させるステップと、
を更に含む前記データ通信方法。
【請求項１５】
請求の範囲第13項によるデータ通信方法において、
前記伝送に先立ち前記受信をするデコーダにとって既知のビットパターンを送り込むことによって前記エンコーダを初期化するステップと、
前記ビットパターンを再び送り込むことによって前記エンコーダを終結させるステップと、
を更に含む前記データ通信方法。
【請求項１６】
請求の範囲第11項によるデータ通信方法において、前記誤り検出デコーディングが逐次最尤シーケンス推定ビタビアルゴリズムを使用する、前記データ通信方法。
【請求項１７】
請求の範囲第11項によるデータ通信方法であって、
前記誤り検出ビット比較の順位を決定するために完全入力信号シーケンスのデコーディングに続き前記デコーダの最終状態のそれぞれの経路計量の昇順に従って前記候補ビットシーケンスを分類するステップを更に含む前記データ通信方法。
【発明の詳細な説明】
背景
本発明は、信号通信に使用されるデコーディングシステム、特に誤り検出及び誤り訂正コーディングの両方を使用して送信されたデータメッセージをデコードするデコーディングシステムに関する。
無線通信路のような、誤りを犯しやすい通信路を通してのデータ伝送においては、誤り検出コーディング及び／又は誤り訂正コーディングが、伝送されたデータ内の誤りを減少させるために採用されることがある。伝送される情報はしばしばディジタル情報であり、このディジタル情報は情報の２進ビットで構成されたメッセージと云う言葉で以て最も容易に概念化され、ここに各ビットは１又は零のどちらかであり得る。そして、任意のメッセージは、いくつかの１とこれに所定に介在したいくつかの零を含むまさにストリングである。Ｌビットのどんなストリングも2L個の特有のメッセージの１つを表すことができることは、理解されるであろう。
ディジタル情報に対する誤り検出コーディング及び誤り訂正コーディングは、明確に異なる型式であり、かつ共に重要である。誤り検出コーディングの簡単な例は、メッセージの同等のコピーをそのメッセージに追加し、両方を伝送し、かつ受信したメッセージを受信したコピーとビット対ビット比較を遂行する。各ビット位置毎の、メッセージとコピーとの間のいかなる不一致も、伝送誤りの証拠である。メッセージに対する不一致の合計数は、データ伝送の信頼性の量的測度である。メッセージ及びコピーの両方における同じビット位置での同時誤りは不一致と認識されないので、不一致の合計数は信頼性の不正確な尺度であることは、理解されるであろう。
普通の誤り検出技術、巡回冗長検査（CRC）技術は、データメッセージのビットに基づいて決定される「検査」ビットを発生しかつメッセージに追加する。検査ビットは、所与のメッセージに特有である「検査語」を構成する。検査語はメッセージに添付されることがあり、両者は同じエンコーダを通して処理され、両者は通信路を通して一緒の伝送され、かつ両者は受信機内の同じデコーダを通して処理される。その際、受信機内のCRC計算器が、受信されたデコード済みメッセージビットに相当する検査ビットを発生することがあり、この受信機で計算された検査語がメッセージと共に受信されたデコーダ済み検査語と比較されることがある。いかなる非追従性も伝送において検出された誤りを指示し、追従性（コンプライアンス）の程度はデータ伝送の信頼性の量的尺度として使用することができる。
これに対比して、誤り訂正コーディングの簡単な例は、任意のメッセージのいくつかの同等のコピーを伝送し、かつ受信機で受信された全メッセージのビット対ビット比較を遂行する。受信機から出力されたメッセージのビットが果たして１または零であるかどうかが「ビットデモクラシー」に基づいて決定されることがある、すなわち、そのビット位置に対して受信されたビット値の多数決で出力を決定する。伝送誤りはメッセージコピーの間にランダムに分布されていると仮定してよく、したがって、コピーの多数において同じ位置に起こる公算は少ないであろう。
既知の誤り訂正技術の１つはたたみ込み符号化（コーディング）であり、このコーディングにおいては、パリティービットとして知られる、伝送されるビットがメッセージビットに基づいて決定される。メッセージビットは、一つの期間においてはＬビットであると考えて、ｒビットのパリティービットがＬビットのメッセージビット毎に伝送される。例えば、パリティービットは、メッセージの種々のビットの或るブール組合わせであるとして計算される。
たたみ込み符号化パリティービットの伝送は、一般に、たたみ込みコーディングを、例えば、ブロックコーディングのような代替コーディング方式から区別し、ブロックコーディングにおいては少数のメッセージビットが１つの冗長ブロックコードワードに変換され、いくつかのこのようなブロックコードワードが伝送されて全メッセージを送り届ける。
後述するように、本発明を他の型式のコーディングに応用してもよいが、本発明は最初にたたみ込コーディングとの関係において以下に説明される。したがって、既知のたたみ込みコーディング技術の概説が、本発明の背景を理解する一助として以下に与えられる。
第１図に送信機20が図解されており、これはたたみ込みエンコーダ22を有し、このエンコーダはシフトレジスタ24を含み、このレジスタを通してコード化されるべき情報のビットがシフトされる。このシフトレジスタは限定された数Ｌのビットを保持し、コードは一度に考えられたＬビットであると制約されているので、数Ｌは既知である。どれかの瞬間に、B1、B2、B3、B4、...、BLで識別されるシフトレジスタ24内のビットが、組合わせ論理回路網26へ印加され、この回路網はビットの２つ以上の異なるブール組合わせを発生する。第１図によって図解されるように、シフトレジスタ24内のビットはCRC誤り検出発生器28によって提供されることがあり、この発生器は伝送されるべきメッセージ情報を受信しかつ上記に説明されたように検査ビットを発生してメッセージに追加する。
回路網26によって発生された組合わせは、上記に説明されているパリティービットであり、かつP1、P2、...、Prで指定されている。パリティービットは通信路を通して受信機30へ伝送され、受信機はデコーダ32を有し、これはパリティービットをデータビットB1、B2、B3、...、BLに、かつ最終的に伝送されたメッセージ情報に戻すように変換する。
第１図に図解されたた通信システムの代替実施例が第２図に描かれている。第１図に示された組合わせ論理回路網26の代わりに、送信機20は、ルックアップテーブル27を含み、このテーブルは従来メモリ内に記憶された2L記述項を含む。Ｌビットレジスタ24内容B1、B2、...、BLのパターンがルックアップテーブル27内のそれぞれの記憶事項をアドレス指定し、このことがパリティービットP1、P2、...、Prの特性集合を生成する。こうして、シフトレジスタ24内のビットのパターンのブール組合わせが、論理回路網26によって発生されるのではなく、ルックアップテーブル27内に記憶される。
もし２つのパリティービットがシフトレジスタ24を通るットの各シフト毎に発生されるならば、コードは速度1/2コードとして知られており、元のデータビットの２倍の多さのパリティービットが伝送される。もし伝送の速度が固定されているならば、このようなパリティービットを伝送するに要する時間は、元のデータビットを伝送するに要する時間の２倍の長さである。より一般的には、もしｒビットのパリティービットが全てのシフトにおいて発生されるならば、コードは速度1/rコードとして知られている。典型的に、パリティービット伝送速度は、ｒとメッセージ情報ビット速度との積となるように適応している。
例えば、５の制約長さ（拘束長）（constraint  length）を有する速度（レート）（rete）1/2コードのパリティービットを発生するブール組合わせ方程式は、
P1＝B1＋B2＋B3＋B5
P2＝B1＋B4＋B5
であり、ここに「＋」はモジュロ２の加算を表す。モジュロ２の加算は、
０＋０＝0;0＋１＝１＋０＝1;1＋１＝0.
であるので、排他的ORと論理的に等価であることが分かるであろう。
上記のように、ｒと入力データビットより多いパリティービット数との積は、速度1/rコードとして生成され、もし全パリティービットが伝送されるならば、ｒ倍の冗長性が提供されて誤りを除去する。しかしながら、パリティービットの全てを伝送する必要がないことが認められる。もし送信機及び受信機がどのパリティービットが伝送されないかを決定する或る規則的な方法について一致しているならば、その際はコードは孔あき（punctured）たたみ込みコードとして知られている。孔あきコードは、13/29のようなコーディング速度m/rを典型的に生じ、この場合r/mとメッセージ情報ビット速度との積である伝送速度への順応が要求される。
最適コードを生じる種々のコード速度及び制約長さに対するパリティー方程式のテーブルが技術文献に発表されている。例えば、Ｇ・クラーク・ジュニア及びＪ・ケインの「ディジタル通信用誤り訂正コーディング」、付録Ｂ、プレナム・プレス、ニューヨーク（1981）（G.Clarke,Jr.,and Cain,Error−Correction Coding for Digital Communications,Appendix B,Plenum Press,New York（1981））を参照。
たたみ込みコードをデコードする主要な既知の方法は、しきい値デコーディング、逐次最尤順序推定（Sequential Maximum Likelihood Sequence Estimation（SMLSE））、及びスタック（積み重ね）アルゴリズムである。SMLSE技術は、普通、ビタビ（Viterbi）アルゴリズムとして知られており、これは、Ｄ・フォーネイ「ビタビアルゴリズム」米国電気電子学会報告、巻61、268〜278頁（1973年３月）（D.Forney,“The Viterbi Algorithm",Proc.IEEE,Vol.61,pp.268−278（March,1973））に記載されている。コーディング方法の説明は、先に挙げたクラーク及びケインの文献に見られる。
SMLSEたたみ込みデコーディングアルゴリズムの動作は、５の制約長さを有する速度1/2コードに対して第３図によって図解されている。SMLSEデコーダ内に、複数の電子記憶素子33、34、35が状態と呼ばれる群になって配置されており、かつ状態の数は2L-1であり、ここにＬはデコードされるべきコードの制約長さである。これらの記憶素子は、少なくとも２つの型式の情報、すなわち、状態に関連して、素子33内のビット履歴（bit history）及び素子34内の経路計量（path metric）を保持する。更に、状態に関連した状態番号が、各々Ｌ−１ビットの２進ビットパターンとして素子34内に記憶されることがある。
経路計量は、仮定されたビット順序（ビットシーケンス）（bit sequence）と実際の（例えば、受信された）ビット順序（ビットシーケンス）（bit sequence）との間の相関の程度を表す信頼係数（confidence factor）と考えてよい。仮定されたビット順序と実際のビット順序とが一致する程度に、経路計量は小さくかつその仮定されたビット順序に関連した信頼は大きい。云うまでもなく、「仮定されたビット順序」、又は、単に「仮定」は、一般に、着目している実際のビット順序である確率を有するなんらかの擬似ビット順序を称する。それゆえ、仮定は、メッセージ情報ビット、パリティービット、又は他のコードワードを表すことができる。
ほとんどのSMLSEデコーダの重要な部分は、エンコーディングアルゴリズムの「コピー」38である。第１図に描かれた例示通信システムに対しては、コピー38は、Ｌビットシフトレジスタと、パリティーンビットP1、P2、...、Prを発生するためにエンコーダ22内に使用される方程式を実現する組合わせ論理回路網とであってもよい。代替的に、コピー38は、Ｌビットシフトレジスタと第２図に示されたシステムにおけるように電子メモリに記憶された2L記述項ルックアップテーブルとであってもよい。どちらの場合にも、2Lの仮定がコピー38によって発生され、かつ受信されたパリティービットと比較器39によって直接比較される。
記憶素子34内の（Ｌ−１）ビットの状態番号は、エンコーディングシフトレジスタ24の可能な内容の１ビット以外の全てを表す。第Ｌビットは、デコードされるべき次のビットを表し、かつ零又は１のどちらかである。両可能性は、状態番号によって表される他のビットの全ての可能な組合わせと関連して試験される。このようにして、全2Lビットの可能なビット組合わせがデコーダによって試験され、推移する信頼係数、即ち経路計量35が、仮定されたビット順序と受信されたビット順序との間の相関を評価するために記憶される。
SMLSEアルゴリズムのステップは、５の制約長さを有する速度1/2コードに対して、次のようである。
ステップ1.  まず、0000と番号を付けられた第１状態に対して、新ビットはまた零であると仮定される。従って、仮定00000がコピー38に印加されて、予測される２つのパリティービットP1（00000）及びP2（00000）を得る。このようにして、仮定情報が、第１及び２図に示すエンコーダ22内で使用される同じパリティー方程式を使用してコード化される。
ステップ2.  受信された実際のパリティービットP1（実際）及びP2（実際）が比較器39によって仮定されたパリティービットP1（00000）及びP2（00000）と比較される。比較は次の結果の１つを有する。すなわち、両ビットに関して整合、２つのビットの１つに関して整合し該２つのビットの他に関して不整合、又は両ビットに関して不整合である。もしP1（00000）及びP2（00000）の両方が、受信された実際のパリティービットP1（実際）及びP2（実際）と整合するならば、状態0000に関連しておりGpm（0000）によって表される経路計量に値零が加算器36によって加算される。同様に、もし１つの整合しか得られないならば、値１がGpm（0000）に加算される。もし、P1（00000）もP2（00000）も、受信された実際のパリティービットP1（実際）及びP2（実際）と整合しないならば、値２がGpm（0000）に加算される。このようにして、任意の状態に対する経路計量値が、特定状態に対する仮定されたビット順序と実際のビット順序との間の累算不整合を表す。状態に対する累算不整合が大きくなればなるほど、その状態に対する経路計量値は大きくなりかつ推移する信頼係数は小さくなる。
ステップ3.  ステップ１及び２が状態1000に対して繰り返される。零に仮定された新たな第５ビットを用いて、パターン10000がコピー38に印加され、かつその出力ビットP1（10000）及びP2（10000）が実際のビットP1（実際）及びP2（実際）と比較される。Gpm（1000）で指定された、状態1000に対する経路計量は、P1（実際）及びP2（実際）とP1（10000）及びP2（10000）との比較に基づいて、ステップ２におけるのと同じように更新される。
ステップ4.  状態0000及び1000に対する更新された経路計量、すなわち、Gpm（0000）及びGpm（1000）は、比較器37によって比較される。より低い経路計量、従って、より少ない不整合を有するどちらかの状態が、新状態0000になり、そのときコピー38によって生成されたビットパターン10000及び00000が１ビット位置左へシフトし、最左ビットが記憶素子33内のそれぞれのビット履歴内へシフトし、両場合において0000を残す。こうして、状態1000又は0000のどちらかが、新ビットが０である場合に次の状態0000に対する直接先行となり得る。どちらの状態がそれが最低経路計量を有するゆえに生残るかに依存して、エンコーダコピー38のパターンからはみ出して次の状態0000に対するビット履歴33の最右ビットになる最左ビットは、０又は１のどちらかである。更に、新たなビット履歴メモリ33内の他の相当するビットは、生残っている選択された状態からコピーされており、生残らなかった、すなわち、選択されなかった状態のビットに書き重ねられる。例えば、第３図に示されたように、もし経路計量Gpm（1000）が1.8であり、かつ経路計量Gpm（0000）が9.5であるならば、状態1000が選択されて生残り、左シフトしたビット10110111が、新たな状態0000に対して、ビット履歴33内へ書き重ねられる。
ステップ5.  新たなビットが１であると云う仮定を用いてステップ１−４が繰り返される。実際の受信されたビットに対する仮定00001及び10001が、それゆえ、コピー38にそれぞれ印加されて、期待されるパリティービットの対、P1（00001）、P2（00001）、及びP1（10001）、P2（10001）を得る。これらのパリティービット対が実際の受信されたパリティービットP1（実際）及びP2（実際）と比較され、更新された経路計量Gpm（0000）及びPpm（1000）を生じるようになり、これらの更新経路計量が次いで比較される。この結果、新たな状態0001を生じ、これがまた可能な直接先行状態0000及び1000を有する。
ステップ6.  ステップ１−５が直接先行状態の全ての他の対に対して繰り返される。すなわち、0001及び1001（新たな状態0010及び0011を生じる）、0010及び1010（新たな状態0100及び0101を生じる）、0011及び1011（新たな状態0110及び0111を生じる）、0100及び1100（新たな状態1000及び1001を生じる）、0101及び1101（新たな状態1010及び1011を生じる）、0110及び1110（新たな状態1100及び1101を生じる）、及び0111及び1111（新たな状態1110及び1111を生じる）である。
上の６つのステップの終了で、２つの実際の受信されたパリティービットが処理されており、１つの新たなデコード済みビットがビット履歴記憶素子33の全ての中へシフトされている。これらの記憶されたパターンは、最終SMLSE順序に対する候補である。１対の状態の１つが選択されて生残るときにおける、ビット履歴が他のビット履歴に書き重ねられるやり方のゆえに、記憶素子33内の古いビットは一致する傾向がある。もし全てのビット履歴内の古いビットが一致するならば、それらは最終判定として除去されてよく、ビット履歴記憶素子33は１ビットだけ短縮される。
速度1/4のような、他の速度に対するアルゴリズムも同様に進行するが、もっとも４つのパリティービットが各仮定によって発生され、かつ４つの受信されたビットと比較され、零、１つ、２つ、３つ、又は４つの不整合の累積経路計量に至る可能な増分を生じる。
既知のアルゴリズムの他の変形は、受信されたパリティービットがそれらのビット極性によってではなく、「１ネス（ness）」又は「０ネス」なる程度を表す大きさ又は品質尺度によって特徴付けされる。局部的に予測された仮定パリティービットとの不整合が検出されたときは、受信されたビット品質が高く、したがってその符号（sign）が事実正しいことの疑いがほとんどない場合の方が、品質が低く受信されたビット極性が疑わしい場合よりも、多くの量だけペナルティーを課せられる。「ハード」デコーディングに反してこの「ソフト」デコーディングは、「ソフト」ビット品質尺度を使用し、この尺度は−LOG（確率）に関係し、ここで「確率」はビット極性が正しいことの確率である。この対数尺度が使用されるとき、累積計量は、全ビット確率の積の対数に負の符号を付けたものを表す。その場合、最小累積計量を有する状態及びビット履歴順序は、正しいことの最高確率を有する順序を表す。通常、雑音はガウス型であると想定され、この場合、ペナルティー項をビット振幅の平方に比例するとして示すことができる。局部的に予測された仮定ビットと受信された高品質ビットとの間の不整合に対してペナルティーを課すことは、不整合が検出されたとき1/（−LOG（確率））に比例する項を累積対数尺度に加算することによって実施される。このような加算は、確率が高くて受信されたビット極性が正しく、かつ、それにもかかわらず依然不整合が検出されるときに限り、尺度に実質的に影響する。
このようなたたみ込みコーダ又はデコーダは、また、３進又は４進記号のような非２進記号を用いて働くように作ることができる。
たたみ込みデコーダの動作を改善することのできる３つの領域は、デコード済みビット順序の切捨て、全ての受信されたビットが処理されたときのデコーディングの終了、及び包括的な第２最良デコード済みビット順序の決定を含む。例えば、デコード済みビット順序の早期（premature）切捨ては情報の損失を生じるようになることがあり、デコーディング技術の既知の終了は単一の残存する候補のデコード済みデータメッセージ内の訂正されなかったメッセージビット誤りを残すおそれがある。本発明は、これらの厄介な問題を、デコード済みビット順序を切り捨てるための早期データビット決定を下す必要を回避することによって、かつデコーディングを終了させる一方、依然として複数の生存可能な候補デコード済みデータメッセージを保存することによって、解決する。
切捨て及び終端に関する既知の方法は、下に更に説明される本発明によって与えられる改善との対比の目的のために下に要約される。
履歴成長を切り捨てる既知の方法
必要とされるビット履歴メモリの長さを切り捨てる第１の既知の方法は、いったんメモリが満たされると最古ビットについて決定を行うことである。最古ビットは、最低累積距離を有する状態に関連した履歴メモリから取り出される。他の状態からの最古ビットが次いで廃棄され、メモリを１ビットだけ短縮しかつデコーディングを更に１ステージ進行させることを許す。受信された全てのパリティービットが処理されたとき、デコーディングの結果は、抽出されたビットに相当する単一データ順序とこれに続くそのメッセージの最後の部分に対する2(L-1)の候補であり、これらの候補は履歴メモリ内に依然としてあるビットに相当する。
切捨についての第２の既知の方法は、決定されたビットとして全ての状態の最古ビットにわたる多数決を形成し、かつ、次いで、進行する前に最古ビットを除去することである。
上の既知の方法の両方共、最古ビットについての早期決定を行うことによって情報を喪失する。
デコーディングを終了（終結）させる既知の方法
最新データビットがエンコーディングシフトレジスタ内へ送り込まれるとき、そのデータビットが、伝送されるいくつかの発生パリティービットに影響するようにこのデータビットを終始シフトさせなければならない。これは、末端（tail）ビットと呼ばれる更なるビットを、最新ビットをフラッシュして通すために背後から送り込まなければならないことを要求する。
終了についての既知の方法において、末端ビットは全零のような既知のビットパターンである。この場合の先行技術のデコーダ方法は、末端ビットに相当する各新ビットの仮定を既知の値に制約することである。それゆえ、零末端ビットに相当するパリティービットを処理した後、零で終了する状態番号のみが生成され、状態の数を半分にする。各逐次既知末端ビットが状態の数を半分にすることにより最終的に１つの状態だけが残存し、これがデコード済みデータメッセージとなる。この単一残存候補メッセージが未訂正ビット誤りを含むことはもちろん起こり得る。
真の第２最良順序の既知の決定
正規ビタビデコーダ内の2(L-1)通りの生残り候補順序は、包括的第２最良順序を必ずしも含まないが、もっともそれらは包括的最良順序を含むことは保証されている。Ｎ・セシャドリ及びＣ・Ｗ・サンドバーグの「たたみ込みコードを用いる一般化ビタビ検出」、米国電気電子学会報告、グローブコム、1989年、1534〜1538頁（1989年11月）（N.Seshadri and C.W.Sundberg entitled“Grneralized Viterbi Detection whit Convolutional Codes",Proc.IEEE Globecom.'89、pp.1535−1538（Nov.1989））によるたたみ込みデコーダへの発表された修正は、包括最良ばかりでなく包括的第２最良順序をも計算することを可能にする。これは、いくつかの状態を重複させることを要求する。それで、各状態毎に、現在までの最良及び第２最良経路計量が保持される。各反復で、４つの最良及び４つの第２最良が選択されて新たな状態に生残る。
３倍した数の状態が使用されるならば、包括的第３最良順序もまた上の方法によって計算されると云える。一般に、この方法による新の大域的第２及び第３最良順序の決定は、増大した複雑性を代償としてのみ達成される。一般に、もしＮ倍した数の状態が使用されるならば、包括的第Ｎ最良順序が計算されると云える。その際、現在までＮ個の最良経路計量が保持される。各反復で、2N個のうちからＮ個の最良経路計量が選択されて新たな状態へ生残る。
概要
通信トラフィック信号の伝送における誤りを減少する通信システム及び方法が提供される。伝送されるべきデータメッセージが誤り検出検査ワードを発生するために使用される。データメッセージ及びその相当する誤り検出検査ワードの両方が誤り検出コードを使用して通信トラフィック信号内へコード化される。誤り訂正デコーダは、受信されたトラフィック信号をデコードして複数の候補デコード済み信号を発生する。各候補の信頼性の量的測定値がデコーダによって発生される。誤り検出計算器がそのデコード済みデータメッセージとその相当するデコード済み誤り検出検査ワードとの間の追従性について最信頼候補を試験する。もし追従性があるならば、その候補及びそのデコード済みデータメッセージが選択される。もし追従性がないならば、次の最信頼候補が追従性について試験され、追従性が発見されるまで選択プロセスを続行する。もし全ての候補の間に追従性が発見されないならば、誤り訂正器が訂正可能な誤りの存在について最信頼候補を詳細検査し、かつ訂正された候補が追従性について再試験される。もし依然として追従性がないならば、次の最信頼候補が訂正可能誤りの存在について詳細検査され、かつ訂正された候補が追従性について再試験され、誤り訂正器の誤り訂正能力の限界に達するまで、追従性が発見されるまでプロセスが続行する。
本発明に使用されるデータメッセージ用好適誤り訂正コーディング方法は、上記に説明されたように、たたみ込みコーディングである。本発明は、また、デコード済みデータメッセージが未訂正誤りを含むかどうか検査する誤りの検出を採用する。好適誤り検出コーディングは、誤り訂正コーディングに先立ちデータメッセージに巡回冗長検査（CRC）を添付することによって得られ、CRC語自体はまた誤り訂正コーディングによって保護される。
本発明は、誤り訂正コーディングをデコードするために以下に説明されるように修正されたビタビSMLSEデコーダを利用し、データメッセージ及びその添付CRC語に対する複数の候補ビット順序を生じる。次いで、最低累積経路計量を有する候補ビット順序がそのデータメッセージとCRCビットとの間の追従性について試験される。もしCRCが成功するならば、その候補メッセージが選択されて使用に供される。もしCRCが失敗するならば、次に高い計量を有する候補ビット順序が検査され、以下同様にして、ビット順序の１つが追従性の高いCRCを有することが発見され、かつその候補メッセージが選択されて使用に供されるまで、続く。
もし追従性の高いCRCを有するものが発見されないならば、限定された数の誤りを訂正する能力をCRCが有するかどうかに基づいて、全メッセージが誤りがあるとして排除されるか、又は１つの候補メッセージを選択するために他の手続きが定義されることがある。例えば、最低計量を備える候補ビット順序が再び検査され、もしそのCRCシンドロームが、識別されかつ訂正され得る単一ビット誤りに相当するならば、そこで、その候補メッセージが選択されて使用に供される。もし、そのCRCシンドロームが、識別されかつ訂正され得る単一ビット誤りに相当しないならば、そこで、次に高い計量を備える候補ビット順序が再び検査される。もし、次に高い計量を備える候補ビット順序が、識別されかつ訂正され得る単一ビット誤りに相当するCRCシンドロームを有するならば、そこで、その候補メッセージが選択されて使用に供される、以下同様にして、候補ビット順序の１つが、識別されかつ訂正され得る単一ビット誤りに相当するCRCシンドロームを有することが発見され、かつその候補が選択されて使用に供されるまで、続く。
本発明によるデコーディングシステムは、1981年２月８日に出願され、ここに参考試料として組み入れられた、同時系属米国特許出願第07/652,544号に記載された、たたみ込み式コード化信号の様々な型式を区別するデコーディングシステムに有利に使用され得る。
【図面の簡単な説明】
本発明を、例として与えられた、かつ添付図面に図解された、本発明の好適実施例を参照して更に詳細にいまから説明するが、これらの図面において、
第１図は本発明に使用されることがあるたたみ込みエンコーダを組み込んだ通信システムを図解し、
第２図は、本発明にまた使用されることがある、第１図に示されたものに対する代替たたみ込みエンコーダを組み込んだ通信システムを図解し、
第３図は本発明に使用されることがあるたたみ込みデコーディングアルゴリズムの例を図解し、
第４図は本発明に使用されることがある切捨て技術用記憶システムを図解し、
第５図は本発明に使用されることがある切捨て技術の例を図解し、
第６、6a及び6b図は本発明に使用されることがあるデコーディング終了戦略に対するビット順序の例を図解し、
第７図は本発明の実施例を実現するエンコーダの機能ブロック図を示し、
第８図は本発明の他の実施例を実現するエンコーダの機能ブロック図を示し、
第９図は本発明の実施例によるデコーダの機能ブロック図を示し、
第10図は本発明の他の実施例によるデコーダの機能ブロック図を示す。
詳細な説明
本発明は、SMLES方法を、この方法が理論的に最適性能を提供するので、好適には採用する。他の方法は、SMLSEの複雑性が制約長さを増大するに従って指数関数的に高まるので、長い制約長さのコードに対しては、特に性能と複雑性との間の妥協である傾向がある。それゆえ、本発明は多数決方法のような、いかなるデコーディング方法にも適応されると云えるが、本発明の好適実施例の実現を、SMLSE方法の文脈の中で説明する。しかしながら、この実現は、単に説明目的のためである。
本発明は、好適実施例において、ビット履歴切捨ての好適方法、及びデコーディングを終了させる好適方法を使用する。
ビット履歴切捨ての方法
本発明は、ビット履歴を切り捨てるために早期データビット決定を行うことを回避する。切捨てを普通採用する主な理由は、１対の直接先行状態が生残るために選択されるとき１つの状態から他のへと絶えずより長いビットをコピーする不便を回避することである。それは、もしビット履歴保持の量が16又は32ビットのような、ディジタル信号処理機械の固定語長と釣り合っているならば、更に便利である。好適実施例は、第４図に概略的に図解された記憶システムで以て実現することができ、最古ビットについてハード決定を行う必要を伴わず状態間で固定履歴長さをコピーする便利を提供する。
ビット履歴が最大便利語長Ｍに等しいまでに成長したとき、全2(L-1)通りのビット履歴は、40によって指示されたように、第１記憶装置メモリ46へダンプされ、このメモリからそれが（Ｌ−１）ビットアドレス42によってアクセスされると云える。関連したビット履歴40に相当する（Ｌ−１）ビットアドレス42は、次いで、43によって指示されたように、元のＭビットに代わって各状態内に置かれる。云うまでもなく、Ｌ−１はＭより少ないと想定され、それであるから各語のＭ−Ｌ＋１ビット位置が更なるデコーディングのために利用可能になっている。次いで、デコーディングアルゴリズムが、各ビット履歴語が再び満たされるまで、更にＭ−Ｌ＋１回実行され、かつその内容が、41によって指示されるように、今度は第２記憶装置46にもう一度転写され、第２記憶装置46内の各履歴それぞれの（Ｌ−１）ビットアドレス42を持つ各履歴内のＭビットを置換する。このプロセスは、全てのビットが処理されてしまうまで繰り返される。こうして、第Ｋ記憶装置46内で、長さＭの2(L-1)ビットの履歴ワードがそれらそれぞれの（Ｌ−１）ビットのアドレス42によって標識される。Ｍビットのワードの各々は、Ｍ−Ｌ＋１デコード済みビット41、及び直前デコード済みビット41が配置されている第（Ｋ−１）記憶装置46内の（Ｌ−１）ビットのアドレス42に相当する（Ｌ−１）ビットのアドレス43を含む。全てのビットが処理された後、デコーダメモリ48が多くとも長さＭの2(L-1)ビットの履歴ワードを含み、これらのワードはそれぞれの（Ｌ−１）ビットのアドレス42によって標識される。ビット履歴ワードの各々は、最新のＱビットのデコード済みビット44を含み、ここにＱはＭ−Ｌ＋１以下であり、直前デコード済みビット41が配置されている最終記憶装置46内の（Ｌ−１）ビットのアドレス42に相当する（Ｌ−１）ビットのアドレス43を含む。デコーダメモリ48は、また全メッセージに対するそれぞれの2(L-1)個の候補の各々に関連した累積経路計量45を含む。
処理の終了において存在する全メッセージに対する2(L-1)個候補の各々は、チェーンポインタとしてアドレスビット43を使用する外部記憶装置46の内容を一括チェーンすることによって構成されることがある。最終状態０からのデータメッセージに対する候補を構成するために、ステップは次のようである。
１）  最新デコード済みデータビットとしてデコーダメモリ48内の最終状態０に対するＭビットの履歴からＱビットのデコード済みデータビット44を抽出する。
２）  最終状態０に対するＭビットのビット履歴から（Ｌ−１）ビットのアドレスビット43を抽出しかつ抽出された（Ｌ−１）ビットのアドレス43に相当するＭビットのワードを外部記憶装置46から検索する。
３）  検索されたワードからＭ−Ｌ＋１ビットのデコード済みビット41を抽出しかつデコーダメモリ48から抽出されたＱビットのデコード済みデータビット44に添付する。
４）  検索されたワードからＬ−１ビットのアドレスビット43を抽出しかつこれらを使用して先に使用された外部記憶装置46をアドレス指定し、（Ｌ−１）ビットのアドレス43に相当する先行するＭビットのワードを検索する。
５）  検索されたワードからＭ−Ｌ＋１ビットのデコード済みデータビット41を抽出しかつ既に抽出された連結されたデコード済みデータビットに添付する。
６）  チェーンの終了に到達するまでステップ４）−５）を繰り返す。
これで、抽出された連結データビットが最終状態０に属するデコード済みメッセージ候補を形成する。他の最終状態に属する候補も、適当な状態で以て出発しかつ背後をチェーンすることによって、同様に構成されると云える。
第５図に関連して、連結動作の例は、制約長さＬ＝３を想定して説明される。最低累積経路計量45を備えるデコーダメモリ48内の最終状態は、最終状態10（Gpm（10）＝2.0）、これの最新デコード済みデータビット44は01（Ｑ＝２）である。抽出された２ビットのアドレス43は00、かつ第４メモリ46内の相当する00アドレス42から抽出された３ビットのデコード済みビット41は110であって、これが01、即ち最新デコード済みデータビット44に添付され、110−01を生じる。次の抽出された２ビットのアドレス43は10であり、かつ第３メモリ46内の相当する10アドレス42から抽出された次の３ビットのデコード済みデータビット41は110であって、成長しつつあるチェーンに添付されたとき、110−110−01を生じる。次の抽出された２ビットのアドレス43は01であり、かつ第２メモリ46内の相当する01アドレス42から抽出された次の３ビットのデコード済みデータビット41は011であって、成長しつつあるチェーンに添付されたとき、011−110−110−01を生じる。最新抽出された２ビットのアドレス43は11であり、かつ第１メモリ46内の相当する11アドレス42から抽出された残存する５ビットのデコード済みデータビット40は11101であって、成長しつつあるチェーンに添付されたとき、最終的に、11101−011−110−110−01、すなわち、最終状態10に属するデコード済みメッセージ候補を生じる。他の最終状態に属する候補も、適当な状態で以て出発しかつ背後をチェーンすることによって、同様に構成されると云え、第５図に与えられたような結果を伴う。
デコーディングを終了させる好適方法
デコーディングを終了させる好適方法は、複数の候補、例え、2(L-1)個を保存する。
１つの好適方法は、末端ビットを利用するが、しかし終了における状態の数を契約しない。既知の末端ビットは、各状態毎に、どんなパリティービットを受信すべきか予測するためにデコーダ内に使用され、かつ状態計量は重ね書きを伴うことなく単に更新される。それゆえ、2(L-1)通りの候補データ順序が、終了に残存する。既知の末端ビットは、第６図に示されたビット順序50の例におけるように、（N1ビットのメッセージデータビット及びN2ビットの誤り検査ビットを含む）N1＋N2ビットの順序52に添付されたＬ−１ビットの零の連続54であり得る。
第３図に関連して、第１及び２図のデコーダ32に前以て知られた末端ビットを使用してのデコーディングの終了の好適方法の例を、制約長さＬ＝５、速度1/r＝1/2コードを想定して説明する。エンコーダコピー38内の５ビットのシフトレジスタ内へ挿入されたビットのうちの最新が既知の４ビットの末端ビット零54の第１ビットであると想定すると、デコーディング終了に対するステップは次のようである。
１）  0000と番号を付けられた第１状態に対して、新たなビットもまた０であると「仮定」される。従って、受信された情報ビットに対する仮定00000が、エンコーダ22のコピー38に印加されて、期待される２つのパリティービットP1（00000）及びP2（00000）を得る。
２）  受信された実際のパリティービットP1（実際）及びP2（実際）が仮定パリティービットP1（00000）及びP2（00000）と比較される。比較は、両ビットに関して完全整合、又は２つのビットの１つに関して単一整合かつ該２つのビットの他の１つに関して単一不整合、又は両ビットに関して完全不整合のいずれかを生じる。もしP1（00000）及びP2（00000）の両方が受信された実際のパリティービットP1（実際）及びP2（実際）と整合するならば、数０が状態0000に関連した経路計量Gpm（0000）に加算される。同様に、もし単一整合しかないならば、数１が状態0000の経路計量Gpm（0000）に加算される。もしP1（00000）もP2（00000）のどちらも受信された実際のパリティービットP1（実際）及びP2（実際）と整合しないならば、数２が状態0000の経路計量Gpm（0000）に加算される。状態0000に対する新ビット履歴33は、そのとき、00100110であり、その最右ビットは５ビットのエンコーダコピー38のパターン00000の最左ビットに相当する。
３）  今度は、ステップ１）及び２）が状態1000に対して繰り返される。新第５ビット「仮定」を０であるとして、パターン10000がエンコーダコピー38に印加されかつその出力P1（10000）及びP2（10000）が受信されたデータP1（実際）及びP2（実際）と比較される。次いで、ステップ２）におけるように、状態1000、Gpm（1000）が、受信された実際のパリティービットP1（実際）及びP2（実際）の仮定パリティービットP1（10000）及びP2（10000）との比較に基づいて更新される。状態1000に対する新ビット履歴33は、そのとき、10110111であり、その最右ビットは５ビットのエンコーダコピー38のパターン10000の最左ビットに相当する。
４）  ステップ１）〜３）が、直接先行状態の全ての他の対、0001と1001、0010と1010、0011と1011、0100と1100、0101と1101、0110と1110、及び0111と1111に対して繰り返される。
上の反復の１つの終了で、２つの受信されたパリティービットが処理されており、かつ、１つの新デコード済みビットが、全てのビット履歴メモリ33内へシフトされている。次いで、ステップ１）〜４）が３ビットの残存する末端ビット零54に対して更に３回繰り返される。
終了の第２好適方法は、末端ビッティング（tail−biting）として知られるものを使用する。この方法においては、最新データビットをフラッシュして通すために再び第１コード化データビットを使用する。デコーダは、これに対応して、最新データビットの仮定に関連した各候補データメッセージからの第１デコード済みビットを使用して、受信されたパリティービットを予測し、書き重ねを伴うことなく計量を更新し、このようにして終了において全2(L-1)個の候補を保存する。第6a図に示されているのは、ビット順序52の例であって、これを末端ビッティング終了に使用することができる。ビット順序52はN1＋N2ビットを含み、その最初のＬ−１ビット56は「末端ビット」として使用され、この末端ビットは第１と２図のデコーダ32によって前以て知られておらず、コード化されるべきビット順序52の最新ビットを送信機20のエンコーダ22内のＬビットのシフトレジスタ24を通してフラッシュするために使用される。
第３図に関連して、末端ビッティングを使用してのデコーディングの終了の好適方法の例を、制約長さＬ＝５、速度1/r＝1/2コードを想定して説明する。エンコーダコピー38内の５ビットのシフトレジスタ内へに挿入されたビットのうちの最新が未知の４ビットの「末端ビット」56の最初、換言すれば、デコードされているべき第１ビットであると想定しよう。デコードされているべき第１ビットが偶然１であったと更に想定しよう。デコーディング終了に対するステップは、次のようである。
１）  0000と番号を付けられた第１状態に対して、新たなビットは１であると「仮定」される。受信された情報ビットに対する仮定00001が、それゆえ、エンコーダ22のコピー38に印加されて、期待される２つのパリティービットP1（00001）及びP2（00001）を得る。
２）  受信された実際のパリティービットP1（実際）及びP2（実際）が仮定パリティービットP1（00001）及びP2（00001）と比較される。比較は、両ビットに関して完全整合、又は２つのビットの１つに関して単一整合かつ２つのビットの他の１つに関して単一不整合、又は両ビットに関して完全不整合のいずれかを生じる。もし両P1（00001）及びP2（00001）が受信された実際のパリティービットP1（実際）及びP2（実際）と整合するならば、数０が状態0000に関連した経路計量Gpm（0000）に加算される。同様に、もし単一整合があるならば、数１が状態0000の経路計量Gpm（0000）に加算される。もし両P1（00001）もP2（00001）のどちらも受信された実際のパリティービットP1（実際）及びP2（実際）と整合しないならば、数２が状態0000の経路計量Gpm（0000）に加算される。状態0000に対する新ビット履歴33は、そのとき、00100110であり、その最右ビットは５ビットエンコーダコピー38パターン00001の最左ビットに相当する。
３）  今度は、ステップ１）及び２）が状態1000に対して繰り返される。新たな第５ビット「仮定」を１であるとして、パターン10001がエンコーダコピー38に印加されかつその出力P1（10001）及びP2（10001）が受信されたデータP1（実際）及びP2（実際）と比較される。次いで、状態1000のGpm（1000）が、ステップ２）におけるように、受信された実際のパリティービットP1（実際）及びP2（実際）の仮定パリティービットP1（10001）及びP2（10001）との比較に基づいて、更新される。状態1000に対する新ビット履歴33は、そのとき、10110111であり、その最右ビットは５ビットのエンコーダコピー38のパターン10001の最左ビットに相当する。
４）  ステップ１）〜３）が、直接先行状態の全ての他の対、0001と1001、0010と1010、0011と1011、0100と1100、0101と1101、0110と1110、及び0111と1111に対して繰り返される。
上の反復の１つの終了で、２つの受信されたパリティービットが処理されておりかつ１つの新デコード済みビットがビット履歴メモリ33内へシフトされている。次いで、ステップ１）〜４）が、３ビットの残存する「末端ビット」56に対して更に３回繰り返され、各場合において、新たな第５ビットは、相当する既に受信されたビットであると「仮定」する。例えば、もし第２、第３、及び第４デコード済みビットが、それぞれ０、１、及び１であったと想定するならば、ステップ１）〜４）の第２繰返しにおいて新たなビットは０であると「仮定」され、第３繰返しにおいて新たなビットは１であると「仮定」され、第４繰返しにおいて新たなビットは１であると「仮定」される。
末端ビッティングデコーダに対する代替終了は、どれだけ多くの候補順序がデコーダから要求されるかに依存して、最低計量を有する状態、Ｚ個の最低計量を有するＺの数の状態、又は全ての状態のいずれかにおいて、いくつかの最新デコード済みビットが最初にデコードされたときの同じビットと一致するまで、系統に従ってデコーディングを続行することである。その１例は第6b図に示されており、ここで（N1＋N2）ビットの順序52内のＫビット58は、ビット順序52の連続でコーディング中２回デコードされたときに一致するビットの数を表し、それに基づいてデコーディングが終了される。送信機20のエンコーダ22内のＬビットのシフトレジスタ24を通して最新データビットをフラッシュするに当たって効率的であるために、数ＫはＬ−１以上でなければならないか、又はもしＫがＬ−１より小さいならば、Ｋビットのビット順序58はビット順序52内に適当に位置していなければならないかのどちらかである。例えば、もしＫがＬ−１より小さければ、Ｋビット58の最右はビット順序52内の最右よりも少なくともＬ−Ｋ−２ビット左に位置していなければならない。
これらの候補から最終データメッセージを選択する既知の方法は、単に、最低累算計量を有する状態を取り上げることである。
好適実施例の実現
本発明を実現する好適実施のブロック図が、第１、２、７、８、９、及び10図に示されている。
第７及び８図を参照すると、送信機20から伝送されるべきN1ビットのメッセージビットで構成されるデータメッセージ60が、誤り検出コード発生器28へ入力され、この発生器は選択された巡回冗長検査（CRC）多項式（図示されていない）によるデータメッセージ60の多項式除算の際に剰余を計算することによってCRCを形成する。例えば、最も簡単な多項式は１であり、かつ１によるデータビット順序の除算の際の剰余は、やはりちょうどそのデータビット順序であり、簡単な冗長性を発生する。より複雑な多項式は、周知のように、一般に、より複雑な剰余を発生する。例えば、ライン及びコステロの「誤り制御コーディング」、プレンティス・ホール（1989）、章4.5（Line and Costello“Error Control Coding",Prentice−Hall（1983）,Chapter4.5）（ISBN  ０−13−283796−Ｘ）を参照されたい、これは参考試料としてここに組み込まれる。N2ビットの誤り検査ビットで構成されるCRC剰余64は、次いで、N1ビットのメッセージビット60に添付されて、N1＋N2ビット66なる合計を作り、これが、次いで、たたみ込み誤り訂正エンコーダ22に入力される。末端ビッティングが使用されるか否かに依存して、更にＬ−１個の零が添付され、ここにＬはたたみ込みコードの制約長さであり、合計Ｌ−１＋N1＋N2ビットを作る。もし末端ビッティングが使用されるならば、N1＋N2ビットの最初のＬビットがエンコーディングシフトレジスタ24内へロードされるのに対して、もし末端ビッティングが使用されないならば、Ｌ−１個の零に加えてN1ビットのデータメッセージビット60の最初のビットがエンコーディングレジスタ24内へロードされる。
シフトレジスタ24上タップが組合わせ論理回路網26の入力に接続され、この回路網は伝送されるべきパリティービット74を形成する。第８図に示された代替には、シフトレジスタ内のＬビットを使用して電子メモリ内の2L要素のルックアップテーブル27をアドレス指定し、ここに各可能シフトレジスタのビットパターンに対する適当なパリティービットの組合わせが記憶される。どちらの場合でも、コード速度1/rの逆数に比例する数のパリティービット74は、シフトレジスタ24の各シフト毎に生成される。N2ビットのCRCビット64中の最後のビットが送り込まれた後、それはコード化された第１ビットを繰り返すことによってフラッシュされて通され、このことは、末端ビッティングの場合、やはりN1＋N2ビット66の最初のＬ−１ビットに送り込むこと、又は末端ビッティングを伴わない場合は、Ｌ−１個の初期零が再び送り込まれることを意味する。もしN1＋N2ビット66又はＬ−１＋N1＋N2ビットのアレイが１つの系統を形成すると看なされるならば、どちらの場合においてもエンコーダ22の機能における原理に差はない。
送信機20から伝送されるべきパリティービット74の数は、（N1＋N2）ｒ又は（Ｌ−１＋N1＋N2）ｒのどちらかであり、変調器76へ逐次供給されて、通信伝送媒体78、例えば、無線通信路に通すのに適当な形への変換に供される。
次に、第９及び10図を参照すると、受信機30内の復調器82は、通信伝送媒体78（例えば、無線通信路）を通して受信された信号80を処理して伝送されたパリティービット74の推定値を再生する。これらは、第10図に示されたように、「ハード」決定84（２進１又は０）又は「ソフト」決定85であって、理想的には、パリティービットがそれぞれ１又は０である確率の対数である推定値である。ハード84（又はソフト85）パリティービット情報は、次いで、上に説明された好適原理に従って動作するビタビSMLSEたたみ込みデコーダ86へ送られる。
もし末端ビッティングが使用されるならば、その際は、2(L-1)状態はN1＋N2ビット66の依然未知の最初のＬ−１ビットに対する全ての可能性に相当し、かつそれら状態の経路計量は等しい開始値、例えば、零に初期化される。次いで、デコーディングが説明されたように進行する。もし末端ビッティングが使用されないならば、エンコーダ22シフトレジスタ24内へ供給されたＬ−１個の初期零に相当する状態０のみが存在することができ、かつその経路計量が零に初期化される。１つのコーディング反復の後、２つの状態が生成されて０又は１である第１未知データメッセージビットに相当する。Ｌ−１個のコーディング反復の後、全2(L-1)個の状態が活性であり、次いでデコーディングが正常に進行する。
ビタビデコーディングの完了の後、（N1＋N2）ビットのビット順序の2(1-1)の数の候補がメモリ94内で利用可能であり、各々が関連した経路計量値を備える。最終状態経路計量88が経路計量分類器90へ送られ、この分類器は値による降順に従って最終経路計量88を順位付ける。次いで、（N1＋N2）ビットのビット順序の候補がその分類されたアドレス順位92を使用して順位付けされ、かつ（N1＋N2）ビットのビット順序の候補がメモリ94から検索され、CRC計算器98へ送られる。CRC計算器98は、添付されたN2ビットのCRCワードがN1ビットのデータメッセージビットと相応するかどうかを判定する。次いで、妥当CRCを有すると発見された（N1＋N2）ビットのビット順序の第１候補が、出力されるべきそのN1ビットのデータメッセージビット100の候補に対して選択される。もし妥当CRCが発見されずかつCRCもまた限定された誤り訂正能力を有するならば、単一訂正可能誤りについて分類された順位で再び検査される。次いで、単一訂正可能誤りを含むと発見された（N1＋N2）ビットのビット順序の第１候補が選択され、かつ誤りを訂正される。この手続きがCRCコードの最大許容誤り訂正能力に達するまで繰り返されてよい。
誤り検出手続きの結果に従って誤り訂正デコーダの第Ｎ最良出力を選択するという態様で特徴付けらた本発明は、ブロックコーディングのような、たたみ込み以外のコーディングの形で以ても応用され得る。例えば、一度に少数のメッセージデータビットを冗長ブロックコードに変換することができ、かついくつかのこのようなブロックコードを伝送して、CRC語を含む全メッセージを送り届ける。もしデコーディングの後CRC検査を遂行する際、或る検出されなかった誤りが残存するならば、ブロックデコーディングの品質を検査しかつ最低信頼ブロックを識別することができる。次いで、最低信頼ブロック内の最低信頼伝送ビットを反転することができ、このブロックを再デコーダドし、かつCRC再検査することができる。もしこれが失敗するならば、第２最低信頼ビット又はブロックを修正することができ、以下同様である。本発明のブロックコーディングの場合へのこのような応用は、コーディング及びデコーディング理論の通常の精通者によって詳細に工夫され得る。
本発明の特定実施例が説明されかつ図解されたが、その主題が係わる技術の通常の習熟者によって修正が行われることがあるから、発明がこの特定実施例に限定されないことは云うまでもない。本願は、ここに開示されかつ請求された基礎発明の精神及び範囲に属するいかなるかつ全ての修正を予想する。
【図６】
0003652701.tif 000002
【図６Ａ】
0003652701.tif 000003
【図１】
0003652701.tif 000004
【図２】
0003652701.tif 000005
【図３】
0003652701.tif 000006
【図４】
0003652701.tif 000007
【図５】
0003652701.tif 000008
【図６Ｂ】
0003652701.tif 000009
【図７】
0003652701.tif 000010
【図８】
0003652701.tif 000011
【図９】
0003652701.tif 000012
【図１０】
0003652701.tif 000013