第10章 正交编码与伪随机序列10.1 学习指导 10.1.1 要点正交编码与伪随机序列的要点主要包括正交编码的概念、常见的正交编码和伪随机序列。
1. 正交编码的概念对于二进制信号,用一个数字序列表示一个码组。
这里,我们只讨论二进制且码长相同的编码。
两个码组的正交性可用它们的互相关系数来表述。
设码长为n 的编码中码元只取值+1和-1。
如果x 和y 是其中的两个码组:x = (x 1, x 2, …, x n ),y = (y 1, y 2, …, y n ),其中,x i , y i ∈ {+1, -1},i = 1, 2, …, n ,则码组x 和y 的互相关系数被定义为2. i i 11(, ) (10-1)==∑ni x y x y n ρ如果码组x 和y 正交,则ρ(x , y ) = 0。
两两正交的编码称为正交编码。
类似地,我们还可以定义一个码组的自相关系数。
一个长为n 的码组x 的自相关系数被定义为x i i + j 11(),0, 1, , 1 (10-2)===-∑ni j x x j n n ρ其中,x 的下标按模n 运算,即x n +k ≡ x k 。
在二进制编码理论中,常采用二进制数字“0”和“1”表示码元的可能取值。
若规定用二进制数字“0”代替上述码组中的“-1”,用二进制数字“1”代替“+1”,则码组x 和y 的互相关系数被定义为(, ) (10-3)a bx y a bρ-=+ 其中,a 表示码组 x 和y 中对应码元相同的个数,b 表示码组x 和y 中对应码元不同的个数。
例如,对于4个码组:x 1 = (1,1, 1, 1),x 2 = (1, 1, 0,0),x 3 = (1, 0, 0, 1),x 4 = (1, 0, 1, 0),它们任意两者之间的相关系数都为0。
对于采用二进制数字“0”和“1”表示的码元,若用x 的j 次循环移位代替y ,就得到x 的自相关系数ρx (j )。
比如,如果一个长为n 的码组x = (x 1, x 2, …, x n ),则y = (x 1 + j , x 2 + j , …, x n , x 1, x 2, …, x j )。
根据上式计算出码组x 和y 的互相关系数就是码组x 的自相关系数。
显然,无论是采用二进制数字“0”和“1”表示的码元,还是采用二进制数字“+1”和“-1”表示的码元,互相关系数和自相关系数都是在1与-1之间取值。
若两个码组间的互相关系数ρ < 0,则称这两个码组互相超正交。
如果一种编码中任意两码组之间均超正交,则称这种编码为超正交码。
例如,对于3个码组:x 1 = (+1, +1, +1),x 2 = (+1, -1, -1),x 3 = (-1, -1, +1),由它们构成的编码是超正交码。
由正交编码和其反码构成的编码就是双正交编码。
例如,4个码组:x 1 = (+1, +1, +1, +1),x 2 = (+1, +1, -1, -1),x 3 = (+1, -1, -1, +1),x 4 = (+1, -1, +1, -1),其反码为:y 1 = (-1, -1, -1, -1),x 2 = (-1, -1, +1, +1),x 3 = (-1, +1, +1, -1),x 4 = (-1, +1, -1, +1)。
这8个码组构成的编码就是双正交编码,任意两个码组之间的互相关系数ρ为0或-1。
2.常见的正交编码 常见的正交编码有Hadamard 码矩阵、Walsh 矩阵和伪随机序列等。
Hadamard 码矩阵是法国数学家M. J. Hadamard 于1893年首先构造出来的一种方阵,仅由元素+1和-1构成,而且其任意两行(列)之间是互相正交的,简记为H 矩阵。
H 矩阵的最低阶数为2,即211 (10-4)11++⎡⎤=⎢⎥+-⎣⎦H 为了简便起见,把上式中的+1和-1简写为+和-,上式就表示为2 (10-5)++⎡⎤=⎢⎥+-⎣⎦H阶数为2k 的高阶H 矩阵从下列递推关系得出k k/22 (10-6)⊗H =H H其中,k 为正整数,⊗是直积运算。
上式的直积运算是指将矩阵H k / 2中的每一个元素用矩阵H 2代替,比如,2242222 ++++⎡⎤⎢⎥+-+-⎡⎤⎢⎥=⊗==⎢⎥⎢⎥-++--⎣⎦⎢⎥+--+⎣⎦HH H H H H H 4484244 ++++++++⎡⎤⎢⎥+-+-+-+-⎢⎥⎢⎥++--++--⎢⎥+--++--+⎡⎤⎢⎥=⊗==⎢⎥⎢⎥-++++----⎣⎦⎢⎥+-+--+-+⎢⎥⎢⎥++----++⎢⎥+--+-++-⎢⎥⎣⎦H H H H H H H H 2矩阵、H 4矩阵和H 8矩阵都是对称矩阵,而且第一行和第一列的元素全为“+”,我们把这样的H 矩阵称为Hadamard 码矩阵的正规形式,或称为正规Hadamard 码矩阵。
在H 矩阵中,交换任意两行或两列,或改变任一行或列中每个元素的符号,都不会影响矩阵的正交性质。
因此,正规H 矩阵经过上述各种交换或改变后仍为H 矩阵,但不一定是正规的了。
按照递推关系式可以构造出所有2k 阶的H 矩阵。
可以证明,高于2阶的H 矩阵的阶数一定是4的倍数。
不过,以4的倍数作为阶数是否一定存在H 矩阵,这一问题并未解决。
H 矩阵是正交方阵。
如果把其中每一行看作是一个码组,则这些码组也是互相正交的,而整个H 矩阵就是一种码长为n 的正交编码,它包含n 个码组。
因为长度为n 的编码共有2n 个不同码组,如果只将这n 个码组作为许用码组,其余(2n - n )个为禁用码组,则可以将其多余度用来纠错。
这种编码在纠错编码理论中称为Reed-Muller 码。
Walsh 函数的定义常用三角函数法、拉德马赫函数乘积表示法、Hadamard 矩阵表示法和递推公式法等。
这里介绍Walsh 函数的递推公式形式,其定义为[]/2111 wal(0, )22Others wal(, )=wal(2, )11 (1)wal ,2(1)wal ,2 (10-7)44++⎧-≤<⎪=⎨⎪⎩+⎧⎫⎡⎤⎡⎤⎛⎫⎛⎫=-++--⎨⎬ ⎪ ⎪⎢⎥⎢⎥⎝⎭⎝⎭⎣⎦⎣⎦⎩⎭q j j qt t k t j q t j t j θ其中,j = 0,1,2, …, q = 0或1,[j /2]表示j /2的整数部分。
为了便于理解,做以下几点说明:(1) 当把Wal(j , t )改成Wal(j , 2t )时,表示保持波形相对形状不变,只是将时基从-1/2 ≤ t ≤ 1/2压缩到-1/4 ≤ t ≤ 1/4;(2) 当把Wal(j , 2t )改成Wal[j , 2(t ± 1/4)]时,表示保持波形相对形状不变,只是将波形向左(对应“+”号)或向右(对应“-”号)平移 1/4。
例如,Wal(5, t )应该根据Wal(2, t )递推出来,此时,k = 5, j = 2, q = 1, [j /2] = 1。
1121Wal(5, )Wal(221, )11 (1)Wal 2, 2(1)Wal 2, 24411 Wal 2, 2Wal 2, 244t t t t t t ++=⨯+⎧⎫⎡⎤⎡⎤⎛⎫⎛⎫=-++--⎨⎬ ⎪ ⎪⎢⎥⎢⎥⎝⎭⎝⎭⎣⎦⎣⎦⎩⎭⎧⎫⎡⎤⎡⎤⎛⎫⎛⎫=+--⎨⎬⎪ ⎪⎢⎥⎢⎥⎝⎭⎝⎭⎣⎦⎣⎦⎩⎭其中,()0010Wal(2, )Wal 210, 11 (1)Wal 1, 2(1)Wal 1, 24411 Wal 1, 2Wal 1, 244t t t t t t ++=⨯+⎧⎫⎡⎤⎡⎤⎛⎫⎛⎫=-++--⎨⎬ ⎪ ⎪⎢⎥⎢⎥⎝⎭⎝⎭⎣⎦⎣⎦⎩⎭⎧⎫⎡⎤⎡⎤⎛⎫⎛⎫=+--⎨⎬⎪ ⎪⎢⎥⎢⎥⎝⎭⎝⎭⎣⎦⎣⎦⎩⎭()0110Wal(1, )Wal 201, 11 (1)Wal 0, 2(1)Wal 0, 24411 Wal 0, 2Wal 0, 244t t t t t t ++=⨯+⎧⎫⎡⎤⎡⎤⎛⎫⎛⎫=-++--⎨⎬ ⎪ ⎪⎢⎥⎢⎥⎝⎭⎝⎭⎣⎦⎣⎦⎩⎭⎧⎫⎡⎤⎡⎤⎛⎫⎛⎫=-+--⎨⎬⎪ ⎪⎢⎥⎢⎥⎝⎭⎝⎭⎣⎦⎣⎦⎩⎭前八个Walsh 函数中的任意两个函数都是正交的。
将前N 个Walsh 函数在等距的N 个点抽样,再将抽样值写成矩阵形式,即得N × N 矩阵。
例如,N = 8时,可以得到8 × 8矩阵:(10-8)++++++++⎡⎤⎢⎥----++++⎢⎥⎢⎥--++++--⎢⎥++--++--⎢⎥=⎢⎥+--++--+⎢⎥-++-+--+⎢⎥⎢⎥-+-++-+-⎢⎥+-+-+-+-⎢⎥⎣⎦W如果把Walsh 矩阵的每一行作为一个码组,就得到Walsh 编码。
3. 伪随机序列一方面,由于随机噪声的存在,通信系统的性能会变坏;另一方面,有时为了达到特殊的目的,通信系统中又需要噪声,比如保密通信中,让有用信号隐藏在随机噪声之中,以达到防止有用信号被截获。
相同的随机噪声难以重复产生,这给通信接收方造成了困难,因为难以从隐藏在随机噪声之中提取出有用信号。
后来,人们发明了伪随机序列,才使得这个难题得以解决。
伪随机序列具有类似于随机噪声的某些统计特性,同时又能够重复产生。
目前广泛应用的伪随机噪声都是由周期性数字序列经过滤波等处理后得出的。
我们将这种周期性数字序列称为伪随机序列,它有时又被称为伪随机信号和伪随机码。
常用的伪随机序列有m 序列、M 序列、二次剩余序列和双素数序列。
10.1.2 难点正交编码与伪随机序列的难点主要是m 序列的产生。
m 序列是最长线性反馈移位寄存器序列的简称,它是由带线性反馈移存器产生的周期最长的一种序列。
一般来说,希望用尽可能少的级数产生尽可能长的序列。
一个n 级线性反馈移存器可能产生的最长周期等于(2n - 1)。
这种最长的序列称为最长线性反馈移存器序列就是m 序列。
反馈电路连接方法不同,移存器产生的序列的周期长度也会不同。
一般的线性反馈移存器原理方框图如图10-1所示,其中,各级移存器的状态用a i 表示,a i = 0或1,i 为非负整数。
反馈线的连接状态用c i 表示,c i =1表示此线接通,c i =0表示此线断开。
反馈线的连接状态不同,输出序列的周期就可能不同。
图10-1 n 级线性反馈移位寄存器原理框图}根据上图,可以得到寄存器a n-1的新状态为()()()()()()()n 1n 12n-2n 11n 01n 12n 2n-110i n-i 1 = (10-9)----==⊕⊕⊕⊕=⊕⊕⊕⊕∑ni a c a c a c a c a c a c a c a a c a事实上,上式是一个递推公式。
显然,其它寄存器的新状态等于前一级寄存器的旧状态。