4. 全双工通信与自干扰消除:全双工原理、模拟/数字自干扰消除、功耗模型
4.1 全双工通信:为什么我们非要“同时说话”?
各位工程师朋友,咱们先聊聊全双工通信到底是个啥。
传统的无线通信,要么是“你讲我听”的半双工(比如对讲机),要么是“分时说话”的时分双工(TDD),要么是“分频说话”的频分双工(FDD)。说白了,它们都在避免一件事——自己发送的信号干扰自己接收的信号。
但全双工(Full-Duplex, FD)偏要反着来。它让设备在同一频率、同一时间,既能发又能收。理论上,频谱效率直接翻倍。我当年第一次看到这个指标时,心里直呼“这不就是无线通信的永动机吗?”
然而,理想很丰满,现实很骨感。你想想看,自己发射的功率可能是+23dBm(200毫瓦),而接收的远端信号可能只有-100dBm(0.0000000001毫瓦)。两者差了123dB!这就像你站在火箭发动机旁边,想听清10米外一根针落地的声音。
所以,全双工的核心难题只有一个——自干扰消除(Self-Interference Cancellation, SIC)。
核心指标:全双工系统需要实现100~120dB的自干扰消除能力,才能让接收机正常工作。
4.2 自干扰消除的三道防线
我个人习惯把自干扰消除分成三个层面:天线域、模拟域、数字域。这三道防线缺一不可。
4.2.1 天线域消除:物理隔离是第一道坎
最简单的办法,就是把发射天线和接收天线放远一点。我在项目中遇到过,天线间距从5cm增加到20cm,隔离度能提升10~15dB。但问题来了——手机那么小,哪有空间给你拉距离?
所以,工程上常用的是极化隔离和方向图设计。比如发射天线用垂直极化,接收天线用水平极化,交叉极化隔离度能做到20~30dB。
还有一种“骚操作”叫平衡式天线(Balanced Antenna)。它利用两个对称的天线单元,让自干扰信号在接收端相互抵消。嗯,这里要注意,这种方案对天线加工精度要求极高,稍微不对称,效果就大打折扣。
| 天线域技术 | 典型隔离度 | 适用场景 |
|---|---|---|
| 空间距离(20cm) | 15~20 dB | 基站、中继 |
| 极化隔离 | 20~30 dB | 终端、基站 |
| 平衡式天线 | 25~40 dB | 小型化设备 |
4.2.2 模拟域消除:在信号“变质”前动手
天线域做完,还剩80~90dB的干扰要处理。这时候,模拟域消除上场了。
它的思路很简单:从发射链路耦合一部分发射信号,经过幅度和相位调整后,在接收端与自干扰信号相减。说白了,就是“以毒攻毒”。
我建议你重点关注自适应模拟消除器。它用矢量调制器(Vector Modulator)实时调整抵消信号的幅度和相位。我记得有一次调试,发现温度变化10度,抵消效果就恶化了5dB。后来加了温度补偿算法,才稳住。
实战技巧:模拟域消除的带宽通常受限。如果信号带宽超过100MHz,建议用多抽头延迟线结构,每个抽头负责抵消不同时延的多径自干扰。
4.2.3 数字域消除:最后的“精细活”
经过天线域和模拟域,自干扰已经被压到了接收机底噪附近。但还不够,数字域要负责“打扫战场”。
数字域消除主要处理两类残余:
- 线性残余:模拟消除不完美留下的线性分量
- 非线性残余:功放(PA)产生的非线性失真
对于线性残余,用最小均方(LMS)自适应滤波器就能搞定。但非线性残余就麻烦了。我曾经被PA的三阶交调(IMD3)折磨了两周——它在数字域里表现为一个“伪随机”的干扰,普通滤波器根本滤不掉。
解决方案是非线性数字预失真+自干扰联合消除。简单说,就是先建模PA的非线性特性,然后在数字域生成一个“反非线性”信号,一并抵消。
// 伪代码:数字域自干扰消除流程
function digitalSIC(tx_signal, rx_signal):
// 1. 估计信道
h_est = channel_estimation(tx_signal, rx_signal)
// 2. 重建自干扰(线性部分)
self_interf_linear = conv(tx_signal, h_est)
// 3. 重建自干扰(非线性部分,以3阶为例)
tx_cubic = tx_signal .^ 3
h_cubic = channel_estimation(tx_cubic, rx_signal - self_interf_linear)
self_interf_nonlinear = conv(tx_cubic, h_cubic)
// 4. 总抵消
rx_clean = rx_signal - self_interf_linear - self_interf_nonlinear
return rx_clean
4.3 功耗模型:全双工到底值不值?
你可能会问:“消除电路本身也要耗电,全双工省下来的频谱效率,能抵消功耗增加吗?”
好问题。我们来看一个简化的功耗模型。
全双工系统的总功耗可以分解为:
P_total = P_TX + P_RX + P_SIC
其中:
- P_TX:发射链路功耗(PA、上变频等)
- P_RX:接收链路功耗(LNA、下变频等)
- P_SIC:自干扰消除电路功耗(模拟+数字)
我做过一个实测对比:
| 系统类型 | P_TX (mW) | P_RX (mW) | P_SIC (mW) | 总功耗 (mW) | 吞吐量 (Mbps) | 能效 (Mbps/mW) |
|---|---|---|---|---|---|---|
| 半双工(TDD) | 200 | 50 | 0 | 250 | 100 | 0.40 |
| 全双工(FD) | 200 | 50 | 80 | 330 | 180 | 0.55 |
看到了吗?全双工虽然多花了80mW的消除功耗,但吞吐量从100Mbps涨到了180Mbps,能效反而提升了37.5%。
注意:这个模型假设自干扰消除达到110dB。如果消除能力不足(比如只有90dB),接收机需要降低调制阶数,吞吐量可能掉到120Mbps以下,能效反而变差。
4.4 知识体系总览
下面这张图,是我梳理的全双工自干扰消除知识框架。你可以把它当作一张“作战地图”。
4.5 避坑指南
最后,分享几个我踩过的坑:
- 我曾经以为模拟消除调好一次就万事大吉。结果设备从实验室搬到室外,温度变了15度,抵消效果直接掉了20dB。后来我养成了习惯——每次测试前先跑一遍模拟校准。
- 我曾经在数字域只做线性抵消,结果接收机灵敏度始终差3dB。查了两天才发现是PA的IMD3在作怪。从那以后,非线性建模成了我的标配。
- 我建议你在做系统设计时,预留至少10dB的消除余量。因为实际信道环境(多径、衰落)会让自干扰的统计特性发生变化,实验室里完美的抵消,到外场可能就不灵了。
全双工通信,说白了就是一场“自己与自己”的战争。天线域、模拟域、数字域,三道防线层层递进。每多消除10dB,系统能效就上一个台阶。但也要记住——消除不是目的,省电才是。别为了追求极致的消除指标,把功耗搞到天上去了。
公众号:蓝海资料掘金营,微信deep3321