数字信号处理入门:数字信号及其基本运算
发布说明:本文按照课件内容重写为博客体例,删除原 PPT 页码、模板标题和页面式标题,改为适合阅读的章节标题。内容面向 0 基础读者,保留课件中的核心定义、公式、例题和运算方法。
写在前面:数字信号处理到底学什么
“数字信号处理”可以拆成三个词理解:信号、数字、处理。
信号是承载信息的对象。人的语音、手机录音、温度变化、压力变化、图像亮度、传感器测量值,都是信号。数字表示这些信号最终要用离散的数字序列来记录。处理则表示我们要对这些数字进行分析、变换、滤波、压缩、识别或重建。
因此,数字信号处理研究的核心问题是:如何把现实世界中的连续信息表示成数字序列,并用数学方法对它进行处理。
本文先建立两个基本观念:一是常见数字信号序列长什么样;二是数字信号序列可以做哪些基本运算。掌握这两点,后面的傅里叶变换、Z 变换、数字滤波器才有基础。
学习路线:先认识序列,再学习运算
本讲内容可以分为两条主线。
第一条主线是常用数字信号序列,包括单位抽样序列、单位阶跃序列、矩形序列、实指数序列、复指数序列、正弦序列和周期序列。这些序列相当于数字信号处理中的“基本词汇”。
第二条主线是数字信号序列的基本运算,包括移位、翻折、相加、相乘、累加、尺度变换和卷积和。这些运算相当于数字信号处理中的“基本语法”。
后续的系统分析,本质上就是用这些基本序列和基本运算描述输入、输出与系统之间的关系。
从“信号”开始理解
信号是传递信息的函数,可以表示成一个或几个独立变量的函数,例如:
f(x),f(t),f(x,y)
其中,t 常用来表示时间,x,y 常用来表示空间坐标。语音信号通常随时间变化,因此常写作 x(t);图像信号随二维空间位置变化,因此可以写作 f(x,y)。
信号可以从不同角度分类。
按照载体,信号可以分为电信号、磁信号、声信号等。比如麦克风把声音变成电压变化,这个电压变化就是电信号。
按照变量个数,信号可以分为一维、二维和多维信号。语音是一维信号,图像是二维信号,视频可以看作二维图像随时间变化形成的三维信号。
按照周期性,信号可以分为周期信号和非周期信号。周期信号会按固定间隔重复,非周期信号则不会严格重复。
按照是否为确定函数,信号可以分为确定信号和随机信号。正弦信号可以由明确公式描述,属于确定信号;噪声具有不确定性,常作为随机信号处理。
按照能量或功率是否有限,信号还可以分为能量信号和功率信号。这一分类在信号分析中非常常见。
连续时间信号:现实世界常见的原始形态
在连续时间范围内定义,并且幅值连续变化的信号,称为模拟信号,也常称为连续时间信号,通常记作:
x(t)
这里的 t 是连续时间变量,可以取任意实数。例如 t=0.1、t=0.15、t=2.367 都是允许的。
现实世界中很多原始信号都接近连续信号。声音、温度、压力、电压、电流、图像亮度等,都可以在连续时间或连续空间中变化。用电压或电流去模拟这些物理量,就得到模拟信号。

连续时间信号的图像通常是一条连续曲线。它强调的是“任意时刻都有取值”。
离散时间信号与数字信号:从曲线变成点列
当时间变量不再连续,而只在一个个离散时刻取值时,信号称为离散时间信号,通常写作:
x(n)
这里的 n 是整数,表示第 n 个采样点。也就是说,离散时间信号不是一条连续曲线,而是一串按整数编号排列的数据点:
⋯,x(−2),x(−1),x(0),x(1),x(2),⋯
如果时间和幅值都被离散化,就称为数字信号。离散时间信号强调时间离散;数字信号进一步强调幅值也用有限精度数字表示。

例如,电脑中的音频文件不是连续曲线,而是一串采样值。每一个采样值都由二进制数字存储,这就是数字信号。
A/D 与 D/A:模拟世界和数字世界之间的桥
模拟信号可以通过 A/D 变换得到数字信号。A/D 是 Analog-to-Digital,即模数转换。它通常包括采样、量化和编码三个步骤。
数字信号也可以通过 D/A 变换重新变成模拟信号。D/A 是 Digital-to-Analog,即数模转换。
可以把二者关系写成:
x(t)A/Dx(n)
x(n)D/Ax(t)

一个生活例子是录音与播放。人说话产生模拟声音,麦克风把声音转成模拟电信号,声卡通过 A/D 把它转成数字音频文件;播放时,数字音频文件再经过 D/A 转换,驱动扬声器发声。
单位抽样序列:离散信号中的“一个点”
单位抽样序列又称单位冲激序列,记作:
δ(n)
其定义为:
δ(n)={1,0,n=0n=0
它只在 n=0 处取值为 1,其他位置都为 0。
如果把它平移到 n=m 处,就得到:
δ(n−m)={1,0,n=mn=m

单位抽样序列很重要,因为它是离散序列中的“单点构件”。任何复杂离散序列都可以拆成许多个不同位置、不同高度的单位抽样序列之和。
连续时间冲激信号:理想化的瞬时作用
连续时间中的单位冲激信号记作:
δ(t)
它不是普通意义下的函数,而是一种理想化模型。其核心性质是:
∫−∞+∞δ(t)dt=1
并且:
δ(t)=0,t=0
可以从三点理解连续冲激信号:除了 t=0 之外处处为零;在 t=0 处可以理解为无穷大;在包含冲激位置的任意区间内,面积为 1。
延时冲激信号写作:
δ(t−t0)
它只在 t=t0 处发生冲激,并满足:
∫−∞+∞δ(t−t0)dt=1
现实中不存在真正无限窄、无限高的信号,但可以用很窄、很高且面积保持为 1 的脉冲来近似冲激信号。
冲激函数的基本性质
冲激函数最重要的性质是抽样性:
f(t)δ(t)=f(0)δ(t)
∫−∞+∞f(t)δ(t)dt=f(0)
它的含义是:冲激函数可以从连续函数中“挑出”某一点的值。
冲激函数还是偶函数:
δ(−t)=δ(t)
比例性质为:
δ(at)=∣a∣1δ(t)
卷积性质为:
f(t)∗δ(t)=f(t)
这说明单位冲激信号在卷积中相当于“单位元”。一个信号和单位冲激卷积,结果还是原信号。
用单位抽样序列表示任意离散序列
任意离散序列 x(n) 都可以表示为:
x(n)=m=−∞∑+∞x(m)δ(n−m)
这个公式的含义是:把序列中每一个点单独拿出来,用一个平移后的单位抽样序列表示,再把所有点加起来,就恢复原序列。
例如某序列在 n=−1,0,1,2,3 处的值分别为 1,2,1,−2,1.5,则它可以写成:
x(n)=δ(n+1)+2δ(n)+δ(n−1)−2δ(n−2)+1.5δ(n−3)
这里每一项都表示一个位置上的点。例如 −2δ(n−2) 表示在 n=2 处有一个高度为 −2 的样本点。
冲激响应:系统特性的“身份证”
系统在单位冲激信号作用下产生的零状态响应,称为单位冲激响应,简称冲激响应,通常记作:
h(t)
若系统记作 H,则可以写成:
δ(t)→H→h(t)
零状态响应表示系统初始状态为零,只考虑输入信号产生的响应。
冲激响应之所以重要,是因为它能反映系统自身特性。不同系统在同样的单位冲激输入下通常会产生不同响应。对于线性时不变系统,只要知道冲激响应,就可以通过卷积求出任意输入下的输出。
单位阶跃序列:从某一时刻开始一直存在
单位阶跃序列记作:
u(n)
定义为:
u(n)={1,0,n≥0n<0
它表示序列从 n=0 开始取值为 1,在 n<0 时取值为 0。

单位阶跃序列与单位抽样序列之间有密切关系:
δ(n)=u(n)−u(n−1)
因为 u(n) 从 n=0 开始为 1,而 u(n−1) 从 n=1 开始为 1,两者相减后只在 n=0 处留下 1。
反过来,单位阶跃序列可以看作从 n=0 开始无穷多个单位抽样序列之和:
u(n)=m=0∑∞δ(n−m)
即:
u(n)=δ(n)+δ(n−1)+δ(n−2)+⋯
连续时间单位阶跃信号
连续时间单位阶跃信号记作:
u(t)
定义为:
u(t)={0,1,t<0t>0
延时单位阶跃信号写作:
u(t−t0)
定义为:
u(t−t0)={0,1,t<t0t>t0
它表示阶跃发生的位置从 t=0 移到了 t=t0。工程中,开关从关闭变为打开、系统突然加上恒定输入,都可以用阶跃信号描述。
矩形序列:有限长度的窗口
矩形序列记作:
RN(n)
定义为:
RN(n)={1,0,0≤n≤N−1其他
它只在 0 到 N−1 之间取值为 1,其他位置为 0。

矩形序列可以用单位阶跃序列表示:
RN(n)=u(n)−u(n−N)
这个公式可以理解为“先打开,再关闭”。u(n) 从 n=0 打开,u(n−N) 从 n=N 打开,两者相减后,只保留 0≤n≤N−1 这一段。
矩形序列也可以用单位抽样序列表示:
RN(n)=k=0∑N−1δ(n−k)
也就是:
RN(n)=δ(n)+δ(n−1)+δ(n−2)+⋯+δ[n−(N−1)]
这说明矩形序列本质上是有限个单位抽样序列的叠加。
实指数序列:衰减与发散
实指数序列通常写作:
anu(n)
其中 a 是实数,u(n) 表示序列从 n=0 开始存在。
当:
∣a∣<1
序列随 n 增大逐渐趋近于 0,称为收敛序列。
当:
∣a∣>1
序列随 n 增大不断变大,称为发散序列。

例如,当 a=21 时,序列为:
1,21,41,81,⋯
它是典型的衰减序列。若 a=2,则序列为:
1,2,4,8,⋯
它是典型的增长序列。系统自然响应中经常出现指数序列,稳定系统常对应衰减指数项,不稳定系统可能出现增长指数项。
复指数序列:指数与正弦的统一表达
复指数序列可写作:
x(n)=e(σ+jω0)n
根据指数运算性质:
x(n)=eσnejω0n
再利用欧拉公式:
ejω0n=cos(ω0n)+jsin(ω0n)
得到:
x(n)=eσn[cos(ω0n)+jsin(ω0n)]
这里,σ 控制幅值增长或衰减,ω0 控制振荡频率。
如果 σ<0,幅值衰减;如果 σ>0,幅值增长;如果 σ=0,幅值不变,只保留纯振荡。
复指数序列是傅里叶分析、Z 变换和频率响应的基础。数字信号处理中很多复杂信号都可以分解为复指数信号的组合。
正弦型序列与数字频率
正弦型序列可以写作:
x(n)=Acos(nω0+φ)
其中,A 是幅值,ω0 是数字角频率,φ 是初相位。
如果正弦序列由模拟信号采样得到,例如模拟信号为:
xa(t)=sin(Ωt)
采样周期为 T,在 t=nT 处取样,则:
xa(t)∣t=nT=sin(ΩnT)
数字序列可写为:
x(n)=sin(ωn)
其中数字频率和模拟角频率满足:
ω=ΩT
这个公式非常重要。它说明数字频率不仅由模拟频率 Ω 决定,也由采样周期 T 决定。采样周期越大,同一模拟频率对应的数字频率越大;采样周期越小,对应的数字频率越小。
周期序列的判断标准
如果存在一个最小的正整数 N,使得:
x(n)=x(n+N),−∞<n<+∞
则称 x(n) 为周期序列,N 为周期。
注意,离散时间序列的周期必须是正整数。因为 n 只能取整数,不存在“半个采样点”的序号。
以序列
x(n)=sin(4πn)
为例。若令 n 变为 n+8,则:
x(n+8)=sin[4π(n+8)]=sin(4πn+2π)
由于 sin(θ+2π)=sinθ,所以:
x(n+8)=x(n)
因此该序列周期为 N=8。

一般正弦序列的周期性
设一般正弦序列为:
x(n)=Asin(ω0n+φ)
若它是周期序列,则应满足:
x(n+N)=x(n)
代入得到:
x(n+N)=Asin[ω0(n+N)+φ]
即:
x(n+N)=Asin(ω0n+ω0N+φ)
要使它等于原序列,需要:
ω0N=2πk
其中 k 为整数。于是:
N=ω02πk
由于 N 必须是正整数,所以并不是所有离散正弦序列都是周期序列。
具体分三种情况。
若 ω02π 是整数,取 k=1,则周期为:
N=ω02π
若 ω02π 不是整数,而是有理数,设:
ω02π=QP
其中 P,Q 互素。取 k=Q,则:
N=P
因此序列仍然是周期序列。
若 ω02π 是无理数,则没有任何整数 k 能使 N 成为正整数,所以该正弦序列不是周期序列。
周期求解例题
判断下列序列的周期。
第一,
sin(8πn)
这里 ω0=8π,所以:
ω02π=π/82π=16
周期为:
N=16
第二,
sin(54πn)
这里 ω0=54π,所以:
ω02π=4π/52π=25
写成 QP 时,P=5,Q=2,所以周期为:
N=5
第三,
cos(51n)
这里 ω0=51,所以:
ω02π=10π
因为 π 是无理数,所以 10π 也是无理数,因此该序列不是周期序列。
第四,
sin(8πn)−sin(54πn)
第一项周期为 16,第二项周期为 5。整体重复必须同时满足两项都重复,因此周期为二者最小公倍数:
N=lcm(16,5)=80
序列运算的学习重点
认识常见序列之后,就要学习序列的基本运算。数字信号处理不只是看一个序列本身,还要研究它经过移动、翻转、叠加、相乘、累加、抽取、插值和卷积以后会发生什么变化。
这些运算是后续滤波器、系统响应、频域分析和 Z 变换的基础。
移位:左移和右移不要记反
当 m 为正整数时:
x(n−m)
表示序列 x(n) 右移 m 位。
而:
x(n+m)
表示序列 x(n) 左移 m 位。
初学者最容易在这里记反。可以用一句话记忆:括号里是 n−m,图像向右移;括号里是 n+m,图像向左移。
原因是,若原来在 n=0 的特征点出现在新序列的 n=m 处,需要满足 n−m=0,所以 x(n−m) 是右移。
考虑序列:
x(n)={21(21)n,0,n≥−1n<−1
代入几个点可以得到:
x(−1)=1,x(0)=21,x(1)=41,x(2)=81
因此它从 n=−1 开始,是一个向右衰减的序列。
现在求 x(n+1)。将原式中的 n 替换为 n+1,有:
x(n+1)={21(21)n+1,0,n+1≥−1n+1<−1
条件 n+1≥−1 等价于 n≥−2,并且:
21(21)n+1=41(21)n
所以:
x(n+1)={41(21)n,0,n≥−2n<−2
这说明原序列向左移动了 1 位。
翻折:以 n=0 为镜像轴
如果有一个序列 x(n),那么:
x(−n)
表示将 x(n) 以 n=0 为对称轴翻折。
原来在 n=1 的值会翻到 n=−1;原来在 n=2 的值会翻到 n=−2;原来在 n=−1 的值会翻到 n=1。
仍以前面的序列为例:
x(n)={21(21)n,0,n≥−1n<−1
求 x(−n) 时,将 n 替换为 −n:
x(−n)={21(21)−n,0,−n≥−1−n<−1
由 −n≥−1 得:
n≤1
所以:
x(−n)={21(21)−n,0,n≤1n>1

翻折在卷积图解法中非常重要,因为卷积计算中要对一个序列进行反转和平移。
序列的和与乘积
两个序列的和,是指同一序号 n 上的序列值逐项相加。若有 x1(n) 和 x2(n),则:
y(n)=x1(n)+x2(n)
也就是说,对每一个 n,都有:
y(n)=x1(n)+x2(n)
两个序列的乘积,是指同一序号 n 上的序列值逐项相乘:
y(n)=x1(n)x2(n)
例如,若 x1(2)=3,x2(2)=4,那么乘积序列在 n=2 处的值为:
y(2)=3×4=12
序列相乘常用于加窗处理。所谓加窗,就是把原信号乘以一个窗口序列,从而只保留或强调某一段信号。
累加:到当前为止的总和
设某一序列为 x(n),它的累加序列 y(n) 定义为:
y(n)=k=−∞∑nx(k)
这个公式表示 y(n) 等于从负无穷到当前时刻 n 为止所有 x(k) 的和。
可以把累加理解成“到当前为止一共积累了多少”。如果 x(n) 表示每天的收入,那么 y(n) 就表示到第 n 天为止的总收入。
累加与单位阶跃序列密切相关。后面卷积性质会说明:
x(n)∗u(n)=m=−∞∑nx(m)
也就是说,和单位阶跃序列卷积可以实现累加。
尺度变换:抽取与插值
尺度变换改变的是序列在时间轴上的疏密程度。
抽取可以表示为:
x(n)→x(mn)
其中 m 是正整数。例如 m=2 时,得到:
x(2n)
它相当于两个点取一个点。因为新序列的 n=0,1,2,⋯ 对应原序列的 0,2,4,⋯ 点,原序列中一部分点被跳过了。
抽取在实际系统中常称为降采样。降采样可以减少数据量,但如果处理不当,可能造成频谱混叠,因此通常要先进行低通滤波。
插值可以表示为:
x(n)→x(mn)
其中 m 是正整数。例如 m=2 时,得到:
x(2n)
它可以理解为在两个点之间插入新的点,使序列变得更密。
严格来说,x(n/2) 只有当 n/2 是整数时才直接对应原序列的值;对于新增位置,需要通过某种插值规则补充数值。常见方法包括零插值、线性插值和滤波插值。
卷积和:数字信号处理中最重要的运算
两个离散序列 x(n) 和 h(n) 的卷积定义为:
x(n)∗h(n)=m=−∞∑+∞x(m)h(n−m)
卷积有两种常用计算方法。
第一种是图示法,也叫图解法。基本步骤为:换元、反转、平移、相乘、求和。

第二种是解析法,也就是直接按照定义式计算。
卷积的物理意义可以理解为:系统输出等于输入信号与系统冲激响应的综合叠加。若 x(n) 是输入,h(n) 是系统冲激响应,则输出为:
y(n)=x(n)∗h(n)
这就是线性时不变系统分析的核心公式。
卷积的图像理解:滑动、重叠、求和
卷积可以理解为“滑动重叠求和”。
当两个信号没有重叠时,逐点相乘结果全为 0,卷积值也为 0。
当一个信号开始滑入另一个信号时,重叠区域逐渐变大,卷积值也可能逐渐增大。
当重叠区域最大时,卷积值通常达到较大值。
继续滑动后,重叠区域逐渐减小,卷积值也随之减小。
这种理解有助于解释滤波器为什么能够平滑信号、改变信号形状,或者产生延迟效果。
卷积的矩阵表示
卷积也可以用矩阵与向量相乘表示。若:
y(n)=x(n)∗h(n)
且 x(n) 长度为 nx,h(n) 长度为 nh,则卷积结果长度为:
ny=nx+nh−1
矩阵法的思想是:把 h(n) 按卷积移位规律排成一个矩阵,再与 x(n) 构成的向量相乘,得到输出向量 y(n)。
这说明卷积本质上是一种线性运算。计算机程序中实现卷积时,也常常利用这一思想。
卷积计算例题
设:
x(n)={2n,0,0≤n≤3其他
h(n)={3−n,0,0≤n≤2其他
要求:
x(n)∗h(n)
先列出非零值。
对于 x(n):
x(0)=0,x(1)=21,x(2)=1,x(3)=23
因此:
x={0,21,1,23}
对于 h(n):
h(0)=3,h(1)=2,h(2)=1
因此:
h={3,2,1}
卷积结果长度为:
4+3−1=6
结果为:
x(n)∗h(n)={0,23,4,7,4,23}

按定义式一步一步求卷积
卷积定义为:
y(n)=m=−∞∑+∞x(m)h(n−m)
由于 x(n) 和 h(n) 都是有限长序列,实际只需要计算非零项。
当 n=0 时:
y(0)=x(0)h(0)=0⋅3=0
当 n=1 时:
y(1)=x(0)h(1)+x(1)h(0)
y(1)=0⋅2+21⋅3=23
当 n=2 时:
y(2)=x(0)h(2)+x(1)h(1)+x(2)h(0)
y(2)=0⋅1+21⋅2+1⋅3=4
当 n=3 时:
y(3)=x(1)h(2)+x(2)h(1)+x(3)h(0)
y(3)=21⋅1+1⋅2+23⋅3=7
当 n=4 时:
y(4)=x(2)h(2)+x(3)h(1)
y(4)=1⋅1+23⋅2=4
当 n=5 时:
y(5)=x(3)h(2)=23⋅1=23
所以:
y(n)={0,23,4,7,4,23}
这与矩阵法结果一致。
卷积和的常用性质
卷积和具有代数运算性质,包括交换律、结合律和分配律。
交换律:
x(n)∗h(n)=h(n)∗x(n)
结合律:
[x1(n)∗x2(n)]∗x3(n)=x1(n)∗[x2(n)∗x3(n)]
分配律:
x(n)∗[h1(n)+h2(n)]=x(n)∗h1(n)+x(n)∗h2(n)
卷积还有延迟性质。若:
x1(n)∗x2(n)=y(n)
则:
x1(n−m1)∗x2(n−m2)=y(n−m1−m2)
这说明两个序列分别延迟后,卷积结果的延迟量等于两个延迟量之和。
典型信号的卷积也很重要。首先:
x(n)∗δ(n)=x(n)
这说明单位抽样序列在卷积中是单位元。
其次:
x(n)∗u(n)=m=−∞∑nx(m)
这说明与单位阶跃序列卷积相当于对原序列进行累加。
结语:入门阶段最该抓住什么
这一讲的核心可以压缩成三句话。
第一,数字信号通常用离散时间序列 x(n) 表示,它是一串按整数编号排列的数据点。
第二,单位抽样序列、单位阶跃序列、矩形序列、指数序列、复指数序列、正弦序列和周期序列,是数字信号处理中最常见的基础序列。
第三,移位、翻折、相加、相乘、累加、尺度变换和卷积,是后续分析系统和设计滤波器的基本工具,其中卷积是线性时不变系统分析的核心。
如果是 0 基础学习者,建议按照下面顺序复习:先区分 x(t) 和 x(n),再掌握 δ(n)、u(n)、RN(n) 三个基础序列,接着练习移位和翻折,最后重点掌握卷积的定义法、图解法和例题计算。
只要把“离散序列是一串点”这个观念建立起来,数字信号处理的入门部分就会清晰很多。
Discussion
Comments
Share questions, corrections, or extra notes about this post.