自学小记_5(网络通信-差错控制技术)

来源:互联网 发布:vivo手机怎么改mac地址 编辑:程序博客网 时间:2024/06/05 08:54

差错控制技术:由外部或内部噪声引起的差错:随机差错/突发差错:

差错处理原理:

发送A,B,使用二进制编码:

___________________________________________

发送端                      接收端       

A 1                              0       

---A->0->          

B 0                              0        

不具纠检错功能;       

___________________________________________

发送端                      接收端       

A 11                              10                               

---A->10->                                                      

B 00                              00                                             

具备检错,不具备纠错 ;                                              

___________________________________________

发送端                      接收端                                           

A 111                              101-->111                                

---A->101->                                                    

B 000                              000                                         

具备检错纠错;

传输效率依次降低:

差错控制方式:

自动请求重发ARQ:接收端发现信息有误自动请求发送端保存的副本-->需要发送端将数据列编成可以检测错误的码;

向前纠错FEC:接收端发现信息有误自动计算纠错-->需要发送端将数据列编成可以检测错误的码;

混合方式:ATM采用,数量差错自动纠错,超过纠错能力请求重发;

信息反馈IRQ:接收完成由反向信道发送发送端,发送端纠错后再发接收端,直到没有发现错误为止;

3,当前码的构型可分为:积卷码和分组码:

分组码:k个码元一组,产生r个监督码元,(n,k)码-->监督位是本码组;常用分组码:恒比码,垂直水平奇偶校验码,汉明码,循环冗余校验码--(数据链路较为普遍);

积卷码:监督位不只是本码组信息位,还与前面若干个码组的信息位有关-->监督码元相互监督,又称连环码;

3.1 奇偶校验码:

奇校验:不论信息位为多少位,检验位为1位,加入该位后码字所含总的‘1’为奇数个;

偶校验:不论信息位为多少位,检验位为1位,加入该位后码字所含总的‘1’为偶数个;

使用简单,纠错能力有限,只能检出奇数个错码,不适用于突发性差错;其衍生的垂直水平奇偶校验码,计数校验码,斜校法校验码,均属于二维奇偶校验码,适用于检测突发差错;

3.2,汉明码:码长n,信息位k,检验位r;其中每个检验位与某几个信息位构成偶校验关系,接收端对r个奇偶关系进行校验,将每个检验位与他关联的信息位进行异或,结果就称为校正因子,无误的话r个校正因子都是0;如果不全为0也可以定位是那个码字的什么位置;

可能差错的位置:2^r>=k+r+1;以k=4说明:

n=7=>7个码元S1,S2,S3为校验因子:

S1 S2 S3 差错码位置

0 0 0

0 0 1 C0

0 1 0 C1

1 0 0 C2

0 1 1 C3

1 0 1 C4

1 1 0 C5

1 1 1 C6

当出错码位于C2,4,5,6时S1为1,否则S1为0;=>4个码元构成的奇偶关系;同理:

当出错码位于C1,3,5,6时S2为1,否则S2为0;

当出错码位于C0,2,4,6时S3为1,否则S3为0;

发送端的C6,5,4,3信息位取决于输入数据,C2,1,0根据信息位的值按检验位关系确定,如果编码的码组无差错,S1,2,3应为0;

=》

C2+C4+C5+C6=0

C1+C3+C5+C6=0

C0+C3+C4+C6=0

=》

C2=C4+C5+C6

C1=C3+C5+C6

C0=C3+C4+C6


如:信息位1000 =》

=》

C2=1

C1=1 =》发送码字1000111

C0=1

判断接收端收到->0000011是否有误:S=S1S2S3=011=C3=>原码字:0001;

3.3,循环冗余校验码:CRC一组分组码:

特性:1个码中任何两个许用码组按模2相加后形成新的系列仍为一个许用码组;相同则为全0系列,所以循环冗余校验码一定包含全0码字;

   1个许用码组,每次循环移位的结果一定也是码字集合中的另一个许用码组;

编码步骤:

1,求M(x)对应的码字,可先求M(x),在求x^n-k;

2,所求码字被G(x)除,求余式;

3,x^rM(x)+R(x)就是所求码字;

假设生成多项式:G(x)=x^3+x+1,构成(7,4)循环冗余校验码,待编码的信息为1101,对应的信息多项式M(x)=x^3+x+1==》R(x)系列001;

x^3M(x)+R(x)=x^6+x^5+x^3+1;==>1101001;

接收端是用生成多项式:G(x)除接收下来的,x^rM(x)+R(x),能整除表示无差错;如:接收端 1101001,G(x) 1011,可除尽;若接收端 1111001,长除后得到余式R(x),传输有误;-->只具备检错功能;

实例:一个报文系列1101011011,通过数据链路传输,采用CRC进行差错检测,所用生成多项式G(x)=x^4+x+1;

说明CRC码产生过程及产生的发送系列;

CRC码的检测过程;

解:生成多项式编码:10011,r=4;检验码是4位

1101011011左移4位=》1101011011*2^4;生成多项式模2除,

11010110110000/10011=1100001010余1110

发送系列:11010110110000+1110=11010110111110;

译码:无差错11010110111110/10011=1100001010余0;

   有差错11010110110110/10011=1100001010余1000;

数据链路中的帧校验系列使用的就是循环冗余码;

原创粉丝点击