本書是在《編碼理論》第1版的基礎(chǔ)上,根據(jù)教學(xué)基本要求和教學(xué)大綱修訂而成的。教材面向工科類高等院校的通信與信息工程學(xué)科學(xué)生編寫, 主要介紹了編碼理論的基本知識和工程應(yīng)用。全書共8章,主要內(nèi)容包括線性分組碼和卷積碼。線性分組碼中主要介紹循環(huán)碼、BCH 碼、RS碼;卷積碼中主要分析了反饋大數(shù)邏輯譯碼、序列譯碼和維特比譯碼;最后對Turbo碼和LDPC碼做了專題討論。
各章原理的敘述力求突出概念和思路,盡量除去繁瑣的數(shù)學(xué)推導(dǎo),設(shè)計與應(yīng)用盡量采用實例分析;同時,給出了具體的實現(xiàn)電路,系統(tǒng)性強,并注重工程應(yīng)用,為工程化實現(xiàn)提供基礎(chǔ),這對于需要獲得編碼理論的基礎(chǔ)知識的學(xué)生和在這些領(lǐng)域從事研究的工程技術(shù)人員將是有益的。
本書概念清晰、圖文并茂,將通信領(lǐng)域中的信道編碼理論與技術(shù)與實際工程應(yīng)用很好地結(jié)合,具有系統(tǒng)性、先進(jìn)性和實用性的特點。
本書可以作為高等院校通信、控制、計算機等專業(yè)的本科生和研究生教材,也可供相關(guān)領(lǐng)域的科研人員學(xué)習(xí)和參考。
香農(nóng)定理為實現(xiàn)有噪信道的可靠通信奠定了理論基礎(chǔ)。近五十余年來,作為信息論的一個分支,信道編碼已從理論研究走上了工程應(yīng)用。隨著超大規(guī)模集成電路和計算機技術(shù)的迅速發(fā)展,信道編碼技術(shù)在通信、計算機網(wǎng)絡(luò)、工業(yè)自動控制等領(lǐng)域得到了廣泛的應(yīng)用。信道編碼原理在許多學(xué)校的電子工程專業(yè)或通信工程專業(yè)的教學(xué)大綱中被列為必修或指定選修課程。
《編碼理論》(第2版)是在總結(jié)北京航空航天大學(xué)精品引智課程“編碼理論”的教學(xué)實踐,在第1版的基礎(chǔ)上,根據(jù)教學(xué)基本要求及培養(yǎng)目標(biāo)修訂而成的。本
書適合作為高等院校信息類相關(guān)專業(yè)研究生和高年級本科生教材,也可作為通信工程領(lǐng)域研究及技術(shù)人員的參考書。
書中內(nèi)容包括緒論、抽象代數(shù)補充知識、線性分組碼、循環(huán)碼、BCH 和RS碼、卷積碼、Turbo碼和LDPC碼。
本書主要特點及修訂內(nèi)容如下:
1. 第2版沿襲了第1版的體系,遵循“先理論基礎(chǔ)討論、后實踐工程應(yīng)用”的規(guī)律編排內(nèi)容。
2. 考慮到相關(guān)數(shù)學(xué)知識是全書的基礎(chǔ),將原第3章“抽象代數(shù)補充知識”提前到第2章,以利于學(xué)生更好地理解后續(xù)章節(jié)的內(nèi)容。
3. 對各章的習(xí)題進(jìn)行了篩選和修訂,題目內(nèi)容豐富、聯(lián)系實際,以便于學(xué)生理解和掌握基本概念和基本方法。
4. 為更好地學(xué)習(xí)本書內(nèi)容,本書增加了習(xí)題解答,可供學(xué)生參考。
第2版由趙琦、劉榮科主編,趙琦編寫了第1~6章,劉榮科編寫了第7~8章,趙洪博參加完成了部分內(nèi)容的更新以及教學(xué)工作,馬裕靜、劉秉昊、張志偉、王宇飛、李躍文、許憧參加完成了習(xí)題解答部分的工作,作者表示衷心的感謝。
由于編者知識水平有限,書中的錯誤和不妥之處,真誠地歡迎廣大讀者提出寶貴意見和建議,以便完善本書。作者郵箱:zhaoqi@buaa.edu.cn。
編 者
2020年11月于北京航空航天大學(xué)
第1章 緒 論 1
1.1 信道編碼在數(shù)字通信系統(tǒng)中的地位和作用 1
1.2 信道編碼的基本思想 3
1.3 信道錯誤圖樣、信道模型和碼的分類 3
1.3.1 信道錯誤圖樣 3
1.3.2 信道模型 4
1.3.3 信道編碼的分類 5
1.4 差錯控制的基本方式 5
1.5 最佳譯碼與最大似然譯碼 7
第2章 抽象代數(shù)補充知識 8
2.1 群、環(huán)、域的基本概念 8
2.1.1 群的定義 8
2.1.2 環(huán)的定義 8
2.1.3 域的定義 9
2.1.4 子 群 10
2.1.5 循環(huán)群 10
2.2 有限域和有限域上的多項式 11
2.2.1 有限域的加法運算 11
2.2.2 二元域上的多項式 11
2.2.3 最小多項式 14
習(xí) 題 15
第3章 線性分組碼 16
3.1 基本概念 16
3.1.1 線性分組碼的定義 16
3.1.2 分組碼的碼率 17
3.1.3 漢明碼和漢明距離 17
3.2 線性分組碼的監(jiān)督矩陣和生成矩陣 18
3.2.1 監(jiān)督矩陣 18
3.2.2 生成矩陣 19
3.3 對 偶 碼 21
3.4 線性分組碼的編碼 23
3.5 線性分組碼的譯碼 24
3.5.1 伴隨式和錯誤檢測 24
3.5.2 標(biāo)準(zhǔn)陣列譯碼 26
3.6 線性分組碼的檢錯、糾檢錯能力 30
3.7 完備碼和漢明碼 32
3.7.1 完備碼 32
3.7.2 漢明碼 32
3.7.3 擴展?jié)h明碼 33
3.8 線性碼在BSC中的不可檢測錯誤概率 34
3.8.1 利用碼長和最小距離計算不可檢測錯誤概率 34
3.8.2 由線性碼的重量分布求不可檢測錯誤概率 34
3.8.3 利用線性碼的重量分布與其對偶碼的重量分布間的關(guān)系求不可檢測錯誤概率 34
3.8.4 線性碼未檢出錯誤概率的上限 35
3.9 線性碼的碼限 36
3.9.1 漢明限 38
3.9.2 普洛特金限 39
3.9.3 瓦爾沙莫夫—吉爾伯特限 40
習(xí) 題 41
第4章 循環(huán)碼 43
4.1 循環(huán)碼的基本概念 43
4.1.1 循環(huán)碼的定義 43
4.1.2 循環(huán)碼的生成多項式和生成矩陣 44
4.2 循環(huán)碼的監(jiān)督多項式和監(jiān)督矩陣 47
4.2.1 循環(huán)碼的監(jiān)督多項式 47
4.2.2 循環(huán)碼的監(jiān)督矩陣 47
4.3 系統(tǒng)循環(huán)碼的編碼 48
4.3.1 系統(tǒng)碼的構(gòu)成 48
4.3.2 n-k 級編碼器 50
4.3.3 k級編碼器 52
4.4 循環(huán)碼的一般譯碼原理 53
4.4.1 接收矢量伴隨式的計算 54
4.4.2 循環(huán)碼通用譯碼法(梅吉特譯碼法) 56
4.4.3 循環(huán)漢明碼 57
4.4.4 縮短循環(huán)碼 59
4.5 循環(huán)碼的捕錯譯碼 60
4.5.1 捕錯譯碼原理 60
4.5.2 捕錯譯碼電路 62
4.5.3 改進(jìn)的捕錯譯碼法 64
4.5.4 戈萊(Golay)碼及其譯碼 66
4.6 循環(huán)碼的大數(shù)邏輯譯碼 70
4.6.1 大數(shù)邏輯譯碼原理 70
4.6.2 最大長度碼 76
4.6.3 差集碼 78
習(xí) 題 81
第5章 BCH碼和RS碼 83
5.1 BCH碼的定義及其距離限 83
5.1.1 BCH碼的定義 83
5.1.2 BCH碼的距離限 83
5.2 二元BCH碼的參數(shù)和做法 85
5.2.1 二元BCH碼的參數(shù) 85
5.2.2 二元BCH碼的做法 86
5.3 多元BCH碼和RS碼 92
5.4 BCH碼的譯碼 93
5.4.1 由接收多項式R(x)計算伴隨式Sj 94
5.4.2 用伯利坎普迭代算法并由伴隨式Sj 求差值位置多項式σ(x) 94
5.4.3 求σ(x)的倒數(shù)根確定錯誤位置 100
5.4.4 計算錯誤值 101
5.4.5 譯碼算法的改進(jìn) 104
5.5 RS碼的編碼 105
5.6 非系統(tǒng)RS碼的編碼和譯碼 107
5.6.1 MS多項式的定義 107
5.6.2 非系統(tǒng)RS碼的編碼 109
5.6.3 非系統(tǒng)RS碼的譯碼 109
5.7 BCH 碼的糾刪/糾錯譯碼 113
5.8 GF(2m)域元素的計算電路及其在BCH 碼和RS碼編譯碼中的應(yīng)用 116
5.8.1 GF(2m)域元素的加法運算 116
5.8.2 GF(2m)域元素的乘法運算 117
5.8.3 在GF(2m)域上的“普通基比特串行乘法電路”[Ⅰ] 123
5.9 糾錯的實現(xiàn) 134
5.10 BCH 碼和RS碼的應(yīng)用 135
5.10.1 (82,61)BCH碼的應(yīng)用 135
5.10.2 (248,128)RS碼的應(yīng)用 135
習(xí) 題 136
第6章 卷積碼基礎(chǔ) 137
6.1 卷積碼的基本概念 137
6.1.1 卷積碼的生成序列、約束度和約束長度 137
6.1.2 系統(tǒng)碼形式的卷積碼 140
6.1.3 卷積碼的編碼 142
6.2 卷積碼的矩陣描述 146
6.2.1 卷積碼的生成矩陣 146
6.2.2 卷積碼的監(jiān)督矩陣 150
6.3 用延時算子表示卷積碼 152
6.4 卷積碼的代數(shù)譯碼 155
6.4.1 伴隨式的計算 156
6.4.2 代數(shù)譯碼的基本原理 159
6.4.3 大數(shù)邏輯譯碼 162
6.4.4 卷積碼的距離特性 170
6.5 卷積碼的概率譯碼 172
6.5.1 卷積碼的樹狀圖、狀態(tài)圖和籬狀圖描述 172
6.5.2 維特比譯碼原理 175
6.5.3 維特比譯碼的性能 181
6.5.4 刪余卷積碼 191
6.5.5 序列譯碼的原理——費諾算法 193
6.6 卷積碼的應(yīng)用 203
習(xí) 題 204
第7章 Turbo碼 206
7.1 Turbo碼的編碼 206
7.2 交織器 208
7.2.1 分組交織器 209
7.2.2 卷積交織器 211
7.2.3 隨機交織器 213
7.2.4 碼匹配交織器 213
7.3 Turbo碼的譯碼 214
7.3.1 Turbo碼的譯碼器組成 214
7.3.2 Turbo碼的譯碼算法 215
7.4 Turbo碼性能分析 220
7.5 多進(jìn)制Turbo碼 222
7.5.1 多進(jìn)制Turbo碼的編碼 222
7.5.2 多進(jìn)制Turbo碼的譯碼 223
7.5.3 多進(jìn)制Turbo碼的硬件結(jié)構(gòu) 224
7.6 Turbo碼的應(yīng)用 232
習(xí) 題 232
第8章 LDPC碼 234
8.1 LDPC碼的性質(zhì)及其Tanner圖 234
8.1.1 LDPC碼的性質(zhì)和分類 234
8.1.2 Tanner圖 235
8.2 LDPC碼構(gòu)造基本方法 236
8.2.1 隨機構(gòu)造法 236
8.2.2 系統(tǒng)代數(shù)構(gòu)造法 238
8.2.3 碼率兼容的LDPC碼的構(gòu)造 240
8.3 LDPC碼的編碼 241
8.3.1 線性分組碼通用編碼 241
8.3.2 LU 分解 242
8.3.3 高斯消去法 242
8.3.4 準(zhǔn)循環(huán)LDPC高效編碼方法 242
8.4 LDPC碼的譯碼 243
8.4.1 位翻轉(zhuǎn)譯碼算法 244
8.4.2 置信傳播算法 245
8.4.3 對數(shù)域的置信傳播算法 248
8.5 密度進(jìn)化理論(Density Evolution Theory) 251
8.5.1 LDPC碼的性能和門限值的關(guān)系 251
8.5.2 密度進(jìn)化的算法 251
8.6 多進(jìn)制LDPC碼 252
8.6.1 多進(jìn)制LDPC碼校驗矩陣的構(gòu)造方法 253
8.6.2 多制進(jìn)LDPC碼的譯碼算法 255
8.7 LDPC碼編譯碼器結(jié)構(gòu) 258
8.7.1 基于Log BP算法原理的硬件結(jié)構(gòu) 258
8.7.2 QC LDPC的部分并行譯碼結(jié)構(gòu) 259
8.7.3 基于矩陣分裂的QC LDPC碼的硬件結(jié)構(gòu) 261
8.8 LDPC碼的應(yīng)用 263
習(xí) 題 264
習(xí)題答案 265
參考文獻(xiàn) 285