这期通信观系列的第二篇,我打算认真拆一遍通信基本原理。对于刚入行做无线通信、网络优化或者嵌入式通信应用的朋友来说,“调制”“信道”“误码率”“同步”这些词肯定都听过,但往往卡在“听得懂概念,串不起逻辑”这个阶段。这篇文章不打算堆公式,而是想把一条真实信息从发送端到接收端经历的所有关键环节,用工程视角捋清楚:每一环解决什么问题,不解决会怎样,实际系统里是怎么取舍的。如果你对“信号到底怎么传、手机为什么能同时上网又通话、Wi-Fi为什么会卡”这类问题有过困惑,这篇应该能帮你搭起一张比较完整的认知底图。读完以后你会发现,通信系统再复杂,底层要对抗的永远也就是那几个物理约束。
1. 先把通信这事的全貌摆到桌面上:一个模型搞定所有系统
1.1 从一次“打电话听不清”说起
你肯定经历过这种场景:在电梯里打电话,信号断断续续,对方的声音像是从很远的地方飘过来,隔几秒还有一个字被吞掉。这时候懂点通信的人会告诉你“信号不好”,然后呢?然后就没有然后了。但我一直觉得,普通人说“信号不好”的时候,脑子里其实混着三件完全不同的事:发射功率不够、噪声太大、或者是多用户抢信道导致的服务质量下降。这三件事的解决思路完全不同,不把通信系统的基本链条拆开,你根本不知道问题出在哪一环。
所以我想先引入一个最经典的通信系统模型,这是所有通信教材都会讲、但很多人学完就丢的模型:信源 → 信源编码 → 信道编码 → 调制 → 信道 → 解调 → 信道译码 → 信源译码 → 信宿。你不需要背这个链条,你只需要记住一件事:一条信息要被送出去,它必须经历三次变身——把内容变成比特,把比特变成适合传输的波形,再把波形经过实际物理信道送到对端,然后接收端倒着做一遍这三件事。
画成文字有点抽象。我习惯把它类比成快递发货。信源就是你打包的原件,信源编码相当于把大件压缩装进标准纸箱,信道编码相当于在纸箱外面缠上加固胶带并贴上易碎标志,调制则是根据快递公司的运输要求(比如必须走航空、不能走陆运)给纸箱换一种规格的包装。信道就是你交给的那家物流公司,中间可能经过分拣、颠簸、甚至丢件。接收端收到后,得先拆包装、验货、再还原成你原来的文件。每一层都有专门的用途,少一层,货就可能到不了或者到的时候已经坏了。
1.2 信源编码和信道编码到底在干什么
很多人第一次接触通信系统时,分不清信源编码和信道编码,因为名字太像了。我给你们一个不会忘的解释:信源编码是给数据“减肥”的,信道编码是给数据“穿防弹衣”的。
信源编码解决的是效率问题。你和朋友视频聊天时,摄像头每一帧图像里有大量冗余信息——背景基本都是静止的、画面里的纹理变化也不大。如果不做压缩,1分钟1080p30的视频可能需要几百兆甚至上GB的数据量,任何物理信道都顶不住。H.264、H.265、AAC这些你们耳熟能详的名词都属于信源编码。它们的目标就是尽量少用比特来表示同样的音视频内容。
而信道编码解决的是可靠性问题。它故意往数据里加冗余比特,让接收端能够在传输过程中出现个别错误时发现甚至纠正错误。举个最直观的例子:你发一句话“今天下午三点开会”,如果怕中间某个字被吞掉,你可能会把关键信息重复一遍“今天下午三点、三点开会”。信道编码的本质就类似这种重复和关联,只不过它做得非常精巧,能用尽量少的额外比特达到尽量强的容错能力。
那为什么一个系统里必须同时做这两种编码?因为效率和可靠性天然是矛盾的。信源编码想把数据压缩到极致,但压缩得越狠,每个比特承载的信息量越大,任何一个比特出错造成的后果就越严重。信道编码可以补救,但它补得越多,冗余也越多,前面压缩省下来的容量又被吃回去了。所以所有通信系统设计,本质上都在反复权衡这两件事——这就引出了通信工程里最重要的一个思维,后面我会反复提起。
1.3 数字通信为什么赢了:中继再生原理
既然通信已经发展了一百多年,为什么现代通信系统几乎全部数字化,而不是直接放大模拟信号?这个问题比很多人想象的更根本。
模拟通信时代,信号从发射端传出去后,在中继站那里会被放大再继续传。但放大器是“一视同仁”的,它放大信号的同时,也把叠加在信号上的噪声一起放大了。一路传下去,噪声不断累积,到接收端时你听到的“嘶嘶”声会越来越明显。这就像你用复印机连续复印一份文件,每一代都比上一代更模糊、更脏,复印到第五代基本没法看。
数字通信则完全不同。它传的不是连续变化的波形,而是0和1的序列。中继或接收端拿到的一定是一段电压波形,但它的任务不是“还原原来的波形”,而是做一个判断:“这个采样点的电压大概率是0还是1”。只要噪声没有大到把电平完全抹掉,接收端就能把一段被
