精简版 · 小杯2026-08 冻结,已停止更新(发布前修订了 4 处已知错误)。后续勘误与新增内容只在正式版。看正式版(中杯)→
Skip to content

CDMA码分多址 ​

考情分析 ​

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

考频:★★☆

CDMA 的基本原理 ​

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

码片序列的特性:

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

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

码片序列的规则 ​

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

规格化内积 ​

1mSi⋅Si=1

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

正交性 ​

1mSi⋅Sj=0(i≠j)

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

反码性质 ​

1mSi⋅(−Si)=−1

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

发送过程 ​

每个站在发送数据时:

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

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

接收过程 ​

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

di=1mP⋅Si

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

结果的解释:

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

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

P=d1S1+d2S2+⋯+dNSN1mP⋅Si=d1⋅1mS1⋅Si+d2⋅1mS2⋅Si+⋯+di⋅1mSi⋅Si⏟=1+⋯

由于正交性,除了 Si⋅Si=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 的数据:

18P⋅SA=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=+1⇒A 发送了 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=−1⇒B 发送了 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=0⇒C 没有发送数据

求站 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=+1⇒D 发送了 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+0−1,−1+1+0+1,−1−1+0−1,+1+1+0−1,+1−1+0−1,−1−1+0−1,+1−1+0+1,+1+1+0−1)=(−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 到 +N(N 是活跃站数)之间的任意整数。看到分量绝对值大于 1 不要惊慌,这是多个站信号叠加的结果。

本文对应考点 ​

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

真题练习 ​

相关真题(1题)