B — 物理层

物理层是 OSI 七层模型的最底层,为数据传输提供物理通道,定义机械、电气、功能、规程四大特性。其核心任务:在物理介质上透明传输比特流。

通信基础

通信系统模型

flowchart LR
 S[信源] -->|信息| E[发送器/编码器]
 E -->|信号| C[信道]
 C -->|受噪信号| D[接收器/解码器]
 D -->|信息| R[信宿]
 N[噪声源] -.->|干扰| C
  • 信源 (Source): 产生数据的实体
  • 信号 (Signal): 数据的电气/电磁表示
  • 信道 (Channel): 信号传输的物理通路
  • 信宿 (Destination): 接收数据的实体

信号分类

维度模拟信号数字信号
取值连续 (连续值)离散 (有限离散值)
时间连续时间离散/连续均可
抗噪差 (噪声积累)强 (判决重生)
带宽占用窄占用宽 (理论上无限)
典型介质双绞线、同轴光纤

基带 vs 带通 传输

类型定义适用信道典型编码
基带传输直接传输数字信号 (未经载波调制)低通信道 (如双绞线以太网)NRZ, 曼彻斯特
带通传输将数字信号调制到高频载波上传输带通信道 (如无线、光纤)ASK, FSK, PSK, QAM

奈奎斯特定理 (Nyquist)

无噪声信道的最大数据传输率

其中:

  • W: 信道带宽 (Hz)
  • V: 信号离散等级数 (signal levels / 码元数)
  • 若无噪声,2W 是最大码元速率 (baud rate)

工作示例

例 1: 带宽 3kHz 的无噪声信道,使用 4 电平信号。最大数据率?

例 2: 带宽 4kHz 的信道,要达到 32 kbps,最小信号电平数 V 是多少?

易错点: 码元速率 (Baud) ≠ 比特率 (bps)。比特率 = 码元速率 × log2(V)。若题目给 “码元速率”,先乘以 log2(V) 才得 bps;若给 “比特率”,可直接代入奈奎斯特求 V。


香农定理 (Shannon)

有噪声信道 (带宽受限、功率受限) 的最大数据传输率

其中:

  • W: 信道带宽 (Hz)
  • S/N: 信噪比 (功率比,线性值,非 dB)
  • 该定理给出的是信道容量上界,实际编码无法达到

dB 转换 (高频考点)

dBS/N (线性)
10 dB10
20 dB100
30 dB1000
40 dB10000

工作示例

例 1: 带宽 3kHz, 信噪比 30 dB。信道容量?

例 2 (奈奎斯特+香农联考): 带宽 4kHz, 信噪比 30dB, 信号电平 V。求达到信道容量所需的最小 V。

同时满足两个定理:取较小者作为实际可达速率。香农给上限,奈奎斯特给无噪声下 V 决定的限制。


编码与调制

数字 → 数字 (Digital Encoding)

graph LR
 subgraph NRZ
 direction TB
 A0["0: 高电平<br/>1: 低电平<br/>(或无跳变)"]
 end
 subgraph NRZI
 direction TB
 B0["0: 无跳变<br/>1: 有跳变<br/>(差分编码)"]
 end
 subgraph Manchester
 direction TB
 C0["0: 高→低<br/>1: 低→高<br/>(时钟同步内置)"]
 end
 subgraph Diff_Man
 direction TB
 D0["0: 起始有跳变<br/>1: 起始无跳变<br/>(差分+时钟)"]
 end
编码方式同步方式效率典型应用优缺点
NRZ (不归零)无自同步100%RS-232长串0/1致DC分量,难同步
NRZI (差分不归零)无自同步100%USB差分编码但仍有DC问题
曼彻斯特自同步 (每bit中间跳变)50%10BASE-T 以太网带宽加倍,同步完善
差分曼彻斯特自同步50%令牌环 (802.5)差分+同步;对极性不敏感

曼彻斯特波形图 (Mermaid Timing)

sequenceDiagram
 autonumber
 participant Clock
 participant Data as 数据流
 participant Manchester as 曼彻斯特输出
 Note over Clock: 每位中间跳变
 Data->>Manchester: bit=0 → 中间上升沿 (低→高)
 Data->>Manchester: bit=1 → 中间下降沿 (高→低)

数字 → 模拟 (Digital Modulation)

graph TD
 subgraph ASK["ASK (幅移键控)"]
 A1["0: 无载波<br/>1: 有载波<br/>抗噪差"]
 end
 subgraph FSK["FSK (频移键控)"]
 B1["0: f1<br/>1: f2<br/>抗噪较好"]
 end
 subgraph PSK["PSK (相移键控)"]
 C1["0: 相位0°<br/>1: 相位180°<br/>抗噪好"]
 end
 subgraph QAM["QAM (正交振幅调制)"]
 D1["幅度+相位联合<br/>16-QAM/64-QAM/256-QAM<br/>星座图"]
 end

QPSK 星座图 (Mermaid)

quadrantChart
 title QPSK 星座图 (2 bit per symbol)
 x-axis I (同相)
 y-axis Q (正交)
 quadrant-1 "00 (45°)"
 quadrant-2 "01 (135°)"
 quadrant-3 "10 (225°)"
 quadrant-4 "11 (315°)"

每个符号携带 log2(M) 位;16-QAM = 4 bit/symbol, 64-QAM = 6 bit/symbol。

模拟 → 数字: PCM (脉冲编码调制)

三步骤: 采样 (Sampling) → 量化 (Quantization) → 编码 (Coding)

flowchart LR
 A[模拟信号] --> B[采样<br/>Sampling]
 B --> C[量化<br/>Quantization]
 C --> D[编码<br/>Coding]
 D --> E[数字比特流]
 F[低通滤波器] --> A

采样定理 (Nyquist Sampling Theorem):

  • 若信号最高频率 f_max,采样频率 f_s 至少为 2f_max
  • : 语音信号 300~3400 Hz,f_max=3400,但 PCM 取 4000 Hz,f_s=8000 Hz (电话标准)
  • 不满足采样定理将产生混叠 (Aliasing)

量化: 将采样值映射到有限离散电平。量化级数 N=2^nn 为每样本比特数。

PCM 数据率计算:

: 电话 PCM: f_s=8000, n=8R = 64000 bps = 64 kbps (DS0)


传输介质

介质带宽最大距离抗干扰成本典型应用
UTP (Cat5e)100 MHz100 m中 (双绞消除电磁)100BASE-T
UTP (Cat6/Cat6a)250 / 500 MHz100 m1G / 10G Ethernet
STP600 MHz100 m较好数据中心
同轴电缆 (RG-6)1 GHz500 m较好DOCSIS/HFC
多模光纤 (MMF)~100 THz550 m (OM4)极好 (无电磁干扰)数据中心短距
单模光纤 (SMF)~100 THz120 km+极好长距离/运营商
无线电 (WiFi 2.4GHz)~100m (室内)WLAN
无线电 (WiFi 5GHz)~50m (室内)WLAN

信道复用 (Channel Multiplexing)

FDM — 频分复用

flowchart TD
 S1[信源1] --> M[调制器 f1]
 S2[信源2] -->|调制器 f2| COMB[合路器]
 S3[信源3] -->|调制器 f3| COMB
 COMB --> C[共享信道]
 C --> SEP[分路器]
 SEP --> D1[解调器 f1] --> R1[信宿1]
 SEP --> D2[解调器 f2] --> R2[信宿2]
 SEP --> D3[解调器 f3] --> R3[信宿3]

每个用户独占一段频率子带,信道总带宽 = 各子带带宽之和 + 保护间隔。典型应用: AM/FM 广播、ADSL、有线电视。

TDM — 时分复用

gantt
 title TDM 时分复用 (3个用户, 4轮)
 dateFormat HH:mm
 axisFormat %H:%M
 section 用户1
 Slot1 :a1, 00:00, 1min
 Slot1 :a4, 00:03, 1min
 Slot1 :a7, 00:06, 1min
 Slot1 :a9, 00:09, 1min
 section 用户2
 Slot2 :b2, 00:01, 1min
 Slot2 :b5, 00:04, 1min
 Slot2 :b8, 00:07, 1min
 section 用户3
 Slot3 :c3, 00:02, 1min
 Slot3 :c6, 00:05, 1min

同步 TDM: 固定分配时隙,无数据也占用 — 带宽浪费

统计 TDM (STDM): 按需动态分配时隙,需要额外地址标识开销

WDM — 波分复用

实质是光纤上的 FDM。不同波长 (λ) 的光承载不同数据流。

  • DWDM (Dense): 信道间距 < 0.8 nm (约 100 GHz Frequency Grid),ITU-T G.694.1
  • CWDM (Coarse): 信道间距 20 nm, 最多 18 个波长

CDM — 码分复用

每个站点分配唯一的码片序列 (Chip Sequence)。发送 1 发送原码片,发送 0 发送反码片。

正交码片: 两个码片向量内积为 0,归一化自相关为 1。

工作示例:

给 A 分配 (–1 –1 –1 +1 +1 –1 +1 +1),给 B 分配 (–1 –1 +1 –1 +1 +1 +1 –1)

站 A 发送位 1,站 B 发送位 0,同时传输。接收方收到的叠加信号:

A_send = (–1 –1 –1 +1 +1 –1 +1 +1)
B_send = (+1 +1 –1 +1 –1 –1 –1 +1) ← B send 0 → 取反码片
S_sum = ( 0 0 –2 +2 0 –2 0 +2)

接收方解码 A: S_sum · A = (0×–1 + 0×–1 + –2×–1 + 2×1 + 0×1 + –2×–1 + 0×1 + 2×1)/8 = (0+0+2+2+0+2+0+2)/8 = 8/8 = 1 → 位 1

接收方解码 B: S_sum · B = (0×–1 + 0×–1 + –2×1 + 2×–1 + 0×1 + –2×1 + 0×1 + 2×–1)/8 = (0+0–2–2+0–2+0–2)/8 = –8/8 = –1 → 位 0


宽带接入

ADSL (Asymmetric Digital Subscriber Line)

  • 非对称: 下行 (downstream) 带宽远大于上行 (upstream)
  • 基于 FDM: 04kHz 为传统电话 (POTS), 上行 25138kHz, 下行 138~1104kHz
  • 调制方式: DMT (Discrete Multi-Tone) — 将频谱分成 256 个子信道 (4kHz 每通道)
  • 最高速率: ADSL2+ 下行 24 Mbps, 上行不超过 3.5 Mbps

FTTH (Fiber to the Home)

  • PON (Passive Optical Network): OLT → splitter (无源) → ONU
  • EPON (802.3ah): 1 Gbps, Ethernet framed
  • GPON (ITU-T G.984): 下行 2.488 Gbps, 上行 1.244 Gbps, GEM framed

DOCSIS (Data Over Cable Service Interface Specification)

  • 基于 HFC (Hybrid Fiber Coax)
  • 下行: 6 MHz 信道, QAM 调制, 最高 DOCSIS 3.1 达 10 Gbps
  • 上行: 6.4 MHz 信道, QPSK/16-QAM
  • CMTS (Cable Modem Termination System) 负责调度所有 Cable Modem

C 代码: 查询网络接口物理参数

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <net/if.h>
#include <linux/sockios.h>
#include <linux/ethtool.h>
 
struct ethtool_cmd {
 unsigned int cmd;
 unsigned int supported;
 unsigned int advertising;
 unsigned short speed; /* Mbps */
 unsigned char duplex; /* DUPLEX_HALF=1, DUPLEX_FULL=2 */
 unsigned char port;
 unsigned char phy_address;
 unsigned char transceiver;
 unsigned char autoneg;
 unsigned int maxtxpkt;
 unsigned int maxrxpkt;
 unsigned int reserved[4];
};
 
#define ETHTOOL_GSET 0x00000001
 
static int ethtool_get(const char *ifname, struct ethtool_cmd *ecmd) {
 int fd = socket(AF_INET, SOCK_DGRAM, 0);
 if (fd < 0) return -1;
 
 struct ifreq ifr;
 memset(&ifr, 0, sizeof(ifr));
 strncpy(ifr.ifr_name, ifname, IFNAMSIZ - 1);
 
 ecmd->cmd = ETHTOOL_GSET;
 ifr.ifr_data = (void *)ecmd;
 
 if (ioctl(fd, SIOCETHTOOL, &ifr) < 0) {
 close(fd);
 return -1;
 }
 close(fd);
 return 0;
}
 
int main(int argc, char **argv) {
 const char *ifname = (argc > 1) ? argv[1] : "eth0";
 struct ethtool_cmd ecmd;
 
 if (ethtool_get(ifname, &ecmd) < 0) {
 perror("ethtool_get");
 return 1;
 }
 
 /* Speed and Duplex belong to physical layer */
 printf("Interface: %s\n", ifname);
 printf(" Speed : %u Mbps\n", ecmd.speed);
 printf(" Duplex : %s\n",
 ecmd.duplex == 2 ? "Full" : "Half");
 printf(" Auto-Neg: %s\n",
 ecmd.autoneg ? "On" : "Off");
 printf(" Port : %u\n", ecmd.port);
 
 return 0;
}

编译: gcc -o phy_info phy_info.c && sudo ./phy_info eth0

字段含义层层归属
speed物理层速率 (bps)物理层
duplex半双工/全双工物理层 / MAC 子层
autoneg自动协商 FLP 脉冲物理层

物理层总结对比

定理条件公式决定因素
奈奎斯特无噪声2W log2(V)带宽 W, 电平数 V
香农有噪声W log2(1+S/N)带宽 W, 信噪比 S/N
采样定理模拟→数字f_s ≥ 2f_max信号最高频率 f_max

解题套路: 题目同时给出带宽 W、信噪比 dB、电平数 V → 分别计算香农容量和奈奎斯特速率,取较小者为最终答案。


相关笔记: A_体系结构, C_数据链路层, D_网络层, E_传输层