香农编码
前段时间在《信息论与编码》这门课中学习了各种编码方式,这里记录一下香农码。
设离散无记忆信源(XP(X))=(a1a2…anp(a1)p(a2)…p(an))\begin{pmatrix} X \\ P(X) \end{pmatrix}=\begin{pmatrix} a_1&a_2&\ldots&a_n \\ p(a_1)&p(a_2)&\ldots&p(a_n) \end{pmatrix}(XP(X))=(a1p(a1)a2p(a2)……anp(an)),0≤p(ai)≤10\le p(a_i) \le 10≤p(ai)≤1,∑i=1np(ai)=1\sum_{i=1}^{n}p(a_i)=1∑i=1np(ai)=1。
编码步骤:
- 将信源符号按概率从大到小的顺序排列。不妨令p(a1)≥p(a2)≥…≥p(an)p(a_1)\ge p(a_2)\ge\ldots\ge p(a_n)p(a

本文介绍了香农编码的基本概念,包括离散无记忆信源的表示和编码步骤,以及如何通过概率排序和二进制表示实现编码。作者还提到在实际操作中使用Python的bin()函数遇到的问题,并提供了自定义函数enhanced_bin()来处理小数转二进制的情况。
最低0.47元/天 解锁文章
2392






