无线通信物理层基础:射频前端架构与调制解码
大家好,我是你们的讲师。今天咱们聊聊无线SoC芯片里最“硬核”的部分——物理层。说白了,就是信号从芯片出来到空中,再回到芯片的这段旅程。我做了十几年无线芯片,每次跟新人聊这块,都觉得他们容易把射频和数字部分割裂开看。其实啊,软硬件协同开发的核心,恰恰就在这个交界处。
一、射频前端架构:信号的第一道关卡
射频前端,就是天线和基带之间的那堆模拟电路。我个人习惯把它分成三块:发射链路、接收链路、还有收发切换。
1. 功率放大器(PA)
PA负责把要发射的信号放大到足够功率。嗯,这里要注意——PA是芯片里最“耗电”的模块之一。我在项目中遇到过,PA效率每提升5%,整机续航就能多出半小时。所以很多SoC会做PA的偏置动态调整,根据发射功率自动切换工作模式。
2. 低噪声放大器(LNA)
LNA是接收链路的第一级。它的任务很简单:把微弱的信号放大,同时尽量少引入噪声。你想想看,天线收到的信号可能只有-100dBm,比噪声还小。LNA的噪声系数每差0.5dB,接收灵敏度就差一大截。
3. 混频器(Mixer)
混频器负责频率搬移。发射时把基带信号上变频到射频,接收时下变频回基带。说白了,就是做乘法器。我记得第一次调Mixer的线性度,折腾了两周才发现是LO泄露的问题。
二、调制解调技术:信息的“编码”与“解码”
调制就是把数字比特变成适合无线传输的波形。不同的调制方式,说白了就是在带宽、功耗、抗干扰之间做取舍。
1. GFSK:低功耗的经典选择
GFSK是高斯频移键控。它把比特映射到频率变化上,0和1对应不同的频偏。GFSK最大的好处是包络恒定,PA可以工作在饱和区,效率极高。BLE和Zigbee都用它。
// GFSK调制示例(简化)
if (bit == 1)
freq = carrier + 250kHz; // 频偏+250kHz
else
freq = carrier - 250kHz; // 频偏-250kHz
// 实际会加高斯滤波器平滑跳变
2. QPSK:频谱效率的入门选择
QPSK一次传2个比特,用4种相位表示。相比GFSK,频谱效率翻倍。但代价是PA需要线性工作,效率会掉。Wi-Fi的802.11b/g就用它。
| 调制方式 | 每符号比特数 | 典型应用 | PA要求 |
|---|---|---|---|
| GFSK | 1 | BLE, Zigbee | 饱和(高效率) |
| QPSK | 2 | Wi-Fi 802.11b | 线性(中等效率) |
| OFDM | 可变 | Wi-Fi 4/5/6 | 高线性(低效率) |
3. OFDM:高速通信的基石
OFDM把高速数据流分成多个低速子载波并行传输。每个子载波用QPSK或更高阶调制。OFDM抗多径能力强,但峰均比高,对PA线性度要求苛刻。
为什么会这样?因为多个子载波叠加,瞬时功率可能远高于平均功率。PA必须留很大回退,效率自然就低了。我做过一个Wi-Fi项目,PA效率只有15%,一半功耗都浪费在散热上。
三、信道编码与解码:对抗噪声的武器
信道编码就是在数据里加冗余,让接收机能纠错。没有编码,无线通信基本没法用。
1. 卷积码
卷积码是经典的编码方式。它用移位寄存器和异或门生成编码输出。约束长度越长,纠错能力越强,但解码复杂度也越高。
// 卷积码(2,1,3)示例
// 生成多项式:G0=7(111),G1=5(101)
for (i = 0; i < data_len; i++) {
shift_reg = (shift_reg << 1) | data[i];
out0 = xor(shift_reg & 0x7); // 多项式7
out1 = xor(shift_reg & 0x5); // 多项式5
// 输出两个比特
}
2. 交织与去交织
交织就是把编码后的比特顺序打乱。为什么?因为无线信道常有突发错误,连续错一串。交织后,错误被分散到不同码字里,纠错能力就上来了。
我记得第一次做交织器,没注意边界处理,导致解码器一直报错。后来加了个padding机制才搞定。
3. CRC校验
CRC不是纠错码,是检错码。它用多项式除法生成校验值。接收端重新计算,不一致就说明数据错了。BLE的每个包都有CRC,错了就重传。
四、知识体系总览
下面这张图是我自己画的,把本章的核心逻辑串起来了。你从射频前端开始,信号经过调制变成波形,再经过编码对抗噪声,最后到基带处理。每一步都有软硬件协同的点。
好了,这一章的内容就到这里。射频前端、调制解调、信道编码,这三块是无线SoC物理层的核心。你如果能把它们之间的软硬件接口想清楚,后面做系统集成就会顺手很多。