利用matlab实现传统费诺编码和改进费诺编码,改进费诺编码算法思想如下:
通过对费诺编码算法以及算例的研究,费诺编码存在的主要问题是编码结果可能会出现概率大的符号对应长码,而概率小的符号对应短码的情况,如表2-10中、对应的码字,这就会造成信源符号在编码过程中产生不同程度的冗余,增加平均码长,降低编码效率。费诺编码相较香农编码仍有很高的编码效率,但是和霍夫曼编码仍有一定的差距,因此应用也不及霍夫曼编码应用广泛。
改进的费诺编码步骤如下:
(1)设信源符号为X,对信源符号从大到小进行降序排列;
(2)将信源符号集(i=1,2,⋯,n)按其概率大小分成两个分组,使每个分组的概率之和尽可能接近或者相等,令第一个子集的编码为“0”,第二个子集的编码为“1”,作为代码组的第一个码元;
(3)按照相同的原则,对分组做第二次分解,同样分解成两个分组,并使两个分组的概率和尽可能接近或者相等,再把第一个分组编码为“0”,第二个分组编码为“1”,作为代码组的第二个码元;
(4)重复上述步骤,直到各分组仅包含一个信源符号为止;
(5)将逐次分解过程当中得到的码元排列起来,得到信源符号的初始码字;
(6)将所有码字按照码长长短进行升序排列进行排序,其中第 i 个码字记作,就是各消息符号 所对应的码字。
结果显示各自编码结果,编码效率,平均码长以及各自运行时间,希望各位参考该gpt时能够运行一下。
关于#matlab#的问题,如何解决?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
7条回答 默认 最新
悬赏问题
- ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
- ¥15 这种微信登录授权 谁可以做啊
- ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
- ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
- ¥15 网络设备配置与管理这个该怎么弄
- ¥20 机器学习能否像多层线性模型一样处理嵌套数据
- ¥20 西门子S7-Graph,S7-300,梯形图
- ¥50 用易语言http 访问不了网页
- ¥50 safari浏览器fetch提交数据后数据丢失问题
- ¥15 matlab不知道怎么改,求解答!!