☰
CDMA码分多址原理详解:正交码、扩频与功率控制
2026/10/15 4:48:48 网站建设 项目流程

1. 从一个"多人同时说话"的饭局说起

第一次接触码分多址(CDMA)这个概念,是在一个技术分享会上。当时主讲人问了一个问题:如果一间屋子里有十个人同时说话,你怎么保证自己能听清其中某一个人的内容?答案听起来有点反直觉——不是让他们轮流说,也不是让他们小声说,而是让每个人用不同的"语言"说。只要你的耳朵(接收端)懂得其中一种语言,就能从嘈杂的声浪里把那个人的话"过滤"出来,其他人的声音虽然物理上确实进了你的耳朵,但会被当成背景噪声处理掉。

这个类比几乎就是CDMA的核心思想。它的全称是Code Division Multiple Access,中文叫码分多址。要理解它,得先知道"多址"是什么意思——多个用户如何共享同一段频谱资源。通信领域解决这个问题有几条经典路线:频分多址(FDMA)是把频段切成一条条窄带,每人分一条;时分多址(TDMA)是把时间切成一个个时隙,每人轮流用;而码分多址走的是第三条路——所有人同时同频说话,靠"码"来区分彼此。

这篇文章想做的事情很明确:把CDMA从"考试名词"变成"你能给别人讲明白的东西"。我会从它要解决的根本问题讲起,拆开正交码、扩频、解扩这些关键机制,再聊聊它在实际系统里怎么落地、有哪些容易踩的坑。不管你是通信专业的学生、刚入行的工程师,还是纯粹好奇"为什么手机信号能这么多人共用"的普通读者,都能从里面拿到对自己有用的东西。我尽量不用公式堆砌,但该讲清楚的原理一个都不会省。

2. 为什么需要"码"来分家:多址技术的根本矛盾

2.1 频谱是有限的,用户是无限的

通信系统最底层的矛盾,说白了就一句话:能用的频谱资源是有限的,但想同时打电话、刷视频的人越来越多。一段频谱就像一条高速公路,车道数量固定,可上路的车年年增长。多址技术就是交通调度方案——怎么让尽可能多的车同时跑,还不至于堵死。

FDMA的思路最直白:把路分成几条车道,每条车道只允许一辆车跑。优点是简单,缺点是车道利用率低,一辆车占一条道,浪费严重。TDMA稍微聪明一点:所有车共用一条道,但规定好谁先跑谁后跑,按时间片轮转。问题是时间片切得再细,总有个切换开销,而且一旦某个用户没数据要发,那个时隙就空着浪费了。

CDMA的野心更大:它想让所有车同时挤在同一条道上跑,还不撞车。这听起来像天方夜谭,但数学上确实能做到——前提是每辆车发出的信号都经过一种特殊的"编码",让它们在接收端可以被区分开。这个"编码"就是码分多址里的"码"。

2.2 正交性:CDMA能成立的数学地基

CDMA能工作的根本前提,是"正交"这个概念。两个信号正交,用最通俗的话说就是:它们互不干扰,你算你的,我算我的,乘在一起积分结果为零。

打个比方。假设有两个向量,一个指向正东,一个指向正北。你把正东方向的向量投影到正北方向上,投影长度是零——因为它们垂直。正交码就是信号世界里的"垂直向量"。如果用户A用码A,用户B用码B,而码A和码B正交,那么接收端拿码A去"乘"接收到的混合信号时,用户B的信号会被积分为零,只剩下用户A的内容。

这里有个关键点很多人一开始会绕进去:正交性是在接收端"解扩"时才体现出来的,在传输过程中,所有用户的信号是实实在在叠加在一起的,物理上就是混着的。接收端之所以能分离,是因为它手里握着与发送端匹配的码。这就像你在一堆同时播放的歌曲里,只跟着某一首的节拍打拍子,其他歌的节拍对不上,自然就被忽略了。

2.3 扩频:把窄带信号"摊薄"到宽频带上

CDMA还有一个绕不开的概念叫扩频。原始的用户数据带宽通常很窄,比如语音信号只有几kHz。CDMA会用一个高速率的码序列去"乘"这个窄带信号,结果就是信号的能量被摊薄到一个宽得多的频带上。

为什么要这么做?两个原因。第一,摊薄之后,信号功率谱密度变得很低,看起来像噪声,不容易被截获,也不容易干扰别的窄带系统。第二,宽频带意味着更强的抗窄带干扰能力——如果某个频点被干扰了,损失的能量占比很小,整体信号还能恢复。

这里可以用一个生活化的类比:一勺糖放进一杯水,很甜;同样一勺糖放进一浴缸水,几乎尝不出甜味。扩频就是把"糖"(信号能量)摊到"浴缸"(宽频带)里。接收端解扩时,相当于把浴缸里的糖重新浓缩回一勺,甜味又回来了。而干扰信号因为码不匹配,不会被浓缩,始终是淡淡的背景。

3. 拆开CDMA的收发链路:从比特到空中接口

3.1 发送端:数据是怎么被"编码"上去的

发送端的流程可以拆成几步来看。第一步是信源编码,把语音或数据变成比特流。第二步是信道编码,加纠错码,提高抗干扰能力。第三步才是CDMA的核心动作——扩频调制。

具体操作是:把每个数据比特,与一个高速率的伪随机码序列(通常叫PN码或扩频码)相乘。如果数据比特是+1,码序列原样输出;如果是-1,码序列取反输出。这个"相乘"在数字域就是异或或者符号翻转,实现起来很简单。结果就是,一个原本只占一个比特时间的符号,被展开成了几十甚至几百个码片(chip)。码片速率远高于数据速率,这个比值就叫扩频因子。

每个用户分配到的码序列必须不同,而且理想情况下要两两正交。在实际系统里,常用Walsh码来做信道区分,用PN码来做小区区分。Walsh码在同步条件下严格正交,这是它被选中的重要原因。

3.2 空中接口:所有信号叠加在一起

所有用户的扩频信号在同一个频段上同时发射,空中接口上看到的就是它们的线性叠加。这时候如果你拿频谱仪去看,看到的是一片类似噪声的宽频谱,根本分不出有几个用户。这也是CDMA被称为"软容量"系统的原因——用户数不是硬性切分的,而是随着干扰增加逐渐劣化。

这里有个容易被忽略的细节:CDMA系统里,每个用户的信号对其他用户来说都是干扰。用户越多,叠加的干扰越大,信噪比越低。所以CDMA的容量不是无限的,它有一个干扰受限的上限。工程上常说的"呼吸效应"就是指这个——小区里用户多了,覆盖范围会收缩;用户少了,覆盖又会扩张。这个特性在规划网络时特别重要,后面会展开讲。

3.3 接收端:解扩与判决

接收端的动作和发送端对称。它拿本地生成的、与目标用户完全相同的码序列,去乘接收到的混合信号。因为正交性,其他用户的信号在这一步被积分为零(理想情况下),目标用户的信号则被"浓缩"回窄带。

解扩之后,信号重新变成窄带,再经过解调、信道解码,还原出原始比特。整个过程的关键在于码的同步——接收端本地码必须和发送端码在时间上对齐,哪怕错开一个码片,正交性就会被破坏,解扩增益大幅下降。所以CDMA系统里,同步和捕获是非常核心的技术模块,实际实现中会用到匹配滤波、滑动相关等方法来搜索码相位。

3.4 一个简化例子:两个用户怎么共存

假设用户A的码是[+1, +1],用户B的码是[+1, -1],这两个码正交(对应位置相乘再相加:1×1 + 1×(-1) = 0)。A要发比特+1,B要发比特-1。

A扩频后是[+1, +1],B扩频后是[-1, +1](因为B的比特是-1,码取反)。空中叠加得到[0, +2]。

接收端要解A:拿A的码[+1, +1]去乘[0, +2],得到[0, +2],相加得+2,判决为正,A的比特是+1,正确。要解B:拿B的码[+1, -1]去乘[0, +2],得到[0, -2],相加得-2,判决为负,B的比特是-1,正确。

这个例子虽然极度简化,但它把CDMA最核心的机制完整展示了一遍:正交码、叠加传输、相关解扩、符号判决。理解了这个小例子,后面所有复杂系统都是在这个骨架上加细节。

4. 工程落地时绕不开的几个硬骨头

4.1 远近效应:为什么功率控制是CDMA的命门

CDMA系统里最要命的问题叫远近效应。设想一个基站,用户A离得很近,用户B离得很远。如果两人发射功率相同,基站收到的A信号会远强于B信号。因为CDMA里所有信号共享同一频段,A的强信号会淹没B的弱信号,导致B无法解调。

解决方法是功率控制。基站要不断测量每个用户的接收功率,然后发指令让近的用户降低发射功率,远的用户提高发射功率,目标是让所有用户到达基站的功率大致相等。这个过程要快,要准,要闭环。实际系统里,功率控制分内环和外环:内环每秒调整上千次,对抗快衰落;外环根据误帧率调整目标信噪比,保证通信质量。

功率控制做不好,CDMA系统直接崩盘。这也是为什么CDMA比FDMA、TDMA复杂得多的根本原因——它把资源分配的难题从"静态切分"变成了"动态博弈"。

4.2 码资源规划:Walsh码不是无限的

Walsh码的长度决定了正交码的数量。长度为N的Walsh码,最多有N个相互正交的码。这意味着一个小区里,能同时使用的正交信道数是有限的。实际系统中,一部分码要留给导频、同步、寻呼等公共信道,剩下的才能分配给业务信道。

更麻烦的是,Walsh码的正交性只在同步条件下成立。如果多径传播导致不同路径的信号到达时间不同,正交性就会被破坏,产生多址干扰。工程上会用RAKE接收机来合并多径信号,把不同路径的能量收集起来,同时尽量恢复正交性。RAKE接收机是CDMA系统里的标志性技术,它的名字来源于它像耙子一样"耙"起多径信号。

4.3 呼吸效应与网络规划

前面提到的呼吸效应,在网络规划阶段必须认真对待。因为CDMA的覆盖和容量是耦合的——用户多了,干扰大了,边缘用户可能就掉线了。规划时不能只算"能覆盖多远",还要算"在目标用户密度下,覆盖会收缩到多少"。

实际工程中,会用链路预算来估算覆盖,用蒙特卡洛仿真来评估容量。规划人员要留足够的余量,还要设计好切换策略,让用户在小区间平滑迁移,避免某个小区过载。这些工作比FDMA/TDMA网络的规划要复杂得多,因为变量之间是相互影响的。

4.4 同步与定时:码相位错了就全错了

CDMA接收端必须精确知道发送端码序列的相位。搜索这个相位的过程叫码捕获,跟踪它的过程叫码跟踪。捕获通常用滑动相关器或者匹配滤波器,在不确定的相位范围内搜索峰值。跟踪则用延迟锁定环(DLL),不断微调本地码相位,保持对齐。

如果同步失败,解扩增益就没了,信号直接淹没在噪声里。所以同步模块的设计直接决定了系统能不能用。实际系统中,还会用导频信道辅助同步——导频是不带数据的纯码序列,接收端拿它来估计信道和同步,大大降低了捕获难度。

5. 从理论到系统:CDMA在真实网络里的样子

5.1 蜂窝网络中的码规划

在蜂窝网络里,CDMA的码分成几层。最外层是扰码,用来区分不同小区或不同基站。同一小区内,用Walsh码区分不同用户和信道。扰码通常用长PN序列,不同小区用不同的相位偏移,这样即使相邻小区用相同的Walsh码,也不会互相干扰,因为扰码不同。

这种分层设计很巧妙:Walsh码负责小区内的正交,扰码负责小区间的随机化。规划时,工程师要确保相邻小区的扰码相关性足够低,同时Walsh码的分配要避免冲突。这比单纯规划频率或时隙要复杂,因为码资源是二维的——既有正交维度,又有随机维度。

5.2 软切换:CDMA特有的优势

CDMA系统支持软切换,这是它相比硬切换的一大优势。硬切换是"先断后连",用户从一个基站切换到另一个时,先断开旧连接,再建立新连接,中间有个短暂中断。软切换是"先连后断",用户同时与两个或多个基站保持连接,直到确认新连接稳定了,才断开旧的。

软切换能实现,是因为CDMA里相邻小区可以用相同的频段,用户设备可以同时接收多个基站的信号并合并。这大大降低了掉线率,也改善了切换时的通话质量。但软切换也带来资源开销——切换期间,多个基站同时为一个用户服务,占用了更多码资源和功率。所以软切换的比例需要控制,不能滥用。

5.3 容量与干扰的权衡

CDMA的容量公式(简化版)大致是:容量与扩频因子成正比,与目标信噪比成反比,再乘以一个与干扰相关的因子。这个公式告诉我们几个重要结论:第一,提高扩频因子能增加容量,但受限于带宽;第二,降低目标信噪比能增加容量,但会牺牲质量;第三,干扰越小,容量越大。

实际运营中,运营商会在容量和质量之间找平衡点。比如在话务密集区,可能会适当降低语音编码速率,牺牲一点音质来换取更多用户。这种灵活性是CDMA的一大特点,也是它被选为3G核心技术的理由之一。

6. 实操中容易踩的坑与排查思路

6.1 功率控制参数配错导致接入失败

我见过一个案例,某测试网络里用户频繁接入失败,但信号强度显示正常。排查后发现是功率控制的初始发射功率设得太低,用户发起接入时,基站收不到。CDMA的接入过程是开环功率控制——用户根据接收到的导频强度估算路损,然后设定初始发射功率。如果这个估算偏差太大,或者参数配错,接入就会失败。

排查这类问题,第一步是看接入信道的发射功率配置,第二步是核对开环功率控制的参数公式,第三步是用信令跟踪看基站有没有收到接入前缀。很多时候问题不在射频,而在参数表里。

6.2 多径环境下的解调性能下降

在密集城区,多径效应严重,CDMA的解调性能会明显下降。RAKE接收机虽然能合并多径,但如果多径时延扩展超过了搜索窗口,或者径数太多导致合并效率低,性能就会劣化。这时候需要调整RAKE接收机的搜索窗口和指峰分配策略。

实操中,会用信道探测仪先测多径分布,再根据实测结果配置接收机参数。如果多径时延扩展特别大,可能还要考虑用均衡器辅助。这个坑在室内分布系统里尤其常见,因为室内反射多,多径复杂。

6.3 码资源耗尽引发的拥塞

Walsh码数量有限,如果业务信道分配不当,可能出现码资源耗尽但功率还有余量的情况。这时候新用户无法接入,但系统看起来"功率没满"。排查时要同时看码资源和功率资源的使用率,不能只看一个指标。

优化方法是做码资源的分级管理,把高速业务和低速业务分开,避免一个高速用户占用过多码资源。另外,可以启用码资源的动态分配,根据业务需求实时调整。

6.4 邻区干扰导致的容量下降

CDMA系统里,邻区干扰是容量下降的主要原因之一。如果邻区规划不当,比如扰码相关性高,或者切换参数配错导致用户长时间停留在干扰大的小区,容量就会受影响。排查时要做干扰矩阵分析,看哪些小区的干扰贡献最大。

优化手段包括调整天线下倾角、优化切换门限、重新规划扰码。这些工作往往需要路测数据支撑,单靠后台数据不够。

7. 我对CDMA的一点个人理解

CDMA这套东西,刚接触时觉得它反直觉——所有人同时同频说话,居然还能分得开。但把正交性、扩频、功率控制这几个概念串起来之后,会发现它的逻辑其实很自洽:用数学上的正交性换取资源分配的灵活性,用功率控制来维持这种正交性在实际信道里的有效性,用软切换和RAKE接收来对抗无线环境的恶意。

它不像FDMA那样"分得清清楚楚",也不像TDMA那样"排得整整齐齐",它更像一个动态平衡的系统,所有用户互相制约,也互相成就。这种设计哲学在通信领域影响深远,后来的OFDM、MIMO里都能看到它的影子。

如果你正在学CDMA,我的建议是别一上来就啃公式。先把这个"多人同时说话"的模型在脑子里建起来,然后拿两个正交码手算一遍扩频和解扩,再去看功率控制和RAKE接收,会发现顺畅很多。公式是描述工具,不是理解起点。真正理解了机制,公式只是把你说清楚的东西写下来而已。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询