JP2010130193A - 誤り訂正復号装置 - Google Patents

誤り訂正復号装置 Download PDF

Info

Publication number
JP2010130193A
JP2010130193A JP2008301110A JP2008301110A JP2010130193A JP 2010130193 A JP2010130193 A JP 2010130193A JP 2008301110 A JP2008301110 A JP 2008301110A JP 2008301110 A JP2008301110 A JP 2008301110A JP 2010130193 A JP2010130193 A JP 2010130193A
Authority
JP
Japan
Prior art keywords
data
decoder
dual port
error correction
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008301110A
Other languages
English (en)
Other versions
JP4867980B2 (ja
Inventor
Takashi Maebatake
貴 前畠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Electric Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sumitomo Electric Industries Ltd filed Critical Sumitomo Electric Industries Ltd
Priority to JP2008301110A priority Critical patent/JP4867980B2/ja
Publication of JP2010130193A publication Critical patent/JP2010130193A/ja
Priority to US13/157,042 priority patent/US8572453B2/en
Application granted granted Critical
Publication of JP4867980B2 publication Critical patent/JP4867980B2/ja
Priority to US14/028,241 priority patent/US8904259B2/en
Priority to US14/502,294 priority patent/US9203433B2/en
Priority to US14/940,091 priority patent/US20160142075A1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1145Pipelined decoding at code word level, e.g. multiple code words being decoded simultaneously
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/1134Full parallel processing, i.e. all bit nodes or check nodes are processed in parallel
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1177Regular LDPC codes with parity-check matrices wherein all rows and columns have the same row weight and column weight, respectively
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6563Implementations using multi-port memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

Abstract

【課題】 復号化器への入力のための信号配線の数を極端に大きくせず、かつ復号化器への入力速度が極端に低速化しないように調整された誤り訂正復号装置、または、復号化器からの出力のための信号配線の数を極端に大きくせず、かつ復号化器の出力速度が極端に低速化しないように調整された誤り訂正復号装置を提供する。
【解決手段】 復号化器5は、N個の入力データを並列に復号処理して、K個の復号データを生成する。S/P変換器6は、直列に入力されるN個の入力データを複数回に分けて第1の配線L1〜L64を通じて復号化器5に出力する。P/S変換器7は、復号化器5からK個の復号データを複数回に分けて第2の配線R1〜R60を通じて受けて、K個の復号化データを直列で外部に出力する。
【選択図】図1

Description

本発明は、誤り訂正復号装置に関し、特に低密度パリティ検査符号を復号する誤り訂正復号装置に関する。
信号の通信システムを構築する場合には、高速通信、低消費電力、高通信品質(低ビット誤り率)等が要求される。受信符号の誤りを検出して訂正する誤り訂正技術は、これらの要求を満たす1つの技術として、無線、有線および記録システム等において幅広く利用されている。
近年、この誤り訂正技術の1つとして、低密度パリティ検査(LDPC:Low-Density Parity-Check)符号と、sum-product復号法とが注目されている。このLDPC符号を利用する復号操作は、Chung等の非特許文献1において議論されている。この非特許文献1においては、符号化率1/2のイレギュラーLDPC符号を利用して白色ガウス通信路のシャノン(Shannon)限界まで0.04dBという復号特性が得られることが示されている。イレギュラーLDPC符号は、パリティ検査行列の行重み(行において1が立つ数)および列重み(列において1が立つ数)が、一定ではない符号を示す。行重みおよび列重みが各行および各列において一定のLDPC符号は、レギュラーLDPC符号と呼ばれる。
この非特許文献1においては、LDPC符号をsum-product復号法に従って復号する数学的なアルゴリズムが示されているものの、その膨大な計算を具体的に行なう回路構成については何ら示していない。
Yeo等の非特許文献2は、LDPC符号の復号装置の回路構成について検討している。この非特許文献2においては、受信系列に基づいて情報シンボルの事後確率として、トレリスに基づくMAP(最大事後確率)アルゴリズム、すなわちBCJRアルゴリズムを示している。このトレリスにおいて前方向および後方向の繰返しを各状態について計算し、これらの前方向および後方向の繰返し値に基づいて、事後確率を求めている。この計算式において、加算/比較/選択/加算装置を用いて計算する。またLDPC符号に対しても、sum-product復号法に基づき、検査行列を生成し、異なるチェックノードからの値を利用して、推定値を算出するように回路を構成している。
また、非特許文献3においては、LDPC符号とsum-product復号法を解説し、また対数領域でのmin-sum復号法が解説されている。この非特許文献3においては、加算、最小、正負の判定および正負の符号の乗算という4種類の基本演算のみでギャラガー(Gallager)のf関数に従う処理を実装することができることが示されている。
上述の非特許文献2および3においては、パリティ検査行列を生成して1次推定語を算出するために、sum-product法に従ってギャラガー(Gallager)のf関数を用いて外部値対数比αを更新し、次いで、この外部値対数比に基づいてシンボルの事前値対数比βを算出する処理が行なわれる。このため、ギャラガー関数の演算に長時間を有し、また回路規模も増大する。
上述の非特許文献3においては、sum-product復号法の簡略した手法であるmin-sum復号法を利用することにより、短時間で実装時の回路構成を簡略化することができることを示している。
さらに、min-sum復号法の具体的な実装方法が、たとえば特許文献1および2に開示されている。これらの文献では、復号化器が符号長の単位で入力データを並列処理して、復号データを出力する構成が開示されている。
特開2007−323515号公報 特開2007−335992号公報 S. Y. Chung et al.,"On the Design of Low-Density Parity-Check Codes within 0.0045dB of the Shannon Limit"IEEE COMUNICATIONS LETTERS, VOL.5, No.2, Feb. 2001, pp.58-60 E. Yeo et al.,"VLSI Architectures for Iterative Decoders inMagnetic Recording Channels"IEEE Trans. Magnetics, Vol,37, No.2, March 2001, pp.748-755 和田山正、「低密度パリティ検査符号とその復号法について」、信学技報、MR2001−83、2001年12月
ところで、このような符号長の単位で入力データを並列処理する復号化器へ入力データを入力させるために、シリアルの入力データを符号長分のパラレルデータに変換してから、符号長分の信号配線を通じて復号化器へ出力する構成が考えられる。しかしながら、この構成では、符号長が長い場合には、信号配線の数が膨大となる。
一方、1本の信号配線を通じてシリアルに符号長分の入力データを復号化器へ入力する構成も考えられる。しかしながら、この構成では、復号化器への入力に要する時間が長くなる。
また、同様に、復号化器から外部へ復号データを出力するために、シリアルに復号長分の復号データを出力する構成が考えられる。しかしながら、この構成では、復号化器からの出力に要する時間がかかる。
一方、復号化器が、復号長分の復号データをパラレルで出力してから、復号長分の信号配線を通じて外部へ出力し、外部で復号長分のパラレルデータをシリアルデータに変換する構成が考えられる。しかしながら、この構成では、復号長が長い場合には、信号配線の数が膨大となる。
それゆえに、本発明の目的は、復号化器への入力のための信号配線の数を極端に大きくせず、かつ復号化器への入力速度が極端に低速化しないように調整された誤り訂正復号装置、または、復号化器から出力するための信号配線の数を極端に大きくせず、かつ復号化器の出力速度が極端に低速化しないように調整された誤り訂正復号装置を提供することである。
本発明の第1の局面に係る誤り訂正復号装置は、符号長Nの単位で復号を行なう誤り訂正復号装置であって、N個の入力データを並列に復号処理する復号化器と、直列に入力されるN個の入力データを複数回に分けて復号化器に出力する直並列変換回路と、直並列変換回路と復号化器とを接続し、それぞれが1個の入力データを伝送するB1本(B1は2以上N未満の自然数である)の第1の配線とを備える。
好ましくは、直並列変換回路は、N個の入力データを記憶する第1の記憶部を備え、第1の記憶部は、格納されたN個の入力データを複数回に分けて第1の配線を通じて復号化器へ出力する。
好ましくは、第1の記憶部は、B1個の1入力1出力のデュアルポートメモリを含み、直並列変換回路は、さらに、直列に入力されるN個の入力データをB1個のデュアルポートメモリのうちのいずれへ格納するかを切り替えるスイッチを備え、B1個のデュアルポートメモリとB1個の第1の配線とは1対1で接続される。
好ましくは、第1の記憶部は、B1個の1入力1出力のデュアルポートメモリを含み、各デュアルポートメモリは、直列に入力されるN個の入力データを重複して記憶し、B1個のデュアルポートメモリと、B1個の第1の配線とは1対1で接続され、各デュアルポートメモリは、N個の入力データのうちの互いに異なるデータを出力する。
好ましくは、B1は、Nの公約数である。
本発明の第1の局面に係る誤り訂正復号装置は、復号長Kの単位で復号を行なう誤り訂正復号装置であって、入力データを並列に復号処理して、K個の復号データを生成する復号化器と、復号化器からK個の復号データを複数回に分けて受けて、K個の復号化データを直列で外部に出力する並直列変換回路と、復号化器と並直列変換回路とを接続するB2本(B2は2以上K未満の自然数である)の第2の配線とを備える。
好ましくは、並直列変換回路は、K個の復号データを記憶する第2の記憶部を備え、第2の記憶部は、復号化器からK個の復号データを複数回に分けて第2の配線を通じて受ける。
好ましくは、第2の記憶部は、B2個の1入力1出力のデュアルポートメモリを含み、並直列変換回路は、さらに、B2個のデュアルポートメモリのうちのいずれから出力するかを切り替える第2のスイッチを備え、B2個のデュアルポートメモリとB2個の第2の配線とは1対1で接続される。
好ましくは、B2は、Kの公約数である。
本発明のある局面によれば、復号化器への入力のための信号配線の数を極端に大きくせず、かつ復号化器への入力速度が極端に低速化しないように調整された誤り訂正復号装置を実現できる。
また、本発明の別の局面によれば、復号化器から出力するための信号配線の数を極端に大きくせず、かつ復号化器の出力速度が極端に低速化しないように調整された誤り訂正復号装置を実現できる。
[第1の実施形態]
図1は、本発明の実施形態の誤り訂正復号装置を用いる通信システムの構成の一例を示す図である。
図1において、通信システムは、送信側において、送信情報に誤り訂正用の冗長ビットを付加して送信符号を生成する符号化器1と、この符号化器1からの(K+M)(=N)ビットの符号を所定の方式に従って変調して通信路3へ出力する変調器2とを含む。
符号化器1は、Kビットの情報ビットに対し、パリティ計算用の冗長ビットMビットを付加して、(K+M)(=N)ビットのLDPC符号(低密度パリティ検査符号)を生成する。パリティ検査行列Hにおいては、行が冗長ビットに対応し、列が符号ビットに対応する。ここで、Nが符号長に対応する。
変調器2は、この通信路3の構成に応じて、振幅変調、位相変調、コード変調、周波数変調または直行周波数分割多重変調などの変調を行なう。たとえば、通信路3が、光ファイバの場合、変調器2においては、レーザダイオードの輝度を送信情報ビット値に応じて変更させることにより、光の強度変調(一種の振幅変調)を行なっている。たとえば、送信データビットが“0”の場合には、このレーザダイオードの発光強度を強くして“+1”として送信し、また送信データビットが“1”の場合、レーザダイオードの発光強度を弱くして、“−1”に変換して送信する。
受信部においては、通信路3を通じて送信された変調信号に復調処理を施して、(K+M)ビットのデジタル符号を復調する復調器4と、この復調器4からの(K+M)ビットの符号にパリティ検査行列演算処理を施して元のKビットの情報を再生する誤り訂正復号装置100が設けられる。
復調器4は、この通信路3における送信形態に応じて復調処理を行なう。たとえば、振幅変調、位相変調、コード変調、周波数変調および直行周波数分割多重変調等の場合、復調器4において、振幅復調、位相復調、コード復調、および周波数復調等の処理が行なわれる。復調器4は、通信路3から与えられた信号を復調する復調回路4aと、この復調回路4aにより生成されたアナログ復調信号をデジタル信号に変換するA/D変換器4bとを含む。一般に、A/D変換器4bの出力データXnは、L値(L≧2)のデータである。
図2は、通信路3が光ファイバの場合の変調器2および復調器4の出力データの対応関係を一覧にして示す図である。図2において、上述のように、通信路3が光ファイバの場合、変調器2においては、送信データが“0”のときには、送信用のレーザダイオード(発光ダイオード)の発光強度を強くし、“1”を出力し、また送信データビットが“1”のときには、この発光強度を弱くしてビット“−1”を送信する。
この通信路3における伝送損失等により、復調器4に伝達される光強度は、最も強い強度から最も弱い強度までの間のアナログ的な強度分布を有する。復調器4においては、この入力された光信号を量子化処理(アナログ/デジタル変換)を行なって、この受光レベルを検出する。図2においては、8段階に受光レベルが量子化された場合の受信信号強度を示す。すなわち、受光レベルがデータ“7”のときには、発光強度がかなり強く、受光レベルが“0”のときには、光強度がかなり弱い状態である。各受光レベルは、符号付きデータに対応づけられ、復調器4から出力される。この復調器4の出力は、受光レベルが“7”のときにはデータ“3”が出力され、受光レベルが“0”のときには、データ“−4”が出力される。したがってこの復調器4からは、1ビットの受信信号に対し、多値量子化された信号が出力される。なお、この図2においては、復調器4において、8レベルに量子化された3ビットのデータが生成されている。
誤り訂正復号装置100は、符号長N、復号長Kの単位で復号を行なうものであって、S/P変換器6と、復号化器5と、P/S変換器7と、S/P変換器6と復号化器5とを接続する第1の信号配線L1〜L64と、復号化器5とP/S変換器7とを接続する第2の信号配線R1〜R60とを備える。
S/P変換器6は、A/D変換器4bからシリアルに出力されるN個の受信情報(各々は、3ビットのデータである)Xnを複数回に分けてパラレルデータに変換して、第1の信号配線L1〜L64を通じて復号化器5へ出力する。
第1の信号配線L1〜L64は、各々が、1個の受信情報(各々は、3ビットのデータである)を伝送する。
復号化器5は、S/P変換器6から送られるN個の受信情報Xnを受けて、min-sum復号法に従ってLDPCパリティ検査行列を適用して、元のKビットの情報を復元する。復号化器5は、N個の受信情報Xnを並列に復号処理を行なって、Kビットからなる復号語を生成する。
第2の信号配線R1〜R60は、各々が、復号語の1ビットを伝送する。
P/S変換器7は、復号化器5からKビットの復号語を複数回に分けて、第2の信号配線R1〜R60を通じてパラレルで受けて、復号語のKビットをシリアルに出力する。
図3は、本発明の実施形態の復号化器の構成を表わす図である。図3では、符号長Nが1024で、情報ビット長Kが960で、パリティ検査行列Hの各列において「1」が立つ数である列重みが3のパリティ検査行列を用いる場合の構成を表わしている。
図3を参照して、復号化器5は、S/P変換器6から出力されるデータを保存する第1のレジスタ8と、第1のレジスタ8内のN個のデータの対数尤度比を算出する尤度算出器10−1〜10−Nと、パリティ検査行列の行についての処理を行なう行処理部34と、パリティ検査行列の列についての処理を行なう列処理部35と、尤度算出器10−1〜10−Nからの対数尤度比λnと行処理部34の出力ビット(外部値対数比)αmnとに従って復号語を生成する復号語生成部14と、生成された復号語を保存する第2のレジスタ9とを含む。
(第1のレジスタ)
第1のレジスタ8は、第1の信号配線L1〜L64を介してS/P変換器6と接続する。第1のレジスタ8は、S/P変換器6からN個の受信情報Xnを複数回に分けて、第1の信号配線L1〜L64を通じて受けて、N個の受信情報Xnを保存する。
(尤度算出器)
尤度算出器10−1〜10−Nは、受信信号のノイズ情報と独立に、対数尤度比λnを生成する。通常、ノイズ情報を考慮した場合、この対数尤度比λnは、Xn/(2×σ2)で与えられる。ここで、σは、ノイズの分散を示す。しかしながら、本発明の実施形態においては、この尤度算出器10−1〜10−Nは、バッファ回路または定数乗算回路で形成され、対数尤度比λnは、Xn×fで与えられる。ここで、fは非ゼロの正の数である。このノイズ情報を利用せずに、対数尤度比を算出することにより、回路構成が簡略化され、また計算処理も簡略化される。min-sum復号方法においては、検査行列の処理において、最小値を利用して演算を行なうため、信号処理において線形性が維持される。このため、ノイズ情報に従って出力データを正規化するなどの処理は不要である。
(行処理部および列処理部)
行処理部34は、式(1)に従って、パリティ検査行列Hの行の各要素についての行処理を行ない、外部値対数比αmnを更新する。
列処理部35は、式(2)に従って、パリティ検査行列Hの列の各要素についての列処理を行ない、事前値対数比βmnを更新する。
Figure 2010130193
ここで、上式(1)および(2)それぞれにおいて、n′∈A(m)\nおよびm′∈B(n)\mは、自身を除く要素を意味する。外部値対数比αmnについては、n′≠nであり、事前値対数比βmnについては、m′≠mである。また、αおよびβの行列内の位置を示す添え字“mn”は、通常は下付文字で示されるが、本明細書においては、読みやすさのために、「横並びの文字」で示す。
また、関数sign(x)は、次式(3)で定義される。
Figure 2010130193
また、集合A(m)およびB(n)は、2元M・N行列H=[Hmn]を復号対象のLDPC符号の検査行列とした場合、集合[1,N]={1,2,…,N}の部分集合である。
A(m)={n:Hmn=1}
B(n)={m:Hmn=1}
次に、行処理部34および列処理部35の具体的な構成について説明する。
行処理部34は、第1ブロック行処理部18と、第2ブロック行処理部19と、第3ブロック行処理部20と、第1ブロック行処理部18に対応して配置される第1の加算部(β+λ)15と、第2ブロック行処理部19に対応して配置される第2の加算部(β+λ)16と、第3ブロック行処理部20に対応して配置される第3の加算部(β+λ)17とを備える。
第1ブロック行処理部18は、パリティ検査行列Hの第1ブロックに対応するN列分の(β+λ)の最新値を記憶する第1ブロック(β+λ)記憶部27と、第1行処理部28−1と、第2行処理部28−2とを含む。
第2ブロック行処理部19は、パリティ検査行列Hの第2ブロックに対応するN列分の(β+λ)の最新値を記憶する第2ブロック(β+λ)記憶部30と、第3行処理部28−3と、第4行処理部28−4とを含む。
第3ブロック行処理部19は、パリティ検査行列Hの第3ブロックに対応するN列分の(β+λ)の最新値を記憶する第3ブロック(β+λ)記憶部33と、第5行処理部28−5と、第6行処理部28−6とを含む。
列処理部35は、パリティ検査行列Hの第1ブロックに対応するN列分の(β)の最新値を記憶する第1ブロック(β)記憶部24と、パリティ検査行列Hの第2ブロックに対応するN列分の(β)の最新値を記憶する第2ブロック(β)記憶部25と、パリティ検査行列Hの第3ブロックに対応するN列分の(β)の最新値を記憶する第3ブロック(β)記憶部26と、第1ブロック(β)記憶部24に対応して配置される第1の加算部(β)21と、第2ブロック(β)記憶部25に対応して配置される第2の加算部(β)22と、第3ブロック(β)記憶部26に対応して配置される第3の加算部(β)23とを備える。
第1の加算部(β+λ)15、第2の加算部(β+λ)16、第3の加算部(β+λ)17、第1の加算部(β)21、第2の加算部(β)22、および第3の加算部(β)23は、それぞれN個の列に対応してN個の加算器を有し、各加算器は、対応する列についての加算を行なう。
これら行処理部34および列処理部35の各要素の動作は、たとえば、特開2007−325011号公報に詳しく記載されている。
(第m行処理部)
図4は、図3における第m行(m=1〜6)処理部の構成を示す図である。
図4を参照して、第m行処理部28−mは、ビット分離部36と、符号計算部37と、絶対値計算部38と、符号乗算部39とを備える。
ビット分離部36は、S個の信号{(λn′+βmn′):n′はHmn′=1を満たす、S個の異なる数である}を受けて、その絶対値を表わす複数ビットと、符号を表わすビット(つまり、最上位ビット)とを分離して、絶対値ビットからなる絶対値を絶対値絶対値計算部38へ出力し、符号ビットからなる符号を符号計算部37へ出力する。ここで、Sは行重みである。
符号計算部37は、S個の信号{sgn(λn′+βmn′):n′はHmn′=1を満たす、S個の異なる数である}に基づいて、式(1)の符号部分(これをSmnとする)の計算を行なう。
絶対値計算部38は、S個の信号{|λn′+βmn′|:n′はHmn′=1を満たす、S個の異なる数である}に基づいて、式(1)の絶対値部分(これをRmnとする)の計算を行なう。
符号乗算部39は、符号計算部37から出力されるSmnを符号ビットとし、絶対値計算部38から出力されるRmnを絶対値ビットとした、外部値対数比αmnを出力する。
(復号語生成部)
復号語生成部14は、加算器29と、MSB抽出部31と、復号語決定部32とを含む。
加算器29は、式(4)に従って、対数尤度比λnと、外部値対数比αmnとを加算して、推定受信信号Qnを算出する。
Figure 2010130193
MSB抽出部31は、次式(5)に従って、推定受信信号Qnの最上位ビットを1次推定符号Cnとして抽出する。
Figure 2010130193
復号語決定部32は、乗算器および加算器を含み、式(6)にしたがって、一次推定符号語(C1,C2,…,CN)が符号語を構成しているか、つまり復号語として適切であるかを検査する。復号語決定部32は、式(6)が成立する場合、つまりシンドロームが“0”となる場合には、行処理部34および列処理部35に対して繰返し演算を終了させ、符号語(C1,C2,…,Ck)を復号語として出力する。また、復号語決定部32は、行処理および列処理の演算の繰返し回数が所定値を超えたときにも、行処理部34および列処理部35に対して繰返し演算を終了させ、符号語(C1,C2,…,Ck)を復号語として第2のレジスタ9へ出力する。ここで、Kは復号長に対応する。
(C1,C2,…,CN)・Ht=0 … (6)
(第2のレジスタ)
第2のレジスタ9は、復号語生成部14で生成されたKビットの復号語を保存する。
第2のレジスタ9は、第2の信号配線R1〜R60を介してP/S変換器7と接続する。第2のレジスタ9は、第2の信号配線R1〜R60を通じて、Kビットの復号語を複数回に分けてP/S変換器7へ出力する。
(誤り訂正復号装置の動作)
図5は、本発明の実施形態の誤り訂正復号装置の動作手順を表わすフローチャートである。
図5を参照して、まず、S/P変換器6は、A/D変換器4bからシリアルに出力されるN個の受信情報(各々は、3ビットのデータである)Xnを複数回に分けてパラレルデータに変換して、第1の信号配線L1〜L64を通じて復号化器5へ出力する(ステップS0)。
次に、復号化器5は、初期動作として、ループ回数および事前値対数比βmnの初期設定を行なう。このループ回数は、列処理および行処理の繰返し演算回数を示す。このループ回数においては、最大値が予め定められる。事前値対数比βmnは、“0”に初期設定される(ステップS1)。
次に、尤度算出器10−n(n=1〜N)は、それぞれ受信情報Xnの対数尤度比λnを算出する(ステップS2)。
次に、行処理部34は、式(1)に従って、パリティ検査行列Hの行の各要素についての行処理を行ない、外部値対数比αmnを更新する(ステップS3)。
次に、列処理部35は、式(2)に従って、パリティ検査行列Hの列の各要素についての列処理を行ない、事前値対数比βmnを更新する(ステップS4)。
次に、復号語生成部14は、対数尤度比λnと、外部値対数比αmnとを用いて、式(4)に従って、推定受信信号Qnを算出する(ステップS5)。
次に、復号語生成部14は、式(5)に従って、推定受信信号Qnから一時推定符号Cnを算出する(ステップS6)。
次に、復号語生成部14は、式(6)にしたがって、一次推定符号語(C1,C2,…,CN)が符号語を構成しているか、つまり復号語として適切であるかをパリティ検査する。
復号語生成部14は、式(6)が成立する場合、つまりシンドロームが“0”となる場合には(ステップS7でYES)、行処理部34および列処理35に対して繰返し演算を終了させ、符号語(C1,C2,…,Ck)を復号語C(=(C1,C2,…,Ck))として出力する(ステップS10)。
また、復号語生成部14は、式(6)が成立しない場合(ステップS7でNO)、ループ回数が最大値に達したときには(ステップS8でYES)、行処理部34および列処理部35に対して繰返し演算を終了させ、符号語(C1,C2,…,Ck)を復号語C(=(C1,C2,…,Ck))として出力する(ステップS10)。
次に、P/S変換器7は、復号化器5からKビットの復号語を複数回に分けて、第2の信号配線R1〜R60を通じてパラレルで受けて、復号語のKビットをシリアルに出力する(ステップS11)。
一方、復号語生成部14は、式(6)が成立しない場合(ステップS7でNO)で、かつループ回数が最大値に達しないときには(ステップS8でNO)、ループ回数を1だけインクリメントして(ステップS9)、ステップS3に戻って処理を繰り返す。
(S/P変換器)
図6は、本発明の第1の実施形態における、S/P変換器6と復号化器5内の第1のレジスタ8との間のデータの転送を説明するための図である。
図6を参照して、S/P変換器6は、第1のスイッチSWAと、第1の記憶部110とを含む。第1の記憶部110は、64個のデュアルポートメモリDPA1〜DPA64を含む。
各デュアルポートメモリDPA1〜DPA64は、3×16ビットの容量を有し、3ビットのデータを64個格納する。各デュアルポートメモリDPA1〜DPA64は、第1の信号配線L1〜L64と1対1で接続する。
まず、A/D変換器4bからデュアルポートメモリDPA1〜DPA64へのデータの転送について説明する。
第1のスイッチSW1は、A/D変換器4bから出力される各3ビットのシリアルデータを64個を単位として、格納先を切り替える。すなわち、第1のスイッチSWAは、A/D変換器4bから出力される第1番目〜第16番目のデータをデュアルポートメモリDPA1に順次出力する。次に、第1のスイッチSWAは、A/D変換器4bから出力される第17番目〜第32番目のデータをデュアルポートメモリDPA2に順次出力する。第1のスイッチSWAは、以下同様にして、最後にA/D変換器4bから出力される第1009番目〜第1024番目のデータをデュアルポートメモリDPA64に順次出力する。
以上の結果、デュアルポートメモリDPA1には、先頭から順番に第1番目〜第16番目のデータが格納される。デュアルポートメモリDPA2には、先頭から順番に第17番目〜第32番目のデータが格納される。以下、同様に、デュアルポートメモリDPA64には、先頭から順番に第1009番目〜第1024番目のデータが格納される。
次に、デュアルポートメモリDPA1〜DPA64から第1のレジスタ8へのデータの転送について説明する。
デュアルポートメモリDPA1〜DPA64から第1のレジスタ8へは、第1の信号配線L1〜L64を通じて、1回に64個のデータが転送される。
第1回目には、各デュアルポートメモリDPA1〜DPA64の先頭位置に格納されているデータがパラレルで第1の信号配線L1〜L64を通じて第1のレジスタ8に出力される。具体的には、デュアルポートメモリDPA1の先頭位置に格納されている第1番目のデータが第1の信号配線L1を通じて、第1のレジスタ8の第1番目の格納位置へ送られる。デュアルポートメモリDPA2の先頭位置に格納されている第17番目のデータが第1の信号配線L2を通じて、第1のレジスタ8の第17番目の格納位置へ送られる。以下、同様にして、デュアルポートメモリDPA64の先頭位置に格納されている第1009番目のデータが第1の信号配線L64を通じて、第1のレジスタ8の第1009番目の格納位置へ送られる。
第2回目には、各デュアルポートメモリDPA1〜DPA64の先頭から第2番目の位置に格納されているデータがパラレルで第1の信号配線L1〜L64を通じて第1のレジスタ8に出力される。具体的には、デュアルポートメモリDPA1の先頭から第2番目の位置に格納されている第2番目のデータが第1の信号配線L1を通じて、第1のレジスタ8の第2番目の格納位置へ送られる。デュアルポートメモリDPA2の先頭から第2番目の位置に格納されている第18番目のデータが第1の信号配線L2を通じて、第1のレジスタ8の第18番目の格納位置へ送られる。以下、同様にして、デュアルポートメモリDPA64の先頭から第2番目の位置に格納されている第1010番目のデータが第1の信号配線L64を通じて、第1のレジスタ8の第1010番目の格納位置へ送られる。
以下、同様にして、デュアルポートメモリDPA1〜DPA64に格納されている1024個のデータが、64個ずつ16回に分割して第1のレジスタ8に送られる。
(P/S変換器)
図7は、本発明の第1の実施形態における、復号化器5内の第2のレジスタ9とP/S変換器7との間のデータの転送を説明するための図である。
図7を参照して、P/S変換器7は、第2の記憶部120と、第2のスイッチSWBとを含む。第2の記憶部120は、60個のデュアルポートメモリDPB1〜DPB60を含む。
各デュアルポートメモリDPB1〜DPB60は、1×16ビットの容量を有し、1ビットのデータを16個格納する。デュアルポートメモリDPB1〜DPB60は、第2の信号配線R1〜R60と1対1で接続する。
まず、第2のレジスタ9からデュアルポートメモリDPB1〜DPB60へのデータの転送について説明する。
第2のレジスタ9からデュアルポートメモリDPB1〜DPB60へは、第2の信号配線R1〜R60を通じて、1回に60個のデータが転送される。
第1回目には、第2のレジスタ9に格納されている第1番目のデータが第2の信号配線R1を通じてデュアルポートメモリDPB1の先頭の格納位置へ出力される。同時に、第2のレジスタ9に格納されている第17番目のデータが第2の信号配線R2を通じてデュアルポートメモリDPB2の先頭の格納位置へ出力される。以下、同様にして、同時に、第2のレジスタ9に格納されている第945番目のデータが第2の信号配線R60を通じてデュアルポートメモリDPB60の先頭の格納位置へ出力される。
第2回目には、第2のレジスタ9に格納されている第2番目のデータが第2の信号配線R1を通じてデュアルポートメモリDPB1の先頭から第2番目の格納位置へ出力される。同時に、第2のレジスタ9に格納されている第18番目のデータが第2の信号配線R2を通じてデュアルポートメモリDPB2の先頭から第2番目の格納位置へ出力される。以下、同様にして、同時に、第2のレジスタ9に格納されている第946番目のデータが第2の信号配線R60を通じてデュアルポートメモリDPB60の先頭から第2番目の格納位置へ出力される。
以下、同様にして、第2のレジスタ9に格納されている960個のデータが、60個ずつ16回に分割してデュアルポートメモリDPB1〜DPB60に送られる。
次に、デュアルポートメモリDPB1〜DPB60から外部へのデータの転送について説明する。
第2のスイッチSWBは、デュアルポートメモリDPB1〜DPB60のうちのいずれを出力するかを16個ごとに切り替える。すなわち、まず、第2のスイッチSWBは、入力元をデュアルポートメモリDPB1に切り替えて、デュアルポートメモリDPB1に格納されている第1番目〜第16番目のデータを順次出力する。次に、第2のスイッチSWBは、入力元をデュアルポートメモリDPB2に切り替えて、デュアルポートメモリDPB2に格納されている第17番目〜第32番目のデータを順次出力する。以下、同様にして、最後に、第2のスイッチSWBは、入力元をデュアルポートメモリDPB60に切り替えて、デュアルポートメモリDPB60に格納されている第945番目〜第960番目のデータを順次出力する。
以上のように、本発明の実施形態の誤り訂正復号装置によれば、符号長1024に対して、S/P変換器から復号化器への信号配線の数を64本とし、S/P変換器から復号化器へ16回に分けて、各回に64個のデータをパラレルに転送するので、1024個のデータをすべてシリアルに転送するよりも信号配線の数は増えるが高速に転送でき、1024個のデータをすべてパラレルに転送するよりも、転送速度は遅くなるが信号配線の数を減らすことができる。
同様に、本発明の実施形態の誤り訂正復号装置によれば、復号長960に対して、復号化器からP/S変換器へのための信号配線の数を60本とし、復号化器からP/S変換器へ16回に分けて、各回に60個のデータをパラレルに転送するので、960個のデータをすべてシリアルに転送するよりも信号配線の数は増えるが高速に転送でき、960個のデータをすべてパラレルに転送するよりも、転送速度は遅くなるが信号配線の数を減らすことができる。
以上のような構成によって、信号配線の数を減らす要求と転送速度を高速化する要求とが調和の取れた妥当な構成を実現できる。
[第2の実施形態]
(S/P変換器)
図8は、本発明の第2の実施形態における、S/P変換器6aと復号化器5内の第1のレジスタ8との間のデータの転送を説明するための図である。
図8を参照して、S/P変換器6aは、第1のスイッチSWAと、第1の記憶部110とを含む。第1の記憶部110は、64個のデュアルポートメモリDPA1〜DPA64を含む。
各デュアルポートメモリDPA1〜DPA64は、3×16ビットの容量を有し、3ビットのデータを64個格納する。各デュアルポートメモリDPA1〜DPA64は、第1の信号配線L1〜L64と1対1で接続する。
まず、A/D変換器4bからデュアルポートメモリDPA1〜DPA64へのデータの転送について説明する。
第1のスイッチSW1は、A/D変換器4bから出力される各3ビットのシリアルデータを1個ずつ格納先を切り替える。すなわち、第1のスイッチSWAは、A/D変換器4bから出力される第1番目のデータをデュアルポートメモリDPA1の先頭位置に出力する。次に、第1のスイッチSWAは、A/D変換器4bから出力される第2番目のデータをデュアルポートメモリDPA2の先頭位置に出力する。第1のスイッチSWAは、以下同様にして、A/D変換器4bから出力される第64番目のデータをデュアルポートメモリDPA64の先頭位置に出力する。
さらに、第1のスイッチSWAは、A/D変換器4bから出力される第65番目のデータをデュアルポートメモリDPA1の先頭から第2番目の位置に出力する。次に、第1のスイッチSWAは、A/D変換器4bから出力される第66番目のデータをデュアルポートメモリDPA2の先頭から第2番目の位置に出力する。第1のスイッチSWAは、以下同様にして、A/D変換器4bから出力される第128番目のデータをデュアルポートメモリDPA64の先頭から第2番目の位置に出力する。
以上の処理を繰り返すことによって、デュアルポートメモリDPA1には、先頭から順番に第1、第65、・・・、第961番目のデータが格納される。デュアルポートメモリDPA2には、先頭から順番に第2、第66、・・・、第962番目のデータが格納される。以下、同様に、デュアルポートメモリDPA64には、先頭から順番に第64、第128、・・・、第1024番目のデータが格納される。
次に、デュアルポートメモリDPA1〜DPA64から第1のレジスタ8へのデータの転送について説明する。
デュアルポートメモリDPA1〜DPA64から第1のレジスタ8へは、第1の信号配線L1〜L64を通じて、1回に64個のデータが転送される。
データの転送について説明する。
第1回目には、各デュアルポートメモリDPA1〜DPA64の先頭位置に格納されているデータがパラレルで第1の信号配線L1〜L64を通じて第1のレジスタ8に出力される。具体的には、デュアルポートメモリDPA1の先頭位置に格納されている第1番目のデータが第1の信号配線L1を通じて、第1のレジスタ8の第1番目の格納位置へ送られる。同時に、デュアルポートメモリDPA2の先頭位置に格納されている第2番目のデータが第1の信号配線L2を通じて、第1のレジスタ8の第2番目の格納位置へ送られる。以下、同様にして、同時に、デュアルポートメモリDPA64の先頭位置に格納されている第64番目のデータが第1の信号配線L64を通じて、第1のレジスタ8の第64番目の格納位置へ送られる。
第2回目には、各デュアルポートメモリDPA1〜DPA64の先頭から第2番目の位置に格納されているデータがパラレルで第1の信号配線L1〜L64を通じて第1のレジスタ8に出力される。具体的には、デュアルポートメモリDPA1の先頭から第2番目の位置に格納されている第65番目のデータが第1の信号配線L1を通じて、第1のレジスタ8の第65番目の格納位置へ送られる。同時に、デュアルポートメモリDPA2の先頭から第2番目の位置に格納されている第66番目のデータが第1の信号配線L2を通じて、第1のレジスタ8の第66番目の格納位置へ送られる。以下、同様にして、同時にデュアルポートメモリDPA64の先頭から第2番目の位置に格納されている第128番目のデータが第1の信号配線L64を通じて、第1のレジスタ8の第128番目の格納位置へ送られる。
以下、同様にして、デュアルポートメモリDPA1〜DPA64に格納されている1024個のデータが、64個ずつ16回に分割して第1のレジスタ8に送られる。
(P/S変換器)
図9は、本発明の第2の実施形態における、復号化器5内の第2のレジスタ9とP/S変換器7aとの間のデータの転送を説明するための図である。
図7を参照して、P/S変換器7aは、第2の記憶部120と、第2のスイッチSWBとを含む。第2の記憶部120は、60個のデュアルポートメモリDPB1〜DPB60を含む。
各デュアルポートメモリDPB1〜DPB60は、1×16ビットの容量を有し、1ビットのデータを16個格納する。各デュアルポートメモリDPB1〜DPB60は、第2の信号配線R1〜R60と1対1で接続する。
まず、第2のレジスタ9からデュアルポートメモリDPB1〜DPB60へのデータの転送について説明する。
第2のレジスタ9からデュアルポートメモリDPB1〜DPB60へは、第2の信号配線R1〜R60を通じて、1回に60個のデータが転送される。
第1回目には、第2のレジスタ9に格納されている第1番目のデータが第2の信号配線R1を通じてデュアルポートメモリDPB1の先頭の格納位置へ出力される。同時に、第2のレジスタ9に格納されている第2番目のデータが第2の信号配線R2を通じてデュアルポートメモリDPB2の先頭の格納位置へ出力される。以下、同様にして、同時に、第2のレジスタ9に格納されている第60番目のデータが第2の信号配線R60を通じてデュアルポートメモリDPB60の先頭の格納位置へ出力される。
第2回目には、第2のレジスタ9に格納されている第61番目のデータが第2の信号配線R1を通じてデュアルポートメモリDPB1の先頭から第2番目の格納位置へ出力される。同時に、第2のレジスタ9に格納されている第62番目のデータが第2の信号配線R2を通じてデュアルポートメモリDPB2の先頭から第2番目の格納位置へ出力される。以下、同様にして、同時に、第2のレジスタ9に格納されている第120番目のデータが第2の信号配線R60を通じてデュアルポートメモリDPB60の先頭から第2番目の格納位置へ出力される。
以下、同様にして、第2のレジスタ9に格納されている960個のデータが、60個ずつ16回に分割してデュアルポートメモリDPB1〜DPB60に送られる。
次に、デュアルポートメモリDPB1〜DPB60から外部へのデータの転送について説明する。
第2のスイッチSWBは、デュアルポートメモリDPB1〜DPB60のうちのいずれを出力するかを1個ごとに切り替える。すなわち、まず、第2のスイッチSWBは、入力元をデュアルポートメモリDPB1に切り替えて、デュアルポートメモリDPB1の先頭位置に格納されている第1番目のデータを出力する。次に、第2のスイッチSWBは、入力元をデュアルポートメモリDPB2に切り替えて、デュアルポートメモリDPB2の先頭位置に格納されている第2番目のデータを出力する。以下、同様にして、第2のスイッチSWBは、入力元をデュアルポートメモリDPB60に切り替えて、デュアルポートメモリDPB60の先頭位置に格納されている第60番目のデータを出力する。
さらに、第2のスイッチSWBは、入力元をデュアルポートメモリDPB1に切り替えて、デュアルポートメモリDPB1の先頭から第2番目の位置に格納されている第61番目のデータを出力する。次に、第2のスイッチSWBは、入力元をデュアルポートメモリDPB2に切り替えて、デュアルポートメモリDPB2の先頭から第2番目の位置に格納されている第62番目のデータを出力する。以下、同様にして、第2のスイッチSWBは、入力元をデュアルポートメモリDPB60に切り替えて、デュアルポートメモリDPB60の先頭から第2番目の位置に格納されている第120番目のデータを出力する
以上の処理を繰り返すことによって、デュアルポートメモリDPB1〜DPB60に格納されている第1〜第1024番目までのデータが順次シリアルに出力される。
以上のように、本発明の実施形態でも、第1の実施形態と同様に、信号配線の数を減らす要求と転送速度を高速化する要求とが調和の取れた妥当な構成を実現できる。
[第3の実施形態]
(S/P変換器)
図10は、本発明の第3の実施形態における、S/P変換器6bと、復号化器5内の第1のレジスタ8との間のデータの転送を説明するための図である。
図10を参照して、S/P変換器6bは、第1の記憶部130を含む。第1の記憶部130は、64個のデュアルポートメモリDPC1〜DPC64を含む。
各デュアルポートメモリDPC1〜DPC64は、3×1024ビットの容量を有し、3ビットのデータを1024個格納する。各デュアルポートメモリDPC1〜DPC64において、指定されたアドレスからデータが読み出される。各デュアルポートメモリDPC1〜DPC64は、第1の信号配線L1〜L64と1対1で接続する。
まず、A/D変換器4bからデュアルポートメモリDPC1〜DPC64へのデータの転送について説明する。
まず、A/D変換器4bから出力される第1番目のデータは、デュアルポートメモリDPC1〜DPC64の先頭位置に出力される。次に、A/D変換器4bから出力される第2番目のデータは、デュアルポートメモリDPC1〜DPC64の先頭から第2番目の位置に出力される。以下同様にして、最後にA/D変換器4bから出力される第1024番目のデータは、デュアルポートメモリDPC1〜DPC64の先頭から第1024番目の位置に出力される。
以上の結果、デュアルポートメモリDPC1〜DPC64には、先頭から順番に第1番目〜第1024番目のデータが重複して格納される。
次に、デュアルポートメモリDPC1〜DPC64から第1のレジスタ8へのデータの転送について説明する。
デュアルポートメモリDPC1〜DPC64から第1のレジスタ8へは、第1の信号配線L1〜L64を通じて、1回に互いに異なる64個のデータがパラレルに転送される。
第1回目には、デュアルポートメモリDPC1の先頭位置がアドレス指定されて、そこに格納されている第1番目のデータが第1の信号配線L1を通じて、第1のレジスタ8の第1番目の格納位置へ送られる。同時に、デュアルポートメモリDPC2の先頭から第2番目の位置がアドレス指定されて、そこに格納されている第2番目のデータが第1の信号配線L2を通じて、第1のレジスタ8の第2番目の格納位置へ送られる。以下、同様にして、同時に、デュアルポートメモリDPC64の先頭から第64番目の位置がアドレス指定されて、そこに格納されている第64番目のデータが第1の信号配線L64を通じて、第1のレジスタ8の第64番目の格納位置へ送られる。
第2回目には、デュアルポートメモリDPC1の先頭から第65番目の位置がアドレス指定されて、そこに格納されている第65番目のデータが第1の信号配線L1を通じて、第1のレジスタ8の第65番目の格納位置へ送られる。同時に、デュアルポートメモリDPC2の先頭から第66番目の位置がアドレス指定されて、そこに格納されている第66番目のデータが第1の信号配線L2を通じて、第1のレジスタ8の第66番目の格納位置へ送られる。以下、同様にして、同時に、デュアルポートメモリDPC64の先頭から第128番目の位置に格納されている第128番目の位置がアドレス指定されて、そこに格納されている第128番目のデータが第1の信号配線L64を通じて、第1のレジスタ8の第128番目の格納位置へ送られる。
以下、同様にして、デュアルポートメモリDPC1〜DPC64に格納されている互いに異なる1024個のデータが、64個ずつ16回に分割して第1のレジスタ8に送られる。
以上のように、本発明の実施形態でも、第1の実施形態と同様に、信号配線の数を減らす要求と転送速度を高速化する要求とが調和の取れた妥当な構成を実現できる。また、第1のスイッチSWAを不要とすることで、第1のスイッチSWAの高速動作に関する技術的要件を回避することができる。
(変形例)
本発明は、上記の実施形態に限定されるものではなく、たとえば以下の変形例を含む。
(1) 信号配線の数と転送回数
本発明の実施形態では、S/P変換器と復号化器との間を64本の第1の信号配線で接続した。そして、S/P変換器から復号化器へは、符号長1024に対応する1024個のデータを16回に分けて、各回64個のパラレルデータを転送することしたが、これに限定するものではない。たとえば、符号長がNの場合に、第1の信号配線の数をNの公約数B1とし、N/B1(回)に分けてデータを転送することとしてもよい。ここで、B1は2以上N未満の自然数である。このような第1の信号配線の数を符号長の公約数にすることになり、各回の処理内容が共通化され、処理アルゴリズムが簡易となる。
あるいは、第1の信号配線の数をNの公約数でない数とし、最後の回のデータ転送は、第1の信号配線の一部のみを用いて行なうこととしてもよい。
同様に、本発明の実施形態では、復号化器とP/S変換器との間を60本の第2の信号配線で接続した。そして、復号化器からP/S変換器へは、復号長960に対応する960個のデータを16回に分けて、各回60個のパラレルデータを転送することしたが、これに限定するものではない。たとえば、復号長がKの場合に、第2の信号配線の数をKの公約数B2とし、K/B2(回)に分けてデータを転送することとしてもよい。ここで、B2は2以上K未満の自然数である。このような第2の信号配線の数を復号長の公約数にすることになり、各回の処理内容が共通化され、処理アルゴリズムが簡易となる。
あるいは、第2の信号配線の数をKの公約数でない数とし、最後の回のデータ転送は、第2の信号配線の一部のみを用いて行なうこととしてもよい。
(2) 第1の記憶部、第2の記憶部
本発明の第1および第2の実施形態では、第1の記憶部は、64通りの出力先を切り替える第1のスイッチSWAと、64個の1入力1出力デュアルポートメモリDPA1〜DPA64を備えることしたが、これに限定するものではない。たとえば、32通りの出力先を切り替える第3のスイッチSWCと、32個の2入力2出力のメモリDPD1〜DPD32を備えることしてもよい。
また、本発明の第1および第2の実施形態では、第2の記憶部は、60通りの出力先を切り替える第2のスイッチSWBと、60個の1入力1出力デュアルポートメモリDPB1〜DPB60を備えることしたが、これに限定するものではない。たとえば、30通りの入力先を切り替える第4のスイッチSWDと、30個の2入力2出力のメモリDPE1〜DPE30を備えることしてもよい。
(3) 尤度算出器
本発明の実施形態では、S/P変換器の後段にN個の尤度算出器を設けたが、これに限定するものではない。S/P変換器の前段に1個の尤度算出器を設けることとしてもよい。
(4) 復号化器への各入力データおよび各出力データのビット数
本発明の実施形態では、復号化器へは、各々が3ビットのデータ(多値データ)を入力させ、復号化器からは、各々が1ビットのデータ(2値データ)を出力させることとしたが、これに限定するものではない。
たとえば、復号器へ、各々が1ビットのデータ(2値データ)を入力される場合には、第1の信号配線の各々が1ビットのデータを転送することとすればよい。同様に、復号化器から、各々が3ビットのデータ(多値データ)を出力される場合には、第2の信号配線の各々が3ビットのデータを転送することとすればよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
本発明の実施形態の誤り訂正復号装置を用いる通信システムの構成の一例を示す図である。 通信路が光ファイバの場合の変調器および復調器の出力データの対応関係を一覧にして示す図である。 本発明の実施形態の復号化器の構成を表わす図である。 図3における第m行(m=1〜6)処理部の構成を示す図である。 本発明の実施形態の誤り訂正復号装置の動作手順を表わすフローチャートである。 本発明の第1の実施形態における、S/P変換器と復号化器内の第1のレジスタとの間のデータの転送を説明するための図である。 本発明の第1の実施形態における、復号化器内の第2のレジスタとP/S変換器との間のデータの転送を説明するための図である。 本発明の第2の実施形態における、S/P変換器と復号化器内の第1のレジスタとの間のデータの転送を説明するための図である。 本発明の第2の実施形態における、復号化器内の第2のレジスタとP/S変換器との間のデータの転送を説明するための図である。 本発明の第3の実施形態における、S/P変換器と復号化器内の第1のレジスタとの間のデータの転送を説明するための図である。
符号の説明
1 符号化器、2 変調器、3 通信路、4 復調器、4a 復調回路、4b A/D変換器、5 復号化器、6,6a,6b S/P変換器、7,7a P/S変換器、15,16,17,21,22,23,29 加算器、10−1〜10−N 尤度算出器、14 復号語生成部、24 第1ブロック(β)記憶部、25 第2ブロック(β)記憶部、26 第3ブロック(β)記憶部、27 第1ブロック(β+λ)記憶部、30 第2ブロック(β+λ)記憶部、33 第3ブロック(β+λ)記憶部、28−1 第1行処理部、28−2 第2行処理部、28−3 第3行処理部、28−4 第4行処理部、28−5 第5行処理部、28−6 第6行処理部、28−m 第m行処理部、31 MSB抽出部、32 復号語決定部、34 行処理部、35 列処理部、36 ビット分離部、37 符号計算部、38 絶対値計算部、39 符号乗算部、100 誤り訂正復号装置、110,130 第1の記憶部、120 第2の記憶部、DPA1〜DPA64,DPB1〜DPB60,DPC1〜DPC64 デュアルポートメモリ、SWA 第1のスイッチ、SWB 第2のスイッチ、L1〜L64 第1の信号配線、R1〜R60 第2の信号配線。

Claims (9)

  1. 符号長Nの単位で復号を行なう誤り訂正復号装置であって、
    N個の入力データを並列に復号処理する復号化器と、
    直列に入力されるN個の入力データを複数回に分けて前記復号化器に出力する直並列変換回路と、
    前記直並列変換回路と前記復号化器とを接続し、それぞれが1個の入力データを伝送するB1本(B1は2以上N未満の自然数である)の第1の配線とを備えた、誤り訂正復号装置。
  2. 前記直並列変換回路は、
    前記N個の入力データを記憶する第1の記憶部を備え、
    前記第1の記憶部は、格納されたN個の入力データを複数回に分けて前記第1の配線を通じて前記復号化器へ出力する、請求項1記載の誤り訂正復号装置。
  3. 前記第1の記憶部は、B1個の1入力1出力のデュアルポートメモリを含み、
    前記直並列変換回路は、さらに、
    直列に入力されるN個の入力データを前記B1個のデュアルポートメモリのうちのいずれへ格納するかを切り替えるスイッチを備え、
    前記B1個のデュアルポートメモリと前記B1個の第1の配線とは1対1で接続される、請求項2記載の誤り訂正復号装置。
  4. 前記第1の記憶部は、B1個の1入力1出力のデュアルポートメモリを含み、
    各デュアルポートメモリは、直列に入力されるN個の入力データを重複して記憶し、
    前記B1個のデュアルポートメモリと、前記B1個の第1の配線とは1対1で接続され、
    各デュアルポートメモリは、N個の入力データのうちの互いに異なるデータを出力する、請求項2記載の誤り訂正復号装置。
  5. B1は、Nの公約数である、請求項1〜4のいずれか1項に記載の誤り訂正復号装置。
  6. 復号長Kの単位で復号を行なう誤り訂正復号装置であって、
    入力データを並列に復号処理して、K個の復号データを生成する復号化器と、
    前記復号化器からK個の復号データを複数回に分けて受けて、K個の復号化データを直列で外部に出力する並直列変換回路と、
    前記復号化器と前記並直列変換回路とを接続するB2本(B2は2以上K未満の自然数である)の第2の配線とを備えた、誤り訂正復号装置。
  7. 前記並直列変換回路は、
    前記K個の復号データを記憶する第2の記憶部を備え、
    前記第2の記憶部は、前記復号化器からK個の復号データを複数回に分けて前記第2の配線を通じて受ける、請求項6記載の誤り訂正復号装置。
  8. 前記第2の記憶部は、B2個の1入力1出力のデュアルポートメモリを含み、
    前記並直列変換回路は、さらに、
    前記B2個のデュアルポートメモリのうちのいずれから出力するかを切り替える第2のスイッチを備え、
    前記B2個のデュアルポートメモリと前記B2個の第2の配線とは1対1で接続される、請求項6記載の誤り訂正復号装置。
  9. B2は、Kの公約数である、請求項6〜8のいずれか1項に記載の誤り訂正復号装置。
JP2008301110A 2008-11-26 2008-11-26 誤り訂正復号装置 Expired - Fee Related JP4867980B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2008301110A JP4867980B2 (ja) 2008-11-26 2008-11-26 誤り訂正復号装置
US13/157,042 US8572453B2 (en) 2008-11-26 2011-06-09 Error correcting decoding apparatus for decoding low-density parity-check codes
US14/028,241 US8904259B2 (en) 2008-11-26 2013-09-16 Error correcting decoding apparatus for decoding low-density parity-check codes
US14/502,294 US9203433B2 (en) 2008-11-26 2014-09-30 Error correcting decoding apparatus for decoding low-density parity-check codes
US14/940,091 US20160142075A1 (en) 2008-11-26 2015-11-12 Error correcting decoding apparatus for decoding low-density parity-check codes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008301110A JP4867980B2 (ja) 2008-11-26 2008-11-26 誤り訂正復号装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011250755A Division JP2012034421A (ja) 2011-11-16 2011-11-16 誤り訂正復号装置

Publications (2)

Publication Number Publication Date
JP2010130193A true JP2010130193A (ja) 2010-06-10
JP4867980B2 JP4867980B2 (ja) 2012-02-01

Family

ID=42330282

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008301110A Expired - Fee Related JP4867980B2 (ja) 2008-11-26 2008-11-26 誤り訂正復号装置

Country Status (2)

Country Link
US (4) US8572453B2 (ja)
JP (1) JP4867980B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113448275A (zh) * 2021-07-30 2021-09-28 重庆市农业科学院 一种嵌入式控制的温室控制系统
US11524107B2 (en) 2010-01-22 2022-12-13 Deka Products Limited Partnership System, method, and apparatus for electronic patient care
US11810653B2 (en) 2010-01-22 2023-11-07 Deka Products Limited Partnership Computer-implemented method, system, and apparatus for electronic patient care

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4867980B2 (ja) 2008-11-26 2012-02-01 住友電気工業株式会社 誤り訂正復号装置
JP2012034421A (ja) * 2011-11-16 2012-02-16 Sumitomo Electric Ind Ltd 誤り訂正復号装置
JP5811212B2 (ja) * 2014-02-28 2015-11-11 住友電気工業株式会社 誤り訂正復号装置
US9413390B1 (en) * 2014-07-16 2016-08-09 Xilinx, Inc. High throughput low-density parity-check (LDPC) decoder via rescheduling
GB201505577D0 (en) * 2015-03-31 2015-05-13 Westire Technology Ltd Closed camera photocell and street lamp device
US10388400B2 (en) 2015-05-18 2019-08-20 SK Hynix Inc. Generalized product codes for flash storage
US10484020B2 (en) * 2016-02-03 2019-11-19 SK Hynix Inc. System and method for parallel decoding of codewords sharing common data
US10439649B2 (en) 2016-02-03 2019-10-08 SK Hynix Inc. Data dependency mitigation in decoder architecture for generalized product codes for flash storage
US10498366B2 (en) * 2016-06-23 2019-12-03 SK Hynix Inc. Data dependency mitigation in parallel decoders for flash storage
US10523245B2 (en) 2016-03-23 2019-12-31 SK Hynix Inc. Soft decoder for generalized product codes
CN109728823A (zh) * 2017-10-30 2019-05-07 晨星半导体股份有限公司 低密度同位检查码解码器及解码方法
CN108563534B (zh) * 2018-04-24 2021-09-14 山东华芯半导体有限公司 适用于nand闪存的ldpc译码方法
US11789893B2 (en) * 2020-08-05 2023-10-17 Etron Technology, Inc. Memory system, memory controller and memory chip

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08125640A (ja) * 1994-10-28 1996-05-17 Murata Mach Ltd 誤り訂正符号復号器の再同期化装置
JPH08124321A (ja) * 1994-10-19 1996-05-17 Hitachi Ltd 出力信号高速復号方法および装置
JPH08279799A (ja) * 1995-04-08 1996-10-22 Nec Corp 並列データ伝送装置
JPH11232788A (ja) * 1998-02-16 1999-08-27 Nec Corp データ処理方法および装置、データ処理装置の動作制御方法および装置
JP2005354310A (ja) * 2004-06-09 2005-12-22 Fujitsu Ltd データ送信装置、データ受信装置、データ送信方法およびデータ受信方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4965883A (en) * 1988-08-24 1990-10-23 Digital Equipment Corporation Method and apparatus for transmitting and receiving characters using a balanced weight error correcting code
JP2958976B2 (ja) 1989-06-14 1999-10-06 日本電気株式会社 データの誤り訂正方式
JPH05159477A (ja) 1991-12-09 1993-06-25 Hitachi Ltd 記録再生装置
JP2824474B2 (ja) * 1992-02-17 1998-11-11 三菱電機株式会社 誤り訂正方式及びこの誤り訂正方式を用いた復号器
JP2000149436A (ja) 1998-11-02 2000-05-30 Sony Corp ディジタル情報再生装置および再生方法
JP3645721B2 (ja) * 1998-11-27 2005-05-11 株式会社ケンウッド 復調器
JP3987274B2 (ja) * 2000-08-21 2007-10-03 株式会社日立国際電気 多値変調方式の伝送装置
KR100915275B1 (ko) * 2001-11-05 2009-09-03 가부시키가이샤 히타치세이사쿠쇼 무선 통신 시스템 및 그 통신 제어 방법 및 무선 통신기
WO2007010539A1 (en) * 2005-07-21 2007-01-25 Ramot At Tel-Aviv University Ltd. Peak-to mean-envelope-power ratio reduction with low rate loss in multicarrier transmissions
FR2900294B1 (fr) * 2006-04-19 2008-07-04 St Microelectronics Sa Chargement de la memoire d'entree d'un decodeur ldpc avec des donnees a decoder
WO2007123302A1 (en) * 2006-04-25 2007-11-01 Lg Electronics Inc. Digital broadcasting system and method of processing data
JP2007323515A (ja) 2006-06-02 2007-12-13 Sumitomo Electric Ind Ltd 比較装置および復号装置
JP4353204B2 (ja) 2006-06-12 2009-10-28 住友電気工業株式会社 第1順位推定装置、復号装置、第1順位推定プログラムおよび復号プログラム
JP4879323B2 (ja) * 2007-07-19 2012-02-22 パイオニア株式会社 誤り訂正復号装置および再生装置
US8576955B2 (en) * 2008-03-28 2013-11-05 Qualcomm Incorporated Architecture to handle concurrent multiple channels
JP4867980B2 (ja) 2008-11-26 2012-02-01 住友電気工業株式会社 誤り訂正復号装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08124321A (ja) * 1994-10-19 1996-05-17 Hitachi Ltd 出力信号高速復号方法および装置
JPH08125640A (ja) * 1994-10-28 1996-05-17 Murata Mach Ltd 誤り訂正符号復号器の再同期化装置
JPH08279799A (ja) * 1995-04-08 1996-10-22 Nec Corp 並列データ伝送装置
JPH11232788A (ja) * 1998-02-16 1999-08-27 Nec Corp データ処理方法および装置、データ処理装置の動作制御方法および装置
JP2005354310A (ja) * 2004-06-09 2005-12-22 Fujitsu Ltd データ送信装置、データ受信装置、データ送信方法およびデータ受信方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11524107B2 (en) 2010-01-22 2022-12-13 Deka Products Limited Partnership System, method, and apparatus for electronic patient care
US11810653B2 (en) 2010-01-22 2023-11-07 Deka Products Limited Partnership Computer-implemented method, system, and apparatus for electronic patient care
CN113448275A (zh) * 2021-07-30 2021-09-28 重庆市农业科学院 一种嵌入式控制的温室控制系统
CN113448275B (zh) * 2021-07-30 2023-05-05 重庆市农业科学院 一种嵌入式控制的温室控制系统

Also Published As

Publication number Publication date
US8904259B2 (en) 2014-12-02
US20140019821A1 (en) 2014-01-16
US8572453B2 (en) 2013-10-29
US20150019931A1 (en) 2015-01-15
US9203433B2 (en) 2015-12-01
US20160142075A1 (en) 2016-05-19
US20120023383A1 (en) 2012-01-26
JP4867980B2 (ja) 2012-02-01

Similar Documents

Publication Publication Date Title
JP4867980B2 (ja) 誤り訂正復号装置
JP3891186B2 (ja) 復号装置および前処理装置
JP4563454B2 (ja) 検査行列生成方法、符号化方法、復号方法、通信装置、通信システム、符号化器および復号器
US20040093549A1 (en) Encoding method using a low density parity check code with a column weight of two
JP4832447B2 (ja) チャネルコードを用いた復号化装置及び方法
JP4572937B2 (ja) 復号装置および方法、プログラム、並びに記録媒体
US8190977B2 (en) Decoder of error correction codes
JP4645645B2 (ja) 復号装置及び検査行列生成方法
JP5811212B2 (ja) 誤り訂正復号装置
JP2019213217A (ja) 誤り訂正復号装置
JP5523064B2 (ja) 復号装置及び方法
JP2017212758A (ja) 誤り訂正復号装置
JP2016029805A (ja) 誤り訂正復号装置
JP4341646B2 (ja) 復号装置
JP4985843B2 (ja) 復号装置
JP4618293B2 (ja) 復号装置及び検査行列生成方法
JP2012034421A (ja) 誤り訂正復号装置
JP4645640B2 (ja) 復号器、受信装置及び符号化データの復号方法
JP2008153874A (ja) 軟判定復号装置、軟判定復号方法および軟判定復号プログラム
JP4766013B2 (ja) 復号器、受信装置及び符号化データの復号方法
JP4973647B2 (ja) 誤り訂正符号の復号評価装置
JP4341643B2 (ja) 復号装置
KR101227328B1 (ko) 가변 부호화율 결합 상태 체크 코드 부호화 및 복호화 방법과 이를 위한 장치
JP4803134B2 (ja) パリティ検査復号装置
JP2009033563A (ja) 復号器

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110524

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111018

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111031

R150 Certificate of patent or registration of utility model

Ref document number: 4867980

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141125

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees