浅谈差错控制编码

这个学期学习了通信原理,开始的时候,由于并不知道这一课程的作用,而且还是一门选修课,当时就没有很认真的去学,今天,在探讨迅雷的传送机制时提到了差错控制,发现原来还真是对我们有用的。虽然考试上了90,但是现在回想起来,既然只能回忆起几个名词。惭愧啊惭愧!于是,晚上就又捧起这本原来以为很少会有机会用到的书,寻找失落的回忆。

在通信的过程中,由于信道总是存在这样那样的干扰,因此传输时总会出现误码,这时如果袖手旁观,当然就会造成传输错误,这种结果当然不是用户想要得到的。这时候,就需要进行差错控制编码了。我们知道,在传输的时候,我们发的文件什么的都会变成01串,而差错控制的基本思路是:在我们发送的01序列上加上一些0或1,作为监督码元,这些监督码元与装载信息的码元之间具有一定的联系,这之间的联系也可以算是一种协议了。接收方根据监督码元来判断传送的消息是否有误。
常见的差错控制有3种方式:ARQ(检错重发)、FEC(前向纠错)、HEC(混合纠错)。从名字上可以知道,第一种就是检测到错了,就重新发送一遍,直到收到正确的为止,这种方式看起来有点迂,但是却是最直接简单的了;第二种可以发现并纠正错误,但是设备要求高;最后一种可以说是前两种的结合,接收一方不仅可以纠错,而且还能检测不能纠错的误码。
当然,具体实现时,肯定不像看起来这么简单。在具体实现的过程中,不用考虑上面三种差错控制方式的差异。单就怎么检错和纠错进行探讨就可以了。举一个例子,假如我们用3位的01串来表示四种不同的信息:000--晴天,011--下雨,101--阴天,110--下雪,那么我们规定其他的四种:001,010,100,111就不可以出现在发送的消息中,若在接收端发现了这几种,就可以知道发送失败了,我们称后面四种码组为禁用码组。当然,这种只能检错,当接收到001的时候,并不知道正确的信息是什么。当然若是规定000表示天晴,111表示下雨,其他的码组都是禁用码组,那么,当接收到001时,就基本可以判断是天晴了,可能大家会发现,这个有点撞概率了,不过,这个已经可以一定程度上提高通信正确率了,而且这只是最基本的检错了。这时候就需要进行纠错了。这时候,我们需要引进另一种码组——分组码。比如,我们用3位01装载一条信息时,我们用前两位表示信息,后一位作为监督位,由信码附加上监督码就构成了分组码。有一种比较简单的分组码,就是正反码:信息位数和监督位数相等,而且要么互补,要么相同(到底是相同还是相反就看“1”的个数),这样在接受端进行一下对比,就可以检错,而且还可以发现错误的位置。

当然,以上只是点到了一些很基本的内容,希望自己已经讲清了一点通信纠错很表层的东西。毕竟自己也是学艺相当不精啊。我相信要是想了解更深的,那就得请教wiki和和谷歌当然还有书本了。那些内容也就不需要我再copy过来了。欢迎拍砖啊!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值