ESC
输入关键词搜索文章
目录

数字信号处理绪论

课程笔记 · 第 00 章 · Introduction
从列车信号采集到语音增量调制编码,理解数字信号处理的来龙去脉

本章定位

这是数字信号处理系列笔记的第 00 章,也是整个课程的入口。它不涉及公式与推导,目标是回答三个问题:

  • 数字信号处理到底是什么:用数值计算的方法对信号进行处理。
  • 数字信号从哪里来:三类来源——计算机 I/O、数码设备、模拟信号的离散化。
  • 为什么要用数字方法做信号处理:灵活性、高精度、易集成、能实现模拟系统难以达到的性能。

从第 01 章开始,才正式进入序列、卷积、变换与滤波器的数学语言。

引论 · 案例引入
一列高速列车里,数字信号处理在做什么

讲数字信号处理,最容易陷入"先讲离散序列再讲 FFT"的抽象陷阱。更直观的方式,是先看一个真实工业场景,把"DSP 在系统里到底承担什么角色"看清楚。

一列高速列车在运行过程中会持续采集大量信号:车速、轴温、振动、制动压力、受电弓电流、轨道应答器报文。这些信号既有来自传感器的连续模拟量(如轴温、振动),也有来自通信总线的离散报文(如应答器)。列车控制系统要做的事情,可以拆成四步:

  1. 采集:把传感器和总线上的信号按固定采样率取下来,得到数字样本。
  2. 分析:判断信号是不是正常——比如轴温有没有异常飙升、振动频谱里有没有故障特征频率。
  3. 处理:滤掉噪声、提取特征、做频谱估计、做故障识别。
  4. 控制:根据分析结果下达控制指令——比如降速、隔离故障车厢、触发制动。

这四步里的"采集—分析—处理",全部由数字信号处理承担。模拟电路也可以做滤波、做频谱分析,但只要列车要求"同一套硬件在不同时刻承担不同任务",就只能依赖 DSP——这正是数字信号处理相对模拟信号处理最根本的优势。

列车控制信号采集-分析-处理流程
列车控制系统中的数字信号处理流程:传感器与总线上的信号经过采集后进入分析模块,再由处理模块输出控制指令。这一结构是几乎所有 DSP 应用的抽象原型。
Part 1 · 基本概念
1. 数字信号处理是什么

数字信号处理(Digital Signal Processing, DSP)的核心定义很简单:

数字信号处理 = 用数值计算的方法对信号进行处理。

这句话里有两个关键点。第一,处理对象是信号——温度、声音、振动、图像、视频都是信号,研究它们携带的信息和变化规律。第二,处理手段是数值计算——所有操作最终都退化为对样本的加法、乘法、移位、累加和查表。

从课程的角度,DSP 关心三件事:

  • 怎么把模拟信号变成数字信号:采样、量化、编码,对应采样定理、A/D 转换、增量调制等具体技术。
  • 怎么在数字域里分析信号:卷积、相关、Z 变换、DFT/FFT,把时域问题映射到变换域去解。
  • 怎么在数字域里改造信号:IIR/FIR 滤波器设计、频谱估计、自适应滤波、多抽样率处理。
Part 2 · 实现方法
2. 数字信号处理实现的方法

2.1 数字信号的来源

任何要做数字信号处理的系统,第一步都是要有"数字信号"。但这些数字信号不会凭空出现,它有三种典型来源:

来源典型例子特征
计算机输入输出键盘、鼠标、扫码枪、串口报文天然就是离散的二进制序列,几乎没有"信号处理"问题,主要做协议解析。
数码设备直接输出B 超图像、数码相机 RAW 数据、数字麦克风 PCM 流设备内部已经做了 A/D,外部只需要做算法层处理。
模拟信号离散化语音、温度、振动、雷达回波、心电图自然界本来是连续的,必须经过采样 + 量化 + 编码才能进入数字域。这是课程最关心的来源。

第三类来源是课程的重点。模拟信号怎么变成数字信号?一个典型例子是语音的增量调制编码(Delta Modulation, DM)

  • 原信号是连续语音 $S(t)$
  • 预测信号 $S_p(t)$ 跟踪原信号,但只能以阶梯方式逼近;
  • 误差 $e(t)=S(t)-S_p(t)$ 与一个固定阈值比较:$e(t)>0$ 时输出 $+V$$e(t)<0$ 时输出 $-V$,由此得到一串二进制位 $C(n)$

增量调制的好处是编码规则简单(一比特一位),代价是动态范围受限——这也是后续 PCM、自适应增量调制要解决的问题。

语音增量调制编码波形
语音的增量调制编码:原信号 $S(t)$、预测信号 $S_p(t)$、编码位 $C(n)$、输出电压 $e(t)$ 的波形关系。$e(t)$ 看起来像方波,但它编码的不是幅值,而是"原信号当前比预测信号高还是低"。

2.2 数字信号处理的实现

有了数字信号,下一步就是"用什么去算"。工程上只有两条路:

  • 基于软件处理的数值运算:在通用计算机(PC、服务器、嵌入式 CPU)上跑算法代码(C/C++、Python、MATLAB)。灵活、改起来快,但实时性和吞吐受 CPU 主频与内存带宽限制。适合研发、原型验证、低速场景。
  • 基于软硬件结合的数字信号处理系统:用专用 DSP 芯片、FPGA 或 ASIC 实现算法,把关键运算硬化。硬件成本高、开发周期长,但实时性强、功耗低、吞吐高。列车控制、雷达、通信基站、医疗影像都走这条路。
两种路线并不互斥。现代系统普遍是"CPU 做调度与高层算法 + DSP/FPGA 做实时核"的异构架构,本课程关心的是算法本身,与具体实现平台解耦。
Part 3 · 特点
3. 数字信号处理的特点

数字信号处理能替代模拟信号处理成为主流,根本原因不在于它"更准",而在于它有以下四个模拟系统难以同时具备的特点:

1) 灵活性

同一套硬件,只需要改软件参数(滤波器系数、采样率、FFT 点数)就能切换功能。模拟电路要换功能往往要换硬件。

2) 高精度和高稳定性

数字系统的精度由字长决定,16 位、32 位、64 位都是可控的;模拟系统的精度受元件温漂、老化、噪声影响。数字系统的输出对温度与时间几乎不敏感。

3) 便于大规模集成

VLSI 工艺可以把大量数字运算单元压在单颗芯片里。DSP 芯片、FPGA、ASIC 都是这条路。模拟电路规模一大就面临匹配、噪声、功耗难题。

4) 模拟系统无法精确实现的性能

严格线性相位 FIR 滤波器、阶数极高的窄带滤波器、严格的频谱分析——这些在模拟域要么做不到、要么代价极大。数字域只是"算力 vs 字长"的工程问题。

Part 4 · 课程地图
4. 数字信号处理涉及的理论、实现技术与应用

理解这门课最直接的方式,是先看清它与先行课《信号与系统》的对应关系。两门课的核心工具完全平行,只是"连续"换成了"离散":

信号与系统与数字信号处理的内容对照
《信号与系统》(连续域)与《数字信号处理》(离散域)的内容对照表:傅里叶变换、拉普拉斯变换/ Z 变换、系统分析等工具一一对应,只是处理对象从连续时间信号变为离散时间信号。

课程主线沿三条脉络展开,分别对应分析工具、设计工具、应用领域:

脉络核心内容对应章节
离散时间信号及运算 序列、单位脉冲、卷积和、差分方程、LTI 系统性质、稳定性判据 第 01–02 章
傅里叶变换、Z 变换、离散~ DTFT、DFT/FFT、Z 变换、采样定理、变换域全景辨析 第 03–06 章、第 11 章
滤波器设计 数字滤波器结构、IIR 设计(模拟原型 + 双线性变换)、FIR 设计(窗函数 / 频率采样)、有限字长误差 第 07–10 章

三条脉络的逻辑关系是:先用离散时间信号与系统建立语言 → 再用变换工具把分析问题简化 → 最后用滤波器设计把分析工具变成可工程化的实现。这也是为什么入门第 00 章只能讲"是什么、为什么",真正的数学展开要等到第 01 章以后。

本章速查

  • 核心定义:数字信号处理 = 用数值计算的方法对信号进行处理。
  • 三类数字信号来源:计算机 I/O、数码设备直接输出、模拟信号的离散化(采样 + 量化 + 编码)。
  • 两条实现路线:基于软件的数值运算(灵活但受 CPU 限制)、基于软硬件结合的 DSP/FPGA/ASIC 系统(实时且高吞吐)。
  • 四大特点:灵活性、高精度高稳定性、易大规模集成、能实现模拟系统难以达到的性能(如严格线性相位)。
  • 三大课程脉络:离散时间信号与系统、傅里叶 / Z / DTFT / DFT 变换、滤波器设计(含有限字长误差)。