covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의...

62

Transcript of covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의...

Page 1: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보
Page 2: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보
Page 3: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보
Page 4: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

감사의 글

다사다난 했던 대학원 생활을 정리하며 지난 일들을 돌아보면 하나님의 사랑

과 은혜로 점철된 시간이었다고 생각됩니다. 연약하고 어리석은 저를 당신의 자녀

로 삼아주시고 구원해 주신 하나님 아버지께 모든 감사와 영광을 드립니다. 또한

연구실의 귀한 분들과 기억에 지워지지 않을 만남을 주신 주님께 감사를 드립니

다.

대학원 생활 내내 부족한 저를 인내해 주시고 본 논문이 완성되기까지 격려와

관심으로 지도해주신 송홍엽 교수님께 진심으로 감사를 드립니다. 저의 논문을 자

세히 살펴주시고 조언을 아끼지 않으신 김재석 교수님, 따뜻한 말과 관심이 힘이

되었던 이충용 교수님께 감사를 드립니다.

2 년간의 짧은 시간이었지만 희로애락을 같이했던 연구실의 선후배님들, 낯설

은 환경에서 잘 적응하며 공부하는데 큼 도움을 주셨던 것을 감사합니다. 연구실

의 면학 분위기를 조성하시는 김한주 선배님, 너그러우시고 친구같이 좋은 인생의

선배가 되어주신 이수종 선배님, 유유자적한 이 시대의 음유시인 이두현 선배님,

파워 포인트와 각종 프로그램의 대가 이재철 선배님, 달리는 차 안에선 터프하지

만 가끔 말썽인 연구실 PC 들의 친절한 파수 이승현 선배님, 주님 안에서 교제하

며 귀감과 감동이 되셨던 이석호 선배님, 바로 옆 자리에서 지내며 늘 챙겨주셨던

서종렬 선배님께 감사를 드립니다. 비디오방의 추억을 함께 만들었던 이광용 선배

님, 인고의 시간 뒤에 하나님 안에서 열정을 회복하시고 좋은 논문을 준비하시기

를 기도합니다. 절묘한 화두로 연구실을 화기애애하게 하는 연구실의 peace maker

정연식 선배님, 동기이지만 형처럼 이끌어주며 많은 도움을 주었던 김정헌 학형,

함께 졸업의 기쁨을 나누게 된 황경태 학형에게 감사를 드리며 졸업 후 멋진 출

발과 활약을 기대해 봅니다. 연구열정으로 밤을 낯 삼아 생활하시는 연구실의 별

밤지기 신민호 선배님, 늘 싱싱한 신혼일 것 같은 은유창 선배님, 친 형제처럼 지

내며 오히려 선배인 저를 도와준 지략의 귀재 장정한 학형에게 감사를 드립니다.

어려운 학업에 정진하시어 좋은 논문으로 대학원 생활을 마무리하시기를 기도합

Page 5: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

니다. 진솔한 심성과 성실함이 돋보이는 구정우 선배님, 연구실의 떠오르는 최장

신 웹 마스터 문장욱 학형, 화려한 경력(?)으로 한 시대를 풍미했을 박춘석 선배님,

연구실의 막내지만 묵묵히 자신의 일을 잘 하는 염창렬 학형에게 감사를 드리며

앞으로 남을 대학원 생활통해 많은 결실을 거두시기를 기도합니다. 앞서 졸업해서

바쁜 일상에서 열심히 살고 있을 어창현 학형, 박찬형 학형과 곧 유학의 길로 접

어들 권이경 학형, 졸업 후에 더욱 반가운 이원열 선배님에게 감사를 드립니다.

늦었지만 친구의 반열이 된 이학무 학형, 간간히 내려와 말 동무가 되었던 박진열

학형, 유난히 긴 머리가 잘 어울리던 최병철 학형, 조용히 연구실 생활에 충실한

박성철 학형에게 감사를 드립니다. 비록 많은 대면은 없었지만 우직하고 성실하고

밝게 생활하는 임원배 학형과 허봉수 학형에게 감사 드리며 학업의 진보와 주님

안에서 앞날에 축복이 가득하기를 기도합니다.

함께 하나님 나라를 꿈꾸며 젊음을 같이했던 그리고 주님을 사랑하며 서로를

위해 늘 기도하는 친구들 동선, 진호, 형재, 성흠 선배와 용호에게 감사를 드리며

믿음의 동역자이며 힘들 때마다 좋은 벗이 되 주었던 재성이와 사랑의 교회 청년

부 지체들에게 감사를 드립니다.

가까이 있지만 분주하다며 돌아보지 못하는 저를 위해서 늘 관심과 충고를 주

었던 수현 누나와 유정, 한 가정의 믿음의 어머니와 아내로서 아름답게 살고있는

은정 누나와 작은 매형, 그리고 멀리 미국에서 하나님의 나라를 세우고 계시는 큰

매형과 큰 누나에게 감사를 드립니다. 그리고 무엇보다도 26 해 동안 하루도 빠짐

없이 저를 위해 기도해 주시고 헌신적으로 사랑하며 길러주신 부모님께 진심으로

감사 드리며 이 작은 결실을 드립니다. 마지막으로 부모님 못지않게 저를 키워주

시고 사랑해주신 외할머니에게 깊은 감사를 드립니다.

1999년 6월

계환원 드림

Page 6: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

1

제 1 장 서 론

무선통신 채널에서는 다중경로, 간섭, 잡음 등으로 인해 수신단에서의 신호는

왜곡된다. 디지털 시스템에서의 이러한 신호의 왜곡은 곧 많은 양의 비트오류를

의미한다. 만약 이러한 비트 오류들이 검색되지 않는다면 그 시스템은 실재적으로

사용될 수 없게 된다. 그러나 잉여 검색 비트들을(redundant check bits) 삽입하는 과

정을 통해 전송하는 정보를 보호할 수가 있는데 이를 채널 코딩이라 한다. 많은

비트오류는 채널부호 혹 오류정정부호를 사용해서 정정된다.

현대 디지털 통신시스템의 오류정정부호의 기원은 1940 년 후반에 Shannon 에

의해서 시작되었다. 그는 수학적으로 정보원(information source)의 엔트로피(entropy)

와 채널용량(channel capacity)을 정의함으로써 정보이론의 기초를 놓았다. 그는 정

보원의 엔트로피가 채널용량보다 적다면 노이지 채널에서 비트 전송률을 줄이지

않고서도 신뢰적인 통신이 가능한 것을 제시했다. 그 뒤로 Shannon 의 이론에 근

거하여 많은 연구가 진행되어 왔다.

먼저 Hamming 과 Golay 에 의해서 해밍 부호(Hamming code)와 골레이 부호

(Golay code)와 같은 선형 블록 부호가 만들어졌다. 그 뒤를 이어 Reed-Muller 부호,

순환부호(Cyclic code)가 만들어 졌으며 BCH부호 그리고 연집 오류에 저항성이 강

한 RS 부호같은 순환부호가 만들어졌다. 이중 RS 부호는 실재적으로 compact disk

와 그리고 NASA우주탐사통신의 표준으로 이용되고있다.

그러나 블록부호의 좋은 성능에도 불구하고 블록부호는 블록의 크기가 커질수

록 지연시간과 복잡도가 증가해 실재적으로 구현하기 어렵다는 단점이 있다. 또한

블록부호는 강 판정(hard bit decision)된 정보를 복호화 하는데 용이하므로 실재의

soft 채널출력도 이진정보로 간주해야 한다. 그런데 Shannon limit 에 근접하는 성능

을 얻기 위해서는 복호화시 soft 채널 출력값이 필요하므로 낮은 SNR(signal to

noise ratio)에서는 성능이 저하되는 단점이 있다.

이러한 블록부호의 결점을 피하며 간단한 구조를 같은 부호로는 길쌈부호

(convolutional code)가 있다. 길쌈부호는 ML(maximum likelihood)복호가 가능한

Viterbi 복호화 알고리즘을 사용하며 Voyager 와 Pioneer 같은 우주탐사통신과 IS-95

Page 7: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

2

같은 2세대 디지털 셀룰라의 표준으로 사용되는 등 많은 분야에 이용되고있다.

그러나 길쌈부호는 연집 오류에 약한 결점이 있다. 이 결점은 전송전에 부호비

트의 배열을 뒤바꾸어주는 인터리버를 사용함으로써 극복될 수 있다.

그런데 최근에 샤논 한계와 실제적으로 구현 가능한 부호 시스템사이의 간격

이 좁혀지는 부호가 만들어졌다. 1993 년 Berrou 등에 의해서 발표된 터보 부호

(Turbo Code)는 길쌈부호를 변형한 형태인데 매우 우수한 성능으로 인해 현재 많은

연구의 대상이 되고 있다. 터보 부호는 같은 모양의 길쌈 부호 2 개 이상을 병렬

로 연결해서 사용하며 각각의 구성 부호화기에서 나오는 출력 시퀀스를 전송한다.

그러나 각각의 출력 시퀀스를 서로 다른 배열로 전송하기 위해 각각의 부호화기

의 입력으로 들어가는 정보 시퀀스를 인터리버를 통과하게 함으로써 랜덤한 배열

로 바꾼다. 이렇게 재배열된 입력 시퀀스들은 부호화되어 서로 다른 출력 시퀀스

로 전송된다.

터보 부호의 복호기는 MAP(maximum a posteriori) 알고리즘이나 SOVA(soft output

Viterbi algorithm)알고리즘을 이용하며 수신된 시퀀스에 대해서 비트단위의 LLR(log

likely ratio)를 소프트 값으로 발생시켜서 다른 복호화기의 priori value로 사용할 수

있게 한다. 이러한 일련의 과정은 피드백 루프를 통해 반복적으로 수행되며 오류

정정은 반복횟수에 비례해서 증가한다.

지금까지 길쌈부호의 복호화시에 사용되는 Viterbi 알고리즘은 수신시퀀스의 오

류를 최소화하는 데에는 최적의 방법이지만 강 판정 출력(Hard Decision output)을

수행하므로 심벌단위의 bit probability 또는 소프트 출력을 만들 수가 없다. 그러나

터보 부호는 복호후의 심벌비트정보를 다른 복호화기의 priori 정보로 반복적으로

넘겨주어야 하므로 소프트 입력과 소프트 출력을 처리할 수 있는 MAP 또는

SOVA알고리즘을 사용한다.

따라서 터보 부호는 연접 부호화와 소프트 출력 반복 복호화 알고리즘의 개념

을 적절히 결합한 새로운 부호화 기법이다. 비교적 간단한 구성 부호들을 이용하

지만 터보 부호는 샤논 한계에 근접하며 AWGN 채널에서 큰 길이의 프레임

(65,532)과 인터리버를 이용할 때 0b N/E 가 0.7dB 일 때 약 510 − 정도의 비트 오

Page 8: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

3

류율을 갖는다.

터보 부호를 분석하고 만들 때 중요하게 다루어지는 사항들이 있다. 먼저 어떤

형태의 구성 부호화기를 사용하며 부호율을 얼마로 할 것인가의 부호화기 선택의

문제이다. 또한 부호화기의 입력으로 들어가는 정보를 어떤 방식으로 인터리빙 시

킬 것인가 이다. 그리고 정보들이 프레임 단위로 전송될 때에 프레임 크기를 결정

하는 것과 복호화기의 구조에 관한 문제들이 있다.

일반적인 복호화기는 2 개의 복호화기가 직렬 모드로 연결되어져서 반복적으로

정보들을 서로 교환하는 구조이나 만약 병렬 모드로 구성된다면 복호화시에 직렬

모드에 비해 더 많은 정보를 얻을 수 있는 장점이 있다. 그 이유는 모든 복호화

과정이 진행된 후에 직렬 모드는 최종적인 출력값을 오직 하나의 복호화기로부터

얻어내지만 병렬 모드는 두 개의 복호화기로부터 동시에 출력값들을 얻기 때문에

이 두개의 출력값들을 적절히 이용하면 성능의 향상을 가져올 수 있게 된다. 따라

서 본 논문은 성능의 개선을 얻을 수 있는 방법으로서 병렬 모드의 두 복호화기

의 LLR 을 더하는 것을 제안했다. 또한 두 병렬 복호화기의 LLR 을 합한 시퀀스

의 분포 특성을 분석,비교하였다.

본 논문의 구성은 다음과 같다. 먼저 2 장과 3 장에서는 터보 부호의 일반적인

이론과 특성을 살표본다. 그리고 부호화기와 복호화기의 구조와 복호화 알고리즘

을 다룰 것이다. 4장에서는 제안한 복호화기의 구조와 원리들을 다루게 된다. 5장

에서는 다양한 실험들을 통해 제안한 방법의 복호기의 성능을 분석한다. 그리고

마지막 6장에서는 5장까지의 결과를 정리하고 앞으로의 연구방향을 제시한다.

Page 9: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

4

제 2장 터보부호의 특성과 구조 개요

2.1 병렬 연접 부호(parallel concatenated code)

터보 부호는 2 개 이상의 병렬 연접 systematic 부호이다. 그림 2-1 은 일반적인

터보 부호화기로서 길이가 K 인 정보 블록 u 가 부호화기로 들어간다. 그리고

PAD 에서는 KN − 의 태일 비트(tail bits)가 첨가되며 N 비트의 정보 시퀀스 0x

가 발생된다. 이 N 비트의 시퀀스는 M 개의 인터리버와 부호화기에 병렬로 들어

간다. 각각의 인터리버는 시퀀스 0x 를 랜덤한 형태로 재배열하고 부호화기는 시

퀀스 ix 를 발생시킨다. 정보 시퀀스 0x 와 함께 M 개의 시퀀스가 연접되어 부호

어(code word)가 만들어진다. 이때 전체 부호율과 태일 비트를 무시한 부호율은 다

음과 같다.

)1(

1)1( +≅

+=

MMNKR (2-1)

터보 부호는 일반적으로 단지 2 개의 구성 부호화기만 사용되며 첫번째 부호화기

는 인터리버를 거치지 않는다. 보통 2 개의 구성 부호화기의 형태는 동일하며 재

귀적인(recursive) systematic 길쌈 부호화기이다.

0xPAD

INT M

INT 2

INT 1

ENC 2

ENC M

ENC 1

Mx

2x

1x

u

그림 2-1. 일반적인 터보 부호화기

Page 10: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

5

2.2 구성 부호화기(component encoder)

길쌈 부호화기의 가장 일반적인 구조는 그림 2-2 처럼 NNC(nonrecursive

nonsystematic convolutional)부호화기이다. 그러나 이것은 nonsystematic 하므로 터보

부호화기로는 이용되지 않는다. 또한 NSC(nonrecursive systematic convolutional)부호

화기는 부호율이 2/3 이상일 때 출력부호의 거리분포(distance property)가 열악하기

때문에 사용하지 않는다 [3][4]. 그림 2-3 은 피드백 다항식이 ( )80 13=G , 잉여 비

트 다항식이 ( )81 17=G 인 RSC(recursive systematic convolutional) 부호로서 터보 부

호에서 사용하며 부호화 할 때 출력이 다시 입력으로 피드백 되므로 현재의 shift

레지스터의 상태는 과거의 출력들에 의존하게 된다.

D D

+

+

kx

kd

ky

+

그림 2-2. Constraint가 3인 NNC부호화기

D D

+

+

+

kxkd

ka

ky

그림 2-3. Constraint가 3인 RSC부호화기

터보 부호의 인터리버는 고정된 구조와 블록형식의 시퀀스를 처리하기 때문에

터보 부호는 블록 부호의 형태이다. 일반적인 길쌈 부호화기는 시퀀스의 시작과

끝점에서 부호화기의 내부 레지스터 상태를 안다면 블록 부호를 만들 수가 있다.

Page 11: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

6

즉 먼저 부호화기를 제로 상태로 초기화하고 정보들을 부호화한다. 모든 정보가

부호화되면 정보 시퀀스의 마지막에 레지스터 비트 수 만큼의 태일 비트를 첨가

하서 다시 부호화기가 제로 상태가 되게 한다.

그래서 m개의 메모리를 갖는 nonrecursive 길쌈 부호화기는 m개의 제로 태일

비트를 덧붙이면 부호화기가 제로 상태로 돌아갈 수 있다. 그러나 RSC 부호의

경우는 제로 태일 비트를 추가할지라도 피드백 성분에 의해서 부호화기가 제로

상태로 돌아가지 않게된다.

RSC 부호화기를 제로 상태로 되돌리는 태일 비트는 피드백 성분에 대한 상태

방정식을 통해 구할 수 있다. 그림 2-3 에서 피드백 성분에 대한 상태 방정식은 다

음과 같다.

∑=

−⊕=m

jjkkk ada

1 (2-2)

여기서 ⊕는 이진 덧셈을 나타낸다. 태일 비트 kd 를 구하기 위해 방적식을 풀면

∑=

−=m

jjkk ad

0 (2-3)

위의 식에서 부호화기의 상태를 제로 만들기 위해서는 ka 를 제로로 놓아야 한다.

그러므로

211

−−=

− ⊕==∑ kk

m

jjkk aaad (2-4)

따라서 내부 레지스터의 상태를 이용하면 RSC 부호화기를 제로로 만드는 테일 비

트를 구할 수 있다.

2.3 인터리버와 터보 부호의 종료

일반적으로 인터리버는 터보 부호의 자유거리 결정에 큰 영향을 미치며 성능

을 결정하므로 인터리버 설계는 중요한 문제이다. 그림 2-4 는 부호율이 1/3 인

RSC 부호화기이다. 터보 부호는 블록 부호를 이용하며 그러기 위해서는 2 개의 구

성 부호화기의 시작과 끝이 모두 제로 상태인 것이 바람직하다. 그리고 적당히 두

Page 12: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

7

부호화기의 격자(trellis)를 종료(termination)시키면 ML 추정(maximum likelihood

estimation)이 가능하게 된다. 각각의 격자를 종료 시키는 방법은 식 (2-4) 처럼 m

비트를 필요로한다. 그러나 동시에 2 개의 부호화기를 m비트의 테일 비트로 종료

하기에는 어렵다. 그 이유는 두 부호화기 사이의 인터리버에 의해서 위쪽 부호의

테일 비트가 아래 부호의 메시지와 섞이기 때문이다. 따라서 테일 비트가 메시지

의 끝에 위치하지 못하게 되며 아래 격자를 종료 시키는 테일 비트를 계산하기가

어렵게 된다. 한쪽 부호화기의 종료는 일어날 수 있지만 동시에 일어나기는 어렵

다.

D D

+

+

+

0x

ky1

D D

+

+

+

ky 2

INT

PADu

그림 2-4. 부호율이 1/3인 터보 부호

그런데 격자를 종료 시키는 알고리즘은 몇 가지가 있다. 첫번째 방법으로는 두

부호화기 중에서 위쪽만을 종료 시키고 다른 쪽은 open 시키는 것이다. 이 방법은

약간의 근소한 성능 저하를 일으킬 뿐이므로 본 논문에서는 이 방법을 채택하였

다.

두 번째로는 적당히 설계된 인터리버를 사용해서 m 비트의 테일 비트로 동시

에 종료시키는 방법이다. 그러기 위한 조건은 각각의 RSC 부호의 임펄스 응답이

다음과 같은 주기 p를 가져아 한다.

Page 13: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

8

12P m −≤ (2-5)

만약 피드백 다항식이 차수가 m인 원시 다항식(primitive polynomial)이라면 임펄스

응답은 주기가 12P m −= 인 최대 길이 시퀀스(maximum length sequence)가 된다.

이러한 시퀀스는 선형 이동 레지스터(linear shift register)를 이용해서 생성시킬 수

있다. 그림 2-4에서 부호화기의 피드백 다항식은 다음과 같은 원시 다항식이다.

2DD1)D(g ++= (2-6)

그리고 위의 다항식의 임펄스 응답은 주기가 312P 2 =−= 이다.

인터리버는 정수 [ ]n,1l∈ 을 다른 정수 [ ]n,1l~∈ 로 대응시키는 함수이다. l 의

위치에 있는 한 비트는 인터리버를 통과하면 l~ 의 위치에 놓이게 된다. 이러한

함수를 α 라고 하면 함수의 대응은 다음과 같다.

( )ll~ α= (2-7)

이때 두 개의 RSC 부호화기의 종료가 일어날 조건은 인터리버가 다음을 만족할

때이다.

( ) lpmodlpmodl ∀= α (2-8)

위의 조건을 만족하는 모든 의사 랜덤(pseudo random) 인터리버는 터보 부호의 인

터리버로 사용될 수 있다. 이처럼 열악한 인터리버를 제거하고 성능이 좋은 몇 가

지의 언터리버가 소개되어 있다[5].

또 다른 방법은 그림 2-5 에서 처럼 부호화기를 적절히 변형함으로써 만들 수

있다[6][7]. 두 개의 스위치는 모든 정보 프레임이 끝날 때까지 위쪽에 연결되어

있으며 끝나는 순간 아래로 연결된다. 이때 각각의 부호화기는 서로 독립적인 종

료 테일 비트를 발생시킨다. 그러나 첫 번째 부호화기의 테일 비트는 systematic 출

력으로 포함되지만 두번째 테일 비트는 따로 전송되어야 한다. 따라서 두개의 부

호화기의 입력 시퀀스가 같지 않으므로 성능 저하를 초래한다.

Page 14: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

9

0kx

1kx

INT

ku

D D

+

+

+

kx

2kx

D D

+

+

+

kt

그림 2-5. 터보 부호의 격자 종료

2.4 시스템 구조 (system model)

본 논문에서 사용된 시스템의 구조는 그림 2-6 과 같다. 프레임 길이가 L인 메

시지 시퀀스 비트 { }ku 는 터보 부호화기로 입력되고 출력 부호어 { }kx 가 만들어

진다. 프레임 크기는 256, 512, 1024 , 4096 비트의 경우를 사용하였으며 주로 1024

비트의 길이를 갖는다. 터보 부호화기는 모양이 같은 2 개의 RSC 부호화기를 사용

하였다. 부호화기는 다양한 생성 다항식을 갖으며 구속장은 5,4,3K = 이다. 인

터리버는 m 시퀀스 발생기를 이용한 랜덤 인터리버를 사용하였다. 부호율은 1/3

과 펑처링(puncturing)에 의해서 1/2 이 사용되었다.

부호화된 비트들은 BPSK 로 변조되어 심벌 1x2s kk −= 이 생성된다. 변조된

심벌은 페이딩 진폭(fading amplitude) ka 가 곱해진다. 페이딩 채널은 레일레이 분

포를 갖는 플렛(flat) 페이딩으로 가정되었다. 만약 충분한 채널 인터리빙(channel

interleaving)이 진행된다면 페이딩 진폭은 심벌과 심벌끼리 서로 독립적이게 되며

심벌간의 간섭(interference)이 없다. 따라서 페이딩 진폭 { }ka 은 독립적인 레일레

이 랜덤 변수들로부터 만들어 질수있는데 페이딩이 없는 AWGN 채널에서는 페이

딩 진폭 ka 가 모두 1이다. AWGN 샘플 kn 는 페이딩된 심벌에 더해지는데 가우시

Page 15: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

10

안 분포를 갖고 평균은 제로 이며 분산은 s02 E2/N=σ 이다[8].

BPSKDemodulator

BPSKModulator

kr

ks

ka

kn

TurboEncoder

TurboDecoder

ku

ku

그림 2-6. 터보 부호의 시스템 구조

2.5 페이딩 채널에서의 터보 부호

터보 부호는 레일레이 페이딩 채널에서도 성능이 우수하다는 결과가 몇몇의

연구에 의해 밝혀졌다[9] . 그러나 과거의 많은 실험들은 완전히 인터리빙된(fully

interleaved) 페이딩 채널을 가정했으며 따라서 페이딩 진폭들은 정성적으로 독립적

인 레일레이 랜덤 변수들이었다. 그러나 이 가정이 타당 하려면 채널 인터리버

(channel interleaver) 가 필요하며 반드시 인터리버의 깊이(depth)가 sc T/t 보다 커야

한다. 여기서 ct 는 채널 동기 시간(channel coherence time)이고 sT 는 한 심벌의 시

간이다. 그러나 많은 경우는 위의 가정과 일치되지 않는다. 이렇게 완전히 인터리

빙되지 않은 플렛 페이딩 채널에서 터보부호의 성능은 도플러 주파수와 심벌 시

간과의 곱( sd TB )에 비례하는 것으로 나타난다[10] .

페이딩 채널에서 다중 반사 경로들의 신호 크기가 균등하고 우세한 LOS(line of

sight)경로가 존재하지 않는 경우를 레일레이 페이딩이 이라고 한다. 반면 페이딩

을 겪지 않은 신호 ,즉 LOS 경로가 존재한다면 라이시안(Rician) 페이딩 이라고 한

다. 충분히 인터리빙되지 않은 경우의 페이딩 채널 모델은 지수적으로 상관을 갖

는 채널로 모델링 할 수 있다. 이때 자기 상관함수는 kB2 de)k(R π−= 가 된다. 또

한 Clarke 의 모델을 이용하여 다음과 같은 자기 상관 함수를 근사적으로 갖는 페

Page 16: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

11

이딩 채널을 사용할 수 있다[7] [11].

( )kTB2J)k(R sd0 π≈ (2-9)

여기서 ( )⋅0J 는 영차 베셀 함수이며 본 논문은 위의 모델에 의한 페이딩 채널을

사용하였다.

2.6 터보 부호의 생성 행렬

터보 부호는 선형 블록 부호이기 때문에 부호화 과정은 modulo-2 백터 행렬의

곱셈으로 설명될 수 있다. 어떤 부호 백터 X 는 어떤 정보 백터 U 에 생성 행렬

G를 곱함으로 생성할 수 있다.

2modGUX = (2-10)

이 때 생성 행렬 G의 각각의 열은 모두 부호어로서 가중치가 1인 하나의 특정한

정보 시퀀스에 관계한다. 즉 G의 열 i는 모든 위치에서는 0 이지만 i번째 에서

는 1을 갖는 하나의 입력 U 에 관계한다.

터보 부호는 systematic 이므로 생성 행렬의 행들은 다음과 같은 형태로 나타낼

수 있다.

[ ]kIPG = (2-11)

여기서 kI 는 kk × 항등(identity) 행렬이고 P는 ( )kNk −× 행렬이다. N 은 부호

어의 길이이다. 그리고 생성 행렬에 대응하는 패러티 검색(parity check) 행렬은 다

음과 같다.

[ ]TkN PIH −= (2-12)

여기서 kI 는 ( ) ( )kNkN −×− 항등행렬이고 TP 는 P 의 transpose 이다. 패러티

검색 행렬이 구해지면 그 부호의 최소 거리(minimum distance)가 계산될 수 있다.

선형 블록 부호처럼 H 의 행들을 더할 때 제로가 되는 가장 작은 수의 행의 갯수

가 최소거리이며 이 최소거리는 터보 부호의 성능 한계를 구하는데 이용된다[23].

Page 17: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

12

2.7 반복 복호화 방법[7][12]

잡음이 섞인 Markov process 의 상태들을 추정하는 문제는 격자를(trellis) 기초로

하는 다음 2 가지의 방법을 사용한다. 비터비(Viterbi)알고리즘과 MAP(Maximum A

Posteriori)알고리즘이 있다. 비터비 알고리즘은 수신된 시퀀스 y가 주어질때 이것

과 가장 유사한 전송 시퀀스 x를 찾는 것이다.

( )yxPxx

maxˆ = (2-13)

반면 MAP알고리즘은 수신된 시퀀스에 대해 가장 유사한 전송 심벌 ix 를 찾는다.

( )yxPx ixii

maxˆ = (2-14)

터보 부호의 복호화 과정은 먼저 격자를 기초로 하는 복호화 알고리즘을 이용

해서 각각 2개의 Markov process들에 대해서 독립적인 추정을 한다. 그러나 2 개

의 Markov process 들은 인터리버에 의해 서로 연결되어 있다. 따라서 두 복호화기

사이에서 소프트 정보를 반복적으로 공유하면 추가적이 이득을 얻을 수 있다. 이

절에서는 터보 부호의 전체적인 복호화 방법인 소프트 출력 반복 복호화 방법에

대해서 알아 본다. 첫 번째 복호화기에서 나온 출력은 두 번째 복호화기의 priori

정보로 사용된다. 만약 각각의 복호화기에서 나온 출력값들이 강 판정된 값이라면

복호화기들 사이에서 정보를 교환하는 것은 장점이 거의 없다. 그러나 각각의 복

호화기의 출력이 연판정인 경우라면 반복적인 복호화를 실행 함으로써 상당한 이

득을 얻을 수 있다. 연판정 복호화기에서의 각각의 비트에 대한 복호 출력값은

LLR(log-likelihood ratio)의 형태를 취한다.

( )( ) .

01

logydPydP

i

ii =

==Λ (2-15)

복호화기의 입력으로 priori 정보를 받고 출력으로 posteriori 정보를 발생시키는

복호화 알고리즘을 SISO(Soft Input Soft Ouput) 복호화 알고리즘이라고 한다. SISO복

Page 18: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

13

호기를 이용해서 정보비트 id 에 대한 LLR iΛ 을 구하기 위해 수신 신호를 고려

해 보자. 통신 시스템 환경이 BPSK 로 변조되고 플렛 페이딩 채널이면 수신 신호

는 다음과 같이 나타낼 수 있다.

( ) .n1d2Eay s ′+−=′ (2-16)

여기서 a는 페이딩 진폭이며 ( )1d2 − 은 antipodally 변조된 심벌이고, sE 는 심벌

의 에너지이다. 또한 n′는 평균이 제로이며 분산이 202 N=σ 인 가우시안 랜덤

변수이다. 이때 만약 1=a 이라면 BPSK로 변조되고 채널이 AWGN인 수신 신호

를 나타낸다. 식 (2-16) 보다 간단한 표현은 다음과 같다.

( ) .12 nday +−= (2-17)

여기서 잡음의 분산은 sEN 202 =σ 이다. 한 비트의 수신 신호 iy 가 주어졌을때

정보 비트 id 의 LLR은 다음과 같다.

( ) ( )( ) .

0

1log

ii

iiii ydP

ydPydL

=

== (2-18)

식 (2-18)은 Bayes 이론을 이용하면 다음과 같이 두 개의 항으로 나뉘어 진다.

( )( )

( )

( )( ) .

01log

exp

explog

2

0

2

0

==

+

+−

−−

=i

i

is

is

ii dPdP

ayNE

ayNE

ydL (2-19)

위 식의 첫 번째 항은 다음과 같이 계산된다.

( )

( ).4

exp

explog

02

0

2

0i

s

is

is

yNEa

ayNE

ayNE

=

+−

−−

(2-20)

Page 19: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

14

따라서 식(2-20)을 식(2-19)에 대입하면

( ) ( )

( ).

01log4

0

iic

i

ii

sii

zyLdPdPy

NEaydL

+===

+= (2-21)

여기서 cL 는 채널의 신뢰도를 나타내고 iz 는 priori 값이 된다. 이제 전체 수신

시퀀스에 대한 정보 비트 kd 의 LLR을 구해보면 다음과 같은 결과가 나온다.

.iiici lzyL ++=Λ (2-22)

위의 식에서 ic yL 는 systematic 채널 정보를 나타내고 iz 는 다른 복호화기에서 전

달된 priori 정보를 나타낸다. 그리고 세 번째 항인 il 는 외부 정보(extrinsic

information)로서 현재의 복호화 과정에서의 priori 값과 시간이 다른 비트들을 이용

해서 얻어진 새로운 정보로서 다음 복호기의 priori 정보로 다시 넘겨진다. 다음 복

호화기로 출력 정보를 전달할 때는 Positive 피드백 현상을 피하기 위해 오직 외부

정보 il 만을 전달해야 한다. 따라서 다음 복호화기의 입력으로 들어가는 priori 정

보는 LLR 출력값에서 systematic 입력 정보와 priori 정보를 뺀 il 이 된다.

.zyLl iicii −−= Λ (2-23)

그림 2-7 은 일반적인 터보 복호화기이다. 복호화 과정은 다음과 같다. 먼저 첫 번

째 복호기는 systematic 채널 정보 ( )1y 와 첫 번째 부호화기의 잉여 비트 ( )1x , 그

리고 두 번째 복호화기로부터 받은 priori 정보 ( )1z 를 입력으로 사용한다. 위의 정

보들을 이용해서 첫 번째 복호화기는 LLR ( )1Λ 을 출력한다. 그리고 첫 번째 복호

화기의 외부 정보 ( )1l 는 식 (2-23) 처럼 출력값 ( )1Λ 에서 systematic 입력과 priori

정보를 빼줌으로써 얻을 수 있다. 이렇게 구해진 외부 정보 ( )1l 는 인터리빙 되어

서 두 번째 복호화기의 priori 정보로 사용된다 ( ( )( )

( )12iINTi lz = ). 또한 두 번째 복호

화기는 인터리빙된 systematic 정보 ( )2y 와 두 번째 부호화기의 잉여 비트인 ( )2x를 입력으로 받고 다시 복호한다. 두 번째 복호화기에서는 LLR ( )2Λ 를 출력하고

식 (2-23)의해 구해진 외부 정보 ( )2l 를 디인터리빙(deinterleaving)해서 첫 번째 복

Page 20: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

15

호화기의 priori 정보로 넘겨준다( ( )( )

( )21iDEINTi lz = ). 이러한 방법으로 일정한 횟수의

반복 복호화 과정이 끝나면 최종 정보를 추정하게 된다. 정보의 추정은 두 번째

복호화기에서의 LLR 출력을 디인터리빙 한 후에 강 판정을 해서 구한다.

( )

( )

( )( ) ⋅

≤Λ≥Λ

=0001ˆ

2

2

iDEINT

iDEINT

ifif

d (2-24)

만약 펑처링이 사용된다면 전송하기 전에 펑처링된 비트에 대해서는 복호화 때

모두 제로로 처리된다.

DEC1 DEC2INT

DEINT

dDEINT( )1x

( )2y

INT

( )2x

-

+ +

-

- -

( )1Λ ( )2Λ

( )1z( )2z

( )1l

( )2l( )1y

그림 2-7. 반복적인 복호화를 갖는 터보 복호화기

Page 21: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

16

제 3 장 터보 부호의 복호 알고리즘 개요

SISO 복호화기를 사용하는 터보 복호화기는 몇 가지 알고리즘들을 통해 구현

될 수 있다. 터보 복호화 알고리즘은 반복적인 과정을 거치는데 정보 시퀀스의 사

후확률( a posteriori probability)분포를 계산한다. 이들 복호화 알고리즘은 비터비 알

고리즘으로부터 유도 되었는가와 MAP 알고리즘으로부터 유도 되었는가에 따라

크게 2 갈래로 나누어진다. 일반적으로 MAP 알고리즘을 기초로하는 방법은 비터

비 알고리즘을 기초로 하는 방법보다 복잡도가 큰 반면 더 좋은 성능을 나타낸다.

3.1 MAP 알고리즘[7][13][14]

MAP 알고리즘은 길쌈 부호의 복호화 방법이었던 비터비 알고리즘의 대안으로

서 제시되었다. 비터비 알고리즘은 길쌈 부호의 부호어 오류 확률을 최소화하는

방법이지만 심벌 단위의 오류 확률을 최소화 할 수 없다. 그러나 MAP 알고리즘은

선형 부호의 심벌 오류 확률을 최소화 할 수 있는 최적의 복호화 방법이다.

3.1.1 MAP 알고리즘의 유도

심벌 단위의 BCJR 알고리즘은 1974 년 Bahl-Cocke-Jeliner-Raviv 에 의해서 발표

되었다. 현재의 MAP 알고리즘은 이 BCJR 알고리즘을 변형한 것으로 BCJR 알고

리즘을 변형한 여러 MAP 알고리즘들이 있다.

터보 부호의 정보원(information source)은 불연속 시간(discrete time)과 한정된 상

태를 갖는 Markov process 이다. 따라서 정보원은 이진 격자도로 설명될 수 있다.

이진 격자에서 kS 는 시간 k 에서의 부호화기의 메모리 상태를 나타내고

( )nkkk xxx ,1, ,,K= 는 부호율이 1/n 인 부호화기의 출력을 나타낸다 { }( )1,0=kx .

여기서 정보원의 상태 mSk = 는 모두 M 가지의 상태들을 갖는다

( )1,,1,0 −= Mm L . 시간이 1−k 에서 k 로 천이할 때 입력 비트 kd 는 부호

화기의 상태 1−kS 를 kS 로 변환시킨다. 정보의 상태 시퀀스 ( )LSSS ,,0 L= 는

시간 0=k 에서 시작해서 시간 Lk = 에서 종료된다. 이때 부호화기의 초기 상

태인 0S 는 제로이다.

Page 22: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

17

( ) .0,0,00 LL=S (3-1)

부호화기의 출력 시퀀스 x는 BPSK 로 변조되고 DMC(discrete memory channel)

에서 페이딩을 겪는다. 수신단에서 수신된 시퀀스는

.),,,,( 1 Lk yyyy KK= (3-2)

가 된다. 여기서 ( )nkkk yyy ,1, ,,K= 이다.

MAP 알고리즘의 목적은 수신 시퀀스를 이용해서 정보의 상태 천이 사후확률을

추정하는 것이다. 또한 정보 비트의 사후확률 )|1( ydP k = 과 )|0( ydP k = 를

계산해야 한다. 그러면 최종적으로 원하는 LLR 형태의 복호화기의 출력을 구할 수

있다.

( )

( )

.),,(

),,(

log)|0()|1(log)(

0,

1

1,

1

=′

=′

=′=

=′=

===

=

k

k

dmm

kk

dmm

kk

k

kk ymSmSP

ymSmSP

ydPydPdL (3-3)

정보 비트의 사후 확률을 구하기 위해서는 상태 천이 사후확률

)|,( 1 ymSmSP kk =′=− 을 구해야 하는데 그 과정은 다음과 같다. 조건부 확률

의 정의로부터

.)(

),,()|,( 11 yP

ymSmSPymSmSP kkkk

=′===′= −

− (3-4)

위 식의 분자는 Markov process 의 성질에 따라 아래로 나누어 진다.

.)|,(

)|(),(),,(

1

11

mSymSP

mSyPymSPymSmSP

kkk

kkjkjkkk

′==

=⋅′===′=

><−−

(3-5)

여기서 kjy < 는 처음 시간부터 1−k 까지의 수신 시퀀스 jy 를 나타내며 kjy > 는

시간 1+k 부터 마지막 수신 시퀀스까지를 나타낸다. 이제 다음과 같은 확률 함

수들을 정의해 보자.

Page 23: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

18

),()( 11 kjkk ymSPS <−− ′==α (3-6)

)|,(),( 11 mSymSPSS kkkkk ′=== −−γ (3-7)

.)|()( mSyPS kkjk == >β (3-8)

위의 확률들을 식 (3-7)에 대입하면 밑의 식으로 나타낼 수 있다.

.)(),()(),,( 111 kkkkkk SSSSymSmSP βγα ⋅⋅==′= −−− (3-9)

먼저 ),( 1 kk SS −γ 는 상태 1−kS 가 kS 로 천이 할 때 관계하는 가지 메트릭(branch

metric)을 나타내며 다음과 같이 변경된다.

.)|()(),|(

)|(),(

1

11

kkk

kkk

kkkk

xyPdPmSmSyP

mSmSPSS

⋅==′=⋅

′===

−−γ (3-10)

여기서 kd 와 kx 는 상태 1−kS 가 kS 로 천이 할 때 관계되는 정보비트와 부호화기

의 출력값이다. 식 (3-12)의 첫 번째 항 )( kdP 는 priori 정보로서 kz 로부터 얻어

진다. 그리고 )|( kk xyP 는 채널 환경과 변조의 함수이다. BPSK 로 변조되고 채널

이 플렛 페이딩 경우 )|( kk xyP 는 다음과 같다.

.)]12([exp/

1)|(1

2,,,

00

−−

−= ∑

=

n

qqkqkqk

S

Skk xay

NE

ENxyP

π (3-11)

식 (3-9)의 확률 )( kSα 는 순방향 재귀(forward recursion)로 구할 수 있다.

.),()(

),,()(

1

1

01

1

011

1

kk

M

Sk

M

mkjkkk

SSS

ymSmSPS

k

=−

=′+<−

⋅=

=′==

γα

α (3-12)

이와 비슷하게 )( kSβ 는 역방향 재귀(backward recursion)로 구할 수 있다.

Page 24: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

19

.),()(

)|,()(

1

1

01

1

01

1

kk

M

Sk

M

mkkjkk

SSS

mSymSPS

k

+

=+

=′>+

⋅=

=′==

+

γβ

β

(3-13)

식 (3-9)처럼 정보의 상태 천이 사후확률 )|,( 1 ymSmSP kk =′=− 이 구해지면

아래와 같이 각각의 정보 비트 사후확률을 구할 수 있다.

( )

.)|,()|1(1

,1∑

±=′

− =′==±=

kdmm

kkk ymSmSPydP (3-14)

따라서 최종적으로 구해지는 LLR은 다음과 같다.

.)(),()(

)(),()(

log)(

0),(

11

1),(

11

1

1

=

−−

=

−−

⋅⋅

⋅⋅

=

kkk

kkk

dSS

kkkk

dSS

kkkk

k SSSS

SSSS

dLβγα

βγα

(3-15)

3.1.2 log –MAP 알고리즘

MAP 알고리즘이 정보 비트의 사후확률을 추정한다 할지라도 실재적으로 구현

하는 문제가 있다. MAP 알고리즘은 계산적인 복잡도가 매우 크며 한 비트의 정보

에 대한 복잡도는 약 M×6 의 곱셈과 덧셈이 필요하다[7]. 그러나 이러한 복잡도

는 로그 계산을 수행하면 경감된다. 로그에서는 곱셈이 덧셈으로 바뀌기 때문이다.

로그 계산을 수행할 때 지수의 계산은 다음과 같이 근사화 된다.

( ) ( ) { }( ) .||exp1log,maxlog xyyxee yx −−++=+ (3-16)

만약 x와 y가 같지 않다면 위의 식은 다시 간소화될 수 있다.

( ) ( ) .,maxlog yxee yx ≈+ (3-17)

위의 식을 일반화 시키면 다음과 같다.

.maxlog iii

L Le i ≈∑ (3-18)

Page 25: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

20

log- MAP 알고리즘에서 ),( 1 kk SS −γ 에 로그를 취해보자.

.)|(log)(log

),(log),( 11

kkk

kkkk

xyPdPSSSS+=

= −− γγ (3-19)

이제 )( kSα 와 )( kSβ 에 로그를 취하면

[ ]

( ) .),()(max

),()(explog

)(log)(

11

1

011

1

1

kkkS

M

Skkk

kk

SSS

SSS

SS

k

k

−−

=−−

+=

+=

=

∑γα

γα

αα

(3-20)

[ ]

( ).),()(max

),()(explog

)(log)(

11

1

011

1

1

kkkS

M

Skkk

kk

SSS

SSS

SS

k

k

++

=++

+=

+=

=

γβ

γβ

ββ

(3-21)

격자의 모든 상태들에 대해 )( kSα 와 )( kSβ 가 구해지면 복호화기의 LLR

은 다음과 같이 계산된다.

( )

( ).),()()(max

),()()(max)(

110

),(

111

),(

1

1

kkkkd

SS

kkkkd

SSk

SSSS

SSSSdL

kkk

kkk

−+

=

−+

=

++−

++=

γβα

γβα

(3-22)

식(3-16)은 식(3-17)에 비해 두 번째 항을 look up table 을 이용해서 계산 해야 하

는 복잡도가 있지만 성능의 향상이 있다. 현재 MAP 알고리즘을 간소화하기 위한

여러 연구들이 진행되고 있으며 본 논문은 Pietrobon 에 의해 제안된 알고리즘을

사용하였다[15][16]. 일반적으로 터보 부호는 블록 단위의 병렬 연접 길쌈 부호를

사용하지만 격자의 종료 문제와 부호율이 감소하는 단점이 있다. 그러나 종료가

필요없는 연속적인 병렬 연접 길쌈 부호를 사용하는 알고리즘이 제안되었다[17].

Page 26: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

21

3.2 SOVA 알고리즘[18][19][20]

3.2.1 비터비 알고리즘

비터비 알고리즘은 길쌈 부호의 복호화 방법으로서 ML(maximum likelihood)

복호화를 수행한다. 길쌈 부호는 격자로 표현되는데 비터비 알고리즘은 잡음이 섞

인 수신 시퀀스가 주어지면 격자를 통해서 가장 가능성 있는 경로를 찾는다. 즉

복호화기는 아래의 사후 확률을 최대화 시키는 상태 시퀀스 ( )iS 를 찾고 그것에

대응하는 정보 시퀀스 ( )iu 를 찾게 된다.

( ) .)|(max ySP i

i (3-23)

여기서 y가 고정되어 있으므로 등가적으로 다음과 같다.

( ) ( ) .)()|(max ii

iSPSyP (3-24)

이제 Markov process의 특성을 이용하면

( ) ( ) ( ) ( )

( ) ( )

( ) ( )

=

=

=−

=−

=−

L

1j

ij

i1ji

L

1j

i1j

ij

L

1j

ij

i1jji

ii

i

)S,S(max

)S|S(P

)S,S|y(Pmax)S(P)S|y(Pmax

γ

(3-25)

위의 사후 확률의 최대값은 모든 상태들과 시간 k 에 대해서 확률 ( ) ),( kji

kj ySP ≤≤

을 최대화 하는 최대 경로를 선택할 때 구해진다. 확률 ( ) ),( kji

kj ySP ≤≤ 은 경로 i

의 패스 메트릭(parh metric)이며 경로 i에 관계하는 모든 가지 천이 확률들을 곱함

으로써 계산된다. 여기서 가지 천이 확률 ( ) ( ) ),( 1i

ji

j SS −γ 은 가지 메트릭(branch

metric) 이며 시간 kj ≤≤1 에 대해 정의된다.

( ) ( ) .)|()(),( 1 jjji

ji

j xyPuPSS ⋅=−γ (3-26)

Page 27: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

22

위 식의 jx 는 상태의 천이가 일어날 때 발생되는 부호화기의 출력이다. ju 와 jx

를 GF(2)의 원소 { }1,1 −+ 로 정의하자. )( juP 는 priori 확률로서 다음과 같이 계

산되고

2/)()(

)(

1)1( jj

j

juuL

juL

uL

j eAe

euP ⋅=+

=±= ±

±

(3-27)

systematic 길쌈 부호이며 페이딩 진폭이 a 인 플렛 페이딩인 경우 )|( jj xyP 는

아래와 같다.

+⋅= ∑

=

n

qqjqjcjjcjjj xyLuyLBxyP

2,,1, 2

121exp)|( (3-28)

단 0, /4 NEaL sqjc ⋅= 이다.

식 (3-25)에 로그를 취하여도 최대 경로는 변치 않는다. 또한 식 (3-27)과 (3-28)

의 jA 와 jB 는 모든 경로 i에 대해서 동일하므로 삭제될 수 있다. 따라서 시간

k까지 경로 i의 로그를 취한 패스 메트릭은 재귀적으로 구해진다.

( ) ( ) ( ) ( )∑=

− ++′=n

q

iqkqkc

ikk

ik

ik xyLuuLSMSM

1,,1 2

1)(21)()( (3-29)

여기서 ( )iS 는 시간 k 에서 경로 i의 상태이고 ( )iku 는 정보 비트이며 ( )i

qkx , 는 부호

화된 비트이다. 패스 메트릭을 경로 i와 수신 시퀀스 kjy ≤ 의 조합 확률로 나타내

면 다음과 같다.

( )

( ).

),(),(

)(

1

ik SM

k

jjj

kji

kjkj

eBA

ySPyipathP

⋅=

=

∏=

≤≤≤

(3-30)

그런데 각각의 시간과 상태에서 구해지는 패스 메트릭은 2 개이다. 따라서 이

중에서 값이 큰 것을 그 상태의 패스 메트릭으로 정한다. 모든 시간과 상태에 대

해서 패스 메트릭이 구해지면 마지막 시간 L에서 가장 가능성 있는 상태 시퀀스

Page 28: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

23

를 찾게 되고 그것과 대응하는 정보 시퀀스를 찾는다.

3.2.2 SOVA (Soft Output Viterbi Algorithm) 알고리즘

비터비 알고리즘이 priori 정보 형태의 소프트 입력을 처리 할지라도 비트 확률

이나 사후 확률의 관점에서는 소프트 출력을 만들지 못하므로 터보 부호의 복호

화에는 적합하지 않다. SOVA 알고리즘은 비터비 알고리즘을 변형한 것으로 각각

의 비트의 신뢰도를 소프트 값으로 발생시켜 다른 복호화기의 priori 입력으로 넘

겨줄 수 있는 알고리즘이다.

SOVA 알고리즘은 다음과 같은 방법으로 진행된다. 먼저 비터비 알고리즘으로

부터 정보 비트 ku 가 추정되면 ku 에 대한 소프트 출력을 계산해야 한다. 비터비

알고리즘은 식 (3-29)과 같이 경로 i에 대해 패스 메트릭을 계산하는 방법으로 진

행된다. 이때 각각의 상태에서는 2 개의 패스 메트릭 ( ))( ik SM 중에서 값이 큰 경

로를 선택하게 된다.

그림 3-1 은 비터비 알고리즘이 시간 δ+k 에서 값이 큰 ML(maximum

likelihood)패스 δi 를 선택하고 같은 상태로 들어오는 경쟁 패스 δi′ 는 버리는 것을

나타낸다. 이렇게 ML 패스 δi 를 따라가며 격자를 이용해서 정보 비트 ku 는 결

정되고 나머지 1+δ 개의 경쟁 패스 li′들은 버려진다 ( )δ,,0L=l . 여기서 메트

릭의 차를 다음과 같이 정의하자.

( ) ( ) .0)()( ≥−=∆ ′++

ll ilk

ilk

lk SMSM (3-31)

그러면 lkjy +≤ 가 주어질 때 시간 lk + 에서 생존 패스의 결정이 올바를 확률은

( )

( ) ( )

)(exp1)(exp

))((exp))((exp))((exp

),(),(),(

)(

lk

lk

ilk

ilk

ilk

lkjllkjl

lkjl

ll

l

SMSMSM

yipathPyipathPyipathP

correctP

∆+∆

=

+=

′+=

′++

+

+≤+≤

+≤

(3-32)

Page 29: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

24

kj< kj=

0=l l δ

lkjk +<< lk+ δ+k

)( li

lkM

+

)( li

lkM

+

l

k∆

δipath

δi′path

δ∆k

ku

lku

time index j

relative time index l

그림 3-1. lk∆ 의 유도하기

그러므로 생존 패스 결정에 대한 소프트 값 즉 likelihood ratio 는 밑의 식처럼 lk∆

가 된다.

.)(1

)(log lkcorrectP

correctP∆=

− (3-33)

[20]에 의하면 비터비 알고리즘의 소프트 출력값은 ML 패스에 의해 추정된 정

보 비트 ku 에 ku 로 값을 결정할때 생기는 오류 확률들의 로그 값 )( lkeL 을 곱한

것이다 ( )δ,,0L=l . 여기서 )( lkeL 은 정보 비트 ku 를 결정하는데 영향을 줄 수

있는 값이다. 즉

k

lk

klk

lk

lk uu

uueL

ˆˆˆˆ

)(≠=

∆∞

= (3-34)

위 식에서 lku 은 경쟁 패스 li′ 가 추정하는 비트 값으로서 만약 ML 패스에 의해

추정된 ku 와 그 값이 같다면 li′를 생존 패스로 선택하더라도 ku 를 결정할 때 오

류가 발생하지 않는다. 따라서 이때의 비트 결정의 신뢰도는 ∞가 된다. 반면 ku

Page 30: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

25

와 값이 다르다면 그 때의 신뢰도는 lk∆ 가 된다.

따라서 최종적으로 비트 ku 에 대한 소프트 출력 값 즉 신뢰도는 근사적으로

다음과 같다.

.minˆ)ˆ(

ˆ)(ˆ)ˆ(

,,0

00lklkk

l

lkk

l

lkkk

uuL

ueLuuL

∆⋅≈

∆⋅=⋅=

=

==

∑∑⊕⊕

δ

δδ

K

(3-35)

여기서 ⊕는 덧셈에 대한 기호로서 다음과 같이 정의된다.

= ∑∑

==⊕

δδ

00

)(j

j

j

j uLuL (3-36)

식 (3-35) 에서 사용되는 경쟁 패스들은 비트 ku 와 다른 결정 값 lku 을 결정하

는 경쟁 패스에 대해서만 정의된다. 따라서 SOVA 알고리즘은 일반적인 비터비 알

고리즘으로부터 강 판정된 값을 이용할 수 있을 뿐만 아니라 ML 패스를 따라가며

상대적인 메트릭 차가 가장 작은 것을 취함으로써 각각의 비트에 대한 신뢰도를

얻을 수 있다. SOVA 의 출력값으로부터 복호화기의 입력 값을 빼면 다음의 복호

화기의 priori 정보로 쓰이는 외부 정보를 얻을 수 있다.

log-MAP 알고리즘은 SOVA 알고리즘에 비해 약 2 배의 복잡도가 있다. 또한 소

요되는 메모리는 log- MAP 알고리즘의 경우 순 방향과 역 방향의 재귀에 의해 계

산되는 모든 시간의 메트릭을 저장해야 한다. 그러나 SOVA 알고리즘은 부호화기

의 레지스터 개수의 약 5 배 만큼의 시간에 대한 메트릭만을 저장하도록 설계될

수 있다. AWGN 채널에서는 log- MAP 알고리즘이 SOVA 에 비해 약 1dB 의 성능

이득이 있다. MAP 알고리즘이 SOVA 에 비해 우수한 성능을 내는 이유는 MAP 은

한 비트의 값을 결정하기 위해 모든 패스의 확률을 계산하고 그 비트와 관계된

모든 패스를 더해서 출력을 내지만 SOVA 는 단지 생존 패스와 경쟁 패스의 2 가

지 패스만 고려하기 때문이다. 현재 이러한 SOVA 의 성능을 높이기 위한 연구들

이 진행되고 있다[21].

Page 31: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

26

제 4장 LLR의 합을 사용하는 병렬 복호화기 제안

4.1 연구 동기

터보 부호의 성능을 결정하는 요소중에 복호화기의 구조는 매우 중요하다. 먼

저 터보 복호화 알고리즘은 MAP 이나 SOVA 가 있지만 복잡도와 성능을 고려해서

선택 해야 한다. 그리고 복호화 때 반복 복호화 횟수는 지연시간과 성능을 고려해

서 결정해야 한다. 또한 성능과 복잡도의 관점에서 복호화기들이 정보를 교환하는

구조가 중요한데 일반적으로 터보 부호의 복호화기는 구성 부호화기와 같은 수가

서로 정보를 주고 받도록 연결되어 있다. 1993 년에 발표된 Berou 의 논문과 같이

일반적인 터보 부호의 구조는 2 개의 구성 부호가 쓰일 때 복호화기는 직렬 모드

(serial mode)로 연결되어 있다. 그러나 구성 부호가 다중일 경우 복호화기는 주로

병렬 모드(parallel mode)로 연결되어 진다[6] [22]. 보통 2 개의 구성 부호에 대해서

는 보다 간소한 직렬 모드로 복호화기가 구성되지만 만약 병렬 모드로 구성되어

지고 변형된다면 성능의 향상을 기대할 수 있다. 따라서 본 장에서는 2 개의 구성

부호만을 사용하는 터보 부호에 대해서 병렬 모드를 변경해서 성능이 향상될 수

있는 복호화 방법을 제안한다.

4.2 이론적 배경

본 절에서는 터보 복호화기의 복호화의 진행과정과 구조를 소개한다. 일반적으

로 터보 복호화기는 직렬 모드로 구성되지만 병렬 모드의 구조를 갖을 수 있으며

또한 직렬 모드와 병렬 모드가 혼합된 구조를 갖을 수 있다.

• 직렬 모드(serial mode) 복호화기[22]

[2]에서 제안된 2 개의 구성 부호를 사용하는 터보 부호에 대한 복호화 개념이

그림 4-1의 (a)에 나와있다. 이것은 직렬 모드로 동작한다. 즉 “Dec 2” 가 동작하기

전에 “Dec 1”이 정보들을 처리 해서 출력값을 넘겨주고 “Dec 2” 는 다시 출력값을

Page 32: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

27

“Dec 1” 에 넘겨주는 과정을 반복한다. 이렇게 직렬 모드의 복호화 개념을 구성

부호가 3 개일 때로 확장해 보면 그림 4-1 의 (b)와 같다. 이러한 개념은 구성 부호

가 3개 이상인 다중 터보 부호에 대해서도 적용된다.

DEC 1 DEC 2 DEC 1

(a) 2개의 구성 부호화기인 경우

DEC 2 DEC 3 DEC 1DEC 1

(b) 3개의 구성 부호화기인 경우

그림 4-1 직렬 모드

• 혼합 모드(mixed mode) 복호화기[6]

구성 부호가 3 개 이상이면 그림 4-2 처럼 다른 방법으로 복호화 할 수 있다.

여기서 “Dec 1” 은 나머지 두 개의 복호화기들과 연결되어 정보를 교환 하지만 나

머지 복호화기 “Dec 2”와 “Dec 3” 들은 서로 연결되지 못하므로 정보를 교환할 수

없다. 이 방법은 직렬 모드와 병렬 모드가 혼합된 방법으로서 첫 번째로 동작하는

복호화기를 제외한 모든 복호화기는 병렬 모드로 연결되어 있다.

DEC 2 DEC 2

DEC 1

DEC 3DEC 3

DEC 1

그림 4-2 혼합 모드

Page 33: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

28

• 병렬 모드(parallel mode) 복호화기[14][22]

또 다른 복호화 개념으로는 그림 4-3 과 같이 병렬 모드 인데 어떠한 시간에서

도 모든 복호화기가 병렬로 동작한다. 병렬 모드에서는 이전 시간의 자기 자신으

로부터 오는 정보는 받지 않는데 그 이유는 복호화 과정이 진행되면서 positive 피

드백이 되어 오히려 성능이 감소하기 때문이다.

병렬 모드를 구성 부호가 3 인 경우에 적용해보자. 이진 정보 ku 가 { }1,0=ku

이고 정보 시퀀스가 ( )Nuuu ,,1 L= 이라고 하자. 그러면 수신 정보 시퀀스 y

가 주어질 때 시간 k의 정보 비트 ku 에 대한 복호화기의 LLR 출력값 kL 는 다

음과 같다.

.)0()1(log

)|(

)|(log

)|0()|1(log

0:

1:

==

+=

==

=

∑∑

=

=

k

k

uu

uu

k

kk

uPuP

uyP

uyPyuPyuPL

k

k

(4-1)

식 (4-1)은 최적의 MAP 알고리즘을 이용하고 정보의 확률이 같다면 다음과 같이

된다.

DEC 1

DEC 2

DEC 3

DEC 2

DEC 3

DEC 1

DEC 2

DEC 3

DEC 1

DEC 2

DEC 3

DEC 1

그림 4-3 병렬 모드

Page 34: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

29

.~~~~

)|()|()|()|(

)|()|()|()|(log

3210

0:3210

1:3210

kkkk

uu

uuk

LLLL

uyPuyPuyPuyP

uyPuyPuyPuyPL

k

k

+++=

=∑∑

=

=

(4-2)

여기서 systematic 정보 시퀀스 u는 ( )Niii xxx ,,

1L= 로 부호화되며 0x 는 u이다

)3,2,1,0( =i . 또한 ix 에 대응하는 수신 시퀀스는 iy 이다 )3,2,1,0( =i . 그리고

0~L 는 정보 시퀀스에 관계된 값 000 /4~ NEyaL s= 이고 iL~ 는 i번째 복호화기의

출력값에서 모든 입력 정보를 뺀 외부 정보 시퀀스를 나타낸다. 여기서 a는 채널

의 페이딩 진폭이다. 다중 터보 부호의 경우에 MAP 알고리즘을 사용하는 병렬 모

드 복호기의 LLR 출력값은 각각의 복호화기의 외부정보들과 정보 시퀀스의 채널

출력값을 더한 값임을 알 수 있다.

다중 부호의 복호 알고리즘으로 쓰이는 병렬 모드는 구성 부호가 2 개 일 때도

적용될 수 있다. 그림 4-4 은 2 개의 구성 부호에 대한 병렬 모드 구조이다. 2 개의

부호에 대한 병렬 모드는 2 개의 패스가 서로 분리되어 있는 형태이므로 그림 4-1

의 (a)처럼 직렬 모드로 간소화 될 수 있다. 그림 4-5 는 2 개의 구성 부호에 대한

병렬 모드 복호화기이다.

DEC 1

DEC 2 DEC 2

DEC 1

DEC 2

DEC 1

그림 4-4 2개의 구성 부호에 대한 병렬 모드

Page 35: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

30

DEC BINT DEINT+

DEC A++

+

-

-

( )mAL

( )mBL

∑( )mAL

~

( )mBL

~

0~L

By

04

NE

a s×

Ay0

4NE

a s

×0

4NE

a s

0y

DECODED BITS

×

그림 4-5 2개의 구성 부호에 대한 병렬 복호화기[14]

4.3 제안한 방법의 병렬 복호화기 구조

2 개의 구성 부호의 경우 병렬 모드의 개념은 그림 4-4 와 같다. 그런데 2 개의

패스가 서로 결합된 형태이기 때문에 각각의 패스를 따로 생각해 보면 그림 4-6

처럼 2 개의 직렬 모드 A 와 B 로 생각할 수 있다. 직렬 모드의 복호화기는 패스

A 나 B 중에서 한 경우만을 선택해서 복호화를 하지만 병렬 모드는 두 가지의 패

스 모두에 대한 복호화가 동시에 진행된다. 따라서 일정한 횟수의 반복적인 복호

화 과정이 진행된 후에 복호화기의 출력값을 강 판정(hard decision)해서 정보 비트

의 값을 결정할 때 직렬 모드는 A 나 B 중 한 경우의 출력값 만을 사용한다. 그러

나 병렬 모드는 A 와 B 의 서로 다른 값의 분포를 갖는 2 개의 출력값 모두를 사

용할 수 있다. 따라서 병렬 모드는 이 2 가지 패스의 결과값을 적절히 이용하면

한 가지의 결과값만을 이용할 수 있는 직렬 모드에 비해 정보 비트에 대한 정보

Page 36: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

31

DEC 1

DEC 2 DEC 2

A

B

DEC 1 DEC 2 DEC 2

)(mAL

DEC 1 DEC 1

)(mBL

m1 20

그림 4-6 2개의 구성 부호에 대한 병렬 모드의 분리 형태

를 더 많이 가지고 있게 된다. 본 절에서는 이러한 병렬 모드 복호화기를 변형함

으로써 성능의 향상을 줄 수 있는 복호화 방법을 제안한다. [14],[22]에서는 복호화

알고리즘으로 MAP 을 사용하는 병렬 모드 복호화기가 소개되었으나 본 논문에서

는 SOVA 를 사용하는 2 개의 구성 부호화기일 때 제안한 방법의 병렬 모드 복호

화기를 주로 다룬다.

4.3.1 LLR의 합을 이용한 복호화기 구조

그림 4-6 에서 ( )mAL 는 m번의 반복 복호화가 진행된 패스 A 의 LLR 출력값이

다. ( )mBL 는 패스 B 의 LLR 출력값이다. 반복 횟수 m에서 출력값 시퀀스 ( )m

AL 와 ( )mBL 는 서로 다른 값들의 분포이다. 따라서 위의 출력값 시퀀스들을 강 판정한 각

각의 시퀀스 ( )mAu , ( )m

Bu 와 정보 시퀀스 u와 비교해서 생기는 오류를 계산해보면

2 개의 패스의 오류값들이 서로 다르다. 즉 경우에 따라서 ( )mAu 가 ( )m

Bu 보다 u에

더 비슷한 값을 갖을 수도 있고 반대의 경우가 될수도 있다. 일반적으로 ( )mAu 와

( )mBu 의 분포는 서로 다르지만 반복 횟수 m이 증가할수록 두 값의 분포는 새롭게

갱신되고 서로 비슷한 분포를 갖게되며 u와도 비슷해져서 결국 오류가 줄어든다.

기존의 직렬 복호화기는 ( )mAu 와 ( )m

Bu 중 하나만을 이용해서 복호화 하였지만 두

가지를 모두를 이용하기 위해 LLR 시퀀스의 sign을 고려해보자.

시퀀스 ( )mAL 와 ( )m

BL 의 sign 을 비트 단위로 서로 비교해 보면 두 시퀀스는

Page 37: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

32

sign 이 서로 같은 비트들과 sign 이 서로 반대인 비트들로 되어있다. 두 시퀀스의

sign 이 서로 같은 비트들은 그 sign 으로 강 판정해서 복호화 하면 정보 비트와 값

이 같을 확률이 높지만 두 시퀀스의 sign 이 반대인 비트들은 상대적으로 신뢰도가

많지 않다. 따라서 두 시퀀스의 sign 이 서로 반대인 비트들의 경우 두 비트 중에

큰 것에 신뢰도를 많이 두고 작은 것에 신뢰도를 덜 주는 방법으로서 두 비트들

을 더해준다.

이렇게 두 시퀀스들을 더해주면 새로운 시퀀스 ( )msumL 가 만들어지는데 ( )m

sumL 의

각각의 비트 sign 은 ( )mAL 의 비트와 ( )m

BL 의 비트중에서 값이 큰 비트의 sign 과 같

다. 여기서 두 LLR 시퀀스의 합 ( )msumL 은 다음과 같다.

( ) ( ) ( ) .mB

mA

msum LLL += (4-3)

이제 m번의 반복 복호화 후에 시간 k 비트의 두 LLR 출력값의 합을 정보 시퀀

스의 채널 출력값과 사전 정보값으로 표현하면 다음과 같다.

.)(~)(~)()()(~2

)(~)()(~)(~)()(~)(

0

00

kBkAkPkPk

kBkPkkAkPkksum

uLuLuLuLuL

uLuLuLuLuLuLuL

BA

BA

++++=

+++++=(4-4)

여기서 )(~0 kuL 는 정보 비트에 관계된 값이고 )( kP uL

i는 m번째 복호화 때 복호화

기 i의 사전 정보, )(~ki uL 는 m번째 복호화 때 발생된 복호화기 i의 외부 정보

값이다 ),( BAi = . 채널의 상태가 좋은 경우에 복호화의 결과는 )(~0 kuL 에 의존하

지만 채널의 상태가 열악하면 복호화의 값은 사전 정보와 외부 정보의 값에 의존

한다. 병렬 모드 복호화기의 2 개의 LLR 시퀀스의 합 ( )msumL 를 강 판정한 시퀀스

( )msumu 은 직렬 모드의 ( )m

Au 와 ( )mBu 에 비해서 더 작은 오류값을 갖는 분포라는 사실

이 본 논문의 실험을 통해 확인되었다. 이렇게 LLR 의 합을 사용하도록 복호화기

를 변형하면 그림 4-7 처럼 나타낼 수 있다. 그림 4-7 의 LLR 의 합을 이용하는 복

호화기는 그림 4-5 의 병렬 복호화기를 변형한 것으로 마지막 m번째의 복호화가

끝나면 그림 4-5 의 DEC A 의 LLR 출력 시퀀스 ( )mAL 와 DEC B 의 LLR 시퀀스

( )mBL 를 비트 단위로 더하는 구조이다. 제안한 방법의 복호화기는 그림 4-5의 구조

Page 38: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

33

DEC BINT DEINT+

DEC A++

+

-

-

( )mAL

( )mBL

∑( )mAL

~

( )mBL

~

0~L

By

04

NE

a s×

Ay0

4NE

a s

×0

4NE

a s

0y

×

( )msumL

)(ˆ msumu

+

+

그림 4-7 제안한 2개의 구성 부호에 대한 병렬 복호화기

보다 두 LLR 값들을 더하는 계산량이 추가적으로 소요되지만 성능의 향상을 가져

온다.

4.4.2 두 LLR합의 분포 특성

그림 4-6 에서 두 직렬 패스의 출력 시퀀스 ( )mAL 와 ( )m

BL 는 서로 다른 값들의

분포이며 반복 횟수 m이 증가할수록 두 값은 신뢰도가 높아지는 분포로 새롭게

갱신되며 오류가 줄어드는 값으로 수렴한다. m이 커질수록 복호기에서 발생된 외

부 정보들이 이전 복호기의 출력값들과 서로 연관성을 가지게 되면서 성능 향상

의 폭이 작아지고 결국 성능 향상이 없는 오류값으로 수렴하게 된다. 그러나 ( )msumL

의 오류값은 직렬 모드 LLR 출력값 ( )mAL 와 ( )m

BL 가 수렴하게 되는 오류값보다 더

작은 값을 갖는다. 즉 m이 증가하면서 ( )msumL 의 오류값도 결국 수렴하지만 ( )m

AL 와 ( )mBL 가 수렴하는 오류값보다 작은 값으로 수렴하는 분포를 갖는다. 그림 4-8 은

AWGN 채널에서 SOVA 의 경우에 ( )mAL 를 복호화하는 직렬 모드와 두 LLR 의 합

Page 39: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

34

( )msumL 을 복호화 하는 방법에 대해 복호화 횟수에 따른 성능을 비교하고 있다. 그림

에서 점선은 LLR 의 합을 이용하는 제안된 방법의 결과를 나타내고 있다. 직렬 모

드의 경우 반복 횟수 m이 15이상이면 성능 향상이 거의 없는 오류값으로 수렴한

다. m이 5 이고 0/ NEb 가 2dB 이상일 때 제안한 방법의 오류율은 m이 15 이상

인 직렬 모드 복호화기의 오류율보다 작으며 m이 10 이상일 때 제안한 방법이

모든 0/ NEb 에서 직렬 모드가 수렴하는 오류율보다 더 작은 오류율을 갖는 것을

알 수 있다. 따라서 ( )msumL 은 직렬 모드의 복호화 횟수 m′보다 작은 반복 횟수 m

에서 ( )mAL ′와 ( )m

BL ′가 수렴하게 되는 오류율보다 작은 오류율을 갖게된다.

1.00E-06

1.00E-05

1.00E-04

1.00E-03

1.00E-02

1.00E-01

1.00E+00

0 0.5 1 1.5 2 2.5 3

Eb/N0(dB)

Pb

iteration 1

iteration 5

iteration 10

iteration 15

iteration 1,LLR sum

iteration 5,LLR sum

iteration 10,LLR sum

iteration 15,LLR sum

그림 4-8 반복 횟수에 따른 직렬 모드 복호기와 LLR 합을 이용하는 병렬 복호기

의 성능 비교 (구속장의 길이 4, 프레임 길이 1024, 부호율 1/3)

Page 40: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

35

제 5 장 실험 결과 및 고찰

5 장에서는 지금까지 다루었던 터보 부호의 이론들을 바탕으로 실험을 한다.

먼저 기본적인 터보 부호에 대한 성능을 분석하는 실험을 하며 4 장에서 제안한

방법으로 실험한 결과들을 분석하고 비교해 본다.

사용되는 시스템의 구조는 2.4 절과 2.5 절에서 언급했던 구조를 사용한다. 즉

채널 모델은 AWGN 채널과 페이딩 진폭이 완전하게 추정된 레일레이 페이딩 채널

로 설정하였고 BPSK 변조를 가정하였다. 또한 페이딩 채널에서는 채널 인터리버

를 통과할 때의 성능 변화를 분석하였다. 복호화 알고리즘으로는 MAP 알고리즘과

SOVA 알고리즘을 사용하였고 주로 SOVA 가 사용되었다. 복호화기의 구조는 직렬

모드와 병렬 모드 그리고 변경된 병렬 모드이며 각각의 경우에 대해 실험을 하였

다. 또한 구성 부호화기의 구속장의 길이와 정보 시퀀스의 프레임 길이를 바꾸어

가며 실험을 하였고 두 가지의 부호율 1/2 , 1/3 에 대해서 실험하였다. 구성 부호

화기의 생성 다항식은 편의상 피드백 다항식을 0G , 잉여 비트의 생성 다항식은

1G으로 나타내었고 모두 팔진수 형태로 표시하였다.

5.1 터보 부호의 일반적인 성능

5.1.1 MAP과 SOVA의 성능 비교

그림 5-1 의 (a)와 (b)에서 사용된 터보 부호는 구속장이 4, 생성 다항식은

( )80 15=G , ( )81 17=G 이고 프레임 길이는 1024 이며 인터리버는 m 시퀀스를

이용한 랜덤 인터리버가 사용되었다. 복호화에 있어서 반복횟수는 일반적으로 20

회 정도까지는 좋아지지만 실제 시스템에 적용할 때는 지연시간의 문제가 있다.

또한 반복 횟수가 6 회 이하일 때 만족할 만한 결과를 얻을 수 있다. 따라서 본

논문에서는 반복회수를 5 회로 고정시켰다. 실험의 결과는 앞장에서 다루었듯이

MAP 복호화기가 SOVA 복호화기보다 우수한 성능을 나타내는데 AWGN 채널에서

는 같은 부호율에서 MAP 알고리즘이 SOVA 에 비해 약 1 dB 정도 이득이 있었고

부호율이 1/2 인 MAP 알고리즘이 부호율이 1/3인 SOVA 알고리즘보다도 0.4dB정

Page 41: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

36

1.00E-06

1.00E-05

1.00E-04

1.00E-03

1.00E-02

1.00E-01

1.00E+00

0 1 2 3Eb/No(dB)

Pb

MAP 1/3

MAP 1/2

sova 1/3

sova 1/2

(a) AWGN 채널

1.00E-06

1.00E-05

1.00E-04

1.00E-03

1.00E-02

1.00E-01

1.00E+00

0 1 2 3 4 5 6 7 8

Eb/No(dB)

Pb

MAP 1/3

MAP 1/2

sova 1/3

sova 1/2

(b) 01.0=SdTB 인 레일레이 페이딩 채널

그림 5-1 MAP과 SOVA의 성능 비교

Page 42: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

37

도 이득이 있었다. 그러나 SdTB 가 0.01 인 레일레이 페이딩 채널에서는 오히려 부

호율이 1/3 인 SOVA 알고리즘이 부호율이 1/2 인 MAP 알고리즘보다 1dB 정도 좋

다. 따라서 부호율의 관점에서 SOVA 와 MAP 의 성능 차이의 정도는 채널의 종류

에 의해 달라짐을 알 수 있다. 이러한 MAP 의 우수한 성능에도 불구하고 복잡도

가 SOVA 에 비해 크므로 성능과 복잡도를 절충해서 시스템의 상태에 맞는 적절한

복호화 알고리즘을 사용해야 한다. 표 5-1 과 5-2 는 MAP 과 SOVA 알고리즘에 대

해 BER ( )bP 이 310−과 410−

가 되기 위한 ob NE / 를 나타낸다.

표 5-1. AWGN 채널에서 MAP과 SOVA의 성능 비교

( ( )80 15=G , ( )81 17=G , 반복 횟수 5번, N =1024인 랜덤 인터리버)

복호화기의 형태 310−=bP 를 얻기위한

ob NE / ( )dB

410−=bP 를 얻기위한

ob NE / ( )dB

MAP (1/2) ≈ 1.4 ≈ 1.9

MAP (1/3) ≈ 0.7 ≈ 1.0

SOVA(1/2) ≈ 2.2 ≈ 2.9

SOVA(1/3) ≈ 1.7 ≈ 2.3

표 5-2. 01.0=SdTB 인 레일레이 페이딩 채널에서 MAP과 SOVA의 성능 비교

( ( )80 15=G , ( )81 17=G , 반복 횟수 5번, N =1024인 랜덤 인터리버)

복호화기의 형태 310−=bP 를 얻기위한

ob NE / ( )dB

410−=bP 를 얻기위한

ob NE / ( )dB

MAP (1/2) ≈ 6.1 ≈ 7.8

MAP (1/3) ≈ 4.0 ≈ 5.7

SOVA(1/2) ≈ 6.9 ≈ 9.4

SOVA(1/3) ≈ 5.0 ≈ 6.8

Page 43: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

38

5.1.2 채널 인터리버를 사용한 터보 부호의 성능

채널 인터리버가 사용된 시스템 구조는 그림 5-2 와 같으며 레일레이 페이딩

채널의 모델은 [11]에 있는 Clarke 모델을 이용했다. 프레임 길이가 1024 인 정보

시퀀스 ku 는 부호율이 1/3 이며 랜덤 인터리버가 쓰인 부호화기를 통과한다. 이렇

게 부호화된 시퀀스는 3296× 블록 채널 인터리버를 통과해서 인터리빙되며

BPSK 로 변조되어 플랫 페이딩 채널로 보내진다. 플랫 페이딩 채널에서는 각각의

변조된 심벌 ks 마다 페이딩 진폭 ka 가 곱해지고 AWGN 샘플 kn 가 더해진다. 이

러한 채널을 통과한 신호는 BPSK 복조기로 들어간다. 복조기의 출력 시퀀스는 디

인터리빙 되어져서 SOVA 알고리즘을 이용한 터보 복호화기의 입력 시퀀스로 들

어간다. 이때 페이딩 진폭 ka 는 수신단에서 완전히 추정되었다고 가정한다. 그림

5-3 과 5-4 는 위의 조건을 가지는 터보 부호에 대한 채널 인터리버가 사용되지 않

는 경우와 채널 인터리버가 사용된 경우의 성능을 나타낸다. 일반적으로 터보 부

호는 SdTB 가 감소해서 페이딩 속도가 작아지면 성능은 크게 악화된다고 알려져

있다[9]. 그런데 채널 인터리버를 통과시키면 페이딩으로 인한 연집 오류가 줄어들

어 그림 5-3 과 5-4 처럼 성능이 개선되는데 그림 5-3 과 5-4 에서 채널 인터리버를

통과한 결과는 01.0=SdTB 일 때 410−=bP 에서 약 3dB 의 이득을 얻을 수 있었

다. 그러나 성능 향상과 함께 채널 인터리버를 사용하면 복호화시에 다시 디인터

리빙의 시간이 소요되므로 지연 시간의 문제가 생기게 된다.

TurboEncoder

BPSKDemodulator

BPSKModulator

ChannelINT

TurboDecoder

ChannelDEINT

ku

ku

kr

ks

ka

kn

그림 5-2 채널 인터리버를 사용한 시스템의 구조

Page 44: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

39

1.00E-06

1.00E-05

1.00E-04

1.00E-03

1.00E-02

1.00E-01

1.00E+00

0 1 2 3 4 5 6 7 8

Eb/No(dB)

Pb

BdTs=0.001, no interleaving

BdTs=0.01, no interleaving

BdTs=0.05, no interleaving

BdTs=0.001, block interleaving

BdTs=0.01, block interleaving

BdTs = 0.05, block interleaving

그림 5-3 생성 다항식이 ( )80 7=G , ( )81 5=G 일때 레일레이 페이딩 채널에서

SdTB 에 따른 채널 인터리빙의 성능 비교

1.00E-06

1.00E-05

1.00E-04

1.00E-03

1.00E-02

1.00E-01

1.00E+00

0 1 2 3 4 5 6 7 8

Eb/No(dB)

Pb

BdTs = 0.001, no interleaving

BdTs = 0.01, no in terleaving

BdTs = 0.05, no in terleaving

BdTs = 0.001, block in terleaving

BdTs = 0.01, block interleaving

BdTs = 0.05, block interleaving

그림 5-4 생성 다항식이 ( )80 15=G , ( )81 17=G 일때 레일레이 페이딩 채널에서

SdTB 에 따른 채널 인터리빙의 성능 비교

Page 45: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

40

5.2 제안한 복호화기의 성능 고찰

본 절에서는 4 장에서 제안했던 터보 부호의 복호화기에 대한 이론과 5.1 절의

실험에서 사용된 터보 부호들을 바탕으로 제안한 복호화기의 성능을 분석한다. 일

반적인 병렬 모드 복호화기의 구조는 그림 4-5 와 같은 구조이다. 이 구조를 직렬

모드로 간소화 하면 그림 2-7 처럼 일반적인 터보 복호화기의 구조로 간소화 될

수 있다. 제안한 복호화기의 구조는 그림 4-7 처럼 두 개의 LLR 출력 시퀀스의 합

을 강 판정하는 구조이다. 본 절에서 사용된 터보 부호의 반복 횟수는 5 이며 생

성 다항식은 주로 ( )80 15=G , ( )81 17=G 이며 랜덤 인터리버를 사용하였다. 또한

5.1 절에서 사용된 파라미터들과 실험 결과들을 이용해서 제안된 방법의 복호기와

직렬 모드 복호화기의 성능을 서로 분석, 비교 하였다.

5.2.1 AWGN 에서의 성능 변화

그림 5-5 의 (a)와 (b)에서 사용된 터보 부호의 프레임 길이는 1024 이고 구속장

이 3 이며 부호율이 1/3 과 1/2 일 때 일반적인 MAP 과 SOVA 알고리즘에 대해서

제안된 방법의 성능을 비교한다. 두 그림들에서 점선들은 LLR 의 합을 이용하는

방법으로 복호화한 결과들이며 “LLR sum”으로 표기했다. 410−=bp 에서 부호율이

1/3 일때 SOVA 경우 약 0.4dB 의 이득이 나타났고 MAP 은 약 0.15dB 의 성능향상

이 있었다. 따라서 ob NE / 가 높아지면서 성능의 향상이 두드러지며 복호화시에

SOVA 가 MAP 보다 제안된 방법으로 인한 상대적인 이득이 좀더 크게 나타남을

알 수 있다.. 그림 5-6 의 (a)는 SOVA 를 이용할 때 프레임 길이에 따른 성능 결과

를 비교하고 있다. 부호율 1/3 인 구성 부호화기가 사용되었다. 410−=bp 에서 프레

임 길이가 256=N 일 때 약 0.6dB 의 이득이 있었고 521=N 일 때는 0.45dB 의

성능향상이 있었으며 4096=N 이면 0.3dB 의 이득이 있었다. 따라서 프레임 길이

가 작을수록 제안한 방법으로 인한 성능 향상이 큼을 알 수 있다. 그림 5-6 의 (b)

는 복호화 알고리즘으로 SOVA 를 이용하고 프레임 길이가 1024 이며 표 5-3 의 구

속장을 쓰는 터보 부호이다. 410−=bp 에서 구속장의 길이가 4,3=K 일 때는

0.4dB의 이득이 있었으며 구속장의 길이가 5=K 일 때는 0.6dB의 이득이 있었다.

Page 46: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

41

1.00E-06

1.00E-05

1.00E-04

1.00E-03

1.00E-02

1.00E-01

1.00E+00

0 1 2 3

Eb/No(dB)

Pb

MAP 1/3

SOVA 1/3

LLR sum MAP 1/3

LLR sum SOVA 1/3

(a) 부호율이 1/3인 경우

1.00E-06

1.00E-05

1.00E-04

1.00E-03

1.00E-02

1.00E-01

1.00E+00

0 1 2 3

Eb/No(dB)

Pb

MAP 1/2

SOVA 1/2

LLR sum MAP 1/2

LLR sum SOVA 1/2

(b) 부호율이 1/2 인 경우

그림 5-5 LLR 합을 이용하는 복호화기의 성능

Page 47: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

42

1.00E-06

1.00E-05

1.00E-04

1.00E-03

1.00E-02

1.00E-01

1.00E+00

0 1 2 3Eb/N0(dB)

Pb

N=256

N=512

N=4096

LLR sum ,N=256

LLR sum ,N=512

LLR sum ,N=4096

(a) 프레임 길이에 따른 성능( 부호율 1/3 )

1.00E-06

1.00E-05

1.00E-04

1.00E-03

1.00E-02

1.00E-01

1.00E+00

0 1 2 3

Eb/No(dB)

Pb

K = 3

K = 4

K = 5

LLR sum, K = 3

LLR sum, K = 4

LLR sum, K = 5

(b) 구속장의 길이에 따른 성능( 부호율 1/3 )

그림 5-6 SOVA 인 경우 LLR의 합을 이용하는 복호화기의 성능

Page 48: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

43

표 5-3. 각 구속장에서의 생성 다항식

생성 다항식 구속장의 길이( K )

0G 1G

3 8)7( 8)5(

4 8)15( 8)17(

5 8)23( 8)35(

5.2.2 레일레이 페이딩 채널에서의 성능 변화

그림 5-7 의 (a)와 (b)에서 사용된 터보 부호의 프레임 길이는 1024 이며 구속장

의 길이는 4 이다. 그리고 부호율이 1/3 과 1/2 일 때 MAP 과 SOVA 각각에 대한

제안된 방법의 성능을 비교한다. 01.0=SdTB 인 레일레이 페이딩 체널에서는

MAP 알고리즘의 경우보다 SOVA 알고리즘일 때 제안된 방법으로 인한 성능 향상

이 큼을 볼 수 있는데 SOVA 의 경우 410−=bp 에서 부호율이 1/3 일때 약 0.7dB 의

이득이 나타났으며 MAP 은 약 0.2dB 의 성능 향상이 나타났다. 그림 (c)는 SOVA

의 경우 구속장의 길이에 따른 성능을 나타낸다. 프레임 길이는 1024 이고 부호율

은 모두 1/3 이며 표 5-3 을 사용했다. 410−=bp 에서 구속장의 길이가 4,3=K 일

때 제안한 방법의 복호화기는 직렬 모드의 복호화기의 성능에 비해 약 0.7dB 의

이득이 있었고 구속장의 길이가 5=K 일 때는 약 1dB의 이득이 있었다. 그림 (d)

는 프레임 길이에 따른 성능을 나타내고 있으며 구속장의 길이는 4 이고 부호율은

1/3이다. 프레임 길이가 작을수록 이득이 큼을 알 수 있으며 410−=bp 에서 프레임

의 길이가 4096 일 때 약 0.6dB 의 이득이 있었다. 레일 레이 페이딩 채널에서는

채널 파라미터에 따라서 그리고 복호화 알고리즘의 선택에 따라서 각기 다른 정

도의 성능의 향상을 보인다.

Page 49: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

44

1.00E-05

1.00E-04

1.00E-03

1.00E-02

1.00E-01

1.00E+00

0 1 2 3 4 5 6 7 8

Eb/No(dB)

Pb

MAP 1/3

MAP 1/2

LLR sum , MAP 1/3

LLR sum, MAP 1/2

(a) MAP 인 경우 부호율에 따른 성능

1.00E-05

1.00E-04

1.00E-03

1.00E-02

1.00E-01

1.00E+00

0 1 2 3 4 5 6 7 8

Eb/No(dB)

Pb

sova 1/3

sova 1/2

LLR sum, SOVA 1/3

LLR sum SOVA 1/2

(b) SOVA인 경우 부호율에 따른 성능

Page 50: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

45

1.00E-05

1.00E-04

1.00E-03

1.00E-02

1.00E-01

1.00E+00

0 1 2 3 4 5 6 7 8

Eb/No(dB)

Pb

K = 3

K = 4

K = 5

LLR sum, K = 3

LLR sum, K = 4

LLR sum, K = 5

(c) SOVA 인 경우 구속장의 길이에 따른 성능 (부호율 1/3)

1.00E-05

1.00E-04

1.00E-03

1.00E-02

1.00E-01

1.00E+00

0 1 2 3 4 5 6 7 8

Eb/No

Pb

256

512

4096

256,LLR sum

512, LLR sum

4096, LLR sum

(d) SOVA 인 경우 프레임 길이에 따른 성능 (부호율 1/3)

그림 5-7 01.0=SdTB 일 때 LLR의 합을 이용하는 복호화기의 성능

Page 51: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

46

제 6 장 결 론

본 논문은 디지털 통신 시스템에서 잡음의 영향으로부터 전송된 신호의 신뢰

도를 높이기 위해 필수 불가결한 오류 정정 부호 중에서도 획기적인 성능을 가지

면서 실재적으로 구현이 가능한 터보 부호에 대해 이론적 고찰과 모의 실험을 통

한 분석을 하였다.

터보 부호의 성능을 결정하는 요소들은 첫째로 부호화기를 구성하는 문제이다.

터보 부호는 병렬 연접 길쌈 부호로서 RSC 부호화기를 사용하여 성능을 높이게

된다. 부호화기의 구속장의 길이가 커질수록 성능이 개선되나 복잡도가 증가한다.

터보 부호는 부호율을 높이기 위해 주로 잉여비트를 펑처링 하는데 부호화기의

펑처링의 방법에 관한 연구는 현재 활발히 진행되고 있다. 프레임의 길이는 길어

질수록 성능의 향상이 있으나 지연시간의 증가를 초래하게 되며 실시간의 통신

시스템에서는 작은 프레임이 적절하다. 그리고 부호화기의 생성 다항식의 형태에

따라 성능 차이가 나므로 최적의 생성 다항식을 찾는 문제는 매우 중요하다.

두 번째로는 인터리버를 설계하는 문제이다. 인터리버는 두 번째의 부호화기의

입력들의 순서를 특정한 배열로 바꾸어 놓으며 생성 다항식과 함께 부호어의 가

중치 특성을 결정짓는다. 인터리버의 종류는 전체적인 터보 부호의 성능에 큰 영

향을 주며 랜덤한 형태의 인터리버의 성능이 결정성적인 종류보다 우수하다. 그리

고 인터리버의 설계 관점에서 터보 부호의 종료 문제를 다루는 것은 앞으로 많은

연구가 필요하다.

마지막으로 고려되는 요소는 복호화기의 구조로서 본 논문은 복호화기의 간단

한 변형으로써 성능의 향상을 주는 방법을 제안했다. 터보 부호의 복호화기는

SISO 복호화기로서 MAP 알고리즘이나 SOVA 알고리즘을 이용해서 두 복호화기

사이에서 반복적으로 정보들을 교환함으로써 성능의 향상을 가져온다. 이때 반복

횟수가 증가할수록 성능은 향상되나 지연시간이 길어지므로 두 파라미터를 절충

해서 적당한 횟수를 선택해야 한다. 또한 MAP 과 SOVA 의 선택은 성능과 복잡도

Page 52: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

47

의 관점에서 전체 시스템에 적절한 것을 선택해야 한다. 일반적인 터보 복호화기

들은 직렬 모드로 연결되어 있으나 본 논문은 복호화기들을 병렬 모드로 구성할

때 직렬 모드에 비해서 더 많은 정보를 이용할 수 있는 점을 이용해 성능의 향상

을 얻을 수 있는 방법을 제안했다. 즉 병렬 모드에서 각각의 두 복호화기들의 최

종적인 LLR 출력 시퀀스을 더하면 새로운 LLR 출력 시퀀스가 만들어 지는데 이

출력 시퀀스를 강 판정해서 정보 값을 구하면 기존의 하나의 복호화기의 LLR 출

력값으로만 구하는 것보다 우수한 성능을 얻을 수 있었다. 다양한 실험을 통해서

제안된 방법은 기존의 직렬 모드의 복호화기에 비해 약간의 계산량과 복잡도가

추가적으로 필요하지만 성능의 향상을 얻을 수 있었고 MAP 보다는 SOVA 알고리

즘에 대해서 그리고 프레임의 길이가 작을수록 더 큰 이득이 얻어졌다. 따라서 앞

으로 좋은 성능의 향상을 줄 수 있는 터보 부호의 출력 시퀀스의 분포에 대한 연

구가 이루어져야 하겠다.

터보 부호는 반복적인 복호화의 형태로 직렬 연접 부호와 부호어의 등화기등

등 다양한 분야에도 응용될 수 있으며 큰 프레임의 경우 HDTV(high definition TV)

같은 분야에 대한 연구가 진행중이다. 현재 터보 부호는 IMT-2000 에서 길쌈 부호,

RS 부호와 길쌈 부호의 직렬 연접 부호와 함께 오류 정정 부호의 표준안 중의 하

나로 제안되고 있는데 이를 위해서는 보다 간단한 복잡도와 시간 지연이 적은 복

호화 방법에 대한 연구가 이루어 져야 한다. 또한 부호화기의 인터리버의 이론적

규명과 복잡도의 문제를 해결할 수 있는 복호화기에 대한 연구도 이루어져야 한

다.

Page 53: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

48

참고문헌

[1] Stephen B. Wicker, Error control systems for digital communication and storage,

Prentice Hall, 1995

[2] C. Berrou, A.Glavieux, and P. Thitimajshima, “Near Shannon limit error-correcting

coding and decoding: turbo-codes”, in Proc. ICC’93, pp.1064-1070

[3] C. Berrou, A.Glavieux, and P. Thitimajshima, “Near optimum error correcting : coding

and decoding: Turbo-Codes”, IEEE Trans. Commun., vol. 44, no. 10, pp. 1261-1271,

Oct 1996

[4] A. J. Viterbi and J. K. Omura, Principles of digital communication and coding, New

York, MacGraw-Hill, 1979

[5] P. Robertson, “Improving decoder and code structure of parallel concatenated recursive

systematic (turbo)codes,” in Proc., IEEE ICUPC .(1994), PP. 183-187.

[6] D.Divsalar and F.Pollara, “Turbo Codes for PCS Applications”, Proc. ICC’95 , Seattle,

WA, June 18-22, 1995

[7] Matthew C. Valenti, “Iterative detection and decoding for wireless communications,”

Ph.D. Dissertation, Virginia Polytechnic Institute and State Univ, Sept .1998

[8] J. Proakis, Digital Communications, third edition. New York: McGraw-Hill, Inc., 1995.

[9] Peter Jung, “ Comparison of Turbo-Code decoders Applied to Short Frame

Transmission Systems,” IEEE J. Select. Areas Commun,. Vol.14, No. 3. April 1996

[10] Eric K. Hall and Stephen G. Wilson, “Design and analysis of turbo code on Rayleigh

fading channels,” IEEE J. Select. Areas Commun., Vol.16, pp. 160-174, Feb. 1998.

[11] W. C. Jakes, Mobile MICROWAVE Communication. New York: John Wiley & Sons,

1974.

[12] Bernard Sklar, “A primer on turbo code concepts,” IEEE Comm. Magazine, pp.94-102,

Dec. 1997

Page 54: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

49

[13] L. R. Bahl et al., “Optimal Decoding of Linear Codes for Minimizing Symbol Error

Rate,” IEEE Trans. Info. Theory, vol. IT-20, Mar. 1974, pp. 248-87

[14] S. Benedetto, D.Divsalar and F.Pollara, “.Soft-Output Decoding Algorithm in Iterative

Decoding of Turbo Codes”, TDA progress rep. 42-124, Jet Propolusion Lab., Pasadena,

CA, Feb. 15, 1995, pp. 63-86

[15] P. Robertson, “Illuminating the structure of code and decoder of parallel concatenated

recursive systematic (turbo) codes,” in Proc. GLOBECOM’94, vol. 3, pp. 1298-1303

[16] S. S. Pietrobon and S. A. Barbulescu, "A simplification of the modified Bahl decoding

algorithm for systematic convolutional codes," ISITA’94, pp. 1073-1077, Nov. 1994

[17] S. Benedetto, D.Divsalar, G. Montorsi, and F.Pollara, “.Soft-Output Decoding

Algorithm for Continuous Decoding of Parallel Concatenated Convolutional Codes”,

Proceedings of IEEE ICC’96 Dallas, Texas, PP. 112-117, June 1996.

[18] J. Hagenauer, “Iterative decoding of binary block and convolutional cods,” IEEE

Trans.Info. Theory, vol. 42, no. 2, pp. 429-445, Mar. 1996

[19] J. Hagenauer and P. Hoeher, “A Viterbi algorithm with soft decision output and its

applications,” in Proc. of IEEE Globecom Conf., Dallas, Texas, pp . 47.1.1-47.1.7,

November 1989.

[20] J. Hagenauer, “Source-controlled channel decoding,” IEEE Trans.Commun, vol.43, no.

9. Pp. 2449-2457, Sept. 1995.

[21] L. Papke, P. Robertson, and E. Villebrun, “Improved decoding with the SOVA in a

parallel concatenated (turbo-code)scheme,” in IEEE ICC pp. 102-106,1996.

[22] D.Divsalar and F.Pollara, “Multiple Turbo Codes for Deep-Space Communications”,

TDA progress rep. 42-121, Jet Propolusion Lab., Pasadena, CA, May 15, 1995, pp. 66-

67

[23] S. Lin and D. J. Costello, Jr., Error Control Coding: Fundamentals and Applications,

Prentice Hall, New Jersey, 1983

Page 55: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

50

Abstract

Performance analysis of turbo codes for Parallel decoder structure using sum of LLR

Hwan Won Kye

Dept. of Electrical and computer Eng.

The Graduate School

Yonsei University

The decoders of turbo codes realized either using MAP algorithm or SOVA algorithm have

the structures that two SISO(soft input soft output) decoders are concatenated in serial mode

and exchange informations among each other. Decoder of serial mode generate one

information sequence, but if they are connected in parallel mode two output information

sequences can be obtained simultaneously. So this paper proposes the parallel decoder

structures slightly modified in order to achieve performance improvement. The proposed

method is using the LLR outputs of two decoders. When compared with the performance of

general turbo codes of serial mode, the proposed method with constraint length k=4 and frame

size of 1024 has a gain of 0.15dB for MAP and 0.4dB for SOVA at AWGN channel. And this

paper compares the performance and distribution characteristic of LLR outputs between the

decoder of proposed method and serial mode as iteration decoding number increases.

Key words : turbo codes, MAP algorithm, SOVA algorithm, serial mode,parallel mode

Page 56: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

51

Page 57: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

i

차 례

그림 차례..........................................................................................................................iii

표 차례............................................................................................................................... v

국문 요약..........................................................................................................................vi

제 1 장 서론 ..................................................................................................................... 1

제 2장 터보부호의 특성과 구조 개요 ......................................................................... 4

2.1 병렬 연접 부호(parallel concatenated code) ................................................... 4

2.2 구성 부호화기(component encoder) ................................................................ 5

2.3 인터리버와 터보 부호의 종료 ...................................................................... 6

2.4 시스템 구조 (system model) ........................................................................... 9

2.5 페이딩 채널에서의 터보 부호 .................................................................... 10

2.6 터보 부호의 생성 행렬 ................................................................................ 11

2.7 반복 복호화 방법[7][12]................................................................................. 12

제 3 장 터보 부호의 복호 알고리즘 개요 ............................................................... 16

3.1 MAP 알고리즘[7][13][14] ................................................................................ 16

3.1.1 MAP 알고리즘의 유도 ...................................................................... 16

3.1.2 log –MAP 알고리즘 ............................................................................ 19

3.2 SOVA 알고리즘[18][19][20].......................................................................... 21

3.2.1 비터비 알고리즘 ................................................................................... 21

3.2.2 SOVA (Soft Output Viterbi Algorithm) 알고리즘 ............................... 23

제 4장 LLR의 합을 사용하는 병렬 복호화기 제안............................................... 26

4.1 연구 동기.......................................................................................................... 26

4.2 이론적 배경...................................................................................................... 26

• 직렬 모드(serial mode) 복호화기[22] ....................................................... 26

Page 58: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

ii

• 혼합 모드(mixed mode) 복호화기[6]........................................................ 27

• 병렬 모드(parallel mode) 복호화기[14][22] ............................................. 28

4.3 제안한 방법의 병렬 복호화기 구조 .......................................................... 30

4.3.1 LLR의 합을 이용한 복호화기 구조............................................... 31

4.4.2 두 LLR합의 분포 특성 .................................................................... 33

제 5 장 실험 결과 및 고찰 ......................................................................................... 35

5.1 터보 부호의 일반적인 성능 .......................................................................... 35

5.1.1 MAP과 SOVA의 성능 비교 ............................................................ 35

5.1.2 채널 인터리버를 사용한 터보 부호의 성능 ................................. 38

5.2 제안한 복호화기의 성능 고찰 .................................................................... 40

5.2.1 AWGN 에서의 성능 변화 ................................................................. 40

5.2.2 레일레이 페이딩 채널에서의 성능 변화 ....................................... 43

제 6 장 결 론 ............................................................................................................... 46

참고문헌........................................................................................................................... 48

Abstract ............................................................................................................................. 50

차 례.................................................................................................................................. i

Page 59: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

iii

그림 차례

그림 2-1. 일반적인 터보 부호화기............................................................................... 4

그림 2-2. Constraint가 3인 NNC부호화기............................................................... 5

그림 2-3. Constraint가 3인 RSC부호화기................................................................ 5

그림 2-4. 부호율이 1/3인 터보 부호........................................................................... 7

그림 2-5. 터보 부호의 격자 종료................................................................................. 9

그림 2-6. 터보 부호의 시스템 구조........................................................................... 10

그림 2-7. 반복적인 복호화를 갖는 터보 복호화기 ................................................. 15

그림 3-1. lk∆ 의 유도하기........................................................................................... 24

그림 4-1 직렬 모드...................................................................................................... 27

그림 4-2 혼합 모드...................................................................................................... 27

그림 4-3 병렬 모드...................................................................................................... 28

그림 4-4 2개의 구성 부호에 대한 병렬 모드 ....................................................... 29

그림 4-5 2개의 구성 부호에 대한 병렬 복호화기[14] ........................................ 30

그림 4-6 2개의 구성 부호에 대한 병렬 모드의 분리 형태 ............................... 31

그림 4-7 제안한 2개의 구성 부호에 대한 병렬 복호화기 ................................. 33

그림 4-8 반복 횟수에 따른 직렬 모드 복호기와 LLR 합을 이용하는 병렬

복호기의 성능 비교 ................................................................................... 34

그림 5-1 MAP과 SOVA의 성능 비교..................................................................... 36

그림 5-2 채널 인터리버를 사용한 시스템의 구조 ................................................ 38

그림 5-3 생성 다항식이 ( )80 7=G , ( )81 5=G 일때 레일레이 페이딩 채널에

서 SdTB 에 따른 채널 인터리빙의 성능 비교 ...................................... 39

그림 5-4 생성 다항식이 ( )80 15=G , ( )81 17=G 일때 레일레이 페이딩 채널에

서 SdTB 에 따른 채널 인터리빙의 성능 비교 ...................................... 39

Page 60: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

iv

그림 5-5 LLR 합을 이용하는 복호화기의 성능 .................................................... 41

그림 5-6 SOVA 인 경우 LLR의 합을 이용하는 복호화기의 성능 ................... 42

그림 5-7 01.0=SdTB 일 때 LLR의 합을 이용하는 복호화기의 성능 .......... 45

Page 61: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

v

표 차례

표 5-1. AWGN 채널에서 MAP 과 SOVA 의 성능 비교

( ( )80 15=G , ( )81 17=G

,반복 횟수 5번, N =1024인 랜덤 인터리버) ............................................ 37

표 5-2. 01.0=SdTB 인 레일레이 페이딩 채널에서 MAP과 SOVA의 성능 비교

( ( )80 15=G , ( )81 17=G , 반복 횟수 5 번, N =1024 인 랜덤 인터리버)

........................................................................................................................................... 37

표 5-3. 각 구속장에서의 생성 다항식....................................................................... 43

Page 62: covercoding.yonsei.ac.kr/pdf/thesis/masters/m006.pdf · 2016. 8. 25. · 4 제2 장 터보부호의 특성과 구조 개요 2.1 병렬 연접 부호(parallel concatenated code) 터보

vi

국문 요약

병렬 구조의 복호기에서 LLR의 합을 사용한 터보 부호의 성능 분석

터보 부호의 복호기는 복호화 알고리즘으로 MAP 알고리즘이나 SOVA 알고리

즘을 이용하는 2개의 SISO(soft input soft output)복호기가 직렬 모드로 연결되어져서

반복적으로 정보들을 서로 교환하는 구조이다. 그런데 직렬 모드 복호기가 하나의

출력 시퀀스 생성하는 반면 병렬 모드 복호기는 동시에 2 개의 출력 시퀀스를 제

공하는 형태이다. 본 논문에서는 이러한 병렬 복호기의 2 개의 LLR 출력 정보들을

더함으로써 성능의 향상을 얻을 수 있는 방법을 제안한다. 제안한 방법의 병렬 복

호기는 직렬 모드 복호기에 비해 구속장의 길이가 4 이고 프레임 길이가 1024 일

때 AWGN 채널에서 MAP의 경우에는 0.15dB, SOVA의 경우에는 0.4dB의 성능 향

상을 얻을 수 있었다. 또한 본 논문에서는 복호화 횟수가 증가함에 따른 제안한

방법의 복호기의 LLR 출력값 분포 특성과 성능 변화를 직렬 모드 복호기와 비교,

분석한다.

핵심되는 말 : 터보 부호, SISO 복호화기, MAP 알고리즘, SOVA 알고리즘, 직렬

모드, 병렬 모드,