Spreading and modulation in WCDMA

WCDMA

在 Universal Mobile Telecommunications System (UMTS) 中

UMTS Terrestrial Radio Access Frequency Division Duplex (UTRA-FDD)

也被称作 WCDMA

 

Spreading and modulation 由一个 correlation pool 来实现

 

Correlation pool 原理

CP

Chip, Symbol and Spreading factor

这个 Chip 和 Symbol 还有 Spreading factor (SF) 有关系

具体来说就是 一个单位信息 Symbol 由 SF 个 Chip 组成

而这个 SF 只可能是 2 的整数次幂 (2, 4, 8, 16, 32 …)

对于上边这个图来说 每一个 Chip 都是 一个 12 位的复数

其中 6 位实部 6 位虚部

 

OVSF  code

这个码是为了 区分传输设备和传输用户的

Orthogonal variable spreading factor (OVSF) 就是 Walsh code

一个OVSF code 的长度 和 SF 相等

具体的样子如下图所示

如何得到 OVSF code 或者 说是 Walsh code?

用 MATLAB 中的 Hadamard(u) 可以直接得到 长度为 u x u 的 Hadamard matrix 

原理 (我自己想的), OC = OVSF code

Walsh code generation

其中 BITWISE_NOT(OC) 是对 OC 的每一位取反

比如 OC = 1, 1, 1, 1 那么 BITWISE_NOT(OC) = –1, –1, –1, –1

再如果 Temp = 1, 1, 1, 1 那么 OC + Temp = 1, 1, 1, 1, 1, 1, 1, 1

 

假设 SF = 8 我们需要得到 第 X 个 OVSF code OC

OC = OC0, OC1, OC2, OC3, OC4, OC5, OC6, OC7

因为 X 只有 0-7 所以 可以用三位的二进制数表示

X = X[0], X[1], X[2] 其中 X[0]是最高位

首先 OC[0] 必然是 1

之后 如果 X[0] = 0 那么 OC[1] = 1

反之如果 X[0] = 1 那么 OC[1] = –1

之后 如果 X[1] = 0 那么 OC[2]OC[3] = OC[0]OC[1]

反之 如果 X[1] = 1 那么 OC[2]OC[3] = BITWISE_NOT(OC[0]OC[1])

之后 如果 X[2] = 0 那么 OC[4]OC[5]OC[6]OC[7] = OC[0]OC[1]OC[2]OC[3]

反之 如果 X[2] = 1 那么 OC[4]OC[5]OC[6]OC[7] = BITWISE_NOT(OC[0]OC[1]OC[2]OC[3])

 

总之就是 1 取反 0 复制

 

Scrambling code

这个码也是为了 区分传输设备和传输用户的

具体信息请看 3GPP上的标准

这个码是 38400 个 1位 复数

产生逻辑由俩个 25 位的 shift register 和若干 XOR 组成

一个 shift register 输出 实部 一个 shift register 输出 虚部

改变这两个 shift register的值 就可以改变得到 Srambling code

初始的时候 第二个 shift register 的值全设为 1

通过 第一个 shift register 来控制 Scrambling code 的产生

对于每一个用户来说都有 一个 OVSF code 和一个 Scrambling code

这两个码来区分用户与用户 这也是 Code division multiple access (CDMA) 名字的由来

 

User

假设我们有 3个用户 如下图所示

User

对于每一个用户 起始时间 也就是 读 buffer 的 start address

由于进入buffer的 chip 是以 4x chip rate 进入的

所以 读取buffer的时候 要每 4 个 chip 读一个

比如 起始地址是 5

那么第一个 chip 的位置是 5

第二个 chip 的 位置是 9

buffer 的大小 由用户的最大延迟来决定

 

User, OVSF code and Scrambling code

从内个 3GPP上的标准 来看 对于 radio access network 来说

SF = 256, OVSF code length = 256, Scrambling code length = 38400

对于每一个用户来说 都会被分配一个 OVSF code OC 以及一个 Scrambling code SC

i = [0, 256]

Result = ΣChip[i] * (OC[i] XOR SC[i])

Scrambling code length = 38400 也就是说 Result 有 150个

这个也是标准 就不说为什么了

posted @ 2011-02-24 22:43  Zeicold  阅读(566)  评论(1编辑  收藏  举报