数字通信系统模型:从发到收的完整链路
做通信芯片这么多年,我经常跟新人说一句话:数字通信系统,本质上就是一场对抗噪声和失真的战争。你想想看,发送端要把比特流变成适合在信道中传输的信号,接收端再把它还原回来——这中间任何一个环节出问题,数据就全乱了。
一个典型的数字通信系统模型,包含以下几个核心模块:
- 信源编码:把模拟信号(比如语音、图像)转成数字比特流,同时做压缩。我记得早年做卫星通信项目时,压缩比选不好,要么带宽不够,要么画质太差,来回调了三个版本才定下来。
- 信道编码:给原始数据加上冗余信息,用来对抗传输过程中的误码。说白了就是「多传一点,错了能纠」。
- 交织:把数据顺序打乱,防止连续突发错误把整段数据都毁了。这个后面会细讲。
- 调制:把数字比特映射到载波的幅度、相位或频率上。QPSK、16QAM 就是干这个的。
- 信道:无线、有线、光纤……信号在这里被衰减、被干扰、被多径折腾。
- 解调与译码:接收端反向操作,把信号还原成比特流。
嗯,这里要注意:接收端的算法复杂度通常远高于发送端。因为发送端知道自己在干什么,接收端却要从被污染的信号里猜出原始信息。我做过一个 LTE 芯片项目,接收端的均衡器占了整个基带处理 40% 的算力——这就是代价。
调制解调基础:QPSK 与 16QAM
QPSK:四相移键控
QPSK 是最常用的调制方式之一。它把每 2 个比特映射到 4 种相位状态之一。为什么是 2 个比特?因为 2 比特有 4 种组合:00、01、10、11,正好对应 4 个相位点。
我习惯用星座图来理解调制。QPSK 的星座图很简单:四个点均匀分布在单位圆上,相位分别是 45°、135°、225°、315°。每个点携带 2 比特信息。
关键参数:
- 频谱效率:2 bit/s/Hz(每赫兹每秒传 2 比特)
- 抗噪声能力:较强(因为星座点间距大)
- 典型应用:卫星通信、早期 Wi-Fi、LTE 控制信道
我曾经在一个物联网芯片项目中用过 QPSK。当时客户要求极低功耗,但信道环境很差。我选了 QPSK 而不是 16QAM,因为它的解调门限更低——说白了,信号弱一点也能解出来。代价是速率上不去,但 IoT 场景本来就不需要高带宽。
16QAM:正交幅度调制
16QAM 把每 4 个比特映射到 16 个星座点。星座图不再是圆上的点,而是 4×4 的网格。每个点既有幅度变化,也有相位变化。
你想想看,同样的带宽,QPSK 传 2 比特,16QAM 传 4 比特——频谱效率翻倍。但代价是什么?星座点间距变小了。QPSK 的四个点离得远,噪声不容易搞混它们;16QAM 的 16 个点挤在一起,同样的噪声幅度就可能把点推到相邻的位置上去。
| 调制方式 | 每符号比特数 | 频谱效率 (bit/s/Hz) | 抗噪声能力 |
|---|---|---|---|
| BPSK | 1 | 1 | 最强 |
| QPSK | 2 | 2 | 强 |
| 16QAM | 4 | 4 | 中等 |
| 64QAM | 6 | 6 | 较弱 |
避坑指南:我曾经在一个 5G 小基站项目中,为了追求峰值速率,在信道条件不好的情况下硬上 64QAM。结果呢?误码率飙到 10⁻²,重传把吞吐量全吃掉了。后来我学乖了:自适应调制编码(AMC)才是王道——信道好时用高阶调制,信道差时切回 QPSK 甚至 BPSK。
信道编码与交织:给数据穿上防弹衣
信道编码:冗余的艺术
信道编码的核心思想很简单:用更多的比特来保护更少的比特。比如你要传 100 个比特,编码后变成 200 个比特传出去——这多出来的 100 个比特就是冗余,用来纠错。
常见的信道编码有:
- 卷积码:适合中等长度的数据块,维特比译码是经典算法。我当年做 3G 芯片时,维特比译码器占了基带芯片 1/3 的面积。
- Turbo 码:接近香农极限,但译码延迟大。4G LTE 就用它。
- LDPC 码:低密度奇偶校验码,5G NR 的数据信道就用它。译码可以高度并行,适合高吞吐场景。
- 极化码:5G 控制信道采用,理论上可以达到香农极限。
我个人习惯用编码增益来衡量信道编码的好坏。编码增益 = 使用编码后达到同样误码率所需的 SNR 降低量。比如一个编码增益为 3 dB 的码,意味着你可以把发射功率降低一半,还能得到同样的通信质量——这在移动设备上就是续航翻倍。
交织:把突发错误打散
信道编码能纠错,但它有个弱点:怕连续错误。比如一个卷积码能纠 3 个随机错误,但如果 10 个连续比特全错了,它就无能为力了。
交织就是干这个的。它把编码后的数据顺序打乱,让原本相邻的比特分散到不同的位置。这样即使信道出现突发错误(比如雷击、电机干扰),破坏的也是分散的比特,而不是连续的比特。接收端解交织后,错误就变成了随机错误,信道编码就能轻松处理了。
实战技巧:我在做 Wi-Fi 芯片时,遇到过一种情况:信道编码选得再好,只要交织深度不够,遇到长突发干扰就崩。后来我把交织深度从 16 增加到 64,误码率直接降了一个数量级。但代价是延迟增加了——因为接收端要等够数据才能解交织。所以交织深度是个 trade-off,要根据业务场景来选。
OFDM 技术原理:多载波的艺术
OFDM(正交频分复用)是现代通信系统的基石。Wi-Fi、4G、5G、DVB-T……全在用。为什么它这么流行?
原因很简单:OFDM 把宽带信道拆成多个窄带子载波。每个子载波上的信道近似平坦,均衡变得极其简单。而且子载波之间是正交的,频谱可以重叠,频谱效率很高。
OFDM 的核心思想
传统单载波系统,一个符号占满整个带宽。如果信道有频率选择性衰落(比如多径导致某些频率被衰减),整个符号就毁了。
OFDM 的做法是:把高速数据流分成 N 路低速数据流,每路调制到一个子载波上。每个子载波的带宽很窄,信道在这个窄带内近似平坦——频率选择性衰落变成了每个子载波上的平坦衰落,均衡只需要在每个子载波上乘一个系数就行。
嗯,这里要注意:子载波之间必须严格正交。正交的意思是:任意两个子载波在一个符号周期内的积分等于零。这样接收端才能把它们分开。
循环前缀(CP)
OFDM 有个致命弱点:对多径时延敏感。多径信号到达时间不同,会导致符号间干扰(ISI)和子载波间干扰(ICI)。
解决方案是加循环前缀。把每个 OFDM 符号末尾的一段复制到开头,只要 CP 长度大于最大多径时延,多径干扰就被 CP 吸收了,不会污染有效数据。
CP 开销的计算:
假设 OFDM 符号有效长度为 66.7 μs(LTE 的子载波间隔 15 kHz),CP 长度为 4.7 μs。那么 CP 开销 = 4.7 / (66.7 + 4.7) ≈ 6.6%。
这个开销是必须付出的——没有 CP,OFDM 在无线信道中根本没法用。
OFDM 的优缺点
| 优点 | 缺点 |
|---|---|
| 频谱效率高(子载波重叠) | 峰均比高(PAPR 大) |
| 均衡简单(频域单抽头) | 对频率偏移敏感 |
| 支持灵活的资源分配 | CP 带来开销 |
| 抗多径能力强 | 发射机需要线性功放 |
避坑指南:我曾经在一个 OFDM 芯片项目中,被 PAPR(峰均比)坑惨了。OFDM 信号是多个子载波的叠加,峰值功率远高于平均功率。如果功放线性度不够,信号就会失真,导致带外辐射超标。后来我不得不加数字预失真(DPD)来补偿——这又增加了芯片面积和功耗。所以做 OFDM 系统,一定要提前规划好 PAPR 的应对方案。
OFDM 的 IFFT/FFT 实现
OFDM 的调制解调可以用 IFFT/FFT 高效实现。发送端把频域数据(每个子载波上的调制符号)做 IFFT,得到时域信号发出去。接收端做 FFT,把时域信号变回频域,再解调每个子载波。
我记得第一次在 FPGA 上实现 2048 点 FFT 时,资源消耗大得吓人。后来优化了 FFT 的流水线结构,把蝶形运算的复用率提上去,才把面积降下来。嗯,这就是芯片设计的日常——算法很美,实现很苦。
好了,这一章的内容就到这里。通信系统的基础打牢了,后面讲信道估计、同步、MIMO 的时候,你才能跟得上节奏。