Skip to content

CDMA码分多址

考情分析

CDMA 在 408 中偶尔出现计算题,题目模式非常固定:给出若干站点的码片序列和接收到的叠加信号,求各站发送的数据。只要掌握了内积运算规则,这类题基本就是送分题。

考频:★★☆

CDMA 的基本原理

在 CDMA 系统中,所有用户在同一时间使用同一频带通信。每个站点被分配一个唯一的码片序列(chip sequence),长度为 m 位(通常 m 是 2 的幂,如 8)。

码片序列的特性:

  • 每个码片值为 +1-1
  • 任意两个站的码片序列正交

正交性是 CDMA 能工作的数学基础——正因为码片序列互相正交,接收端才能从叠加信号中"提取"出某个特定站点的数据。

码片序列的规则

假设有 N 个站,每个站的码片序列是一个 m 维向量 Si。这些向量满足以下数学性质:

规格化内积

1mSiSi=1

任何站的码片序列和自身的规格化内积等于 1。

正交性

1mSiSj=0(ij)

不同站的码片序列规格化内积为 0。

反码性质

1mSi(Si)=1

码片序列和自身反码的规格化内积为 -1。

发送过程

每个站在发送数据时:

  • 发送比特 1 -> 发送自己的码片序列 S
  • 发送比特 0 -> 发送码片序列的反码 S(每位取反,+1 变 -1,-1 变 +1)
  • 不发送 -> 发送全 0 序列

所有站的信号在信道上线性叠加。接收端收到的是所有活跃站点发送信号的逐位之和

接收过程

接收端想知道站 i 发送了什么数据,只需要计算接收信号与站 i 码片序列的规格化内积

di=1mPSi

其中 P 是接收到的叠加信号。

结果的解释:

  • di=+1 -> 站 i 发送了比特 1
  • di=1 -> 站 i 发送了比特 0
  • di=0 -> 站 i 没有发送数据

为什么这样做能得到正确结果?把 P 展开:

P=d1S1+d2S2++dNSN1mPSi=d11mS1Si+d21mS2Si++di1mSiSi=1+

由于正交性,除了 SiSi=m 外,其他项都为 0。最终只剩下 di

完整计算示例

题目

四个站 A、B、C、D 的码片序列分别为:

  • 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)

接收端收到的叠加信号为:

P=(1,+1,3,+1,1,3,+1,+1)

求各站发送的数据。

求站 A 的数据:

18PSA=18[(1)(1)+(+1)(1)+(3)(1)+(+1)(+1)+(1)(+1)+(3)(1)+(+1)(+1)+(+1)(+1)]

逐项计算:

PS_AP x S_A
-1-1+1
+1-1-1
-3-1+3
+1+1+1
-1+1-1
-3-1+3
+1+1+1
+1+1+1

求和:1+(1)+3+1+(1)+3+1+1=8

dA=88=+1A 发送了 1

求站 B 的数据:

PS_BP x S_B
-1-1+1
+1-1-1
-3+1-3
+1-1-1
-1+1-1
-3+1-3
+1+1+1
+1-1-1

求和:1+(1)+(3)+(1)+(1)+(3)+1+(1)=8

dB=88=1B 发送了 0

求站 C 的数据:

PS_CP x S_C
-1-1+1
+1+1+1
-3-1+3
+1+1+1
-1+1-1
-3+1-3
+1-1-1
+1-1-1

求和:1+1+3+1+(1)+(3)+(1)+(1)=0

dC=08=0C 没有发送数据

求站 D 的数据:

PS_DP x S_D
-1-1+1
+1+1+1
-3-1+3
+1-1-1
-1-1+1
-3-1+3
+1+1+1
+1-1-1

求和:1+1+3+(1)+1+3+1+(1)=8

dD=88=+1D 发送了 1

结果汇总

站点内积结果发送数据
A+11
B-10
C0未发送
D+11

验证

A 发送 1 -> 发送 SA=(1,1,1,+1,+1,1,+1,+1)

B 发送 0 -> 发送 SB=(+1,+1,1,+1,1,1,1,+1)

C 不发送 -> (0,0,0,0,0,0,0,0)

D 发送 1 -> 发送 SD=(1,+1,1,1,1,1,+1,1)

叠加:

(1+1+01,1+1+0+1,11+01,+1+1+01,+11+01,11+01,+11+0+1,+1+1+01)=(1,+1,3,+1,1,3,+1,+1)=P

交互可视化

下面的计算器可以输入码片序列和接收信号,自动计算各站的发送数据。

加载可视化中...

做题步骤总结

计算时建议列表格,逐位相乘后求和,减少出错概率。一道完整的 CDMA 题目计算量不大,关键是别算错符号。

易错点

1. 发送 0 不是发送全 0,而是发送码片反码

CDMA 中,发送比特 0 对应发送 S(码片序列每位取反)。只有"不发送"才对应全 0。这一点是理解 CDMA 的关键——如果发送 0 真的是全 0,那接收端就无法区分"发送 0"和"不发送"了。

2. 规格化内积要除以 m

直接点乘后的结果还要除以码片长度 m(本例中 m=8),才能得到 +1、-1 或 0。如果点乘结果是 ±m 以外的值,说明算错了。

3. 符号运算要仔细

每一步的 (+1)(-1) = -1 之类的计算看似简单,但连续算 8 次很容易出错。建议在草稿纸上用表格形式逐位计算。

4. 接收信号的值可以是任意整数

叠加信号 P 的每个分量可以是 N+NN 是活跃站数)之间的任意整数。看到分量绝对值大于 1 不要惊慌,这是多个站信号叠加的结果。

高频考点清单

  • CDMA 码片序列的正交性质(自身内积=m,不同序列内积=0,反码内积=-m)
  • 发送 1 -> 发送码片序列,发送 0 -> 发送反码,不发送 -> 发送全 0
  • 给定码片序列和接收信号,计算各站发送数据
  • 验证:将计算出的各站数据对应的码片序列相加,应等于接收信号

真题练习

相关真题(1题)

2014Q37选择题2分

CDMA 码片序列内积运算:提取特定站点发送的数据