在信息论与编码这个系列里,最容易让人“卡在理论和工程之间”的指标,就是标题里说的峰值信道比。它更常见的名字叫 PAPR(Peak-to-Average Power Ratio),中文规范说法叫峰值平均功率比,也有不少人直接叫峰均比。简单说,它回答一个问题:一个已调信号,瞬时功率最高点比平均功率高了多少倍。这个问题在教科书里很少被认真讨论,但在真实发射机上,它几乎决定了射频功放能不能正常干活。
我之前在一个 OFDM 收发链路的 Demo 上折腾过很长时间,一开始只盯着误码率、频谱效率这些“论文指标”,后来被发射机输出信号的相邻信道泄漏和功放效率反复教育,才真正把 PAPR 当回事。它不是什么高不可攀的数学工具,而是从功率放大器非线性里长出来的信道输入约束。信息论喜欢讨论平均功率约束下的信道容量,射频器件却只认瞬时峰值。两者之间如果没有一座桥,系统设计就会在论文里运行良好、在实验室里冒烟。
这篇文章适合三类人看:一是学信息论与编码,想知道定理和实际波形之间差在哪的人;二是做 OFDM 收发链路、被发射机 EVM 和相邻信道泄漏指标逼疯的工程师;三是刚接触无线通信物理层,想弄明白为什么发端总要加一堆降峰均比算法的同学。我会把概念、数学定义、信息论层面的代价,以及几种常见降 PAPR 方案的实测经验一次性讲透。
1. 峰值信道比到底是什么:从比特到射频前的最后一米
1.1 编码器输出的是比特,功放看到的是包络
很多资料把 PAPR 当成纯粹的射频指标来讲,这是对的,但也很容易忽略一个事实:它从数字基带就埋下伏笔。
发射链路前面一大串操作——信源编码、信道编码、交织、星座映射——最终都会变成一串复数符号。等这些符号进入 OFDM 调制器,经过 IFFT 变成时域波形之后,射频前端看到的就不再是“0 和 1”,而是一条随时间起伏的包络。这条包络的瞬时幅度到底能冲到多高,完全取决于前面那些符号在频域里是怎么组合的。
OFDM 的本质是把高速数据流拆成 N 路低速子载波并行发送。每一路子载波有自己的幅度和相位,在频域上互不干扰,但在时域上,它们只是 N 个复数正弦波的叠加。只要有一瞬间这 N 个正弦波的相位恰好对齐,叠加出来的瞬时幅度就会接近 N 倍单个子载波幅度。相位完全对齐的概率很低,但低概率事件在足够多的 OFDM 符号里一定会出现。系统设计时不能赌“概率低就不管”,因为功放一旦碰到这个尖峰,输出就会被削平或者产生严重非线性失真。
所以 PAPR 不是某个模块的问题,而是整个链路设计需要共同面对的约束。信道编码决定了频域符号的统计特性,映射方式决定了星座点的幅度分布,IFFT 决定了时域波形是否容易冒尖。换个说法:只要你在做多载波传输,PAPR 就天然存在。
1.2 PAPR的数学定义与10log10那一下
PAPR 的定义非常直白。对一个长度为 N 的 OFDM 符号,时域采样序列记为 x[n],那么平均功率是所有采样点功率的平均值,峰值功率是所有采样点功率的最大值。比值就是:
PAPR = max |x[n]|² / E[|x[n]|²]
也就是峰值功率除以平均功率,最后习惯用 dB 表示:10log10(PAPR)。如果把 PAPR 开根号,就得到另一个常用指标 Crest Factor(峰值系数),它说的幅度意义上的峰值。
为了让你对数值有直观感觉,可以做一个最粗糙的边界估算。假设每个子载波幅度都是 1,如果某个时刻所有子载波恰好同相,时域峰值幅度就是 N,峰值功率是 N²,平均功率是 N(N 路子载波各贡献 1 份功率),于是 PAPR = N,换算成 dB 就是 10log10(N)。64 个子载波的系统,理论上最极端 PAPR 是 18dB;1024 个子载波能到 30dB。真实 OFDM 符号不会这么疯,因为所有子载波同时同相的概率接近零,但即便按统计分布看,64 个子载波时 PAPR 超过某门限的概率也不能忽略。
另一个容易踩的坑是:数字域算出来的 PAPR 只是采样点上的 PAPR,而真实模拟波形在两个采样点之间可能还有更高的尖峰。所以工程测量和仿真时,通常要对时域信号做至少 4 倍过采样,否则测出来的 PAPR 会偏乐观。这个细节后面单独说。
1.3 为什么OFDM天生就容易“冒尖”
很多人会问:单载波系统是不是就没有 PAPR 问题?答案没有那么绝对。理想恒包络调制,比如理想方波脉冲下的 QPSK,包络恒定,PAPR 接近 0dB。但一旦加入脉冲成型滤波,单载波信号也会有包络起伏,只是起伏通常很小。OFDM 不一样,它由大量独立子载波叠加,时域信号幅度分布会趋近高斯分布。
高斯的含义是什么?绝大多数时间信号幅度都不大,但尾巴很长。也就是说,偶尔会出现一个很大的瞬时幅度。这就是 OFDM 高 PAPR 的根本原因——不是某个星座点设计得不好,而是统计上必然出现的“长尾效应”。生活化类比:一个班考试,单科成绩均匀分布时,最高分不会比平均分高太多;如果是很多门独立科目叠加成总分,总分的分布就会接近正态,偶尔出现一个所有科目都发挥极好的学生,这个极端值会比平均分高出很多。OFDM 的每路子载波就是一门“科目”。
从编码角度来看,这也解释了为什么“随机产生的 OFDM 频域符号”会带来高峰均比,而某些精心构造的码字却能天然压低峰均比。信息论告诉我们,随机性帮助逼近信道容量;工程却要约束随机性,避免产生极端波形。两者之间的取舍,是后面所有降 PAPR 技术的核心。
2. 信息论怎么看峰值信道比:平均功率约束之外的事
2.1 教材里的容量公式,悄悄绕过了峰值约束
经典高斯信道容量公式里,约束条件写的是平均功率不超过 P。香农把发射机建模成一个“平均功率受限”的信源,然后推导出容量。这个建模非常优雅,因为平均功率约束下,高斯输入本身就是最优的,容量表达式也简洁。
但回到真实发射机,功率放大器不是看平均功率工作的。它有一个最大瞬时输出电压,超过这个值,输出就不再线性。更准确地说,功放有一个“饱和点”,信号瞬时功率靠近甚至超过饱和点时,增益压缩、相位失真、带外泄漏全部涌出来。为了让信号始终工作在近似线性区,发射机必须把平均功率往下压,留出足够的“回退”空间。
很多学信息论的同学第一次看这个差距时会觉得别扭:为什么定理用平均功率,工程却用峰值功率?原因并不复杂。香农的容量讨论的是“信息论意义下的可达速率”,它假设理想线性信道;而射频功放是物理器件,物理器件的非线性决定了瞬时峰值才是硬约束。平均功率约束是数学简化,峰值功率约束才是物理现实。
信息论当然也研究过峰值约束。在平均功率约束和峰值幅度约束同时存在时,高斯信道容量没有简洁的闭式解,最优输入分布会偏离高斯分布,甚至在一些条件下变成离散分布。这不是理论没做到,而是结论本身就预示着:工程上为压制 PAPR 做的各种努力,本质是在寻找一种“近似满足峰值约束、又尽量不损失容量”的信号设计。
2.2 加了峰值约束之后,容量问题的画风就变了
讨论平均功率约束时,输入信号可以看成一个连续高斯随机变量,数学分析顺滑。一旦加上峰值幅度约束,允许的输入集合变成一个“截断”空间。最优输入分布不再连续,容量上界和可达速率的关系需要更精细地讨论。对工程实践来说,更重要的是另一个方向:实际波形如果 PAPR 太高,系统会怎么损失?
最直接的损失是平均发射功率下降。假设功放饱和输出功率固定为 P_sat,信号 PAPR 为 γ(线性值),为了不削波,平均输出功率最多只能做到 P_sat / γ。也就是说,PAPR 越高,实际能辐射出去的平均功率越低。接收端的信噪比直接跟着掉。这个损失不是猜想,而是功率回退带来的必然结果。
用 dB 算更直观。PAPR 从 7dB 增到 10dB,意味着同样的饱和功放下,平均功率要在已有回退基础上再多压 3dB。3dB 是什么概念?在误码率曲线上往往能换来一个数量级的性能变化。基站侧还可以靠更大功率功放硬扛,手机侧呢?功放面积、功耗、散热的限制都很苛刻,所以终端侧对 PAPR 尤其敏感。
换个角度来看,PAPR 本质上是对“平均功率容量公式”的一种修正项。容量公式里的 P,不是功放饱和功率 P_sat,而是“能保证线性度的那部分功率”。把 P_sat 减去 PAPR 的回退量,得到真正能用于传输的 P_eff,此时的 SNR 才是系统能实际拿到的 SNR。这套视角能很好地统一信息论和射频工程:信道容量要的是平均功率,物理层要的是峰值约束,最终能用的平均功率由两者共同决定。
2.3 高PAPR的真实代价:把平均发射功率压回好几dB
我经常用一个简化公式估算功率损失:平均功率回退量 ≈ PAPR + 额外线性度余量。其中额外线性度余量取决于功放的非线性程度和系统对 EVM、相邻信道泄漏的要求。PAPR 本身已经足够让人头疼,再加上功放的非线性,系统设计时给的功率回退往往比 PAPR 还大几个 dB。
这在链路预算里非常致命。比如某 OFDM 符号的统计 PAPR 是 10dB,功放饱和功率是 30dBm,那么理想情况下平均输出功率最多 20dBm。如果接收灵敏度要求 10dB SNR,带宽资源也固定,那链路能拉多远就基本被这个 20dBm 锁死了。你当然可以换更贵的功放,但通信系统是量产设备,成本敏感。所以每一分 PAPR 优化,最后都直接转化为发射功率效率、覆盖范围或者硬件成本的收益。
这也解释了为什么降 PAPR 技术在现代通信里这么重要。它不是“锦上添花的数字信号处理”,而是能实实在在改变系统经济性的关键技术。信息论给了我们容量上限,射频给了我们硬件上限,PAPR 优化就是在这两个上限之间寻找更有利的工作点。
3. 降PAPR实操:削波、SLM、PTS和编码方案怎么选
3.1 削波滤波:最直接,但别把EVM搭进去
降 PAPR 的第一反应基本是削波:把时域信号幅度超过设定门限的部分直接压到门限,相位保留。门限越低,PAPR 降得越狠,但削掉的幅度变成了失真,接收端看到的星座点会“散开”,EVM 恶化,误码率上升。削波还会在频域产生带外泄漏,也就是相邻信道干扰。
所以单纯削波不够,后面一般跟一个滤波。工程上常用“迭代削波滤波”:削波→频域滤波→再削波→再滤波,循环两三次。每一次滤波会把削波产生的带外分量压回去,但滤波本身会让时域波形出现“峰再生”,所以需要反复迭代。实际测试中,迭代两到三次后增益就饱和了,继续增加只会白白增加延迟和计算量。
削波阈值怎么定?不能拍脑袋。我的做法是:先统计未处理信号的 PAPR CCDF 曲线,找到目标工作点(比如 0.1% 概率对应的 PAPR 是 11.5dB),然后选一个削波门限,把曲线的这个概率点压到系统允许的 PAPR 目标,再仿真 EVM 是否满足星座模板。实测下来,如果 EVM 预算是 3%,削波门限可以设得比较激进;如果系统对误码率要求极高,门限就要放宽,或者换用更温和的方案。
3.2 SLM和PTS:用冗余换概率,适合信号处理跑
削波是“伤害式”的,SLM(选择映射)和 PTS(部分传输序列)则是“回避式”的。思想都一样:同一个数据符号先用多种方式“变一下相位/组合”,生成多个候选时域波形,选 PAPR 最小的那个发出去。接收端只要知道发端用了哪种变换,就能还原数据。
SLM 的做法很直接。生成 U 组相位序列,每组长度等于子载波数 N。频域符号 X 与每一组相位序列逐点相乘,得到 U 个备选频域符号,分别 IFFT,挑 PAPR 最低的那路发。代价是计算量乘 U,并且必须告诉接收端“我选的是哪一组”。边信息量大约是 log2(U) 比特。U=16 时,常见的 OFDM 系统能把 PAPR 降 2~3dB,效果明显。
PTS 更讲究一些。它把 N 个子载波分成 V 个连续块,每块分别做 IFFT,再把每个块乘一个旋转相位后相加。相位组合是有限集合(通常取 {±1} 或 {±1, ±j}),搜索所有组合找最小 PAPR。V=8、二进制相位时,组合数是 2^(V-1)=128,搜索量不大。但 V 增大到 16 后,组合数会爆炸到 3 万多,直接遍历就慢了。工程上常用两阶段搜索或限制候选集,在性能和复杂度之间折中。
这两个方案最大的问题是:需要额外的边信息开销。边信息一旦传错,整个 OFDM 符号都解错,比削波带来的平滑失真更致命。实际系统中,要么给边信息加信道编码,要么做“无显式边信息”的盲检测,但这会进一步增加接收端复杂度。所以我个人习惯是:如果系统里已经有很强的信道编码,边信息可以用编码保护;如果没有,优先考虑下面这类编码域方案。
3.3 编码域方案:Golay互补序列与RM码
从信息论与编码的角度看,降 PAPR 还可以直接在码字空间做文章。核心思想是:不是随便什么码字都允许发送,而是只发送那些“时域叠加后不容易冒尖”的码字。
最有名的一族是 Golay 互补序列(Golay Complementary Sequence)。两个长度相同的序列 a 和 b,如果它们的非周期自相关函数在任意非零时延处相加等于零,就构成一对 Golay 互补对。这个性质反映到时域包络上,会让对应 OFDM 符号的 PAPR 有严格上界,通常可以做到不超过 3dB。
更妙的是,Golay 互补序列和编码理论有明确联系。里德-穆勒码(Reed-Muller code)的一部分码字正好可以映射成 Golay 互补序列。也就是说,你可以在做信道编码的同时,把“低 PAPR”作为码本筛选条件,一个环节同时拿到编码增益和 PAPR 约束,不需要额外边信息。接收端只需要做正常译码,因为码字集合是收发双方都已知的。
这类方案的缺点是码率损失。为了凑出低 PAPR 的码字空间,原始信息比特到星座符号的映射效率会下降。具体降多少取决于子载波数、调制阶数和编码约束。实际系统通常不会只靠编码域方案,而是把编码域约束和 SLM/PTS 这类信号处理方案组合使用,各取所长。
3.4 实测对比表:先定目标再看方案
我在一个 64 子载波、QPSK 调制、符号数 1 万个的仿真模型里做过一组简单对比。初始统计 PAPR(0.1% 概率点)大约是 11.8dB。几种方案的典型结果如下:
| 方案 | 典型PAPR降幅 | 主要副作用 | 复杂度 | 需要边信息 |
|---|---|---|---|---|
| 削波+滤波(迭代2次) | 3~5dB | EVM恶化、带外泄漏需滤波 | 低 | 否 |
| SLM(U=16) | 2~3dB | 计算量×U、边信息开销 | 中 | 是 |
| PTS(V=8,二进制相位) | 2~4dB | 128次组合搜索 | 中高 | 是 |
| Golay互补序列编码 | 固定≤3dB | 码率损失 | 中高 | 否 |
这个表不是让你直接抄,而是说方案选择高度依赖系统约束。如果 EVM 预算很紧,但计算资源够,SLM 或 PTS 更稳;如果系统本来就要用强信道编码,那就优先看看编码域有没有低 PAPR 的码本结构;如果是低成本物联网设备,削波滤波是最便宜的方案,只要把门限和迭代次数调好,依然能过认证测试。
切记:降 PAPR 不是越低越好。把 PAPR 压到 3dB 以下,往往要牺牲码率或容忍明显失真,最终可能在接收端把损失的性能又还回去。工程目标永远是“在满足发射模板和 EVM 的前提下,尽量提高平均功率效率”。
4. 常见问题与排查技巧实录
4.1 为什么测出来PAPR和仿真对不上:过采样、窗函数和CCDF样本量
很多人第一次做 PAPR 仿真时会遇到一个问题:代码里把 OFDM 符号做 IFFT,然后算 PAPR,结果比论文里的 CCDF 曲线低很多。这不是算法错了,而是采样率不够。
IFFT 直接输出的采样点只在原始符号速率上,瞬时峰值可能刚好落在两个采样点中间,数字域根本采不到。正确做法是对频域符号做零填充后再 IFFT,相当于在时域做插值,通常要 4 倍以上过采样。过采样后的 CCDF 曲线会比不过采样时往右移,也就是 PAPR 偏高,但这才是更接近真实模拟波形的结果。
另一个常见原因是窗函数。OFDM 符号为了提高频谱效率,经常会加窗或做符号边缘的循环前缀成型。加窗会在时域上展宽或平滑边缘,如果处理不当,会让统计出来的 PAPR 发生偏移。仿真时要把实际发射链路里的窗函数也建模进去,否则仿真值和示波器测到的值永远对不上。
最后是样本量。PAPR 本来就是统计量,单个 OFDM 符号的 PAPR 没有多大意义。画 CCDF 曲线至少用 1e5 个符号,目标概率点越低,需要的样本越多。不然你在 1e-4 概率点上看到的曲线全是毛刺,根本没法判断方案好坏。
4.2 降PAPR之后误码率反而变差,到底哪里出了问题
这是最典型的事故现场。SVM/SNR 看着挺好,PAPR 也确实降下来了,但误码率曲线比预期差一截。通常跑不出下面几个原因。
第一,削波产生了带内噪声,EVM 恶化但没有立刻体现在“平均 SNR”上。如果你用 EVM 近似等效 SNR,会发现自己高估了系统性能。削波引起的失真不是高斯噪声,它和信号本身相关,不能简单当成白噪声处理。要严格验证,就得看星座图上的聚类是否出现径向压缩和散斑。
第二,SLM/PTS 的边信息出错了。边信息本身没有保护时,在信道里翻转一位,接收端用了错误的相位去旋转,整个符号全部错乱。这种错误不会像普通误码那样平滑地随信道变化,而是突然出现“错误地板”。排查时先看边信息译码是否可靠,如果有问题,优先给边信息加保护。
第三,PTS 的相位搜索只以 PAPR 为目标,没有考虑发射信号频谱。某些相位组合把 PAPR 压得很低,但频谱旁瓣再生严重,接收端滤波后信噪比恶化。这时要做的不只是看 PAPR,还要看滤波后的频谱和 EVM。降 PAPR 方案要和发射滤波器联合优化,不能分头调。
4.3 几分钟定位问题的速查表
| 现象 | 常见原因 | 处理思路 |
|---|---|---|
| 仿真PAPR比实测低 | 过采样不足/未建模窗函数 | 用4倍以上过采样,加入完整发射链路模型 |
| CCDF曲线毛刺多 | 样本量不足 | 至少跑1e5个符号 |
| 削波后ACLR超标 | 带外分量滤除不干净 | 加迭代削波滤波,检查滤波器阶数 |
| 误码率出现平层 | 边信息未保护/失真非高斯 | 检查边信息BER,改用编码域方案 |
| PTS搜索太慢 | V过大/候选组合爆炸 | 两阶段搜索、限制相位候选集 |
| 降PAPR后频谱效率下降 | 码率损失过大 | 与SLM组合使用,或在纠错编码外设计低PAPR码字 |
排查的顺序我建议固定:先确认仿真模型和实际链路一致,再看统计量是否可信,然后看 EVM、频谱、误码率三件套,最后才动算法参数。很多人一上来就换算法,结果把真正的问题掩盖了。
5. 几次调链路之后,我想留一句经验
PAPR 这个指标很特别,它不写在香农容量公式里,却无时无刻不在限制容量公式里的那个 P 到底能用多少。我做了几轮 OFDM 链路调试后最大的体会是:不要把 PAPR 当成一个孤立数字去“追低”,而是要把平均功率回退量、EVM、频谱泄漏、码率损失放在同一张表里权衡。
一个小技巧是,每次改完降 PAPR 方案,先别急着看曲线好不好看,把“发射功率回退 + 接收端等效信噪比损失”合并成一个总预算。比如削波把 PAPR 从 11dB 降到 8dB,但如果 EVM 代价等效成 1.5dB SNR 损失,那实际收益只有 1.5dB;而 SLM 如果只降 2dB 但 EVM 几乎不动,收益反而更大。这种“总预算”思维,比单独比较 PAPR 数字要实用很多。
如果不确定从哪开始,我的建议是先做一个 4 倍过采样的 CCDF 统计,把自己系统真实的初始 PAPR 搞清楚,再决定要不要上编码域方案,还是削波滤波就能满足模板。绝大多数系统里,方案混搭比单靠某一种更划算。希望这篇信息论与编码篇的峰值信道比总结,能让你少走几个 IFFT 之后的弯路。