1 / 70

第十章 信道编码和差错控制

第十章 信道编码和差错控制. 10.1 概述 信道编码: 目的:提高信号传输的可靠性。 方法:增加多余比特,以发现或纠正错误。 差错控制:包括信道编码在内的一切纠正错误手段。 产生错码的原因: 乘性干扰引起的码间串扰 加性干扰引起的信噪比降低 信道分类:按照加性干扰造成错码的统计特性不同划分 随机信道:错码随机出现,例如由白噪声引起的错码 突发信道:错码相对集中出现,例如由脉冲干扰引起的错码。 混合信道. 差错控制技术的种类: 检错重发: 能发现错码,但是不能确定错码的位置。 通信系统需要有双向信道。

tyne
Download Presentation

第十章 信道编码和差错控制

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第十章 信道编码和差错控制 10.1概述 • 信道编码: • 目的:提高信号传输的可靠性。 • 方法:增加多余比特,以发现或纠正错误。 • 差错控制:包括信道编码在内的一切纠正错误手段。 • 产生错码的原因: • 乘性干扰引起的码间串扰 • 加性干扰引起的信噪比降低 • 信道分类:按照加性干扰造成错码的统计特性不同划分 • 随机信道:错码随机出现,例如由白噪声引起的错码 • 突发信道:错码相对集中出现,例如由脉冲干扰引起的错码。 • 混合信道

  2. 差错控制技术的种类: • 检错重发: • 能发现错码,但是不能确定错码的位置。 • 通信系统需要有双向信道。 • 前向纠错(FEC):利用加入的差错控制码元,不但能够发现错码,还能纠正错码。 • 反馈校验: • 将收到的码元转发回发送端,将它和原发送码元比较。 • 缺点:需要双向信道,传输效率也较低。 • 检错删除: • 在接收端发现错码后,立即将其删除。 • 适用在发送码元中有大量多余度,删除部分接收码元不影响应用之处。

  3. 编码序列的参数 • n - 编码序列中总码元数量 • k - 编码序列中信息码元数量 • r- 编码序列中差错控制码元数量 (差错控制码元,以后称为监督码元或监督位 ) • k/n - 码率 • (n - k) / k = r / k - 冗余度

  4. 发送数据 3 4 5 2 3 5 1 6 t ACK ACK NAK ACK ACK NAK ACK 接收数据 2 3 3 4 5 5 1 t 有错码组 有错码组 停止等待ARQ系统 重发码组 重发码组 ACK1 ACK5 NAK9 NAK5 10 12 10 11 11 发送数据 5 6 1 2 3 4 5 6 7 7 8 9 9 11 12 10 10 接收数据 11 1 2 3 4 5 6 7 5 6 7 8 9 9 有错码组 有错码组 拉后ARQ系统 • 自动要求重发(ARQ)系统 • 停止等待ARQ系统 • 拉后ARQ系统

  5. ACK9 NAK5 NAK9 ACK5 重发码组 重发码组 1 2 3 4 5 6 7 10 11 12 13 14 ACK1 接收数据 10 11 12 13 14 1 2 3 4 5 6 7 5 8 9 9 有错码组 有错码组 发送数据 9 9 5 8 选择重发ARQ系统 • 选择重发ARQ系统 • ARQ和前向纠错比较: • 优点 • 监督码元较少,即码率较高 • 检错的计算复杂度较低 • 能适应不同特性的信道 • 缺点 • 需要双向信道。 • 不适用于一点到多点的通信系统或广播系统。 • 传输效率降低,可能因反复重发而造成事实上的通信中断。

  6. 10.2 纠错编码的基本原理 • 分组码举例 • 设:有一种由3个二进制码元构成的编码,它共有23 = 8种 不同的可能码组: 000 – 晴 001 – 云 010 – 阴 011 – 雨 100 – 雪 101 – 霜 110 – 雾 111 – 雹 这时,若一个码组中发生错码,则将收到错误信息。 • 若在此8种码组中仅允许使用4种来传送天气,例如:令 000 – 晴 011 – 云 101 – 阴 110 – 雨 为许用码组,其他4种不允许使用,称为禁用码组。 这时,接收端有可能发现(检测到)码组中的一个错码。 • 这种编码只能检测错码,不能纠正错码。 • 若规定只许用两个码组:例如 000 – 晴 111 – 雨 就能检测两个以下错码,或纠正一个错码。

  7. an-1 ... ar-1 ... an-2 ar an-2 a0 t k个信息位 r个监督位 码长 n = k + r 分组码的结构 • 分组码概念 • 分组码 = 信息位 + 监督位 • 分组码符号:(n, k) 其中,n - 码组总长度, k - 信息码元数目。 r = n – k- 监督码元数目。 右表中的码组为(3, 2)码。 • 分组码的一般结构: • 分组码的参数: • 码重:码组内“1”的个数 • 码距:两码组中对应位取值不同的位数,又称汉明距离 • 最小码距(d0) :各码组间的最小距离

  8. a1 (0,1,0) (1,1,0) (0,1,1) (1,1,1) (0,0,0) (1,0,0) a2 (0,0,1) (1,0,1) a0 • 码距的几何意义:以n = 3的编码为例 • 一般而言,码距是 n 维空间中单位正多面体顶点之间的汉明距离。

  9. 码距等于3的两个码组 0 1 2 3 4 5 0 1 2 3 B A A B 汉明距离 汉明距离 t e t d0 d0 码距等于5的两个码组 • 一种编码的纠检错能力:决定于最小码距d0的值。 • 为了能检测e个错码,要求最小码距 • 为了能纠正 t 个错码,要求最小码距

  10. A B t t 汉明距离 e 1 码距等于(e+t+1)的两个码组 • 为了能纠正t个错码,同时检测e个错码,要求最小码距 纠检结合工作方式: • 当错码数量少时,系统按前向纠错方式工作,以节省重发时间,提高传输效率; • 当错码数量多时,系统按反馈重发的纠错方式工作,以降低系统的总误码率。

  11. 2PSK 10-1 10-2 10-3  Pe A  E 10-4 编码后  B   C 10-5 D 10-6 Eb/n0 (dB) 编码和误码率关系 10.3 纠错编码系统的性能 10.3.1 误码率性能和带宽的关系 采用编码降低误码率 所付出的代价是带宽的增大。

  12. 2PSK 10-1 10-2 10-3  Pe A  E 10-4 编码后  B   C 10-5 D 10-6 Eb/n0 (dB) 编码和误码率关系 10.3.2 功率和带宽的关系 采用编码以节省功率,并保持 误码率不变,付出的代价也是 带宽增大。

  13. 2PSK 10-1 10-2 10-3  Pe A  E 10-4 编码后  B   C 10-5 D 10-6 Eb/n0 (dB) 编码和误码率关系 10.3.3 传输速率和带宽的关系 对于给定的传输系统,其传输速率和Eb/n0的关系: 式中,RB- 码元速率。 提高传输速率,采用编 码以保持误码率不变;付出 的代价仍是带宽增大。

  14. 10.3.4 编码增益 定义:在保持误码率恒定条件下,采用纠错编码所节省的信 噪比Eb/n0称为编码增益: 式中,(Eb/n0)u- 未编码时的信噪比(dB); (Eb/n0)c- 编码后所需的信噪比(dB)。

  15. 10.4 奇偶监督码 10.4.1 一维奇偶监督码 • 奇偶监督码 - 分为奇数监督码和偶数监督码两类。 • 在奇偶监督码中,监督位只有1位,故码率等于k/(k+1)。 • 偶数监督码中,此监督位使码组中“1”的个数为偶数: 式中,a0为监督位,其他位为信息位。 • 奇数监督码中,此监督位使码组中“1”的个数为奇数:

  16. 检错能力 - 能够检测奇数个错码。 • 设:码组长度为n, 码组中各个错码的发生是独立的和等概率的, 则在一个码组中出现 j 个错码的概率为 式中, — 为在n个码元中有j个错码的组合数。 • 奇偶监督码不能检测码组中出现的偶数个错码,所以在一个码组中有错码而不能检测的概率等于: - 当n为偶数时 - 当n为奇数时

  17. [例] 右表中的编码是偶数监督码。 设信道的误码率为10-4,错码的出 现是独立的。试计算其不能检测 的误码率。 将给定条件代入式 计算得出 由计算结果可见,此编码可以将误码率从10-4降低到10-8量级。效果非常明显。

  18. 10.4.2 二维奇偶监督码 • 码率等于 • 有可能检测偶数个错码 • 适合检测突发错码 • 能够纠正部分错码

  19. 10.5 线性分组码 • 基本概念 • 代数码 - 利用代数关系式产生监督位的编码 • 线性分组码 - 代数码的一种,其 监督位和信息位的关系由线性代数方程决定 • 汉明码 - 一种能够纠正一个错码的线性分组码 • 校正子: 在偶数监督码中,计算 实际上就是计算 并检验S是否等于0。 S称为校正子。 • 监督关系式:

  20. 纠错基本原理 • 中,S只有两种取值,故只能表示有错和无错,而不能进一步指明错码的位置。 • 若此码组长度增加一位,则能增加一个监督关系式。这样,就能得到两个校正子。两个校正子的可能取值有4种组合,即00,01,10,11,故能表示4种不同的信息。若用其中一种组合表示无错码,则还有其他3种组合可以用于指明一个错码的3种不同位置。 从而可以有纠错能力。 • 一般而言,若有 r 个监督关系式,则 r 个校正子可以指明一个错码的 (2r – 1) 个不同位置。 • 当校正子可以指明的错码位置数目等于或大于码组长度n时,才能够纠正码组中任何一个位置上的错码,即要求

  21. 汉明码 • 例:要求设计一个能够纠正1个错码的分组码(n, k),给定的码组中有4个信息位,即k = 4。 • 由 这时要求监督位数r 3。若取r = 3,则n = k + r = 7。现在用a6a5a4a3a2a1a0表示这7个码元,用S1 S2S3表示校正子,则这3个校正子恰好能够指明23 – 1 = 7个错码的位置。 • 若规定校正子和错码位置的关系如下表,则仅当在a6a5a4a2位置上有错码时,校正子S1的值才等于1;否则S1的值为零。这就意味着a6a5a4a2四个码元构成偶数监督关系: • 同理,有

  22. 在编码时,信息位a6a5a4a3的值决定于输入信号,它们是随机的。监督位a2a1a0是按监督关系确定的,应该保证上列3式中的校正子等于0,即有在编码时,信息位a6a5a4a3的值决定于输入信号,它们是随机的。监督位a2a1a0是按监督关系确定的,应该保证上列3式中的校正子等于0,即有 给定信息位后,为了 计算监督位,上式可 以改写为 按照上式计算结果为

  23. 在接收端解码时,对于每个接收码组,先按式 计算出校正子S1,S2和S3,然后按照表 判断错码的位置。 例:若接收码组为0000011,则按上三式计算得到:S1 = 0,S2 = 1,S3 = 1。这样,由上表可知,错码位置在a3。

  24. 上例中的汉明码是(7, 4)码,其最小码距d0 = 3。 • 由式 • 可知,此码能够检测2个错码,或纠正1个错码。 • 汉明码的码率: 当r (或n)很大时,上式趋近于1。所以汉明码是一种高效编码。

  25. 分组码的一般原理 • 线性分组码的监督位和信息位的关系 可以改写为 上式中,已经将“”简写成“+”。

  26. 监督矩阵 上式可以写成矩阵形式: (模2) 将上式简写为 HAT = 0T或  AHT = 0

  27. A = [a6a5a4a3a2a1a0] 0 = [000] HAT = 0T 式中, - 称为监督矩阵 • 监督矩阵的性质 • 监督矩阵H确定码组中的信息位和监督位的关系。 • H 的行数就是监督关系式的数目,即监督位数 r。 • H 的每行中“1”的位置表示相应的码元参与监督关系。 • H 可以分成两部分,例如 -典型监督矩阵 式中,P 为r k阶矩阵,Ir为 rr 阶单位方阵。

  28. H 矩阵的各行应该是线性无关的,否则将得不到 r 个线性无关的监督关系式。 • 若一个矩阵能写成典型阵形式[P Ir],则其各行一定是线性无关的。 • 生成矩阵 • 例: 可以写为 上式两端分别转置后,可以变成 式中,Q为k r 阶矩阵,是P的转置,即 Q = PT

  29. 将Q的左边加上一个k阶单位方阵,称为生成矩阵:将Q的左边加上一个k阶单位方阵,称为生成矩阵: - 生成矩阵 G称为生成矩阵,因为可以用它产生整个码组A,即有 • 生成矩阵的性质 • 具有[IkQ]形式的生成矩阵称为典型生成矩阵。 • 由典型生成矩阵得出的码组A中,信息位的位置不变,监督位附加于其后。这种形式的码组称为系统码。 • 矩阵G的各行也必须是线性无关的。 • 如果已有k个线性无关的码组,则可以将其用来作为生成矩阵G,并由它生成其余码组。

  30. B – A = E (模2) • 错误图样 设:发送码组A是一个n列的行矩阵: 接收码组是一个n列的行矩阵B: 令接收码组和发送码组之差为 E就是错码的行矩阵 -称为错误图样 式中, (i = 0, 1, …, n-1) 若ei= 0,表示该码元未错;若ei = 1,表示该码元为错码。

  31. 校正子矩阵 B – A = E 可以改写成 B = A + E 上式表示发送码组A与错码矩阵E之和等于接收码组B。 例如, 若发送码组A = [1 0 0 0 1 1 1], 错码矩阵E = [0 0 0 0 1 0 0], 则 接收码组B = [1 0 0 0 0 1 1]。 在接收端解码时,将接收码组B代入式 AHT = 0 中A的位置进行计算。若接收码组中无错码,则B = A。代入后,该式仍成立,即有 BH T = 0 只有当错码未超出检测能力时,上式才不成立。 假设,这时该式的右端等于S,即有 BH T = S 将B = A + E 代入上式,得到:S = (A + E) H T = AH T + EH T

  32. S = (A + E) H T = AH T + EH T 上式右端第一项等于0,所以 S = EH T- 校正子矩阵 当H 确定后,上式中S只与E 有关,而与A 无关。 这意味着,S 和错码E 之间有确定的线性变换关系。 若S 和E 有一一对应关系,则S 将能代表错码位置。 • 线性码的封闭性:若A1和A2是一种线性码中的两个码组,则(A1+A2)仍是其中一个码组。 『证』若A1和A2是两个码组,则有:A1HT = 0, A2HT = 0 将上两式相加,得出 A1HT + A2HT = (A1 + A2 ) HT = 0 所以(A1 + A2)也是一个码组。 由于线性码具有封闭性,所以两个码组(A1和A2)之间的距离(即对应位不同的数目)必定是另一个码组(A1 + A2)的重量(即“1”的数目)。因此,码的最小距离就是码的最小重量(除全“0”码组外)。

  33. 10.6 循环码 10.6.1 循环码的概念: 循环性是指任一码组循环一位后仍然是该编码中的一个码组。 • 例:一种(7, 3)循环码的全部码组如下 表中第2码组向右移一位即得到第5码组;第5码组向右移一位即得到第7码组。

  34. 一般情况 若(an-1an-2 …a0)是循环码的一个码组,则循环移位后的码组: (an-2an-3 … a0an-1) (an-3an-4 … an-1an-2) … … (a0an-1 …a2a1) 仍然是该编码中的码组。 • 多项式表示法 一个长度为n的码组(an-1an-2 …a0)可以表示成 上式中x 的值没有任何意义,仅用它的幂代表码元的位置。 例:码组1 1 0 0 1 0 1可以表示为

  35. 10.6.2 循环码的运算 • 整数的按模运算 在整数运算中,有模n运算。例如,在模2运算中,有 1 + 1 = 2  0 (模2), 1 + 2 = 3  1 (模2), 2  3 = 6  0 (模2) 等等。 一般说来,若一个整数m可以表示为 式中,Q为整数,则在模n运算下,有 mp (模n) 所以,在模n运算下,一个整数m等于它被n除得的余数。

  36. 码多项式的按模运算 若任意一个多项式F(x)被一个n次多项式N(x)除,得到商式Q(x)和一个次数小于n的余式R(x),即 则在按模N(x)运算下,有 这时,码多项式系数仍按模2运算。 例1:x3被(x3 + 1)除,得到余项1,即 例2: 因为 x x3 + 1 x4 +x2 + 1 x4 + x x2 +x +1 在模2运算中加法和减法一样。

  37. 循环码的数学表示法 在循环码中,设T(x)是一个长度为n的码组,若 则T (x)也是该编码中的一个码组。 [证] 设一循环码为 则有 上式中的T (x) 正是码组T (x)向左循环移位 i 次的结果。 例: 一循环码为1100101,即 若给定 i = 3,则有 上式对应的码组为0101110,它正是T(x)向左移3位的结果。 结论:一个长为n的循环码必定为按模(xn + 1)运算的一个余式。

  38. 循环码的生成 • 有了生成矩阵G,就可以由k个信息位得出整个码组: 例: 式中, 生成矩阵G的每一行都是一个码组。 • 因此,若能找到 k 个已知的码组,就能构成矩阵G。如前所述,这k个已知码组必须是线性不相关的。 • 在循环码中,一个(n, k)码有2k个不同的码组。若用g(x)表示其中前(k-1)位皆为“0”的码组,则g(x),x g(x),x2 g(x),,xk-1 g(x)都是码组,而且这k个码组是线性无关的。因此它们可以用来构成此循环码的生成矩阵G。

  39. 在循环码中除全“0”码组外,再没有连续k位均为“0”的码组。否则,在经过若干次循环移位后将得到k位信息位全为“0”,但监督位不全为“0”的一个码组。这在线性码中显然是不可能的。在循环码中除全“0”码组外,再没有连续k位均为“0”的码组。否则,在经过若干次循环移位后将得到k位信息位全为“0”,但监督位不全为“0”的一个码组。这在线性码中显然是不可能的。 • 因此,g(x)必须是一个常数项不为“0”的(n - k)次多项式,而且这个g(x)还是这种(n, k)码中次数为(n – k)的唯一一个多项式。因为如果有两个,则由码的封闭性,把这两个相加也应该是一个码组,且此码组多项式的次数将小于(n – k),即连续“0”的个数多于(k – 1)。显然,这是与前面的结论矛盾的。 • 我们称这唯一的(n – k)次多项式g(x)为码的生成多项式。一旦确定了g(x),则整个(n, k)循环码就被确定了。

  40. 因此,循环码的生成矩阵G可以写成 • 例: 上表中的编码为(7, 3)循环码,n = 7, k = 3, n – k = 4,其中唯一的一个(n – k) = 4次码多项式代表的码组是第二码组0010111,与它对应的码多项式,即生成多项式,为 g(x) = x4 + x2 + x + 1。

  41. g(x) = x4 + x2 + x + 1 即 “1 0 1 1 1” 将此g(x)代入上矩阵,得到 或 上式不符合G = [IkQ]形式,所以它不是典型生成矩阵。但它经过线性变换后,不难化成典型阵。 此循环码组的多项式表示式T(x): 上式表明,所有码多项式T(x)都能够被g(x)整除,而且任意一个次数不大于(k – 1)的多项式乘g(x)都是码多项式。

  42. 寻求码生成多项式 因为任意一个循环码T(x)都是g(x)的倍式,故它可以写成 T(x) = h(x)g(x) 而生成多项式g(x)本身也是一个码组,即有 T(x) = g(x) 由于码组T(x)是一个(n – k)次多项式,故xk T(x)是一个n次多项式。由 可知,xkT(x)在模(xn + 1)运算下也是一个码组,所以有 上式左端分子和分母都是n次多项式,故相除的商式Q(x) = 1。因此,上式可以写成

  43. 将 T(x) = h(x)g(x) 和 T(x) = g(x) 代入 化简后,得到 上式表明,生成多项式g(x)应该是(xn + 1)的一个因子。 例:(x7 + 1)可以分解为 为了求出(7, 3)循环码的生成多项式 g(x),需要从上式中找到一个(n – k) = 4次的因子。这样的因子有两个,即 以上两式都可以作为生成多项式。 选用的生成多项式不同,产生出的循环码码组也不同。

  44. 10.6.3 循环码的编码方法 • 用xn-k乘m(x)。这一运算实际上是在信息码后附加上(n – k)个“0”。例如,信息码为110,它写成多项式为m(x) = x2 + x。当n – k = 7 – 3 =4时,xn-k m(x) = x4 (x2 +x) = x6 +x5,它表示码组1100000。 • 用g(x)除xn-k m(x),得到商Q(x)和余式r(x),即有 例:若选定g(x) = x4 + x2 + x + 1,则有 上式是用码多项式表示的运算。它和下式等效: • 编出的码组T(x)为:T(x) = xn-k m(x) +r(x) 在上例中,T(x) = 1100000 + 101 = 1100101

  45. 10.6.4 循环码的解码方法 • 在检错时:当接收码组没有错码时,接收码组R(x)必定能被g(x)整除,即下式 中余项r(x)应为零;否则,有误码。 • 当接收码组中的错码数量过多,超出了编码的检错能力时,有错码的接收码组也可能被g(x)整除。这时,错码就不能检出了。 • 在纠错时: • 用生成多项式g(x)除接收码组R(x),得出余式r(x)。 • 按照余式r(x),用查表的方法或计算方法得出错误图样E(x)。 • 从R(x)中减去E(x),便得到已经纠正错码的原发送码组T(x)。

  46. 10.6.5 截短循环码 • 截短目的: 在设计时,通常信息位数k、码长n和纠错能力都是预先给定的。但是,并不一定有恰好满足这些条件的循环码存在。故采用截短码长截短,得出满足要求的编码。 • 截短方法: 设给定一个(n, k)循环码,它共有2k种码组,现使其前i (0 < i < k)个信息位全为“0”,于是它变成仅有2k-i种码组。然后从中删去这 i 位全“0”的信息位,最终得到一个 (n – i,k – i)的线性码。将这种码称为截短循环码。 • 截短循环码与截短前的循环码至少具有相同的纠错能力,并且截短循环码的编解码方法仍和截短前的方法一样。 • 例:要求构造一个能够纠正1位错码的(13, 9)码。 这时可以由(15, 11)循环码的11种码组中选出前两信息位均为“0”的码组,构成一个新的码组集合。然后在发送时不发送这两位“0”。于是发送码组成为(13, 9)截短循环码。

  47. 10.6.6 BCH码 • BCH码是能够纠正多个随机错码的循环码。 • BCH码分为两类:本原BCH码和非本原BCH码。 • 本原BCH码:码长n = 2m – 1 (m 3,任意正整数),它的生成多项式g(x)中含有最高次数为m次的本原多项式; • 非本原BCH码:码长n是(2m – 1)的一个因子,它的生成多项式g(x)中不含有最高次数为m的本原多项式。 • BCH码的工程设计:可以用查表法找到所需的生成多项式。 例:二进制非本原BCH码的生成多项式系数 表中g(x)是用8进制数字表示的;t 为纠错能力。

  48. 常用BCH码: • 戈莱(Golay)码: (23, 12)非本原BCH码,它能纠正3个随机错码,并且容易解码 。 • 扩展BCH码(n + 1, k) : • BCH码的长度为奇数。在应用中,为了得到偶数长度的码,并增大检错能力,可以在BCH码生成多项式中乘上一个因式(x + 1),从而得到扩展BCH码(n + 1, k)。 • 扩展BCH码已经不再具有循环性。 • 扩展戈莱码(24, 12):其最小码距为8,码率为1/2,能够纠正3个错码和检测4个错码。

  49. 2PSK 汉明码(7, 4) t=1 汉明码(31, 26) t=1 扩展戈莱码(24, 12) t=3 Pe BCH码(127, 64) t=10 Eb / n0 (dB) • 几种二进制分组码的性能比较

  50. 10.6.7 RS码 • RS码:是q进制BCH码的一个特殊子类,并且具有很强的纠错能力。 • RS码的参数:码长n = q – 1,监督位数目r = 2t,其中t是能够纠正的错码数目;其生成多项式为 g(x) = (x + )(x +2) … (x +2t) 式中,为伽罗华域GF(2m)中的本原元。 • RS码的主要优点: • 它是多进制纠错编码,所以特别适合用于多进制调制的场合; • 它能够纠正t个q位二进制错码,即能够纠正不超过q个连续的二进制错码,所以适合在衰落信道中纠正突发性错码。

More Related