2. 通信系统基础与链路预算

各位同学,今天我们来聊聊通信系统里最基础、也最绕不开的一块内容——数字通信模型、调制解调,还有链路预算。说实话,这部分内容看起来像是课本上的公式堆砌,但在我十几年的芯片设计生涯里,几乎每个项目都要跟它打交道。你想想看,如果连链路预算都算不清楚,那芯片做出来要么性能过剩浪费面积,要么根本解不出信号,直接流片打水漂。

2.1 数字通信模型:从发端到收端

我们先从最经典的数字通信模型说起。我个人习惯把它拆成三个环节:发端处理、信道传输、收端恢复。

发端这边,信源编码把模拟信号变成比特流,然后信道编码加上冗余(比如卷积码、LDPC),再经过调制映射成符号。调制这一步,说白了就是把比特“装”到载波上。我见过不少刚入行的工程师,觉得调制就是查表映射,其实没那么简单——你还要考虑峰均比、相位噪声的影响。

信道传输这块,最让人头疼的就是噪声和衰落。我记得有一次做卫星通信芯片的仿真,信道模型里忘了加多径效应,结果仿真结果漂亮得很,一上实测平台直接翻车。嗯,这里要注意:信道模型一定要贴近实际场景,别偷懒用理想AWGN(加性高斯白噪声)通道糊弄过去。

收端这边,同步、解调、译码,每一步都有坑。尤其是载波同步,我曾经在一个项目中因为频偏估计精度不够,导致解调门限差了2个dB,最后不得不重新流片。所以,做系统级仿真时,一定要把非理想因素加进去,比如频偏、相噪、IQ不平衡。

核心要点:数字通信模型不是纸上谈兵,每个模块的非理想特性都会影响最终性能。仿真时,建议从简单模型开始,逐步增加复杂度。

2.2 调制解调基础:从BPSK到QAM

调制解调这块,我建议你从最简单的BPSK开始理解。BPSK就是把比特0和1映射成+1和-1,然后乘以载波。解调的时候,用相干解调或者非相干解调。为什么先学BPSK?因为它的误码率公式最直观,能帮你建立直觉。

QPSK呢,其实就是两个BPSK拼在一起,一个在I路,一个在Q路。带宽效率翻倍,但误码率也变差了。再往上,16QAM、64QAM、256QAM,星座点越来越密,对信噪比的要求也越来越高。我在做WiFi芯片的时候,遇到过一个问题:64QAM在室内多径环境下,解调门限比理论值高了3个dB。后来发现是信道估计不准导致的。所以,调制阶数越高,对信道估计和均衡的要求也越高

这里我列一个常用的调制方式与理论门限对照表,方便你查:

调制方式 每符号比特数 理论门限(BER=1e-6,AWGN) 典型应用
BPSK 1 10.5 dB 卫星、深空通信
QPSK 2 13.5 dB 蜂窝、卫星
16QAM 4 20.5 dB WiFi、LTE
64QAM 6 26.5 dB 5G、WiFi 6
256QAM 8 32.5 dB 5G NR、WiFi 7

小提示:实际系统中,由于实现损耗(比如滤波器滚降、ADC量化噪声),门限通常要比理论值高2-4 dB。做链路预算时,记得留出这个余量。

2.3 链路预算计算:从发射功率到接收灵敏度

链路预算,说白了就是算一算信号从发端到收端,能量还剩多少。公式很简单:

接收功率 (dBm) = 发射功率 (dBm) + 发射天线增益 (dBi) - 路径损耗 (dB) + 接收天线增益 (dBi) - 馈线损耗 (dB) - 其他损耗 (dB)

但实际算起来,坑特别多。我举个例子:路径损耗模型怎么选?自由空间模型、Okumura-Hata模型、COST231模型,不同场景差别很大。我曾经在一个5G小站项目中,用了自由空间模型算链路预算,结果实测覆盖半径只有理论值的一半。后来换成3GPP的UMa模型,才勉强对上。所以,选对路径损耗模型,比算准数字更重要

接收灵敏度怎么算?公式是:

灵敏度 (dBm) = -174 + 10*log10(BW) + NF + SNR_req

其中-174是室温下的热噪声功率谱密度(dBm/Hz),BW是带宽,NF是接收机噪声系数,SNR_req是解调所需信噪比。这里要注意:SNR_req不是理论门限,而是包含实现损耗后的实际门限。我建议你至少留3 dB的余量。

避坑指南:我曾经在一个项目中,把NF算小了1 dB,结果链路预算显示链路有余量,实际测试却经常掉线。后来发现是LNA的噪声系数在高温下恶化了0.8 dB。所以,做链路预算时,一定要考虑温度、工艺角等最恶劣情况。

2.4 噪声分析:热噪声、相位噪声与量化噪声

噪声分析这块,我把它分成三类:热噪声、相位噪声、量化噪声。

热噪声是物理限制,没法消除。公式是P_noise = kTB,其中k是玻尔兹曼常数,T是温度,B是带宽。室温下,每Hz带宽的噪声功率是-174 dBm。这个数字你要记牢,几乎所有链路预算都从它出发。

相位噪声是本地振荡器(LO)的非理想特性。它会影响解调时的星座图旋转,尤其是高阶QAM。我记得有一次做64QAM解调,相位噪声太大,星座点糊成一团。后来换了低相噪的PLL,才解决问题。做系统仿真时,一定要把相噪模型加进去,可以用分段线性模型或者实测数据拟合。

量化噪声来自ADC。ADC的位数决定了量化信噪比(SQNR)。公式是:SQNR ≈ 6.02*N + 1.76 dB,其中N是ADC位数。比如12位ADC,SQNR大约是74 dB。但要注意,ADC的有效位数(ENOB)通常比标称位数低1-2位,因为还有INL、DNL、抖动等非理想因素。

我建议你在做系统级仿真时,把这三类噪声都建模进去。具体做法是:

  • 热噪声:用AWGN模块,功率按kTB设置
  • 相位噪声:用相位噪声模型,在频域加噪
  • 量化噪声:用ADC模型,设置ENOB和满量程

这样仿真出来的结果,才更接近真实芯片的表现。

总结一下:通信系统基础与链路预算,是芯片架构设计的起点。数字通信模型帮你理解信号流程,调制解调决定频谱效率和鲁棒性,链路预算确保系统能工作,噪声分析则告诉你性能瓶颈在哪。我个人建议,每做一个新项目,先把链路预算算一遍,再开始做架构设计。这一步省不了,也偷懒不得。

好,这一章就讲到这里。下一章我们会深入讨论系统级仿真的方法论,包括如何搭建仿真平台、如何选择仿真粒度。到时候我会分享一些我在实际项目中踩过的坑,希望对你有帮助。