KR20040059343A - Modular computation apparatus of mobile communication system - Google Patents
Modular computation apparatus of mobile communication system Download PDFInfo
- 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
Links
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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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/72—Methods 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/727—Modulo N arithmetic, with N being either (2**n)-1,2**n or (2**n)+1, e.g. mod 3, mod 4 or mod 5
-
- 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
Abstract
Description
본 발명은 이동통신시스템의 인터리버에 관한 것으로, 특히 터보 인코더의의 인코딩 처리 속도를 실시간으로 처리하도록 한 이동통신시스템의 모듈러 연산장치에 관한 것이다.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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100938319B1 (en) * | 2005-03-10 | 2010-01-22 | 콸콤 인코포레이티드 | Determining modulo count in sleep capable system |
-
2002
- 2002-12-28 KR KR1020020085957A patent/KR20040059343A/en not_active Application Discontinuation
Cited By (2)
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 |