crc的译码与纠错
将收到的循环校验码用约定的生成多项式g(x)去除,如果码字无误则余数应为0,如有某一位出错,则余数不为0,且不同数位出错余数会不同。我们通过上例求出其出错模式,如表2-4所示。更换不同的待测码字可以证明:余数与出错位的对应关系是不变的,只与码制和生成多项式有关。因此表2.4给出的关系可作为系统线性(7,4)分组码的出错判别依据。对于其他码制或选用其他生成多项式,出错模式将发生变化。
表2.4 (7,4)循环码的出错模式 ( 生成多项式g(x)=1011 )
a1 a2 a3 a4 a5 a6 a7
余数
出错位
正确
错误
1 100 00 0
1 100 11 0
1 101 01 0
1 110 01 0
1 000 01 0
0 100 01 0
0 1 0
1 0 0
0 1 1
1 1 0
1 1 1
1 0 1
6
5
4
3
2
1
如果循环码有一位出错,用g(x)作模2除将得到一个不为0的余数。如果对余数补0继续除下去,我们将发现一个有趣的结果:各次余数将按表2.4中的内容顺序循环。例如第七位出错,余数将为001,补0后再除,第二次余数为010,以后依次为100,011,…,反复循环。这是一个有价值的特点。如果我们在求出余数不为0之后,一边对余数补0继续做模2除,同时让被检测的校验码字循环左移。表2.4说明,当出现余数(101)时,出错位也移到a1位置。可通过异或门将它纠正后在下一次移位时送回a7。继续移满一个循环(对7,4码共移七次),就得到一个纠正后的码字。这样我们就不必像海明校验那样用译码电路对每一位提供纠正条件。当数据位数增多时,循环码校验能有效地降低硬件代价,这是它得以广泛应用的主要原因。
关于生成多项式,并不是任何一个r次的多项式都可以作为生成多项式。从检错及纠错的要求出发,生成多项式应能满足下列要求:
(1) 任何一位发生错误应当使余数不为0;
(2) 不同位发生错误应当使余数不同;
(3) 对余数继续作模2除,应使余数循环。
将这些要求反映为数学关系是比较复杂的,对一个(n,k)码来说,可将(xn -1)分解为若干质因子式(注意是模2运算),根据编码所要求的码距,选取合适的r值,选其中的一个因式或若干因式的乘积作为生成多项式,为r次多项式,且最高、最低位系数均为1。
例: x7-1=( x+1)(x3+x+1)(x3+x2+1) (模2运算)
选择 g(x)= x+1 = 11,可构成(7,6)码,只能判一位错。
选择 g(x)= x3+x+1=1011,或 x3+x2+1=1101,可构成(7,4)码,能判两位错或纠一位错。
选择 g(x)=(x+1)(x3+x+1)=11101,可构成(7,3)码,能判两位错并同时纠正一位错。
对使用者来说,可从有关资料上查到对应于不同码制的生成多项式,表2.5仅给出了一部分。
表2.5 生成多项式
n
k
码距d
g(x)多项式
g(x)二进制码
3+x+1)或 (x3+x2+1)g(x)=g1(x)(x+1)=(x3+x+1)(x+1)或 (x3+x2+1)(x+1)
1101
4+x+1)(x4+x+1)(x4+x3+x2+x+1)
10111
7
5
5+x2+1)(x5+x2+1)(x5+x4+x3+x2+1)
111010001
26
21
5
4+x+1)(x4+x+1)(x6+x4+x+1)
11101101001
51
5
16+x15+x2+1)
1010000110101
曝NVIDIA是台积电CoWoS封装技术的三大主要客户之一 其另外两大客户分别为赛灵思和华为海思
怎样使用奈奎斯特图进行交流电分析呢?
TI推出栅极驱动器UCC5880-Q1,进一步提升新能源汽车续航
小米Max2最新消息:小米Max2现身跑分网站,惊呆众人
电信热插拔参考设计不受过压和欠压输入瞬变的影响
CRC的译码与纠错
技术逐渐成熟 餐饮配送工作或将成为机器人落地的主要阵地
比特币开采高能源消耗令人堪忧
可能被忽视的总线收发器接口电平问题
演进中的WCDMA R4与NGN
世强连续3年荣膺EPSON“最佳市场开拓奖”
废旧电池回收箱 在长沙各社区内受冷遇
Pasternack的PEM010 60GHz波导发射模块获得了2018年中国电子设计创新大会创新产品奖
WTN6语音芯片在电子锁的应用说明
物联网如何提高智慧医疗的质量?
小米7高端技术配置齐全 2018有望挑战苹果、三星权威
分析连接器失效原因
图像处理基础知识笔记14
2018全国物联网和人工智能师资研修班成功举办 学生们热情高涨
区块链的优势会成为劣势?