1. 通信系统概述:通信系统模型、模拟与数字通信、通信系统分类、软硬件协同设计概念

各位同学,大家好。我是这门课的主讲。今天咱们聊聊通信系统的那些事儿。说实话,通信系统这个领域,我摸爬滚打了十几年,踩过的坑比走过的路还多。但别担心,我会把最实用的东西掏出来给你。

通信系统,说白了就是解决一个问题:怎么把信息从A点搬到B点。你想想看,从古代烽火台到今天的5G手机,本质没变,只是手段越来越花哨了。

1.1 通信系统模型——三要素

任何一个通信系统,都跑不出这三个核心模块:

  • 信源:信息的源头。比如你的声音、摄像头拍的画面。
  • 信道:信息传输的通道。可以是铜线、光纤,也可以是空气(无线)。
  • 信宿:信息的接收者。比如对方的耳朵、显示屏。

嗯,这里要注意。光有这三个还不够。中间还得有发射机接收机。发射机负责把信源的信息“包装”成适合信道传输的形式,接收机负责“拆包”还原。

核心公式(香农公式):

C = B log₂(1 + S/N)

其中C是信道容量(最大传输速率),B是带宽,S/N是信噪比。这个公式告诉你:带宽越宽,信号越强,能传得越快。我在项目中遇到过,很多人只盯着带宽,忽略了噪声。结果带宽翻倍了,噪声也跟着涨,白忙活一场。

下面这张图,是我手绘的通信系统基本模型。你把它刻在脑子里,后面所有章节都绕不开它。

信源 发射机 信道 (噪声!) 接收机 信宿 图1:通信系统基本模型(三要素 + 发射/接收机)

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里。这就是典型的软硬件划分问题。如果一开始就用协同设计的方法,就不会走这个弯路了。

下面这张图,展示了软硬件协同设计的典型流程:

系统需求分析 软硬件划分 硬件设计(FPGA/ASIC) 软件设计(DSP/ARM) 系统集成与验证 图2:软硬件协同设计流程

嗯,这里要注意。协同设计不是万能的。它要求团队里硬件和软件工程师能有效沟通。我见过不少团队,硬件和软件互相甩锅——硬件说软件算法太复杂,软件说硬件资源不够用。协同设计就是要打破这种壁垒,让大家坐在一张桌子上谈。

好了,第一章的内容就到这里。通信系统的模型、模拟与数字的区别、分类方式,以及软硬件协同设计的概念,都是后面所有章节的基础。你把这些吃透了,后面学起来会轻松很多。


公众号:蓝海资料掘金营,微信deep3321