首页/文章/ 详情

通信原理与考研 第十一章 差错控制编码(3)

4小时前浏览2

继续讲解!卷积码的实时性比较好,因此在语音通信中应用极为广泛。再加上维特比译码的性能非常好,更加吸引人们来用。

维特比译码的方法可以扩展应用到信号解调过程中,CPM信号的解调就可以使用维特比解调算法。先看编码原理,再看解码原理。这方面知识难度确实大,学好了绝对是本科生中的翘楚!

编码器如何组成?要牢记。

本人习惯用网格图和状态图,因为在MATLAB编程的时候,这两种方式好转换为数组形式。

网格图是一种用于描述有限状态机(FSM)时序过程的图形化工具,广泛应用于编码理论(如卷积码)、信号处理(如Viterbi算法)和数字通信系统(如调制、均衡)。 基本结构由节点、分支组成。

  • 节点(状态):表示系统在某一时刻的所有可能状态(如卷积编码器的寄存器内容)。

  • 分支(转移):连接相邻时刻状态的箭头,表示状态之间的转移路径,通常标注输入/输出信息。

  • 时间轴:水平方向表示时间序列(离散时刻)。

需要明白输入和输出之间的对应关系。考研试题很有可能会涉及这方面,因为这个和实际动手能力相关,只有活学活用知识,才能在通信领域有所成就。

现在很多高校培养的都是“怪胎”,学生只能记住相关的理论,但实际工程知识是啥都不会。哎,这就是单纯为了考研或者挣学分导致的“恶果”。

解码部分比较难。当年我在做算法的时候,只用到了维特比算法,其他的方法没有用到过。

画起来简单,

实现起来很复杂。

本科生如果能独立写出维特比译码函数,那是很了不起的一件事。至少可以说明具备搞通信算法的能力,把当年大学时代的我要甩开几条街。

看完上述内容,同学们是不是可以打开电脑的matlab软件,看看软件中的vitdec函数是怎么运行的,这对于理解本堂课内容非常有帮助。

如果会用这个函数,本科阶段的学习目标就圆满完成了(我是这么认为的)。

网格图!

维特比译码算法登场!

好多步骤啊!

慢慢细看!

这是算法的核心。理论还比较好讲,怎么用程序实现呢?这个过程是需要花大量时间的。公众 号里面已经公布了代码,有心人可以去学!!!

最后的幸存路径就是译码的结果。

当年我在读研究生阶段,写这个译码函数花了一个多月时间才达到完美境界。不是我笨,是因为仿真要考虑很多实际情况,比如译码延时、数据如何截位等等问题。因此,仿真时间不自觉的就加长了。公众 号MATLAB仿真工匠和通信仿真工匠给出了相关仿真程序。同学们可以去公 众号查找资料。现在统一发布在公众 号通信工程师专辑中!

欢迎同学们去下载程序并进行调试。

视频号里经常发布仿真课程!

Turbo码!

由于分组码和卷积码的复杂度随码组长度或约束度的增大按指数规律增长,所以为了提高纠错能力,不依靠单纯增大码的长度,而是将两种或多种简单的编码组合成复合编码。十几年前,Turbo码登场了,不鸣则已,一鸣惊人啊!

好在对于本科教学,Turbo码和LDPC码都只需要粗略了解即可。不然可要让我继续累讲好几堂课哦。了解一下编码器的原理就下课啦。

本科生对上述知识只需做了解!如果想深入学习呢?“理论→算法→仿真→优化”四步走:从卷积码过渡到Turbo码,通过MATLAB仿真直观理解迭代译码的“魔法”,最终实现场景应用。

可以写个简单的仿真程序来加速了解过程,下面是仿真步骤。

  1. 生成随机比特流。

  2. 通过RSC编码器和交织器生成Turbo码(调用comm.TurboEncoder工具箱函数)。

  3. 添加AWGN噪声模拟信道。

  4. 迭代译码(调用MATLAB自带函数)并统计BER。

学习是需要内驱力的,如果仅有愿望,不去实践,终究学不好工科。未完,待续!

网吧万象!

打个游戏至于这样吗?撞电脑?以头抢地尔?大胆猜测是打网游不爽导致的,是不是碰到了猪队友啊?大学生如何看待网游呢?年轻时就要选好自己的未来之路。

修订记录

20170328 完成初稿;

20170401 修订文字;

20190425 修订内容;

20250424 修订内容;


来源:通信工程师专辑
MATLAB通信理论游戏控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-05-05
最近编辑:4小时前
算法工匠
博士后 | 高级工程师 诚信做事 认真讲课 传播知识
获赞 409粉丝 2672文章 444课程 40
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈