第2版前言 众所周知,通信技术是在不断解决有效性和可靠性的矛盾过程中不断发展起来的,而纠错编码技术则是提高传输可靠性的有效途径之一。关于纠错编码技术的理论大多涵盖在信息论与编码方面的教材中,而关于纠错编码技术的专门教材,要么过于系统全面、理论性强,要么过于专业化、不够通俗、难度较大,适用于本科工程应用实践的书籍还不多。 本书是作者多年从事“纠错编码技术”课程教学和实验的精心提炼和系统总结。本书力求物理概念清晰,通俗易懂,由浅入深,重点突出,对基本概念和基本原理的阐述清晰明了,书中列举了大量的例题并结合MATLAB/Simulink仿真程序及仿真模型帮助读者理解和消化理论知识。从读者认知过程出发,既重视理论,又强调实践,理论支撑实践,实践检验理论,从而对基本知识进行有效拓展,培养读者学习兴趣,激发读者学习动力,提高读者学以致用的工程能力。同时引导高校通信和电子类专业的学生或自学者,学习和掌握纠错编码的基本思想和建模实现方法,为通信理论的学习和创新研究提供一种实践验证的方法和有效途径。 《纠错编码原理及MATLAB实现》一书出版9年以来,得到了师生们的肯定和赞许,收到了一些院校师生的邮件,他们就书中的有关问题进行交流,提出了不少建议和意见,在此深表感谢!在此次修订过程中做了以下几方面的修改和完善: 1. 更正了第1版中的错误和疏漏。 2. 结合当前通信与电子信息类专业教学的实际,对本书的部分内容进行了修改和调整,条理性更清晰,逻辑性更强。 3. 由于MATLAB版本不断升级,第1版中的部分仿真程序和仿真模型在升级后的MATLAB中无法正常运行,在第2版中进行了相应的更新。 本书共分为6章。 第1章主要介绍了纠错编码的基本理论,简要介绍了编码规则和译码规则,同时介绍了纠错编码的本质及性能评价,使读者对纠错编码有初步的了解,还明确了纠错编码的目的和意义。 第2章主要介绍了数论的初步知识,重点是“群”和“域”的基本概念,为学习纠错编码技术的理论做好铺垫。 第3章主要介绍了线性分组码的定义、生成矩阵、校验矩阵、线性分组码的实现和译码以及汉明码,介绍了如何利用MATLAB编程得到线性分组码的生成矩阵、校验矩阵以及如何进行编码、译码,介绍了如何利用Simulink模型搭建完整的通信系统,通过编程和搭建模型验证了线性分组码对系统性能的改善情况,并用Simulink对线性分组码的编码过程进行了模拟。 第4章主要介绍了循环码的定义、多项式描述、生成矩阵、生成多项式、监督多项式和监督矩阵、循环码的编码译码、BCH码,介绍了如何利用MATLAB编程进行循环码的编码和译码,通过MATLAB编程和搭建Simulink模型验证了循环码对系统性能的改善情况,并用Simulink对循环码的编码过程进行了模拟。 第5章主要介绍了卷积码基本概念、编码过程和数学描述以及图形描述(状态图、树图、网格图),卷积码译码的方法,通过MATLAB编程和搭建Simulink模型验证了卷积码对系统性能的改善情况,最后给出了卷积码编码电路的Simulink实现方法。 第6章主要介绍了三种纠错编码新技术——交织技术、Turbo码以及网格编码调制技术; 并通过仿真验证了突发干扰情况下交织技术对通信系统性能的改善。 为了方便教师教学和读者自学,本书配有录播视频、完整的多媒体课件和全部习题答案。本书所有程序及系统模型都在MATLAB R2021b版本下调试运行成功。 在此,特别感谢昆明理工大学信息工程与自动化学院邵玉斌教授在本书的编著和修订的过程中给予作者的宝贵意见和建议!同时,感谢昆明理工大学信息检测与创新团队各位老师的无私帮助!感谢家人对我的教学和科研工作的理解、鼓励和支持! 由于作者研究能力有限,错误和疏漏之处在所难免,诚望广大师生和读者批评指正。 刘爱莲 2022年8月28日于昆明理工大学 配套资源使用说明: 为了方便教学,本书配有微课视频、教学大纲、教学课件、习题解答、源程序及仿真模型。 (1) 获取微课视频方式: 读者可以先扫描本书封底的文泉云盘防盗码,再扫描书中相应的视频二维码,即可观看教学视频。 (2) 其他资源可先扫描本书封底的文泉云盘防盗码,再扫描前言下方二维码,即可获取。 教学大纲 教学课件 习题解答 源程序及仿真模型 第1版前言 通信技术是在不断解决有效性和可靠性的矛盾的过程中不断发展的,而纠错编码技术是提高传输可靠性的有效途径之一。关于纠错编码技术的理论大多都涵盖在信息论与编码方面的教材中,而专门的关于纠错编码技术的教材却很少。仅有的几本书籍要么过于系统全面、理论性强,要么过于专业化、不够通俗、难度较大。 本书是作者多年从事“纠错编码技术”课程教学和实验的提炼与总结。本书力求物理概念清晰,通俗易懂,由浅入深,重点突出,对基本概念和基本原理的阐述清晰明了,书中列举了大量的例题帮助读者理解和消化。作者以MATLAB为工具将纠错编码理论和仿真实验技术相结合,目的在于通过仿真和建模以及大量实例来引导通信和电子类专业的学生或自学者学习和掌握纠错编码的基本思想和方法,为通信理论的学习和创新研究提供一种实践验证的方法和途径。 全书内容深入浅出,既保持理论的完整性、系统性,又概念清楚、易读好懂,同时注重理论与实践相结合。 本书共分为6章。 第1章主要介绍了纠错编码的基本理论,简要介绍了编码规则和译码规则,同时还介绍了纠错编码的本质及性能评价,使读者对纠错编码有初步的了解,同时明确了纠错编码的目的和意义。 第2章主要介绍了数论的初步知识,重点是群的基本概念和域的基本概念,为学习纠错编码技术的理论做好铺垫。 第3章主要介绍了线性分组码的定义、生成矩阵、校验矩阵、线性分组码的实现和译码以及汉明码,介绍了如何利用MATLAB编程得到线性分组码的生成矩阵、校验矩阵以及如何进行编码、译码,介绍了如何利用Simulink模块搭建完整的通信系统,通过编程和搭建模型验证了线性分组码对系统性能的改善情况。 第4章主要介绍了循环码的定义、多项式描述、生成矩阵、生成多项式和监督矩阵、循环码的编码译码、BCH码,介绍了如何利用MATLAB编程进行循环码的编码和译码,通过MATLAB编程和搭建Simulink模型验证了循环码对系统性能的改善情况。 第5章主要介绍了卷积码概念、编码过程和数学描述以及图形描述(状态图、树图、网格图),卷积码译码的方法,通过MATLAB编程和搭建Simulink模型验证了卷积码对系统性能的改善情况,最后介绍了卷积码编码电路的Simulink实现方法。 第6章主要介绍了三种纠错编码新技术——交织技术、Turbo码以及网格编码调制技术; 并通过仿真验证了突发干扰情况下交织技术对通信系统性能的改善。 本书配有电子教案。本书所有程序及系统模型都在MATLAB 7.10.0下运行成功。 本书在编写的过程中得到同事、朋友及家人的帮助和鼓励,在此表示感谢。 由于作者能力有限,错误和不足之处在所难免,诚望广大读者提出宝贵意见,以便进一步修改完善。 编者 2013年7月