KR100949959B1 - Encoded bit puncturing/depuncturing method - Google Patents

Encoded bit puncturing/depuncturing method Download PDF

Info

Publication number
KR100949959B1
KR100949959B1 KR1020020088270A KR20020088270A KR100949959B1 KR 100949959 B1 KR100949959 B1 KR 100949959B1 KR 1020020088270 A KR1020020088270 A KR 1020020088270A KR 20020088270 A KR20020088270 A KR 20020088270A KR 100949959 B1 KR100949959 B1 KR 100949959B1
Authority
KR
South Korea
Prior art keywords
temporary value
puncturing
temp
bits
code bit
Prior art date
Application number
KR1020020088270A
Other languages
Korean (ko)
Other versions
KR20040061961A (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 KR1020020088270A priority Critical patent/KR100949959B1/en
Publication of KR20040061961A publication Critical patent/KR20040061961A/en
Application granted granted Critical
Publication of KR100949959B1 publication Critical patent/KR100949959B1/en

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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • H03M13/6368Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing
    • 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • H04L1/0013Rate matching, e.g. puncturing or repetition of code symbols

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 부호비트 펑처링 및 디펑처링에 관한 것으로 특히 플렉서블 모드를 지원하는 시스템에서의 펑처링 및 디펑처링을 효율적으로 구현할 수 있는 부호비트 펑처링/디펑처링 방법에 관한 것이다. 이와 같은 본 발명 부호비트 펑처링 방법은, 전체 비트수가 L인 부호비트 스트림이 순차적으로 입력되면, 상기 부호비트 스트림의 각 부호비트와 연관된 임시값이 인터리버 사이즈의 배수(2N) 보다 크거나 같은 경우 상기 부호비트 스트림에서 해당 비트를 펑처링하는 단계; 및 상기 임시값에서 인터리버 사이즈(N) 또는 상기 인터리버 사이즈의 배수(2N)를 감하고, 상기 전체 비트수(L)를 더하여 상기 임시값을 갱신하는 단계를 포함하여 이루어진다.The present invention relates to sign bit puncturing and depuncturing, and more particularly, to a sign bit puncturing / depuncturing method capable of efficiently implementing puncturing and depuncturing in a system supporting a flexible mode. In the code bit puncturing method of the present invention, when a code bit stream having a total number of L is sequentially input, a temporary value associated with each code bit of the code bit stream is greater than or equal to a multiple of the interleaver size (2N). Puncturing a corresponding bit in the coded bit stream; And subtracting the interleaver size (N) or the multiple of the interleaver size (2N) from the temporary value and adding the total number of bits (L) to update the temporary value.

부호비트 펑처링Sign bit puncturing

Description

부호비트 펑처링/디펑처링 방법{Encoded bit puncturing/depuncturing method}Coded bit puncturing / depuncturing method

도 1은 본 발명 제 1 실시예에 따른 부호비트 펑처링 방법을 설명하기 위한 플로우차트1 is a flowchart illustrating a sign bit puncturing method according to a first embodiment of the present invention.

도 2는 본 발명 제 1 실시예에 따른 부호비트 펑처링 장치를 설명하기 위한 도면2 is a diagram illustrating a sign bit puncturing apparatus according to a first embodiment of the present invention.

도 3은 본 발명 제 2 실시예에 따른 펑처링된 부호비트의 디펑처링 방법을 설명하기 위한 플로우차트3 is a flowchart for describing a method of depuncturing punctured code bits according to a second embodiment of the present invention.

도 4는 본 발명 제 2 실시예에 따른 펑처링된 부호비트의 디펑처링 장치를 설명하기 위한 도면4 is a view for explaining a depuncturing apparatus for punctured code bits according to a second embodiment of the present invention.

본 발명은 부호비트 펑처링에 관한 것으로 특히 플렉서블 모드를 지원하는 시스템에서의 펑처링을 효율적으로 구현할 수 있는 부호비트 펑처링/디펑처링 방법 에 관한 것이다. The present invention relates to sign bit puncturing, and more particularly, to a sign bit puncturing / depuncturing method capable of efficiently implementing puncturing in a system supporting a flexible mode.

기존의 동기식 CDMA 이동통신 시스템(IS95-0)에서는 프레임(frame) 단위로 데이터(data)를 전송하는데 1 프레임(frame)의 데이터율(data rate)은 고정된 값만( 9.6k,14.4k bps 등등) 사용하였다. In the existing synchronous CDMA mobile communication system (IS95-0), data is transmitted in units of frames, but the data rate of one frame is only a fixed value (9.6k, 14.4k bps, etc.). ) Was used.

차세대 CDMA 시스템(IS95-A이상)에서는 고정된 데이터율(data rate) 뿐만 아니라 임의의 데이터율(data rate)(이하 플렉서블 데이터율(flexible data rate)이라 함)을 이용하여 데이터를 전송할 수 있는 모뎀(modem)의 개발이 요구되어졌다.In next-generation CDMA systems (IS95-A and above), modems can transmit data using a fixed data rate as well as an arbitrary data rate (hereinafter, referred to as a flexible data rate). Development of the mode was required.

플렉서블 데이터율(Flexible data rate)시 송신 단 구조는 임의의 정보 데이터 비트(information data bits), CRC 체크(check)를 위한 CRC 비트(bit)와 테일(tail)이 더해져 사이즈(size)가 I인 인코더 입력비트(encoder input bits)를 형성한다. In the flexible data rate, the transmit end structure has arbitrary information data bits, CRC bits and tails for CRC check, and the size is I. It forms the encoder input bits.

이 I 비트(bits)등은 부호기(encoder)를 거쳐 L 비트(bits)의 부호기 출력 비트(encoder output bits)를 형성한다. 그리고, 사이즈(size)가 N인 인터리버(interleaver)를 거치게 되는데 L과 N의 값에 따라 인코더 출력 비트(encoder output bits)는 반복(repetition)(L<N) 또는 펑처링(puncturing)(L>N)을 수행하게 된다.These I bits and the like form an encoder output bits of L bits through an encoder. Then, an interleaver having a size of N is passed. The encoder output bits are repetition (L <N) or puncturing (L>) according to the values of L and N. N).

수신단에서는 송신단의 역 과정을 수행하여 데이터(data)를 복원한다.The receiver performs the reverse process of the transmitter to restore data.

L>N인 경우에 다음과 같은 방식으로 펑처링(puncturing) 및 디펑처링(de-puncturing)이 수행된다.In the case of L> N, puncturing and de-puncturing are performed in the following manner.

여기서 펑처링 블록으로부터의 k 번째 출력은

Figure 112002044110488-pat00001
번째 입력심볼이다. 이때, k=0에서 N-1. Where the kth output from the puncturing block
Figure 112002044110488-pat00001
Second input symbol. At this time, k-1 to N-1.

그리고 기호

Figure 112002044110488-pat00002
는 소수점 이하 버림을 나타낸다.And symbol
Figure 112002044110488-pat00002
Indicates rounding off.

예를 들어 L이 8이고 N이 6인 경우 송신단의 펑처링(puncturing)과 수신단의 디펑처링(de-puncturing) 동작을 살펴보면, 우선, 송신단에서는 부호기 출력 8비트 중 2비트를 펑처링하여 6비틀를 형성하는데, 부호기 출력 심볼(encoder output symbol)이 S[0], S[1],S[2],S[3],S[4],S[5],S[6],S[7]이라 하면 펑처링 블록(puncturing block)을 통과 후 부호 심볼(symbol)은 S[0], S[1], S[2], S[4], S[5], S[6]이 된다.For example, when L is 8 and N is 6, the puncturing of the transmitter and the de-puncturing of the receiver will be described. First, the transmitter will puncture 2 bits of the 8 bits of the encoder output to puncture 6 bits. Encoder output symbols are S [0], S [1], S [2], S [3], S [4], S [5], S [6], S [7. ], After passing through the puncturing block, the symbol becomes S [0], S [1], S [2], S [4], S [5], and S [6]. .

Figure 112002044110488-pat00003
Figure 112002044110488-pat00003

수신 단에서는 심볼 스트림(symbol stream) S[0], S[1], S[2], S[4], S[5], S[6]을 수신하여 위의 방식으로 펑처링(puncturing)이 발생한 부분을 0으로 삽입하여, S[0], S[1], S[2],0, S[4], S[5], S[6], 0의 부호기 입력 심볼(decoder input symbol)을 형성한다.The receiver receives symbol streams S [0], S [1], S [2], S [4], S [5], and S [6] and punctures them in the above manner. The coded input symbol of S [0], S [1], S [2], 0, S [4], S [5], S [6], and 0 is inserted by inserting the generated portion into zero. ).

그러나 이와 같은 종래 기술은 하드웨어 구현상 나누기 로직이 들어가야 하는데 이는 하드웨어적으로 매우 복잡하고 게이트(gate)도 많이 필요하다는 문제점 이 있다.However, such a prior art has to include a division logic in hardware implementation, which has a problem in that it is very complicated in hardware and requires a lot of gates.

또한, 수신단에서는 복호기 입력 비트(decoder input bit)를 생성하기 위해 L(위 의 예에서는 8)만큼의 클럭(clock) 시간이 필요하게 된다.In addition, the receiver needs clock time as much as L (8 in the above example) to generate a decoder input bit.

그런데, 나누기 연산을 이용하여 계산할 경우는 6클럭(clock)(N)만 요구되어 추가로 필요한 2클럭(clock)동안 클럭(clock)을 제어(control) 할 로직(logic)이 추가로 필요한 문제점도 있다.However, when calculating using a division operation, only six clocks (N) are required, and additional logic is required to control the clock for two additional clocks. have.

본 발명은 상기한 바와 같은 종래 기술의 문제점을 감안하여 안출한 것으로, 플렉서블 모드를 지원하는 시스템에서의 펑처링을 단순히 구현할 수 있는 부호비트 펑처링/디펑처링 방법에 관한 것이다.The present invention has been made in view of the above-described problems of the prior art, and relates to a code bit puncturing / depuncturing method that can simply implement puncturing in a system supporting a flexible mode.

이와 같은 본 발명인 부호비트 펑처링 방법은, 전체 비트수가 L인 부호비트 스트림이 순차적으로 입력되면, 상기 부호비트 스트림의 각 부호비트와 연관된 임시값이 인터리버 사이즈의 배수(2N) 보다 크거나 같은 경우 상기 부호비트 스트림에서 해당 비트를 펑처링하는 단계, 및 상기 임시값에서 인터리버 사이즈(N) 또는 상기 인터리버 사이즈의 배수(2N)를 감하고, 상기 전체 비트수(L)를 더하여 상기 임시값을 갱신하는 단계를 포함를 포함하여 이루어진다.In the code bit puncturing method of the present invention, when a code bit stream having a total number of L is sequentially input, a temporary value associated with each code bit of the code bit stream is greater than or equal to a multiple of the interleaver size (2N). Puncturing the corresponding bit in the coded bit stream, and subtracting an interleaver size (N) or a multiple of the interleaver size (2N) from the temporary value, and adding the total number of bits (L) to update the temporary value. It comprises a step comprising.

바람직하게, 상기 임시값을 갱신하는 단계는, 펑처링된 부호비트와 연관된 상기 임시값은 상기 인터리버 사이즈의 배수(2N)를 감하고, 펑처링되지 않은 부호비트와 연관된 상기 임시값은 상기 인터리버 사이즈(N)를 감한다.Advantageously, updating said temporary value comprises: said temporary value associated with a punctured code bit subtracting a multiple of said interleaver size (2N), and said temporary value associated with an unpunctured code bit is said interleaver size. Subtract (N).

또한 본 발명인 부호비트 디펑처링 방법은, 펑처링된 부호비트 스트림이 순차적으로 입력되면, 상기 펑처링된 부호비트 스트림의 각 부호비트와 연관된 임시값이 디인터리버 사이즈의 배수(2N)보다 크거나 같은 경우 상기 펑처링된 부호비트 스트림에서 해당 비트를 디펑처링하는 단계, 및 상기 임시값에서 상기 디인터리버 사이즈(N)를 감하거나, 상기 임시값에서 펑처링 되기 전의 전체 비트수(L)을 더하고 상기 디인터리버 사이즈(N)를 감하여, 상기 임시값을 갱신하는 단계를 포함하여 이루어진다.In addition, in the present invention, in the case of a punctured code bit stream, when a punctured code bit stream is sequentially input, a temporary value associated with each code bit of the punctured code bit stream is greater than or equal to a multiple of a deinterleaver size (2N). De-punching the corresponding bit in the punctured coded bit stream, and subtracting the deinterleaver size N from the temporary value, or adding the total number of bits L before being punctured in the temporary value Subtracting the deinterleaver size N to update the temporary value.

바람직하게, 상기 제 임시값을 갱신하는 단계는, 디펑처링된 부호비트와 연관된 상기 임시값은 상기 디인터리버 사이즈(N)를 감하고, 디펑처링되지 않은 부호비트와 연관된 상기 임시값은 상기 펑처링 되기 전의 전체 비트수(L)을 더하고 상기 디인터리버 사이즈(N)를 감하여, 상기 임시값을 갱신한다.Advantageously, updating the first temporary value comprises: the temporary value associated with a depunctured code bit subtracts the deinterleaver size (N), and the temporary value associated with a non-depunched code bit is determined by the puncturing. The temporary value is updated by adding the total number of bits L before the subtraction and subtracting the deinterleaver size N.

본 발명의 다른 목적, 특성 및 이점들은 첨부한 도면을 참조한 실시 예들의 상세한 설명을 통해 명백해 질 것이다.Other objects, features and advantages of the present invention will become apparent from the detailed description of the embodiments with reference to the accompanying drawings.

이하, 본 발명에 따른 부호비트 펑처링 장치 및 방법을 첨부된 도면을 참조하여 설명하기로 한다.Hereinafter, a code bit puncturing apparatus and method according to the present invention will be described with reference to the accompanying drawings.

도 1은 본 발명 제 1 실시예에 따른 부호비트 펑처링 방법을 설명하기 위한 플로우차트이고, 도 2는 본 발명 제 1 실시예에 따른 부호비트 펑처링 장치를 설명하기 위한 도면이며, 도 3은 본 발명 제 2 실시예에 따른 펑처링된 부호비트의 디펑처링 방법을 설명하기 위한 플로우차트이고, 도 4는 본 발명 제 2 실시예에 따른 펑처링된 부호비트의 디펑처링 장치를 설명하기 위한 도면이다.FIG. 1 is a flowchart illustrating a sign bit puncturing method according to a first embodiment of the present invention, FIG. 2 is a diagram illustrating a sign bit puncturing apparatus according to a first embodiment of the present invention, and FIG. 4 is a flowchart illustrating a depuncturing method of punctured code bits according to a second embodiment of the present invention, and FIG. 4 is a diagram for describing a depuncturing apparatus of punctured code bits according to a second embodiment of the present invention. to be.

본 발명은 플렉서블 데이터율(flexible data rate)에서 펑처링(puncturing) 이 될 경우에 균일 펑처링(uniform puncturing) 알고리즘인

Figure 112002044110488-pat00004
, k=0~N-1을 효율적으로 구현하는 방법으로 도 1 및 도 3과 같은 방식으로 나타내어진다. The present invention is a uniform puncturing algorithm in the case of puncturing at a flexible data rate.
Figure 112002044110488-pat00004
, k = 0 to N-1 is shown in the same manner as in Figs.

도 1은 송신단에서 응용될 수 있는 방식으로 N클럭(clock)이 소요되는 방식이고 도 3은 수신단에서 응용될 수 있는 방식으로 L클럭(clock)이 소요되는 방식이다. FIG. 1 illustrates a method in which N clocks are required in a method that can be applied at a transmitter, and FIG. 3 illustrates a method in which L clocks are required in a method that can be applied at a receiver.

도 1 내지 도 4에서 L과 N은 각각 부호기 출력 비트 스트림/복호기 입력 비트 스트림(encoder output bit stream/decoder input bit stream)의 전체 비트 수와 인터리버/디인터리버(interleaver/deinterleaver)의 사이즈(size)를 각각 나타내고, i와 k는 각각 인코더 출력 비트 인덱스(encoder output bits index)/디코더 입력 비트 인덱스(decoder input bits index)와 인터리버 입력 데이터 비트 인덱스(interleaver input bit stream index)/디인터리버 출력 데이터 비트 인덱스(deinterleaver output bit stream index)를 각각 나타낸다.In Figures 1 to 4, L and N are the total number of bits of the encoder output bit stream / decoder input bit stream and the size of the interleaver / deinterleaver, respectively. Respectively, i and k denote encoder output bit index / decoder input bit index and interleaver input bit stream index / deinterleaver output data bit index, respectively. (deinterleaver output bit stream index).

도 1에서 S[i]는 인코더 출력 비트 스트림(encoder output bit stream)이고 T[k]는 인터리버 입력 비트 스트림(interleaver input bit stream)이다. In FIG. 1, S [i] is an encoder output bit stream and T [k] is an interleaver input bit stream.

그리고 도 3에서 R[k]는 디인터리버 출력 비트 스트림(deinterleaver output bit stream)이고 SS[i]는 디코더 입력 비트 스트림(decoder input bit stream)이다.In FIG. 3, R [k] is a deinterleaver output bit stream and SS [i] is a decoder input bit stream.

우선, 도 1은 종래 펑처링(puncturing) 방법인

Figure 112002044110488-pat00005
에서 k가 0 ~ N-1까지 순차적으로 증가하므로 kL나누기 N연산을 사용하던 것을 단순히 뺄셈을 이용하여 구현하는 방법에 관한 것이다. First, Figure 1 is a conventional puncturing (puncturing) method
Figure 112002044110488-pat00005
Since k increases sequentially from 0 to N-1, it relates to a method of implementing kL divided by N operation simply by subtraction.

우선 임시값(Temp)을 설정한 후, 설정된 임시값 L이 2N보다 큰가를 판단한다(S11).First, after setting the temporary value Temp, it is determined whether the set temporary value L is greater than 2N (S11).

판단결과(S11), 임시값 L이 크다면, 임시값 L에서 2N을 감한 새로운 임시값'을 만들고, i를 증가(i+1)시킨다(S12). As a result of the determination (S11), if the temporary value L is large, a new temporary value 'obtained by subtracting 2N from the temporary value L is made, and i is increased (i + 1) (S12).

그러나 판단결과(S11), 임시값 L이 크지 않다면 임시값에서 N을 감한 새로운 임시값'을 만든다(S13).However, in the determination result S11, if the temporary value L is not large, a new temporary value 'subtracted from N' is made (S13).

이때, S12 및 S13 단계에서 k가 순차적으로 증가하기 때문에 매 루프(loop)마다 새로운 임시값'에 L을 더하여 상기 임시값을 갱신한다(S14). 그리고 이와 같은 S11 및 S14단계를 k번 반복한다. At this time, since k increases sequentially in steps S12 and S13, the temporary value is updated by adding L to a new temporary value 'for each loop (S14). The steps S11 and S14 are repeated k times.

이와 같은 본 발명 제 1 실시예를 L=8, N=6인 경우를 참조하여 설명하면 다음과 같다.The first embodiment of the present invention will be described with reference to the case where L = 8 and N = 6.

초기(Initial) : temp(임시값) = 8, i=0, k=0 T[0]=S[0]Initial: temp = 8, i = 0, k = 0 T [0] = S [0]

1st : temp(=8) < 12이므로, temp'=2, temp=10, i=1, k=1, T[1]=S[1] no puncturing1 st : temp (= 8) <12, so temp '= 2, temp = 10, i = 1, k = 1, T [1] = S [1] no puncturing

2nd :temp(=10) < 12이므로, temp'=4, temp=12, i=2, k=2, T[2]=S[2] no puncturing2 nd : temp (= 10) <12, so temp '= 4, temp = 12, i = 2, k = 2, T [2] = S [2] no puncturing

3rd : temp(=12) >= 12이므로, temp'=0, temp=8, i=4, k=3, T[3]=S[4] puncturing3 rd : temp (= 12)> = 12, so temp '= 0, temp = 8, i = 4, k = 3, T [3] = S [4] puncturing

4th : temp(=8) < 12이므로, temp'=2, temp=10, i=5, k=4, T[4]=S[5] no puncturing4 th : temp (= 8) <12, so temp '= 2, temp = 10, i = 5, k = 4, T [4] = S [5] no puncturing

5th : temp(=10) < 12이므로, temp'=4, temp=12, i=6, k=5, T[5]=S[6] no puncturing5 th : temp (= 10) <12, so temp '= 4, temp = 12, i = 6, k = 5, T [5] = S [6] no puncturing

그러므로, 인터리버 입력 비트 스트림(Interleaver input bits stream) T[0],···,T[5]는 S[0],S[1],S[2],S[4],S[5],S[6]이 되고, 나누기 연산을 이용한 결과와 동일하게 된다.Therefore, the interleaver input bits stream T [0], ..., T [5] are S [0], S [1], S [2], S [4], S [5]. , S [6], and the same result as the division operation.

도 2는 이와 같은 본 발명 제 1 실시예를 설명하기 위한 하드웨어 구성으로, 먹스(10)와, 먹스(10)의 출력을 입력받아 레지스터(13)의 출력과 덧셈하는 제 1 덧셈기(11)와, 제 1 덧셈기(11)의 출력과 L값을 더하는 제 2 덧셈기(12), 제 2 덧셈기(12)의 출력을 입력받아 비교부(14)로 출력하는 레지스터(13)와, 레지스터(13) 및 2N 값을 입력받아 비교하는 비교부(14)와, 비교부(14)의 출력결과에 따라 부호 비트의 펑처링 및 노 펑처링을 출력하는 출력부(15)로 구성된다. 이와 같은 본 발명 제 1 실시예는 비교부(14)의 출력이 먹스(10)에 인가됨에 따라 먹스(10)에서 -2N 또는 -N값을 먹싱하여 출력한다. FIG. 2 is a hardware configuration for explaining the first embodiment of the present invention, and includes a mux 10, a first adder 11 that receives an output of the mux 10, and adds the output of the register 13 to the output of the mux 10; A register 13 for receiving the output of the first adder 11 and the second adder 12 that adds the L value, and the output of the second adder 12 to the comparator 14, and a register 13. And an output unit 15 for outputting puncturing and no puncturing of sign bits according to an output result of the comparing unit 14. In the first embodiment of the present invention, as the output of the comparison unit 14 is applied to the mux 10, the mux 10 muxes -2N or -N value and outputs the mux.

도 3은 도 1과 유사한 방법으로 도 1은 N만큼 반복하는데 비해 그림 2는 L만큼 반복한다. FIG. 3 is similar to FIG. 1, while FIG. 1 repeats by N, while FIG. 2 repeats by L. FIG.

즉, L-N 만큼 더 반복하는데, 이는 도 1에서 펑처링(puncturing)이 발생하는 경우에 임시값(temp)의 변화량은 L-2N이고, 도 3의 방식도 도 1과 비교하면 디펑처 링(De-puncturing)과 노 펑처링(No-puncturing)이 한번씩 발생하게 된다.That is, it repeats as much as LN, which means that the amount of change in the temp is L-2N when puncturing occurs in FIG. 1, and the method of FIG. -puncturing and no-puncturing occur once.

우선 임시값(Temp)을 설정한 후(S21), 설정된 임시값 L이 2N보다 큰가를 판단한다(S22).First, after setting the temporary value Temp (S21), it is determined whether the set temporary value L is greater than 2N (S22).

판단결과(S22), 임시값 N이 크다면, 디펑처링을 실시하고, 임시값을 새로운 임시값'으로 생성한다(S23). As a result of the determination (S22), if the temporary value N is large, depuncture is performed, and the temporary value is generated as a new temporary value '(S23).

그러나 판단결과(S22), 임시값 N이 크지 않다면 임시값에 L을 더한 새로운 임시값'을 만든다(S24).However, in the determination result (S22), if the temporary value N is not large, a new temporary value 'L' is added to the temporary value '(S24).

이때, S23 및 S24 단계에서 k가 순차적으로 증가하기 때문에 매 루프(loop)마다 새로운 임시값'에 N을 감하여 상기 임시값을 갱신한다(S25). 그리고 이와 같은 S22 및 S25단계를 L번 반복한다. In this case, since k sequentially increases in steps S23 and S24, the temporary value is updated by subtracting N from the new temporary value 'for each loop (S25). Then, the steps S22 and S25 are repeated L times.

이 방식도 예를 들어 설명하면 L=8, N=6인 경우 도 3과 같은 방식을 이용하면 다음과 같다.For example, this method is described in the case of L = 8 and N = 6.

Initial : temp = 6, i=0, k=0Initial: temp = 6, i = 0, k = 0

1st : temp(=6)<12이므로, temp'=14, SS[0]=R[0] k=1,temp=8,i=1 no de-puncturing 1 st : temp (= 6) <12, so temp '= 14, SS [0] = R [0] k = 1, temp = 8, i = 1 no de-puncturing

2nd : temp(=8)<12이므로, temp'=16, SS[1]=R[1] k=2,temp=10,i=2 no de-puncturing2 nd : temp (= 8) <12, so temp '= 16, SS [1] = R [1] k = 2, temp = 10, i = 2 no de-puncturing

3rd : temp(=10)<12이므로, temp'=18, SS[2]=R[2] k=3,temp=12,i=3 no de-puncturing3 rd : temp (= 10) <12, so temp '= 18, SS [2] = R [2] k = 3, temp = 12, i = 3 no de-puncturing

4th : temp(=12)>=12이므로, temp'=12, SS[3]=0 k=3,temp=6, i=4 de-puncturing4 th : temp (= 12)> = 12, so temp '= 12, SS [3] = 0 k = 3, temp = 6, i = 4 de-puncturing

5th : temp(=6)<12이므로, temp'=14, SS[4]=R[3] k=4,temp=8,i=5 no de-puncturing5 th : temp (= 6) <12, so temp '= 14, SS [4] = R [3] k = 4, temp = 8, i = 5 no de-puncturing

6th : temp(=8)<12이므로, temp'=16, SS[5]=R[4] k=5,temp=10,i=6 no de-puncturing6 th : temp (= 8) <12, so temp '= 16, SS [5] = R [4] k = 5, temp = 10, i = 6 no de-puncturing

7th : temp(=10)<12이므로, temp'=18, SS[6]=R[5] k=6,temp=12,i=7 no de-puncturing7 th : temp (= 10) <12, so temp '= 18, SS [6] = R [5] k = 6, temp = 12, i = 7 no de-puncturing

8th : temp(=12)>=12이므로, temp'=12, SS[7]=0 k=6,temp=6, i=8 de-puncturing8 th : temp (= 12)> = 12, so temp '= 12, SS [7] = 0 k = 6, temp = 6, i = 8 de-puncturing

디코더 입력 비트 스트림 SS[0],···,SS[7]은 R[0], R[1], R[2], 0, R[3], R[4], R[5], 0 이고, R[0]=S[0], R[1]=S[1], R[2]=S[2], R[3]=S[4], R[4]=S[5], R[5]=S[6]이다. The decoder input bit streams SS [0], ..., SS [7] are R [0], R [1], R [2], 0, R [3], R [4], R [5], 0, R [0] = S [0], R [1] = S [1], R [2] = S [2], R [3] = S [4], R [4] = S [ 5], R [5] = S [6].

그러므로, SS[0]~SS[7]은 S[0], S[1], S[2],0, S[4], S[5], S[6], 0이 되어 나누기 연산을 이용한 결과와 동일하게 된다.Therefore, SS [0] ~ SS [7] are S [0], S [1], S [2], 0, S [4], S [5], S [6], and 0 to perform the division operation. It is the same as the result used.

도 4는 이와 같은 본 발명 제 2 실시예를 설명하기 위한 하드웨어 구성으로, 먹스(10)와, 먹스(10)의 출력을 입력받아 레지스터(13)의 출력과 덧셈하는 제 1 덧셈기(11)와, 제 1 덧셈기(11)의 출력과 L값을 더하는 제 2 덧셈기(12), 제 2 덧셈 기(12)의 출력을 입력받아 비교부(14)로 출력하는 레지스터(13)와, 레지스터(13) 및 2N 값을 입력받아 비교하는 비교부(14)와, 비교부(14)의 출력결과에 따라 부호 비트의 디펑처링 및 노 디펑처링을 출력하는 출력부(15)로 구성된다. 이와 같은 본 발명 제 1 실시예는 비교부(14)의 출력이 먹스(10)에 인가됨에 따라 먹스(10)에서 0 또는 L값을 먹싱하여 출력한다. 4 is a hardware configuration for explaining the second embodiment of the present invention. The first adder 11 receives the mux 10, the output of the mux 10, and adds the output of the register 13 to the output of the mux 10. A register 13 for receiving the output of the first adder 11 and the second adder 12 that adds the L value, and the output of the second adder 12 to the comparator 14, and a register 13. And a comparator 14 for receiving and comparing 2N values, and an output part 15 for outputting de-punching and no-de-punching of sign bits according to the output result of the comparator 14. In the first exemplary embodiment of the present invention, as the output of the comparator 14 is applied to the mux 10, the mux 10 muxes the 0 or L value.

이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the invention.

따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허청구범위에 의하여 정해져야 한다.Therefore, the technical scope of the present invention should not be limited to the contents described in the embodiments, but should be defined by the claims.

이상에서 설명한 바와 같은 본 발명은 플렉서블 데이터율(flexible data rate)을 지원하는 통신 시스템에서 송신단의 펑처링(puncturing)과 수신 단의 디펑처링(de-puncturing)을 위한 로직을 단순히 할 수 있는 효과가 있다. As described above, the present invention has an effect of simply performing logic for puncturing at the transmitting end and de-puncturing at the receiving end in a communication system supporting a flexible data rate. have.

Claims (4)

전체 비트수가 L인 부호비트 스트림이 순차적으로 입력되면, 상기 부호비트 스트림의 각 부호비트와 연관된 임시값이 인터리버 사이즈의 배수(2N) 보다 크거나 같은 경우 상기 부호비트 스트림에서 해당 비트를 펑처링하는 단계; 및When the code bit stream having the total number of bits L is sequentially input, when the temporary value associated with each code bit of the code bit stream is greater than or equal to a multiple of the interleaver size (2N), the corresponding bit is punctured in the code bit stream. step; And 상기 임시값에서 인터리버 사이즈(N) 또는 상기 인터리버 사이즈의 배수(2N)를 감하고, 상기 전체 비트수(L)를 더하여 상기 임시값을 갱신하는 단계를 포함하는,Subtracting an interleaver size (N) or a multiple of the interleaver size (2N) from the temporary value and adding the total number of bits (L) to update the temporary value; 부호비트 펑처링 방법.Sign bit puncturing method. 제 1 항에 있어서, The method of claim 1, 상기 임시값을 갱신하는 단계는,The updating of the temporary value may include: 펑처링된 부호비트와 연관된 상기 임시값은 상기 인터리버 사이즈의 배수(2N)를 감하고, 펑처링되지 않은 부호비트와 연관된 상기 임시값은 상기 인터리버 사이즈(N)를 감하는,The temporary value associated with a punctured sign bit subtracts a multiple of the interleaver size (2N), and the temporary value associated with an unpunched sign bit subtracts the interleaver size (N), 부호비트 펑처링 방법.Sign bit puncturing method. 펑처링된 부호비트 스트림이 순차적으로 입력되면, 상기 펑처링된 부호비트 스트림의 각 부호비트와 연관된 임시값이 디인터리버 사이즈의 배수(2N)보다 크거나 같은 경우 상기 펑처링된 부호비트 스트림에서 해당 비트를 디펑처링하는 단계; 및When a punctured code bit stream is sequentially input, when a temporary value associated with each code bit of the punctured code bit stream is greater than or equal to a multiple of a deinterleaver size (2N), the punctured code bit stream corresponds to the punctured code bit stream. Depuncturing the bits; And 상기 임시값에서 상기 디인터리버 사이즈(N)를 감하거나, 상기 임시값에서 펑처링 되기 전의 전체 비트수(L)을 더하고 상기 디인터리버 사이즈(N)를 감하여, 상기 임시값을 갱신하는 단계를 포함하는, Subtracting the deinterleaver size N from the temporary value or adding the total number of bits L before being punctured from the temporary value and subtracting the deinterleaver size N to update the temporary value. doing, 부호비트 디펑처링 방법.Sign bit depuncturing method. 제 3 항에 있어서, The method of claim 3, wherein 상기 제 임시값을 갱신하는 단계는,The updating of the first temporary value may include: 디펑처링된 부호비트와 연관된 상기 임시값은 상기 디인터리버 사이즈(N)를 감하고, 디펑처링되지 않은 부호비트와 연관된 상기 임시값은 상기 펑처링 되기 전의 전체 비트수(L)을 더하고 상기 디인터리버 사이즈(N)를 감하여, 상기 임시값을 갱신하는,The temporary value associated with a depunctured sign bit subtracts the deinterleaver size (N), the temporary value associated with a non-depunctured sign bit adds the total number of bits (L) before the punctured and the deinterleaver. Subtracting the size (N) and updating the temporary value, 부호비트 디펑처링 방법.Sign bit depuncturing method.
KR1020020088270A 2002-12-31 2002-12-31 Encoded bit puncturing/depuncturing method KR100949959B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020088270A KR100949959B1 (en) 2002-12-31 2002-12-31 Encoded bit puncturing/depuncturing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020088270A KR100949959B1 (en) 2002-12-31 2002-12-31 Encoded bit puncturing/depuncturing method

Publications (2)

Publication Number Publication Date
KR20040061961A KR20040061961A (en) 2004-07-07
KR100949959B1 true KR100949959B1 (en) 2010-03-29

Family

ID=37353445

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020088270A KR100949959B1 (en) 2002-12-31 2002-12-31 Encoded bit puncturing/depuncturing method

Country Status (1)

Country Link
KR (1) KR100949959B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990053523A (en) * 1997-12-24 1999-07-15 전주범 Cable modem downstream system The puncturing device of the TCM encoder
KR20000067738A (en) * 1999-04-14 2000-11-25 서평원 Rate matching Method for channel code in mobile communication system
KR20020019970A (en) * 1999-08-12 2002-03-13 밀러 럿셀 비 Method and apparatus for coherent demodulation in communication system employing a potentially gated pilot signal
KR20020029339A (en) * 2000-05-01 2002-04-18 비센트 비.인그라시아, 알크 엠 아헨 Method and apparatus for determining the frame rate of a frame

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990053523A (en) * 1997-12-24 1999-07-15 전주범 Cable modem downstream system The puncturing device of the TCM encoder
KR20000067738A (en) * 1999-04-14 2000-11-25 서평원 Rate matching Method for channel code in mobile communication system
KR20020019970A (en) * 1999-08-12 2002-03-13 밀러 럿셀 비 Method and apparatus for coherent demodulation in communication system employing a potentially gated pilot signal
KR20020029339A (en) * 2000-05-01 2002-04-18 비센트 비.인그라시아, 알크 엠 아헨 Method and apparatus for determining the frame rate of a frame

Also Published As

Publication number Publication date
KR20040061961A (en) 2004-07-07

Similar Documents

Publication Publication Date Title
US7346835B1 (en) Method for adapting of the data rate in a communications apparatus, and a corresponding communications apparatus
US20070168835A1 (en) Serial communications system and method
RU2008152401A (en) MOVING DEVICE AND RECEIVER FOR SIGNAL FORMED BY MOVING DEVICE
JPS62151032A (en) Error correction coder
CN109245853B (en) Polarization code-based synchronization-free communication method
CN110476357B (en) Polarization code transmission method and device
US7415263B2 (en) Receiver for a wireless communication device
CN113507289B (en) Encoder, decoder and code word generation method
US10581464B2 (en) Encoder device, decoder device, and methods thereof
US7114121B2 (en) Rate matching device and rate matching method
JP4847679B2 (en) Method and communication device for matching data rates in a communication device
KR100949959B1 (en) Encoded bit puncturing/depuncturing method
KR20050054405A (en) Rate matching method and apparatus for multiplexing channels with different transmission time intervals in communication systems
EP1883162A1 (en) Non-periodic puncturing of turbo codes and convolutional codes
JP2002199048A (en) Rate matching/dematching processor
CA2414363A1 (en) Method and apparatus for flexible data rate matching by symbol insertion for a data communication system
KR100348279B1 (en) Soft Handover using Rate Matching for WCDMA
KR20050085400A (en) Parallelized sliding-window map decoding
KR100845830B1 (en) Method for puncturing of coded bits
KR100880630B1 (en) Transmission chain in communication system and method for transmitting and detecting physical channel format uging the same
Zbaid et al. Design and Implementation of Convolutional Encoder and Viterbi Decoder Using FPGA.
KR100396827B1 (en) Parallel convolutional encoder in data transmission system
KR100813038B1 (en) Method and apparatus for data processing in a transmission chain
KR100710348B1 (en) Flexible Rate Puncturing Method
RU2223598C2 (en) Method for decoding variable-length noise- immune concatenated code

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
LAPS Lapse due to unpaid annual fee