一篇文章彻底搞懂CDM(码分复用)

1. CDM

按码字将信道划分为N个码道,并行传输N路数据,这就是码分复用CDM,如下图所示。

码分复用

2. CDMA

将N个码道动态分配给多个用户使用,就是码分多址CDMA,如下图所示。

码分多址

3. 实现

无线通信系统中CDM/CDMA的实现原理,如图下图所示。 

CDM/CDMA实现原理

 利用扩频技术,对多个用户的多路数据用不同码字进行扩频处理,即可实现CDM/CDMA。

3.1 什么是扩频

扩频就是指频谱扩展,顾名思义就是扩大信号的频谱带宽。

根据香农公式:

增大带宽B,可以在不改变信道容量的前提下降低对信噪比的要求。通过扩频可以在信号发射功率很低的情况下实现正常通信,便于隐藏自己,因此扩频通信最初被用于军事通信。

3.2 如何实现扩频和解扩

扩频:输入码流与扩频码相乘,将低速码流转换成高速码片流。

解扩:高速码片流与解扩码(与扩频码相同)相乘,求和,结果为正判决为0,结果为负判决为1,即可恢复出原始码流,如下图所示。 

输入码流为0110,扩频码为0101,将0映射为+1,1映射成-1。扩频输入和输出信号波形如下图所示。

扩频输入和输出信号

 

采用0101扩频码进行解扩,+4映射为0,-4映射为1,解扩输出:0110,如下图所示。

解扩输入和输出信号

 

3.3 如何实现码分多址

为不同用户分配相互正交的扩频码,用户数据与各自的扩频码相乘再叠加,将低速码流转换成高速码片流,到了接收端通过解扩将各自的数据恢复出来,如下图所示。

接着前面的例子,发送端使用用户A的扩频码0101对码流0110进行扩频。扩频输入和输出信号波形如下图所示。 

使用用户A的扩频码进行扩频

用户B接收到码片流后,使用自己的解扩码0011进行解扩。求和结果为0,用户B解扩无输出,如下图所示。 

使用用户B的扩频码进行解扩

如果发送端同时使用用户B的扩频码0011对码流1101进行扩频。扩频输入和输出信号波形如图9-36所示。 

使用用户B的扩频码进行扩频

用户A和B的码片流叠加结果如下图所示。 

用户A和B的码片流叠加结果

用户A解扩:输出0110,如下图所示。 

用户A解扩输出

用户B解扩:输出1101,如下图所示。 

用户B解扩输出

 3.4 Walsh码的正交性

Walsh码的正交性体现在如下两方面:

两个相同的N阶Walsh码相乘,再求和,结果为N;

两个不同的N阶Walsh码相乘,再求和,结果为0。

正是因为Walsh码的正交性,才使得:用自身的扩频码可以解扩出信号,而用其他的扩频码无法解扩出信号。

以4阶Walsh码为例:

3.5 Walsh码的生成方法

a 哈达玛矩阵

如下图所示,通过哈达玛矩阵可以很容易地由N阶Walsh码得到2N阶Walsh码。

由N阶Walsh码得到2N阶Walsh码

1阶哈达玛矩阵只有1个元素:0。由1阶哈达玛矩阵很容易得到2阶哈达玛矩阵:左上角、左下角、右上角都是0,右下角取反为1。用同样的方法可以得到4阶、8阶等哈达玛矩阵,如下图所示。 

由1阶Walsh码得到2阶、4阶、8阶Walsh码

b Walsh码树

Walsh码树中不同分支的Walsh码,不论阶数是否相同,都互相正交,如下图所示。 

Walsh码树

 

利用Walsh码树的上述特点,可以方便地实现不同阶数Walsh码的灵活分配。

不同阶数的4个正交Walsh码分配给4个用户

 

 

3.6  如何实现码同步

Walsh码的正交性有个前提:码必须是同步的,否则正交性无从谈起。如何实现码同步呢?一般使用PN码来实现。

a PN码

PN码,即伪随机码。

m序列是由n级线性移位寄存器产生的周期为2^n−1的码序列,是最长线性移位寄存器序列的简称。m序列具有很好的自相关性,一般使用m序列作为PN码。

以n=3为例,m序列的产生电路如下图所示。

m序列产生电路

假定寄存器的初始状态为:D1=0,D2=0,D3=1,输出a1=1。

第1个时钟脉冲到来后,状态演变为:D1=1,D2=0,D3=0,输出a2=0。

第2个时钟脉冲到来后,状态演变为:D1=0,D2=1,D3=0,输出a3=1。依次节拍状态如下表所示。 

寄存器状态

第7个状态又回到移位寄存器的初始状态,并不断循环。很明显,该m序列的周期为2^3−1=7,一个周期的序列为:1011100。 

b 同步原理

m序列具有很好的自相关特性,可以用来实现同步。

自相关运算过程如下:

①本地产生一个m序列。

②移动1位,与接收到的m序列逐位相乘再求和。

③移动2位,与接收到的m序列逐位相乘再求和。

④依此类推,即可得到自相关运算结果。

注:计算之前要将0映射为+1,将1映射为-1。

接着n=3的m序列的例子。

如果本地产生的序列与接收序列刚好对齐,逐位相乘再求和的结果为7,如下图所示。

本地序列与接收序列对齐

 

如果本地产生的序列与接收序列刚好对齐,逐位相乘再求和的结果为7,如下图所示。

本地序列与接收序列错开1位

 

如果本地产生的序列与接收序列错开2位,逐位相乘再求和结果为-1,如下图所示。 

本地序列与接收序列错开2位

依此类推。将所有的计算结果画到一张图中,如下图所示。 

自相关计算结果

可以发现如下规律:

如果本地产生的序列与接收到的序列刚好对齐,逐位相乘再求和的结果为:7。

如果本地产生的序列与接收到的序列没有对齐,逐位相乘再求和的结果为:-1。

根据m序列的自相关性,很容易实现m序列的同步,有了这个做基础,Walsh码的同步就不成问题了。 

4. 应用

Walsh码和PN码在CDMA系统中的应用

4.1 Walsh码

CDMA系统前向信道采用了64阶Walsh码,也就是64个64位的Walsh码,分配给导频信道、同步信道、寻呼信道、业务信道使用,如下图所示

4.2 PN码

CDMA系统中用到了周期为215-1=32 767的m序列,又称短PN序列。

导频信道的实现原理如下图所示。

导频信道实现原理框图

注:导频信道上调制的数据是全0,{_{}}^{}{W_{0}}^{64}也是全0,映射后都是+1。从中可以看出导频信道的I路和Q路传输的数据都是短PN码。 通过导频信道发送短PN序列实现终端和小区的码同步。 以64为间隔,得到512个PN偏置,用于区分不同小区。

  • 23
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值