KR100239727B1 - Encoder of cellullar system - Google Patents
Encoder of cellullar system Download PDFInfo
- Publication number
- KR100239727B1 KR100239727B1 KR1019970011061A KR19970011061A KR100239727B1 KR 100239727 B1 KR100239727 B1 KR 100239727B1 KR 1019970011061 A KR1019970011061 A KR 1019970011061A KR 19970011061 A KR19970011061 A KR 19970011061A KR 100239727 B1 KR100239727 B1 KR 100239727B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- output
- symbol
- ram
- memory block
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Electronic Switches (AREA)
- Error Detection And Correction (AREA)
Abstract
본 발명은 셀룰러(Cellullar) 시스템의 부호화 장치에 관한 것으로 특히, 프레임 데이터를 메모리에 저장한 후 인터리브되는 데이터의 출력 순서로 액세스하고 각 액세스된 데이터를 10비트당 5개의 심볼을 생성하여 그 중 3개의 심볼을 선택하도록 구성함으로써 메모리의 효율적인 이용과 메모리의 크기를 줄일 수 있도록 창안한 것이다. 이러한 본 발명은 데이터(RAW-DATA)를 입력으로 프레임 데이터를 출력하는 프레임 데이터 생성부(201)와, 이 프레임 데이터 생성부(201)의 출력 데이터를 래치하는 디플립플롭(205)와, 이 디플립플롭(205)에서의 출력 데이터를 저장하여 인터리브될 순서대로 출력하고 인터리브된 심볼 데이터를 저장하는 메모리 블록(203)과, 이 메모리 블록(203)에서 출력되는 데이터를 부호화하여 10비트당 5개의 심볼을 생성하고 그 중 3개의 심볼을 선택하여 상기 메모리 블록(203)으로 출력하는 인코더(202)와, 상기 메모리 블록(203)으로부터 출력되는 인터리브된 심볼 데이터를 래치하여 외부로 전송하는 디플립플롭(206)과, 상기 프레임 데이터 생성부(201), 인코더(202) 및 메모리 블록(203)의 동작을 제어하는 마이크로 프로세서(204)로 구성한다.The present invention relates to an encoding apparatus of a cellular system, and more particularly, to store frame data in a memory, access the data in an interleaved output order, and generate five symbols for each 10-bit access data. It is designed to reduce the size of the memory and the efficient use of the memory by configuring to select the number of symbols. The present invention provides a frame data generation unit 201 for outputting frame data as input of data RAW-DATA, a deflip-flop 205 for latching output data of the frame data generation unit 201, and A memory block 203 for storing the output data from the deflip-flop 205, outputting the data in the order to be interleaved, and storing the interleaved symbol data, and encoding data output from the memory block 203 to 5 per 10 bits. Generating a plurality of symbols, selecting three of them, and outputting them to the memory block 203, and a de-flip which latches and transmits the interleaved symbol data output from the memory block 203 to the outside And a microprocessor 204 for controlling the operation of the flop 206, the frame data generator 201, the encoder 202, and the memory block 203.
Description
본 발명은 셀룰러(Cellullar) 시스템에 관한 것으로 특히, 씨디엠에이(CDMA) 방식을 적용한 셀룰러 시스템에 적당하도록 한 셀룰러(Cellular) 시스템의 부호화 장치에 관한 것이다.BACKGROUND OF THE
종래 기술은 도1 의 블럭도에 도시된 바와 같이, 데이터(RAW-DATA)를 입력으로 프레임 데이터를 출력하는 프레임 데이터 생성부(101)와, 이 프레임 데이터 생성부(101)의 프레임 데이터를 입력으로 심볼 데이터를 생성하는 인코더(102)와, 상기 심볼 데이터를 저장하여 행 단위로 출력함에 의해 인터리빙 처리하는 메모리 블록(103)과, 상기 프레임 데이터 생성부(101), 인코더(102) 및 메모리 블록(103)의 동작을 제어하는 마이크로 프로세서(104)로 구성된다.In the prior art, as shown in the block diagram of FIG. 1, a frame
상기 메모리 블록(103)은 부호화된 심볼 데이터를 저장하는 램(111)와, 마이크로 프로세서(104)의 제어에 의해 어드레스를 복호하여 상기 램(111)에 인가하는 어드레스 디코더(112)와, 인코더(102)의 출력 데이터를 상기 램(111)에 입력시키고 상기 램(111)의 출력 데이터를 외부로 전송하는 입출력 버퍼(113)로 구성된다.The
이와같은 종래 기술의 동작 과정을 설명하면 다음과 같다.Referring to the operation of the prior art as follows.
프레임 데이터 생성부(CRC & Tail BIT)(101)는 데이터(RAW-DATA)를 입력받아 완전한 프레임 데이터로 완성하게 된다.The frame data generation unit (CRC & Tail BIT) 101 receives the data (RAW-DATA) and completes the complete frame data.
여기서, 입력 데이터의 순서를 바꾸면 CRC의 값도 바뀌게 되므로 입력 데이터의 순서를 임의로 바꿀 수 없다.In this case, if the order of the input data is changed, the value of the CRC is also changed, so that the order of the input data cannot be arbitrarily changed.
만일, CDMA 방식에서 데이터 속도가 풀(full) 속도인 경우 한 프레임의 데이터는 'D1∼D192'로서 이 데이터(D1∼D192)는 인코더(Convolution Encoder)(102)로 입력된다.If the data rate is full rate in the CDMA scheme, data of one frame is 'D1 to D192' and the data D1 to D192 is input to the
상기 콘볼루션 인코더(102)는 8비트 시프트 레지스터로 구성되어 하나의 데이터 입력당 3개의 심볼을 만들게 된다.The
만일, 데이터 속도가 풀(full)인 경우 인코더(102)는 한 프레임의 입력 데이터(D1∼D192)에 대하여 심볼 데이터(C1∼C576)를 메모리 블록(103)으로 출력하게 된다.If the data rate is full, the
이때, 메모리 블록(103)은 입출력 버퍼(113)가 인코더(102)의 출력 단자를 램(111)의 입력 단자에 접속되어 상기 인코더(102)의 출력 데이터는 열(column) 단위로 상기 램(111)에 저장된다.In this case, the
이 후, 한 프레임 단위의 심볼 데이터가 램(111)에 모두 저장된 경우 입출력 버퍼(113)는 상기 램(111)의 출력 단자를 외부로 접속시키게 된다.Thereafter, when the symbol data of one frame unit is all stored in the
이에 따라, 램(111)에 저장된 심볼 데이터가 행(row) 단위로 외부로 출력되어진다.Accordingly, the symbol data stored in the
즉, 램(111)은 도2 에 도시된 바와 같이 심볼 데이터의 저장 및 출력을 수행하는데, 하나의 심볼 프레임이 메모리에 완전히 입력된 후 부호화된 심볼 프레임은 'C1 C33C65...C545, C2C34C66...C546,..., C32C64C96...C576'의 순으로 출력됨에 의해 인터리빙(interleaving) 처리된다.That is, the
이때, 램(111)으로부터 출력되는 데이터의 행 순서는 프레임의 데이터 속도에 따라 변하게 되므로, 동일한 메모리 공간을 다른 심볼 프레임이 공유할 수 없다.In this case, since the row order of the data output from the
상기에서 램(111)의 데이터 입출력을 위한 영역은 마이크로 프로세서(104)의 제어받는 어드레스 디코더(112)가 복호하는 해당 어드레스에 의해 지정된다.In the above, an area for data input / output of the
그리고, 순차적인 심볼 전송을 위한 CDMA 셀룰러 시스템에서 인터리브된 심볼은 항상 일정한 심볼 속도를 규정하고 있기 때문에 상기와 같은 동작이 연속적으로 수행되는데, 하나의 심볼 프레임 크기에 해당하는 메모리에 부호화된 심볼을 저장함에 따라 한 프레임의 심볼 데이터가 저장되면 인터리빙을 수행하고 그 심볼 인터리빙 처리동안 만들어지는 부호화된 심볼은 다른 메모리 영역에 저장하는 동작을 반복적으로 수행함으로써 연속적으로 데이터를 입력시킴과 아울러 일정한 속도로 인터리브된 심볼 데이터를 출력하게 된다.In the CDMA cellular system for sequential symbol transmission, since the interleaved symbols always define a constant symbol rate, the above operation is continuously performed. The encoded symbols are stored in a memory corresponding to one symbol frame size. In this case, interleaving is performed when symbol data of one frame is stored, and coded symbols generated during the symbol interleaving process are repeatedly interleaved at a constant speed while repeatedly storing data in another memory region. Outputs symbol data.
따라서, 항상 일정한 심볼 속도를 갖기 위해서는 '1/(엔코딩 속도) * 프레임 비트 * 2'의 크기와 데이터 속도의 2배가 되는 데이터 액세스 속도를 가지는 메모리를 필요로 한다.Therefore, in order to have a constant symbol rate at all times, a memory having a data access rate that is twice the size of '1 / (encoding rate) * frame bit * 2' and the data rate is required.
그러나, 이러한 종래의 기술은 인코딩/디코딩시 입력 데이터 속도에 관계없이 항상 일정한 출력 심볼 속도를 유지하도록 2프레임 심볼 크기의 메모리를 필요로 하므로 하나의 로직을 구현하는 경우 전체적인 ASIC 칩의 크기가 커짐은 물론 제조 단가가 상승하는 문제점이 있다.However, this conventional technique requires two frame symbol size memory to always maintain a constant output symbol rate regardless of the input data rate during encoding / decoding. Therefore, when one logic is implemented, the overall size of the ASIC chip is increased. Of course, manufacturing costs are rising.
본 발명은 종래 기술의 문제점을 개선하기 위하여 프레임 데이터를 메모리에 저장한 후 인터리브되는 데이터의 출력 순서로 액세스하고 각 액세스된 데이터를 10비트당 5개의 심볼을 생성하여 그 중 3개의 심볼을 선택하도록 구성함으로써 메모리의 효율적인 이용과 메모리의 크기를 줄일 수 있도록 창안한 셀룰러(Cellullar) 시스템의 부호화 장치를 제공함에 목적이 있다.In order to solve the problems of the prior art, the present invention stores frame data in a memory and accesses them in an output order of interleaved data, and generates five symbols per 10 bits for each accessed data to select three symbols among them. It is an object of the present invention to provide an encoding apparatus of a cellular system invented so that the memory can be efficiently used and the size of the memory can be reduced.
도 1은 종래 기술의 부호화 장치의 블록도.1 is a block diagram of a coding apparatus of the prior art.
도 2는 도 1에서 램(RAM)의 저장 상태를 보인 예시도.FIG. 2 is an exemplary view illustrating a storage state of a RAM in FIG. 1.
도 3은 본 발명에 따른 실시예의 블록도.3 is a block diagram of an embodiment according to the present invention.
도 4는 도 3에서 램(RAM)의 저장 상태를 보인 예시도.4 is an exemplary view illustrating a storage state of a RAM in FIG. 3.
도 5는 도 3에서 인코더의 상세 블록도.5 is a detailed block diagram of the encoder in FIG.
도 6은 도 3에서의 동작 타이밍도.6 is an operation timing diagram in FIG. 3.
도 7은 도 3에서 데이터 페치 및 심볼 선택을 보인 표.7 is a table showing data fetch and symbol selection in FIG.
***도면의 주요 부분에 대한 부호의 설명****** Description of the symbols for the main parts of the drawings ***
201 : 프레임 데이터 생성부 202 : 인코더201: frame data generator 202: encoder
203 : 메모리 블록 204 : 마이크로 프로세서203: Memory block 204: Microprocessor
205,206 : 디플립플롭 211 : 램(RAM)205,206: flip-flop 211: RAM
212 : 어드레스 디코더 213 : 입출력 버퍼212: address decoder 213: input / output buffer
221,224 : 래치부 222 : 논리 연산부221, 224
223 : 멀티플렉서 225 : 2비트 카운터223
226 : 심볼 선택기 227,229 : 앤드 게이트226:
228 : 인버터228: Inverter
본 발명은 상기의 목적을 달성하기 위하여 프레임 데이터를 래치하는 제1 래치 수단과, 이 래치 수단에서의 출력 데이터를 저장하여 인터리브될 순서대로 출력하고 인터리브된 심볼 데이터를 저장하는 메모리 블록과, 이 메모리 블록에서 출력되는 데이터를 소정 비트당 소정개의 심볼을 생성하고 그 중 임의의 개수의 심볼을 선택하여 상기 메모리 블록으로 출력하는 인코딩 수단과, 상기 메모리 블록으로부터 출력되는 인터리브된 심볼 데이터를 래치하여 외부로 전송하는 제2 래치 수단과, 상기 각 수단을 제어하는 수단을 포함하여 구성한다.The present invention provides a first latch means for latching frame data, a memory block for storing output data from the latch means, outputting the data in an order to be interleaved, and storing interleaved symbol data; Encoding means for generating a predetermined symbol per predetermined bit of data output from the block and selecting any number of symbols to the memory block; and latching interleaved symbol data output from the memory block to the outside. And second latch means for transmitting, and means for controlling the respective means.
상기 메모리 블록은 제1 래치 수단에서의 출력 데이터를 저장하여 인터리브될 순서대로 출력하는 램(RAM)과, 제어 수단의 제어에 의해 어드레스를 복호하여 상기 램(RAM)의 해당 영역을 지정하는 어드레스 디코더와, 상기 제어 수단의 제어에 의해 상기 제1 래치 수단의 출력 데이터를 상기 램(RAM)에 인가하고 그 램(RAM)의 출력 데이터를 인코딩 수단에 인가하여 그 인코딩 수단의 출력 심볼을 상기 램(RAM)에 저장하며 상기 램(RAM)에서 출력되는 인터리브된 심볼 데이터를 제2 래치 수단으로 전송하는 입출력 버퍼로 구성한다.The memory block includes a RAM for storing output data from the first latching means and outputting the data in an order to be interleaved, and an address decoder for designating a corresponding region of the RAM by decoding an address under control of a control means. And by applying the output data of the first latching means to the RAM and the output data of the RAM to the encoding means under the control of the control means. RAM) and an input / output buffer for transmitting interleaved symbol data output from the RAM to a second latching means.
상기 인코딩 수단은 메모리 블록의 10비트 출력 데이터를 래치하는 제1 래치부와, 이 래치부의 출력 데이터를 2개씩 배타적 논리합하여 5개의 심볼 데이터를 출력하는 논리 연산부와, 이 논리 연산부의 출력 데이터중 3개를 선택하는 5*3 멀티플렉서와, 이 5*3 멀티플렉서의 출력 데이터를 래치하여 상기 메모리 블록에 출력하는 제2 래치부와, 2비트 카운터의 출력 신호를 입력으로 상기 멀티플렉서에 제1,제2 절환 신호를 출력하는 심볼 선택기와, 제2,제3 클럭을 논리곱하여 상기 제1 래치부의 동작을 제어하는 제1 앤드 게이트와, 상기 제3 클럭을 반전하는 인버터의 출력 신호와 상기 제2 클럭을 논리곱하여 상기 제2 래치부의 동작을 제어하는 제2 앤드 게이트로 구성한다.The encoding means comprises: a first latch unit for latching 10-bit output data of the memory block, a logic operation unit for exclusively ORing the output data of the latch unit two by two, and outputting five symbol data, and three of the output data of the logic operation unit; A 5 * 3 multiplexer for selecting two pieces, a second latch portion for latching the output data of the 5 * 3 multiplexer and outputting the output data to the memory block, and an output signal of a 2-bit counter to be input to the multiplexer. A symbol selector for outputting a switching signal, a first AND gate for controlling the operation of the first latch unit by ANDing the second and third clocks, an output signal of the inverter for inverting the third clock, and the second clock. And a second AND gate for controlling the operation of the second latch portion by logical multiplication.
이하, 본 발명을 도면에 의거 상세히 설명하면 다음과 같다.Hereinafter, the present invention will be described in detail with reference to the drawings.
도3 은 본 발명의 실시예를 보인 블록도로서 이에 도시한 바와 같이, 데이터(RAW-DATA)를 입력으로 프레임 데이터를 출력하는 프레임 데이터 생성부(201)와, 이 프레임 데이터 생성부(201)의 출력 데이터를 래치하는 디플립플롭(205)과, 이 디플립플롭(205)에서의 출력 데이터를 저장하여 인터리브될 순서대로 출력하고 인터리브된 심볼 데이터를 저장하는 메모리 블록(203)과, 이 메모리 블록(203)에서 출력되는 데이터를 부호화하여 10비트당 5개의 심볼을 생성하고 그 중 3개의 심볼을 선택하여 상기 메모리 블록(203)으로 출력하는 인코더(202)와, 상기 메모리 블록(203)으로부터 출력되는 인터리브된 심볼 데이터를 래치하여 외부로 전송하는 디플립플롭(206)과, 상기 프레임 데이터 생성부(201), 인코더(202) 및 메모리 블록(203)의 동작을 제어하는 마이크로 프로세서(204)로 구성한다.3 is a block diagram showing an embodiment of the present invention. As shown therein, a frame
상기 메모리 블록(203)은 디플립플롭(205)에서의 출력 데이터를 저장하여 인터리브될 순서대로 출력하는 램(211)과, 마이크로 프로세서(204)의 제어에 의해 어드레스를 복호하여 상기 램(211)의 해당 영역을 지정하는 어드레스 디코더(212)와, 상기 마이크로 프로세서(204)의 제어에 의해 상기 디플립플롭(205)의 출력 데이터를 상기 램(211)에 인가하고 그 램(211)의 출력 데이터를 인코더(202)에 인가하여 그 인코더(202)의 출력 심볼을 상기 램(211)에 저장하며 상기 램(211)에서의 인터리브된 심볼 데이터를 디플립플롭(206)으로 전송하는 입출력 버퍼(213)로 구성한다.The
상기 인코더(202)는 도5 의 블록도에 도시한 바와 같이, 메모리 블록(203)의 10비트 출력 데이터를 래치하는 제1 래치부(221)와, 이 래치부(221)의 출력 데이터를 2개씩 배타적 논리합하여 5개의 심볼 데이터를 출력하는 논리 연산부(222)와, 이 논리 연산부(222)의 출력 데이터중 3개를 선택하는 5*3 멀티플렉서(223)와, 이 5*3 멀티플렉서(223)의 출력 데이터를 래치하여 상기 메모리 블록(203)에 출력하는 제2 래치부(224)와, 2비트 카운터(225)의 출력 신호를 입력으로 상기 멀티플렉서(223)에 절환 신호(S1)(S2)를 출력하는 심볼 선택기(226)와, 클럭(CLK2)(CLK3)을 논리곱하여 상기 제1 래치부(221)를 제어하는 앤드 게이트(227)와, 상기 클럭(CLK3)을 반전하는 인버터(228)의 출력 신호와 상기 클럭(CLK2)을 논리곱하여 상기 제2 래치부(224)를 제어하는 앤드 게이트(229)로 구성한다.As shown in the block diagram of FIG. 5, the
이와같이 구성한 본 발명의 실시예에 대한 동작 및 작용 효과를 설명하면 다음과 같다.Referring to the operation and effect of the embodiment of the present invention configured as described above are as follows.
프레임 데이터 생성부(201)는 데이터(RAW-DATA)를 입력으로 CRC 및 Tail 비트를 부가하여 완전한 프레임 데이터를 생성하고 디플립플롭(205)은 상기 프레임 데이터 생성부(201)의 출력 데이터를 래치하여 메모리 블록(203)에 출력하게 된다.The
이때, 메모리 블록(203)은 마이크로 프로세서(204)의 제어에 의해 입출력 버퍼(213)가 디플립플롭(205)으로부터 램(211)으로 데이터 전송 경로를 형성하므로 상기 디플립플롭(205)로부터의 출력 데이터는 상기 램(211)의 해당 영역에 저장되어진다.At this time, the
이 후, 램(211)에 한 프레임의 데이터가 저장되면 마이크로 프로세서(204)의 제어에 의해 입출력 버퍼(213)는 상기 램(211)으로부터 인코더(202)로 데이터 전송 경로를 형성하게 된다.Thereafter, when one frame of data is stored in the
이에 따라, 메모리 블록(203)으로부터 인터리브될 순서대로 프레임 데이터가 출력되면 인코더(202)는 10비트 데이터당 5개의 심볼을 생성하고 그 생성된 5개의 심볼중 3개의 심볼만을 선택하여 상기 메모리 블록(203)으로 출력하여 램(211)의 해당 영역에 저장시키게 된다.Accordingly, when frame data is output in the order to be interleaved from the
이 후, 메모리 블록(203)은 마이크로 프로세서(204)의 제어에 의해 입출력 버퍼(213)가 램(211)으로부터 외부로 데이터 전송 경로를 형성하므로 상기 램(211)에 3개의 심볼 데이터를 저장하게 된다.Thereafter, the
이 후, 인코더(202)에서 심볼 데이터를 형성하는 동안 램(211)에 바로 이전에 저장된 심볼 데이터를 외부로 출력하게 된다.Thereafter, while forming the symbol data in the
이러한 동작은 연속적으로 반복하게 되며 이에 의해 일정한 속도로 인터리브된 심볼 데이터가 외부로 출력되어진다.This operation is repeated continuously, whereby interleaved symbol data is output to the outside at a constant speed.
상기와 같은 동작에서 프레임 데이터와 부호화된 심볼 데이터가 램(211)에 저장된 상태는 도4 의 예시도와 같다.In the above operation, the frame data and the encoded symbol data are stored in the
상기에서의 인코더(202)의 동작을 상세히 설명하면 다음과 같다.The operation of the
한 프레임의 데이터가 램(211)에 저장되면 그 램(211)에 저장된 데이터를 인코더(202)로 페치하는데, 처음 페치되는 데이터는 '00000000D1D2'로서 10개의 디플립플롭으로 이루어진 래치부(221)에 래치되어 5개의 배타적 오아게이트로 이루어진 논리 연산부(222)로 출력된다.When one frame of data is stored in the
상기 논리 연산부(222)는 래치부(221)에 래치된 10비트의 데이터를 2개씩 배타적 논리합하여 5개의 심볼 데이터를 얻는데 이를 'A0,A1,A2,A3,A4'라고 정의한다.The
만일, 종래 기술에서 배타적 논리합한 신호를 'B0,B1,B2'라고 하면 'A0,A1,A2'는 동일한 입력 구성을 갖게 되고, 'A3,A4'는 'A0,A1'과 동일한 입력 구성을 갖게 된다.If the exclusive OR signal in the prior art is called 'B0, B1, B2', 'A0, A1, A2' has the same input configuration, and 'A3, A4' has the same input configuration as 'A0, A1'. Will have
이때, 'A0,A1,A2'는 '00000000D1'에 의해 생성되고 'A3,A4'는 '0000000D1D2'에 의해 생성된다.At this time, 'A0, A1, A2' is generated by '00000000D1' and 'A3, A4' is generated by '0000000D1D2'.
따라서, 'A0,A1,A2'으로 'C1,C2,C3'의 심볼을 만들 때 'A4,A5'으로 'C4,C5'를 생성하므로 첫번째 데이터 페치동안에 심볼 데이터 'C1,C2,C3,C4,C5'가 생성된다.Therefore, when creating symbols of 'C1, C2, C3' with 'A0, A1, A2', 'C4, C5' is generated with 'A4, A5', so the symbol data 'C1, C2, C3, C4' during the first data fetch , C5 'is generated.
상기 심볼 데이터(C1..C5)는 종래 기술에서 두번의 데이터 입력으로 얻어지는 B0(C1), B1(C2), B2(C3) 와 B0'(C4), B1'(C5), B2'(C6) 중에서 B0(C1), B1(C2), B2(C3), B0'(C4), B1'(C5) 에 해당된다.The symbol data C1..C5 are B0 (C1), B1 (C2), B2 (C3) and B0 '(C4), B1' (C5), B2 '(C6) obtained by two data inputs in the prior art. ) Corresponds to B0 (C1), B1 (C2), B2 (C3), B0 '(C4), and B1' (C5).
이 후, 램(211)으로부터 인코더(202)로 두 번째 데이터를 페치하는 경우에는 인터리빙 순서를 고려하여 심볼 데이터(C33,C34,C35)를 생성하도록 데이터를 입력하여야 하므로 상기 인코더(202)에 페치되는 데이터는 'D11D12....D20'로서 심볼 데이터 'C31,C32,C33,C34,C35'를 생성하게 된다.Thereafter, when fetching the second data from the
이에 따라, 5*3 멀티플렉서(223)는 논리 연산부(222)에서 생성된 5개의 심볼 데이터(C31..C35)중 3개의 심볼 데이터(C33,C34,C35)를 선택하여 래치부(224)에 출력하게 된다.Accordingly, the 5 * 3
그리고, 세번째 데이터를 페치하는 경우에는 램(211)으로부터 'D22D23...D31'인 데이터를 입력받아 심볼 데이터(C64,C65,C66,C67,C68)를 생성하고 멀티플렉서(223)에서 3개의 심볼 데이터(C65,C66,C67)를 선택하면 래치부(224)에 래치되어 상기 램(211)에 저장된다.In the case of fetching the third data, the data of 'D22D23 ... D31' is input from the
이 후, 네번째 데이터 페치시에는 심볼 데이터(C97,C98,C99,C100,C101)를 생성하기 위하여 램(211)으로부터 데이터(D33D34...D42)를 페치하며 이로부터 심볼 데이터를 생성하여 그 중 3개의 심볼 데이터(C97,C98,C99)를 상기 램(211)에 저장하게 된다.Thereafter, in the fourth data fetch, data D33D34 ... D42 is fetched from the
따라서, 상기와 같은 과정을 연속적으로 반복함에 있어서, 인코더(202)에서 심볼 데이터를 생성하는 동안 램(211)으로부터 이전에 생성된 심볼 데이터를 입출력 버퍼(213)를 통해 외부로 출력함으로써 일정한 속도로 심볼 데이터를 출력하게 된다.Accordingly, in continuously repeating the above process, while generating symbol data in the
상기에서 래치부(221)는 클럭(CLK2)(CLK3)를 논리곱하는 앤드 게이트(227)에 의해 제어되며 래치부(224)는 클럭(CLK3)를 반전하는 인버터(228)의 출력 신호와 상기 클럭(CLK2)를 논리곱하는 앤드 게이트(229)에 의해 제어된다.In this case, the
상기에서 부호화를 위하여 램(211)에서 페치되는 데이터는 마이크로 프로세서(204)로부터 입력되는 프레임 모드에 따라 바뀌게 되는데, 각 모드에 따른 데이터 페치 방법(strategy)과 그에 의해 생성된 5개의 심볼들중에서 3개의 심볼을 선택하기 위한 심볼 선택기(226)의 동작 조건은 도7 의 표에 도시한 바와 같다.The data fetched from the
예를 들어, 페치 데이터(Di)가 'i<1'인 경우 초기 실행시 모두 '0'인 데이터를 출력하며, 그 외의 경우에는 이전 프레임의 끝에서부터 페치된 데이터까지 해당된다.For example, when the fetch data Di is 'i <1', all of the data are outputted as '0' at initial execution. Otherwise, the data fetches data from the end of the previous frame to the fetched data.
상기 심볼 선택기(226)는 마이크로 프로세서(204)로부터 프레임 모드의 정보를 받고 2비트 카운터(225)의 출력 신호를 입력받아 심볼 선택 신호(S1)(S2)를 멀티플렉서(223)에 출력하게 된다.The
이에 따라, 멀티플렉서(223)는 심볼 선택기(225)의 출력 신호(S1)(S2)는 논리 연산부(222)의 5개의 출력 신호중 3개의 심볼 데이터를 선택하여 램(211)에 저장하게 된다.Accordingly, the
상기 2비트 카운터(225)는 멀티플렉서(223)에서의 심볼 선택이 '3'을 주기로 반복되도록 하기 위한 것이다.The 2-
상기와 같은 동작은 도6 의 타이밍도와 동일한 과정으로 이루어진다.The above operation is performed in the same process as the timing diagram of FIG.
도6 의 (a) 파형은 (d)와 같은 데이터 인터리브 및 (e)와 같은 인코더 입력을 위한 클럭 신호이고 도6의 (b) 파형은 프레임 데이터 입력을 위한 클럭 신호이다.Waveform (a) of FIG. 6 is a clock signal for data interleaving as shown in (d) and encoder input as shown in (e) and waveform (b) as shown in FIG. 6 is a clock signal for inputting frame data.
도6 의 (c) 파형은 디플립플롭(205)에서 메모리 블록(203)으로 출력되는 데이터이고 도6 의 (d) 파형은 디플립플롭(206)에서 출력되는 인터리브된 심볼 데이터이다.The waveform (c) of FIG. 6 is data output from the flip-
도6 의 (e) 파형은 메모리 블록(203)으로부터 래치부(221)로 입력되는 페치 데이터이고 도6 의 (f) 파형은 제2 래치부(224)로부터 메모리 블록(203)으로 입력되는 부호화된 심볼 데이터이다.The waveform (e) of FIG. 6 is fetch data input from the
즉, 종래의 기술은 프레임 데이터를 페치하여 IS-95 규격에 정의된 것과 같이 생성된 심볼들을 프레임 모드에 따라 인터리빙하지만, 본 발명에서는 IS-95 규격에 정의된 인터리빙 순서대로 프레임 데이터를 페치하여 인터리빙을 수행하는 것이다.That is, while the conventional technology interleaves the generated symbols as defined in the IS-95 standard by fetching the frame data according to the frame mode, the present invention fetches and interleaves the frame data in the interleaving order defined in the IS-95 standard. To do.
본 발명은 각 프레임 모드에 따라 정상적인 동작을 수행하기 위해서 가상적인 심볼 반복 기능을 수행할 필요가 있으며, 이는 IS-95 규격에 명시된 파워 콘트롤 그룹의 검토를 통해서 간단히 해결할 수 있다.The present invention needs to perform a virtual symbol repetition function in order to perform a normal operation according to each frame mode, which can be easily solved by examining a power control group specified in the IS-95 standard.
먼저, 데이터 속도가 풀(full)인 경우 심볼 생성을 위한 반복 동작은 달리 필요치않으며 상기에서 제시된 과정을 반복적으로 수행함으로써 'IS-95'에 명시한 인터리빙 동작을 성공적으로 수행할 수 있다.First, when the data rate is full, the repetitive operation for symbol generation is not required otherwise, and the interleaving operation specified in 'IS-95' can be successfully performed by repeatedly performing the above-described process.
또한, 데이터 속도가 1/2, 1/4, 1/8 인 경우 데이터를 부호화한 후 프레임 속도에 따라 2, 4, 8번의 심볼 생성 과정을 필요로 하는데, 이러한 과정이 요구되는 프레임에서는 동일한 정보를 가진 파워 콘트롤 그룹이 생성될 지라도 개별적인 파워 콘트롤 그룹의 각각은 중복되지 않는 정보로 이루어진다.In addition, when the data rate is 1/2, 1/4, or 1/8, two, four or eight symbol generation processes are required according to the frame rate after the data is encoded. Even if a power control group with a power is created, each of the individual power control groups is composed of non-overlapping information.
다시 말해서, 본 발명에서는 각 데이터 속도에 따라 중복되지 않는 파워 콘트롤 그룹만을 만들며, 심볼 반복이 요구되는 풀 속도 이외의 데이터 속도의 경우에는 본 발명에서 제안된 EIP 를 통해서 만들어진 파워 콘트롤 그룹을 반복하여 출력함으로써 IS-95 규격에 정의된 심볼 반복 기능을 수행할 수 있다.In other words, in the present invention, only the power control group that does not overlap with each data rate is made, and in the case of data rates other than the full rate requiring symbol repetition, the power control group made through the EIP proposed in the present invention is repeatedly outputted. By doing so, the symbol repetition function defined in the IS-95 standard can be performed.
따라서, 본 발명에서 요구되는 메모리의 크기는 '(데이터 프레임의 크기) * (3 인터리브된 심볼 열) * 2'로써 종래 기술에서 메모리의 크기의 1/2 이하가 된다.Therefore, the size of the memory required in the present invention is '(size of data frame) * (3 interleaved symbol strings) * 2', which is less than 1/2 of the size of the memory in the prior art.
예로써 종래의 CDMA 셀룰러 이동 통신 시스템의 경우 약 1152비트의 메모리가 요구되지만 본 발명에서는 492비트의 메모리 정도면 충분하다.For example, a conventional CDMA cellular mobile communication system requires about 1152 bits of memory, but in the present invention, 492 bits of memory is sufficient.
상기에서 상세히 설명한 바와 같이 본 발명은 메모리에 저장된 프레임 데이터를 인터리브될 순서대로 출력하고 그 출력된 데이터로부터 심볼 데이터를 생성하도록 함으로써 메모리의 사용을 종래보다 1/2 이하로 최소화하여 전체적인 칩의 크기를 줄일 수 있는 효과가 있다.As described in detail above, the present invention outputs the frame data stored in the memory in the order to be interleaved and generates the symbol data from the output data, thereby minimizing the use of the memory to 1/2 or less than before, thereby reducing the overall chip size. There is an effect that can be reduced.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970011061A KR100239727B1 (en) | 1997-03-28 | 1997-03-28 | Encoder of cellullar system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970011061A KR100239727B1 (en) | 1997-03-28 | 1997-03-28 | Encoder of cellullar system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980075013A KR19980075013A (en) | 1998-11-05 |
KR100239727B1 true KR100239727B1 (en) | 2000-01-15 |
Family
ID=19501147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970011061A KR100239727B1 (en) | 1997-03-28 | 1997-03-28 | Encoder of cellullar system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100239727B1 (en) |
-
1997
- 1997-03-28 KR KR1019970011061A patent/KR100239727B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR19980075013A (en) | 1998-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3634004B2 (en) | Convolutional interleaver with reduced memory requirements and address generator | |
US4593393A (en) | Quasi parallel cyclic redundancy checker | |
US4472788A (en) | Shift circuit having a plurality of cascade-connected data selectors | |
JPH0534746B2 (en) | ||
FI78802C (en) | Switching arrangement for encoding and decoding information signals | |
JP3008685B2 (en) | Variable length code decoding circuit | |
KR940010433B1 (en) | Apparatus for decoding variable length code | |
US5257263A (en) | Circuit for decoding convolutional codes for executing the survivor path storage and reverse scanning stage of a Viterbi algorithm | |
JP4808318B2 (en) | Data transfer method of hybrid data I / O for memory application | |
KR100239727B1 (en) | Encoder of cellullar system | |
KR100237651B1 (en) | Encoder of cellullar system | |
JP3549756B2 (en) | Block interleave circuit | |
US5825314A (en) | Variable-length code decoder | |
KR100307285B1 (en) | An address generating and decoding circuit for use in a burst-type and high-speed random access memory device which has a signle data rate and a double data rate scheme | |
US7061988B2 (en) | Interleaver memory access apparatus and method of mobile communication system | |
KR0164097B1 (en) | Apparatus and method for parallel input/serial output | |
KR20040099452A (en) | A memory management algorithm for trellis decoders | |
KR100306580B1 (en) | The path memory device of the Viterbi decoder | |
KR0183171B1 (en) | Interleaver and deinterleaver and method thereof | |
KR20050044156A (en) | Apparatus and method for implementing a inter-leaver with single memory in mobile communication | |
JPH02265329A (en) | Code inverse converter | |
JPH01291526A (en) | Viterbi decoder | |
JPH09214565A (en) | Data transmission device and data reception device | |
JPH0846524A (en) | Path memory | |
JPH01209819A (en) | Variable length coding/decoding system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20050923 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |