1. 通信系统概述:通信系统模型、模拟与数字通信、通信系统分类、软硬件协同设计概念
各位同学,大家好。我是这门课的主讲。今天咱们聊聊通信系统的那些事儿。说实话,通信系统这个领域,我摸爬滚打了十几年,踩过的坑比走过的路还多。但别担心,我会把最实用的东西掏出来给你。
通信系统,说白了就是解决一个问题:怎么把信息从A点搬到B点。你想想看,从古代烽火台到今天的5G手机,本质没变,只是手段越来越花哨了。
1.1 通信系统模型——三要素
任何一个通信系统,都跑不出这三个核心模块:
- 信源:信息的源头。比如你的声音、摄像头拍的画面。
- 信道:信息传输的通道。可以是铜线、光纤,也可以是空气(无线)。
- 信宿:信息的接收者。比如对方的耳朵、显示屏。
嗯,这里要注意。光有这三个还不够。中间还得有发射机和接收机。发射机负责把信源的信息“包装”成适合信道传输的形式,接收机负责“拆包”还原。
核心公式(香农公式):
C = B log₂(1 + S/N)
其中C是信道容量(最大传输速率),B是带宽,S/N是信噪比。这个公式告诉你:带宽越宽,信号越强,能传得越快。我在项目中遇到过,很多人只盯着带宽,忽略了噪声。结果带宽翻倍了,噪声也跟着涨,白忙活一场。
下面这张图,是我手绘的通信系统基本模型。你把它刻在脑子里,后面所有章节都绕不开它。
1.2 模拟通信 vs 数字通信
这个区分,其实很简单。我打个比方你就明白了:
- 模拟通信:就像老式唱片机。声音的波形是连续的,直接刻在唱片上。优点是还原度高,缺点是怕噪声。噪声一进来,波形就变形了,而且没法修复。
- 数字通信:就像CD。先把声音采样、量化成0和1,再传输。哪怕中间有噪声,只要没把0变成1、1变成0,就能完美还原。
为什么会这样?因为数字信号有再生能力。我在项目中遇到过,一条模拟电话线,距离超过5公里,声音就听不清了。换成数字中继,每2公里加一个再生器,传100公里都没问题。
| 对比项 | 模拟通信 | 数字通信 |
|---|---|---|
| 信号形式 | 连续波形 | 离散0/1 |
| 抗噪声能力 | 弱(噪声累积) | 强(可再生) |
| 带宽效率 | 高(原始信号) | 低(需编码) |
| 典型应用 | FM广播、老式电话 | 4G/5G、WiFi、光纤 |
我的建议:现在做新项目,除非有特殊原因(比如成本极度敏感),否则一律选数字通信。模拟通信的调试难度,我深有体会——有一次调一个模拟放大器,温漂搞得我三天没睡好觉。
1.3 通信系统分类
通信系统可以从好几个角度分类。我个人习惯按传输介质和工作方式来分,这样最实用。
按传输介质:
- 有线通信:双绞线(电话线、网线)、同轴电缆(有线电视)、光纤(骨干网)。
- 无线通信:微波、卫星、蜂窝移动(2G到5G)、蓝牙、WiFi。
按工作方式:
- 单工:只能单向传。比如广播电台,你只能听,不能跟主持人对话。
- 半双工:可以双向传,但同一时间只能一个方向。比如对讲机,你说的时候我听,我说的时候你听。
- 全双工:同时双向传。比如你的手机,你说话的同时也能听到对方说话。
避坑指南:我曾经在一个物联网项目中,选了半双工的LoRa模块做数据采集。结果设备多了,信道冲突严重,数据丢包率高达30%。后来换成全双工的4G模块,问题才解决。所以,选工作方式时,一定要考虑并发量。
1.4 软硬件协同设计概念
好,终于到了这门课的核心概念。软硬件协同设计,英文叫Hardware-Software Co-Design。你想想看,一个通信系统,既有硬件(芯片、天线、FPGA),又有软件(协议栈、算法、驱动)。传统做法是:硬件先做,做完再写软件。结果呢?硬件做完了发现软件跑不动,或者软件写完了发现硬件不支持。
软硬件协同设计,就是从一开始就把硬件和软件放在一起考虑。我举个例子:
假设你要设计一个5G基站的信号处理模块。传统做法:硬件工程师先画FPGA逻辑,软件工程师后写DSP代码。结果发现,FPGA的并行处理能力很强,但灵活性差;DSP灵活,但处理速度慢。协同设计的做法是:先做系统级建模,把算法拆成两部分——计算密集的部分用硬件加速,控制密集的部分用软件实现。然后硬件和软件同时开发,中间通过接口文档对齐。
核心思想:
- 并行开发:硬件和软件团队同时开工,缩短开发周期。
- 早期验证:用虚拟原型(比如SystemC模型)在硬件还没做出来之前就验证软件。
- 权衡优化:哪些功能用硬件实现(速度快、功耗低),哪些用软件实现(灵活、易升级),需要反复权衡。
我记得有一次,一个团队做卫星通信的调制解调器。硬件团队选了Xilinx的FPGA,软件团队选了ARM Cortex-A系列。结果发现,FPGA的LUT资源不够,ARM的实时性又达不到要求。最后不得不重新划分——把部分调制算法挪到ARM上,把部分控制逻辑挪到FPGA里。这就是典型的软硬件划分问题。如果一开始就用协同设计的方法,就不会走这个弯路了。
下面这张图,展示了软硬件协同设计的典型流程:
嗯,这里要注意。协同设计不是万能的。它要求团队里硬件和软件工程师能有效沟通。我见过不少团队,硬件和软件互相甩锅——硬件说软件算法太复杂,软件说硬件资源不够用。协同设计就是要打破这种壁垒,让大家坐在一张桌子上谈。
好了,第一章的内容就到这里。通信系统的模型、模拟与数字的区别、分类方式,以及软硬件协同设计的概念,都是后面所有章节的基础。你把这些吃透了,后面学起来会轻松很多。
公众号:蓝海资料掘金营,微信deep3321