第三篇博客感言
“不要成为一个只会用Matlab仿真SNR-BER的猴子。”
前段时间比较焦虑就业,到处搜索通信的就业情况。很多人说通信日薄西山,不无道理,与前十几二十年相比,现在的确是哑火了,5G、6G带来的变革远不如3G、4G那么震撼,并且电子信息专业学生越来越多,就业岗位和待遇却不见增长。
我认为从中脱颖而出的重要方法之一是要有真本领,真正把技术学好、掌握好,而不仅仅浅尝辄止。因而学习技术应当是以兴趣为导向、重视过程,而非以完成任务的结果导向,这也是我继续写博客的原因。
所以不要成为一个只会用Matlab仿真SNR-BER的猴子,这是我在知乎上看到的对通信专业学生的忠告,非常震撼,铭记于心。但是不幸的是,近期几篇博客文章都是以matlab仿真为主,那就暂且先原谅自己从这里起步罢!
Turbo码编译码原理
Turbo 码是一种并行级联码,其编译码比较复杂,可以简单概述为以下模式:
编码端:如下图所示,一个编码器的输入也是另一个编码器的输入而非输出(经过交织),对不同形式的信息并行操作;随着分组长度和对应交织器大小 K 的增加,Turbo 码的重量谱特性逐渐逼近类随机分布,谱细化大大减少了低重码字重数,改善了单一分量码的距离谱特性。
译码端:并行级联结构很好地满足了反馈译码的要求,两个码可以交替地互不影响地译码,并可通过关于系统码信息位的软判决输出相互传递信息,进行迭代译码,如下图所示;可以获得近似最优的译码性能。
主要特点:
类随机码的特性,同时具有足够的结构信息,因此可以使用高效的迭代译码方法;
优异的性能:在信息分组长度大于 104 比特情况下,达到 10-5 的;
BER 性能,信噪比在香农极限的 1dB 以内;
较长的编译码延时:长的分组长度、多次迭代;
误码平台:最小距离特性较差。
Matlab源码和运行结果
源码
说明:这部分代码主要由本课程设计小组的组员禹潼同学编写~
https://wwb.lanzouv.com/ix83i22d48xi
密码:g38u
结果
代码实现总共分为两个部分:
第一部分
diff_channel部分是Turbo码分别经过AWGN、瑞利衰落和莱斯衰落三种信道的性能分析。
通过AWGN信道,仿真结果如下:
通过瑞利衰落信道,仿真结果如下:
通过莱斯衰落信道,仿真结果如下:
第二部分
Turbo_diff_codetype实现了对不同trellis结构的Turbo码编码的性能对比分析,结果如下图所示:
总结
Turbo码的性能真是让人惊叹,在较高信噪比下误码率呈现“瀑布式”下降,虽然在较低信噪比下比未编码差,但是瑕不掩瑜,在对可靠性要求高的通信系统里将被优先考虑。突然理解了在Turbo被两位名不见经传的科学家提出时,IEEE的一些专家甚至怀疑信噪比算错了。对比线性分组码和卷积码,Turbo抗噪声能力稍弱,但是只要信噪比达标,性能将急剧提升,真是给一点光就灿烂。
欢迎交流讨论。
标签:仿真,Turbo,性能,信噪比,译码,Matlab,信道编码 From: https://blog.csdn.net/weixin_68190597/article/details/139864715