谈谈编码 | 信息论

编码的基本过程

假使我们现在要传输一段英文,为了传输的方便要对其进行编码。英文内容是:I love coding. 要编码首先要想好码符号,最常见的码符号是0和1,把不同的0和1的组合与英文语句的每个字母对应起来,这就是编码的过程。现在规定每个代码长度是4,那我用最简单的方法来编码:0000代表I,0001代表空格,0010代表l,0011代表o ……

写个表格吧,清晰一点:

英文字母代码
I0000
空格0001
l0010
o0011
v0100
e0101
c0110
d0111
i1000
n1001
g1010

okay, 所有的字母或空格都有了对应的代码,这就是编码第一步。我们把需要被编码的字母和空格都称为符号.

把他们组合起来,英文语句I love coding 就变成了码长为4的代码:

0000000100100011010001010001011000110111100010011010

然后你可以对你的室友说:“我拍一下桌子就代表0,拍一下手代表1,你来看看我想表达什么。”你开心得拍了起来,室友很认真地记录你的拍打情况,按照编码的表格4个数字1个符号地破译,最终发现你是个代码爱好者。哈哈,不嫌累可以试试。

一些数学的表示方法

符号集

英文语句I love coding是由字母和空格组成,把这些符号组成一个集合,我们称之为符号集,用字母 S 来表示:

S={I,,l,o,v,e,c,d,i,n,g}

这是一个实例,一般表示符号集的方法是:

S={S1,S2,S3,S4,,Sq}

q 说明集合里一共有 q 个元素。

码符号集

我们上述例子中的码符号是啥?是0和1,我们就是用它俩来编码的。这里再定义一个码符号集 X={0,1} .

同样它是一个实际的例子,一般表示码符号集的方法是:

X={X1,X2,,Xr}

我们老师告诉我,用 r 来表示码符号的个数,虽然一会儿 q 一会儿 r 存在符号滥用的嫌疑,但后面会介绍一个定理,到时候你就发现他们还是有用的。

代码组

0000, 0001 之类是我们的代码,前者代表字母 I ,后者代表空格,把所有的代码放在一个集合里面,这个集合就叫做代码组

C={0000,0001,,1010}

标准写法:

C={w1,w2,w3,,wq}

这里的 q 代表代码的数量,可以发现这个 q 在上文中出现过,于是我们大胆建立起联系,符号个数就是代码的个数,这在逻辑上是正确的,本身编码的过程就是给每个符号一个代码,他们确实也应该是一一对应的。

每个代码 wi 是由若干个基本符号组成的,在这里是由两个基本符号0和1组成的,以 w1 为例:

w1=(0000)

标准写法:

wi=(xi1,xi2,xi3,,xil)

你可以放大点看,最后一个元素的下标是 il l 表示码长。

在上述例子中 l=4. 当 i=1 的时候:

w1=(x11,x12,x13,x14)

我们有 x11=x12=x13=x14=0 .

从翻译上看编码理论

信息传输,一方面是编码,一方面就是翻译,两者缺一不可。我们设计的这组代码有一个好处,就是定长。翻译的人员很清楚地知道工作步骤,信息是一个数字一个数字发送的,那么可以每接受到4个数字就翻译一次,每接受到4个数字就翻译一次,步骤很鲜明,操作很简单,出错概率非常小。这种代码我们称之为即时码,在传输的过程中就能够翻译,而是一个代码只能被翻译成一个符号,是唯一可译的。

唯一可译码的条件

信源发布了 q 个符号,码符号集有 r 个元素(也叫做码元),每个代码的长度,码长为 l ,存在唯一可译编码需要满足:

qrl

用我们上述的I love coding的例子,符号有11个,码符号是0和1,因此码符号集有2个码元,每个代码长度为4;左边 q=11 ,右边 rl=24=16 ,满足条件,所以它是唯一可译的编码。

信源拓展后的编码

再来复习一下拓展的概念,原来信源只能发两个符号,0和1,二次拓展以后能发几个符号?4个,00,01,10,11;那么三次拓展以后呢?8个; N 次拓展呢? 2N 个。要是一开始信源能够发 q 个符号,N 次拓展以后就可以发送 qN 个符号。

举个例子啊,我们有符号集 S

S={S1,S2,S3,S4}

二次拓展以后就有了 42=16 个元素,新元素用 α 来表示,于是有:

S2={α1,α2,,α16}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值