关注公号【逆向通信猿】更精彩!!!

回顾

之前关于(3,1,3)卷积码的维特比译码仿真写过一篇文章(基于C语言实现):

卷积码Viterbi译码算法基本原理及C语言实现

文中从概率的角度出发,对卷积码的基于硬判决和软判决维特比译码原理进行了阐述,最后以(3,1,3)系统卷积码为例进行了C语言实现,但该实现仅是针对(3,1,3)这个固定参数的卷积码,不具有一般性,相比MATLAB,C语言晦涩难懂,可读性较差。

本文从更具一般性的角度对Viterbi译码算法进行阐述,并采用MATLAB对(n,k,m)卷积码进行了仿真实现。

维特比(Viterbi)译码核心思想

卷积码的维特比译码算法其实质是基于最大似然的算法,就是找一个与接收到的序列最“像”的序列认为是原始发送序列,而把得到该发送序列的输入序列作为译码后的信息序列。

说白了就是去遍历每一个状态,计算每一种可能的序列的概率,这个概率可以用最小汉明距离(最像)和最大相关度量(相关性最强)来衡量,最后选择概率最大的序列作为原始发送序列,同样得到该发送序列的输入序列即为译码输出。

具体译码步骤概括起来就是

加——比——选

【卷积码系列2】(n,k,m)卷积码的生成多项式矩阵系数转网格图描述(不使用MATLAB库函数)相关推荐

  1. MATLAB库函数polly2trellis(卷积码生成多项式转网格图描述)的实现过程详解

    关注公号[逆向通信猿]更精彩!!! 生成多项式转网格图 在MATLAB中,卷积码的维特比(Viterbi)译码实现通常需要先将生成多项式转换成网格图描述,然后才能利用网格图进行维特比译码 生成多项式转 ...

  2. 【卷积码系列3】(n,k,m)卷积码的维特比译码实现(不使用MATLAB库函数)及性能对比(vitdec函数-代码见CSDN同名资源)

    关注公号[逆向通信猿]更精彩!!! 理论基础 MATLAB库函数polly2trellis(卷积码生成多项式转网格图描述)的实现过程详解 上面这篇仅作为了解!!! [卷积码系列1](n,k,m)卷积码 ...

  3. 【程序员股民系列】如何用python, pandas, numpy, matplotlib绘制每日个股成交额图

    上次分享了一段代码用于绘制每日行业交易额的图: [程序员股民系列]如何用python, pandas, numpy, matplotlib绘制每日行业成交额图 分析粒度略粗,只到行业这一层,把代码稍微 ...

  4. matlab中怎么表示几次方,用while 语句编写程式,k=1+2+4+8+…+2的62次方+2的63次方matlab中...

    用while 语句编写程式,k=1+2+4+8+-+2的62次方+2的63次方matlab中以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶 ...

  5. 经验:EXCEL生成y=kx+b函数图,有x,y原始数据,求平均系数k

    经验:EXCEL生成y=kx+b函数图,有x,y原始数据,求平均系数k 1.数据录入 2.生成图表 3.加入趋势线 4.得出公式 1.数据录入 将需要生成的数据录入excel 2.生成图表 框选数据, ...

  6. GD32系列总结 - 时钟树总结及CubeMX生成代码

    GD32系列总结 - 时钟树总结及CubeMX生成代码 写在前面 时钟树 HSE振荡器时钟(高速外部时钟信号) HSE用户外部时钟(旁路模式) HSE外部晶体/陶瓷谐振器 HSI振荡器时钟 PLL时钟 ...

  7. 材料计算:电催化系列2——隐式溶剂效应、恒电势方法、OER台阶图、催化火山图、布拜图

    材料计算·训练营第三期 电催化系列2--隐式溶剂效应.恒电势方法.OER台阶图.催化火山图.布拜图 ORGANIZATION:北京龙讯旷腾科技有限公司 DATE:2022/05/14-05/15(两天 ...

  8. 【卷积码系列4】卷积码的状态转移函数、距离谱和译码性能界分析及matlab仿真

    重要声明:为防止爬虫和盗版贩卖,文章中的核心代码和数据集可凭[CSDN订阅截图或公z号付费截图]私信免费领取,一律不认其他渠道付费截图! 一.卷积码的状态图和转移函数 以一个例子入手,对于如下编码器所 ...

  9. OpenCV系列之理解K近邻 | 五十三

    目标 在本章中,我们将了解k近邻(kNN)算法的原理. 理论 kNN是可用于监督学习的最简单的分类算法之一.这个想法是在特征空间中搜索测试数据的最近邻.我们将用下面的图片来研究它. 在图像中,有两个族 ...

最新文章

  1. snowflake算法 php,Snowflake —— 分布式全局唯一 id 生成算法
  2. activex java 控件_java 如何调用ActiveX控件??
  3. 黑马h5学习代码_如何零基础制作酷炫实用的H5页面
  4. discuz集思街淘宝客模板
  5. NET面试题:在C#中如何声明一个类不能被继承
  6. Vue脚手架中添加favicon.ico图标失效问题
  7. NS2仿真过程中需要的语言及基本组件
  8. java技术可行性分析_Java可行性分析
  9. 电子海图数据购买、安装、更新及使用注意事项
  10. IT故事:软件测试点亮了我人生的烛光
  11. 中科大计算机本科毕业论文范文,中科大本科生毕业论文格式.pdf
  12. Django入门:第十一章、基础模板
  13. vim学习笔记-tags用法
  14. 决策树和随机森林预测员工离职率学习代码
  15. 卡贴机变无锁教程_卡贴机怎么解锁变无锁
  16. mac蓝牙键盘工具分享——通过mac键盘给iPhone、iPad打字
  17. TCP/IP详解学习笔记 这位仁兄写得太好了
  18. android persist属性使用
  19. NJU数电实验1-3
  20. goZero入门使用及注意事项

热门文章

  1. JavaOne 2012:Lambda之路
  2. Apache Wicket:记住我的功能
  3. Spring MVC开发–快速教程
  4. mysql断电同步不起作用_mysql主从同步因断电产生的不能同步问题
  5. 2020年全国儿童青少年总体近视率为52.7%,比上年上升2.5%播
  6. Java声明定义抽象类_接口_继承_实现
  7. Windows 命令终端(CMD)程序员常用的命令
  8. java字符串底层实现_「JAVA」细述合理创建字符串,分析字符串的底层存储,你不该错过...
  9. 分布式锁的三种实现方式_分布式锁的多种实现方式
  10. mac tomcat java_Mac下配置Java开发环境(JDK1.8)和Tomcat服务器