Chinaunix首页 | 论坛 | 博客
  • 博客访问: 175349
  • 博文数量: 48
  • 博客积分: 2085
  • 博客等级: 大尉
  • 技术积分: 420
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-20 15:22
文章分类

全部博文(48)

文章存档

2013年(1)

2012年(1)

2011年(1)

2010年(16)

2009年(29)

分类:

2010-02-25 11:05:19

码分复用(CDMA)与信道分配方法完全不同。信道分配中,有些是将信道分成频率段,对它们进行静态分配(FDM),另外的方法则是根据帧来分配信道,将整个信道静态地(具有固定时隙的TDM)。码分复用允许所有站点同时在整个频段上进行传输,多路的问时传输采用编码原理加以区分。码分复用假定多重信号是线性叠加的。
在研究码分复用的算法之前,先考虑一下信道访问的鸡尾酒会原理 : 在一个大房间里,许多对人正在交谈。TDM就是房间里有人依次讲话,一个结束后另一个再接上。FDM就是所有的人分成不同的组,每个组同时进行自己的交谈,但依旧独立。码分复用(CDMA)就是房间里的不同对的人分别用不同的语言进行交谈,讲法语的人只理会法语,其他的就当作噪音不加理会。因此,码分复用的关键就是能够提取出所需的信号,同时将其他的一切当作随机噪声抛弃。

     在CDMA中,每比特时间被分成m个短的时间段,称为芯片(chip)。通常情况下,每比特有64个或128个芯片。但在下面的例子中,为了简化问题,假定每比特有8个芯片。
  每个站点被指定一个唯一的m位的代码或芯片序列(chip sequence)。当发送比特1时,站点就发送其芯片序列,想发送比特0时,站点就发送其芯片序列的补码。除此之外,没有其他任何格式。因此,假如站点A的芯片序列被指定为00011011,发送00011011就表示发送比特1,发送11100100就表示发送比特0。
  只有在带宽增加到m倍的情况下,发送的信息量才能从b b/s增加到mb芯片/s。这使CDMA成为一种扩频方式的通信(假设调制及编码技术不变)。假如l00个站点共用1MHz的带宽,在使用FDM时传输速率为10 k/s(假定1b/比)。以CDMA方式,每个站点使用完整的1MHz的带宽,芯片速率就为1 M片/s 。假如每比特少于100片,那么CDMA中每站的有效带宽就高于FDM,于是信道分配问题也就解决了,这一点下面很快就会看到。

     为了讲解上的方便,这里采用了双极型的形式,就是二进制0由-1代替,二进制1由+1代替。书写时,将芯片序列用括号括起来,比如站点1的芯片序列为(-1-1-1+1+1-1+1+1)。图(a)中,给出了4个站点的二进制芯片序列,图(b)给出了它们的双极型形式。

A: (00011011)

B: (00101110)

C: (01011100)

D: (01000010)

A:(-1-1-1+1+1-1+1+1)

B:(-1-1+1-1+1+1+1-1)

C: (-1+1-1+1+1+1-1-1)  

D: (-1+1-1-1-1-1+1-1)    

图(a) 4个站点的二进制芯片序列 图(b) 双极性芯片序列
     每个站点都有自己唯一的芯片序列。这里用符号S来表示站点S的m维芯片矢量,-S为它的反。所有的芯片序列都是两两正交的,也就是说任意两个不同的芯片序列S和T的内标积(写为S·T)均为0。

     其正交特性是极其关键的。只要S·T = 0,那么S·-T = 0。任何芯片序列与自己的标积均为1:
     上式成立是因为内标积中的m项的每一个都为1,因此和为m。另外还要注意S·-S =-1。
  在每个比特时间内,站点可以发送其芯片序列表示发送1,可以发送其序列的反码表示发送0,也可以保持沉默什么都不干。这里假定所有的站点在时间上都是同步的。因此所有芯片序列都是在同一时刻开始。

     若两个或两个以上的站点同时开始传输,它们的双极性信号就线性相加。比如,在某一芯片内,3个站点输出+1,一个站点输出-1,那么结果就为+2。读者可把它想象为电压相加:3个站点输出电压为+1伏,另一个站点输出为-1伏,最终输出电 压就为+2V。


    要从信号中还原出单个站点的比特流,接收方必须事先知道该站点的芯片序列通过计算收到的芯片序列(所有站点发送的线性总和)和欲还原站点的芯片序列的内标积,就可还原出原比特流。假设收到的芯片序列为S,接收方想收听的站点芯片序列为C,只需计算它们的内标积S·C,就可得出原比特流。


     下面解释一下上述方法的原理。假设站点A,站点C均发送1,站点B发送0,接收方收到的总和为S=A+-B+C,计算:
  S·C = (A + -B + C) ·C=A·C + -B·C + C·C = 0 + 0 + 1 = 1
  式中的前两项消失,因为所有的芯片序列都经过仔细地挑选,确保它们两两正交,现在,你肯定已清楚,为什么要给芯片序列强加上这个条件。

    可以用另一种方式考虑一下这种情况,想像3个芯片序列是分开的,并没有进行累加。接收方分别与每一个完成内标积计算后进行累加。由于正交特性,除了C·C之外,其余的内标积全为0。累加后计算内标积和计算内标积后再累加,实际上是一回事。
  为了使解码过程更具体一些,考虑一下图(d)中的6个例子。假设接收方想从S1-S6的6个序列中还原出站点C发送的信号。它分别计算接收到的S与C向量两两相乘的积,再取结果的l/8(因为m=8),即为站点C所发送的比特值。如图所示,每个时刻的信号均被还原,如同讲法语的情况一样。

    理想状态下,无噪声的CDMA系统的容量(即站点的数量)可以任意大,就像无噪声的尼奎斯特信道在对采样使用多比特编码情况下其容量任意大一样。但在实际中,由于物理条件的限制。容量大打折扣。

 首先,这里假定所有的芯片在时间上都是同步的,但在实际中,这是不可能的。在实际应用中,发送方发送-个足够长的已知接收方可以锁定的芯片序列,使发送方和接收方同步。其他的所有传送(非同步的)都被认为是随机噪声。只要非同步传送不是太多的话,基本的解码算法的工作效果仍然相当好。关于芯片序列叠加以至成为噪声,有一大套理论(Pickholtz等1982)。大家可以推断出:芯片序列越长,正确地从噪声中探测到的可能性就越大,要获得额外的安全性,比特序列可以采用纠错码,但芯片序列却从不使用纠错码。
  上述讨论隐含了一个假定,这就是接收方从所有站点收到的功率都是同一等级的。CDMA适用的无线网系统,通常由一个基站和许多距离不等的移动站点构成。基站接收到的功率取决于发送方的远近。于是CDMA中采取了一种效果良好的试探法。每个移动站点根据它从基站收到的功率大小进行发送。收到基站信号较弱的移动站点会使用比收到较强信号时更大的功率进行发送。另外,基站也可以明确地命令移动站点增强或减小发送功率。
  另外,这里还假定接收方知道谁是发送方。理论上说,只要计算能力足够,接收方就可以同时并行地对所有站点进行解码。但是说起来容易做起来难,现实中很难实现。另外,CDMA还有许多其他复杂的因素在这里还未曾涉及。尽管如此,CDMA仍是无线移动通信中迅速发展的一种比较巧妙的方法。

阅读(2426) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~