KR20140034579A - Apparatus for channel decoding - Google Patents
Apparatus for channel decoding Download PDFInfo
- Publication number
- KR20140034579A KR20140034579A KR1020120101097A KR20120101097A KR20140034579A KR 20140034579 A KR20140034579 A KR 20140034579A KR 1020120101097 A KR1020120101097 A KR 1020120101097A KR 20120101097 A KR20120101097 A KR 20120101097A KR 20140034579 A KR20140034579 A KR 20140034579A
- Authority
- KR
- South Korea
- Prior art keywords
- row
- value
- column
- variable node
- calculation unit
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
- H03M13/1125—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using different domains for check node and bit node processing, wherein the different domains include probabilities, likelihood ratios, likelihood differences, log-likelihood ratios or log-likelihood difference pairs
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3905—Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
- H03M13/3927—Log-Likelihood Ratio [LLR] computation by combination of forward and backward metrics into LLRs
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0052—Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
- H04L1/0053—Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables specially adapted for power saving
Abstract
Description
본 발명은 채널 복호화 장치에 관한 것이며, 더욱 상세하게는 복호 시간을 단축할 수 있는 채널 복호화 장치에 관한 것이다.The present invention relates to a channel decoding apparatus, and more particularly, to a channel decoding apparatus capable of shortening a decoding time.
거의 모든 형태의 전자 장치, 통신 장치들은 에러-정정 코드들을 사용한다. 에러 정정 코드들은 중복성을 데이터 스트림에 도입함으로써 이러한 장치들에서 고유의 정보 전송 신뢰도를 보상한다. Almost all forms of electronic and communication devices use error-correcting codes. Error correction codes compensate for the inherent information transmission reliability in such devices by introducing redundancy into the data stream.
한편, 수학적인 에러 정정 기초가 Shannon에 의해서 설정되었다. Shannon은 통신 시스템들의 신호 왜곡이 랜덤한 처리로서 모델링되는 채널의 수학적인 개념을 개발하였다. 가장 기본적인 Shannon의 결과는 Noisy 채널 원리인데, 이는 채널에 대해서 용량, 즉, 그 채널을 통해 정보가 신뢰적으로 전달될 수 있는 최대 속도를 규정하는 수량을 정의한다. On the other hand, the mathematical error correction basis was set by Shannon. Shannon developed the mathematical concept of a channel in which signal distortion in communication systems is modeled as a random process. The most basic Shannon's result is the Noisy channel principle, which defines a quantity for a channel, that is, a quantity that defines the maximum rate at which information can be reliably delivered over that channel.
용량에 근접하는 속도의 신뢰적인 전송은 에러 정정 코드들의 사용을 필요로 한다. 따라서, 에러-정정 코드들이 충분한 신뢰도를 달성하는 동시에 가능한 용량에 근접하도록 설계된다. 에러 정정 코드를 구현하는데 있어서의 복잡성은 에러 정정 코드들의 실질적인 적용에 있어 영향을 미치는 추가적인 요인이다. Reliable transmission at speeds near capacity requires the use of error correction codes. Thus, the error-correcting codes are designed to achieve as close as possible while attaining sufficient reliability. The complexity in implementing the error correction code is an additional factor that affects the practical application of the error correction codes.
저밀도 패리티 검사(low-density partiy-check; LDPC) 부호는, 오류정정부호의 일종으로서 완전한 전송을 보장할 수는 없지만 정보유실 확률을 가능한 원하는 만큼 적게할 수 있다. 이러한 LDPC 부호가 `Shannon limit'에 가장 근접하는 오류정정부호로서,통신 시스템에 활용될 수 있는 매우 우수한 오류정정부호로 재평가되고 있다.Low-density partiy-check (LDPC) codes are a type of error correcting code that can not guarantee complete transmission, but can reduce the probability of information loss as much as desired. The LDPC code is the error correcting code closest to the Shannon limit, and is reevaluated as a very good error correcting code that can be used in a communication system.
본 발명의 목적은, 복호 시간을 단축할 수 있는 채널 복호화 장치를 제공함에 있다.It is an object of the present invention to provide a channel decoding apparatus capable of shortening a decoding time.
상기 목적을 달성하기 위한 본 발명의 실시예에 따른 채널 복호화 장치는, 저밀도 패리티 검사를 수행하는 채널 복호화 장치로서, 변수 노드값을 저장하는 변수 노드 메모리와, 체크 노드 메모리와, 변수 노드값과 체크 노드값을 이용하여, 변수 노드에 대한 로그 우도비를 연산하는 제1 연산 유닛과, 로그 우도비에 기초하여, 체크 노드의 크기값 및 부호를 연산하는 제2 연산 유닛과, 체크 노드의 크기값, 및 부호에 기초하여, 체크 노드 갱신값을 연산하는 제3 연산 유닛과, 체크 노드 갱신값 및 로그 우도비에 기초하여, 변수 노드 갱신값을 연산하는 제4 연산 유닛을 구비하고, 저밀도 패리티 검사 행렬 중 제1 행에 대해, 체크 노드 갱신값의 연산 및 변수 노드 갱신값의 연산이 수행되는 동안, 저밀도 패리터 검사 행렬 중 제1 행의 다음 행인 제2 행에 대해, 로그 우도비 연산, 체크 노드의 크기값 및 부호 연산이 수행된다. A channel decoding apparatus according to an embodiment of the present invention for achieving the above object is a channel decoding apparatus for performing a low density parity check, a variable node memory for storing a variable node value, a check node memory, a variable node value and a check A first calculation unit for calculating a log likelihood ratio for a variable node using the node value, a second calculation unit for calculating a magnitude value and a sign of the check node based on the log likelihood ratio, and a magnitude value of the check node And a third calculating unit for calculating the check node update value based on the symbols and, and a fourth calculating unit for calculating the variable node update value based on the check node update value and the log likelihood ratio, and the low density parity check. For the first row of the matrix, while the operation of the check node update value and the operation of the variable node update value are performed, for the second row which is the next row of the first row of the low density parity check matrix. The log likelihood ratio operation, the check node size value, and the sign operation are performed.
본 발명의 일 실시예에 따른 채널 복호화 장치는, 저밀도 패리티 검사 행렬 중 제1 행에 대해, 체크 노드 갱신값의 연산 및 변수 노드 갱신값의 연산이 수행되는 동안, 저밀도 패리터 검사 행렬 중 제1 행의 다음 행인 제2 행에 대해, 로그 우도비 연산, 체크 노드의 크기값 및 부호 연산이 수행될 수 있다. 이에 의해, 채널 복호화의 복호 시간을 단축할 수 있게 된다.According to an embodiment of the present invention, the channel decoding apparatus may further include performing a check node update value and a variable node update value on a first row of a low density parity check matrix, while performing a first check of the low density parity check matrix. A log likelihood ratio operation, a magnitude value of a check node, and a sign operation may be performed on the second row, which is the next row of the row. As a result, the decoding time of channel decoding can be shortened.
한편, 제2 행에 대한 체크 노드의 크기값 및 부호 연산시, 제1 행과 데이터 의존성이 없는, 열을, 다른 열 보다 더 먼저 처리함으로써, 채널 복호화의 복호 시간을 더욱 단축할 수 있게 된다.On the other hand, when the magnitude value and the sign operation of the check node for the second row are processed, the decoding time of the channel decoding can be further shortened by processing the column having no data dependency on the first row before other columns.
한편, 배럴 시프트와 인버스 배럴 시프트를 한 번에 처리함으로써, 채널 복호화의 복호 시간을 더욱 단축할 수 있게 된다.On the other hand, by processing the barrel shift and the inverse barrel shift at once, the decoding time of the channel decoding can be further shortened.
한편, 갱신된 변수 노드값을, 변수 노드 메모리에 저장하지 않고, 로그 우도비 연산을 위해, 바로 사용할 수 있으므로, 채널 복호화의 복호 시간을 더욱 단축할 수 있게 된다. 또한, 변수 노드 메모리에 대한 억세스(access)가 불필요하게 되어, 채널 복호화 장치 내에서의 전력 소모를 줄일 수 있게 된다. On the other hand, since the updated variable node value can be directly used for the log likelihood ratio calculation without storing it in the variable node memory, the decoding time of channel decoding can be further shortened. In addition, access to the variable node memory becomes unnecessary, thereby reducing power consumption in the channel decoding apparatus.
도 1은 Tanner 그래프를 예시하는 도면이다.
도 2는 도 1의 그래프에 대응하는 LDPC 코드의 일예를 예시한다.
도 3은 본 발명의 일실시예에 따른 채널 복호화 장치를 도시한다.
도 4 내지 도 6은 도 3의 채널 복호화 장치를 설명하기 위해 참조되는 도면이다.
도 7은 본 발명의 다른 실시예에 따른 채널 복호화 장치를 도시한다.
도 8 내지 도 10은 도 7의 채널 복호화 장치를 설명하기 위해 참조되는 도면이다.
도 11은 본 발명의 다른 실시예에 따른 채널 복호화 장치를 도시한다. 1 is a diagram illustrating a Tanner graph.
2 illustrates an example of an LDPC code corresponding to the graph of FIG. 1.
3 shows a channel decoding apparatus according to an embodiment of the present invention.
4 to 6 are views referred to for describing the channel decoding apparatus of FIG. 3.
7 illustrates a channel decoding apparatus according to another embodiment of the present invention.
8 to 10 are diagrams referred to for describing the channel decoding apparatus of FIG. 7.
11 illustrates a channel decoding apparatus according to another embodiment of the present invention.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다. Hereinafter, the present invention will be described in detail with reference to the drawings.
이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 단순히 본 명세서 작성의 용이함만이 고려되어 부여되는 것으로서, 그 자체로 특별히 중요한 의미 또는 역할을 부여하는 것은 아니다. 따라서, 상기 "모듈" 및 "부"는 서로 혼용되어 사용될 수도 있다.The suffix "module" and " part "for components used in the following description are given merely for convenience of description, and do not give special significance or role in themselves. Accordingly, the terms "module" and "part" may be used interchangeably.
본 명세서에서는, 채널 복호화를 위해, LDPC 행렬을 사용하여, 저밀도 패리티 검사를 수행한다.In the present specification, a low density parity check is performed using an LDPC matrix for channel decoding.
도 1은 Tanner 그래프를 예시하는 도면이고, 도 2는 도 1의 그래프에 대응하는 LDPC 코드의 일예를 예시한다.1 is a diagram illustrating a Tanner graph, and FIG. 2 illustrates an example of an LDPC code corresponding to the graph of FIG. 1.
저밀도 패리티 검사(Low Density Parity Check, LDPC) 코드들은 도 1에 도시된 그래프(100)와 같이 종종 Tanner 그래프들로 지칭되는 이분 그래프들에 의해서 도시될 수 있다.Low Density Parity Check (LDPC) codes may be shown by bipartite graphs, often referred to as Tanner graphs, such as
Tanner 그래프들에서, 가변 노드들(102)은 코드워드의 비트에 상응하고, 다른 세트의 노드들에서 체크 노드들(106)은 코드를 정의하는 패리티-검사 구속 세트에 상응할 수 있다. In Tanner graphs,
그래프에서 에지들(104)은 가변 노드들을 체크 노드들에 연결할 수 있다. 가변 노드들 및 체크 노드는 만약 그들이 그래프에서 에지에 의해 연결된다면 이웃들로 지칭된다. 통상적으로는 노드 쌍이 기껏해야 하나의 에지에 의해서 연결된다는 것이 가정된다. LDPC 코드들은 저밀도 패리티 검사 행렬(202)을 사용하여 등가적으로 표현될 수 있다.
도 2는 저밀도 패리티 검사 행렬(H)(202)의 일예를 나타낸다. 이때, 표시된 벡터(x)(208)가, Hx=0인 관계가 있는 경우, 벡터(x)(208)는 에러가 없는 경우에 대응한다.2 shows an example of a low density parity check matrix (H) 202. At this time, when the displayed vector (x) 208 has a relationship where Hx = 0, the vector (x) 208 corresponds to the case where there is no error.
예를 들어, 부호화 장치에서, 소스 메시지와 패리티 검사 비트가 결합된 코드 워드(c)를 전송한다면, 저밀도 패리티 검사 행렬(H)과 코드 워드(c)의 관계는 수학식 1과 같을 수 있다. For example, in the encoding apparatus, if a code word c in which a source message and a parity check bit are combined is transmitted, the relationship between the low density parity check matrix H and the code word c may be expressed by
여기서, H는 저밀도 패리티 검사 행렬을 나타내며, c는 소스 메시지와 패리티 검사 비트가 결합된 코드 워드를 나타낼 수 있다.Here, H may represent a low density parity check matrix, and c may represent a code word in which a source message and a parity check bit are combined.
한편, 부호화 장치에서, 코드 워드(c)를 전송한다면, 채널을 통해, 노이즈 성분(n)이 추가될 수 있으며, 복호화 장치에서는, 노이즈가 부가된 신호(r)이 수신될 수 있다.On the other hand, if the code word (c) is transmitted in the encoding apparatus, the noise component (n) may be added through the channel, and in the decoding apparatus, the signal r to which the noise is added may be received.
한편, 복호화 장치는, 수신되는 신호(r)로부터, 코드 워드(c) 나아가, 소스 메시지(s)를 구하기 위해, 저밀도 패리티 검사 행렬을 이용한, 연산을 수행한다. 즉, Hc= 0 이므로, 수학식 3과 같은 연산이 성립할 수 있다. On the other hand, the decoding apparatus performs a calculation using a low density parity check matrix to obtain a code word (c) and a source message (s) from the received signal (r). That is, since Hc = 0, the operation shown in
한편, 수신되는 신호(r)는, 0과 1의 디지털 신호일 수 있으며, 그 외 0과 1 사이의 분수값일 수 있다.Meanwhile, the received signal r may be a digital signal of 0 and 1, and may be a fractional value between 0 and 1. FIG.
본 발명의 실시예에 따른 채널 복호화 장치는, 저밀도 패리티 검사 행렬을 이용하여, 0과 1 사이의 분수값이 수신되는 경우, 0 인지 1 인지에 대한 확률을 이용하여, 적합한 값을 선택하도록 한다.According to an embodiment of the present invention, when a fractional value between 0 and 1 is received using a low density parity check matrix, the channel decoding apparatus selects an appropriate value by using a probability of 0 or 1.
수신되는 신호(r)은, 이분 그래프(bipartite graph)의 변수 노드에서의 입력 확률을 나타내는데 사용될 수 있다. 그리고, 비트 확률 메시지는 변수 노드에서 체크 노드로 전달되고, 패리티 검사 제약에 따라, 변수 노드에서 합산된다. 이 데이터는 일반적으로, 수학식 4와 같이 정의된 로그 우도비로서 표현될 수 있다.The received signal r can be used to represent an input probability at a variable node of a bipartite graph. The bit probability message is then passed from the variable node to the check node and summed at the variable node according to the parity check constraint. This data can generally be expressed as a log likelihood ratio defined as in equation (4).
한편, 본 발명의 실시예에 따른, LDPC 코드는, 저밀도 패리티 검사 행렬의 블록 행과 블록 열을 나타내는 매크로 행렬일 수 있다. 즉, 매크로 행렬의 0 엔트리는 ZxZ의 부분 행렬에 대응할 수 있다.Meanwhile, the LDPC code according to the embodiment of the present invention may be a macro matrix representing a block row and a block column of the low density parity check matrix. That is, the zero entry of the macro matrix may correspond to the partial matrix of ZxZ.
한편, 입력 노드에 대한 확률값의 갱신을 위한, 반복 디코딩의 방법으로서, 본 발명의 실시예에서는, 계층화된 디코딩을 수행하는 것으로 한다. 이하의 수학식 5 내지 9은, 계층화된 디코딩시에 사용된다.On the other hand, as an iterative decoding method for updating a probability value for an input node, in the embodiment of the present invention, layered decoding is performed.
수학식 5는 체크섬 부분 집합의 각각의 행 m 의 각각의 열 j에 대해 행 마다의 로그 우도비(Log Likelihood Ratio)를 나타낼 수 있다. 즉, 변수 노드에 대한 로그 우도비(L(qmj))를 나타낼 수 있다.
여기서, Rmj 는 체크 노드값을 나타내며, L(qj)는 변수 노드값을 나타낸다.Where R mj Denotes a check node value, and L (q j ) denotes a variable node value.
수학식 6은, 로그 우도비(L(qmn))에 기초하여, 연산되는 체크 노드의 크기값(Amj)을 나타낼 수 있다.
수학식 7은, 로그 우도비(L(qmn))에 기초하여, 연산되는 체크 노드의 부호(Smj)를 나타낼 수 있다.
수학식 8은, 체크 노드의 크기값(Amj), 및 부호(Smj)에 기초하여, 연산되는 체크 노드 갱신값(Rmj)을 나타낼 수 있다.
수학식 9는, 체크 노드 갱신값(Rmj) 및 로그 우도비(L(qmj))에 기초하여, 연산되는 변수 노드 갱신값(L(qj))을 나타낼 수 있다. 이때, 열(j)에 대해, 변수 노드값이 갱신될 수 있다.
한편, 이러한, 수학식 5 내지 9에 의한 연산에 의해, 복호화가 수행된 경우, 에러가 없는 지 여부는 다음의 수학식 10에 의해 판정 가능하다.On the other hand, when decoding is performed by the operation according to the equations (5) to (9), whether or not there is an error can be determined by the following equation (10).
즉, Hr=0인지 확인하여, 해당하는 경우, 적합한 디코딩이 수행된 것으로 판단할 수 있다.That is, it may be determined whether Hr = 0, and if appropriate, it may be determined that proper decoding has been performed.
이하에서는, 본 발명의 실시예에 따른 채널 복호화 장치를 도면을 참조하여 기술한다.Hereinafter, a channel decoding apparatus according to an embodiment of the present invention will be described with reference to the drawings.
도 3은 본 발명의 일실시예에 따른 채널 복호화 장치를 도시하며, 도 4 내지 도 6은 도 3의 채널 복호화 장치를 설명하기 위해 참조되는 도면이다.3 is a diagram illustrating a channel decoding apparatus according to an embodiment of the present invention, and FIGS. 4 to 6 are views referred to for describing the channel decoding apparatus of FIG. 3.
도면을 참조하면, 채널 복호화 장치(300)는, 변수 노드 메모리(310), 배럴 시프터(315), 체크 노드 메모리(320), 제1 리커버리 유닛(323), 제1 연산 유닛(330), 제2 연산 유닛(340), 제3 연산 유닛(350), 제2 리커버리 유닛(353), 제4 연산 유닛(360), 역 배럴 시프터(365), 및 버퍼(370)를 구비할 수 있다.Referring to the drawing, the
상술한 바와 같이, 계층화된 디코딩을 수행하는 것으로 한다. 상술한 수학식 5 내지 9은, 계층화된 디코딩시에 사용된다.As described above, it is assumed that layered decoding is performed.
변수 노드 메모리(310)는, 수학식 5의 변수 노드값(L(qj)) 또는 수학식 9의 변수 노드 갱신값(L(qj))을 저장할 수 있다.The
배럴 시프터(barrel shifter)(315)는, 변수 노드 메모리(310)에서 출력되는, 변수 노드값(L(qj))이 제1 연산 유닛(330)에서 연산가능하도록 비트 시프트(bit shift)를 수행한다.The
체크 노드 메모리(320)는, 수학식 6의 체크 노드의 크기값(Amj)과, 수학식 7의 체크 노드의 부호(Smj), 그리고, 크기값과 부호에 대한 위치 정보를 저장할 수 있다. The
제1 리커버리 유닛(323)은, 체크 노드의 크기값(Amj)과, 수학식 7의 체크 노드의 부호(Smj), 그리고 위치 정보를 이용하여, 해당하는 저밀도 패리티 검사 행렬의 행 m의 각각의 열 j에 대한, 체크 노드값(Rmj)을 출력한다.The
한편, 체크 노드 메모리(320)가, 체크 노드값(Rmj)이 아닌, 체크 노드의 크기값(Amj) 중 가장 작은 값과 그 위치, 그리고, 그 다음 작은 값과, 체크 노드의 부호(Smj)만을 저장함으로써, 메모리를 효율적으로 사용할 수 있게 된다.On the other hand, the
제1 연산 유닛(330)은, 수학식 5의 연산을 수행할 수 있다. 즉, 저밀도 패리티 검사 행렬의 행 m의 각각의 열 j에 대해, 행 마다의 로그 우도비(Log Likelihood Ratio)를 연산할 수 있다. The
특히, 제1 연산 유닛(330)은, 배럴 시프터(barrel shifter)(315)로부터 비트 시프트된, 변수 노드값(L(qj))과, 제1 리커버리 유닛(323)으로부터의 체크 노드값(Rmj)을 이용하여, 로그 우도비(L(qmj))를 연산할 수 있다. In particular, the
제2 연산 유닛(340)은, 수학식 6의 연산 및 수학식 7의 연산을 수행할 수 있다. 즉, 제1 연산 유닛(330)에서 연산된 로그 우도비(L(qmn))에 기초하여, 체크 노드의 크기값(Amj), 및 체크 노드의 부호(Smj)를 각각 연산할 수 있다. The
한편, 제2 연산 유닛(340)은, 수학식 6의 연산 및 수학식 7의 연산 수행을 위해, xor 비트 연산과 최소값(min)을 찾는 연산을 수행할 수 있다.Meanwhile, the
제2 연산 유닛(340)에서, 체크 노드의 크기값(Amj), 및 체크 노드의 부호(Smj)는, 각각 체크 노드 메모리(320)와, 제3 연산 유닛(350)으로 제공될 수 있다. In the
한편, 제1 연산 유닛(330)과 제2 연산 유닛(340)은, 체크 노드 프로세싱 유닛(미도시)으로서, 하나의 유닛으로 구성될 수도 있다.Meanwhile, the
제3 연산 유닛(350)은, 수학식 8의 연산을 수행할 수 있다. 즉, 체크 노드의 크기값(Amj), 및 부호(Smj)에 기초하여, 체크 노드 갱신값(Rmj)을 연산할 수 있다. The
한편, 제3 연산 유닛(350)은, 정규화 유닛(353)과, 제2 리커버리 유닛(356)을 포함할 수 있다.The
정규화 유닛(normalization unit)(353)은, 제2 연산 유닛(340)으로부터의 체크 노드의 크기값(Amj), 및 부호(Smj)에 기초하여, 정규화(normalization)를 수행할 수 있다.The
제2 리커버리 유닛(356)은, 정규화된 체크 노드의 크기값(Amj), 및 부호(Smj)에 기초하여, 해당하는 저밀도 패리티 검사 행렬의 행 m의 각각의 열 j에 대한, 체크 노드값(Rmj)을 출력한다.The
제3 연산 유닛(350)에서 연산된 체크 노드 갱신값(Rmj)은 제4 연산 유닛(360)으로 제공될 수 있다.The check node update value R mj calculated in the
제4 연산 유닛(360)은, 수학식 9의 연산을 수행할 수 있다. 즉, 체크 노드 갱신값(Rmj) 및 로그 우도비(L(qmj))에 기초하여, 변수 노드 갱신값(L(qj))을 연산할 수 있다.The
버퍼(370)는, 제1 연산 유닛(330)과 제4 연산 유닛(360) 사이에서 배치되며, 제1 연산 유닛(330)에서 연산된, 저밀도 패리티 검사 행렬의 소정 행(row)에 대한 로그 우도비를 저장할 수 있다. The
특히, 버퍼(370)는, 제1 연산 유닛(330) 및 제2 연산 유닛(340)이, 저밀도 패리티 검사 행렬의 제2 행에 대한, 로그 우도비(L(qmj)) 연산, 체크 노드의 크기값(Amj) 연산, 체크 노드의 부호(Smj) 연산을 수행하는 동안, 제4 연산 유닛(360)에, 저밀도 패리티 검사 행렬의 제1 행에 대한 로그 우도비(L(qmj))를 제공할 수 있다.In particular, the
이에 따라, 제4 연산 유닛(360)은, 버퍼(370)로부터 수신한 제1 행에 대한 로그 우도비(L(qmj)) 를 이용하여, 제1 행에 대한, 변수 노드 갱신값(L(qj))을 연산할 수 있다.Accordingly, the
한편, 제4 연산 유닛(360)에서 연산된 변수 노드 갱신값(L(qj))은, 역 배럴 시프터(inverse barrel shifter)(365)에 제공될 수 있다.Meanwhile, the variable node update value L (q j ) calculated by the
역 배럴 시프터(inverse barrel shifter)(365)는, 변수 노드 메모리(310)에 변수 노드 갱신값(L(qj))을 저장하기 위해, 배럴 시프터(barrel shifter)(315)에서 비트 시프트된 것을 고려하여, 역으로 비트 시프트 시킨다. 이에 출력되는, 역 배럴 시프트된 변수 노드 갱신값(L(qj))은 변수 노드 메모리(310)로 제공될 수 있다. 이에 따라, 변수 노드 메모리(310)는, 업데이트된 변수 노드 갱신값(L(qj))을 저장할 수 있다.
한편, 제3 연산 유닛(350)과 제4 연산 유닛(360)은, 변수 노드 프로세싱 유닛(미도시)으로서, 하나의 유닛으로 구성될 수도 있다.Meanwhile, the
도 4는 본 발명의 실시예에 따른 채널 복호화 장치에서 사용 가능한 저밀도 패리티 검사 행렬의 일예를 예시한다.4 illustrates an example of a low density parity check matrix that can be used in a channel decoding apparatus according to an embodiment of the present invention.
도 4의 저밀도 패리티 검사 행렬(400)은, 본 발명의 실시예에 따른, 계층 복호화가 가능한 저밀도 패리티 검사 행렬일 수 있다.The low density
한편, 도 4의 저밀도 패리티 검사 행렬의 코드 워드 블럭 길이(codeword block length)는 1296 비트(bit)이고, 서브 블록 사이즈(subblock size)는 54 bit일 수 있다.Meanwhile, the codeword block length of the low density parity check matrix of FIG. 4 may be 1296 bits, and the subblock size may be 54 bits.
한편, 본 발명의 실시예에서는, 채널 복호화의 복호 시간을 단축하기 위해, 종래의 저밀도 패리티 검사 행렬 중 제1 행에 대한 연산 완료 후, 저밀도 패리티 검사 행렬 중 제2 행에 대한 연산을 수행하는 것과 차별화하여, 저밀도 패리티 검사 행렬 중 제1 행(410)에 대한, 체크 노드 갱신값의 연산 및 변수 노드 갱신값의 연산이 수행되는 동안, 저밀도 패리터 검사 행렬 중 제1 행(410)의 다음 행인 제2 행(420)에 대해, 로그 우도비 연산, 체크 노드의 크기값 및 부호 연산이 수행하도록 한다.On the other hand, in the embodiment of the present invention, in order to shorten the decoding time of the channel decoding, after performing the operation on the first row of the conventional low density parity check matrix, performing the operation on the second row of the low density parity check matrix; By differentiating, while the operation of the check node update value and the operation of the variable node update value are performed on the
즉, 상술한 저밀도 패리터 검사 행렬 중 제1 행(410)에 대한, 체크 노드 갱신값의 연산 및 변수 노드 갱신값의 연산을 수행함과 동시에, 저밀도 패리터 검사 행렬 중 제1 행(410)의 다음 행인 제2 행(420)에 대해, 로그 우도비 연산, 체크 노드의 크기값 및 부호 연산을 수행한다.That is, the check node update value and the variable node update value are performed on the
도 5는, 종래의 연산 방법과 본 발명의 실시예에 따른 연산 방법을 간략히 비교하는 도면이다. 5 is a view for briefly comparing a conventional calculation method with a calculation method according to an embodiment of the present invention.
도 5(a)는, 종래의 연산 방법으로서, '1a'는, 저밀도 패리터 검사 행렬 중 제1 행(410)에 대한, 수학식 5 내지 7의 연산을 나타내며, '1b'는, 제1 행(410)에 대한, 수학식 8 내지 9의 연산을 나타낸다. 다시, '2a'는, 제2 행(420)에 대한, 수학식 5 내지 7의 연산을 나타내며, '2b'는, 제2 행(420)에 대한, 수학식 8 내지 9의 연산을 나타낸다. Fig. 5 (a) shows a conventional calculation method, in which '1a' indicates the calculation of the equations (5) to (7) for the
도 5(a)에서는, 시간 순서대로, 제1 행(410)에 대한, 수학식 5 내지 7의 연산이 수행된 후, 제1 행(410)에 대한, 수학식 8 내지 9의 연산이 수행되고, 그 후, 제2 행(420)에 대한, 수학식 5 내지 7의 연산이 수행되고, 다시 제2 행(420)에 대한, 수학식 8 내지 9의 연산이 수행되는 것을 알 수 있다.In FIG. 5A, after the operations of
도 5(b)는 본 발명의 실시예에 따른 연산 방법, 또는 채널 복호화 장치의 스케줄링 방법으로서, 제1 행(410)에 대한, 수학식 5 내지 7의 연산이 수행된 후, 제1 행(410)에 대한, 수학식 8 내지 9의 연산이 수행되면서, 동시에, 제2 행(420)에 대한, 수학식 5 내지 7의 연산이 수행되고, 그 후, 제2 행(420)에 대한, 수학식 8 내지 9의 연산이 수행되면서, 동시에, 제3 행에 대한, 수학식 5 내지 7의 연산이 수행되는 것을 알 수 있다.5B is a calculation method according to an embodiment of the present invention or a scheduling method of a channel decoding apparatus. After the calculations of
이러한 방식에 의하면, 도 5(a)의 방식에 비해, 적어도 25% 이상의 채널 복호화의 복호 시간을 단축할 수 있게 된다.According to this method, it is possible to shorten the decoding time of channel decoding of at least 25% or more as compared to the method of FIG. 5 (a).
한편, 본 발명의 다른 실시예에 따르면, 채널 복호화의 복호 시간을 단축 하기 위해, 저밀도 패리티 검사 행렬 중 각 행에 대한 데이터 연산시, 이전 행과 데이터 의존성이 없는 소정 열(column)에 대해, 다른 열 보다 더 먼저 처리거나, 다음 행과 데이터 의존성이 있는 소정 열(column)에 대해, 다른 열 보다 더 먼저 처리하는 것도 가능하다.On the other hand, according to another embodiment of the present invention, in order to shorten the decoding time of the channel decoding, when a data operation for each row of the low-density parity check matrix, for a predetermined column having no data dependency on the previous row, It is also possible to process before a column, or for a certain column with data dependencies on the next row, before other columns.
도 6의 저밀도 패리티 검사 행렬(400) 중 제2 행(420)을 살펴보면, 제1 열, 제5 열, 제9 열, 제14 열은, 각각 해당 엔트리가 '50', '48', '13', '0'의 값을 갖는 것을 알 수 있다. Referring to the
특히, 제2 행(420)의 제1 열, 제5 열, 제9 열, 제14 열은, 제1 행의 제1 열, 제5 열, 제9 열, 제14 열이 각각 소정 값들('40', '22', '43', '0')을 가지므로, 데이터 의존성이 있는 것을 알 수 있다.In particular, the first column, the fifth column, the ninth column, and the fourteenth column of the
한편, 제2 행(420)의 제2 열, 제6 열, 제11 열, 제15열은, 각각 해당 엔트리가 '1', '35', '30', '0'의 값을 가지나, 제1 행의 제1 열, 제5 열, 제9 열, 제14 열이 해당 값이 없으므로, 데이터 의존성이 없는 것을 알 수 있다.Meanwhile, the second, sixth, eleventh, and fifteenth columns of the
한편, 도 5(b)와 같이, 제1 행(410)에 대한, 수학식 8 내지 9의 연산이 수행되면서, 동시에, 제2 행(420)에 대한, 수학식 5 내지 7의 연산이 수행되는 경우, 제2 행(420)의 제1 열, 제5 열, 제9 열, 제14 열은, 제1 행과 데이터 의존성이 있으며, 제2 행(420)의 제2 열, 제6 열, 제11 열, 제15열은 제1 행과 데이터 의존성이 없으므로, 제2 행(420)의 제2 열, 제6 열, 제11 열, 제15열에 대한, 수학식 5 내지 7의 연산이, 제2 행(420)의 제1 열, 제5 열, 제9 열, 제14 열에 대한 수학식 5 내지 7의 연산 보다, 더 먼저 수행되는 것이 바람직하다. 이에 따라, 데이터 연산 시의 오류를 방지할 수 있게 된다.Meanwhile, as illustrated in FIG. 5B, the calculations of
즉, 제1 연산 유닛(330)은, 제2 행에 대한 로그 우도비를 연산시, 제1 행과 데이터 의존성이 없는, 제2 행의 제2 열, 제6 열, 제11 열, 제15 열에 대해, 제2 행의 다른 열 보다 더 먼저 처리할 수 있다. 즉, 제2 행의 제2 열, 제6 열, 제11 열, 제15 열, 그리고, 제1 열, 제5 열, 제9 열, 제14 열 순서로, 로그 우도비를 연산할 수 있다.That is, the
또한, 제2 연산 유닛(340)은, 제2 행에 대한 체크 노드의 크기값 및 부호 연산시, 제1 행과 데이터 의존성이 없는, 제2 행의 제2 열, 제6 열, 제11 열, 제15열에 대해, 제2 행의 다른 열 보다 더 먼저 처리할 수 있다. 즉, 제2 행의 제2 열, 제6 열, 제11 열, 제15 열, 그리고, 제1 열, 제5 열, 제9 열, 제14 열 순서로, 체크 노드의 크기값 및 부호를 연산할 수 있다.In addition, the
한편, 도 5(b)와 같이, 제1 행(410)에 대한, 수학식 8 내지 9의 연산이 수행되면서, 동시에, 제2 행(420)에 대한, 수학식 5 내지 7의 연산이 수행되는 경우, 제1 행(410)의 제1 열, 제5 열, 제9 열, 제14 열은, 제2 행(420)과 데이터 의존성이 있고, 제1 행(410)의 제7 열, 제8 열, 제13 열은, 제2 행(420)과 데이터 의존성이 없으므로, 제1 행(410)의 제1 열, 제5 열, 제9 열, 제14 열에 대한, 수학식 8 내지 9의 연산이, 제1 행(410)의 제7 열, 제8 열, 제13 열에 대한 수학식 8 내지 9의 연산 보다, 더 먼저 수행되는 것이 바람직하다. 이에 따라, 데이터 연산 시의 오류를 방지할 수 있게 된다.Meanwhile, as illustrated in FIG. 5B, the calculations of
즉, 제3 연산 유닛(350)은, 제1 행에 대한 체크 노드 갱신값 연산시, 제2 행과 데이터 의존성이 있는, 제1 행(410)의 제1 열, 제5 열, 제9 열, 제14 열에 대해, 제1 행의 다른 열 보다 더 먼저 처리할 수 있다. 즉, 제1 행(410)의 제1 열, 제5 열, 제9 열, 제14 열, 그리고, 제7 열, 제8 열, 제13 열 순서로, 체크 노드 갱신값을 연산할 수 있다.That is, the
또한, 제4 연산 유닛(360)은, 제1 행에 대한 변수 노드 갱신값 연산시, 제2 행과 데이터 의존성이 있는, 제1 행(410)의 제1 열, 제5 열, 제9 열, 제14 열에 대해, 제1 행의 다른 열 보다 더 먼저 처리할 수 있다. 즉, 제1 행(410)의 제1 열, 제5 열, 제9 열, 제14 열, 그리고, 제7 열, 제8 열, 제13 열 순서로, 변수 노드 갱신값을 연산할 수 있다. In addition, the
도 7은 본 발명의 다른 실시예에 따른 채널 복호화 장치를 도시하고, 도 8 내지 도 10은 도 7의 채널 복호화 장치를 설명하기 위해 참조되는 도면이다.FIG. 7 illustrates a channel decoding apparatus according to another embodiment of the present invention, and FIGS. 8 to 10 are diagrams for explaining the channel decoding apparatus of FIG. 7.
도면을 참조하면, 도 7의 채널 복호화 장치(700)는, 도 3의 채널 복호화 장치(300)와 유사하나, 다만, 역 배럴 시프터(inverse barrel shifter)(365)가 생략된 것에 그 차이가 있다.Referring to the drawings, the
이를 위해, 도 7의 배럴 시프터(315)는, 시프트 값은 다음의 수학식 11과 같이 조정되는 것이 바람직하다.To this end, the
여기서, BSa는 조정된 배럴 시프트 값이며, BSc는 현재 배럴 시프트 값이며, BSp는 이전 배럴 시프트 값이며, %는 모듈로(modulo) 연산을 나타내며, Z는 저밀도 패리티 검사 행렬의 서브 블록 사이즈를 나타낼 수 있다.Where BSa is the adjusted barrel shift value, BSc is the current barrel shift value, BSp is the previous barrel shift value,% represents the modulo operation, and Z represents the subblock size of the low density parity check matrix. Can be.
도 8에 예시되는 저밀도 패리티 검사 행렬(400)의, 제1 행 제5 열과 제2 행 제5 열 영역(815)을 살펴보면, BSc는 48 이며, BSp는 22 이며, Z는 54bit 라면, BSa는 26임을 알 수 있다. 이에 따라, 조정된 배럴 시프트 값은 26이 될 수 있다.Looking at the first row fifth column and second row
한편, 도 8의 제1 열 영역(805), 제5 열 영역(815), 제9 열 영역(825), 제14 열 영역(845)은, 제1 행과 제2 행 간에, 서로 데이터 의존성을 가지는 것을 예시한다.Meanwhile, the
한편, 도 8의 제1행 및 제2 행의, 제7 열 영역(820), 제8 열 영역(830), 제13 열 영역(840)은, 제1 행과 제2 행 간에 서로, 데이터 의존성이 없는 것을 예시한다.On the other hand, the
이에 따라, 상술한 바와 같이, 저밀도 패리티 검사 행렬 중 각 행에 대한 데이터 연산시, 이전 행과 데이터 의존성이 없는 소정 열(column)에 대해, 다른 열 보다 더 먼저 처리거나, 다음 행과 데이터 의존성이 있는 소정 열(column)에 대해, 다른 열 보다 더 먼저 처리하는 것도 가능하다.Accordingly, as described above, when a data operation is performed on each row of the low density parity check matrix, a predetermined column having no data dependency on the previous row is processed before other columns, or the next row and data dependency For certain columns, it is also possible to process them earlier than the other columns.
한편, 도 9는, 버퍼 사용 없이, 각 행 별로 수학식 5 내지 수학식 7의 연산을 수행하고, 그 후 수학식 8 내지 수학식 9의 연산을 수행하는 경우의, 복호화 장치 내의, 유닛 별 동작 스케줄링을 예시한다.On the other hand, Figure 9 is a unit-by-unit operation in the decoding apparatus, in the case of performing the operation of the equations (5) to (7) for each row, and then performing the operation of the equations (8) to (9) without using a buffer Illustrate scheduling.
세로축은, 클럭(clock)을 의미하며, 가로축의 VNM.RE는 변수 노드 메모리에 대한 read enable 를 의미하며, VNM.RA는 변수 노드 메모리에 대한 read address 를 의미하며, B는 배럴 시프터의 동작을 의미하며, cal L(qmj)는, 제1 연산 유닛(330)에서의 로그 우도비(L(qmj)) 연산 동작을 의미하며, xor는 제2 연산 유닛(340)에서의 체크 노드의 크기값(Amj), 및 체크 노드의 부호(Smj) 연산 동작을 의미하며, cal L(qj)는, 제4 연산 유닛(360)에서의 변수 노드 갱신값(L(qj)) 연산 동작을 의미하며, IB는 역 배럴 시프터(365)의 동작을 의미하며, VNM.WE는 체크 노드 메모리에 대한 write enable 상태를 의미하며, VNM.WA는 변수 노드 메모리에 대한 write address 상태를 의미한다.The vertical axis represents the clock, the horizontal axis VNM.RE means read enable for the variable node memory, the VNM.RA means read address for the variable node memory, and B represents the operation of the barrel shifter. Cal L (q mj ) denotes a log likelihood ratio L (q mj ) calculation operation in the
VNM.RE 내지 VNM.WA의 값이 '-1'인 경우, 해당 유닛은 동작하지 않으며, 그 외 다른 값을 가지는 경우, 해당 유닛이 동작하는 것으로 한다.If the value of VNM.RE to VNM.WA is '-1', the corresponding unit does not operate. If the value has any other value, the corresponding unit operates.
제1 클럭에서 제7 클럭까지, VNM.RE는 '1'값을 가질 수 있으며, 이에 따라, VNM.RA는 제1 행에 대한, 제1 열, 제5 열, 제7 열, 제8 열, 제9 열, 제13 열, 제14 열에 대해, 독출(read)할 수 있다. 즉, 변수 노드 메모리(310)가, 제1 클럭에서 제7 클럭까지, 각각 제1 행에 대한, 제1 열, 제5 열, 제7 열, 제8 열, 제9 열, 제13 열, 제14 열에 대한 값을 출력할 수 있다. From the first clock to the seventh clock, VNM.RE may have a value of '1', such that VNM.RA may have the first, fifth, seventh, and eighth columns for the first row. The ninth column, the thirteenth column, and the fourteenth column may be read. That is, the
도 9의 제1 영역(910)은, 제1 연산 유닛(330)에서 제1 행의 제1 열, 제5 열, 제7 열, 제8 열, 제9 열, 제13 열, 제14 열에 대한, 로그 우도비(L(qmj)) 연산을 수행하는 것을 나타낸다.The
도 9의 제2 영역(920)은, 제4 연산 유닛(360)에서 제1 행의 제1 열, 제5 열, 제7 열, 제8 열, 제9 열, 제13 열, 제14 열에 대한, 변수 노드 갱신값(L(qj)) 연산을 수행하는 것을 나타낸다. The
도 9의 제2 영역(920)에 해당하는 시간 동안, 도 9의 제3 영역(925)을 살펴보면, 제1 연산 유닛(330)이 동작하지 않는 것을 알 수 있다. Looking at the
그리고, 제1 연산 유닛(330)은, 도 9의 제4 영역(930)에 해당하는 시간 동안에, 제2 행의 제1 열, 제2 열, 제5 열, 제6 열, 제9 열, 제11 열, 제14 열, 제15 열에 대한, 로그 우도비(L(qmj)) 연산을 수행하는 것을 나타낸다.In addition, during the time corresponding to the
즉, 도 9는 도 5(a)와 같이, 시간 순서대로, 제1 행(410)에 대한, 수학식 5 내지 7의 연산이 수행된 후, 제1 행(410)에 대한, 수학식 8 내지 9의 연산이 수행되고, 그 후, 제2 행(420)에 대한, 수학식 5 내지 7의 연산이 수행되고, 다시 제2 행(420)에 대한, 수학식 8 내지 9의 연산이 수행되는 것을 알 수 있다.That is, FIG. 9 shows
한편, 도 10은, 도 7의 복호화 장치 내의, 유닛 별 동작 스케줄링을 예시한다.FIG. 10 exemplifies operation scheduling for each unit in the decoding apparatus of FIG.
살펴보면, 도 9와 달리, 가로축에, BUF.WE 내지 BUF.RA가 더 추가된 것을 알 수 있다. Looking at it, it can be seen that, unlike FIG. 9, BUF.WE to BUF.RA are further added to the horizontal axis.
BUF.WE는 버퍼 메모리에 대한 write enable 를 의미하며, BUF.WA는 버퍼 메모리에 대한 write address를 의미하며, BUF.RE는 버퍼 메모리에 대한 read enable 를 의미하며, BUF.RA는 버퍼 메모리에 대한 read address 를 의미한다. BUF.WE stands for write enable for buffer memory, BUF.WA stands for write address for buffer memory, BUF.RE stands for read enable for buffer memory, and BUF.RA stands for buffer memory. It means read address.
제1 클럭에서 제7 클럭까지, VNM.RE는 '1'값을 가질 수 있으며, 이에 따라, VNM.RA는 제1 행에 대한, 제1 열, 제5 열, 제7 열, 제8 열, 제9 열, 제13 열, 제14 열에 대해, 독출(read)할 수 있다. From the first clock to the seventh clock, VNM.RE may have a value of '1', such that VNM.RA may have the first, fifth, seventh, and eighth columns for the first row. The ninth column, the thirteenth column, and the fourteenth column may be read.
이때, 상술한 바와 같이, 제2 행에 대한 데이터 의존성이 없는, 열에 대해, 연산을 먼저 수행하기 위해, 변수 노드 메모리(310)에서 출력되는 순서를 변경할 수 있다.In this case, as described above, the order of outputting from the
제1 행의 제8 열, 제7 열, 제14 열이, 제1 행의 이전 행에 해당하는 제12 행과의 데이터 의존성이 없으므로, 먼저 출력되고, 그 이후, 제12 행과의 데이터 의존성이 있는, 제1 행의 제1 열, 제5 열, 제9 열, 제13 열이, 출력되는 것이 가능하다.The eighth, seventh, and fourteenth columns of the first row are outputted first because there is no data dependency with the twelfth row corresponding to the previous row of the first row, and thereafter, the data dependency with the twelfth row. It is possible that the first column, the fifth column, the ninth column, and the thirteenth column of the first row are present.
즉, 변수 노드 메모리(310)가, 제1 클럭에서 제7 클럭까지, 각각 제1 행에 대한, 제8 열, 제7 열, 제14 열, 그리고, 제1 열, 제5 열, 제9 열, 제13 열에 대한 값을, 순서대로 출력할 수 있다. That is, the
한편, 배럴 시프터(315)는, 변수 노드 메모리(310) 보다 1 클럭 이후에, 즉, 제2 클럭에서 제8 클럭까지, 제1 행에 대한, 제8 열, 제7 열, 제14 열, 그리고, 제1 열, 제5 열, 제9 열, 제13 열의 각각의 엔트리 값을 출력할 수 있다.On the other hand, the
이때, 상술한 수학식 11과 같이, 역 배럴 시프터가 배치되지 않은 점을 고려하여, 조정된 배럴 시프트 값을 출력하는 것이 가능하다. 이때, 이전 행의 배럴 시프트 값이 존재하지 않으므로, 결국, 제1 행에 대한, 제8 열, 제7 열, 제14 열, 그리고, 제1 열, 제5 열, 제9 열, 제13 열의 각각의 엔트리 값을 그대로 출력할 수 있다.At this time, it is possible to output the adjusted barrel shift value in consideration of the fact that the inverse barrel shifter is not arranged, as in the above equation (11). At this time, since the barrel shift value of the previous row does not exist, eventually, the eighth column, the seventh column, the fourteenth column, and the first, fifth, ninth, and thirteenth columns of the first row. Each entry value can be printed as it is.
다음, 제1 연산 유닛(330)은, 배럴 시프터(315) 보다 2 클럭 이후에, 즉, 제4 클럭에서 제10 클럭까지, 제1 행의 각 열에 대해 로그 우도비(L(qmj)) 연산을 수행할 수 있다.Next, the
도 10의 제1 영역(1010)은, 제1 연산 유닛(330)에서 제1 행의 제1 열, 제5 열, 제7 열, 제8 열, 제9 열, 제13 열, 제14 열에 대한, 로그 우도비(L(qmj)) 연산을 수행하는 것을 나타낸다.The
이때, 상술한 바와 같이, 제12 행(제1 행의 이전 행에 해당)에 대한 데이터 의존성이 없는, 제1 행의 제8 열, 제7 열, 제14 열에 대한 영역(1015)에 대해, 로그 우도비(L(qmj)) 연산이 더 먼저 수행되고, 그 이후, 제12 행에 대한 데이터 의존성이 있는, 제1 행의 제1 열, 제5 열, 제9 열, 제13 열에 대한, 로그 우도비(L(qmj)) 연산이 수행될 수 있다. At this time, as described above, for the
다음, 제2 연산 유닛(340)은, 제1 연산 유닛(330) 보다 1 클럭 이후에, 즉, 제5 클럭에서 제11 클럭까지, 제1 행의 각 열에 대해, 체크 노드의 크기값(Amj), 및 부호(Smj) 연산을 수행할 수 있다.Next, the
한편, 버퍼(370)는, 제1 연산 유닛(330)에서 출력되는 로그 우도비(L(qmj))를 저장하기 위해, 제2 연산 유닛(340)과 동일한 시점에 동작할 수 있다. 즉, 제5 클럭에서 제11 클럭까지, BUF.WE는 '1'값을 가질 수 있으며, 이에 따라, BUF.WA는 제1 행에 대한, 제8 열, 제7 열, 제14 열, 그리고, 제1 열, 제5 열, 제9 열, 제13 열의 각각에 에 대해, 기록(write)할 수 있다. Meanwhile, the
이렇게 하여, 제1 행에 대한, 수학식 5 내지 수학식 7에 대한 연산이 종료될 수 있다.In this way, the operation for
다음, 제2 행에 대한, 수학식 5 내지 수학식 7에 대한 연산을 수행하기 위해, 제9 클럭에서 제16 클럭까지, VNM.RE는 '1'값을 가질 수 있으며, 이에 따라, VNM.RA는 제2 행에 대한, 제1 열, 제2 열, 제5 열, 제6 열, 제9 열, 제11 열, 제14 열, 제15열에 대해, 독출(read)할 수 있다. Next, VNM.RE may have a value of '1' from the ninth clock to the sixteenth clock in order to perform an operation on
이때, 상술한 바와 같이, 제1 행에 대한 데이터 의존성이 없는, 열에 대해, 연산을 먼저 수행하기 위해, 변수 노드 메모리(310)에서 출력되는 순서를 변경할 수 있다.In this case, as described above, the order of outputting from the
제2 행의 제2 열, 제6 열, 제11 열, 제15열이, 제1 행과의 데이터 의존성이 없으므로, 먼저 출력되고, 그 이후, 제1 행과의 데이터 의존성이 있는, 제2 행의 제1 열, 제5 열, 제9 열, 제14 열이 출력되는 것이 가능하다.The second column, the sixth column, the eleventh column, and the fifteenth column of the second row are outputted first because there is no data dependency with the first row, and thereafter, with a second data dependency with the first row. It is possible that the first, fifth, ninth, and fourteenth columns of a row are output.
즉, 변수 노드 메모리(310)가, 제9 클럭에서 제16 클럭까지, 각각 제2 행의 제2 열, 제6 열, 제11 열, 제15열, 그리고, 제1 열, 제5 열, 제9 열, 제14 열에 대한 값을, 순서대로 출력할 수 있다. That is, the
한편, 배럴 시프터(315)는, 변수 노드 메모리(310) 보다 1 클럭 이후에, 즉, 제10 클럭에서 제17 클럭까지, 제2 행의 제2 열, 제6 열, 제11 열, 제15열, 그리고, 제1 열, 제5 열, 제9 열, 제14 열의 각각의 엔트리 값을 출력할 수 있다.On the other hand, the
이때, 상술한 수학식 11과 같이, 역 배럴 시프터가 배치되지 않은 점을 고려하여, 조정된 배럴 시프트 값을 출력하는 것이 가능하다. At this time, it is possible to output the adjusted barrel shift value in consideration of the fact that the inverse barrel shifter is not arranged, as in the above equation (11).
이전 행의 배럴 시프트 값이 존재하지 않는, 제2 행의 제2 열, 제6 열, 제11 열, 제15열은, 각각의 엔트리 값("1', '35', '30', '0')을 그대로 출력할 수 있다.The second, sixth, eleventh, and fifteenth columns of the second row, where the barrel shift values of the previous row do not exist, are the respective entry values ("1", "35", "30", " 0 ') can be printed as is.
한편, 이전 행의 배럴 시프트 값이 존재하는, 제2 행의 제1 열, 제5 열, 제9 열, 제14 열은, 상술한 수학식 11에 따라 조정된 배럴 시프트 값("10', '26', '24', '0')을 각각 출력할 수 있다.On the other hand, the first column, the fifth column, the ninth column, and the fourteenth column of the second row, in which the barrel shift values of the previous row exist, are adjusted by the above-described equation (11). '26', '24', and '0') can be output respectively.
다음, 제1 연산 유닛(330)은, 배럴 시프터(315) 보다 2 클럭 이후에, 즉, 제12 클럭에서 제19 클럭까지, 제2 행의 각 열에 대해 로그 우도비(L(qmj)) 연산을 수행할 수 있다.Next, the
도 10의 제2 영역(1015)은, 제1 연산 유닛(330)에서 제2 행의 제2 열, 제6 열, 제11 열, 제15열, 그리고, 제1 열, 제5 열, 제9 열, 제14 열에 대한, 로그 우도비(L(qmj)) 연산을 수행하는 것을 나타낸다.The
다음, 제2 연산 유닛(340)은, 제1 연산 유닛(330) 보다 1 클럭 이후에, 즉, 제13 클럭에서 제20 클럭까지, 제2 행의 각 열에 대해, 체크 노드의 크기값(Amj), 및 부호(Smj) 연산을 수행할 수 있다.Next, the
한편, 버퍼(370)는, 제1 연산 유닛(330)에서 출력되는 로그 우도비(L(qmj))를 저장하기 위해, 제2 연산 유닛(340)과 동일한 시점에 동작할 수 있다. 즉, 제13 클럭에서 제19 클럭까지, BUF.WE는 '1'값을 가질 수 있으며, 이에 따라, BUF.WA는 제2 행의 제2 열, 제6 열, 제11 열, 제15열, 그리고, 제1 열, 제5 열, 제9 열, 제14 열에 대해, 기록(write)할 수 있다. Meanwhile, the
한편, 버퍼(370)의 제2 행에 대한 기록에 앞서, 즉, 1 클럭 전에, 버퍼(370)로부터 이전에 저장된 제1 행에 대한 로그 우도비(L(qmj))가 출력될 수 있다.Meanwhile, the log likelihood ratio L (q mj ) for the first row previously stored from the
즉, 제12 클럭에서 제18 클럭까지, BUF.RE는 '1'값을 가질 수 있으며, 이에 따라, BUF.RA는 제1 행의 제1 열, 제5 열, 제7 열, 제8 열, 제9 열, 제13 열, 제14 열에 대해, 독출(read)할 수 있다. That is, from the twelfth clock to the eighteenth clock, the BUF.RE may have a value of '1', and accordingly, the BUF.RA is the first column, the fifth column, the seventh column, and the eighth column of the first row. The ninth column, the thirteenth column, and the fourteenth column may be read.
이때, 버퍼(370)에서 제4 연산 유닛(360)으로의 출력 순서는, 제2 행과의 데이터 의존성이 있는 제1 행의 제1 열, 제5 열, 제9 열, 제14 열에 대한 로그 우도비(L(qmj))를 먼저 출력하며, 제2 행과의 데이터 의존성이 없는, 제1 행의 제7 열, 제8 열, 제13 열에 대한 로그 우도비(L(qmj))를 이후에 출력하는 것이 가능하다.At this time, the output order from the
이에 따라, 제4 연산 유닛(360)은, 버퍼(370) 출력 동작 이후, 즉 제13 클럭에서 제19 클럭까지, 제1 행의 각 열에 대해 제1 행의 제1 열, 제5 열, 제7 열, 제8 열, 제9 열, 제13 열, 제14 열에 대한, 변수 노드 갱신값(L(qj))을 연산할 수 있다.Accordingly, the
도 10의 제3 영역(1020)은, 제4 연산 유닛(360)에서 제1 행의 제1 열, 제5 열, 제7 열, 제8 열, 제9 열, 제13 열, 제14 열에 대한, 변수 노드 갱신값(L(qj))을 연산하는 것을 나타낸다.The
이렇게 하여, 도 5(b)와 같이, 제2 행에 대한, 수학식 5 내지 수학식 7에 대한 연산이 수행되면서, 동시에, 제1 행에 대한 수학식 8 내지 수학식 9에 대한 연산이 수행될 수 있다. In this way, as shown in FIG. 5 (b), while the operations on the
이와 유사하게, 그 후, 제2 행(420)에 대한, 수학식 8 내지 9의 연산이 수행되면서, 동시에, 제3 행에 대한, 수학식 5 내지 7의 연산이 수행되는 것을 알 수 있다. 이러한 방식에 의하면, 도 9의 스케줄링 방식에 비해, 적어도 25% 이상의 채널 복호화의 복호 시간을 단축할 수 있게 된다.Similarly, it can then be seen that the operations of Equations 8-9 on the
도 11은 본 발명의 다른 실시예에 따른 채널 복호화 장치를 도시한다. 11 illustrates a channel decoding apparatus according to another embodiment of the present invention.
도면을 참조하면, 도 11의 채널 복호화 장치(1100)는, 도 7의 채널 복호화 장치(700)와 유사하나, 다만, 변수 노드 메모리(310)와 배럴 시프터(315) 사이에, 멀티플렉서(multiplexer)(312)가 더 배치되는 것에 그 차이가 있다.Referring to FIG. 11, the
멀티플렉서(312)는, 제4 연산 유닛(360)에서 연산된 변수 노드 갱신값을 수신하여, 배럴 시프터(315)로 수신된 변수 노드 갱신값을 바로 제공할 수 있다. 이와 같이, 제4 연산 유닛(360)에서 연산된 변수 노드 갱신값을 변수 노드 메모리(310)에 저장하였다가 다시 독출하여 출력하는 과정이 생략되므로, 채널 복호화의 복호 시간을 단축할 수 있게 된다.The
한편, 제4 연산 유닛(360)에서 연산된 변수 노드 갱신값은, 변수 노드 메모리(310)에 저장되는 것도 가능하며, 이러한 경우, 멀티플렉서(312)는, 선택적으로, 변수 노드 메모리(310)에 저장된 변수 노드 갱신값을 출력하던지, 또는 4 연산 유닛(360)에서 직접 수신한 변수 노드 갱신값을 출력할 수도 있다.On the other hand, the variable node update value calculated in the
한편, 도 11의 복호화 장치(1100)는, 역 배럴 시프터(inverse barrel shifter)(365)가 생략되었으므로, 상술한 수학식 11에 따라, 배럴 시프터(315)의 시프터 값이 조정될 수 있다. Meanwhile, since the
한편, 도 11의 복호화 장치(1100)는, 상술한 바와 같이, 저밀도 패리티 검사 행렬 중 각 행에 대한 데이터 연산시, 이전 행과 데이터 의존성이 없는 소정 열(column)에 대해, 다른 열 보다 더 먼저 처리하거나, 다음 행과 데이터 의존성이 있는 소정 열(column)에 대해, 다른 열 보다 더 먼저 처리하는 것도 가능하다.On the other hand, as described above, the
이와 같이, 도 11의 채널 복호화 장치(1100)에 의하면, Wi-Fi (IEEE Std 802.11)에서 iteration 1회에 필요한 clock 수를 88 ~ 110 clock으로 줄일 수 있게 된다. 이는 570 clock 정도의 “latency constraint” 안에 5 ~ 6 회 이상의 iteration을 할 수 있게 됨으로써, LDPC 코드의 성능을 제대로 살릴 수 있게 됨을 의미한다.As described above, according to the
특히, 도 11의 채널 복호화 장치(1100)는, DVB-T2, DVB-C2의 LDPC decoder에도 적용가능하며, 동등한 LDPC decoding 성능 확보, 회로 크기 감소, 전력 소모 감소 등의 효과를 얻을 수 있게 된다. In particular, the
본 발명의 실시예에 따른 채널 복호화 장치는 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.In the channel decoding apparatus according to the embodiment of the present invention, the configuration and method of the embodiments described above may not be limitedly applied, but the embodiments may be modified in whole or in part to enable various modifications. It may alternatively be configured in combination.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention.
Claims (16)
변수 노드값을 저장하는 변수 노드 메모리;
체크 노드 메모리;
상기 변수 노드값과 체크 노드값을 이용하여, 변수 노드에 대한 로그 우도비를 연산하는 제1 연산 유닛;
상기 로그 우도비에 기초하여, 체크 노드의 크기값 및 부호를 연산하는 제2 연산 유닛;
상기 체크 노드의 크기값, 및 부호에 기초하여, 체크 노드 갱신값을 연산하는 제3 연산 유닛; 및
상기 체크 노드 갱신값 및 상기 로그 우도비에 기초하여, 변수 노드 갱신값을 연산하는 제4 연산 유닛;을 구비하고,
저밀도 패리티 검사 행렬 중 제1 행에 대해, 상기 체크 노드 갱신값의 연산 및 상기 변수 노드 갱신값의 연산이 수행되는 동안, 상기 저밀도 패리터 검사 행렬 중 상기 제1 행의 다음 행인 제2 행에 대해, 상기 로그 우도비 연산, 상기 체크 노드의 크기값 및 부호 연산을 수행되는 것을 특징으로 하는 채널 복호화 장치.A channel decoding apparatus for performing a low density parity check,
A variable node memory for storing a variable node value;
Check node memory;
A first calculating unit for calculating a log likelihood ratio for a variable node using the variable node value and the check node value;
A second calculating unit for calculating a magnitude value and a sign of a check node based on the log likelihood ratio;
A third calculating unit for calculating a check node update value based on a magnitude value of the check node and a sign; And
A fourth calculation unit configured to calculate a variable node update value based on the check node update value and the log likelihood ratio,
For the first row of the low density parity check matrix, for the second row that is the next row of the first row of the low density parity check matrix while the operation of the check node update value and the operation of the variable node update value are performed. And a log likelihood ratio operation, a magnitude value of the check node, and a sign operation.
상기 제1 연산 유닛에서 연산된 로그 우도비를 저장하는 버퍼;를 더 구비하는 것을 특징으로 하는 채널 복호화 장치.The method of claim 1,
And a buffer for storing the log likelihood ratio calculated in the first calculation unit.
상기 버퍼는,
상기 제1 연산 유닛이, 상기 제2 행에 대한 로그 우도비를 연산하는 동안, 상기 제4 연산 유닛에, 상기 제1 행에 대한 로그 우도비를 제공하는 것을 특징으로 하는 채널 복호화 장치.3. The method of claim 2,
The buffer is
And while the first calculation unit calculates a log likelihood ratio for the second row, provides the log likelihood ratio for the first row to the fourth calculation unit.
상기 제3 연산 유닛 및 상기 제4 연산 유닛이, 각각, 저밀도 패리티 검사 행렬 중 제1 행에 대해, 상기 체크 노드 갱신값의 연산 및 상기 변수 노드 갱신값의 연산을 수행하는 동안,
상기 제1 연산 유닛과 상기 제2 연산 유닛은, 상기 제2 행에 대해, 각각 로그 우도비 연산, 체크 노드의 크기값 연산, 체크 노드의 부호 연산을 수행하는 것을 특징으로 하는 채널 복호화 장치.The method of claim 1,
While the third computing unit and the fourth computing unit respectively perform the operation of the check node update value and the variable node update value on the first row of the low density parity check matrix,
And the first operation unit and the second operation unit perform a log likelihood ratio operation, a size value operation of a check node, and a sign operation of a check node, on the second row, respectively.
상기 제1 연산 유닛은,
상기 제2 행에 대한 로그 우도비를 연산시, 상기 제1 행과 데이터 의존성이 없는, 상기 제2 행의 소정 열(column)에 대해, 상기 제2 행의 다른 열 보다 더 먼저 처리하는 것을 특징으로 하는 채널 복호화 장치.The method of claim 1,
The first calculation unit,
In calculating a log likelihood ratio for the second row, a predetermined column of the second row, which has no data dependency with the first row, is processed before other columns of the second row. A channel decoding apparatus.
상기 제2 연산 유닛은,
상기 제2 행에 대한 체크 노드의 크기값 및 부호 연산시, 상기 제1 행과 데이터 의존성이 없는, 상기 제2 행의 소정 열(column)에 대해, 상기 제2 행의 다른 열 보다 더 먼저 처리하는 것을 특징으로 하는 채널 복호화 장치.The method of claim 1,
The second calculation unit,
In the calculation of the magnitude and sign of the check node for the second row, processing of a predetermined column of the second row, which has no data dependency with the first row, is performed before other columns of the second row. Channel decoding apparatus characterized in that the.
상기 제3 연산 유닛은,
상기 제1 행에 대한 체크 노드 갱신값 연산시, 상기 제2 행과 데이터 의존성이 있는, 상기 제1 행의 소정 열(column)을, 상기 제1 행의 다른 열 보다 더 먼저 처리하는 것을 특징으로 하는 채널 복호화 장치.The method of claim 1,
The third calculation unit,
In calculating a check node update value for the first row, a predetermined column of the first row, which has a data dependency with the second row, is processed before other columns of the first row. Channel decoding apparatus.
상기 제4 연산 유닛은,
상기 제1 행에 대한 변수 노드 갱신값 연산시, 상기 제2 행과 데이터 의존성이 있는, 상기 제1 행의 소정 열(column)을, 상기 제1 행의 다른 열 보다 더 먼저 처리하는 것을 특징으로 하는 채널 복호화 장치.The method of claim 1,
The fourth calculation unit,
In calculating a variable node update value for the first row, a predetermined column of the first row, which has a data dependency with the second row, is processed before other columns of the first row. Channel decoding apparatus.
상기 제4 연산 유닛에서 연산된 변수 노드 갱신값을 수신하여, 상기 제1 연산 유닛으로 상기 수신된 변수 노드 갱신값을 제공하는 멀티플렉서;를 더 구비하는 것을 특징으로 하는 채널 복호화 장치.The method of claim 1,
And a multiplexer configured to receive the variable node update value calculated in the fourth computing unit and provide the received variable node update value to the first computing unit.
상기 멀티플렉서는,
상기 변수 노드 메모리에 저장된 변수 노드 갱신값을 더 수신하며, 상기 제4 연산 유닛으로부터의 변수 노드 갱신값과, 상기 변수 노드 메모리로부터의 변수 노드 갱신값 중 어느 하나를 상기 제1 연산 유닛으로 제공하는 것을 특징으로 하는 채널 복호화 장치.10. The method of claim 9,
The multiplexer comprising:
Receiving a variable node update value stored in the variable node memory, and providing one of the variable node update value from the fourth computing unit and the variable node update value from the variable node memory to the first computing unit; Channel decoding apparatus, characterized in that.
상기 변수 노드 메모리와 상기 제1 연산 유닛 사이에 배치되어, 상기 변수 노드 메모리에서 출력되는, 변수 노드값이 제1 연산 유닛에서 연산가능하도록 비트 시프트를 수행하는 배럴 시프터;를 더 구비하는 것을 특징으로 하는 채널 복호화 장치.The method of claim 1,
And a barrel shifter disposed between the variable node memory and the first computing unit and performing a bit shift so that the variable node value, which is output from the variable node memory, is operable in the first computing unit. Channel decoding apparatus.
상기 변수 노드 메모리에 상기 제4 연산 유닛에서 연산된 변수 노드 갱신값을 저장하기 위해, 상기 배럴 시프터에서 비트 시프트된 것을 고려하여, 역으로 비트 시프트를 수행하는 역 배럴 시프터;를 더 구비하는 것을 특징으로 하는 채널 복호화 장치.12. The method of claim 11,
And a reverse barrel shifter performing bit shifting in reverse in consideration of the bit shift in the barrel shifter, in order to store the variable node update value calculated in the fourth calculation unit in the variable node memory. A channel decoding apparatus.
상기 배럴 시프터는,
현재 배럴 시프트 값과 이전 행의 배럴 시프트 값과, 저밀도 패리티 검사 행렬의 서브 블록 사이즈에 기초하여, 조정된 배럴 시프트 값을 연산하여, 조정된 배럴 시프트 값에 따라, 비트 시프트를 수행하는 것을 특징으로 하는 채널 복호화 장치.12. The method of claim 11,
The barrel shifter,
Calculate an adjusted barrel shift value based on the current barrel shift value, the barrel shift value of the previous row, and the sub-block size of the low density parity check matrix, and perform a bit shift according to the adjusted barrel shift value. Channel decoding apparatus.
상기 체크 노드 메모리는,
상기 제2 연산 유닛에서 연산된 체크 노드의 크기값 중 제일 작은 값과 그 위치, 그리고 다음 작은 값 및 부호를 저장하는 것을 특징으로 하는 채널 복호화 장치.The method of claim 1,
The check node memory,
And a smallest value among the magnitude values of the check nodes calculated in the second calculation unit, its position, and a next small value and a sign.
상기 체크 노드 메모리에 저장된 체크 노드의 크기값 및 부호를 이용하여, 체크 노드값을 연산하고, 상기 연산된 체크 노드값을 상기 제1 연산 유닛으로 출력하는 제1 리커버리 유닛;을 더 구비하는 것을 특징으로 하는 채널 복호화 장치.15. The method of claim 14,
And a first recovery unit which calculates a check node value using the size value and the sign of the check node stored in the check node memory and outputs the calculated check node value to the first calculation unit. A channel decoding apparatus.
상기 제3 연산 유닛은,
상기 제2 연산 유닛으로부터의 체크 노드의 크기값 및 부호에 기초하여, 정규화를 수행하는 정규화 유닛; 및
상기 정규화된 체크 노드의 크기값 및 부호를 이용하여, 체크 노드값을 연산하고, 상기 연산된 체크 노드값을 상기 제4 연산 유닛으로 출력하는 제2 리커버리 유닛;을 구비하는 것을 특징으로 하는 채널 복호화 장치.The method of claim 1,
The third calculation unit,
A normalization unit that performs normalization based on a magnitude value and a sign of a check node from the second calculation unit; And
And a second recovery unit for calculating a check node value using the normalized check node size and a sign, and outputting the calculated check node value to the fourth calculation unit. Device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120101097A KR20140034579A (en) | 2012-09-12 | 2012-09-12 | Apparatus for channel decoding |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120101097A KR20140034579A (en) | 2012-09-12 | 2012-09-12 | Apparatus for channel decoding |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20140034579A true KR20140034579A (en) | 2014-03-20 |
Family
ID=50644967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120101097A KR20140034579A (en) | 2012-09-12 | 2012-09-12 | Apparatus for channel decoding |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20140034579A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160090101A (en) * | 2015-01-21 | 2016-07-29 | 삼성전자주식회사 | Apparatus and method for performing channel decoding operation based on effective noise in mobile communication system |
-
2012
- 2012-09-12 KR KR1020120101097A patent/KR20140034579A/en not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160090101A (en) * | 2015-01-21 | 2016-07-29 | 삼성전자주식회사 | Apparatus and method for performing channel decoding operation based on effective noise in mobile communication system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8996972B1 (en) | Low-density parity-check decoder | |
KR100958234B1 (en) | Node processors for use in parity check decoders | |
JP6555759B2 (en) | Structured LDPC coding method, decoding method, coding device, and decoding device | |
CN102412847B (en) | Method and apparatus for decoding low density parity check code using united node processing | |
US7127659B2 (en) | Memory efficient LDPC decoding methods and apparatus | |
US8572463B2 (en) | Quasi-cyclic LDPC encoding and decoding for non-integer multiples of circulant size | |
US9461671B1 (en) | Method and apparatus for power conservation in LDPC decoding | |
US10491244B2 (en) | Systems and methods for decoding error correcting codes | |
US20130212451A1 (en) | Reduced complexity non-binary ldpc decoding algorithm | |
US9195536B2 (en) | Error correction decoder and error correction decoding method | |
US8621329B2 (en) | Reconfigurable BCH decoder | |
US20200044668A1 (en) | Method for ldpc decoding, ldpc decoder and storage device | |
US20190103885A1 (en) | Systems and methods for decoding error correcting codes | |
US10833704B1 (en) | Low-density parity check decoder using encoded no-operation instructions | |
JP2014099944A (en) | Methods and apparatus for low-density parity check decoding using hardware sharing and serial sum-product architecture | |
CN113783576A (en) | Method and apparatus for vertical layered decoding of quasi-cyclic low density parity check codes constructed from clusters of cyclic permutation matrices | |
JP5333233B2 (en) | Decoding device, data storage device, data communication system, and decoding method | |
US20170134048A1 (en) | Message-passing based decoding using syndrome information, and related methods | |
WO2010053152A1 (en) | Decoding device, data transmitting device having the decoding device, and data storage device | |
US11108410B1 (en) | User-programmable LDPC decoder | |
KR20140034579A (en) | Apparatus for channel decoding | |
JP5927323B1 (en) | Matrix action device, matrix action method, and program | |
JP5385944B2 (en) | Decoder | |
CN112470405A (en) | Variable node processing method and apparatus for message passing decoding of non-binary codes | |
TWI523437B (en) | Encoding and syndrome computing co-design circuit for bch code and method for deciding the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |