Erasure relates to a linear block code - and - single - error correction decoder

申请号 JP2003550367 申请日 2002-12-03 公开(公告)号 JP4152887B2 公开(公告)日 2008-09-17
申请人 クゥアルコム・インコーポレイテッドQualcomm Incorporated; 发明人 ウルフ・ジャック・ケー; バトラー・ブライアン・ケー; ミルネ、ライアン;
摘要
权利要求
  • (N,K)のリニアブロックコードを使用して以前にコード化された列の位置の及びエラー検出コードを使用して行の位置のシンボルの受信されたブロックについてブロックデコーディングを実施する方法であって、以下を具備する:
    検出されなかったシンボルエラーが位置する受信されたブロックの列に対応するコードワードを識別することと;
    コードワード中の検出されなかったシンボルエラーの位置を決定することと;
    検出されなかったシンボルエラーを含んでいる受信されたブロックの行を消去された行としてマークすること;及び マークされた消去された行を使用して受信されたブロックに対するブロックデコーディングを実施すること。
  • 請求項1の方法であって、さらに以下を具備する:
    受信されたブロックの未消去の体系的な行の推定値を導出することと;
    未消去の行をその推定値に対して比較すること;及び 未消去の体系的な行とその推定値との間の一致しないシンボルの位置を識別することであって、そしてここで、コードワードは一致しないシンボルを含んでいる列に対応するとして識別される。
  • 請求項2の方法、ここで、未消去の体系的な行の推定値は、以下によって導出される 未消去の体系的な行を消去された行としてマークすることと;
    受信されたブロックのKの未消去の行からなる縮小した受信されたブロックを形成すること;及び Kの未消去の行に対する逆生成元マトリックスを縮小した受信されたブロックで掛け算すること。
  • 請求項1の方法、ここで、コードワード中の検出されなかったシンボルエラーの位置は、固有のブロックデコーディングスキームに基づいてコードワードについてエラー位置選定を実施することによって決定される。
  • 請求項1の方法、ここで、ブロックデコーディングを実施することは、以下を含む 受信されたブロックのKの未消去の行からなる縮小した受信されたブロックを形成することと;
    Kの未消去の行に対応する生成元マトリックスのKの行からなる縮小した生成元マトリックスを形成することと;
    縮小した生成元マトリックスを反転すること;及び 反転された生成元マトリックスを縮小した受信されたブロックで掛け算すること。
  • 請求項1の方法であって、さらに以下を具備する:
    少なくとも(K+1)の未消去の行が見つけられるまで消去された行若しくは未消去の行のいずれかとして受信されたブロックの各行をマークすること。
  • 請求項6の方法、ここで、各行は、周期的な冗長性チェック(CRC)テストの結果に基づいて消去された行若しくは未消去の行としてマークされる。
  • 請求項1の方法であって、さらに以下を具備する:
    受信されたブロック中の消去された行の数を決定すること。
  • 請求項8の方法であって、さらに以下を具備する:
    消去された行の数が(D−2)若しくは(D−1)に等しければ、消去箇所−限定訂正ブロックデコーディングを実施すること。
  • 請求項8の方法であって、さらに以下を具備する:
    消去された行の数が(D−3)より少ない若しくは等しければ、消去箇所−及び−エラー訂正ブロックデコーディングを実施すること。
  • 請求項10の方法であって、さらに以下を具備する:
    受信されたブロック中の消去された体系的な行の数を決定すること;及び 消去された体系的な行の数が(K−1)より少ない若しくは等しければ、消去箇所−及び−エラー訂正ブロックデコーディングを実施すること。
  • 請求項8の方法であって、さらに以下を具備する:
    消去された行の数が(D−1)を超えるのであれば、エラーをデクレアすること。
  • 請求項1の方法、ここで、(N,K)のリニアブロックコードはリード−ソロモンコードである。
  • (N,K)のリニアブロックコードを使用して以前にコード化された列の位置の及びエラー検出コードを使用して行の位置のシンボルの受信されたブロックについてブロックデコーディングを実施する方法であって、以下を具備する:
    少なくとも(K+1)の未消去の行が見つけられるまで消去された行若しくは未消去の行のいずれかとして受信されたブロックの各行をマークすることと;
    受信されたブロックの未消去の体系的な行の推定値を導出することと;
    未消去の行をその推定値に対して比較することと;
    未消去の体系的な行とその推定値との間の一致しないシンボルを識別することと;
    一致しないシンボルを含んでいる受信されたブロックの列に対応するコードワードを識別することと;
    固有のブロックデコーディングスキームに基づいてコードワード中のシンボルエラーの位置を決定することと;
    シンボルエラーを含んでいる受信されたブロックの行を消去された行としてマークすること;及び マークされた消去された行を使用して受信されたブロックに対するブロックデコーディングを実施すること。
  • (N,K)のリニアブロックコードを使用して以前にコード化された列の位置の及びエラー検出コードを使用して行の位置のシンボルの受信されたブロックについてブロックデコーディングを実施するためのコンピュータプログラム製品であって、以下を具備する:
    検出されなかったシンボルエラーが位置する受信されたブロックの列に対応するコードワードを識別するためのコードと;
    コードワード中の検出されなかったシンボルエラーの位置を決定するためのコードと;
    検出されなかったシンボルエラーを含んでいる受信されたブロックの行を消去された行としてマークするためのコードと;
    マークされた消去された行を使用して受信されたブロックに対するブロックデコーディングを実施するためのコード;及び コードを格納するためのコンピュータで使用できるメディア。
  • 請求項15のコンピュータプログラム製品であって、さらに以下を具備する:
    受信されたブロックの未消去の体系的な行の推定値を導出するためのコードと;
    未消去の行をその推定値に対して比較するためのコード;及び 未消去の体系的な行とその推定値との間の一致しないシンボルの位置を識別するためのコードであって、そしてここで、検出されなかったシンボルエラーを有するコードワードは一致しないシンボルを含んでいる列に対応するとして識別される。
  • 請求項16のコンピュータプログラム製品、ここで、未消去の体系的な行の推定値を導出するためのコードは、以下を含む:
    未消去の体系的な行を消去された行としてマークするためのコードと;
    受信されたブロックのKの未消去の行からなる縮小した受信されたブロックを形成するためのコード;及び Kの未消去の行に対する逆生成元マトリックスを縮小した受信されたブロックで掛け算するためのコード。
  • 請求項15のコンピュータプログラム製品、ここで、ブロックデコーディングを実施するためのコードは、以下を含む:
    受信されたブロックのKの未消去の行からなる縮小した受信されたブロックを形成するためのコードと;
    Kの未消去の行に対応する生成元マトリックスのKの行からなる縮小した生成元マトリックスを形成するためのコードと;
    縮小した生成元マトリックスを反転するためのコード;及び 反転された生成元マトリックスを縮小した受信されたブロックで掛け算するためのコード。
  • ディジタル情報を以下にインタープレッティングすることができるディジタルシグナルプロセシングデバイス(DSPD)に通信で接続されたメモリであって:
    検出されなかったシンボルエラーが位置する受信されたブロックの列に対応するコードワードを識別し;
    コードワード中の検出されなかったシンボルエラーの位置を決定し;
    検出されなかったシンボルエラーを含んでいる受信されたブロックの行を消去された行としてマークし;及び マークされた消去された行を使用して受信されたブロックに対するブロックデコーディングを実施する。
  • ディジタルシグナルプロセッサであって、以下を具備する:(N,K)のリニアブロックコードを使用して以前にコード化された列の位置の及びエラー検出コードを使用して行の位置のシンボルのブロックを適切に受信するため及び少なくとも(K+1)の未消去の行が見つけられるまで消去された行若しくは未消去の行のいずれかとして受信されたブロックの各行を適切にマークするための第1のユニット;及び 検出されなかったシンボルエラーが位置する受信されたブロックの列に対応するコードワードを適切に識別するため、コードワード中の検出されなかったシンボルエラーの位置を適切に決定するため、検出されなかったシンボルエラーを含んでいる受信されたブロックの行を消去された行として適切にマークするため、及びマークされた消去された行を使用して受信されたブロックに対するブロックデコーディングを実施するための第2のユニット。
  • 請求項20のディジタルシグナルプロセッサ、ここで、第2のユニットは、さらに、受信されたブロックの未消去の体系的な行の推定値を適切に導出するため、未消去の体系的な行をその推定値に対して適切に比較するため、未消去の体系的な行とその推定値との間の一致しないシンボルの位置を適切に識別するためであって、そしてここで、検出されなかったシンボルエラーを有するコードワードは一致しないシンボルを含んでいる列に対応するとして識別される。
  • 請求項20のディジタルシグナルプロセッサ、ここで、第2のユニットは、さらに、未消去の体系的な行を消去された行として適切にマークするため、受信されたブロックのKの未消去の行からなる縮小した受信されたブロックを適切に形成するため、及びKの未消去の行に対する逆生成元マトリックスを縮小した受信されたブロックで適切に掛け算するためである。
  • 請求項20のディジタルシグナルプロセッサ、ここで、第2のユニットは、さらに、受信されたブロックのKの未消去の行からなる縮小した受信されたブロックを適切に形成するため、Kの未消去の行に対応する生成元マトリックスのKの行からなる縮小した生成元マトリックスを適切に形成するため、縮小した生成元マトリックスを適切に反転するため、及び反転された生成元マトリックスを縮小した受信されたブロックで適切に掛け算するためである。
  • デコーダであって、以下を具備する:
    (N,K)のリニアブロックコードを使用して以前にコード化された列の位置の及びエラー検出コードを使用して行の位置のシンボルのブロックを適切に受信するため、及び少なくとも(K+1)の未消去の行が見つけられるまで消去された行若しくは未消去の行のいずれかとして受信されたブロックの各行を適切にマークするための第1のデコーダ;及び 検出されなかったシンボルエラーが位置する受信されたブロックの列に対応するコードワードを適切に識別するため、コードワード中の検出されなかったシンボルエラーの位置を適切に決定するため、検出されなかったシンボルエラーを含んでいる受信されたブロックの行を消去された行として適切にマークするため、及びマークされた消去された行を使用して受信されたブロックに対するブロックデコーディングを実施するための第2のデコーダ。
  • 請求項24のデコーダ、ここで、第1のデコーダは、周期的な冗長性チェック(CRC)テストの結果に基づいて消去された行若しくは未消去の行として各行を適切にマークするためである。
  • 請求項24のデコーダ、ここで、(N,K)のリニアブロックコードは、リード−ソロモンコードである。
  • デコーディング装置であって、以下を具備する:
    少なくとも(K+1)の未消去の行が見つけられるまで消去された行若しくは未消去の行のいずれかとして、受信されたブロックの各行、(N,K)のリニアブロックコードを使用して以前にコード化された列の位置、及びエラー検出コードを使用して行の位置をマーキングするための手段と;
    検出されなかったシンボルエラーが位置する受信されたブロックの列に対応するコードワードを識別するための手段と;
    コードワード中の検出されなかったシンボルエラーの位置を適切に決定するための手段と;
    検出されなかったシンボルエラーを含んでいる受信されたブロックの行を消去された行としてマーキングするための手段;及び マークされた消去された行を使用して受信されたブロックに対するブロックデコーディングを実施するため手段。
  • 請求項27のデコーディング装置であって、さらに以下を具備する:
    受信されたブロックの未消去の体系的な行の推定値を導出するための手段と;
    未消去の行をその推定値に対して比較するための手段;及び 未消去の体系的な行とその推定値との間で一致しないシンボルの位置を識別するための手段であって、そしてここで、検出されなかったシンボルエラーを有するコードワードは一致しないシンボルを含んでいる列に対応するとして識別される。
  • 請求項28のデコーディング装置、ここで、ブロックデコーディングを実施するための手段は、以下を含む:
    未消去の体系的な行を消去された行としてマークするための手段と;
    受信されたブロックのKの未消去の行からなる縮小した受信されたブロックを形成するための手段;及び Kの未消去の行に対する逆生成元マトリックスを縮小した受信されたブロックで掛け算するための手段。
  • 請求項27のデコーディング装置、ここで、ブロックデコーディングを実施するための手段は、以下を含む:
    受信されたブロックのKの未消去の行からなる縮小した受信されたブロックを形成するための手段と;
    Kの未消去の行に対応する生成元マトリックスのKの行からなる縮小した生成元マトリックスを形成するための手段と;
    縮小した生成元マトリックスを反転するための手段;及び 反転された生成元マトリックスを縮小した受信されたブロックで掛け算するための手段。
  • ワイアレス通信システムにおける受信機ユニットであって、以下を具備する:
    データサンプルを与えるために受信した信号を適切に処理するための受信機と;
    シンボルの受信されたブロックを与えるためにデータサンプルを適切に処理するためのデモジュレータと;
    消去された行若しくは未消去の行のいずれかとして受信されたブロックの各行を適切にマークするための第1のデコーダ;及び 検出されなかったシンボルエラーが位置する受信されたブロックの列に対応するコードワードを適切に識別するため、コードワード中の検出されなかったシンボルエラーの位置を適切に決定するため、検出されなかったシンボルエラーを含んでいる受信されたブロックの行を消去された行として適切にマークするため、及びマークされた消去された行を使用して受信されたブロックに対するブロックデコーディングを実施するための第2のデコーダ。
  • 請求項31の受信機ユニットであって、以下をさらに具備する:
    シンボルの受信されたブロックを与えるために固有のコンボルーショナルデコーディングスキームにしたがってデモジュレータから復調されたデータを適切に受信し、デコードするための第3のデコーダ。
  • 说明书全文

    本発明は、一般にデータ通信に係り、特にリニアブロックコードに関する消去箇所−及び−単一−エラー訂正デコーディングを効率的に実施する技術に関する。

    ディジタル通信が出現し、障害がありバンド幅が制限されたチャネルを介して大量のデータを送信する必要性によって、正しい受信を容易にするためにデータのコーディングに対する必要性は、非常に重要である。 データ送信は、熱的なノイズ、干渉、送信バンド幅を有するスプリアス信号、等のような通信チャネルにおける障害によって一般的に劣化される。 受信されたデータは、それゆえ、一般的に送信されたデータの歪められた版である。

    コーディングは、受信されたデータ中のエラーを検出する及び/若しくは訂正することを受信機ができるようにするために使用される可能性がある。 種々のエラー−訂正コードが利用でき、そしてブロックコード及びコンボルーショナルコードのようないくつかの種類に分類される可能性がある。 コンボルーショナルコードは、良いエラー−訂正能を与えるが、関係したエラーのバーストを一般的に出力する。 ブロックコードは、適切なレベルのインターリービングと組み合わせられた場合に、組み込まれたバーストエラー取り扱い能力を有する。 例えば、リード−ソロモン(Reed-Solomon)コードは、シンボル中の任意のエラーのバーストを取り扱える。 これは、特定の数のビットを具備するとして規定される可能性がある。

    理論では、ブロックコードは、特定の数の消去箇所及び/若しくは特定の数のエラーをコードの距離によって各々が決められる正確な数で訂正できる。 消去箇所は、悪い可能性があるアプリオリとして知られたシンボルを指し示す可能性があり、そしてエラーは、エラーとして受信されるがそのようなアプリオリとして知られていないシンボルである。 消去箇所は、受信機によって一般的に知られる若しくは決定される可能性があり、そしてデコーディングプロセスに応じて説明される可能性がある。 エラーは、検出されなかったシンボルエラーであり、実際に正しくない場合に、正しく受信されたとして誤って検出されたシンボルである可能性がある。

    従来の消去箇所−及び−エラー訂正ブロックデコーダ(バーレカンプ−マッシー(Berlekamp- Massey)若しくはユークリッド(Euclidean)デコーダ)は、複雑であり、一般的に専用のハードウェア中のインプリメンテーションを必要とする。 これらのブロックデコーダは、マイクロプロセッサで実行されるソフトウェアに基づいたインプリメンテーションに対して一般に計算上集中しすぎている。 ハードウェアに基づいたデコーダは、デコーディングアルゴリズムにおける類似性を利用でき、そしてパイプライン化されたデータパスを使用できる。 この両者とも、旧来のマイクロプロセッサにおいては不可能である。 より効率的なブロックデコーダアルゴリズムは、ソフトウェアに基づいたインプリメンテーションに対してより適している可能性があるものに利用できる。 しかしながら、これらのデコーダアルゴリズムは、一般的に能力に制限があり、消去箇所を訂正できる可能性があるが、エラーを訂正できない可能性がある。

    それゆえ、リニアブロックコードに対する効率的な消去箇所−及び−エラー訂正デコーダに対するこの分野における必要性がある。 これは、ソフトウェアに基づいたインプリメンテーションに対して適している可能性がある。

    [サマリー]
    本発明の態様は、(N,K)のリニアブロックコードを使用して以前にコード化された列の位置の及びエラー検出コードを使用して行の位置のシンボルの受信されたブロックについてブロックデコーディングを効率的に実施するための技術を与える。 行に関するエラー検出コード(例えば、CRCコード)が、比較的良いエラー検出特性を有するのであれば、受信されたデータブロック中に1以上の検出されなかったエラー行がある可能性は、非常に少ない。 それゆえ、単一エラー訂正は、大部分のアプリケーションにおいて一般に十分である。

    はじめに、受信されたブロックの各行は、少なくとも(K+1)の未消去の行が見つけられるまで消去された行若しくは未消去の行のいずれかとしてマークされる。 一般に、受信されたブロックの全てのNの行がマークされるが、これは、絶対に必要ではない。 その行は、各行中に含まれた周期的な冗長性チェック(CRC)ビットに基づいて、若しくは複数の他の手段によってマークされる可能性がある。 消去箇所−限定若しくは消去箇所−及び−エラー訂正ブロックデコーディングは、その後、消去された行の数に応じた受信されたブロックにおいて、すなわち、(N,K)のブロックコードの距離によってサポートされたように、実施される可能性がある。

    受信されたブロックにおいて消去箇所−及び−単一−エラー訂正ブロックデコーディングを実施するために、検出されなかったシンボルエラーを含んでいる受信されたブロックの列に対応するコードワードが、はじめに識別される。 検出されなかったシンボルエラーは、受信されたブロックの各行に以前に実施されたCRCチェックによって検出されなかったものである可能性がある。 このコードワードは、以下によって識別される可能性がある。 (1)受信されたブロックの未消去の体系的な行の推定値を導出すること、(2)未消去の行をその推定値に対して比較すること、及び(3)未消去の体系的な行とその推定値との間の一致しないシンボルの位置を識別することである。 そのコードワードは、そして一致しないシンボルを含んでいる列に一致する。

    コードワード中の(以前に検出されなかった)シンボルエラーの位置は、その後、固有のブロックデコーディングスキーム(例えば、この分野で知られそして選択されたリニアブロックコードに対応するもの)に基づいて決定される。 位置を見つけられたシンボルエラーを含んでいる受信されたブロックの行は、その後、消去された行としてマークされる。 ブロックデコーディングは、シンボルエラーを含んでいるマークされた消去された行を使用して受信されたブロックに対して通常の方法で実施される可能性がある。 このようにして、消去箇所−限定訂正ブロックデコーディング技術は、受信されたブロックについて消去箇所−及び−単一−エラー訂正ブロックデコーディングを達成するために使用される可能性がある。 ここに説明された消去箇所−及び−単一−エラー訂正ブロックデコーディング技術は、(従来の技術に対して相対的に)計算上効率的であり、そしてハードウェア、ソフトウェア、若しくはこれらの組み合わせにおいて実行される可能性がある。

    本発明の種々の態様及び実施形態が、以下にさらに詳細に述べられる。 本発明は、さらに、方法、コンピュータプログラム製品、デコーダ、受信機ユニット、及び以下にさらに詳細に述べられるように、本発明の種々の態様、実施形態、及び特徴を実行する装置及びエレメントを与える。

    本発明の特徴、性質、及び利点は、図面を使用して以下に述べる詳細な説明から、さらに明確になるであろう。 図面では、一貫して対応するものは同じ参照符号で識別する。

    ここに説明される本発明のブロックデコーディング技術は、種々のコーディングスキームに対して使用される可能性がある。 明瞭化のために、これらの技術は、周期的な冗長性チェック(CRC)行コード及びリニアブロック列コードから成る特定の2次元積−コーディングスキームに対して説明される。 発明のブロックデコーディング技術が使用される可能性がある通信システムの一例が、以下に説明される。

    図1は、本発明の種々の態様及び実施形態を実行することができる送信機ユニット110及び受信機ユニット150のブロック図である。 送信機ユニット110において、データソース112は、外部エンコーダ120へ(例えば、特定の長さのフレームの)データを与える。 外部エンコーダ120は、ブロックエンコーダ122及びCRCエンコーダ124を含む。 ブロックエンコーダ122は、特定の数のデータフレームの各ブロックを受信し、コード化して、対応するブロック−コード化されたデータブロックを与える。 ある実施形態では、データブロック中のデータは、(N ビットを具備する各シンボルを有する)シンボルを形成するために先ずグループ化され、データブロック中のKのシンボルの各列は、特定の(N,K)のリニアブロックコードでコード化されて、対応するNのシンボルのコードワードを与える。 ブロック−コード化されたデータブロックは、このようにしてN行のシンボルを具備する。 体系的なブロックコードに対して、はじめのK行は、データ行であり、残りの(N−K)行は、パリティ行である。

    ブロック−コード化されたデータブロック中のNのフレームのそれぞれに対して、CRCエンコーダ124は、フレーム中のデータビットに基づいてCRCビットのセットを発生し、そしてCRCビットをフレームの終わりに添付する。 各フレーム中に含まれたCRCビットは、受信機ユニットにおいてフレームのエラー検出のために使用される。 CRCエンコーダ124は、コード化されたブロックを与え、そのそれぞれは、一方向(平方向)にCRC−コード化され、そして他の方向(垂直方向)にブロック−コード化される。

    ブロックエンコーダ122は、リード−ソロモンコード(これは、データ送信に対して一般に使用される)、ハミング(Hamming)コード、BCH(ボーズ(Bose)、チャウドゥーリ(Chaudhuri)、及びホッケンゲム(Hocquenghem))コード、若しくはある他のコードのような任意のリニアブロックコードを実行する可能性がある。 ここで説明される発明のブロックデコーディング技術は、任意のリニアブロックコードに対して使用される可能性があり、そして体系的なブロックコードに対して有利に使用される可能性がある。

    図1に示された実施形態では、コード化されたブロックは、内部エンコーダ130に与えられ、内部エンコーダ130は、インターリーバ132及びコンボルーショナルエンコーダ134を含む。 インターリーバ132は、各コード化されたブロック中のビットを組み替え(すなわち、並べ替え)そしてコンボルーショナルエンコーダ134にインターリーブされたビットを与える。 コンボルーショナルエンコーダ134は、その後、固有のコンボルーショナルコードにしたがってそのビットをコード化する。 インターリービングは、時間ダイバーシティを与え、エラーを低下させる。 エラーは、コンボルーショナルデコーダからバーストで発生する可能性がある。

    内部エンコーダ130は、付加的なエラー訂正能力を与えるために使用される可能性があるけれども、ここに説明される発明のブロックデコーディング技術は、エンコーダ130によって与えられた内部コーディングを含まないコーディングスキームに対して使用される可能性がある。 内部エンコーダ130は、点線の四で表されたように、それゆえオプションである。 同様に、外部エンコーダ120に与えられたデータも、特定のコードを使用して前にコード化されているデータを(すなわち、“行”データ若しくは情報ビットの代わりに)表す可能性がある。

    内部エンコーダ130からのコード化されたデータは、その後、モジュレータ/送信機(Mod/TMTR)140に与えられる。 モジュレータ/送信機140は、コード化されたデータを変調して(例えば、カバーし拡散して)変調されたデータを与え、そして変調されたデータをさらに調整して(例えば、1若しくはそれ以上のアナログ信号に変換し、フィルタし、増幅し、アップコンバートし、そして直交変調して)、(例えば、ワイアレス)通信チャネル上での送信に対して適した変調された信号を与える。

    受信機ユニット150において、送信された変調された信号は、アンテナ152によって受信され、そして受信機/デモジュレータ(RCVR/Demod)154へ与えられる。 受信機/デモジュレータ154は、受信した信号を調整し(例えば、フィルタし、増幅し、そしてダウンコンバートし)、そして調整された信号をディジタル化して、データサンプルを与える。 受信機/デモジュレータ154は、データサンプルをさらに処理する(例えば、デスプレッドする及びデカバーする)ことが可能であり、復調されたデータを与える。

    図1に示された実施形態では、復調されたデータは、内部デコーダ160へ与えられる。 内部デコーダ160は、ビタビデコーダ162及びデインターリーバ164を含む。 ビタビデコーダ162は、送信機ユニット110において使用されたコンボルーショナルコードに対してデコーディングを実施し、デインターリーバ164は、インターリーバ132によって実施されたものに対して補完的な方式でデコードされたビットを並べ替える。 デインターリーブされたデータは、その後、外部デコーダ170へ与えられる。

    外部デコーダ170は、CRCチェッカ172及びブロックデコーダ174を含む。 送信機ユニットから送信されたコード化されたブロックに対応する各受信されたブロックに対して、CRCチェッカ172は、受信されたブロックの各行をチェックし、そしてその行が正しく受信されたか、エラーで(すなわち、消去されて)受信されたかの指標を与える。 CRC−チェックされたブロックは、その後、ブロックデコーダ174へ与えられる。 ブロックデコーダ174は、以下に詳細に述べられるように、ブロックについて消去箇所−及び−単一−エラー若しくは消去箇所−限定訂正ブロックデコーディングを実施する。 ブロックデコーダ174からのデコードされたデータは、その後、データシンク176へ与えられる。

    コントローラ180は、受信機ユニット150における種々のデコーディングを管理するために使用される可能性がある。 コントローラ180は、外部デコーダ170のいくつか若しくは全てを実行するために使用されることも可能性がある。 この場合に、プログラムコードおよび必要なデータは、メモリ182に記憶される可能性がある。 メモリ182は、コントローラ180に適切に接続される。

    図1は、本発明の種々の態様及び実施形態を実行することができる送信機及び受信機ユニットの特定の実施形態を示す。 他の送信機及び受信機設計も、使用される可能性があり、本発明の範囲内である。 例えば、受信機ユニットは、CRCチェッカ172及びブロックデコーダ174を含むが、内部デコーダ160を含まないように設計される可能性がある。

    図2は、リニアブロックコードに対して消去箇所−限定訂正ブロックデコーディングを実施するための種々のステップを図式的に示す図である。 (N,K)のリニアブロックエンコーダは、(それが周期的なコードであれば、多項式の固有のセットにしたがって)Kのデータシンボルの各“ブロック”をコード化して、Nのコードシンボルの対応するコードワードを与える。 コードの最小距離、D、は、ブロックコードの消去箇所及びエラー訂正能力を決定し、そしてコードパラメータ(N,K)は、メモリの必要性を決定する。 (N,K)のブロックコードが、与えられたコードワード中のTのシンボルエラー及びFの消去箇所を同時に訂正できることが、知られている。 ここで、T及びFは、以下の条件に適合する:
    (2T+F)≦(D−1) 式(1)
    ここに説明された発明のブロックデコーディング技術は、任意のコードレートに対して使用される可能性がある。 単純化のために、レート(8,4)及びD=5の最小距離を有する小さなコードが、図2に示された特定の例に対して使用される。

    送信機ユニットにおいて、ある特定の数のデータフレームの各グループは、K×Lの情報ブロック、i K×L 、によって表される。 ある実施形態では、情報ブロックの各行は、それぞれのデータフレームに対応し、そしてそのフレーム中の全てのビットに対するLのシンボルを含む。 各シンボル(これは、情報ブロック、i K×L 、中で小さな四角い箱で表される)は、N ビットを具備し、使用に対して選択された特定のブロックコードに依存するN に対する特定の値を有する。

    プロックエンコーディングは、情報ブロック、i K×L 、をN×Kの生成元マトリックス、G N×K 、で事前に掛け算することによって実施される(ステップ1)。 生成元マトリックスは、選択されたリニアブロックコードに対して決定された多項式のセットに基づいて導出される可能性がある。 多項式を決定するためのそして生成元マトリックスを導出するための技術は、この分野において知られており、ここでは説明しない。 情報ブロック及び生成元マトリックス中の各シンボルが、複数ビットの値である可能性があるので、エレメント毎の掛け算及びマトリックス掛け算に対する足し算は、ガロア(Galois)フィールドGF(2 NB )にわたって実施される。 ここで、N は、各シンボルに対するビットの数である。 情報ブロックでの生成元マトリックスの掛け算は、N×Lのコード化されたブロック、c N×L 、を生成する。

    体系的な(N,K)にブロックコードに対して、各コードワードは、Kのデータシンボル及び(N−K)のパリティシンボルを含む。 パリティシンボルは、Kのデータシンボルの線形結合によって形成される。 このようにして、図2に示された例に関して、コード化されたブロック、c N×L 、は、情報ブロック、i K×L 、中のKのデータ行に対するKの体系的な行、及びKのデータ行及び生成元マトリックスに基づいて発生された(N−K)のパリティ行を含む。 コード化されたブロック、c N×L 、中のLの列のそれぞれは、それぞれのコードワードに対応する。

    図1に示されたように、コード化されたブロック、c N×L 、は、送信機ユニットにおいてさらに処理され、そして受信機ユニットに送信される。 受信機ユニットは、その後、補完的なプロセシングを実施して受信されたブロック、r N×L 、を与える。 受信されたブロック、r N×L 、中の各シンボルは、コード化されたブロック、c N×L 、中のシンボルに対応するが、通信チャネルによって生じる劣化に起因するエラーで受信される可能性がある。

    受信機ユニットにおいて、受信されたブロック中の各行(例えば、各データフレーム)は、CRCチェッカ172によってチェックされる可能性があり、その行が正しく若しくはエラーで受信されたかどうかを決定する(ステップ2)。 特定の行に対するCRCがチェックされないのであれば、 すなわち、CRCチェッカが不一致すなわちエラーを検出するのであれば、エラーが、その行の中の1シンボルだけ、シンボルのいくつか、若しくは全てのシンボルである可能性があっても、全体の行は、不正確に受信されたと見なされる。 図2に示された例に関して、受信されたブロック、r N×L 、の行2及び4は、CRCがこれらの行に対してチェックしなかったので、消去されたとしてマークされる。 これらの消去された行は、影をつけられた四角い箱の行によって示される。

    ある例では、ある行は、複数のエラーを含んでいてもCRCチェックを通過する可能性がある。 これは、その行中のエラーの数が選択されたCRCコードのエラー検出能力を超える場合に、及びエラーに対する具体的な値がCRCを(偶然に一致して)チェックするようである場合に、生じる可能性がある。 そのような場合には、実際には複数の検出されなかったシンボルエラーを含む時に、その行が、正しく受信されたとして(誤って)示されるはずである。 そのようなエラー行の一例が、受信されたブロック、r N×L 、中の行6によって示される。 ここで、3つの検出されなかったシンボルエラーが、3つの黒の四角い箱で示される。

    消去箇所(エラーでなく)に対して訂正するだけのブロックデコーディング技術は、以下のように実施される可能性がある。 先ず、受信されたブロック、r N×L 、の消去された行に対応する生成元マトリックス、G N×K 、の行も、消去されたとしてマークされる。 図2に示された例に関して、生成元マトリックス、G N×K 、の行2及び4は、G N×K中の影をつけられた箱によって示されたように、消去されたとしてマークされる。

    消去箇所−限定訂正ブロックデコーディングにおける次のステップに対して、受信されたブロック、r N×L 、のKの未消去の行は、縮小した受信されたブロック、r' K×L 、を形成するために選択され、そして生成元マトリックス、G N×K 、の対応するKの行も、縮小した生成元マトリックス、G' K×K 、を形成するために選択される(ステップ3)。 図2に示された例に関して、受信されたブロック、r N×L 、のはじめの4行の未消去行(すなわち、1,3,5及び6)は、縮小した受信されたブロック、r' K×L 、を形成するために選択され、生成元マトリックス、G N×K 、の対応する行1,3,5,及び6は、縮小した生成元マトリックス、G' K×K 、を形成するために選択される。 この例において、選択された行の1つ(すなわち、行6)も、生じることがあり、検出されなかったシンボルエラーを含む。

    縮小した生成元マトリックス、G' K×K 、は、その後、反転され反転された(若しくは逆)生成元マトリックス、G' K×K −1 、を導出する(ステップ4)。 マトリックスの反転は、この分野において知られた方法で実施される可能性がある。 反転された生成元マトリックス、G' K×K −1 、は、その後、縮小した受信されたブロック、r' K×L 、で掛け算されて、情報ブロックの初期推定値、i' K×L 、を導出する(ステップ4)。 情報ブロックの推定値、i^ K×L 、は、その後、受信されたブロック、r N×L 、の消去された体系的な行(すなわち、行2及び4)を初めに推定された情報ブロック、i' K×L 、の対応する行で置き換えることによって導出される可能性がある(ステップ5)。

    縮小した受信されたブロック、r' K×L 、中の全ての行におけるシンボルが、正しい値であるならば、推定された情報ブロック、i^ K×L 、は、送信された情報ブロック、i K×L 、に等しくなるはずである(すなわち、i^ K×L =i K×L )。 このようにして、ブロックデコーディングは、冗長パリティ行(すなわち、行5及び6)を使用することによって受信されたブロック、r N×L 、中の消去箇所に対して訂正することが可能であり、消去された体系的な行(すなわち、行2及び4)を再生する。

    しかしながら、図2に示された例に関して、縮小した受信されたブロック、r' K×L 、の最後の行中の検出されなかったシンボルエラーは、初めに推定された情報ブロック、i' K×L 、の対応する列中のエラーを結果として生じる。 これらのエラーは、初めに推定された情報ブロック、i' K×L 、の列4,7,及び12中の黒い四角の箱によって示される。 受信されたブロック、r N×L 、の行2及び4が消去されているので、これらの行は、初めに推定された情報ブロック、i' K×L 、の対応する行2及び4によって置き換えられる。 図2に示されたように、置き換えられた行のそれぞれは、エラー行中のシンボルエラーと同数のシンボルエラーを含む。 これらのエラーは、その後、次のプロセシングステージに与えられるはずである。

    図3及び図4は、リニアブロックコードに対する消去箇所−及び−単一−エラー訂正ブロックデコーディングを実施するための種々のステップを図式的に示す。 単純化のために、図3及び図4の実施形態は、図2に対して使用された同一のサンプルを使用する。 これによって、受信されたブロック、r N×L 、は、2つの消去された行2及び4、及び1つのエラー行6(これらは複数の検出されなかったシンボルエラーを包含する)を含む。

    消去箇所及び単一のエラーに対して訂正するブロックデコーディング技術は、以下のようにして実施される可能性がある。 はじめに、受信されたブロック、r N×L 、の各行は、CRCチェッカ172によってチェックされる可能性があり、その行が正しく若しくはエラーで受信されたかどうかを決定する。 そしてその行は、CRCがチェックしなければ、 すなわち、CRCチェッカが不一致すなわちエラーを検出するならば、消去されたとしてマークされる(図2でステップ2)。 受信されたブロック、r N×L 、の未消去の体系的な行(例えば、第1のそのような行)は、その後、擬似−消去行としてマークされ(図3中のステップ3)、そしていくつかの後続のデコーディングステップに対して消去された行のように扱われる(すなわち、ステップ4及び5)。 受信されたブロック、r N×L 、の消去された行に対応する生成元マトリックス、G N×K 、の行も、消去されたとしてマークされる(ステップ3)。 図3及び図4に示された例に関して、生成元マトリックス、G N×K 、の行1,2及び4は、影をつけられた四角の箱のように、消去されたとしてマークされる。

    消去箇所−及び−単一−エラー訂正ブロックデコーディング中の次のステップに関して、受信されたブロック、r N×L 、の任意のKの未消去行は、縮小した受信されたブロック、r' K×L 、を形成するために選択され、そして生成元マトリックス、G N×K 、の対応するKの行も、縮小した生成元マトリックス、G' K×K 、を形成するために選択される(ステップ4)。 図3及び図4に示されたイグゼンプラリな実施形態に関して、受信されたブロック、r N×L 、のはじめの4行の未消去行(すなわち、行3,5,6,及び7)は、縮小した受信されたブロック、r' K×L 、を形成するために選択され、そして生成元マトリックス、G N×K 、の対応する行3,5,6,及び7は、縮小した生成元マトリックス、G' K×K 、を形成するために選択される。 再びこの例に対して、選択された行の1つ(すなわち、行6)は、偶然に検出されなかったシンボルエラーを含むことがある。

    縮小した生成元マトリックス、G' K×K 、は、その後、反転され反転された生成元マトリックス、G' K×K −1 、を導出する(ステップ5)。 次に、反転された生成元マトリックス、G' K×K −1 、は、縮小した受信されたブロック、r' K×L 、で掛け算されて、初めに推定された情報ブロック、i' K×L 、を導出する(ステップ5)。

    ブロックデコーディングの次のステップに関して、擬似−消去行(すなわち、行1)は、初めに推定された情報ブロック、i' K×L 、中の対応する行に対して比較される(ステップ6)。 マトリックスの掛け算であるという理由で、縮小した受信されたブロック、r' K×L 、中のいかなるシンボルエラーは、初めに推定された情報ブロック、i' K×L 、中のシンボルエラーの全体の列に結果としてなる。 このようにして、擬似−消去行が、初めに推定された情報ブロック、i' K×L 、中の対応する行に対してシンボル毎に比較される場合、エラー(すなわち、一致しなかったシンボル)は、その位置のシンボルが一致しないので、列4,7,及び12において検出される。

    一致しなかったシンボルを含んでいる列に対応するコードワードは、その後選択される(ステップ6)。 図3及び図4に示されたイグゼンプラリな実施形態に関して、第1の一致しなかったシンボルを含んでいる列(すなわち、列4)に対応するコードワードが、選択される。 計算は、その後、選択されたコードワード中のシンボルエラーの位置を見つけるために実施される。 エラーの位置は、この分野で知られた種々のブロックデコーディング技術に基づいて決定される可能性がある。 例えば、リード−ソロモンコードに対して、シンドロームが、コードワード中のNのシンボルからはじめに算出され、エラー位置多項式の係数、σ(x)、は、その後、シンドロームから計算され、そしてエラーロケータは、その後、これらの係数から算出される可能性がある。 図3及び図4に示されたイグゼンプラリな実施形態に対して、シンボルエラーは、コードワード中の6番目のシンボル位置に位置する。

    次のステップでは、シンボルエラーが位置している全体の行(すなわち、行6)は、消去された行としてマークされ、そして擬似−消去行(すなわち、行1)は、未消去の行としてマークされる(ステップ7)。 後続の、ブロックデコーディングは、図2において上述されたように、その後処理される可能性がある。 具体的には、受信されたブロック、r N×L 、の任意のKの未消去の行(すなわち、行1,3,5,及び7)は、新たな縮小した受信されたブロック、r” K×L 、を形成するために選択される可能性があり、そして生成元マトリックス、G N×K 、の対応するKの行も、新たな縮小した生成元マトリックス、G” K×K 、を形成するために選択される。 図3及び図4に示されたように、(以前に検出されなかった)シンボルエラーを有する行(すなわち、行6)は、消去された行としてマークされ、そして使用のためには選択されない。

    新たな縮小した生成元マトリックス、G” K×K 、は、その後、反転されて、反転された生成元マトリックス、G” K×K −1 、を導出する(ステップ8)。 反転された生成元マトリックス、G” K×K −1 、は、次に縮小した受信されたブロック、r” K×L 、で掛け算されて、新たな初めの情報ブロックの推定値、i” K×L 、を導出する。情報ブロックの推定値、i^ K×L 、は、その後、受信されたブロック、r N×L 、の消去された体系的な行(すなわち、行2及び4)を新たな初めに推定された情報ブロック、i” K×L 、の対応する行で置き換えることによって導出される可能性がある(ステップ9)。

    新たな縮小した受信されたブロック、r” K×L 、の全ての行中のシンボルが正しい値であるので、推定された情報ブロック、i^ K×L 、は、送信された情報ブロック、i K×L 、に等しい(すなわち、i^ K×L =i K×L )。この例では、消去箇所−及び−単一−エラー訂正ブロックデコーディングは、冗長パリティ行(すなわち、行5及び7)を使用することによって、受信されたブロック、r N×L 、中の2つの消去された行及び単一のエラー行を訂正できて、消去された体系的な行(すなわち、行2及び4)を再生する。

    一般に、消去箇所−及び−単一−エラー訂正ブロックデコーディングは、下記によって達成される。 (1)冗長パリティ行を使用して、未消去の体系的な行に対する推定値を導出する、(2)未消去の体系的な行をその推定値に対して比較して、いずれかの一致しなかったシンボル(若しくは、エラー)の位置を決定する、(3)一致しなかったシンボルを含んでいるコードワード(若しくは、列)中のシンボルエラーの位置を見つける、(4)シンボルエラーを含んでいる全体の行を消去されたとしてマーキングする、そして(5)受信されたブロックの未消去の行に基づいて体系的な行に対するブロックデコーディングを実施する。

    本発明の消去箇所−及び−単一−エラー訂正ブロックデコーディング技術は、従来のデコーディング技術より計算上の集中が少ない(検出されなかったシンボルエラーが擬似−消去行を使用してその後検出されるのであれば、エラー位置を見つけることは、1つのコードワードに対してだけある部分が実施されるためである)。 擬似−消去行は、検出されなかったシンボルエラーが位置する正確なコードワード(若しくは、2次元ブロック中の正確な列)を正確に位置を示すために使用される可能性があり、そしてコードワード(若しくは、2次元ブロックの正確な行)中のシンボルエラーの正確な位置は、コードワードにおいてブロックエラー位置選定を実施することによって決定される可能性がある。 (以前に検出されなかった)シンボルエラーを含んでいる行は、その後、消去されたとしてマークされ、そして消去箇所−限定訂正ブロックデコーディングは、受信されたブロックにおいて実施される可能性がある。

    図3のステップ3から6は、検出されなかったシンボルエラーが見つけられる可能性がある特定の列を効率的に決定する。 他のスキームも、エラー列を決定するために使用される可能性がある。 そしてこれは、本発明の範囲内である。

    さらに、ステップ6において、擬似−消去箇所は、全てが一時に(すなわち、全体の行に対して)導出される必要がない。 その代わりに、擬似−消去箇所は、一回に1つのシンボルを導出する可能性があり、そして受信された擬似−消去行中の対応するシンボルと比較される可能性がある。 そのようにして、エラーが第1の列の1つに位置するのであれば、行中の残りの擬似−消去箇所は、導出される必要がない。

    情報ブロックの初期推定値、i' K×L 、の導出、及び推定された情報ブロック、i^ K×L 、の形成は、概念的なステップである。 これらのステップは、図3及び図4の例に対して示されて、ブロックデコーディング技術のよりよい理解を与える。 しかしながら、実行面では、導出されたi' K×Lの行だけが、オリジナルの受信されたブロック中で消去されたものである。

    受信されたブロック中の(K+1)の良い行だけ(若しくは、CRCチェックされたフレーム)が、消去箇所−及び−単一−エラーデコーディングを実施する必要があるために、(K+1)の良い行が受信されるとできるだけ早く受信機ユニット(例えば、図1の受信機/デモジュレータ154,ビタビデコーダ162,デインターリーバ164、及びCRCチェッカ172)のフロントエンドを切ることができる。 これは、受信機ユニットの電力を節約する。

    図5は、発明の1実施形態にしたがった、リニアブロックコードに対する消去箇所−及び−単一−エラー訂正ブロックデコーディングを実施するためのプロセス400の単純化したフロー図である。 はじめに、ステップ412において、複数のコードワードで構成されるコード化されたブロックが受信され、そして受信されたブロック中の消去された行が決定される。 消去された行は、受信されたブロックの各行にCRCチェックを実施することによって、若しくは他のあるメカニズムによって決定される可能性がある。

    ステップ414において、検出されなかったシンボルエラーを含んでいる受信されたブロックの列に対応するコードワードは、その後、識別される。 この検出されなかったシンボルエラーは、受信されたブロックの消去された行に含まれなかったものである。 その列は、上述したように擬似−消去行を使用して、若しくは他の手段によって識別される可能性がある。 ステップ416において、コードワード中のシンボルエラーの位置は、その後、(例えば、この分野で知られた任意の技術を使用して)決定される。 ステップ418において、シンボルエラーを含んでいる受信されたブロックの行は、その後、消去された行としてマークされる。 ステップ420において、ブロックデコーディングは、その後、シンボルエラーを含んでいる新たにマークされた消去された行を有する受信されたブロックに対して実施される可能性がある。

    図6及び図7は、本発明の実施形態にしたがって、(N,K)のリニアブロックコードに対する消去箇所−及び−単一−エラー訂正ブロックデコーディングを実施するためのプロセス500の詳細なフロー図を示す。 はじめに、ステップ512において、複数の(Lの)コードワードからなるコード化されたブロックが受信され、そして受信されたブロック中の消去された行が決定される。

    その後、ステップ514において、受信されたブロック中の消去された行の数が(D−1)より大きいかどうか、決定がなされる。 式(1)に上記したように、適切に設計されたブロックコードは、コードワード中の(D−1)までの消去されたシンボルを訂正できる可能性がある。 それゆえ、ステップ516において示されたように、消去された行の数が(D−1)を超えるのであれば、全ての消去された行に対する訂正は、コード距離が大きいので不可能である。 プロセスは、その後、終了する。

    そうでなければ、ステップ518において、消去された行の数が(D−1)に等しい若しくは小さければ、受信されたブロック中の消去された行の数が(D−3)より大きいかどうか、決定がなされる。 式(1)にこれも上記されているように、適切に設計されたブロックコードは、コードワード中の(D−3)までの消去されたシンボル及び1個のエラーシンボルを訂正できる可能性がある。 それゆえ、消去された行の数が(D−2)若しくは(D−1)に等しければ、全ての消去された行に対する消去箇所−限定訂正が、可能であり、ステップ522において始まり実施される可能性がある。

    そうでなければ、ステップ520において、消去された行の数が(D−3)に等しい若しくは小さければ、受信されたブロック中の消去された行の数が(K−1)より大きいかどうか、決定がなされる。 体系的な行の1つが擬似−消去行としてその後使用されて、検出されなかったシンボルエラーの列の位置を決めるのであれば、そして未消去の体系的な行が擬似−消去行としての使用に対して利用できないのであれば、全ての消去された行に対して消去箇所−限定訂正がまだ可能であり、ステップ522において始まり再び実施される可能性がある。

    そうでなければ、消去された行の数が(D−3)に等しい若しくは小さく、そして少なくとも1の未消去の体系的な行が利用できるのであれば、消去箇所−及び−単一−エラー訂正ブロックデコーディングは、ステップ532において始められ、受信されたブロックに実施される可能性がある。 一般に、消去箇所−及び−単一−エラー訂正ブロックデコーディングは、可能なときにいつでも実施される可能性があり、消去箇所−限定訂正ブロックデコーディングは、可能であれば、そして消去箇所−及び−単一−エラー訂正ブロックデコーディングが実施できないのであれば、実施される可能性がある。

    消去箇所−限定訂正ブロックデコーディングを実施するために、ステップ522において、縮小した生成元マトリックス、G' K×K 、は、受信されたブロック、r N×L 、の任意のKの未消去の行に対応する生成元マトリックス、G N×K 、のKの行を選択することによってはじめに形成される。 ステップ524において、縮小した生成元マトリックスは、その後、反転される。 受信されたブロックの消去された体系的な行は、その後、情報ブロックの初期推定値、i' K×L 、の対応する行から導出される。 ステップ526において、情報ブロックの初期推定値、i' K×L 、は、逆生成元マトリックス、G' K×K −1 、を受信されたブロック、r N×L 、のKの対応する未消去の行によって形成された縮小した受信されたブロック、r' K×L 、で掛け算することによって導出される。 縮小した受信されたブロック、r' K×L 、の行中に検出されなかったシンボルエラーがなければ、初めに推定された情報ブロック、i' K×L 、は、受信されたブロック中の全ての消去された体系的な行に対する訂正を含むはずである。 消去箇所−限定訂正ブロックデコーディングは、その後、終了する。

    消去箇所−及び−単一−エラー訂正ブロックデコーディングを実施するために、受信されたブロック中の検出されなかったシンボルエラーの行の位置は、はじめに決定される。 これは、以下のようにして達成される可能性がある。 ステップ532において、まず、未消去の体系的な行(例えば、受信されたブロック中の第1のそのような行)は、擬似−消去行として選択される。 この行は、以下のステップで消去された行として扱われて、検出されなかったシンボルエラー位置を決定する。 ステップ534において、縮小した生成元マトリックス、G' K×K 、は、その後、受信されたブロックの任意のKの未消去の行に対応する生成元マトリックス、G N×K 、のK行を選択することによって形成される。 ステップ536において、縮小した生成元マトリックスは、その後反転される。 ステップ538において、擬似−消去行の推定値は、その後、逆生成元マトリックス、G' K×K −1 、を受信されたブロック、r N×L 、のKの対応する未消去の行によって形成された縮小した受信されたブロック、r' K×L 、で掛け算することによって導出される。 擬似−消去行の推定値だけが必要であるので、G' K×K −1とr' K×Lとのマトリックス掛け算は、r' K×Lの全ての列に対してG' K×K −1の1行だけ(そしてマトリックス全体ではなく)に対して実施される可能性がある。

    ステップ540において、擬似−消去行は、その後、その推定値に対して比較される。 比較は、最初の一致しないシンボルが検出されるまでシンボル毎に実施される可能性がある。 ステップ542において、その後、擬似−消去行中にいずれかの一致しないシンボルがあるかどうか、決定がなされる。 一致しないシンボルがなければ、受信されたブロック中に検出されなかったシンボルエラーがない(若しくは、1列中に1以上のシンボルエラーがある)、そして、プロセスは、ステップ526に進んで、消去された体系的な行を導出する。

    そうでなければ、ステップ542で決定されたように、擬似−消去行中に少なくとも1の一致しないシンボルがあるならば、ステップ544において、受信されたブロック中に検出されなかったシンボルエラーが存在し、そしてこれらのエラーの行位置が、次に決定される。 これは、擬似−消去行中の一致しないシンボル(例えば、第1の一致しないシンボル)の位置を識別することによって、この一致しないシンボルを含んでいるコードワード(若しくは受信されたブロックの列)を検索することによって、そしてこの分野で知られた任意の技術に基づいてこのコードワード上のエラー位置選定を実施することによって達成される可能性がある。 コードワード中のシンボルエラーは、このようにして位置を見つけられ、そしてステップ546において、このシンボルエラーを含んでいる受信されたブロックの全体の行は、消去された行としてマークされる。

    ステップ548において、その後、擬似−消去行がシンボルエラーを有するものであるかどうかが、決定される。 もし答えがイエスであれば、縮小した受信されたブロック及び縮小した生成元マトリックスが形成された時に、エラー行は、すでに擬似−消去箇所として除かれている。 それゆえ、G' K×K −1は正しく、r' K×Lはいかなる検出されなかったエラーを含まない。 プロセスは、その後、ステップ526へ進む。 そこで、消去された体系的な行が導出される。 そうでなければ、ステップ550において、新たな縮小した生成元マトリックス、G” K×K 、は、その後、未だ消去されていない受信されたブロック、r N×L 、の任意のK行に対応する生成元マトリックス、G N×K 、のK行を選択することによって形成される。ステップ552において、新たな縮小した生成元マトリックスは、その後、反転される。

    プロセスは、その後、ステップ526へ進む。 ここで、受信されたブロックの消去された体系的な行は、新たな情報ブロックの初期推定値、i” K×L 、の対応する行から導出される。新たな情報ブロックの初期推定値、i” K×L 、は、新たな逆生成元マトリックス、G” K×K −1 、を受信されたブロック、r N×L 、のKの対応する未消去の行によって形成された新たな縮小した受信されたブロック、r” K×L 、で掛け算することによって導出される。

    図6、図7に示されたプロセスに対して種々の変形がなされる可能性がある。 例えば、ステップ532から546を繰り返すことが可能であり、複数のエラー行を検出する可能性がある。

    本発明のブロックデコーディング技術は、エラー検出コード及びブロックコードからなる連鎖状コードに対して有効に使用される可能性がある。 エラー検出コーディングは、情報ブロックの一つの(例えば、水平)次元で実施される可能性があり、そしてブロックコーディングは、情報ブロックの他の(例えば、垂直)次元で実施される可能性がある。 発明のブロックデコーディング技術は、エラー検出デコーディングプロセスが捕捉することに失敗したエラーを認識するため及び位置を見つけるため、及びブロックデコーディングプロセスからこれらのシンボルエラーを削除するために使用される可能性がある。 このようにして、発明のブロックデコーディング技術は、エラーを検出することの失敗により生じた問題を改善できる。 このエラーは、削除箇所に対してだけ訂正できるがエラーを訂正できない従来のブロックデコーディング技術によって取り扱うことができない。

    ここに説明された本発明のブロックデコーディングは、計算することにおいて効率的であり、マイクロプロセッサ上で実行されるソフトウェアに基づいたインプリメンテーションに対してよく適している可能性がある。 計算上の効率性を定量化するために、図6及び図7のフロー図におけるいくつかのステップによって実施された掛け算−累積演算の数が、以下に与えられる。


    ステップ 掛け算−累積演算の数
    524,536,552 KP sys (各ステップに対して)
    538 KL
    544 (P+2)(N−1)+P(P+1)+1
    (リード−ソロモンコードに対して)
    526 KLP sys
    ここで、
    Nは、コードワード長さであり;
    Kは、コードワード中の情報シンボルの数であり;
    Rは、パリティシンボルの数(すなわち、R=N−K)であり;
    Lは、コード化されたブロック当りのコードワードの数であり;
    Pは、受信されたブロック中の消去された行の数であり;そして P sysは、受信されたブロック中の消去された体系的な行の数である。

    ここに説明された本発明のブロックデコーディング技術は、種々の通信及びデータ送信システムに対して使用される可能性がある。 例えば、これらの技術は、CDMA,FDMA,及びTDMAシステムのようなワイアレス通信システムに対して有効に使用される可能性がある。 さらに、ここに説明されたデコーディング技術は、ダウンリンク(すなわち、順方向リンク)に対するターミナル(例えば、セルラ電話のようなワイアレス装置)中で、若しくはワイアレス通信システム中のアップリンク(すなわち、逆方向リンク)に対する基地局若しくはアクセスポイントにおいて実行される可能性がある。

    上記したように、ここに説明された本発明のブロックデコーディング技術は、種々の手段によって実行される可能性がある。 例えば、これらの技術は、ハードウェア、ソフトウェア、若しくはこれらの組み合わせで実行される可能性がある。 ハードウェア実行に関して、いくつかの若しくは全てのブロックデコーディングを実施するために使用される素子は、1若しくはそれ以上のアプリケーションスペシフィック集積回路(ASIC)、ディジタルシグナルプロセッサ(DSP)、ディジタルシグナルプロセシングデバイス(DSPD)、プログラマブルロジックデバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、プロセッサ、コントローラ、マイクロ−コントローラ、マイクロプロセッサ、ここに記述した機能を実施するために設計された他の電子ユニット、若しくはこれらの組み合わせの中で、実行される可能性がある。 ハードウェア(例えば、ASIC若しくはDSP)は、1若しくはそれ以上の機能ユニットを含む可能性がある。 機能ユニットは、上述したプロセシングを包括的に実施して、本発明のブロックデコーディングを実行する。 例えば、あるユニットは、行に関するエラーデコーディングを実施するために与えられる可能性があり(例えば、CRCチェッカ172)、他のあるユニットは、列に関するブロックデコーディングを実施するために与えられる可能性がある(例えば、ブロックデコーダ174)、等。

    ソフトウェア実行に関して、本発明のブロックデコーディング技術は、ここで説明した計算及び機能を実施するモジュール(例えば、手順、機能、その他)を使用して実行される可能性がある。 ソフトウェアコードは、メモリユニット(例えば、図1のメモリ182)中に記憶される可能性があり、プロセッサ(例えば、コントローラ180)によって実行される可能性がある。 メモリユニットは、プロセッサの中で若しくはプロセッサの外で、この場合には、この分野で知られた種々の手段を介してプロセッサに通信的に接続されることができ、実行される可能性がある。

    開示された実施形態のこれまでの記述は、この分野に知識のあるいかなるものでも、本発明を作成する若しくは使用することを可能にするために与えられる。 これらの実施形態への種々の変形は、この分野に知識のある者に容易に実現されるであろう。 そして、ここに規定された一般的な原理は、本発明の精神若しくは範囲から逸脱しないで他の実施形態に適用される可能性がある。 そのようにして、本発明は、ここに示された実施形態に制限されることを意図するのではなく、ここに開示された原理及び卓越した特徴に矛盾のない広い範囲に一致する。

    図1は、本発明の種々の態様及び実施形態を実行できる送信機ユニット及び受信機ユニットブロック図である。

    図2は、リニアブロックコードに対する削除箇所−限定訂正ブロックデコーディングの実施に関する種々のステップを図式的に示した図である。

    図3は、リニアブロックコードに対する消去箇所−及び−単一−エラー訂正ブロックデコーディングを実施するための種々のステップを図式的に示す。

    図4は、リニアブロックコードに対する消去箇所−及び−単一−エラー訂正ブロックデコーディングを実施するための種々のステップを図式的に示す。

    図5は、リニアブロックコードに対する消去箇所−及び−単一−エラー訂正ブロックデコーディングを実施するためのプロセスの実施形態の単純化したフロー図である。

    図6は、(N,K)のリニアブロックコードに対する消去箇所−及び−単一−エラー訂正ブロックデコーディングを実施するためのプロセスの実施形態の詳細なフロー図を示す。

    図7は、(N,K)のリニアブロックコードに対する消去箇所−及び−単一−エラー訂正ブロックデコーディングを実施するためのプロセスの実施形態の詳細なフロー図を示す。

    符号の説明

    110…送信機ユニット,120…外部エンコーダ,130…内部エンコーダ,150…受信機ユニット,160…内部でコーダ,170…外部デコーダ。

    QQ群二维码
    意见反馈