---
title: 通信符号理論 14
tags: 
author: [Akinori Ito](https://docswell.com/user/akinori-ito)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/4JMY3Z3VJW.jpg?width=480
description: ターボ符号
published: July 02, 26
canonical: https://docswell.com/s/akinori-ito/ZX22JG-2026-07-02-162214
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/4JMY3Z3VJW.jpg)

1
通信符号理論
第14回
伊藤彰則


# Page. 2

![Page Image](https://bcdn.docswell.com/page/PJR9Q6QW79.jpg)

2
ターボ符号
• 概要
• 複数の符号化器（典型的には２つの畳み込み符号）を組み合わせる
• 片方はインターリーバを経由させる
• 1つだけインターリーバを使うことは本質ではない
• ２つの系列が異なる誤りパターンであれば良い
1010
𝒎
1010
ConvCoder
11100010
𝒙1
11100110
𝒚1
ConvCoder
11010111
𝒙𝟐
10010111
𝒚𝟐
Interleaver
1100


# Page. 3

![Page Image](https://bcdn.docswell.com/page/PEXQ5M5VJX.jpg)

3
ターボ符号
• さまざまなバリエーションがある
• 本質的にはブロック符号であってもよいが、畳み込み符号を使うこと
が多い
• 再帰的畳み込み符号がよく使われる
• Punctured畳み込み符号による符号化率の制御
• ターボ復号
• トレリスを使って２つ （以上）の符号をそれぞれ復号する
• 片方のシンボルMAP復号の結果を事前確率としてもう片方を復号
→繰り返す


# Page. 4

![Page Image](https://bcdn.docswell.com/page/3EK96G65ED.jpg)

4
再帰型／非再帰型畳み込み符号
• メモリの内容を入力に戻すのが「再帰型」
• ディジタル信号処理でいう「IIRフィルタ」に相当する
• 非再帰型の例
… , 𝑚3 , 𝑚2 , 𝑚1
𝑚𝑖
𝑚𝑖−1 𝑚𝑖−2
+
+
(2)
𝑥𝑖
(1)
𝑥𝑖


# Page. 5

![Page Image](https://bcdn.docswell.com/page/L73W6N6175.jpg)

5
再帰型／非再帰型畳み込み符号
• メモリの内容を入力に戻すのが「再帰型」
• ディジタル信号処理でいう「IIRフィルタ」に相当する
• 再帰型の例
(1)
𝑥𝑖 = 𝑚𝑖
… , 𝑚3 , 𝑚2 , 𝑚1
𝑚𝑖
+
𝑠𝑖
𝑠𝑖−1
𝑠𝑖−2
𝑠𝑖 = 𝑚𝑖 + 𝑠𝑖−1 + 𝑠𝑖−2
(1)
この例では𝑥𝑖 がメッセージそのものに
なっているので、組織符号化である
+
(2)
𝑥𝑖 = 𝑠𝑖 + 𝑠𝑖−2


# Page. 6

![Page Image](https://bcdn.docswell.com/page/87DKVWVKJG.jpg)

6
再帰型畳み込み符号
0, 1, 0, 1
0
+
+
0


# Page. 7

![Page Image](https://bcdn.docswell.com/page/VJPKV9V3E8.jpg)

7
再帰型畳み込み符号
1
0, 1, 0
1
0
+
+
0


# Page. 8

![Page Image](https://bcdn.docswell.com/page/2EVVZMZNEQ.jpg)

8
再帰型畳み込み符号
1
0, 1, 0
1
+
1
0
+
0


# Page. 9

![Page Image](https://bcdn.docswell.com/page/57GL4G45EL.jpg)

9
再帰型畳み込み符号
1
0, 1, 0
1
+
1
0
+
0
1


# Page. 10

![Page Image](https://bcdn.docswell.com/page/4EQYGXGLJP.jpg)

10
再帰型畳み込み符号
1
0, 1, 0
1
+
+
0
1


# Page. 11

![Page Image](https://bcdn.docswell.com/page/KJ4W565571.jpg)

11
再帰型畳み込み符号
0,1
0, 1
0
1
+
+
0
1


# Page. 12

![Page Image](https://bcdn.docswell.com/page/LE1YWVW27G.jpg)

12
再帰型畳み込み符号
0,1
0, 1
0
+
1
1
+
0
1,1


# Page. 13

![Page Image](https://bcdn.docswell.com/page/GEWG6L62J2.jpg)

13
再帰型畳み込み符号
1,0,1
0
1
1
+
+
1
1,1


# Page. 14

![Page Image](https://bcdn.docswell.com/page/47ZLYMY4J3.jpg)

14
再帰型畳み込み符号
1,0,1
0
1
+
1
1
+
1
0,1,1


# Page. 15

![Page Image](https://bcdn.docswell.com/page/YJ6WDNDGJV.jpg)

15
再帰型畳み込み符号
+
+
𝒎𝒊
𝒔𝒊
𝒔𝒊−𝟏
𝒔𝒊−𝟐
𝒙𝒊
(𝟏)
𝒙𝒊
(𝟐)
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
0
1
1
0
0
1
1
1
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
1
0


# Page. 16

![Page Image](https://bcdn.docswell.com/page/GJ5M353XJ4.jpg)

16
先ほどの例のトレリス
𝑠𝑖−1 𝑠𝑖−2
00
00
00
00
00
11
11
11
11
11
11
11
11
10
11
01
11
00
11
00
11
00
11
01
01
01
01
01
01
01
01
10
10
𝑚𝑖 = 0
10
𝑚𝑖 = 1
10
00


# Page. 17

![Page Image](https://bcdn.docswell.com/page/9E29ZNZQ7R.jpg)

17
Punctured畳み込み符号
• 符号化率を上げるため、畳み込み符号を一定のパターンで省く
•例
• 先ほどの（再帰型）畳み込み符号で
10101101
10101101
+
1101100111110110
11011110
+


# Page. 18

![Page Image](https://bcdn.docswell.com/page/D7Y4RPRYEM.jpg)

18
Punctured畳み込み符号
• 符号化率を上げるため、畳み込み符号を一定のパターンで省く
•例
• 先ほどの（再帰型）畳み込み符号で
10101101
10101101
+
1101100111110110
11011110
+


# Page. 19

![Page Image](https://bcdn.docswell.com/page/VENYD5DRJ8.jpg)

19
先ほどの例のトレリス
00
00
0
00
0
11
1
11
1
11
1
11
1
10
11
01
00
01
0
01
11
1
0
10
11
00
1
01
01
1
𝑚𝑖 = 0
0
10
𝑚𝑖 = 1
0
0
1
0


# Page. 20

![Page Image](https://bcdn.docswell.com/page/Y79PGYGZE3.jpg)

20
ターボ符号の符号化
• （典型的には）（再帰型）畳み込み符号化器を複数使う
• 途中にインターリーバを挟んで系列をシャッフルする
• Punctured符号を使って符号化率を上げることもある
1010
𝒎
1010
1010
𝒙𝟎 1010
ConvCoder
𝒙1 1101
Interleaver
1100
ConvCoder
𝒙𝟐 1001
111010100011


# Page. 21

![Page Image](https://bcdn.docswell.com/page/G78DV68Y7D.jpg)

21
ターボ符号の符号化
• （典型的には）（再帰型）畳み込み符号化器を複数使う
• 途中にインターリーバを挟んで系列をシャッフルする
• Punctured符号を使って符号化率を上げることもある
1010
𝒎
1010
1010
𝒙𝟎 1010
ConvCoder
𝒙1 1101
Interleaver
1100
ConvCoder
𝒙𝟐 1001
11001001


# Page. 22

![Page Image](https://bcdn.docswell.com/page/L7LM59R9JR.jpg)

22
ターボ符号の復号
• メッセージそのものに対応する部分と畳み込み符号部分が受信
される
1010
𝒎
1010
1010
𝒙0 1010
𝒚0
ConvCoder
𝒙1 1101
𝒚1
ConvCoder
𝒙2 1001
𝒚2
Interleaver
1100


# Page. 23

![Page Image](https://bcdn.docswell.com/page/4EMY3ZRVEW.jpg)

23
ターボ符号の復号
• メッセージそのものに対応する部分と畳み込み符号部分が受信
される
• シンボルMAP復号により、各ビットの対数尤度比𝑳 = (𝐿1 , … , 𝐿𝑛 )を計算
1010
𝒎
1010
1010
𝒙0 1010
𝒚0
ConvCoder
𝒙1 1101
𝒚1
ConvCoder
𝒙2 1001
𝒚2
Interleaver
1100
Decoder
𝑳


# Page. 24

![Page Image](https://bcdn.docswell.com/page/PER9Q6RWJ9.jpg)

24
ターボ符号の復号
• メッセージそのものに対応する部分と畳み込み符号部分が受信
される
• 𝒚0 , 𝑳をインターリーブ
• 𝑳を「事前情報」（外部値）として利用
Interleaver
𝒚0
𝒚1
𝒚2
Decoder
𝑳
Interleaver
Decoder
𝑳’


# Page. 25

![Page Image](https://bcdn.docswell.com/page/P7XQ5MRVEX.jpg)

25
ターボ符号の復号
• メッセージそのものに対応する部分と畳み込み符号部分が受信
される
• 𝑳′を逆インターリーブ、外部値として利用
Interleaver
𝒚0
𝒚1
𝒚2
Decoder
𝑳
Interleaver
Decoder
𝑳’
DeInterleaver
Decoder
𝑳


# Page. 26

![Page Image](https://bcdn.docswell.com/page/37K96GR57D.jpg)

26
ターボ符号の復号
• シンボルMAP復号を考える
σ𝒙,𝑥 =0 𝑃𝑌|𝑋 (𝒚|𝒙)𝑃𝑋 (𝒙)
• 𝐿𝑖 = log σ
= log
𝑖
𝒙,𝑥𝑖 =1 𝑃𝑌|𝑋 (𝒚|𝒙)𝑃𝑋 (𝒙)
σ𝒙,𝑥 =0 𝑃𝑌|𝑋 (𝒚|𝒙) ς𝑘 𝑃𝑋 (𝑥𝑘 )
= log σ
𝑖
𝒙,𝑥𝑖 =1 𝑃𝑌|𝑋 (𝒚|𝒙) ς𝑘 𝑃𝑋 (𝑥𝑘 )
𝑃𝑋 (𝑥𝑖 =0) σ𝒙,𝑥 =0 𝑃𝑌|𝑋 (𝒚|𝒙) ς𝑘≠𝑖 𝑃𝑋 (𝑥𝑘 )
𝑖
𝑃𝑋 (𝑥𝑖 = 1) σ𝒙,𝑥 =0 𝑃𝑌|𝑋 (𝒚|𝒙) ς𝑘≠𝑖 𝑃𝑋 (𝑥𝑘 )
𝑖
= log
σ𝒙,𝑥 =0 𝑃𝑌|𝑋 (𝒚|𝒙) ς𝑘≠𝑖 𝑃𝑋 (𝑥𝑘 )
𝑖
𝑃 (𝑥 = 0)
𝑋 𝑖
+
log
𝑃 (𝑥 )
𝑃 (𝑥 = 1)
σ𝒙,𝑥 =1 𝑃𝑌|𝑋 (𝒚|𝒙) ς𝑘≠𝑖 𝑋
𝑖
𝑘
𝑋
𝑖


# Page. 27

![Page Image](https://bcdn.docswell.com/page/LJ3W6N81J5.jpg)

27
事前確率
• 𝑥𝑘 の事前確率に相当する項 log
𝑃𝑋 (𝑥𝑘 =0)
𝑃𝑋 (𝑥𝑘 =1)
• 何の情報もなければ𝑃𝑋 0 = 𝑃𝑋 1 = 0.5なのでlog
𝑃𝑋 (𝑥𝑘 =0)
𝑃𝑋 (𝑥𝑘 =1)
=0
• ターボ復号では受信語が（最低）2つあるので、片方のシンボ
ルMAP復号による対数尤度比𝐿𝑘 をもう片方の事前確率として使
う
(1)
(1)
(2)
(2)
• 復号器1による対数尤度比 𝑳(1) = 𝐿1 , … , 𝐿𝑛
• 復号器2による対数尤度比 𝑳(2) = 𝐿1 , … , 𝐿𝑛


# Page. 28

![Page Image](https://bcdn.docswell.com/page/8JDKVWMKEG.jpg)

28
復号の式
• 𝑃𝑋 𝑥𝑘 = 0 =
• 𝑃𝑋 𝑥𝑘 = 1 =
(𝑑′ )
exp 𝐿𝑘
(𝑑′ )
1+exp 𝐿𝑘
1
𝑑′
1+exp 𝐿𝑘
(𝑑′ )
(𝑑)
• 𝐿𝑖
= log
= log
σ𝒙,𝑥 =0 𝑃𝑌|𝑋 (𝒚𝑑 |𝒙𝑑 ) ς𝑘≠𝑖 𝑃𝑋 𝑥𝑘
𝑖
+ log
(𝑑′ )
σ𝒙,𝑥 =0 𝑃𝑌|𝑋 (𝒚𝑑 |𝒙𝑑 ) ς𝑘≠𝑖 𝑃𝑋 𝑥𝑘
𝑖
(𝑑′ )
σ𝒙,𝑥 =0 𝑃𝑌|𝑋 (𝒚𝑑 |𝒙𝑑 ) ς𝑘≠𝑖 𝑃𝑋 𝑥𝑘
(𝑑 ′ )
𝑖
𝑖
(𝑑′ )
σ𝒙,𝑥 =0 𝑃𝑌|𝑋 (𝒚𝑑 |𝒙𝑑 ) ς𝑘≠𝑖 𝑃𝑋 𝑥𝑘
𝑖
+𝐿
(𝑑′ )
𝑃𝑋 𝑥𝑖 =0
(𝑑′ )
𝑃𝑋 𝑥𝑖 =1


# Page. 29

![Page Image](https://bcdn.docswell.com/page/VEPKV9R378.jpg)

29
ターボ符号の性能
井坂、「畳み込み符号とターボ符号」、映像情報メディア学会誌 70(4) 576-581, 2016.


# Page. 30

![Page Image](https://bcdn.docswell.com/page/27VVZMRN7Q.jpg)

30
演習
次の畳み込み符号で次の入力を符号化せよ。
• 畳み込み符号の定義
• 入力 𝑚1 , 𝑚2 , …
1
2
1
(2)
• 出力 𝑥1 , 𝑥1 , 𝑥2 , 𝑥2 , …
(1)
• 𝑥𝑖 = 𝑚𝑖
• 𝑠𝑖 = 𝑚𝑖 + 𝑠𝑖−2 + 𝑠𝑖−3
(2)
• 𝑥𝑖
= 𝑠𝑖 + 𝑠𝑖−1 + 𝑠𝑖−3
• 入力系列 10101100
(ちなみにこの符号は 3GPP LTE （3.9G携帯電話）のターボ符号に使われている畳み込み符号である）
参考
https://www.intel.co.jp/content/dam/www/programmable/us/en/pdfs/literature/an/an505.pdf


