KR20100008849A - 통신 시스템에서 순환중복검사 방법 및 장치 - Google Patents

통신 시스템에서 순환중복검사 방법 및 장치 Download PDF

Info

Publication number
KR20100008849A
KR20100008849A KR1020080069442A KR20080069442A KR20100008849A KR 20100008849 A KR20100008849 A KR 20100008849A KR 1020080069442 A KR1020080069442 A KR 1020080069442A KR 20080069442 A KR20080069442 A KR 20080069442A KR 20100008849 A KR20100008849 A KR 20100008849A
Authority
KR
South Korea
Prior art keywords
crc
segment
segments
generating
message
Prior art date
Application number
KR1020080069442A
Other languages
English (en)
Inventor
곽창현
Original Assignee
삼성전자주식회사
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 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020080069442A priority Critical patent/KR20100008849A/ko
Priority to US12/505,137 priority patent/US20100017692A1/en
Publication of KR20100008849A publication Critical patent/KR20100008849A/ko

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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/091Parallel or block-wise CRC computation
    • 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
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2942Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes wherein a block of parity bits is computed only from combined information bits or only from parity bits, e.g. a second block of parity bits is computed from a first block of parity bits obtained by systematic encoding of a block of information bits, or a block of parity bits is obtained by an XOR combination of sub-blocks of information bits
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/296Particular turbo code structure
    • H03M13/2966Turbo codes concatenated with another code, e.g. an outer block code
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3972Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using sliding window techniques or parallel windows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2739Permutation polynomial interleaver, e.g. quadratic permutation polynomial [QPP] interleaver and quadratic congruence interleaver

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

본 발명은 통신 시스템에서 순환중복검사(CRC: Cyclic Redundancy Check) 수행 방법에 관한 것으로서, 입력 메시지를 소정 개수의 세그먼트로 분리하는 과정과, 분리된 각 세그먼트에 대한 CRC를 수행하여 세그먼트별 CRC를 생성하는 과정과, 상기 생성된 각 세그먼트별 CRC들을 다항식 덧셈하여 상기 입력 메시지에 대한 CRC를 획득하는 과정을 포함하여, CRC부호 및 복호로 인해 지연되는 시간을 단축시킬 수 있다.
CRC, 오류 정정, 오류 정정 부호, 오류 판단 부호

Description

통신 시스템에서 순환중복검사 방법 및 장치{APPARATUS AND METHOD FOR CYCLIC REDUNDANCY CHECK IN COMMUNICATION SYSTEM}
본 발명은 통신 시스템에서 순환중복검사(Cyclic Redundancy Check; 이하 'CRC'라 칭함) 방법 및 장치에 관한 것으로서, 특히 수신 신호를 N개의 세그먼트로 분할하여 CRC를 수행함으로써, 복호 시간을 단축하는 방법 및 장치에 관한 것이다.
일반적으로 통신 시스템의 무선 채널 환경에서는 다중 경로 간섭(multipath interference), 쉐도잉(shadowing), 전파 감쇠, 시변 잡음, 간섭 및 페이딩(fading) 등과 같은 여러 요인들로 인해 불가피한 오류가 발생되어 정보의 손실이 생긴다. 이러한, 정보 손실은 실제 송신 신호에 심한 왜곡을 발생시켜 상기 통신 시스템의 전체 성능을 저하시키는 요인으로 작용한다.
이에 따라, 종래에는 상기 정보의 손실을 감소시키기 위해 채널의 성격에 따른 다양한 에러 제어 기법(error control technique)이 제공되고 있다. 상기 에러 제어 기법 중 기본적인 기법으로는 오류 판단 부호(error detection code)와 오류 정정 부호(error correction code)를 이용하는 기법이 있다. 상기 오류 판단 부호는 송신할 정보에 오류 판단 부호를 추가함으로써, 무선 채널 환경을 거치면서 오류가 발생되는지 여부를 수신기에서 판단할 수 있도록 하는 기법이며, 상기 오류 정정 부호는 오류가 발생된 부분의 정보를 복원할 수 있도록 하는 기법이다.
상기 오류 판단 부호 중에서 가장 널리 사용되고 있는 방식이 순환중복검사(Cyclic Redundancy Check; 이하 'CRC'라 칭함) 방식이다. 상기 CRC는 순환부호(cyclic code) 중의 하나로서 일반적인 순환 부호를 축약(shortened)하여 사용한다.
도 1은 송신할 정보메시지에 CRC를 추가한 후에 부호화된 데이터를 나타내고 있다. 여기서, 상기 CRC를 추가하기 전의 정보메시지 m(x)의 길이를 k라고 하면 상기 m(x)에 대한 메시지다항식은 하기 수학식 1과 같이 나타낼 수 있다.
Figure 112008051352334-PAT00001
상기 수학식 1에서 mk는 정보메시지를 이루는 각 비트를 의미하며, 상기 정보메시지는 mk -1부터 전송이 시작되어 m0이 마지막으로 전송된다.
수학식 2는 순환부호의 생성다항식(generating polynomial)을 나타낸다.
Figure 112008051352334-PAT00002
일반적으로, 상기 순환부호는 상기 수학식 1과 같이 표현되는 메시지다항식을 상기 수학식 2와 같이 표현되는 생성다항식으로 나눌 때 발생하는 나머지다항식을 xr을 곱한 메시지다항식과 더함으로써, 하기 수학식 3과 같은 부호다항식(code polynomial)을 생성한다.
하기 수학식 3은 상기 순화부호화의 방식으로 생성되는 부호다항식을 나타낸다.
Figure 112008051352334-PAT00003
여기서, 상기 Pr -1, ...., P0 가 순환부호화 후에 추가되는 CRC를 의미한다.
도 2는 종래 기술에 따른 직렬 CRC 부호/복호기를 도시하고 있다. 상기 도 2를 참조하면, 상기 직렬 CRC 부호/복호기는 부호화 과정 중 중간값을 저장하는 복수의 레지스터(200, 202,204,208)와 생성다항식 g(x)의 계수에 따라 연결선의 여부를 나타내는 복수의 스위치(210, 212, 214, 218)을 포함함으로써, LFSR(Linear Feedback Shift Register)을 구성한다. 상기 직렬 CRC 부호/복호기는 처음 정보메시지가 입력되면 스위치(230, 240)가 S0과 연결되어 부호/복호화를 수행하고, 정보 메시지의 마지막 m0가 입력되면 상기 스위치(230, 240)가 S1과 연결되어 상기 레지스터(200, 202,204,208)에 저장되어있던 패리티 비트를 출력한다.
상술한 직렬 CRC 부호/복호기는 정보메시지를 한 비트씩 처리함으로써, 부호/복호화 시간이 많이 소요되는 문제점을 가진다. 따라서, 종래에는 상기 지연시간을 감소시키기 위하여 상기 정보메시지를 한 비트씩 처리하지 않고, N개의 비트를 한번에 처리하는 병렬적인 부호/복호화 구조가 제안되었다.
도 3은 종래 기술에 따른 병렬 CRC 부호/복호기를 도시하고 있다. 상기 도 3을 참조하면, 상기 병렬 CRC 부호/복호기는 다음 패러티비트를 생성하기 위한 조합회로망(combinational network)(300)과 매 비트 입력 후의 패러티비트를 저장하는 레지스터(310, 312, 314, 316, 318)를 포함함으로써, 이전 N개 비트의 입력 결과를 저장해 둔 후, 현재 N개 비트의 입력과 저장된 패러티 비트의 조합을 통해 다음 패러티비트를 결정하여 다음 패리티비트를 다시 저장하는 동작을 수행한다.
상술한 병렬 CRC 부호/복호기는 상기 N개의 비트를 한번에 처리하여 부호/복호화 시간을 n/N으로 감소시킬 수 있으나, 상기 입력되는 정보메시지를 N개의 비트씩 순차적으로 처리해야하는 문제점을 여전히 갖고 있다.
따라서, 상기 정보 메시지를 순차적으로 처리해야 하는 CRC 기법의 한계를 극복하기 위한 CRC 기법이 제공될 필요가 있다.
본 발명은 상술한 바와 같은 문제점을 해결하기 위해 도출된 것으로서, 본 발명의 목적은 통신 시스템에서 순환중복검사(Cyclic Redundancy Check) 방법 및 장치를 제공함에 있다.
본 발명의 다른 목적은 통신 시스템에서 순환중복검사 부호 및 복호로 인한 지연 시간을 감소시켜 데이터 처리율을 향상시키기 위한 방법 및 장치를 제공함에 있다.
본 발명의 또 다른 목적은 통신 시스템에서 수신 신호를 N개의 세그먼트로 분할하여 순환중복검사(CRC)를 수행함으로써 CRC로 인한 지연 시간을 단축시키기 위한 방법 및 장치를 제공함에 있다.
상술한 목적들을 달성하기 위한 본 발명의 제 1 견지에 따르면, 통신 시스템에서 순환중복검사(CRC: Cyclic Redundancy Check) 수행 방법은, 입력 메시지를 소정 개수의 세그먼트로 분리하는 과정과, 분리된 각 세그먼트에 대한 CRC를 수행하여 세그먼트별 CRC를 생성하는 과정과, 상기 생성된 각 세그먼트별 CRC들을 다항식 덧셈하여 상기 입력 메시지에 대한 CRC를 획득하는 과정을 포함하는 것을 특징으로 한다.
상술한 목적들을 달성하기 위한 본 발명의 제 2 견지에 따르면, 통신 시스템 에서 순환중복검사(CRC: Cyclic Redundancy Check) 수행 장치는, 입력 메시지를 소정 개수의 세그먼트로 분리하는 세그먼트화부와, 분리된 각 세그먼트에 대한 CRC를 생성하는 세그먼트별 CRC 생성부와, 상기 생성된 각 세그먼트의 CRC들을 다항식 덧셈하여 상기 입력 메시지에 대한 CRC를 획득하는 GF(Galois Field) 가산기를 포함하는 것을 특징으로 한다.
본 발명은 통신 시스템에서 입력 신호를 N개의 세그먼트로 분할하여 순환중복검사를 수행하여 CRC부호 및 복호로 인해 지연되는 시간을 단축시킬 수 있으며, 상기 CRC부호 및 복호에 사용되는 CRC 검사기와 GF 곱셈기 및 GF 가산기는 쉬프트레지스터와 논리게이트를 이용함으로써, 적은 하드웨어로 구현 가능한 효과가 있다.
이하 본 발명의 바람직한 실시 예를 첨부된 도면을 참조하여 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다.
이하 본 발명에서는 통신 시스템에서 입력되는 메시지를 N개의 세그먼트로 분할하여 순환중복검사를 수행하기 위한 방법 및 장치에 관해 설명할 것이다.
먼저, 전송할 정보메시지를 M개의 세그먼트로 나눈 후, 각 세그먼트의 길이를 Mi라고 가정하면, 상기 수학식 1과 같은 메시지다항식 m(x)를 하기 수학식 4와 같이 나타낼 수 있다.
Figure 112008051352334-PAT00004
여기서, mi(x)는 메시지다항식 m(x)를 이루는 서브메시지다항식, 즉, M개의 세그먼트로 나누어진 정보메시지 각각의 메시지다항식을 나타낸다.
상기 수학식 1과 수학식 4를 비교하여 살펴보면, 상기 m(x)는 차수가 k인 다항식인 반면, mi(x)는 차수가 Mi이며, 이때
Figure 112008051352334-PAT00005
인 관계를 가진다. 즉, 고차의 메시지다항식 m(x)는 저 차수의 메시지다항식 mi(x)와 쉬프트(shift) 인자의 곱을 합한 형태로 나타낼 수 있다.
수학식 5는 RNS(residue mnumber system)의 기본 항등식을 나타낸다.
Figure 112008051352334-PAT00006
상기 수학식 5를 살펴보면, X1 + ...+Xk에 대한 모듈로(modulo) 연산 결과는 X1부터 Xk 각각을 모듈로 연산한 결과를 합한 후, 합한 결과를 다시 모듈로 연산한 결과와 동일함을 알 수 있다.
본 발명에서는 상기 RNS에서 만족하는 수학식 5를 갈루아 필드(GF: Galois Field)로 확장하여 사용한다. 즉, 상기 GF상에서 CRC를 구하는 과정은 메시지다항식을 생성다항식으로 나누었을 때의 나머지를 구하는 방법과 유사하므로, 상기 RNS의 모듈로(Modulo) 연산을 나타내는 상기 수학식 5를 다항식으로 확장하여 상기 수학식 4에 적용함으로써, 하기 수학식 6을 획득한다.
Figure 112008051352334-PAT00007
상기 수학식 6은 메시지다항식 m(x)의 CRC는 M개로 분리된 서브메시지다항식 mi(x)의 각 CRC를 합한 것과 동일함을 나타낸다.
한편, 도 4에 도시된 바와 같이, 전체 길이가 k인 전송할 정보메시지를 4개의 세그먼트 즉, 서브메시지로 분리하고, 각각의 서브메시지의 길이 Mi는 k/4로 모두 동일하다고 가정하면, 상기 수학식 4의 메시지다항식은 하기 수학식 7과 같이 나타낼 수 있다.
Figure 112008051352334-PAT00008
그러면, 상기 수학식 7과 같이 나타낸 메시지다항식 m(x)와 각 서브메시지다항식 mi(x)에 상기 수학식 6과 같은 관계를 적용하면 도 5에 도시된 바와 같이 CRC를 구할 수 있다. 즉, 상기 도 5를 참조하여 살펴보면, 각각의 서브메시지(501, 503, 505, 507)에 x의 멱수가 곱해진 것에 해당하는 '0'을 추가(511, 513, 515)하여 각각에 대해 CRC 부호화를 수행한 후, 그 결과로 생성되는 CRC를 GF(2)가산기로 더함으로써, 원래 전송할 정보메시지 m(x)에 대한 CRC와 동일한 결과를 획득할 수 있다.
상술한 바와 같이, 본 발명에서는 전송할 정보메시지를 M개의 서브메시지로 분리한 후, 각각에 대해 CRC를 구한 후 합함으로써, 원래 전송할 정보메시지의 CRC를 구하는 기법을 제시하였다.
하지만, 상기와 같은 기법을 이용할 경우, 각각의 서브메시지에 '0'을 추가함으로써 종래에 제공된 병렬 CRC 부호/복호기의 지연시간과 동일한 지연시간을 갖게 된다.
따라서, 이하 본 발명에서는 하기 수학식 8에 나타낸 바와 같은 항등식을 바탕으로 원래의 정보메시지와 서브메시지의 CRC에 관해 새로운 관계를 구하여 CRC 부호/복호로 인한 지연시간을 감소시킬 것이다.
하기 수학식 8은 RNS의 다른 항등식을 나타낸다.
Figure 112008051352334-PAT00009
상기 수학식 8을 살펴보면, X1× ...×Xk에 대한 모듈로(modulo) 연산 결과는 X1부터 Xk 각각을 모듈로 연산한 결과를 곱한 후, 곱한 결과를 다시 모듈로 연산한 결과와 동일함을 알 수 있다.
상기 수학식 8을 다항식으로 확장하여 상기 수학식 6에 적용하면, 하기 수학식 9를 획득할 수 있다.
Figure 112008051352334-PAT00010
상기 수학식 9는 인수다항식의 곱으로 나타낼 수 있는 메시지다항식 m(x)의 CRC는 인수다항식의 CRC의 곱에 대해 다시 CRC를 구한 결과와 동일함을 나타낸다.
여기서, 상기 수학식 9를 상기 수학식 7에 적용하면, 하기 수학식 10을 획득할 수 있다.
Figure 112008051352334-PAT00011
상기 수학식 10에서 C[·]함수는 CRC 부호화를 나타내며, 곱셈과 덧셈은 GF 다항식 곱셈(Polynomial multiplication)과 GF 다항식 덧셈(Polynomial addition)을 나타낸다.
도 6은 상기 수학식 10을 바탕으로 전송할 정보메시지 m(x)의 CRC를 구하는 기법을 나타내고 있다. 상기 도 6을 참조하면, 전송할 정보메시지를 4 개로 분리하여 얻은 서브메시지 mi(x)(601, 603, 605, 607)의 CRC(611, 613, 615, 617)와 x의 멱수의 곱으로 표현되는 쉬프트 인자(621, 623, 625)의 CRC(631, 633, 635)를 GF 곱셈기(641, 643, 645)로 곱한다. 여기서, 상기 GF 곱셈기의 결과는 생성다항식 g(x)보다 차수가 높기 때문에 상기 곱셈 결과에 한번 더 CRC부호화를 수행하여 그 결과 CRC(651, 653, 655)를 GF 가산기(661)로 합하여 최종적인 CRC를 획득한다. 이때, 최종적인 CRC가 상기 전송할 정보메시지의 CRC가 된다.
여기서, 상술한 바와 같이 정보메시지를 N 개의 세그먼트로 분할한 후, 분할된 세그먼트 각각에 대해 CRC를 구하여 전체의 CRC를 구함으로써, k/M + 2M 의 클럭이 필요하게 된다.
그러면, 이하에서는 상술한 설명을 바탕으로 CRC 복호를 수행하는 기법에 대해 살펴보기로 한다. 이하에서는, LTE(Long Term Evolution)의 DL-SCH(Downlink Shared Channel)의 복호기를 예로 들어 설명하지만, 상술한 CRC 부호 및 복호 기법은 다른 방식의 통신시스템에서도 적용가능하다.
도 7은 본 발명의 실시 예에 따른 통신 시스템에서 CRC 복호기의 블록 구성을 도시하고 있다.
상기 도 7을 참조하면, CRC 복호기는 입력 세그먼트화기(701), 터보 복호기(703), N개의 제 1 CRC 검사기(705, 715, 725, 735), N개의 쉬프트 인자 생성기(707, 717, 727, 737), N개의 GF 곱셈기(709, 719, 729, 739), N개의 제 2 CRC 검사기(751, 753, 755, 757), GF 가산기(759)를 포함하여 구성된다.
먼저, 상기 입력 세그먼트화기(701)는 입력되는 로그우도율(LLR: Log Likelihood Ratio)을 N개의 세그먼트로 나누어 상기 터보 복호기(703)로 제공한다.
상기 터보 복호기(703)는 N개의 터보 복호기#(713, 715, 717, 719)로 구성되며, 각각의 터보 복호기#(713, 715, 717, 719)는 상기 입력 세그먼트화기(701)로부 터 제공되는 N개의 세그먼트 각각에 대해 터보 복호를 수행하여 상기 N개의 제 1 CRC 검사기(705, 715, 725, 735)로 출력한다. 즉, 상기 LTE DL-SCH의 터보 복호기는 고속의 정보 전송률을 지원하기 위해 QPP(Quadrature polynomial Permutation)인터리버를 사용함으로써, 코드 블럭(code block)을 나누어 복호할 수 있다.
상기 N개의 제 1 CRC 검사기(705, 715, 725, 735)는 상기 각각의 터보 복호기#(713, 715, 717, 719)로부터 터보복호된 세그먼트를 제공받아 CRC 검사를 수행한다.
상기 N개의 쉬프트 인자 생성기(707, 717, 727, 737)는 수학식 9에 나타낸 바와 같은 쉬프트 인자에 대해 CRC 검사를 수행한다. 이때, 상기 쉬프트 인자의 CRC는 입력 메시지의 내용에 관계없이 상기 분리된 세그먼트의 길이를 알면 미리 구할 수 있다. 즉, 상기 쉬프트 인자 생성기(707, 717, 727, 737) 는 기 저장된 테이블에서 해당 세그먼트의 길이에 대응되는 CRC를 검사하여 해당 쉬프트 인자의 CRC를 구할 수 있다.
상기 N개의 GF 곱셈기(709, 719, 729, 739)는 상기 제 1 CRC검사기(705, 715, 725, 735) 각각에서 획득한 각 세그먼트의 CRC 결과와 상기 쉬프트 인자 생성기(707, 717, 727, 737) 각각에서 획득한 쉬프트 인자의 CRC에 대해 다항식 곱셈을 수행한다.
상기 N개의 제 2 CRC 검사기(751, 753, 755, 757)는 상기 N개의 GF 곱셈기(709, 719, 729, 739) 각각으로부터 제공되는 다항식 곱셈 결과에 대해 다시 CRC 검사를 수행한다.
상기 GF 가산기(759)는 상기 N개의 제 2 CRC 검사기(751, 753, 755, 757) 각각에서 획득한 N개의 CRC에 대해 다항식 덧셈을 수행하여 최종적인 CRC를 획득한다.
도 8은 본 발명의 실시 예에 따른 통신 시스템에서 CRC 복호 수행 절차를 도시하고 있다.
상기 도 8을 참조하면, CRC복호기는 801단계에서 입력되는 로그우도율(LLR: Log Likelihood Ratio)을 N개의 세그먼트로 분리한 후, 803단계로 진행하여 상기 분리된 각각의 세그먼트에 대해 터보복호를 수행한다.
이후, 상기 CRC복호기는 805단계에서 세그먼트별로 터보복호된 각 비트에 대해 CRC 검사를 수행하고, 각 세그먼트에 대한 쉬프트 인자에 대해 CRC 검사를 수행한다. 여기서, 상기 CRC복호기는 입력 메시지의 내용에 관계없이 상기 분리된 세그먼트의 길이를 알면 상기 쉬프트 인자에 대한 CRC를 미리 구할 수 있다.
이후, 상기 CRC복호기는 807단계에서 GF 곱셈기를 이용하여 각 세그먼트에 대한 CRC와 쉬프트 인자의 CRC에 대해 다항식 곱셈을 수행한 후, 809단계로 진행하여 각 세그먼트별 곱셈 결과에 대해 다시 CRC를 수행한다.
이후, 상기 CRC 복호기는 811단계에서 상기 세그먼트별 곱셈 결과에 대해 다시 CRC 수행하여 획득한 결과를 GF 가산기를 통해 다항식 덧셈을 수행하여 최종적인 CRC를 획득한다. 이후 상기 CRC복호기는 본 발명에 따른 알고리즘을 종료한다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
도 1은 송신할 정보메시지에 CRC를 추가한 후에 부호화된 데이터를 나타내는 도면,
도 2는 종래 기술에 따른 직렬 CRC 부호/복호기를 도시하는 도면,
도 3은 종래 기술에 따른 병렬 CRC 부호/복호기를 도시하는 도면,
도 4는 본 발명의 실시 예에 따라 4개의 세그먼트로 분리된 정보메시지를 도시하는 도면,
도 5는 본 발명의 실시 예에 따라 분리된 세그먼트를 이용하여 전체 정보메시지의 CRC를 생성하는 기법을 도시하는 도면,
도 6은 본 발명의 다른 실시 예에 따라 분리된 세그먼트를 이용하여 전체 정보메시지의 CRC를 생성하는 기법을 도시하는 도면,
도 7은 본 발명의 실시 예에 따른 통신 시스템에서 CRC 복호기의 블록 구성을 도시하는 도면, 및
도 8은 본 발명의 실시 예에 따른 통신 시스템에서 CRC 복호 수행 절차를 도시하는 도면.

Claims (8)

  1. 통신 시스템에서 순환중복검사(CRC: Cyclic Redundancy Check) 수행 방법에 있어서,
    입력 메시지를 소정 개수의 세그먼트로 분리하는 과정과,
    분리된 각 세그먼트에 대한 CRC를 수행하여 세그먼트별 CRC를 생성하는 과정과,
    상기 생성된 각 세그먼트별 CRC들을 다항식 덧셈하여 상기 입력 메시지에 대한 CRC를 획득하는 과정을 포함하는 것을 특징으로 하는 방법.
  2. 제 1항에 있어서,
    상기 세그먼트별 CRC를 생성하는 과정은,
    상기 분리된 각 세그먼트에 대한 CRC를 생성하는 과정과,
    상기 각 세그먼트의 길이를 통해 결정된 쉬프트 인자에 대한 CRC를 생성하는 과정과,
    상기 각 세그먼트에 대한 CRC와 해당 쉬프트 인자에 대한 CRC를 각각 다항식 곱셈하는 과정과,
    다항식 곱셈 결과 각각에 대한 CRC를 생성하는 과정을 포함하는 것을 특징으로 하는 방법.
  3. 제 1항에 있어서,
    상기 분리된 각 세그먼트를 상기 소정 개수의 터보복호기로 터보복호하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  4. 제 1항에 있어서,
    상기 입력 메시지에 대한 CRC는 하기 수학식 11과 같이 나타내는 것을 특징으로 하는 방법.
    Figure 112008051352334-PAT00012
    상기 m(x)는 입력 메시지를 나타내며, mi(x)는 상기 분리된 각 세그먼트를 나타내며, x(·)는 상기 각 세그먼트에 대한 쉬프트 인자를 나타내고, 상기 M은 상기 분리된 세그먼트의 수를 나타냄.
  5. 통신 시스템에서 순환중복검사(CRC: Cyclic Redundancy Check) 수행 장치에 있어서,
    입력 메시지를 소정 개수의 세그먼트로 분리하는 세그먼트화부와,
    분리된 각 세그먼트에 대한 CRC를 생성하는 세그먼트별 CRC 생성부와,
    상기 생성된 각 세그먼트의 CRC들을 다항식 덧셈하여 상기 입력 메시지에 대한 CRC를 획득하는 GF(Galois Field) 가산기를 포함하는 것을 특징으로 하는 장치.
  6. 제 5항에 있어서,
    상기 세그먼트별 CRC 생성부는,
    상기 분리된 각 세그먼트에 대한 CRC를 생성하는 N개의 제 1 CRC부와,
    상기 각 세그먼트의 길이를 통해 결정된 쉬프트 인자에 대한 CRC를 생성하는 N개의 쉬프트 인자 생성부와,
    상기 각 세그먼트에 대한 CRC와 해당 쉬프트 인자에 대한 CRC를 각각 다항식 곱셈하는 N개의 GF 곱셈기와,
    다항식 곱셈 결과 각각에 대한 CRC를 생성하는 N개의 제 2 CRC부를 포함하는 것을 특징으로 하는 장치.
  7. 제 5항에 있어서,
    상기 분리된 각 세그먼트를 터보복호하는 N개의의 터보복호기를 더 포함하는 것을 특징으로 하는 장치.
  8. 제 5항에 있어서,
    상기 입력 메시지에 대한 CRC는 하기 수학식 12와 같이 나타내는 것을 특징으로 하는 장치.
    Figure 112008051352334-PAT00013
    상기 m(x)는 입력 메시지를 나타내며, mi(x)는 상기 분리된 각 세그먼트를 나타내며, x(·)는 상기 각 세그먼트에 대한 쉬프트 인자를 나타내고, 상기 M은 상기 분리된 세그먼트의 수를 나타냄.
KR1020080069442A 2008-07-17 2008-07-17 통신 시스템에서 순환중복검사 방법 및 장치 KR20100008849A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080069442A KR20100008849A (ko) 2008-07-17 2008-07-17 통신 시스템에서 순환중복검사 방법 및 장치
US12/505,137 US20100017692A1 (en) 2008-07-17 2009-07-17 Method and apparatus for cyclic redundancy check in communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080069442A KR20100008849A (ko) 2008-07-17 2008-07-17 통신 시스템에서 순환중복검사 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20100008849A true KR20100008849A (ko) 2010-01-27

Family

ID=41531341

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080069442A KR20100008849A (ko) 2008-07-17 2008-07-17 통신 시스템에서 순환중복검사 방법 및 장치

Country Status (2)

Country Link
US (1) US20100017692A1 (ko)
KR (1) KR20100008849A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8539305B2 (en) 2011-02-28 2013-09-17 SK Hynix Inc. Semiconductor apparatus and data processing method

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010134197A1 (ja) * 2009-05-22 2010-11-25 株式会社 東芝 乱数生成回路およびこれを用いた暗号回路
CN104796162B (zh) * 2015-04-09 2017-10-24 深圳市三朋电子有限公司 Turbo码译码停止迭代准则判断系统、方法及装置
CN106888072B (zh) * 2017-03-24 2020-02-21 宇龙计算机通信科技(深圳)有限公司 数据传输方法及装置
US10877842B2 (en) * 2017-09-08 2020-12-29 Intel Corporation Detecting silent data corruption for mass storage devices
CN112019485A (zh) * 2019-05-31 2020-12-01 华为技术有限公司 一种报文的生成、校验方法及装置
KR20210128240A (ko) * 2020-04-16 2021-10-26 에스케이하이닉스 주식회사 컨트롤러 및 이의 동작 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7174498B2 (en) * 2002-02-15 2007-02-06 Intel Corporation Obtaining cyclic redundancy code
US6904558B2 (en) * 2002-02-22 2005-06-07 Agilent Technologies, Inc. Methods for computing the CRC of a message from the incremental CRCs of composite sub-messages
WO2003090362A1 (fr) * 2002-04-22 2003-10-30 Fujitsu Limited Codeur et decodeur de detection d'erreur, et diviseur
JP4321394B2 (ja) * 2004-07-21 2009-08-26 富士通株式会社 符号化装置、復号装置
TWI341096B (en) * 2007-04-03 2011-04-21 Ind Tech Res Inst Method and system for calculating crc
US8689078B2 (en) * 2007-07-13 2014-04-01 Intel Corporation Determining a message residue
KR100928261B1 (ko) * 2007-09-08 2009-11-24 엘지전자 주식회사 비검출 오류 저감을 위한 신호 분할 및 crc 부착 방법
US8261175B2 (en) * 2008-11-14 2012-09-04 Intel Mobile Communications GmbH Method and apparatus for performing a CRC check

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8539305B2 (en) 2011-02-28 2013-09-17 SK Hynix Inc. Semiconductor apparatus and data processing method

Also Published As

Publication number Publication date
US20100017692A1 (en) 2010-01-21

Similar Documents

Publication Publication Date Title
US10536171B2 (en) Encoding/decoding method, device, and system
US9602132B2 (en) Transmitter, encoding apparatus, receiver, and decoding apparatus
US11171741B2 (en) Polar code transmission method and apparatus
US7246294B2 (en) Method for iterative hard-decision forward error correction decoding
US20200195377A1 (en) Forward error correction with compression coding
EP3602794B1 (en) Check bit concatenated polar codes
EP3539237B1 (en) Error detection in communication systems using polar coded data transmission
WO2017121334A1 (zh) 一种数据处理的方法和装置
KR20100008849A (ko) 통신 시스템에서 순환중복검사 방법 및 장치
KR20040036460A (ko) Ldpc 복호화 장치 및 그 방법
KR20040101743A (ko) 통신 시스템에서 저밀도 패리티 검사 코드의 복호 장치 및방법
US20180262216A1 (en) Method and apparatus for transmitting hamming weight and codeword
Murata et al. On design of CRC codes for polar codes with successive cancellation list decoding
US8321768B2 (en) Method and system for calculating CRC
EP3713096B1 (en) Method and device for decoding staircase code, and storage medium
JP2022502963A (ja) Polar符号の構築のための方法および装置
CN109644006B (zh) 编码数据和解码数据的装置及方法
JP6472790B2 (ja) 共通ハードウェアリソースを共用する、異なる低密度パリティ検査(ldpc)符号のための低密度パリティ検査の符号化
TW201214982A (en) SISO decoder of (n, k) block code
KR20030036660A (ko) 비트 스트림을 인코딩하는 인코더 및 방법, 및 비트스트림을 디코딩하는 디코더 및 방법
KR102111678B1 (ko) 인터리버를 이용한 극 부호 장치, 극 부호의 반복 복호 장치 및 이를 이용한 부호 방법과 복호 방법
US6986097B1 (en) Method and apparatus for generating parity bits in a forward error correction (FEC) system
JP4202161B2 (ja) 符号化装置および復号装置
KR20140092834A (ko) 에러 정정 코딩 및 디코딩
Bhoyar Design of encoder and decoder for Golay code

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid