KR20040059343A - Modular computation apparatus of mobile communication system - Google Patents

Modular computation apparatus of mobile communication system Download PDF

Info

Publication number
KR20040059343A
KR20040059343A KR1020020085957A KR20020085957A KR20040059343A KR 20040059343 A KR20040059343 A KR 20040059343A KR 1020020085957 A KR1020020085957 A KR 1020020085957A KR 20020085957 A KR20020085957 A KR 20020085957A KR 20040059343 A KR20040059343 A KR 20040059343A
Authority
KR
South Korea
Prior art keywords
modular
mux
output
variable
modular operation
Prior art date
Application number
KR1020020085957A
Other languages
Korean (ko)
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 KR1020020085957A priority Critical patent/KR20040059343A/en
Publication of KR20040059343A publication Critical patent/KR20040059343A/en

Links

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/727Modulo N arithmetic, with N being either (2**n)-1,2**n or (2**n)+1, e.g. mod 3, mod 4 or mod 5
    • 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/6502Reduction of hardware complexity or efficient processing

Abstract

PURPOSE: A modular operation unit of a mobile communication system is provided to process rapidly a modular operation by using an initial modular operation value in the modular operation process. CONSTITUTION: A first modular operation unit(100) is formed with a plurality of operators to output modular operation output signals and MUX control signals. A first MUX(200) is used for selecting the modular operation output signals by the MUX control signals of the first modular operation unit. A register(300) is used for storing output signals of the first MUX or output signals of a second MUX(500). An adder(600) is used for adding the stored value of the register to a row variable value of an interleaver. A second modular operation unit(400) is formed with a plurality of operators to output modular operation output signals and MUX control signals. The second MUX is used for selecting the modular operation output signals by the MUX control signals of the second modular operation unit.

Description

이동통신시스템의 모듈러 연산장치{MODULAR COMPUTATION APPARATUS OF MOBILE COMMUNICATION SYSTEM}MODULAR COMPUTATION APPARATUS OF MOBILE COMMUNICATION SYSTEM}

본 발명은 이동통신시스템의 인터리버에 관한 것으로, 특히 터보 인코더의의 인코딩 처리 속도를 실시간으로 처리하도록 한 이동통신시스템의 모듈러 연산장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an interleaver in a mobile communication system, and more particularly, to a modular computing device for a mobile communication system which processes the encoding processing speed of a turbo encoder in real time.

일반적으로 터보 코드는 두 개의 순환 계통적 중첩 코드(RSC code; Recursive Systematic Convolutional Code)가 인터리버(Interleaver)를 통하여 병렬적으로 연결되어 생성된 부호로써, 차세대 이동 통신 규격에서 고전송률의 데이터를 전송하기 위한 코딩 방식으로 이용되고 있다.In general, a turbo code is a code generated by connecting two Recursive Systematic Convolutional Codes (RSC codes) in parallel through an interleaver, and used to transmit high data rates in a next generation mobile communication standard. It is used as a coding scheme.

이러한 터보 코드는 생성된 정보 비트열에 대하여 블록 단위로 처리하고 있는데, 특히 큰 정보 비트열을 인코딩하는 경우 컨벌루션 부호에 대하여 매우 우수한 코딩이득을 가지고 있으며, 간단한 성분코드에 대한 디코딩을 반복적으로 행함으로써 약 0.7dB에서 비트 에러율이 10-5에 도달하는 오류 정정 능력을 가지는 것으로 알려져 있다.These turbo codes are processed in block units for the generated information bit streams. In particular, when encoding a large information bit stream, the turbo code has a very good coding gain for the convolutional code. It is known to have an error correction capability at which the bit error rate reaches 10 -5 at 0.7 dB.

그러나, 생성된 정보 비트열에 대한 블록 단위가 통신 시스템에서 요구되는 블록 길이보다 작은 경우에는 잉여 비트가 삽입되어 채널 코딩되어야 하는데, 이때에는 같은 정도의 복잡도를 갖는 컨벌루션 코드(Convolutional Code) 방식을 이용한 코딩 방식에 비해서 그 성능이 상대적으로 저하됨을 보여준다.However, when the block unit for the generated information bit stream is smaller than the block length required by the communication system, the redundant bits should be inserted and channel coded. In this case, coding using a convolutional code method having the same complexity The performance is relatively slow compared to the method.

따라서, 종래에는 작은 크기의 블록에 대해서는 컨벌루션 부호를 적용하고 큰 크기의 블록에 대해서는 터보 코드를 적용하는 것이 성능측면에서 합리적이지만, 차세대 이동 통신 규격에서는 컨벌루션 부호 뿐 아니라 터보 코드에 관해서도 작은 크기의 블록에 대한 정의를 요구하고 있다.Therefore, while conventionally, convolutional codes are applied to small blocks and turbo codes are applied to large blocks, it is reasonable in terms of performance. However, in the next-generation mobile communication standard, smaller blocks are used not only for convolutional codes but also for turbo codes. It requires a definition of

따라서, 종래 차세대 이동 통신 규정에서는 인코딩되는 최소 블록의 크기를 정하여 그 크기보다 작은 정보 블록의 인코딩은 0으로 채워 인코딩하는 형태를 취한다.Therefore, in the conventional next generation mobile communication rule, the size of the minimum block to be encoded is determined, and the encoding of the information block smaller than the size is filled with 0 and encoded.

도 1은 일반적인 터보 인코더의 구조를 나타낸 도면이다.1 is a view showing the structure of a general turbo encoder.

도 1을 참고하면, 터보 코드의 부호기인 병렬 결합 터보 부호기(Parallel Concatenated Turbo Encoder)는 병렬로 연결된 두 개의 구성 부호기들(Constituent Encoders)(10,11)과 그 사이에 삽입된 인터리버(Interleaver)(12)로 구성되어 있다.Referring to FIG. 1, a parallel concatenated turbo encoder, which is an encoder of a turbo code, includes two constituent encoders 10 and 11 connected in parallel and an interleaver inserted therebetween ( 12).

상기 제1 구성 부호기(10)는 정보 비트(zk)에 대한 패리티 비트(y0k)가 삽입되며, 제2 구성 부호기(11)에서는 인터리빙된 정보 비트(zk')에 대한 오류검출 비트 (y1k')가 삽입된다.In the first component encoder 10, a parity bit (y 0k ) is inserted into the information bit (z k ), and in the second component encoder (11), an error detection bit (for the interleaved information bit (z k ') y 1k ') is inserted.

이와 같은 종래 기술에 따른 병렬 결합 터보 부호기는 정보 비트와 오류검출 비트를 (zky0ky1k')의 순서로 출력한다.The parallel coupled turbo encoder according to the related art outputs the information bits and the error detection bits in the order of (z k y 0k y 1k ').

그러므로, 원래의 정보 비트열이 다음 {x1,x2,x3,..,xk,...,xN}과 같이 N개의 비트열로 이루어지고, 이 정보 비트열의 개수는 차세대 통신 시스템에서 요구하는 최소 블록의 크기보다 작은 크기를 갖는다고 할 때, 종래 기술에서는 먼저 상기 정보 비트열들이 {z1=x1, z2=x2,z3=x3,...,zN=xN,zN+1=0,zN+2=0,...,zNL-1=0zNL=0}이 되는 비트열들로 변환하고, 이 이후에 {z1, z2,z3,..., zNL}을 터보 인코딩하는 방식을 이용하고 있다.Therefore, the original information bit string is composed of N bit strings such as {x 1 , x 2 , x 3 , .., x k , ..., x N }, and the number of information bit strings is the next generation communication. In the prior art, the information bit streams are first described by {z 1 = x 1 , z 2 = x 2 , z 3 = x 3 , ..., z. N = x N , z N + 1 = 0, z N + 2 = 0, ..., z NL-1 = 0z NL = 0} and converts into bit strings followed by {z 1 , z 2 , z 3 , ..., z NL } is turbo encoded.

그리고, 도 1과 같은 1/3 코딩 레이트를 갖는 구성 부호기를 이용할 경우에 상기 {z1, z2,z3,..., zNL}로 변환시켜 터보 인코딩하면 발생하는 코딩 비트열은 다음과 같다.In the case of using a component coder having a 1/3 coding rate as shown in FIG. 1, the coding bit string generated by converting to {z 1 , z 2 , z 3 ,..., Z NL } and performing turbo encoding is as follows. Same as

시스테메틱비트열={z1,z2,z3,..,zk,..,zN,zN+1,....zNL,zT1,zT2,zT3,zT1',zT2',zT3' }Cystetic bit string = {z 1 , z 2 , z 3 , .., z k , .., z N , z N + 1 , .... z NL , z T1 , z T2 , z T3 , z T1 ' , z T2 ' , z T3 '}

제1 패리티 비트열={y01,y02,y03,.,y0k,...,y0N, y0(N+1),y0(N+2),....,y0NL,y0T1,y0T2,y0T3}First parity bit string = (y 01 , y 02 , y 03 ,., Y 0k , ..., y 0N , y 0 (N + 1) , y 0 (N + 2) , ...., y 0NL, y 0T1 , y 0T2 , y 0T3 }

제2 패리티 비트열={y11',y12',y13',..y1k'..,y1N', y1(N+1)',y1(N+2)',....,y1NL', y1T1',y1T2',y1T3'}Second parity bit string = {y 11 ', y 12 ', y 13 ', .. y 1k ' .., y 1N ', y 1 (N + 1) ', y 1 (N + 2) ',. ..., y 1NL ', y 1T1 ', y 1T2 ', y 1T3 '}

상기 {zN+1,....zNL}은 정보 비트열에 대해 0비트가 잉여 삽입된 비트이고, 상기 {yN+1,yN+2,....,yNL}과, 상기 {y1(N+1)',y1(N+2)',....,y1NL'}의 부분은 정보 비트열에서 최소 블록 사이즈의 크기를 맞추기 위해서 0의 값이 삽입된 부분이 인코딩 과정에서 제1 패리티 비트열과, 제2 패리티 비트열에서 각각 일정한 주기를 갖고 반복적인 비트 패턴으로 출력되는 부분이고, 상기 {zT1,zT2,zT3,zT1',zT2',zT3'}부분과 상기 { y0T1,y0T2,y0T3} 부분과 {y1T1',y1T2',y1T3' }은 터미네이션 비트들을 의미한다.The {z N + 1 , .... z NL } is a bit with 0 bits redundantly inserted into the information bit string, and the {y N + 1 , y N + 2 , ...., y NL } and The portion of {y 1 (N + 1) ', y 1 (N + 2) ', ...., y 1NL '} is inserted with a value of 0 to fit the minimum block size in the information bit stream. The part is a part that is output in a repetitive bit pattern with a constant period in the first parity bit stream and the second parity bit stream in the encoding process, respectively, and the {z T1 , z T2 , z T3 , z T1 ' , z T2 ' , z T3 '}, the {y 0T1 , y 0T2 , y 0T3 } and {y 1T1 ', y 1T2 ', y 1T3 '} mean termination bits.

여기서, 도2는 상기 인터리버의 모듈러 연산장치의 구성을 보인 블록도로서, 하드웨어적으로 뺄셈기(1)와 비교기(2)로 이루어진다.2 is a block diagram showing the configuration of the modular arithmetic unit of the interleaver, and is composed of a subtractor 1 and a comparator 2 in hardware.

상기 모듈러의 연산과정을 설명하면, 우선 모듈러 연산식은 하기의 수학식과 같다.Referring to the modular calculation process, first, the modular equation is the same as the following equation.

[수학식][Equation]

K = (j x ri)mod( p -1)j= 0, 1,... (p- 2)K = (jxr i ) mod (p -1) j = 0, 1, ... ( p -2)

이때, 터보 인터리버의 입력 값은 , 도3과 같은, 터보 인터리버의 입력 코드 블록의 크기에 의해 결정되는 프라임 넘버 'p'와, 도4와 같은 로우변수 'ri'이다.At this time, the input value of the turbo interleaver is the prime number 'p' determined by the size of the input code block of the turbo interleaver as shown in FIG. 3 and the row variable 'ri' as shown in FIG. 4.

예를 들어, A-B=C 의 뺄셈 연산의 결과, C와 B를 비교해서 B보다 크면 C-B => C로 계속적으로 비교하여 B보다 C가 작은 경우의 C값이 모듈러의 출력값이 된다.For example, as a result of the subtraction operation A-B = C, if C and B are larger than B and continuously compared to C-B => C, C value when C is smaller than B becomes the output value of the modular.

여기서, A는 (j x ri)이고, B는 (p-1)이다.Where A is (jxr i ) and B is (p-1).

만약, ri =79 p= 257 , j = 255 라고 가정하면,If r i = 79 p = 257 and j = 255,

(79 x 255)modular(257-1) =(20145)modular(256)(79 x 255) modular (257-1) = (20145) modular (256)

. 1 스텝 : 20145 -256 = 19889 , 19889 > 256. Step 1: 20145 -256 = 19889, 19889> 256

2 스텝: 19889 -256 = 19633 , 19633 > 256Step 2: 19889 -256 = 19633, 19633> 256

3 스텝: 19633-256 = 19377 , 19377 > 256Step 3: 19633-256 = 19377, 19377> 256

4 스텝: 19377-256 = 19121, 19121 > 2564 steps: 19377-256 = 19121, 19121> 256

5 스텝: 19121-256 = 18865 , 18865 > 256Step 5: 19121-256 = 18865, 18865> 256

6 스텝: 18865 -256 = 18609 , 18609 > 256 ....이 된다.Step 6: 18865 -256 = 18609, 18609> 256 ...

상기의 모듈러 연산에서, j값은 최대 (257-1)가 되고, ri값은 최대 79가 되기 때문에 최대 19889의 값을 가지게 되는데, 이러한 빼기 연산과 비교 연산의 반복작업을 계속 수행하여 모듈러 출력을 발생한다.In the above modular operation, the j value is the maximum (257-1) and the ri value is the maximum 79. Therefore, the value of the maximum is 19889. Occurs.

그러나, 이와같은 모듈러 연산의 반복작업으로 인하여 하드웨어적으로 큰 시간지연을 발생하게 되는데, 이러한 시간지연은 순차적으로 진행되는 터보 인터리버의 처리속도를 지연시키는 문제점이 있다.However, due to such a repetitive operation of the modular operation is caused a large time delay in hardware, this time delay has a problem of delaying the processing speed of the turbo interleaver proceeds sequentially.

본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로, 모듈러 연산시, 칼럼변수가 1일 경우의 초기 모듈러 연산값을 경우에 따라 연산하여 저장한후, 이 저장된 값을 모듈러 연산에 이용하여 모듈러 연산 단계를 줄임으로써, 모듈러 연산을 신속히 처리하도록 한 이동통신시스템의 모듈러 연산장치를 제공함에 그 목적이 있다.The present invention has been made to solve the above problems, in the case of modular operation, the initial modular operation value when the column variable is 1 is calculated and stored in some cases, and then the modular operation by using the stored value in the modular operation It is an object of the present invention to provide a modular computing device of a mobile communication system that allows for rapid processing of modular operations by reducing the steps.

도 1은 일반적인 터보 인코더의 구조를 나타낸 도.1 is a view showing the structure of a typical turbo encoder.

도 2는 도1에 있어서, 인터리버의 모듈러 연산장치의 구성을 보인 블록도.FIG. 2 is a block diagram showing the configuration of a modular computing device of an interleaver in FIG.

도 3은 터보 인터리버의 입력 코드 블록의 크기에 의해 결정되는 프라임 넘버를 보인도.3 shows a prime number determined by the size of an input code block of a turbo interleaver.

도4는 터보 인터리버의 로우변수를 보인도.4 shows a low variable of a turbo interleaver.

도5는 본 발명 이동통신시스템의 모듈러 연산장치에 대한 구성을 보인 블록도.Figure 5 is a block diagram showing the configuration of a modular computing device of the mobile communication system of the present invention.

도6은 도5에 있어서, 연산기의 구성을 보인 블록도.FIG. 6 is a block diagram showing the configuration of a calculator in FIG.

*****도면의 주요부분에 대한 부호의 설명********** Description of the symbols for the main parts of the drawings *****

100,400:모듈러 연산부 101~104,401,402:연산기100,400: Modular operation unit 101 ~ 104,401,402: Operator

200,500:먹스 300:가산기200,500: Mum 300: Adder

상기와 같은 목적을 달성하기 위한 본 발명은, 인터리버의 로우 변수값을, 순차적으로 증가하는 칼럼변수와 프라임 넘버의 곱한 값들과 소정 처리하여, 그에 따라 모듈라 연산 출력신호와 먹스 제어신호를 출력하는 다수의 연산기로 이루어진 제1 모듈러 연산부와; 상기 제1 모듈러 연산부의 먹스제어신호에 의해, 상기 다수의 연산기에서 출력되는 모듈러 연산출력신호를 선택하는 제1 먹스와; 상기 제1 먹스에서 출력되는 신호를 저장하거나, 제2 먹스에서 출력되는 출력신호를 저장하는 레지스터와; 상기 레지스터에 저장된 값과 인터리버의 로우변수값을 가산하는 가산기와; 상기 가산기의 출력신호와 순차적으로 증가하는 칼럼변수와 프라임넘버와의곱한 값들과 소정 처리하여, 그에 따라 모듈러 출력신호와 먹스제어신호를 출력하는 다수의 연산기로 이루어진 제2 모듈러 연산부와; 상기 제2 모듈러 연산부의 먹스제어신호에 의해, 상기 다수의 연산기에서 출력되는 모듈라 출력신호를 선택하는 제2 먹스를 포함하여 구성한 것을 특징으로 한다.The present invention for achieving the above object, the predetermined number of row variable value of the interleaver and the multiplication of the sequentially increasing column variable and the prime number, and a plurality of output the modular operation output signal and mux control signal accordingly A first modular calculator comprising an operator of; A first mux for selecting a modular arithmetic output signal output from the plurality of arithmetic units by a mux control signal of the first modular arithmetic unit; A register configured to store a signal output from the first mux or an output signal output from the second mux; An adder for adding a value stored in the register with a row variable value of an interleaver; A second modular operation unit comprising a plurality of arithmetic units configured to perform predetermined processing with output values of the adder, multiplying the column variable and the prime number, and outputting the modular output signal and the mux control signal accordingly; And a second mux for selecting a modular output signal output from the plurality of calculators by the mux control signal of the second modular calculation unit.

이하, 본 발명에 의한 이동통신시스템의 모듈러 연산장치에 대한 작용 및 효과를 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, with reference to the accompanying drawings, the operation and effects of the modular computing device of the mobile communication system according to the present invention will be described in detail.

도5는 본 발명의 실시예에 따른 이동통신 시스템의 모듈러 연산장치에 대한 구성을 보인 블록도이다.5 is a block diagram showing a configuration of a modular computing device of a mobile communication system according to an embodiment of the present invention.

도5에 도시한 바와같이, 인터리버의 로우 변수값(ri)을, 순차적으로 증가하는 칼럼변수(j)와 프라임 넘버(p-1)의 곱한 값들과 소정 처리하여, 그에 따라 모듈라 연산 출력신호와 먹스 제어신호를 출력하는 연산기(101~104)로 이루어진 제1 모듈러 연산부(100)와; 상기 제1 모듈러 연산부(100)의 먹스제어신호에 의해, 상기 연산기(101~104)에서 출력되는 모듈러 연산출력신호를 선택하는 제1 먹스 (200)와; 상기 제1 먹스(200)에서 출력되는 신호를 저장하거나, 제2 먹스(500)에서 출력되는 출력신호를 저장하는 레지스터(300)와; 상기 레지스터(300)에 저장된 값과 인터리버의 로우변수값(ri)을 가산하는 가산기(600)와; 상기 가산기(600)의 출력신호와 순차적으로 증가하는 칼럼변수(j)와 프라임넘버(p-1)와의 곱한 값들과 소정 처리하여, 그에 따라 모듈러 출력신호와 먹스제어신호를 출력하는 연산기(401,402)로 이루어진 제2 모듈러 연산부(400)와; 상기 제2 모듈러 연산부(400)의 먹스제어신호에 의해, 상기 연산기(401,402)에서 출력되는 모듈러 출력신호를 선택하는 제2 먹스(500)로 구성한다.As shown in Fig. 5, the row variable value ri of the interleaver is subjected to predetermined processing with the multiplication of the sequentially increasing column variable j and the prime number p-1, and accordingly the modulated output signal A first modular calculating unit (100) comprising a plurality of calculating units (101 to 104) for outputting a mux control signal; A first mux 200 for selecting a modular arithmetic output signal output from the arithmetic units 101 to 104 by a mux control signal of the first modular arithmetic unit 100; A register 300 for storing a signal output from the first mux 200 or an output signal output from the second mux 500; An adder (600) for adding a value stored in the register (300) and a row variable value (ri) of an interleaver; Arithmetic operators 401 and 402 that process the output signal of the adder 600 and the multiplication values of the column variable j and the prime number p-1 which sequentially increase, and output a modular output signal and a mux control signal accordingly. A second modular operation unit 400 formed of; The second mux 500 selects a modular output signal output from the calculators 401 and 402 by the mux control signal of the second modular calculation unit 400.

도6은, 상기 연산기(101)의 구성을 보인 블록도로서, 이전 칼럼변수와 프라임넘버의 곱한값과, 현재 칼럼변수와 프라임넘버의 곱한값 및 로우변수를 비교하는 비교기(1)와; 임의의 로우변수에서 이전 칼럼변수를 뺄셈하는 뺄셈기(2)로 구성하며, 이와같은 본 발명의 동작을 설명한다.Fig. 6 is a block diagram showing the configuration of the operator 101. A comparator 1 for comparing a multiplied previous column variable with a prime number, a multiplied current column variable with a prime number, and a row variable; It consists of a subtractor 2 which subtracts the previous column variable from any row variable, and this operation of the present invention will be described.

먼저, 인터리버의 모듈러 연산은, (jxri)mod(p-1)을 수행하는데, 이때 p값은 터보 인터리버의 입력 코드 블록의 크기에 의해 결정되는 프라임 넘버이고, j는 인터리버의 칼럼변수이며, ri는 로우변수이다.First, the modular operation of the interleaver performs (jxr i ) mod (p-1), where p is a prime number determined by the size of the input code block of the turbo interleaver, j is a column variable of the interleaver, ri is a low variable.

여기서, 본 발명의 동작을 로우변수값이 '5'라고 가정하여 설명한다.Here, the operation of the present invention will be described assuming that the row variable value is '5'.

우선 제1 모듈러 연산부(100)의 연산기(101~104)는 칼럼변수(j)와 프라임 넘버(p-1)의 곱한 값들과 소정 처리하여, 그에 따라 모듈라 연산 출력신호와 먹스 제어신호를 출력하는데, 연산기(101~104)의 비교기(1)는 이전 칼럼변수(j)와 프라임넘버(p-1)의 곱한값과, 현재 칼럼변수(j)와 프라임넘버(p-1)의 곱한값 및 로우변수 (ri)를 비교하여, 그에 따른 먹스제어신호를 출력하고, 뺄셈기(2)는 로우변수(ri)에서 현재 칼럼변수(j)와 프라임넘버(p-1)의 곱한값을 뺄셈하여 그에 따른 모듈라 연산출력신호를 출력한다.First, the calculators 101 to 104 of the first modular calculator 100 process the multiplied values of the column variable j and the prime number p-1, and output a modular operation output signal and a mux control signal accordingly. The comparator 1 of the calculators 101 to 104 multiplies the previous column variable j with the prime number p-1, the current column variable j with the prime number p-1, and Compare the row variable (ri), output the mux control signal accordingly, and the subtractor (2) subtracts the product of the current column variable (j) and prime number (p-1) in the row variable (ri) Outputs the modular operation output signal accordingly.

즉, 로우변수값(ri)이 5이므로, r0 ,r1,r2,r3,r4의 5가지 r값이 순환하면서 j값이 증가하고, 만약, j가 1일 경우의 모듈러 연산은 (ri)mod(p-1)되며, 이때 ri 값의 범위에 따라, 도4와 같이 경우가 정의된다.That is, since the row variable value ri is 5, the j value increases while the five r values of r 0, r 1, r 2, r 3, and r 4 are cyclically increased, and if j is 1, the modular operation Is (r i ) mod (p-1), where a case is defined as shown in FIG. 4 according to the range of ri values.

상기 도4에 정의된 5가지 경우에 의해 구해진 모듈러 값을 레지스터(300)에 저장하고, 칼럼변수(j) 값의 증가에 따라, 제2 모듈러 연산부 (400)의 출력은 다음과 같이 구해진다.The modular value obtained by the five cases defined in FIG. 4 is stored in the register 300, and as the value of the column variable j increases, the output of the second modular operator 400 is obtained as follows.

j=1 : reg = 경우에 의해 구해진 (ri)mod(p-1) 값j = 1: reg = (r i ) mod (p-1) value obtained by case

j=2 : (rix2)mod( p-1) = (reg+ri )mod(p-1)j = 2: (r i x2) mod (p-1) = (reg + ri) mod (p-1)

j=3 : (rix3)mod(p-1) = (reg+ri )mod(p-1).....j = 3: (r i x3) mod (p-1) = (reg + ri) mod (p-1) .....

위와 같은 방법으로 modular값을 구하게 되면 j = 1일 경우의 초기 모듈러 연산값을 경우에 따라 연산한후, 제2 모듈러 연산부(400)의 연산기(401,402)에서 두단계의 뺄셈만으로 모듈라 펑션이 구현되어 매 클럭 마다 데이터를 출력하게 된다.When the modular value is obtained in the above manner, the initial modular calculation value when j = 1 is calculated according to the case, and the modular function is implemented by only two steps of subtraction in the calculators 401 and 402 of the second modular calculation unit 400. It will output data every clock.

즉, 상기 제1 모듈러 연산부(100)의 먹스제어신호에 의해, 상기 연산기 (101~104)에서 출력되는 모듈러 연산출력신호를 선택하는데, 이때, 칼럼변수(j)가 '0'인 경우의, 모듈러 연산출력신호를 레지스터(300)에 저장된다.That is, the modular operation output signal output from the calculators 101 to 104 is selected by the mux control signal of the first modular operation unit 100. In this case, when the column variable j is '0', The modular operation output signal is stored in the register 300.

여기서, 상기 칼럼변수(j)가 증가할 때마다 현재 모듈러 연산출력신호를 레지스터(300)에 저장된 값과 가산기(600)에서 가산되어, 제2 모듈러 연산부(400)에 입력되고, 이에 따라, 상기 제2 모듈러연산부(400)의 연산기(401,402)는 상기 가산기(600)의 출력신호와 순차적으로 증가하는 칼럼변수(j)와 프라임넘버(p-1)의 곱한 값들과 소정 처리하여, 그에 따라 모듈러 출력신호와 먹스제어신호를 출력한다.Here, each time the column variable j is increased, the current modular operation output signal is added to the value stored in the register 300 and the adder 600 and input to the second modular operation unit 400. The arithmetic operators 401 and 402 of the second modular operator 400 process the output signal of the adder 600 and the multiplied values of the column variable j and the prime number p-1 sequentially increasing. Outputs an output signal and a mux control signal.

이후, 먹스(500)는 상기 제2 모듈러 연산부(400)의 출력신호를, 먹스제어신호에 선택하여 레지스터(300)에 저장함과 아울러 외부로 출력한다.Thereafter, the mux 500 selects the output signal of the second modular operation unit 400 as the mux control signal, stores the result in the register 300, and outputs the result to the outside.

상기 본 발명의 상세한 설명에서 행해진 구체적인 실시 양태 또는 실시예는 어디까지나 본 발명의 기술 내용을 명확하게 하기 위한 것으로 이러한 구체적 실시예에 한정해서 협의로 해석해서는 안되며, 본 발명의 정신과 다음에 기재된 특허 청구의 범위내에서 여러가지 변경 실시가 가능한 것이다.The specific embodiments or examples made in the detailed description of the present invention are intended to clarify the technical contents of the present invention to the extent that they should not be construed as limited to these specific embodiments and should not be construed in consultation. Various changes can be made within the scope of.

이상에서 상세히 설명한 바와같이 본 발명은, 모듈러 연산시, 칼럼변수가 1일 경우의 초기 모듈러 연산값을 경우에 따라 연산하여 저장한후, 이 저장된 값을 모듈러 연산에 이용하여 모듈러 연산 단계를 줄임으로써, 모듈러 연산을 신속히 처리하는 효과가 있다.As described in detail above, the present invention, in the modular operation, by calculating and storing the initial modular operation value when the column variable is 1 according to the case, by reducing the modular operation step by using the stored value in the modular operation, This has the effect of quickly processing modular operations.

Claims (2)

인터리버의 로우 변수값을, 순차적으로 증가하는 칼럼변수와 프라임 넘버의 곱한 값들과 소정 처리하여, 그에 따라 모듈라 연산 출력신호와 먹스 제어신호를 출력하는 다수의 연산기로 이루어진 제1 모듈러 연산부와;A first modular calculator comprising a plurality of calculators which process a row variable value of the interleaver with a multiplication of sequentially increasing column variables and prime numbers, and output a modular arithmetic output signal and a mux control signal accordingly; 상기 제1 모듈러 연산부의 먹스제어신호에 의해, 상기 다수의 연산기에서 출력되는 모듈러 연산출력신호를 선택하는 제1 먹스와;A first mux for selecting a modular arithmetic output signal output from the plurality of arithmetic units by a mux control signal of the first modular arithmetic unit; 상기 제1 먹스에서 출력되는 신호를 저장하거나, 제2 먹스에서 출력되는 출력신호를 저장하는 레지스터와;A register configured to store a signal output from the first mux or an output signal output from the second mux; 상기 레지스터에 저장된 값과 인터리버의 로우변수값을 가산하는 가산기와;An adder for adding a value stored in the register with a row variable value of an interleaver; 상기 가산기의 출력신호와 순차적으로 증가하는 칼럼변수와 프라임넘버와의 곱한 값들과 소정 처리하여, 그에 따라 모듈러 출력신호와 먹스제어신호를 출력하는 다수의 연산기로 이루어진 제2 모듈러 연산부와;A second modular operation unit comprising a plurality of arithmetic units configured to perform a predetermined process with multiplying the output signal of the adder, the multiplication value of the column variable and the prime number sequentially, and output a modular output signal and a mux control signal accordingly; 상기 제2 모듈러 연산부의 먹스제어신호에 의해, 상기 다수의 연산기에서 출력되는 모듈라 출력신호를 선택하는 제2 먹스를 포함하여 구성한 것을 특징으로 하는 이동통신시스템의 모듈러 연산장치.And a second mux for selecting a modular output signal outputted from the plurality of calculators by the mux control signal of the second modular calculator. 제1 항에 있어서, 다수의 연산기는,The method of claim 1, wherein the plurality of calculators, 각각, 이전 칼럼변수와 프라임넘버의 곱한값과, 현재 칼럼변수와 프라임넘버의 곱한값 및 로우변수를 비교하는 비교기와;A comparator for comparing the product of the previous column variable with the prime number, the product of the current column variable with the prime number, and the row variable, respectively; 임의의 로우변수에서 이전 칼럼변수를 뺄셈하는 뺄셈기로 이루어진 것을 특징으로 하는 이동통신시스템의 모듈러 연산장치.A modular computing device for a mobile communication system, comprising: a subtractor for subtracting a previous column variable from an arbitrary row variable.
KR1020020085957A 2002-12-28 2002-12-28 Modular computation apparatus of mobile communication system KR20040059343A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020085957A KR20040059343A (en) 2002-12-28 2002-12-28 Modular computation apparatus of mobile communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020085957A KR20040059343A (en) 2002-12-28 2002-12-28 Modular computation apparatus of mobile communication system

Publications (1)

Publication Number Publication Date
KR20040059343A true KR20040059343A (en) 2004-07-05

Family

ID=37351352

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020085957A KR20040059343A (en) 2002-12-28 2002-12-28 Modular computation apparatus of mobile communication system

Country Status (1)

Country Link
KR (1) KR20040059343A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100938319B1 (en) * 2005-03-10 2010-01-22 콸콤 인코포레이티드 Determining modulo count in sleep capable system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100938319B1 (en) * 2005-03-10 2010-01-22 콸콤 인코포레이티드 Determining modulo count in sleep capable system
US7916812B2 (en) 2005-03-10 2011-03-29 Qualcomm Incorporated Determining modulo count in sleep capable system

Similar Documents

Publication Publication Date Title
US6928602B2 (en) Encoding method and encoder
US5699368A (en) Error-correcting encoder, error-correcting decoder, and data transmitting system with error-correcting codes
US5343481A (en) BCH error-location polynomial decoder
US7590916B2 (en) Cyclic redundancy checking value calculator
JPH08149018A (en) Error correcting device
US5912905A (en) Error-correcting encoder, error-correcting decoder and data transmitting system with error-correcting codes
US7539918B2 (en) System and method for generating cyclic codes for error control in digital communications
US5594742A (en) Bidirectional trellis coding
KR20040085545A (en) Apparatus for decoding error correction doe in communication system and method thereof
US20020002694A1 (en) Coding apparatus
JP4269520B2 (en) Approximation calculation device and MAP decoding device
KR20040044589A (en) A Soft-Input Decoding Method of Reed-Muller Codes Using Majority Logic and Apparatus thereof
JP2010529764A (en) Decoding recursive convolutional codes with a decoder for nonrecursive convolutional codes
GB2447132A (en) Correcting output of a Max-Log-MAP algorithm using a mask
KR20040059343A (en) Modular computation apparatus of mobile communication system
KR100874484B1 (en) Quasi-cyclic low density parity check coding method and apparatus
KR100297739B1 (en) Turbo codes with multiple tails and their encoding / decoding methods and encoders / decoders using them
JP2001517887A (en) Viterbi decoding method and apparatus for puncture code
KR19990071594A (en) Method and apparatus for conditionally combining bit metrics in a Viterbi decoder to decode a received information signal
EP0800279A2 (en) Signal decoding for either Manhattan or Hamming metric based Viterbi decoders
US7287207B2 (en) Method and apparatus for computing parity characters for a codeword of a cyclic code
KR100636512B1 (en) a Branch Metric Apparatus of the Viterbi Decoder
KR100561631B1 (en) Apparatus of calculating the output address in Turbo Interleaver
JP2516248B2 (en) Viterbi decoding circuit
KR100240868B1 (en) Multirate transmission system

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination