Visual LabINTERACTIVE LEARNING
阶段 1 · 信号数字化入门20 分钟

从空气振动到数字:采样与量化

Analog Signal → Sampling → Quantization → Digital Samples

沿着麦克风输入观察连续信号如何按固定频率取样,再被有限位深映射为可存储的整数。

LEARNING GOALS

先明确本课目标

1

理解模拟信号与离散样本的区别

2

解释采样率和位深分别控制什么

3

识别采样不足与量化误差

MENTAL MODEL · 再建立心智模型

采样是在时间轴上切格子,量化是在振幅轴上切台阶;数字信号就是每个时间格落在哪一级台阶的编号序列。

MINIMAL EXAMPLE

位深降低时,数字样本发生了什么?

位深 b 只允许 2 的 b 次方个幅度等级。编码器把归一化振幅映射到最近整数等级,再在播放端把等级还原为近似振幅。

最小例子javascript
const levels = 2 ** bitDepth;
const normalized = (sample + 1) / 2;
const integer = Math.round(normalized * (levels - 1));
const restored = integer / (levels - 1) * 2 - 1;
  1. 归一化幅度 先把 -1 到 1 的振幅移动到 0 到 1。
  2. 映射整数等级 乘以等级数并取整,连续幅度变成离散编号。
  3. 还原近似振幅 播放时只能回到对应台阶,原值与台阶之间就是误差。

位深越低台阶越明显,误差越大;位深越高则量化噪声底越低。

本课概念
OPTIONAL · 按需查阅完整术语表与概念边界

遇到陌生术语时再展开,不打断主线实验。

展开⌄
LIVE EXPERIMENT · 先获得反馈

边改边运行

浏览器加载后会激活代码编辑器、独立运行环境与实时输出。

本课挑战

给可视化加入抗混叠滤波器,并显示采样前后频谱。

DEEP DIVE · 实验之后

回到原理,解释刚才发生了什么

先用结果建立反馈,再按运行流程、核心原理和知识关系逐层深入。

CORE IDEA

核心讲解

01

时间离散化:采样

ADC 按采样时钟测量连续电压。根据 Nyquist 思路,要可靠表示最高频率 f,采样率必须高于 2f,并在采样前使用抗混叠滤波器限制带宽。

02

幅度离散化:量化

位深决定可用幅度等级数。16-bit 提供 65536 个等级;真实值被舍入到最近台阶,差值成为量化噪声。

OPTIONAL · 迁移时查阅Web 与原生实现对照

主线实验完成后,再用完整映射处理跨平台或跨 API 迁移。

展开⌄
API COMPARISON

Web 与原生面对的是同一串样本,差别主要在设备入口和缓冲控制深度。

WebGL

原生端可经 Core Audio、AAudio、WASAPI 等直接配置设备格式、回调缓冲和延迟。

WebGPU

Web 端通常通过 getUserMedia 或 Web Audio 得到浏览器已采集、转换后的浮点样本。

先掌握采样与量化,平台 API 只是把同一物理过程包装成不同的缓冲接口。