声音是空气的振动。要在程序里描述、分析甚至”制造”声音,第一步就是理解最简单的振动——正弦波。这一篇不假设你有任何物理或数学背景,我们从”旋转”开始,一步步推出正弦波公式,再讲清楚它三个参数的含义,最后用叠加原理说明:复杂的音乐其实是由简单的正弦波拼出来的。
1. 先从旋转说起:正弦是什么
1.1 单位圆上的旋转
想象一个点在单位圆上匀速转圈。它每转一圈,角度从 0 走到 2π(也就是 360°)。如果我们只记录这个点竖直方向的高度,会得到一条波浪线。
把角度记为 θ,竖直高度记为 y,那么:
y=sinθ
几个关键角度:
| θ | 0 | π/2 | π | 3π/2 | 2π |
|---|
| sinθ | 0 | 1 | 0 | −1 | 0 |
所以 sin 本质上是一个”旋转的投影”:角度匀速变化,投影高度就上下起伏。频率就是”每秒转多少圈”。
1.2 把旋转变成时间函数
设每秒转 f 圈,经过时间 t 秒转了 ft 圈,对应角度 2πft。于是高度随时间变化为:
s(t)=Asin(2πft)
这里先乘上振幅 A,后面马上解释。这就是正弦波的完整公式。你可以把它读成:”s(t) 等于振幅 A 乘以一个以频率 f 转动的正弦值”。

图上青色实线就是一条正弦波:横轴是时间,纵轴是”振动偏移量”。
2. 振幅 A:波有多高
2.1 定义
振幅 A 是振动偏离平衡位置的最大距离。公式里 sin 的取值范围是 [−1,1],乘上 A 后取值范围变成 [−A,A]。
s(t)=Asin(2πft)⟹−A≤s(t)≤A
2.2 振幅决定了什么
振幅对应声音的”大小”。振幅越大,空气压强变化越剧烈,传到耳朵里的能量越大,我们感觉越响。
但注意:振幅和响度不是线性关系。振幅翻倍,人耳并不会感觉”响了一倍”,而是只响了一点。这是因为人耳对响度的感知接近对数(详见系列第 3 篇《响度与分贝》)。这也是为什么音频软件里的音量滑块通常不是线性的。
2.3 在图上怎么看
看图:红色竖线标注的 A 就是波峰到平衡线的距离。一条振幅为 2A 的波,形状和 A 的波完全一样,只是整体”变高变低”了。
3. 频率 f 与周期 T:波有多密
3.1 定义
频率 f 是每秒完成振动的次数,单位 Hz(赫兹)。1 Hz 表示每秒振一次,1000 Hz 表示每秒振 1000 次。
完成一次完整振动需要的时间叫周期 T:
T=f1
两者互为倒数:频率越高,周期越短。
3.2 频率决定了什么
频率对应音高。440 Hz 是音乐里的标准音 A4(小提琴调音用的”国际标准音”),880 Hz 比它高一个八度,220 Hz 比它低一个八度。
人的听觉范围大约是 20 Hz 到 20 kHz(20000 Hz):
- 20–60 Hz:超低音,主要是”震动感”而不是”音高感”;
- 60–250 Hz:贝斯、底鼓的主体;
- 250 Hz–2 kHz:人声和旋律的主要范围;
- 2 kHz–20 kHz:高频泛音、镲片、空气感。
3.3 角频率 ω
公式里经常出现 2πf,它叫角频率,记作 ω:
ω=2πf
含义是”每秒转多少弧度”(2π 弧度 = 一整圈)。用它可以把正弦公式写得更短:
s(t)=Asin(ωt)
两种写法完全等价,后面文章里会混用。
3.4 在图上怎么看
图上绿色标注的 T 是相邻两个波峰之间的时间。频率 2 Hz 的波,一秒钟能看到两个完整波峰;频率 1000 Hz 的波,一秒钟有 1000 个波峰——在图上会挤成一条实心带,这也是为什么可视化时通常只显示很短的时间窗口。
4. 相位 φ:波从哪开始
4.1 定义
如果转圈不是从角度 0 开始的,而是先偏了 φ 弧度,公式变成:
s(t)=Asin(2πft+φ)
φ 叫初相位(简称相位)。它只改变波形在时间轴上的起点,不改变形状、频率或振幅。
4.2 相位差:两个同频波的”错位”
两个频率、振幅都相同的波,如果相位不同,它们形状完全一样,只是错开了一段时间。错开的量:
Δt=2πfφ=ωφ
相位差 φ 用弧度表示,一整圈是 2π。90°=π/2 弧度,180°=π 弧度。
4.3 相位为什么重要
单独听一个纯音时,相位几乎听不出来(耳朵对单一频率的相位不敏感)。但多个波叠加时,相位决定结果是加强还是抵消:
- 相位差 0(同相):Asinθ+Asinθ=2Asinθ,振幅翻倍;
- 相位差 π(反相):Asinθ+Asin(θ+π)=Asinθ−Asinθ=0,完全抵消。
图上橙色虚线就是同频但相位右移的波:它和青色实线形状一样,只是起点偏右。
5. 叠加原理:复杂声音 = 简单波之和
5.1 核心思想
声音在空气中的传播满足线性规律:两个波同时存在时,任意时刻的总振动等于各自振动的直接相加。写成公式:
stotal(t)=s1(t)+s2(t)+⋯+sN(t)
每个 si(t) 都可以是一个正弦波:
stotal(t)=i=1∑NAisin(2πfit+φi)
这就是叠加原理:同一时刻,把每个分量在那个时刻的值加起来,就是合成波的值。

上图里:
- 蓝色曲线是低频分量;
- 绿色曲线是中频分量;
- 白色曲线是两者相加的结果。
注意白色曲线在蓝色和绿色同向时更高、反向时更低——这就是”相加”在图形上的含义。
5.2 为什么正弦波是”积木”
你可能会问:为什么要选正弦波当积木,不能选别的形状?
答案是傅里叶定理(系列第 5 篇会详细证明):任何”足够平滑”的周期信号,都可以唯一地分解成不同频率、振幅、相位的正弦波之和。正弦波是”原子”,其他所有波形都是它的组合。这意味着:
- 一段小提琴声 = 基频正弦 + 若干泛音正弦;
- 一段鼓声 = 很多不同频率的正弦瞬间叠加再快速衰减;
- 一个方波 = 基频 + 奇次谐波(f,3f,5f,…)的无穷级数。
5.3 拍频:两个”很近”的频率
如果两个频率非常接近,比如 440 Hz 和 443 Hz,叠加后会产生周期性的”忽强忽弱”,这叫拍频(beating)。用和差化积:
sina+sinb=2cos2a−bsin2a+b
令 a=2πf1t、b=2πf2t,得到:
sin(2πf1t)+sin(2πf2t)=2cos(2π2f1−f2t)sin(2π2f1+f2t)
右边像一个平均频率 2f1+f2 的波,外面包着一层频率 2∣f1−f2∣ 的”外壳”。人耳听到的就是每秒 ∣f1−f2∣ 次的强弱变化。吉他调音就利用这个现象:两根弦音高接近时会有拍频,越接近拍得越慢。
6. 用叠加”造”声音:音色从哪来
6.1 谐波与音色
同一个音高(比如 220 Hz 的 A),钢琴、吉他、单簧管听起来完全不同,差别不在基频,而在**泛音(谐波)**的振幅与相位分布。
一组典型的谐波:
| 谐波 | 频率 | 振幅(示例) | 作用 |
|---|
| 基频 | f | 1.0 | 决定音高 |
| 二次谐波 | 2f | 0.4 | 增加”明亮度” |
| 三次谐波 | 3f | 0.2 | 增加”厚度” |
| 四次谐波 | 4f | 0.1 | 再增加亮度 |
| 高次谐波 | … | 递减 | 决定”尖锐”还是”圆润” |
合成公式:
s(t)=k=1∑KAksin(2πkft+φk)
6.2 一个可以直接玩的实验
系列文章的配套工具音频混合工具可以实时演示:
- 只开 220 Hz 分量:你听到一个干净、单调的”纯音”;
- 依次加上 440、660、880 Hz:声音逐渐从”正弦”变成更像乐器的音色;
- 切到”和弦”预设:三个非整数倍的频率叠加,形成丰满的和声;
- 拖动相位:波形形状变化,但音色变化不明显——这正说明相位对单音感知较弱、对叠加形状重要。
工具上半部分画的各分量曲线和白色合成线,就是本节公式的实时可视化。
7. 小结
这一篇的核心结论:
- 正弦波是”旋转的投影”:s(t)=Asin(2πft+φ);
- 振幅 A 决定响度,频率 f 决定音高,相位 φ 决定起点;
- 任意复杂声音都可以写成多个正弦波之和——这就是叠加原理;
- 音色差异来自各次谐波的振幅和相位分布;
- 同频同相相加变强,反相相消,相近频率产生拍频。
下一篇《音高与十二平均律》将回答一个更深的问题:为什么音乐用 12 个半音?频率和音高到底是什么关系?
8. 深入专题:叠加的代数、几何与常见误区
前面的内容足够应付日常使用,但”叠加”这个主题还能挖得更深:为什么拍频公式长那样?为什么方波需要无限个谐波?相位到底重不重要?这一节全部展开。
8.1 和差化积:拍频的完整推导
要证明”两个相近频率叠加会产生拍频”,需要三角恒等式。从最基础的加法公式出发:
sin(a+b)=sinacosb+cosasinb
sin(a−b)=sinacosb−cosasinb
两式相加:
sin(a+b)+sin(a−b)=2sinacosb
令 a=2πf1t、b=2πf2t,并做变量代换 a=(u+v)/2、b=(u−v)/2,得到:
sinu+sinv=2cos2u−vsin2u+v
把 u=2πf1t、v=2πf2t 代入:
sin(2πf1t)+sin(2πf2t)=2cos(2π2f1−f2t)sin(2π2f1+f2t)
解读:
- sin 部分是平均频率 2f1+f2 的载波;
- cos 部分是频率 2∣f1−f2∣ 的包络;
- 包络从 +1 到 −1 再回来是一个周期,对应 1/∣f1−f2∣ 秒,所以人耳每秒听到 ∣f1−f2∣ 次强弱变化。
例如 440 Hz 和 443 Hz:每秒 3 次强弱变化,这就是”拍频 3 Hz”。
8.2 为什么方波需要无限个谐波
方波的数学定义:
square(t)={+1,−1,0<t<T/2T/2<t<T
它的傅里叶级数是:
square(t)=π4k=0∑∞2k+1sin(2π(2k+1)ft)
也就是只有奇次谐波:f,3f,5f,7f,…,振幅按 1/k 衰减。

图里可以看到:
- 只有 f:一条正弦;
- 加 3f:波形开始”变方”;
- 加 5f:边缘更陡;
- 加 7f 甚至更多:顶部更平、跳变更锐利。
但注意:无论加多少有限个谐波,合成结果都不会是完美方波,因为跳变处需要无穷多个高频分量。这是傅里叶级数的一个重要现象(吉布斯现象)。同理,任何有限个正弦波合成的信号都是光滑的,只有无穷级数才能产生真正的”角”。
8.3 相位叠加的三种典型情况

两个同频同幅的正弦波 Asinθ 和 Asin(θ+φ):
情况一:φ=0(同相)
Asinθ+Asinθ=2Asinθ
振幅直接翻倍。
情况二:φ=π(反相)
Asinθ+Asin(θ+π)=Asinθ−Asinθ=0
完全抵消,静音。这就是降噪耳机的基本原理:采集环境噪声,反相播放,把噪声”减掉”。
情况三:φ=π/2(正交)
利用和差化积:
Asinθ+Asin(θ+π/2)=Asinθ+Acosθ=2Asin(θ+π/4)
结果仍是正弦,振幅变成 2A,相位平移 45°。注意:两个同频正弦无论相位差多少,叠加结果都是同频正弦,只是振幅和相位变了。这一点很重要,也是为什么”同频”的分析可以只用振幅和相位两个数描述。
一般地,A1sin(ωt+φ1)+A2sin(ωt+φ2) 可以合并成 Asin(ωt+φ),其中:
A=A12+A22+2A1A2cos(φ2−φ1)
tanφ=A1cosφ1+A2cosφ2A1sinφ1+A2sinφ2
这两个公式在”合成器相位叠加”里很常用,建议自己代入验证一遍。
8.4 数值手算:三个谐波逐点相加
设采样间隔 Ts,取 t=0,Ts,2Ts,…。我们用 f=220、2f=440、3f=660 Hz,振幅 1,0.5,0.25,相位全为 0,在一个周期内取 8 个点手算:
| n | sin(2πftn) | 0.5sin(2π⋅2ftn) | 0.25sin(2π⋅3ftn) | 合成 |
|---|
| 0 | 0 | 0 | 0 | 0 |
| 1 | 0.707 | 1.000 | 0.707 | 2.414 |
| 2 | 1.000 | 0 | −1.000 | 0 |
| 3 | 0.707 | −1.000 | 0.707 | 0.414 |
| 4 | 0 | 0 | 0 | 0 |
| 5 | −0.707 | 1.000 | −0.707 | −0.414 |
| 6 | −1.000 | 0 | 1.000 | 0 |
| 7 | −0.707 | −1.000 | −0.707 | −2.414 |
注意 tn=nTs,2πftn=2πn/8(因为一个周期 8 个点),于是 sin(2πn/8)、sin(2π⋅2n/8)、sin(2π⋅3n/8) 可以直接查表。合成列就是”同一行三个值相加”,这正好演示了叠加原理的逐点计算。把这张表画到坐标纸上,就是白色合成曲线的 8 个采样点。
8.5 常见误区
误区一:“相位不重要,可以随便设”
对单一频率的纯音,人耳确实很难分辨相位。但叠加多个波时,相位直接决定波形形状:同相翻倍、反相抵消。降噪耳机、波束成形、相控阵雷达全是靠”控制相位”工作的。
误区二:“振幅越大,响得越多”
人耳对响度的感知接近对数。振幅从 1 到 2 只增加约 6 dB,感觉只”响了一点”;要感觉”响了一倍”大约需要 +10 dB(振幅 ×3.16)。详见系列第 3 篇。
误区三:“声音大 = 音调高”
音高由频率决定,响度由振幅决定,两者独立。低音贝斯可以震得胸口发闷(振幅大),但音高很低。
误区四:“方波就是两个正弦波”
方波需要无穷多个奇次谐波。有限个正弦叠加永远是光滑曲线,不能产生真正的直角跳变。
误区五:“播放器里的波形就是原始声波”
播放器画的波形通常只取很短的时间窗口(几毫秒到几十毫秒),低频分量在这种窗口里可能只看到一小段;而且显示时做了归一化和压缩,不代表真实振幅。
8.6 扩展练习
- 用和差化积证明:440 Hz 与 444 Hz 叠加后包络频率是 2 Hz。
- 计算 3sinθ+4cosθ 的振幅和相位(提示:写成 Asin(θ+φ))。
- 用音频混合工具分别设两个分量为 220 Hz(振幅 1)和 660 Hz(振幅 0.33),观察是否接近方波的前两项,并解释为什么比例是 1:1/3。
- 为什么降噪耳机需要”反相”而不是”减小音量”?用公式说明。
练习
- 440 Hz 的正弦波,周期是多少毫秒?
- 写出 s(t)=3sin(2π⋅1000t+π/2) 的振幅、频率、初相位。
- 两个同频同幅反相的正弦波叠加结果是什么?用公式验证。
- 打开音频混合工具,分别设置两个分量为 440 Hz 和 443 Hz,观察白色合成波的”拍频”。