Appearance
题目
站点 A、B、C 通过 CDMA 共享链路,A、B、C 的码片序列(chipping sequence)分别是(1, 1, 1, 1)、(1, -1, 1, -1)和(1, 1, -1, -1)。若 C 从链路上收到的序列是(2, 0, 2, 0, 0, -2, 0, -2, 0, 2, 0, 2),则 C 收到 A 发送的数据是( )。
错因
A
可能算内积时全部得 0,误以为 A 没发送任何数据(即 000)。但实际算出第一组内积 = 4 ≠ 0,A 是有发送的。错的根源:码片相乘时把符号或位置搞错,凑出全 0。
C
可能正确算到第 1 组(A 发 1)和第 3 组(A 发 1),但第 2 组算错(应是 -4 → A 发 0,错算成 +4 → A 发 1)。错的根源:内积时漏算负号或求和算错。
D
可能算到三组都得 +4 → A 全发 1。但实际第 2 组得 -4 → A 发 0。错的根源:把"符号反转"等同于"忽略",看到负数就当正数处理。
总解析
第一步:理清 CDMA 解码原理
CDMA 用"正交码片"实现多站共享同一物理介质——每站有一个长度 的码片序列。
- 发送方:要发比特 1 时,发出该站的码片序列;发 0 时发码片序列取反;发"无"时发 0
- 接收方:把链路上接收到的混合信号按 个 chip 一组切分,每组与目标站的码片做内积 / m:
- 内积 = +1 → 该站发送了 1
- 内积 = -1 → 该站发送了 0
- 内积 = 0 → 该站没发送
第二步:把链路序列切成 4 chip 一组
题面 12 个 chip → 切成 3 组 = 3 个 bit:
| 组 | chip 序列 |
|---|---|
| 第 1 bit | (2, 0, 2, 0) |
| 第 2 bit | (0, -2, 0, -2) |
| 第 3 bit | (0, 2, 0, 2) |
第三步:用 A 的码片 (1, 1, 1, 1) 做内积 / 4
| 组 | 内积计算 | 内积 | 内积 / 4 | A 发的 bit |
|---|---|---|---|---|
| 1 | (2, 0, 2, 0) · (1, 1, 1, 1) = 2+0+2+0 | 4 | +1 | 1 |
| 2 | (0, -2, 0, -2) · (1, 1, 1, 1) = 0+(-2)+0+(-2) | -4 | -1 | 0 |
| 3 | (0, 2, 0, 2) · (1, 1, 1, 1) = 0+2+0+2 | 4 | +1 | 1 |
A 发送的数据 = 1, 0, 1,即 "101"。
第四步:核对
最终答案是 B(101)。
编者注(生僻术语):CDMA 解码用的是码片正交性——A、B、C 三站的码片两两内积 = 0:
- A · B = 1·1 + 1·(-1) + 1·1 + 1·(-1) = 0 ✓
- A · C = 1·1 + 1·1 + 1·(-1) + 1·(-1) = 0 ✓
- B · C = 1·1 + (-1)·1 + 1·(-1) + (-1)·(-1) = 1-1-1+1 = 0 ✓
所以 A 在解码时只能"听到"自己——B、C 信号的内积全为 0、不会干扰 A 解码。这是 CDMA 多站共享同一频段不互相干扰的原理(与 FDMA 分频段、TDMA 分时隙是不同的多路复用方式)。