JP2008072247A - Ldpc復号器の演算制御データ生成方法及びldpc復号器 - Google Patents
Ldpc復号器の演算制御データ生成方法及びldpc復号器 Download PDFInfo
- Publication number
- JP2008072247A JP2008072247A JP2006247334A JP2006247334A JP2008072247A JP 2008072247 A JP2008072247 A JP 2008072247A JP 2006247334 A JP2006247334 A JP 2006247334A JP 2006247334 A JP2006247334 A JP 2006247334A JP 2008072247 A JP2008072247 A JP 2008072247A
- Authority
- JP
- Japan
- Prior art keywords
- column
- data
- row
- numbers
- storage memory
- 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
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
任意の検査行列に対応した汎用のLDPC復号器を構成するため検査行列から演算に必要なデータのメモリからの読み出し、メモリへのデータの書き込み制御データを生成して汎用のLDPC復号器を実現する。
【解決手段】
付与した検査行列に対し、列毎の1のある行の算出、列番号と算出した列重みに相当する数の複数の行番号と1で示す接続情報を同一の行番号毎にグループ化したデータを生成し、α演算時のβ格納メモリからの読み出し、演算結果のα格納メモリへ書き込みのアドレス制御データとする。
【選択図】図1
Description
1)符号化
符号化する情報ビットをMビットとすると、MビットにKビットの検査ビットを加えたN=(M+K)ビットの符号を生成する。K行N列の生成行列を作成し、Nビットの情報かビットに生成行列を乗算する事によりNビットのLDPCの符号を生成できる。生成行列は任意の行列で良い。
2)復号化
復号化はM行N列のパリティ検査行列(以下検査行列と表示)を任意に生成し、NビットにLDPC符号化された情報に検査行列を乗ずることにより復号できる。
1)(式1)によりβmnを演算する。
2)(式2)によりαmnを演算する。
3)(式4)で得たQnを(式5)で判定して受信語ynを決定する。
S11:M行N列の検査行列を与える。
S12:LDPC符号情報yn(n=1〜N)を得る。
S13:下記の初期設定を行なう。
ア.尤度λnは受信語のyn(n=1〜N)とし保持する。
イ.αmn=0と設定し、(m=1〜M、n=1〜N)とし保持する。
ウ.演算繰り返し回数をLとし、最大演算繰り返しLmaxと初期値L=0を設定する。
S14:(式1)によりβmnの演算の演算を行いβ格納メモリに保持する。
S15:(式2)によりαmnの演算の演算を行いα格納メモリ保持する。
S16、S17:設定した繰り返し回数まで演算を繰り返し、あるいは、繰り返し演算により演算結果が収束したと判断した場合に切り返し演算を終了する。
S18:(式4)、(式5)によりQnの値より受信語(yn)’を推定し決定する。
前記抽出行番号の数が最大列重みに不足する列番号にはダミーデータを付けた行番号データを生成する手段と、前記生成行番号に対し順番を付けて列内番号として、列番号と列内番号の組み合わせに対し、ダミーデータが無い組み合わせには接続されている情報を表す接続情報をさらに組み合わせた配列と、ダミーデータのある列番号と列内番号の組み合わせには接続されていない情報を表す接続情報を組み合わせた配列を生成する手段と、前記接続されている接続情報を有する配列を行番号を昇順にサーチして同一の行番号をグループ化する手段と、前記グループ化した配列の数が最大行重みの数に不足する場合は、前記接続されていない接続情報を有する列番号と列内番号の組み合わせを不足する数だけ追加し行番号を昇順に行番号グループ内では列番号を昇順に並べた文字列を生成する手段と、を備える。
図1は本発明のLDPC復号の演算器、メモリ制御データの生成手順を示す図である。設定した検査行列からMin−sum法でLDPC復号演算を行なう場合の演算制御のための格納メモリからのデータ読み出し、格納メモリへのデータ書き込みデータの生成手順示している。
S1:検査行列(M行N列)を設定する。
S2:検査行列の列毎に「1」のある行を抽出する。ここで、抽出した行番号の数はCwの数ある。
S3:Cwに不足する列番号にはダミーデータを付け、全ての列番号に対しCwに相当する行番号の表を作成する。
S4:S3で生成した列番号毎の行番号に順番を付け列内番号とし、(列番号、列内番号)の配列を生成する。
S5:S4で生成した配列に接続情報を組み合わせた(接続情報、列内番号、列番号)の配列を生成する。
ア.ダミーデータがない場合:接続情報を0として(0、列内番号、列番号)の配列を生成する。接続情報「0」は接続している事を示している。この配列の意味は列番号のメッセージノードに行番号のチェックノードが接続し、その接続数は順番に番号付けした最大列内番号に相当していることを示している。
イ.ダミーデータがある場合:接続情報を1として(1、列内番号、列番号)の配列を生成する。接続情報「1」は接続していない事を示している。
S6、S7:S5のア.で生成した配列に対し、行番号を昇順にサーチし、その行番号毎にグループに分けた配列(0、列内番号、列番号)を生成する。
S8:S7で生成した配列に対し、行番号を昇順に、行番号グループ内では列番号を昇順に文字列を生成する。
S9:S8で生成した文字列をLDPC復号器のα演算時のメモリのアドレス制御データとする。
1)行重み6、列重み3の5行10列の検査行列とする。この場合、Cw=6、Rw=3となる。(S1)
2)0列目は1行、2行、4行に1があるので、(1、2、4)となり、1列目は(0、1、2)となる。また、4列目は2行、4行に1があるだけであるので、ダミーデータのDを付け(2、4、D)となる。(S2、S3)
なお、0列は(1、2、4)よりβm0を算出するに必要なα10、α20、α40を示している。
3)列番号0については3ケの行番号1、2、4に対し(0、1)、(1、2)、(2、4)の配列を得る。同様に列番号1は(0 0)、(1、1)、(2、2)となる。列番号3はダミーデータDがあるので、(0 2)、(1、4)、(2、D)となる。(S4)
4)ダミーデータが無い場合:4)で生成した配列に対し、例えば列番号0に対する配列は(0、0、0)、(0、1、0)、(0、2、0)となる。(S5のア.)
5)ダミーデータがある場合:(列内番号、列番号)の組み合わせに1を加えて(1、2、3)、(1、2、4)、(1、2、6)、(1、2、8)、(1、2、9)の配列を生成する。以下説明は省略する。(S5のイ.)
6)例えば、行番号0のグループについては(0、0、1)、(0、0、2)、(0、0、6)、(0、0、8)、(0、0、9)の5ケの元配列となりCw=6に1ケ不足するので、ダミーデータの(1、2、3)を加えた配列となる。以下説明は省略する。(S6、S7)
7)α演算時のβ格納メモリからの読み込み、α格納メモリへの書き込み制御のデータとして‘001’‘002’‘006’‘008’‘009’‘123’で始まり‘025’‘027’‘129’で終わるデータを得る。
図4は本発明のα演算器、β演算器の構成例を示す図である。検査行列の最大行重みRw6、最大列重みCw=3を前提としたα演算器、β演算器の構成例を示している。
1)α演算器
乗算器1 20、乗算器2 21、絶対値変換部22、最小値変換部23で構成し、6個のβから6個のαを演算する。検査行列の1つの行毎に生成した6個のβを入力して6個のαを算出する。この6個のαは3クロックで2個ずつ6個をβ格納メモリから読み出し、6個のβの乗算結果と6個のβの絶対値変換後選択した最小値と乗算して6個のαを算出する。例えば、β01、β02、β06、β08、β09、ダミーデータより、
α01:β02、β06、β08、β09
α02:β01、β06、β08、β09
α06:β01、β02、β08、β09
α08:β01、β02、β06、β09
α09:β01、β02、β06、β08
の6個のαを得る。この6個のαを3つのメモリで構成するα格納メモリに各々格納する。格納アドレスは生成順とする。α格納メモリについては図5で述べる。
2)β演算器
加算器24で構成し、3個のαと1つのλから3個のβを演算する。β格納メモリから3個のβとλ格納メモリからλを1クロックで読み出しβを算出する。例えば、α10、α20、α40とλよりβ10、β20、β40の3個のβを得る。β格納メモリの1つのアドレスに格納する。β格納メモリ及び格納方法については図5で述べる。
1)検査行列
図3に示した検査行列(Rw=6、Cw=3)の5行10列の検査行列である。
2)生成制御データ
図3の5)で生成した制御データを2個ずつ2系にし、α演算時のβ格納メモリからの必要なβの読み出しと演算結果のα格納メモリへの書き込みに使う。
a:βの有無(β有=0、β無し=1)
b:RAM選択のRAMセレクト
c:格納メモリのアドレス
実際のハードウエア構成では文字列を16進法で扱うためにHEX変換を行なうが、ここではこのままで説明する。
3)α格納メモリ
1ポートのRAM3個で構成する。各RAMの内容は図5の3)のように検査行列の「1」位置で定まるαmnをダミーデータ(後述するようにダミーデータは数0とする。)を含め格納する。例えば、RAM1にαm0、α01、α02で始まりα08、α09で終わるαを格納する。RAM2、RAM3についても同様に格納する。β演算時は各RAMのアドレス0から順次読み出し、図3のβ演算器に入力する。
4)β格納メモリ
2ポートのRAM1個で構成し、1つアドレスを3つの領域に分け、図5の4)のように検査行列の「1」位置で定まるβmnをダミーデータ(後述するようにダミーデータはβ最大値0とする。)を含め格納する。例えば、領域0にはβ10、β01、β02で始まりβ08、β09で終わるデータを領域0に格納する。領域1、領域2への格納についても同様に格納する。
1)β演算
β演算はα格納メモリの3個のRAMよりアドレス順に読み出し、各メッセージノードに接続されたβを算出する。ここで、前述したようにαの初期値は全て「0」に設定しているので、1回目のβはλに同一である。例えば以下となる。
2)α演算
α演算は1クロックに2個のβを読み出し3クロックで1つのチェックノードに接続する6個のβより算出する。6個のβから6個のαを算出し、1クロックに1個ずつ出力する。最大行重みRw=6に満たない行については図3で生成した制御データのダミーデータをβの最大値としておき最小値選択に影響をしないようにする。同様に最大列重みCw=3に満たない列については図3で生成した制御データのダミーデータに数0を設定して加算演算に影響がないようにする。
(1)β格納メモリからβの読み出し
ア.0番目のデータ=001、002
ポート0:c=1よりアドレス=1、b=0よりRAMの領域0として、β01を読み出し、βの有無のデータ「0」よりデータ有とする。以下では(ポート番号、アドレス番号、RAM領域、β有無の「0」あるいは「1」、βij)として(ポート0、1、0、0、β01)と表現する。
イ.1番目のデータ=006、008
(ポート0、6、0、0、β06)
(ポート1、8、0、0、β08)
ウ.2番目のデータ=009、123
(ポート0、9、0、0、β09)
(ポート1、3、1、2、最大値)この場合、接続情報がないダミーデータであるので、最大値を読み出す。
(2)α格納メモリへαの書き込み
ア.0番目のデータ=001、002
RAM0(b=0)のアドレス1(c=1)にα01を書き込む。以下では(RAM0、1、α01)と表現する。
イ.1番目のデータ=006、008
(RAM0、6、α06)
(RAM1、8、α08)
ウ.2番目のデータ=009、123
(RAM0、9、α09)
(RAM1、2、数0)この場合、接続情報がないダミーデータであるので、数0を書き込む。
2 検査行列
10 復号基本部
11 λ格納メモリ
12 α格納メモリ
13 β格納メモリ
14 β演算器
15 α演算器
16 α格納メモリ入出力制御部
17 β格納メモリ入出力制御部
18 受信語(Qn)判定部
20 乗算器1
21 乗算器2
22 絶対値変換部
23 最小値選択部
24 加算器
Claims (3)
- α演算器、α格納メモリ、β演算器、β格納メモリを有し、入力された検査行列に対し、α演算、β演算を繰り返し実行して復号を行なうLDPC復号器における演算器制御のデータを生成するLDPC復号器の演算制御データのデータ生成方法であって、
前記検査行列の列毎に1のある行を抽出し、
前記抽出行番号の数が最大列重みに不足する列番号にはダミーデータを付けた行番号データを生成し、
前記生成行番号に対し順番を付けて列内番号として、列番号と列内番号の組み合わせに対し、ダミーデータが無い組み合わせには接続されている情報を表す接続情報をさらに組み合わせた配列を、ダミーデータのある列番号と列内番号の組み合わせには接続されていない情報を表す接続情報を組み合わせた配列を生成し、
前記接続されている接続情報を有する配列を行番号を昇順にサーチして同一の行番号をグループ化し、
前記グループ化した配列の数が最大行重みの数に不足する場合は、前記接続されていない接続情報を有する列番号と列内番号の組み合わせを不足する数だけ追加して行番号を昇順に、行番号グループ内では列番号を昇順に並べた文字列を生成し、
前記生成した文字列をα演算時の前記β格納メモリからの読み出し、α演算結果の前記α格納メモリへの格納データ書き込みの制御データとすることを特徴とするデータ生成方法。 - 請求項1記載のデータ生成法であって、
前記生成した文字列を前記β格納メモリ、及び前記α格納メモリのアドレス、メモリ領域選択のデータとすることを特徴とする請求項1記載のデータ生成方法。 - α演算器、α格納メモリ、β演算器、β格納メモリを有し、入力された検査行列に対し、α演算、β演算を繰り返し実行して復号を行なうLDPC復号器であって、
前記検査行列の列毎に1のある行を抽出する手段と、
前記抽出行番号の数が最大列重みに不足する列番号にはダミーデータを付けた行番号データを生成する手段と、
前記生成行番号に対し順番を付けて列内番号として、列番号と列内番号の組み合わせに対し、ダミーデータが無い組み合わせには接続されている情報を表す接続情報をさらに組み合わせた配列と、ダミーデータのある列番号と列内番号の組み合わせには接続されていない情報を表す接続情報を組み合わせた配列を生成する手段と、
前記接続されている接続情報を有する配列を行番号を昇順にサーチして同一の行番号をグループ化する手段と、
前記グループ化した配列の数が最大行重みの数に不足する場合は、前記接続されていない接続情報を有する列番号と列内番号の組み合わせを不足する数だけ追加し行番号を昇順に行番号グループ内では列番号を昇順に並べた文字列を生成する手段と、
を備えたLDPC復号器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006247334A JP4748007B2 (ja) | 2006-09-12 | 2006-09-12 | Ldpc復号器の演算制御データ生成方法及びldpc復号器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006247334A JP4748007B2 (ja) | 2006-09-12 | 2006-09-12 | Ldpc復号器の演算制御データ生成方法及びldpc復号器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008072247A true JP2008072247A (ja) | 2008-03-27 |
JP4748007B2 JP4748007B2 (ja) | 2011-08-17 |
Family
ID=39293473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006247334A Expired - Fee Related JP4748007B2 (ja) | 2006-09-12 | 2006-09-12 | Ldpc復号器の演算制御データ生成方法及びldpc復号器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4748007B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008278184A (ja) * | 2007-04-27 | 2008-11-13 | Sony Corp | 復号装置 |
CN101977063A (zh) * | 2010-11-01 | 2011-02-16 | 西安空间无线电技术研究所 | 一种通用型ldpc译码器 |
CN108683424A (zh) * | 2018-08-02 | 2018-10-19 | 华侨大学 | 全并行双向递归流水线ldpc编码器及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004531972A (ja) * | 2001-06-15 | 2004-10-14 | フラリオン テクノロジーズ,インコーポレーテッド | Ldpc符号を復号する方法と装置 |
JP2007110265A (ja) * | 2005-10-11 | 2007-04-26 | Samsung Electronics Co Ltd | 復号装置および復号方法 |
-
2006
- 2006-09-12 JP JP2006247334A patent/JP4748007B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004531972A (ja) * | 2001-06-15 | 2004-10-14 | フラリオン テクノロジーズ,インコーポレーテッド | Ldpc符号を復号する方法と装置 |
JP2007110265A (ja) * | 2005-10-11 | 2007-04-26 | Samsung Electronics Co Ltd | 復号装置および復号方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008278184A (ja) * | 2007-04-27 | 2008-11-13 | Sony Corp | 復号装置 |
JP4743156B2 (ja) * | 2007-04-27 | 2011-08-10 | ソニー株式会社 | 復号装置 |
US8205130B2 (en) | 2007-04-27 | 2012-06-19 | Sony Corporation | Decoding apparatus |
CN101977063A (zh) * | 2010-11-01 | 2011-02-16 | 西安空间无线电技术研究所 | 一种通用型ldpc译码器 |
CN108683424A (zh) * | 2018-08-02 | 2018-10-19 | 华侨大学 | 全并行双向递归流水线ldpc编码器及方法 |
CN108683424B (zh) * | 2018-08-02 | 2023-05-30 | 华侨大学 | 全并行双向递归流水线ldpc编码器及方法 |
Also Published As
Publication number | Publication date |
---|---|
JP4748007B2 (ja) | 2011-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7917835B2 (en) | Memory system and method for use in trellis-based decoding | |
WO2018022821A1 (en) | Memory compression in a deep neural network | |
CN107786211B (zh) | 一种ira-qc-ldpc码的代数结构获取方法、编码方法和编码器 | |
JP2007215089A (ja) | 復号装置及び復号方法 | |
KR102019893B1 (ko) | 저밀도 패리티 검사 부호를 지원하는 통신 시스템에서 신호 수신 장치 및 방법 | |
CN111985602A (zh) | 神经网络计算设备、方法以及计算设备 | |
JP4748007B2 (ja) | Ldpc復号器の演算制御データ生成方法及びldpc復号器 | |
CN113885831A (zh) | 基于混合数据输入的存算一体电路、芯片及计算装置 | |
JP2003296302A (ja) | 行列演算処理装置 | |
KR20190024690A (ko) | 연상 메모리에서의 최소값-최대값 계산 방법 | |
WO2024066561A1 (zh) | 查找空闲存储的装置、方法及芯片 | |
CN104185952A (zh) | 处理迭代解码器的初级检验节点 | |
CN111313912A (zh) | 一种ldpc码编码器及编码方法 | |
CN109871563B (zh) | 一种复杂多态卫星系统可靠性分析方法及系统 | |
KR102555621B1 (ko) | 메모리 내의 컴퓨팅 회로 및 방법 | |
US11165615B2 (en) | Data shifting operation apparatus and method having multiple operation modes | |
JP2022074442A (ja) | 演算装置および演算方法 | |
WO2015133095A1 (ja) | パリティ検査符号生成装置、符号化方法、符号化装置および記録媒体 | |
CN106209115A (zh) | 一种数据处理方法及电子设备 | |
CN115765750B (zh) | 数据循环移位方法和电路、以及芯片 | |
JP4011015B2 (ja) | Lut符号化方法及びlut符号化装置並びにlutカスケード論理回路 | |
US8117507B2 (en) | Decompressing method and device for matrices | |
KR20160057590A (ko) | 공통 부분식 소거 방법 및 이를 이용한 필터 | |
CN112332859B (zh) | 低复杂度的多元ldpc码校验节点单元及数字通信设备 | |
CN108540138B (zh) | 一种csraa编码电路及编码器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090512 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110111 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110304 |
|
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: 20110419 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110502 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4748007 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: 20140527 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |