KR100640910B1 - 이동 통신 시스템에서 레이트 매칭 방법 - Google Patents
이동 통신 시스템에서 레이트 매칭 방법 Download PDFInfo
- Publication number
- KR100640910B1 KR100640910B1 KR1019990027352A KR19990027352A KR100640910B1 KR 100640910 B1 KR100640910 B1 KR 100640910B1 KR 1019990027352 A KR1019990027352 A KR 1019990027352A KR 19990027352 A KR19990027352 A KR 19990027352A KR 100640910 B1 KR100640910 B1 KR 100640910B1
- Authority
- KR
- South Korea
- Prior art keywords
- code
- puncturing
- bit
- rate matching
- convolutional
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65H—HANDLING THIN OR FILAMENTARY MATERIAL, e.g. SHEETS, WEBS, CABLES
- B65H23/00—Registering, tensioning, smoothing or guiding webs
- B65H23/04—Registering, tensioning, smoothing or guiding webs longitudinally
- B65H23/048—Registering, tensioning, smoothing or guiding webs longitudinally by positively actuated movable bars or rollers
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65H—HANDLING THIN OR FILAMENTARY MATERIAL, e.g. SHEETS, WEBS, CABLES
- B65H2301/00—Handling processes for sheets or webs
- B65H2301/40—Type of handling process
- B65H2301/44—Moving, forwarding, guiding material
- B65H2301/443—Moving, forwarding, guiding material by acting on surface of handled material
- B65H2301/4431—Moving, forwarding, guiding material by acting on surface of handled material by means with operating surfaces contacting opposite faces of material
- B65H2301/44318—Moving, forwarding, guiding material by acting on surface of handled material by means with operating surfaces contacting opposite faces of material between rollers
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65H—HANDLING THIN OR FILAMENTARY MATERIAL, e.g. SHEETS, WEBS, CABLES
- B65H2404/00—Parts for transporting or guiding the handled material
- B65H2404/10—Rollers
- B65H2404/15—Roller assembly, particular roller arrangement
- B65H2404/152—Arrangement of roller on a movable frame
- B65H2404/1521—Arrangement of roller on a movable frame rotating, pivoting or oscillating around an axis, e.g. parallel to the roller axis
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65H—HANDLING THIN OR FILAMENTARY MATERIAL, e.g. SHEETS, WEBS, CABLES
- B65H2701/00—Handled material; Storage means
- B65H2701/30—Handled filamentary material
- B65H2701/37—Tapes
- B65H2701/377—Adhesive tape
Landscapes
- Error Detection And Correction (AREA)
Abstract
본 발명은 이동 통신 시스템에 관한 것으로, 특히 W-CDMA 이동 통신 시스템의 레이트 매칭 방법에 있어서 컨벌루션 코드와 터보 코드에 대하여 공통으로 사용할 수 있는 이동 통신 시스템에서 레이트 매칭 방법에 관한 것이다. 이와 같은 본 발명에 따른 이동 통신 시스템에서 레이트 매칭 방법은 임의의 코드율을 갖는 소정 비트열에 대하여 코드 심볼을 기준으로 하여 펑처링 또는 반복 알고리즘이 수행되는 것을 특징으로 하는 이동 통신 시스템에서, 주어진 식별 정보에 따라 상기 비트열의 채널 코드를 식별하고, 상기 식별된 채널 코드에 따라 상기 코드 심볼내의 펑처링 또는 반복 위치를 각각 다르게 결정하여 수행되므로서 컨벌루션 코드 및 터보 코드에서 공통으로 사용할 수 있는 통합된 레이트 매칭 알고리즘을 제공하여 코드율에 따른 최적화된 펑처링/반복 패턴을 제공하여 코드의 성능 저하를 방지할 수 있는 효과가 있다.
컨벌루션 코드, 터보 코드, 레이트 매칭
Description
도 1은 본 발명에 따른 이동 통신 시스템에서 레이트 매칭 방법을 설명하기 위한 개념도.
본 발명은 이동 통신 시스템에 관한 것으로, 특히 W-CDMA 이동 통신 시스템의 레이트 매칭 방법에 있어서 컨벌루션 코드와 터보 코드에 대하여 공통으로 사용할 수 있는 이동 통신 시스템에서 레이트 매칭 방법에 관한 것이다.
우선, 레이트 매칭 알고리즘에 대하여 간략히 언급한다.
레이트 매칭 알고리즘(Rate matching algorithm)은 채널 부호기로부터 출력되는 비트열의 코드율(Code rate)을 임의의 값에 맞추기 위해서 채널 부호기의 출력 비트열을 펑처링(Puncturing) 또는 반복(Repetition)하는 알고리즘으로 현재 차세대 이동 통신 시스템의 기술적인 표준을 규정하고 있는 제 3세대 공동 프로젝트(3GPP, Third Generation Partnership Project)에서 연구되고 있다.
현재 제 3세대 공통 프로젝트에서는 W-CDMA 이동 통신 시스템의 전송 멀티플 렉싱(Transport multiplexing)을 위한 레이트 매칭 방법으로서 컨벌루션 코드(Convolution code) 또는 터보 코드(Turbo code)에 대한 펑처링/반복 알고리즘을 규정하여 W-CDMA 규격에 제안하고 있다. 이러한 W-CDMA 규격에 제안되어 있는 레이트 매칭 알고리즘은 비트 단위를 기본으로 하여 펑처링/반복이 수행되는 것으로 컨벌루션 코드 또는 터보 코드에 대하여 동일한 알고리즘이 적용된다.
지금부터는 W-CDMA 규격에 제안되어 있는 컨벌루션 코드 또는 터보 코드의 레이트 매칭 방법에 대하여 보다 상세히 설명한다.
먼저, 컨벌루션 코드에 대한 펑처링은 펑처링 되는 비트들의 위치를 고려하여 가능한 등간격으로 균일하게 실시된다. 따라서, 컨벌루션 코드에 대한 균일 펑처링 조건을 만족하기 위하여 전체 시퀀스에 대하여 비트 단위로 펑처링 거리 n 을 구하고, 구해진 n 번째 비트마다 펑처링이 실시된다.
예를 들어, 펑처링 거리가 5 라면 전체의 시퀀스에 대하여 5의 거리마다 한번씩 펑처링이 수행된다. 그러나, 펑처링 거리가 5.5 라면 5의 거리를 갖는 펑처링이 절반만큼 실시되고 나마지 절반은 6의 거리를 갖도록 펑처링이 실시된다.
이때, 터보 코드에 대하여 현재 제안되어 있는 펑처링 알고리즘에 따르면 터보 코드는 비트 단위가 아닌 코드 심볼(Code symbol) 단위를 기준으로 하여 각 펑처링되는 코드 심볼들간에 균일성이 유지되도록 펑처링이 실시된다. 따라서, 터보 코드에 대한 펑처링 알고리즘은 먼저 펑처링이 일어날 코드 심볼의 위치를 정한 후, 첫 번째 패리티 성분과 두 번째 패리티 성분을 교대로 펑처링 되도록 동작한다.
이와는 달리 코드 심볼 단위로 펑처링이 일어날 수 있는 위치를 이전 위치로부터 2배의 거리만큼 차이가 나도록 정한 후, 각각의 펑처링이 일어나는 코드 심볼마다 첫 번째 패리티 성분과 두 번째 패리티 성분을 동시에 펑처링하는 방법도 제안되어 있다.
그러나, 이와 같은 종래 컨벌루션 코드 또는 터보 코드에 대한 레이트 매칭 방법은 알고리즘의 파라미터에 따라 변하는 코드 심볼내에서의 펑처링/반복 패턴에 대한 최적화가 고려되지 않음으로서 다음과 같은 문제점이 발생한다.
첫 째, 터보 코드는 각각의 코드 비트 성분들이 서로 다른 중요도를 갖는다는 점을 고려하지 않고 펑처링/반복이 수행된다. 즉, 시스테메틱 비트 성분들이 패리티 비트 성분들에 비하여 중요한 역할을 수행하는 점을 고려하여 시스테메틱 비트 성분들에 대한 펑처링을 배재하는 것이 보다 우수한 성능을 제공할 수 있으나 종래의 레이트 매칭 방법에서는 시스테메틱 비트 성분의 펑처링에 대한 보호 매카니즘이 제공되지 않아 코드 성능의 열화가 발생한다.
또한, 터보 코드는 펑처링에 의하여 1/2 코드율을 구성할 수 있으나 종래의 방법으로는 1/2 코드율에 대한 최적화된 펑처링/반복 패턴을 제공하지 못한다.
둘 째, 컨벌루션 코드의 경우, 컨벌루션 코드는 터보 코드와 마찬가지로 코드 심볼내에서 상대적으로 중요한 역할을 수행하는 비트들이 존재하는데 반하여 종래의 레이트 매칭 방법에서는 이에 대한 펑처링/반복 패턴을 제공하지 못한다. 예를 들어, 이동 통신 시스템에서 많이 사용되고 있는 256 상태 1/3 코드율을 갖는 컨벌루션 코드를 고려해보면, 컨벌루션 코드의 세 번째 비트열은 첫 번째 및 두 번 째의 비트열에 비하여 상대적으로 가장 중요한 역할을 수행하는 비트들이나 종래의 레이트 매칭 방법에서는 구성 파라미터에 따라 세 번째 비트열 만을 펑처링하는 경우가 발생하여 코드 성능의 저하가 발생한다.
따라서, 본 발명의 목적은 이상에서 언급한 종래 기술의 문제점을 감안하여 안출한 것으로서, 컨벌루션 코드와 터보 코드에서 공통으로 사용할 수 있도록 통합된 형태로 구성되며 또한 해당 코드의 코드율에 따라 최적화된 펑처링/반복 패턴을 발생할 수 있는 이동 통신 시스템에서 레이트 매칭 방법을 제공하기 위한 것이다.
또한, 이상과 같은 다른 목적을 달성하기 위한 본 발명의 다른 특징에 따르면, 컨벌루션 코드에 대하여 심볼 단위로서 펑처링/반복을 실시할 경우에 펑처링/반복이 발생하는 코드 심볼의 위치를 코드율 및 각 코드 심볼의 중요도에 따라 다르게 변화시킴으로서 코드 성능을 높일 수 있는 이동 통신 시스템에서 레이트 매칭 방법을 제공하기 위한 것이다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 특징에 따르면, 이동 통신 시스템에서 레이트 매칭 방법은 임의의 코드율을 갖는 소정 비트열에 대하여 코드 심볼을 기준으로 하여 펑처링 또는 반복 알고리즘이 수행되는 것을 특징으로 하는 이동 통신 시스템에서, 주어진 식별 정보에 따라 상기 비트열의 채널 코드를 식별하고, 상기 식별된 채널 코드에 따라 상기 코드 심볼내의 펑처링 또는 반복 위치를 각각 다르게 결정하여 수행된다.
바람직하게, 상기 식별된 채널 코드의 형태가 컨벌루션 코드일 경우, 상기 펑처링은 상기 컨벌루션 코드의 비트열 중에서 가장 낮은 중요도를 갖는 비트열의 코드 심볼부터 순차적으로 실시한다.
삭제
본 발명에 따른 이동 통신 시스템에서 레이트 매칭 방법은, 채널 코딩된 비트열에 대하여 코드 심볼을 기준으로 레이트 매칭(rate matching)을 수행하는 방법에 있어서, 특정 식별 정보에 따라 상기 채널 코딩에 사용된 채널 코드를 식별하는 단계와, 상기 식별된 채널 코드에 따라 상기 비트열에 대하여 펑처링 또는 반복 위치를 가변시켜 펑처링(puncturing) 또는 반복(repetition)을 수행하는 단계를 포함하여 구성됨을 특징으로 한다.
이하 본 발명의 바람직한 일 실시 예에 따른 구성 및 작용을 첨부된 도면을 참조하여 설명한다.
본 발명에서는 컨벌루션 코드 및 터보 코드에 대하여 공통으로 사용할 수 있는 통합된 형태의 레이트 매칭 방법을 제안한다. 이때, 본 발명에 따른 레이트 매칭 방법은 코드 심볼을 단위로 하며, 각 코드에 대한 펑처링/반복의 위치는 알고리즘이 적용되는 채널 부호의 형태에 따라 각각 다르게 구성된다.
이하 본 발명의 바람직한 일 실시 예에 따른 구성 및 작용을 첨부된 도면을 참조하여 설명한다.
본 발명에서는 컨벌루션 코드 및 터보 코드에 대하여 공통으로 사용할 수 있는 통합된 형태의 레이트 매칭 방법을 제안한다. 이때, 본 발명에 따른 레이트 매칭 방법은 코드 심볼을 단위로 하며, 각 코드에 대한 펑처링/반복의 위치는 알고리즘이 적용되는 채널 부호의 형태에 따라 각각 다르게 구성된다.
도 1은 본 발명에 따른 이동 통신 시스템에서 레이트 매칭 방법을 설명하기 위한 개념도 이다.
도 1을 참조하면, 본 발명에 따른 레이트 매칭 방법에서는 펑처링/반복 수행시 코드 심볼 단위를 기준으로 하여 실시되며, 이때 알고리즘에 적용되는 채널 부호의 식별 정보 파라미터(100)에 따라 펑처링/반복의 심볼내 위치를 변화시킨다.
따라서, 레이트 매칭이 이루어지야할 블록(102)은 채널 부호의 식별 정보 파라미터(100)에 따라 채널 부호가 식별되며, 그에 따라 코드 심볼을 단위로 하는 레이트 매칭 알고리즘(101)은 펑처링/반복을 수행한다(102).
이러한 코드 심볼을 단위 하는 컨벌루션 코드 및 터보 코드에 대한 레이트 매칭 방법은 다음과 같은 흐름에 따라 실시된다.
1 단계, 초기치를 정한다.
2 단계, 감분값을 계산한다.
3 단계, 한 개 또는 그 이상의 심볼 단위로 다음 루프를 진행시킨다.
4 단계, 초기치에서 계속해서 감분값을 빼주어 그 결과값이 '0' 보다 작은 값을 가질 경우 펑처링/반복 알고리즘을 실시한다. 이때, 결과값의 범위를 '0' 이외의 범위를 갖도록 알고리즘을 구성할 수 있다. 그리고, 이하의 실시예에서 제시할 알고리즘에서는 초기치를 'e' 로서 나타내고, 2 단계는 'e = e - 감분값'으로 나타내도록 한다.
지금부터는 본 발명에 따른 레이트 매칭 방법을 컨벌루션 코드와 터보 코드일 경우로 각각 나누어서 설명한다.
제 1 실시예
제 1 실시예에서는 256 상태수를 갖으며 1/2 또는 1/3 코드율을 갖는 컨벌루션 코드에 대한 레이트 매칭 방법을 설명한다. (컨벌루션 코드의 발생 다항식은 (561, 753), (557, 663, 711) 이며 터미네이션이 이루어지는 것으로 가정한다.)
우선, 1/2 코드율을 갖는 컨벌루션 코드의 경우, 코드 심볼내의 비트 위치에서 첫 번째와 두 번째의 순서로 중요도를 갖는다. 이때, 컨벌루션 코드에 대한 중요도의 결정은 해밍 거리(Hamming distance)로서 결정한다. 즉, 첫 번째 비트열의 해밍 거리와 두 번째 비트열의 해밍 거리를 산출하여 해밍 거리가 높은 비트열이 중요도가 높은 것으로 판단한다.
따라서, 1/2 코드율을 갖는 컨벌루션 코드에서는 코드 심볼 내에서 첫 번째에 위치한 비트 성분들의 해밍 거리가 두 번째에 위치한 비트 성분들의 해밍 거리 에 비하여 높으므로 첫 번째에 위치한 비트 성분들이 두 번째에 위치한 비트 성분들 보다 중요한 역할을 수행하고 있는 것으로 판단할 수 있다.
그러므로, 두 번째에 위치한 비트 성분에 대하여 우선적으로 펑처링하고, 이어 첫 번째에 위치한 비트 성분들을 펑처링한다. 이는 코드 심볼내에서 펑처링의 발생 위치를 각 성분 비트의 중요도에 따라 다르게 변화하고 있음을 알 수 있다.
한편, 반복은 펑처링을 실시할 경우와는 반대로 첫 번째에 위치한 비트 성분에 대하여 우선적으로 실시하고, 이어 두 번째에 위치한 비트 성분들을 반복한다. 이는 중요한 비트 성분에 대하여 우선적으로 반복을 실시하기 위함이다.
한편, 1/3 코드율을 갖는 컨벌루션 코드의 경우에는 코드 심볼내의 비트 위치에서 세 번째, 두 번째 그리고 첫 번째의 순서로 중요도를 갖는다. 이것은 첫 번째 비트열의 해밍 거리가 5이고, 두 번째 비트열은 6 그리고 세 번째 비트열은 7의 해밍 거리를 갖는 것으로 중요도를 판단할 수 있다.
따라서, 코드 심볼 내에서 세 번째에 위치한 비트 성분들이 두 번째 및 첫 번째에 비하여 보다 중요한 역할을 수행하므로 중요도가 가장 낮은 첫 번째에 위치한 비트 성분에 대하여 우선적으로 펑처링하고, 이어 두 번째 그리고 세 번째에 위치한 비트들을 순차적으로 펑처링한다.
한편, 반복은 펑처링을 실시할 경우와는 반대로 중요한 코드 심볼에 대하여 우선적으로 실시하므로 세 번째에 위치한 비트 성분을 먼저 반복하고, 이어 두 번째 그후 첫 번째에 위치한 비트 성분들을 반복한다.
위의 경우는 비터비 복호 과정이 터미네이션 정보를 이용하여 구성되는 경우 에 해당하고 터미네이션 정보를 이용하지 않는 경우에 있어서의 심볼내 펑처링 패턴은 다른 양상을 보이고 이러한 패턴을 시뮬레이션을 통하여 얻어진다. 위의 경우와 다른 상황을 나타내는 경우는 1/3 컨벌루션 코드에 관한 경우로 터미네이션 정보를 이용하지 않는 경우 심볼내 두 번째 비트를 펑처링하는 것이 최적의 성능을 나타낸다.
이와 같은 순서를 갖도록 구성되는 컨벌루션 코드에 대한 레이트 매칭 알고리즘은 다음과 같이 구성된다.
우선, 컨벌루션 코드에 대한 레이트 매칭 알고리즘에 대한 설명의 편의를 위해서 다음과 같이 정의한다. (코드율 = 1/n)
1. SN = { N1, N2, ..... , NL} = 블록당 가능한 수의 순서화된 집합(상향 순서로)
2. NC = 레이트 매칭이 이루어져야 할 블록 크기 = nN
3. S0 = { d1, d2, ..... , dNc } = NC 데이터 비트 집합
그러면, 컨벌루션 코드에 대한 레이트 매칭 알고리즘은 다음과 같다.
- 펑처링의 경우
y = Nc - Ni
e = N
m = l
count = 0
if(n == 2)
Xn = 0
endif
if(n == 3)
Xn = 2
endif
do while m ≤ N
e = e - 2 * y
if e ≤ 0 then
puncture bit n * m - Xn from set S0
count = count + 1
e = e + 2 * N
endif
m = m + 1
end do
- 반복의 경우
y = Ni - Nc
e = N
m = 1
if(n==2)
Xn1 = 1, Xn2 = 0
endif
if(n==3)
Xn1 = 0, Xn2 = 1, Xn3 = 2
endif
do while m≤ N
e = e - 2 * y
if(e ≤ - 4 * N)&&(n==3) then
repeat bit n*m - Xn3 from set S0
e = e + 2 * N
end if
if e ≤ -2 * N then
repeat bit n * m - Xn2 from set S0
e = e + 2 * N
endif
if e ≤ 0 then
repeat bit n * m - Xn1 from set S0
e = e + 2 * N
end if
m = m + 1
end do
end if
한편, 터미네이션 정보를 이용하지 않은 경우, 위의 알고리즘에서 심볼내 첫 번째 비트위치를 펑쳐링하는 것이 두 번째 비트 위치로 바뀌면 적절하게 알고리즘이 변환된다.
종래의 알고리즘을 고려하면, 초기치의 값을 A라고 할때 A/(6*n) (n=1보다 큰 자연수)의 펑처링이 발생하는 경우 항상 세 번째 비트가 펑처링 된다. 세 번째 비트의 펑처링은 성능의 열화를 가져오므로 이러한 문제를 완전히 방지하기 위해서 초기치를 1로서 설정한다.
제 2 실시예
제 2 실시예에서는 임의의 코드율을 갖는 터보 코드에 대한 레이트 매칭 방법을 설명한다.
터보 코드는 길쌈 부호기로부터 출력되는 비트 성분 중에서 부호화 되지 않은 시스테메틱 성분 비트가 패리티 성분 비트보다 정보 전송의 측면에서 상대적으로 중요한 성질을 가지는 것을 고려하여 다음과 같은 규칙을 가지며 펑처링/반복이 실시된다.
첫째, 시스테매틱 성분 비트는 펑처링하지 않는다.
둘째, 패리티 성분 비트간의 균형적인 펑쳐링이 실시된다. 즉, 첫 번째 패리티 성분 비트와 두 번째 패리티 성분 비트는 각각 펑처링된 비트수가 같다.
셋째, 각 패리티 성분 비트간에 균일한 펑처링이 실시된다. 이는 첫 번째 패리티 성분 비트와 두 번째 패리티 성분 비트가 일정한 거리를 갖는 패턴으로 펑처링됨을 의미한다.
넷째, 반복의 경우에는 시스테매틱 성분 비트만을 반복한다.
이때, 코드 심볼 개수 이상의 펑처링/반복이 실시되는 경우에는 첫 번째 패리티 성분 비트와 두 번째 패리티 성분 비트의 균형을 맞추기 위하여 초기치에서 계속해서 감분값을 빼주고 '0'보다 범위 이외의 여러 가지 범위를 추가로 설정하여 해당 범위에 따라 최적화된 펑처링/반복을 실시한다.
따라서, 이러한 코드 심볼 개수 이상의 펑처링/반복이 실시되는 경우, 펑처링은 첫 번째 패리티 성분 비트와 두 번째 패리티 성분 비트를 번갈아가며 실시하며, 이후 특정 범위에 해당하는 지점에서 동일한 비트 인덱스를 가지는 첫 번째 패리티 성분 비트와 두 번째 패리티 성분 비트를 동시에 펑처링한다. 그리고, 반복은 시스테메틱 성분 비트를 먼저 반복하고, 코드 심볼 개수 이상의 반복에 대해서는 두 번째 패리티 성분 비트, 이후 첫 번째 패리티 성분 비트에 대하여 반복한다.
또한, 터보 코드에서는 터미네이션 비트(Termination bit)들이 상대적으로 중요한 역할을 수행하므로 본 발명에 따른 레이트 매칭 방법에서는 터미네이션 비트 부분에 대하여 펑처링이 발생하지 않도록 펑처링 알고리즘의 초기치를 조절한다. 바람직하게는 초기치를 '1'로 설정하여 가능한 한 터미네이션 비트 부분에서의 펑처링을 배제한다.
이러한, 코드 심볼 단위의 펑처링/반복 패턴을 제공하는 터보 코드에 대한 레이트 매칭 방법은 컨벌루션 코드와 통합하여 구성할 수 있으며 다음과 같다.
우선, 컨벌루션 코드와 터보 코드의 통합된 레이트 매칭 알고리즘에 대하여 설명의 편의를 위해 다음과 같이 정의한다. (코드율 = 1/n)
1. SN = { N1, N2, ..... , NL} = 블록당 가능한 수의 순서화된 집합(상향 순서로)
2. NC = 레이트 매칭이 이루어져야 할 블록 크기 = nN
3. S0 = { d1, d2, ..... , dNc } = NC 데이터 비트 집합
그러면, 컨벌루션 코드와 터보 코드에 대한 통합된 레이트 매칭 알고리즘은 다음과 같다.
- 펑처링의 경우
y = Nc - Ni
e = N
m = l
flag = 0
if(n == 2)
Xn = 0
endif
if(n == 3)
Xn = 2
do while m ≤ N
e = e - 2 * y
if e ≤ -2 * N then
puncture bit n * m, n * m-1 from set S0
e = e + 4 * N
endif
if e ≤ 0 then
if(convolutional code)
puncture bit n * m - Xn from set S0
endif
if(turbo code)
if flag == 0
puncture bit n*m from set S0
flag = 1
endif
if flag == 1
puncture bit n * m-1 from set S0
flag = 0
endif
endif
e = e + 2 * N
endif
m = m + 1
end do
- 반복의 경우
y = Ni - Nc
e = N
m = l
if(n == 2)
Xn1 = 1, Xn2 = 0
endif
if(n == 3)
Xn1 = 0, Xn2 = 1, Xn3 = 2
endif
if(turbo code)
Xn1 = 2, Xn2 = 0, Xn3 = 1 or Xn1 = 2, Xn2 = 1, Xn3 = 0
endif
do while m ≤ N
e = e - 2 * y
if(e ≤ -4N)&&(n==3) then
repeat bit n * m - Xn3 from set S0
e = e + 2 * N
end if
if e ≤ -2 * N then
repeat bit n * m - Xn2 from set S0
e = e + 2 * N
end if
if e ≤ 0 then
repeat bit n * m - Xn1 from set S0
e = e + 2 * N
end if
m = m + 1
end do
end if
제 3 실시예
제 3 실시예에서는 컨벌루션 코드에 대하여 펑처링/반복시 다수의 코드 심볼을 기준으로 심볼내의 위치를 다르게 하여 실시하는 경우를 설명한다.
즉, 종래의 컨벌루션 코드에 대한 펑처링은 비트열의 코드 심볼내 한 위치에서만 균일하게 실시하였으나 본 발명에서는 이를 확장하여 다른 비트열의 코드 심볼을 기준으로 번갈아가며 펑처링을 실시할 수 있다. 이는 터보 코드에 대한 레이트 매칭 알고리즘을 컨벌루션 코드에서도 적용할 수 있음을 의미한다.
이러한 컨벌루션 코드에 대한 레이트 매칭 알고리즘을 다음에 나타낸다. 이하에서 나타낸 알고리즘은 1/2 코드율을 갖는 컨벌루션 코드를 기준으로 한다.
- 펑처링의 경우
y = Nc - Ni
e = N
m = l
flag = 0
do while m ≤ N
e = e - 2 * y
if e ≤ 0 then
if flag == 0
puncture bit 2 * m from set S0
flag = 1
end if
if flag == 1
puncture bit 2 * m - 1 from set S0
flag = 0
end if
e = e + 2 * N
endif
m = m + 1
end do
이와 같은 경우에 있어서 컨벌루션 코드와 터보 코드의 통합된 레이트 매칭 알고리즘은 다음과 같다.
- 펑처링의 경우
y = Nc - Ni
e = N
m = l
flag = 0
if(n == 3)
Xn = 2
do while m ≤ N
e = e - 2 * y
if e ≤ -2 * N then
puncture bit n * m, n * m-1 from set S0
e = e + 4 * N
endif
if e ≤ 0 then
if((convolutional code)&&(n=3))
puncture bit n * m - Xn from set S0
endif
if((turbo code))∥((convolutional code)&&(n=2))))
if flag == 0
puncture bit n*m from set S0
flag = 1
endif
if flag == 1
puncture bit n * m-1 from set S0
flag = 0
endif
endif
e = e + 2 * N
endif
m = m + 1
end do
이상의 설명에서와 같이 본 발명은 코드 심볼을 단위로 하여 채널 코드에 따라 최적화된 패턴을 갖는 펑처링/반복을 실시하므로 다음과 같은 효과가 있다.
첫째, 컨벌루션 코드 및 터보 코드에서 공통으로 사용할 수 있는 통합된 레이트 매칭 알고리즘을 제공하여 코드율에 따른 최적화된 펑처링/반복 패턴을 제공하여 코드의 성능 저하를 방지할 수 있다.
둘째, 컨벌루션 코드 및 터보 코드에 대한 레이트 매칭시 코드 심볼의 중요도에 따라 최적화된 펑처링/반복 패턴을 제공할 수 있다.
셋째, 레이트 매칭 알고리즘의 계산량과 복잡도면에서 요구량 감소를 가져온다.
Claims (6)
- 채널 코딩된 비트열에 대하여 코드 심볼을 기준으로 레이트 매칭(rate matching)을 수행하는 방법에 있어서,특정 식별 정보에 따라 상기 채널 코딩에 사용된 채널 코드를 식별하는 단계; 및상기 식별된 채널 코드에 따라 상기 비트열에 대하여 펑처링 또는 반복 위치를 가변시켜 펑처링(puncturing) 또는 반복(repetition)을 수행하는 단계를 포함하는 이동 통신 시스템에서 레이트 매칭 방법.
- 제 1항에 있어서, 상기 식별된 채널 코드의 형태가 컨벌루션 코드일 경우, 상기 펑처링은 상기 컨벌루션 코드의 비트열 중에서 가장 낮은 중요도를 갖는 비트열의 코드 심볼부터 순차적으로 실시하는 것을 특징으로 하는 이동 통신 시스템에서 레이트 매칭 방법.
- 제 1항에 있어서, 상기 펑처링은 초기치를 1로 두어 수행되는 것을 특징으로 하는 이동 통신 시스템에서 레이트 매칭 방법.
- 제 1항에 있어서, 상기 식별된 채널 코드의 형태가 컨벌루션 코드인 경우, 상기 펑처링은 상기 컨벌루션 코드의 비트열의 코드 심볼 단위에서 번갈아 실시되는 것을 특징으로 하는 이동통신 시스템에서 레이트 매칭 방법.
- 제 1항에 있어서, 상기 식별된 채널 코드의 형태가 컨벌루션 코드인 경우, 상기 펑처링은 상기 컨벌루션 코드의 비트열의 코드 심볼 단위로 해밍 거리에 의해 결정되는 중요도가 낮은 비트에서 실시되는 것을 특징으로 하는 이동통신 시스템에서 레이트 매칭 방법.
- 제 1항에 있어서, 상기 식별된 채널 코드의 형태가 터보 코드인 경우, 상기 반복은 상기 터보 코드의 비트열의 코드 심볼 중에서 시스테매틱(systematic) 성분을 가지는 비트에서 실시되는 것을 특징으로 하는 이동통신 시스템에서 레이트 매칭 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990027352A KR100640910B1 (ko) | 1999-07-07 | 1999-07-07 | 이동 통신 시스템에서 레이트 매칭 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990027352A KR100640910B1 (ko) | 1999-07-07 | 1999-07-07 | 이동 통신 시스템에서 레이트 매칭 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010009145A KR20010009145A (ko) | 2001-02-05 |
KR100640910B1 true KR100640910B1 (ko) | 2006-11-02 |
Family
ID=19600079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990027352A KR100640910B1 (ko) | 1999-07-07 | 1999-07-07 | 이동 통신 시스템에서 레이트 매칭 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100640910B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100379385B1 (ko) * | 1999-12-24 | 2003-04-10 | 엘지전자 주식회사 | 하향링크 고정위치 레이트 매칭을 위한 파라미터 결정 방법 |
KR100918765B1 (ko) * | 2001-10-20 | 2009-09-24 | 삼성전자주식회사 | 부호분할다중접속 이동통신시스템에서 부호화 및 레이트매칭장치 및 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0918449A (ja) * | 1995-06-27 | 1997-01-17 | Sony Corp | 符号分割多重化送信装置、符号分割多重化受信装置及び符号分割多重化送受信システム |
US5691992A (en) * | 1995-10-12 | 1997-11-25 | Ericsson Inc. | Punctured coding system for providing unequal error protection in a digital communication system |
KR20000046050A (ko) * | 1998-12-31 | 2000-07-25 | 윤종용 | 이동통신시스템에서 터보 인코더의 펑처링 장치 및 방법 |
KR20000067738A (ko) * | 1999-04-14 | 2000-11-25 | 서평원 | 이동 통신 시스템에서 채널 코드의 레이트 매칭 방법 |
KR20010001083A (ko) * | 1999-06-01 | 2001-01-05 | 서평원 | 터보 코드를 위한 레이트 매칭 방법 |
-
1999
- 1999-07-07 KR KR1019990027352A patent/KR100640910B1/ko not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0918449A (ja) * | 1995-06-27 | 1997-01-17 | Sony Corp | 符号分割多重化送信装置、符号分割多重化受信装置及び符号分割多重化送受信システム |
US5691992A (en) * | 1995-10-12 | 1997-11-25 | Ericsson Inc. | Punctured coding system for providing unequal error protection in a digital communication system |
KR20000046050A (ko) * | 1998-12-31 | 2000-07-25 | 윤종용 | 이동통신시스템에서 터보 인코더의 펑처링 장치 및 방법 |
KR20000067738A (ko) * | 1999-04-14 | 2000-11-25 | 서평원 | 이동 통신 시스템에서 채널 코드의 레이트 매칭 방법 |
KR20010001083A (ko) * | 1999-06-01 | 2001-01-05 | 서평원 | 터보 코드를 위한 레이트 매칭 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20010009145A (ko) | 2001-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2341744C (en) | Rate matching device and method for a data communication system | |
KR100362091B1 (ko) | 컨벌루셔널코드를갖는디지털데이터를컨벌루셔널하게인코딩하기위한방법및그컨벌루셔널인코더 | |
EP0907256A2 (en) | Apparatus for convolutional self-doubly orthogonal encoding and decoding | |
KR100484555B1 (ko) | 에러 정정 방법 및 장치 | |
KR100640910B1 (ko) | 이동 통신 시스템에서 레이트 매칭 방법 | |
KR101120368B1 (ko) | 통신 장치에서 데이터 레이트를 적응시키기 위한 방법 및 통신 장치 | |
EP1537673A2 (en) | Method of interleaving/deinterleaving in a communication system | |
KR20000067738A (ko) | 이동 통신 시스템에서 채널 코드의 레이트 매칭 방법 | |
KR100357868B1 (ko) | 데이터 통신시스템의 전송율 정합 장치 및 방법 | |
KR100387058B1 (ko) | 데이터 통신시스템에서 심볼 삽입에 의한 가변데이터전송율 정합 방법 및 장치 | |
CN107342775B (zh) | 删余卷积码的维特比译码方法 | |
KR100454952B1 (ko) | 적응형채널부호화방법및장치 | |
KR20050085400A (ko) | 병렬 슬라이딩-윈도우 맵 디코딩 | |
JP4116554B2 (ja) | 無線通信のためのターボ復号方法および装置 | |
JP2005167513A (ja) | 復号装置及び復号方法 | |
KR100672347B1 (ko) | 가변 데이터 레이트 매칭 방법 | |
KR100451716B1 (ko) | 이동 통신 시스템의 레이트 매칭 방법 | |
KR100404181B1 (ko) | 상향 링크에서의 레이트 매칭 방법 및 장치 | |
Vafi et al. | Weight distribution of turbo codes with convolutional interleavers | |
KR100317377B1 (ko) | 변복조 시스템의 부호화 및 복호화 장치 | |
KR0144846B1 (ko) | 콘벌루션부호화기 및 복호화방법 | |
KR19980081745A (ko) | 데이터 수신장치 및 방법 | |
KR100845830B1 (ko) | 부호 비트 펑처링 방법 | |
KR20010084779A (ko) | 무선통신 시스템의 부호화 장치 및 방법 | |
KR20010044941A (ko) | 병렬 펑쳐링 알고리즘의 쉬프팅 파라미터 계산 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
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: 20120926 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20130924 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140924 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20150924 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20160923 Year of fee payment: 11 |
|
EXPY | Expiration of term |