2. 通信系统基本模型

做误码排查,第一步不是拿仪器去抓波形。你得先搞清楚:信号是怎么发出去的,路上经过了什么,最后又是怎么被收下来的。这就是通信系统的基本模型——发送、信道、接收。我自己带团队的时候,新人一来,我就让他们先画这个模型。画对了,后面的问题就少了一半。

2.1 发送端:比特到信号的第一次变形

发送端要做的事,说白了就是把你要传的0和1,变成能在线路上跑的东西。这个过程我习惯分成三步:

  1. 信源编码:把原始数据压缩,去掉冗余。比如语音通话里那些静音片段,直接编码成更短的符号。
  2. 信道编码:故意加一些冗余比特(比如CRC、卷积码、LDPC),用来抵抗将来可能发生的错误。这是误码排查的重头戏,后面会专门讲。
  3. 调制:把比特映射成模拟波形。QPSK、QAM、FSK……不同的调制方式,抗噪声的能力天差地别。

关键理解:发送端不是原样拷贝比特,而是做了两次“包装”——一次为了压缩,一次为了对抗错误。误码排查时,你一定要知道发送端用了什么信道编码和调制方式,否则拿到接收数据根本没法判断错误发生在哪里。

我有一次在项目里排查误码,收到的帧头总是对不上。查了三天,最后发现发送端用的是卷积码加QPSK,接收端却按LDPC加16QAM来解。你想想看,这好比用中文词典去查法语单词,能对才怪。所以记住:先对齐发送参数。

2.2 信道:比特的“战场”

信道是信号从发送端到接收端之间的物理路径。它可能是几米长的电缆、几百公里的光纤、或者从卫星到地面的无线电波。信道本身不关心你传的是什么,但它会给信号“加料”——噪声、衰减、干扰、多径效应,样样都能让比特出错。

我从经验出发,把信道分为三类,每类的误码特点不同:

信道类型 主要损伤 典型误码模式 排查留意点
有线信道(电缆、PCB走线) 阻抗不匹配、串扰、衰减 连续成簇错误(突发错误) 检查信号完整性:眼图质量、回波损耗
无线信道(射频、微波) 多径衰落、阴影、噪声 随机零星错误 + 突发深衰落导致的大段错误 关注信噪比(SNR)和延迟扩展
光纤信道 色散、非线性效应、衰减 低概率零星错误,但一旦出现往往成片 检查光功率和色散补偿

实操经验:我在测试5G基站基带板时,有线信道上的误码经常来自连接器松动,而不是芯片本身。不要一上来就怀疑基带算法,先拿万用表量量阻抗,拿示波器看看眼图,很可能就是物理层接触不良。

为什么会这样?因为信道里的噪声往往是加性高斯白噪声(AWGN),但实际环境里还有脉冲噪声、相位噪声、甚至电机火花带来的干扰。你分析误码时,如果假设信道只有AWGN,很可能漏掉真正的元凶。

2.3 接收端:反向操作的挑战

接收端要做发送端的逆操作:解调、信道解码、信源解码。但问题是,接收端拿到的信号已经“受伤”了。它需要先做几件事才能开始解码:

  • 同步:找到信号的起始点。符号定时同步、载波同步、帧同步,一个没对齐,后面全是错。
  • 信道估计与均衡:估算信道对信号的扭曲程度,然后反转回来。比如用训练序列或导频来估计。
  • 软判决解码:很多现代接收机不直接判0或1,而是输出“似然比”——比如这个比特是0的概率是0.7,是1的概率是0.3。信道解码器利用这个软信息能纠正更多错误。

我遇到过最头疼的一次误码排查,就是接收端的同步环路锁到了镜像频率上。解出来的数据看起来像模像样,但每隔一段时间就翻两三个比特。最后拿频谱仪一看,本振频率设偏了20kHz——接收端自己就在错位工作。

小心接收端的“自欺欺人”:很多接收机在信号质量极差时会自动报告“锁定”,但实际根本没锁住。这时候你看到的误码其实不是信道造成的,而是接收端自己“脑补”出的错误。我的建议:每次测试前,先用已知的测试序列做一次快速验证,确认接收端确实正常工作了。

2.4 通信系统模型与误码的映射关系

弄清了发送、信道、接收,误码排查就有了“地图”。任何一个环节出问题,误码的表现形式都不同。下面这张图是我自己总结的核心逻辑:

通信系统基本模型与误码关系框架图 通信系统基本模型 —— 误码从哪里来 发送端 信源编码 信道编码 · 调制 比特→波形 信道 噪声 · 衰减 多径 · 干扰 波形退化 接收端 同步 · 均衡 解调 · 信道解码 波形→比特 误码如何与三个环节对应? 🔵 发送端误码源: 编码器配置错误、调制映射表搞反、时钟不稳定产生误比特 🔴 信道误码源: 突发噪声、多径衰落、阻抗不匹配、频率偏移 🟢 接收端误码源: 同步失锁、均衡算法发散、解码器实现错误

这张图的核心逻辑,说白了就一句话:误码的位置决定排查方向。发送端的误码通常是确定性的,比如某个编码比特永远反了;信道的误码有随机性,但往往有模式(比如每几秒出现一次突发);接收端的误码可能是算法实现问题,也可能是参数配置问题。

2.5 实战:如何用模型快速定位误码来源

我个人常用的方法是“三段分离法”:

  1. 自环测试:把发送端输出直接环回到接收端输入,绕开信道。如果误码消失,说明问题在信道;如果误码还在,说明发送端或接收端有问题。
  2. 环回点递进:在发送端编码后环回、调制后环回、接收端解调前环回、解码后环回。每换一个环回点,看看误码率变不变。哪个点开始变,问题就在那之后。
  3. 比对发送数据:在接收端抓取解码前的软比特,和发送端已知的发送比特做相关性分析。如果软比特的幅度一致但符号翻转,说明相位同步错了;如果幅度全偏小,说明增益控制有问题。

我曾经用这个三段分离法,十分钟就定位了一个视频传输系统误码率高达10⁻³的故障。自环测试发现信道没环回来的时候误码率正常,但一经过射频线损就暴增——最后发现射频线缆中间有个接头氧化,接触电阻变大了30Ω。换根线,问题解决。你看,问题不在算法,在物理层。

2.6 本章小结

通信系统的三大块——发送、信道、接收——构成了误码排查的基本坐标系。发送端决定“想传什么”,信道决定“实际能传成什么样”,接收端决定“能还原成什么”。你排查误码的时候,脑子里得有这个模型,手上有环回测试的方法,心里还要清楚三类误码各自的特征。

嗯,这些说起来简单,但真正做到位的人不多。我见过太多工程师一上来就调信道解码器的参数,调了半天发现发送端的CRC生成多项式都写错了。模型框架建立好,才不至于在细节里迷失方向。