星星之火-30:什么是WCDMA的伪随机码与扰码?
1 扰码的动机
WCDMA的正交码真正的目的不是编解码,而是为了复用与解复用。
正交码的最重要的特性是:正交码不是孤立的存在,而是与其他正交码一起存在的,正交码之间的内积为0,正交码与自身的内积不为0,与自身内积不为0。这种内积为0特性。有助于通过正交码编码、复用的复合信号中恢复出使用自身正交码编码的数据,而忽略使用其他正交码编码的数据(正交码相乘后积分值为0)。
然后,完全的正交码,有一个致命的缺点:就是N个比特的二进制码空间,虽然有2^N个二进制码,但符合两两正交的码字只有N个,比如N=8时,有64个二进制码,但两两正交的只有8个。很显然,正交码的码资源太少。
这就需要寻求一种新的方法,能够产生大量满足正交特性的或者说满足近似正交特性的码,扰码就应运而生。
扰码的码字本质上是一种伪随机序列或称为伪随机码,因此先看一下什么是伪随机序列或称为伪随机码。
2 伪随机序列
随机序列(random sequence),也称随机数列,全称随机变量序列,是由随机变量组成的数列。
这种随机序列具备两种关键的特点:
其一,序列中的每个变量都是随机的;
其二,序列本身就是随机的。
3 伪随机码
伪随机是每个变量的数值是二进制的伪随机序列,它是具有类似于随机序列基本特性。由于每个随机变量的取值是二进制,因此具备了一些特有的、新的特征:
(1)在序列中“0”和“1”出现的相对频率/比例各为1/2。当位数是偶数时,0和1的个数相等,当位数是奇数时,0和1的个数相差为1
(2)序列中连0或连1称为游程连0或连1的个数称为游程的长度,序列中长度为1的游程数占游程总数的1/2;长度为2的游程数占游程总数的1/4;长度为3的游程数占游程总数的1/8;长度为n的游程数占游程总数的1/2n(对于所有有限的n)。此性质我们简称为随机序列的游程特性。
(3)如果将给定的随机序列位移任何个元素,则所得序列的和原序列的对应的元素有一半相同,一半不同。
4 扰码的原理
扰码是一种编码方法,最初的作用是通过某种编码,使得目标二进制序列尽可能的随机,然后通过解扰,从随机序列中恢复出原先的二进制码。
扰码也是一种取值范围是1和-1的二进制伪随机码。由于把0变成了-1,取值为【-1,1】扰码相对于取值为【0,1】的伪随机码,又具备了一些新的特征:
扰码之间,其实两两并不正交,也就是说扰码间的内积并不严格的为0。但扰码的随机特性,使得扰码的内积值近似为0的,这种特性使得扰码近似“正交”。
在数字通信中,逻辑信号是电平信号,即使是不为0的电信号,只要其数值足够的小,数值接近于0,也会被判为0,这就使得把扰码近似当成正交码使用提供了可能!
我们不妨通过回答如下的几个问题,进一步的解读扰码为什么具备“近似正交码”的特性。假设扰码的长度为N。
(1)为什么说随机性的码字之间是不相干的?是近似正交的?
由于每个扰码是随机码,直观的理解,任意两个随机码是不相关的,也就是说两个随机码,按位相乘后,还是一个随机码。
(2)为什么说随机性的扰码自身各个比特相加近似为0?
假设扰码的位数N是偶数,N值越大,扰码的随机性越大,扰码中1和-1各自的占比越接近50%,各自的个数相差越接近0,因此扰码自身各个比特相加后的值越有可能是0。
假设扰码的位数N是奇数,N值越大,扰码的随机性越大,扰码中1和-1各自的占比越接近50%,各自的个数相差越接近1或-1,因此扰码自身各个比特相加后的值越有可能是1或-1。
(3)为什么说随机性的扰码之间内积也是近似为0呢?
由于两个不相干的随机码,按位相乘后的二进制码还是随机码,而随机性的扰码自身各个比特相加近似为0。
因此说随机性的扰码之间内积也是近似为0,因此任意两个扰码“近似正交”!
(4)为什么说随机线性的扰码与自身的内积不为0?
这其实很容易理解,任意随机数,虽然每个比特位是随机的,但每个比特与自身相乘总是为1,
比如任意比特的随机值为1,该位与自身相乘为1 * 1 =1. 如果该位随机值为-1, 该位与自身相乘为-1 * -1 还是1.
因此任意N位的随机码,与自身内积的值为N。
实际上,任意N位的由【-1,1】组成的二进制序列,其内积肯定是N, 不管这个二进制序列是否是随机!
如:
1 -1 1 -1 -1 1 1 -1 1 -1 。。。。。。
x
1 -1 1 -1 -1 1 1 -1 1 -1 。。。。。。
= 1 1 1 1 1 1 1 1 1 1
=>累加后等于N.
5 扰码的缺点
因为扰码间不是真正正交的,因此扰码会引入噪声,噪声的大小,与扰码的位数相关,比特越短的扰码,扰码内积和就越大,引入的噪声越大,扰码越长,扰码的内积和越小,引入噪声越小。
因此扰码的位数不能太短。