数字信号处理

一、时域离散信号和时域离散系统

1.1 引言

信号是载有信息的、随时间变化的物理量或物理现象。根据时间连续性可分类为:时域连续信号、模拟信号、时域离散信号和数字信号。
系统是对信号进行处理、变换、传输或存储的物理实体或抽象模型。对应地分为:时域连续系统、模拟系统、时域离散系统和数字系统。

面试中常考的基础连续时间信号与系统特性:

image-20260318205706713
  • 单位阶跃信号 u(t)u(t):在 t>0t>0 时值为1,在 t<0t<0 时值为0。常用于表示信号的起始状态或系统的初始接入。

image-20260318205745004

  • 单位冲激信号 δ(t)\delta(t)定义为在 t0t \neq 0 时处处为零,在 t=0t=0 处为无穷大,且在包含原点的任意区间内积分面积为1。它可以看作是脉冲宽度趋于零、高度趋于无穷大、面积始终保持为1的偶函数脉冲的极限。
  • 单位冲激信号的性质
    • 抽样性(最重要特性):+f(t)δ(t)dt=f(0)\int_{-\infty}^{+\infty}f(t)\delta(t)dt = f(0),即提取函数在冲激出现时刻的值。如果带有延时则是 +f(t)δ(tt0)dt=f(t0)\int_{-\infty}^{+\infty}f(t)\delta(t-t_0)dt = f(t_0)
    • 奇偶性:它是偶函数,即 δ(t)=δ(t)\delta(-t) = \delta(t)
    • 比例性:δ(at)=1aδ(t)\delta(at) = \frac{1}{|a|}\delta(t)(在进行时间尺度变换时,必须注意幅度的缩放,这是考研和面试中极易出错的考点)。
    • 卷积性质:f(t)δ(t)=f(t)f(t) * \delta(t) = f(t),任何信号与单位冲激信号卷积都等于其自身。

image-20260318205823310

  • 抽样信号 Sa(t)=sinttSa(t) = \frac{\sin t}{t}:它是偶函数,在 t=0t=0 处取得最大值1,在 t=±nπt=\pm n\pi 时过零点,且在整个实数轴上的积分为 π\pi
  • 冲激响应 h(t)h(t):定义为系统在单位冲激信号 δ(t)\delta(t) 作用下产生的零状态响应。在时域中,对于不同的系统,在同样的激励下响应不同,因此冲激响应可以完全衡量和表征一个系统的特性
  • 卷积积分:公式为 f(t)=f1(τ)f2(tτ)dτf(t) = \int_{-\infty}^{\infty} f_1(\tau)f_2(t-\tau)d\tau。在信号与系统中,主要利用卷积来求解系统的零状态响应,即输出等于输入激励与系统冲激响应的卷积。

Q1: 面试官:请简述单位冲激信号 δ(t)\delta(t) 的物理意义及最重要的几个数学性质。

answer: 单位冲激信号代表一个作用时间极短但包含有限能量(面积为1)的理想脉冲。它最重要的性质包括:抽样性(用于提取连续信号在某一点的瞬时值,是理想采样的数学基础)、卷积性质(任何信号与它卷积等于原信号本身),以及比例性(进行时间尺度变换时幅度也会受到倒数比例的影响 δ(at)=1aδ(t)\delta(at) = \frac{1}{|a|}\delta(t))。

Q2: 面试官:为什么在信号与系统分析中,我们要如此重点地研究“冲激响应”?它有什么实际作用?

answer: 因为冲激响应 h(t)h(t) 能够完全表征一个线性时不变(LTI)系统的时域特性。我们在分析系统时,可以把任意复杂的输入信号分解为无数个加权延迟的冲激信号的叠加;因此,一旦知道了系统的冲激响应,任意输入信号激励下的零状态响应都可以通过该输入信号与系统冲激响应的卷积积分(或卷积和)来直接求得

Q3: 面试官:单位冲激信号 δ(t)\delta(t) 与单位阶跃信号 u(t)u(t) 之间有什么数学运算关系?

answer: 单位冲激信号是单位阶跃信号的一阶导数,即 δ(t)=du(t)dt\delta(t) = \frac{du(t)}{dt};反之,单位阶跃信号是单位冲激信号从负无穷到当前时刻 tt 的积分,即 u(t)=tδ(τ)dτu(t) = \int_{-\infty}^{t}\delta(\tau)d\tau

1.2 时域离散信号

离散时间信号(序列)只在离散时刻给出函数值,是时间上不连续的序列。实际中遇到的信号一般是模拟信号,对模拟信号进行等间隔采样便可以得到时域离散信号。假设模拟信号为 xa(t)x_a(t),以采样间隔 TT 对它进行等间隔采样,得到:x(n)=xa(nT)x(n) = x_a(nT),其中 nn 为整数。

面试中常考的典型序列及其核心关系:

image-20260318210037912

  • 单位采样序列 δ(n)\delta(n):在 n=0n=0 时值为1,在 n0n \neq 0 时值为0。其最核心的作用是表示任意序列x(n)=m=+x(m)δ(nm)x(n) = \sum_{m=-\infty}^{+\infty} x(m)\delta(n-m)。这是离散时间系统卷积求和的推导基础。
  • 单位阶跃序列 u(n)u(n):在 n0n \geq 0 时值为1,在 n<0n < 0 时值为0。它与 δ(n)\delta(n) 的关系为:δ(n)=u(n)u(n1)\delta(n) = u(n) - u(n-1),且 u(n)=m=nδ(m)u(n) = \sum_{m=-\infty}^{n}\delta(m)

image-20260318210132165

  • 矩形序列 RN(n)R_N(n):在 0nN10 \leq n \leq N-1 范围内值为1,其余为0。它可以表示为两个阶跃序列之差:RN(n)=u(n)u(nN)R_N(n) = u(n) - u(n-N),或有限个单位采样序列之和:RN(n)=k=0N1δ(nk)R_N(n) = \sum_{k=0}^{N-1}\delta(n-k)

image-20260318210317362

  • 实指数序列x(n)=anu(n)x(n) = a^n u(n)a<1|a| < 1 时序列收敛,当 a>1|a| > 1 时序列发散,这在后续分析系统稳定性(如Z变换的极点位置)时非常关键。
  • 周期序列:如果对所有 nn 存在一个最小的正整数 NN,使得 x(n)=x(n+N)x(n) = x(n+N) 成立,则称其为周期性序列,周期为 NN

序列的基本运算(面试常考图形推导和公式变形):

  • 加法和乘法:指同一时刻的序列值逐项对应相加和相乘。
  • 移位x(nn0)x(n-n_0),当 n0>0n_0 > 0 时为延时序列(右移);当 n0<0n_0 < 0 时为超前序列(左移)
  • 翻转x(n)x(-n),以纵轴为对称轴进行镜像翻转。
  • 尺度变换(抽取和插值)
    • 抽取:x(Dn)x(Dn) 是序列每连续 DD 点取一点形成的序列(相当于压缩)。
    • 零值插入:x(nC)x(\frac{n}{C}) 表示把序列的两个相邻抽样值之间插入 C1C-1 个零值(相当于展宽)。
  • 卷积和(重中之重)
    • 定义式x(n)h(n)=m=x(m)h(nm)x(n)*h(n) = \sum_{m=-\infty}^{\infty}x(m)h(n-m)
    • 图示法计算步骤换元(将 nn 换为 mm) -> 反转(得到 h(m)h(-m)) -> 平移(得到 h(nm)h(n-m)) -> 相乘 -> 求和
    • 延迟性质:若 x1(n)x2(n)=y(n)x_1(n)*x_2(n) = y(n),则 x1(nm1)x2(nm2)=y(nm1m2)x_1(n-m_1)*x_2(n-m_2) = y(n-m_1-m_2)
    • 典型卷积:x(n)δ(n)=x(n)x(n)*\delta(n) = x(n)x(n)u(n)=m=nx(m)x(n)*u(n) = \sum_{m=-\infty}^{n}x(m)

Q1: 面试官:请对比一下连续时间信号中的单位冲激信号 δ(t)\delta(t) 和离散时间信号中的单位采样序列 δ(n)\delta(n),它们在定义上有什么本质区别?

answer: 本质区别在于幅度。连续时间的 δ(t)\delta(t)t=0t=0 处的幅度是无穷大,其意义体现在积分为1(表示面积或能量);而离散时间的 δ(n)\delta(n)n=0n=0 处的幅度是一个具体的实数值,即等于1。两者都在各自的领域承担着“提取信号”和“作为系统冲激响应输入”的核心基础作用。

Q2: 面试官:离散的正弦序列 x(n)=sin(ω0n)x(n) = \sin(\omega_0 n) 一定是周期序列吗?这和连续正弦信号有什么不同?

answer: 不一定。连续正弦信号 sin(Ω0t)\sin(\Omega_0 t) 永远是周期的。但对于离散正弦序列 x(n)=sin(ω0n)x(n) = \sin(\omega_0 n),要满足周期性条件 x(n)=x(n+N)x(n) = x(n+N),必须有 ω0N=2πk\omega_0 N = 2\pi kkk 为整数),即 ω02π=kN\frac{\omega_0}{2\pi} = \frac{k}{N} 必须是一个有理数。如果 ω02π\frac{\omega_0}{2\pi} 是无理数,则该离散正弦序列不是周期序列。这是一个非常经典且容易踩坑的考点。

Q3: 面试官:请简述在计算离散序列的“卷积和”时,图解法(图示法)的具体物理过程是怎样的?

answer: 图解法的物理过程完美对应了线性时不变系统对输入信号的响应过程。具体步骤归纳为五步:1. 换元(确立虚变量 mm);2. 反转(将系统响应 h(m)h(m) 翻转为 h(m)h(-m),体现了历史输入对当前的影响);3. 平移(移位 nn 步得到 h(nm)h(n-m),对应观察时刻的移动);4. 相乘(将输入 x(m)x(m) 与平移后的响应进行逐点相乘);5. 求和(将所有乘积相加,得到当前时刻 nn 的总输出 y(n)y(n))。

Q4: 面试官:利用单位采样序列 δ(n)\delta(n),任意一个离散序列 x(n)x(n) 可以如何表示?这个表示式在推导系统输出时有什么意义?

answer: 任意序列可以表示为无限多个加权、延迟的单位采样序列之和,即 x(n)=m=+x(m)δ(nm)x(n) = \sum_{m=-\infty}^{+\infty} x(m)\delta(n-m)。其重要意义在于,借助系统的线性时不变(LTI)特性,我们可以直接将求任意输入 x(n)x(n) 的响应问题,转化为求系统对 δ(n)\delta(n) 响应(即冲激响应 h(n)h(n))的叠加组合,从而直接推导出了卷积和公式 y(n)=x(n)h(n)y(n) = x(n)*h(n)

1.3 时域离散系统

系统是对输入信号进行处理并产生输出信号的数学变换模型,记作 y(n)=T[x(n)]y(n) = T[x(n)]。在 DSP 中,我们重点研究和应用的是线性时不变系统(LTI系统),以及系统的因果性和稳定性。

  • 线性系统 (Linearity)
    系统的输入、输出之间必须满足线性叠加原理(包含可加性和齐次性)
    即若 y1(n)=T[x1(n)]y_1(n) = T[x_1(n)]y2(n)=T[x2(n)]y_2(n) = T[x_2(n)],则对于任意常数 a,ba, b,必须满足 T[ax1(n)+bx2(n)]=ay1(n)+by2(n)T[ax_1(n) + bx_2(n)] = a y_1(n) + b y_2(n)

    面试避坑点:方程 y(n)=ax(n)+by(n) = ax(n) + b (当 b0b \neq 0 时)代表的系统是非线性的。因为当输入为 0 时输出不为 0(不满足零输入零输出特性),违背了齐次性。

  • 时不变系统 (Time-Invariance)
    系统对输入信号的运算关系在整个过程中不随时间变化。换句话说,输入延迟多少,输出就跟着延迟多少,波形形状不变
    数学表示为:若 y(n)=T[x(n)]y(n) = T[x(n)],则对于任意整数 n0n_0,必须满足 T[x(nn0)]=y(nn0)T[x(n-n_0)] = y(n-n_0)
    面试常考反例y(n)=nx(n)y(n) = nx(n)时变系统,因为系统算子中包含了随时间变化的变量 nn

  • LTI系统输入与输出之间的关系 (核心考点)

image-20260318212125187

  • 如果一个系统同时满足线性和时不变性,则称为 LTI 系统。
    设系统的单位脉冲响应 h(n)h(n) 为系统对单位采样序列 δ(n)\delta(n) 的零状态响应。
    LTI系统的输出完全由输入序列与单位脉冲响应的卷积和决定:y(n)=x(n)h(n)y(n) = x(n) * h(n)。这个结论是由输入序列的 δ(n)\delta(n) 展开式,结合系统的线性和时不变性质直接推导出来的。
  • 系统的互联
    • 级联 (串联):两个 LTI 系统级联,总冲激响应等于各自冲激响应的卷积,h(n)=h1(n)h2(n)h(n) = h_1(n) * h_2(n)。(根据卷积的交换律,级联顺序可互换)。
    • 并联:两个 LTI 系统并联,总冲激响应等于各自冲激响应的相加,h(n)=h1(n)+h2(n)h(n) = h_1(n) + h_2(n)
  • 系统的因果性 (Causality)
    因果系统是指当且仅当信号激励系统时,才产生响应的系统(即不超前响应系统)。当前时刻的输出只取决于当前和过去的输入,与未来的输入无关。
    LTI系统具有因果性的充要条件是:当 n<0n < 0 时,h(n)=0h(n) = 0
  • 系统的稳定性 (Stability)
    稳定系统通常指 BIBO (有界输入,有界输出) 稳定,即对任意幅值有界的输入,系统产生的输出幅值也是有界的。
    LTI系统稳定的充分必要条件是:系统的单位脉冲响应绝对可和,即 n=h(n)<\sum_{n=-\infty}^{\infty} |h(n)| < \infty
    经典结论:对于实指数序列响应 h(n)=anu(n)h(n) = a^n u(n)只有当 a<1|a| < 1 时,系统才是稳定的;当 a1|a| \geq 1 时系统不稳定。

Q1: 面试官:请简述什么是线性时不变(LTI)系统?为什么我们在数字信号处理中要花大量精力去研究 LTI 系统而不是非线性或时变系统?

answer: LTI 系统是同时满足线性叠加原理和时不变特性的系统。我们重点研究它的原因有两个:首先,它的数学模型非常清晰,输出可以通过输入信号与系统冲激响应的卷积和来唯一确定,极大地简化了系统分析的过程;其次,虽然现实中的系统多是非线性或时变的,但在一定的运行范围内,很多实际系统都可以近似看作 LTI 系统,从而使用成熟的 LTI 理论进行分析和综合。

Q2: 面试官:判断对错并解释原因:表达式为 y(n)=x(2n)y(n) = x(2n)y(n)=x(n)y(n) = x(-n) 的系统是时不变系统吗?

answer: 都不是时不变系统,它们是时变系统。以抽取系统 y(n)=x(2n)y(n) = x(2n) 为例,设输入延迟 n0n_0 变为 x1(n)=x(nn0)x_1(n) = x(n-n_0),此时系统的输出为 y1(n)=x1(2n)=x(2nn0)y_1(n) = x_1(2n) = x(2n-n_0);而原输出延迟 n0n_0 的结果为 y(nn0)=x(2(nn0))=x(2n2n0)y(n-n_0) = x(2(n-n_0)) = x(2n-2n_0)。显然 y1(n)y(nn0)y_1(n) \neq y(n-n_0),故为时变系统。这类涉及尺度变换和时间翻转的系统通常都是时变的。

Q3: 面试官:请从物理概念和 LTI 系统的数学判定条件两个方面,分别解释一下什么是因果系统和稳定系统?

answer: 从物理概念上讲,因果系统意味着“没有输入就没有输出”或者“输出不能提前于输入发生”,它符合现实物理世界的因果律;稳定系统意味着“有界的输入绝对不会导致系统发散崩溃(产生无限大的输出)”。从 LTI 系统的数学充要条件来看,因果系统要求其冲激响应在 n<0n<0 时恒为零,即 h(n)=0(n<0)h(n)=0 (n<0);稳定系统要求其冲激响应必须是绝对可和的,即 h(n)<\sum |h(n)| < \infty

Q4: 面试官:如果我把两个稳定的 LTI 系统级联起来,组成的新系统还稳定吗?如果是并联呢?

answer: 无论是级联还是并联,新系统都是稳定的。并联时,总冲激响应 h(n)=h1(n)+h2(n)h(n) = h_1(n) + h_2(n),由于 h1h_1h2h_2 均绝对可和,它们的和显然也绝对可和;级联时,总冲激响应 h(n)=h1(n)h2(n)h(n) = h_1(n) * h_2(n),根据绝对可和序列的卷积性质,两个绝对可和序列的卷积依然是绝对可和的。因此,稳定系统的这两种基本互联方式依然保持系统的稳定性。

1.4 时域离散系统的输入输出描述法

时域离散系统在时域中主要通过**线性常系数差分方程(LCCDE)**来进行数学描述。一个 N 阶的线性常系数差分方程的一般表达式为:

i=0Naiy(ni)=j=0Mbjx(nj)\sum_{i=0}^{N} a_i y(n-i) = \sum_{j=0}^{M} b_j x(n-j)

(通常归一化使得 a0=1a_0 = 1
式中,x(n)x(n) 为输入序列,y(n)y(n) 为输出序列,aia_ibjb_j 均为常数。

关于线性常系数差分方程的求解,主要有以下三种方法:

  • 经典解法:求齐次解和特解,但在实际数字信号处理中很少采用。
  • 递推解法:利用已知的初始条件和当前的输入,一步步向后递推计算输出。这种方法简单直接,适合计算机编程实现(数值解),但不易直接得到闭合的公式解
  • 变换域法:主要是 Z域求解(Z变换),将时域的差分方程转化为Z域的代数方程,这是最简便有效、也是最常用的核心方法

面试中常考的关于差分方程与系统性质的关系(极易设坑的重点):

  • 差分方程本身不能确定该系统是因果系统还是非因果系统,还需要用初始条件进行限制。例如,如果递推是从前向后进行的,它才是因果的。
  • 一个线性常系数差分方程描述的系统不一定是线性时不变(LTI)系统,这完全取决于系统的初始状态。只有当系统处于零状态(即在输入信号接入前,系统所有的初始储能或历史状态均为零,如 y(1)=0,y(2)=0...y(-1)=0, y(-2)=0...)时,该差分方程描述的系统才满足线性时不变性质。

image-20260318212332588

image-20260318212340715

  • 从例题对比可以看出,一旦初始状态不为0(如 y(1)=1y(-1)=1),输出序列就不再满足线性性质。

Q1: 面试官:如果我给你一个线性常系数差分方程,这个方程描述的系统一定是线性时不变系统(LTI)吗?为什么?

answer: 不一定。线性常系数差分方程描述的系统是否为 LTI 系统,取决于系统的初始状态。只有当系统满足**“零状态”条件**(即输入信号到来之前,系统内部没有任何初始储能或记忆值,初始条件全为零)时,它才满足线性系统的可加性和齐次性,进而成为一个 LTI 系统。如果初始状态不为零,系统将产生零输入响应,从而破坏系统的线性叠加原理。

Q2: 面试官:在实际工程或编写算法时,我们一般如何求解数字系统(差分方程)的输出响应?这与我们理论分析时用的方法有什么区别?

answer: 在理论分析和求系统闭式解时,我们最常使用的是变换域法(Z变换),因为它可以将复杂的时域卷积和差分运算转化为简单的代数运算,方便我们分析系统的零点、极点和频响特性。但在实际工程编码或 DSP 芯片实现中,我们主要使用的是递推解法。因为差分方程天然对应着延迟寄存器、乘法器和加法器的硬件/软件结构,通过当前输入和过去状态的历史数据即可逐点递推出当前输出,非常适合计算机的实时数值运算。

Q3: 面试官:既然差分方程本身不能确定系统的因果性,那我们在实际定义一个因果的差分方程系统时,需要补充什么条件?

answer: 需要补充初始松弛条件(Initial Rest Condition)。也就是说,如果输入序列在 n<n0n < n_0 时为零,那么系统的输出也必须在 n<n0n < n_0 时为零(即没有激励就没有响应)。在递推求解时,这也意味着计算必须是顺着时间正向递推的(利用过去的输出计算现在的输出),而不能逆向递推。

二、离散时间傅立叶变换

2.1 引言

变换域分析的重要性:在物理学中,信号在变换域中会展现出更多特性,这使得我们能够更方便地实现信号处理,例如在语音信号处理、图像信号处理中广泛应用。在数学中,变换域可以极大地简化信号处理的数学运算,最典型的例子就是连续系统的 S 变换和离散系统的 Z 变换。

数学分析的重要性(核心考点)

  • s变换可以将微分方程转换为代数方程。因为连续时域的求导运算对应 s 域的乘法运算:dkdtkx(t)skX(s)\frac{d^k}{dt^k}x(t) \leftrightarrow s^k X(s)。因此,包含微积分的复杂方程经过变换后,就变成了简单的代数多项式方程:

(k=0Naksk)Y(s)=(k=0Mbksk)X(s)(\sum_{k=0}^N a_k s^k) Y(s) = (\sum_{k=0}^M b_k s^k) X(s)

  • z变换可以将差分方程转换为代数方程。在数字信号处理中,这是最核心的工具。因为离散时域的移位(延迟)运算对应 Z 域的乘以 z1z^{-1}x[nk]zkX(z)x[n-k] \leftrightarrow z^{-k} X(z)。因此,离散时间的线性常系数差分方程经过 Z 变换后,可以完全转化为关于 Y(z)Y(z)X(z)X(z) 的代数多项式方程:

(k=0Ndkzk)Y(z)=(k=0Mpkzk)X(z)(\sum_{k=0}^N d_k z^{-k}) Y(z) = (\sum_{k=0}^M p_k z^{-k}) X(z)

这极大地降低了求系统响应的难度。


Q1: 面试官:请简述在连续信号处理和离散信号处理中,我们为什么要分别引入 S 变换和 Z 变换?它们在数学本质上起到了什么作用?

answer: 我们引入这些变换主要是为了简化系统的分析和求解过程。在数学本质上,S 变换将连续时域复杂的微积分运算转化为了 S 域简单的代数运算(求导对应乘以 s);而 Z 变换将离散时域复杂的差分方程转化为了 Z 域的代数方程(时移对应乘以 z1z^{-1})。这使得我们可以直接通过代数方法求解系统响应,并直观地分析系统的零极点分布以判断其稳定性。

Q2: 面试官:在利用 Z 变换求解离散时间系统的差分方程时,最核心依赖的是 Z 变换的哪一个数学性质?

answer: 核心依赖的性质是 Z 变换的移位特性(或称延迟特性)。即时域信号延迟 kk 个采样周期,在 Z 域等效于乘以 zkz^{-k},数学表达式为 x[nk]zkX(z)x[n-k] \leftrightarrow z^{-k} X(z)。正是依赖这个特性,我们才能将时域中包含过去状态 y[nk]y[n-k] 和过去输入 x[nk]x[n-k] 的差分方程,直接转化为 Z 域中的代数乘法形式,进而求出系统的传递函数。

2.2 CTFT->DTFT

**连续时间傅里叶变换(CTFT)**是在频域中表示连续时间信号的重要工具。对于连续信号 xa(t)x_a(t),其 CTFT 定义为

Xa(jΩ)=xa(t)ejΩtdtX_a(j\Omega) = \int_{-\infty}^{\infty} x_a(t)e^{-j\Omega t}dt

其中 Ω\Omega 是模拟角频率。CTFT 是一个关于 Ω\Omega 的复函数,可以用极坐标表示为

Xa(jΩ)=Xa(jΩ)ejθa(Ω)X_a(j\Omega) = |X_a(j\Omega)| e^{j\theta_a(\Omega)}

其中,Xa(jΩ)|X_a(j\Omega)| 称为幅度谱,θa(Ω)\theta_a(\Omega) 称为相位谱

image-20260318213632727

为了将连续信号过渡到离散系统,我们需要使用冲激串函数对连续时间信号进行理想采样
采样后的信号可以表示为

xp(t)=n=xa(nTs)δ(tnTs)x_p(t) = \sum_{n=-\infty}^{\infty} x_a(nT_s)\delta(t-nT_s)

对其求傅里叶变换,可以得到采样信号的频谱:

Xp(jΩ)=n=xa(nTs)ejΩTsnX_p(j\Omega) = \sum_{n=-\infty}^{\infty} x_a(nT_s)e^{-j\Omega T_s n}

从图示可以看出,时域的离散采样会导致频域频谱的周期性延拓

离散时间傅里叶变换(DTFT)的推导与关系(绝对核心考点)
令离散序列 x[n]=xa(nTs)x[n] = x_a(nT_s),我们定义 DTFT 为:

X(ejω)=n=x[n]ejωnX(e^{j\omega}) = \sum_{n=-\infty}^{\infty} x[n]e^{-j\omega n}

对比采样信号频谱 Xp(jΩ)X_p(j\Omega) 和离散序列频谱 X(ejω)X(e^{j\omega}) 的公式,可以得出数字信号处理中最关键的频率映射关系:

ω=ΩTs\omega = \Omega T_s

X(ejω)=Xp(jΩ)X(e^{j\omega}) = X_p(j\Omega)

这说明,离散时间信号的频谱 X(ejω)X(e^{j\omega}),在数值上就等于理想采样信号的连续频谱 Xp(jΩ)X_p(j\Omega),只是将横轴的模拟角频率 Ω\Omega 乘以采样周期 TsT_s 缩放成了数字角频率 ω\omega


Q1: 面试官:在推导 DTFT 的过程中,我们遇到了模拟角频率 Ω\Omega 和数字角频率 ω\omega。请详细解释一下这两个频率的物理意义以及它们之间的数学关系。

answer: 模拟角频率 Ω\Omega 的单位是 rad/s(弧度/秒),它代表连续物理世界中信号每秒钟变化的弧度,具有绝对的时间量纲。数字角频率 ω\omega 的单位是 rad(弧度),它是一个无量纲的相对频率,代表相邻两个采样点之间的相位差。它们之间的数学关系是 ω=ΩTs=Ω/fs\omega = \Omega T_s = \Omega / f_s(其中 TsT_s 是采样周期,fsf_s 是采样频率)。这说明 ω\omegaΩ\Omega 对采样频率归一化后的结果。

Q2: 面试官:结合你看到的推导过程,为什么离散时间信号的频谱(DTFT)一定是周期的?它的周期是多少?

answer: 因为离散信号是从连续信号等间隔采样得到的。根据傅里叶变换的性质,时域的离散化必然导致频域的周期化(时域相乘相当于频域卷积冲激串频谱)。在模拟角频率 Ω\Omega 域下,采样信号频谱 Xp(jΩ)X_p(j\Omega) 的周期是采样角频率 Ωs=2π/Ts\Omega_s = 2\pi/T_s。根据频率映射关系 ω=ΩTs\omega = \Omega T_s,映射到数字角频率 ω\omega 轴上后,对应的周期就变成了 ωs=(2π/Ts)×Ts=2π\omega_s = (2\pi/T_s) \times T_s = 2\pi。因此,DTFT 总是以 2π2\pi 为周期的。

2.3 DTFT的定义以及对称性

离散时间傅里叶变换(DTFT)的定义
序列 x[n]x[n] 的 DTFT 定义为

X(ejω)=n=x[n]ejωnX(e^{j\omega}) = \sum_{n=-\infty}^{\infty} x[n]e^{-j\omega n}

相应的逆变换(IDTFT)为

x[n]=12πππX(ejω)ejωndωx[n] = \frac{1}{2\pi} \int_{-\pi}^{\pi} X(e^{j\omega}) e^{j\omega n} d\omega

由于复指数 ejωne^{-j\omega n} 的周期性,DTFT 满足 X(ej(ω+2π))=X(ejω)X(e^{j(\omega+2\pi)}) = X(e^{j\omega}),即 DTFT 永远是数字角频率 ω\omega 的以 2π2\pi 为周期的连续函数。在数学本质上,DTFT 定义式可以看作是频域连续函数 X(ejω)X(e^{j\omega}) 的傅里叶级数展开,而时域序列 x[n]x[n] 就是它的傅里叶级数系数。

DTFT的复数表示与主值相位
X(ejω)X(e^{j\omega}) 是实变量 ω\omega 的复函数,可以表示为实部与虚部之和 Xre(ejω)+jXim(ejω)X_{re}(e^{j\omega}) + jX_{im}(e^{j\omega}),或者极坐标下的幅度与相位形式 X(ejω)ejθ(ω)|X(e^{j\omega})|e^{j\theta(\omega)}
由于 ej(θ(ω)+2πk)=ejθ(ω)e^{j(\theta(\omega)+2\pi k)} = e^{j\theta(\omega)},相位函数并不是唯一确定的。除非特别说明,我们通常将相位限制在 [π,π][-\pi, \pi] 的范围内,这个取值范围称为相位的主值或包裹相位

实序列的对称性关系(核心常考点)
对于绝大多数工程中遇到的实数序列 x[n]x[n],其 DTFT 满足非常严格的共轭对称性:X(ejω)=X(ejω)X(e^{j\omega}) = X^*(e^{-j\omega})。由此可以推导出以下面试必考的重要性质:

  • 实部为偶函数Xre(ejω)=Xre(ejω)X_{re}(e^{j\omega}) = X_{re}(e^{-j\omega})
  • 虚部为奇函数Xim(ejω)=Xim(ejω)X_{im}(e^{j\omega}) = -X_{im}(e^{-j\omega})
  • 幅度谱为偶函数X(ejω)=X(ejω)|X(e^{j\omega})| = |X(e^{-j\omega})|(所以我们画频谱通常只画正半轴,因为负半轴完全对称)
  • 相位谱为奇函数θ(ω)=θ(ω)\theta(\omega) = -\theta(-\omega)
  • 序列奇偶分解的映射:实序列的偶部 xev[n]x_{ev}[n] 对应 DTFT 的实部 Xre(ejω)X_{re}(e^{j\omega});实序列的奇部 xod[n]x_{od}[n] 对应 DTFT 的虚部 jXim(ejω)jX_{im}(e^{j\omega})

对称序列与线性相位
在例题 x[n]=δ[n]+2δ[n4]+δ[n8]x[n] = \delta[n] + 2\delta[n-4] + \delta[n-8] 中,序列关于 n=4n=4 对称。计算得出其相位谱为 θ(ω)=4ω\theta(\omega) = -4\omega。这种相位与频率成正比的关系称为线性相位。在数字滤波器设计中,如果一个实序列(如滤波器的冲激响应)在时域上具有对称或反对称性,那么它在频域上必然具有严格的线性相位或广义线性相位


Q1: 面试官:请不经过具体计算,直接判断序列 x[n]=n (NnN)x[n] = n \ (-N \le n \le N)x[n]=sin(ωcn)πnx[n] = \frac{\sin(\omega_c n)}{\pi n} 的 DTFT 频谱是实数还是纯虚数?判断的依据是什么?

answer: 依据实序列的对称性映射关系(偶部对应实部,奇部对应虚部)。序列 x[n]=nx[n] = n 是一个严格的奇序列(因为 x[n]=x[n]x[-n] = -x[n]),所以它的偶部为零,其 DTFT 是一个纯虚数函数。而序列 x[n]=sin(ωcn)πnx[n] = \frac{\sin(\omega_c n)}{\pi n} 是一个偶序列sin\sin 函数和 nn 同为奇函数,相除为偶函数),其奇部为零,因此它的 DTFT 是一个纯实数函数(实际上它是理想低通滤波器的冲激响应)。

Q2: 面试官:为什么我们在画数字信号的频谱图时,通常只需要画出 ω\omega[0,π][0, \pi] 范围内的幅度谱就足够了?

answer: 这里有两个原因:首先,DTFT 具有2π2\pi 为周期的周期性,所以只需要看 [π,π][-\pi, \pi] 一个主周期即可;其次,对于物理世界中广泛存在的实数序列,它的 DTFT 幅度谱具有偶对称性(即 X(ejω)=X(ejω)|X(e^{j\omega})| = |X(e^{-j\omega})|。因此,负频率部分 [π,0][-\pi, 0] 的幅度信息和正频率部分 [0,π][0, \pi] 是完全镜像重复的。所以我们只需要画出 [0,π][0, \pi] 区间的频谱,就能完全掌握该信号的所有频率幅度特征。

Q3: 面试官:你刚刚提到了“线性相位”,请问在数字滤波器设计中,我们为什么经常追求滤波器具有线性相位特性?如果相位不线性会发生什么?

answer: 线性相位意味着信号中所有不同频率的成分在通过系统时,都会经历完全相同的群延迟(时间延迟)。如果一个系统的相位不是线性的,那么信号的不同频率分量到达输出端的时间就会有先有后,这将导致信号在时域上发生严重的波形变形(称为相位失真或色散)。这对于语音处理、图像传输等对波形形状要求极高的应用是致命的。因此,设计具有对称冲激响应的线性相位滤波器(如 FIR 滤波器)在 DSP 中具有重要意义。

2.4 DTFT的收敛条件、常见变换对、性质

关于离散时间傅里叶变换(DTFT)的收敛性,我们需要重点掌握两种收敛条件:一致收敛均方收敛

序列的绝对可和性是 DTFT 存在的充分条件。如果序列 x[n]x[n] 满足绝对可和:

n=x[n]<\sum_{n=-\infty}^{\infty} |x[n]| < \infty

则其 DTFT 必然存在且一致收敛(即级数在所有频率上都收敛到一个连续函数)。

然而,有些信号(如理想低通滤波器的冲激响应 sin(ωcn)πn\frac{\sin(\omega_c n)}{\pi n})并不满足绝对可和,但满足平方可和(能量有限)

n=x[n]2<\sum_{n=-\infty}^{\infty} |x[n]|^2 < \infty

此时,序列的 DTFT 也是存在的,但它是均方收敛的(在不连续点处会出现吉布斯现象)。注意:一个绝对可和的序列也总是平方可和的;但一个平方可和的序列不一定是绝对可和的。

在数字信号处理的推导中,我们必须熟记以下常见 DTFT 变换对(面试和笔试中经常需要直接默写或调用):

序列 x(n)x(n) 离散时间傅里叶变换 X(ejω)X(e^{j\omega}) 备注
δ(n)\delta(n) 11 冲激响应对应全频带
11 2πk=δ(ω+2kπ)2\pi \sum_{k=-\infty}^{\infty} \delta(\omega + 2k\pi) 直流信号对应频域的冲激串
δ(nm)\delta(n-m) ejmωe^{-jm\omega} 纯延时对应线性相位
u(n)u(n) 11ejω+πk=δ(ω+2kπ)\frac{1}{1-e^{-j\omega}} + \pi \sum_{k=-\infty}^{\infty} \delta(\omega + 2k\pi) 包含直流分量
anu(n)a^n u(n) 11aejω\frac{1}{1-ae^{-j\omega}} 稳定条件:a<1|a| < 1
RN(n)R_N(n) ejω(N1)/2sin(ωN/2)sin(ω/2)e^{-j\omega(N-1)/2} \frac{\sin(\omega N/2)}{\sin(\omega/2)} 矩形窗对应 sinc 类函数
ejω0ne^{j\omega_0 n} 2πk=δ(ωω02kπ)2\pi \sum_{k=-\infty}^{\infty} \delta(\omega - \omega_0 - 2k\pi) 复指数信号对应频域单根冲激
cos(ω0n)\cos(\omega_0 n) πk=[δ(ω+ω0+2kπ)+δ(ωω0+2kπ)]\pi \sum_{k=-\infty}^{\infty} [\delta(\omega + \omega_0 + 2k\pi) + \delta(\omega - \omega_0 + 2k\pi)] 欧拉公式推导
sin(ω0n)\sin(\omega_0 n) jπk=[δ(ω+ω0+2kπ)δ(ωω0+2kπ)]j\pi \sum_{k=-\infty}^{\infty} [\delta(\omega + \omega_0 + 2k\pi) - \delta(\omega - \omega_0 + 2k\pi)] 欧拉公式推导

为了简化复杂信号的频域分析,DTFT 的常见性质是解题的核心工具:

  • 线性定理ag[n]+bh[n]aG(ejω)+bH(ejω)a g[n] + b h[n] \leftrightarrow a G(e^{j\omega}) + b H(e^{j\omega})
  • 定时反转定理g[n]G(ejω)g[-n] \leftrightarrow G(e^{-j\omega})
  • 时移定理:时域序列平移对应频域乘上一个线性相位因子。

g[nn0]ejωn0G(ejω)g[n - n_0] \leftrightarrow e^{-j\omega n_0}G(e^{j\omega})

  • 频移定理:时域乘以复指数序列(调制),对应频域的频率平移。

ejω0ng[n]G(ej(ωω0))e^{j\omega_0 n}g[n] \leftrightarrow G(e^{j(\omega - \omega_0)})

  • 频域微分定理:时域序列乘以 nn,对应频域的导数运算(常用于求解多重极点或带系数 nn 的序列)。

ng[n]jdG(ejω)dωn \cdot g[n] \leftrightarrow j\frac{dG(e^{j\omega})}{d\omega}

  • 卷积定理时域的线性卷积对应频域的乘积。这是滤波器设计的核心理论基础。

g[n]h[n]G(ejω)H(ejω)g[n] * h[n] \leftrightarrow G(e^{j\omega}) \cdot H(e^{j\omega})

  • 相乘定理(调制定理):时域的相乘(加窗),对应频域的周期卷积。

g[n]h[n]12πππG(ejθ)H(ej(ωθ))dθg[n] \cdot h[n] \leftrightarrow \frac{1}{2\pi} \int_{-\pi}^{\pi} G(e^{j\theta})H(e^{j(\omega-\theta)})d\theta

  • 帕斯瓦尔定理(Parseval’s Theorem)信号在时域的总能量等于在频域的总能量。这反映了能量守恒定律在信号变换中的体现。

n=g[n]2=12πππG(ejω)2dω\sum_{n=-\infty}^{\infty} |g[n]|^2 = \frac{1}{2\pi} \int_{-\pi}^{\pi} |G(e^{j\omega})|^2 d\omega


Q1: 面试官:我们知道理想低通滤波器的频率响应是一个矩形函数,请问它的单位冲激响应是绝对可和的吗?这在物理实现上意味着什么?

answer: 理想低通滤波器的单位冲激响应 h[n]=sin(ωcn)πnh[n] = \frac{\sin(\omega_c n)}{\pi n} 也就是 sinc 函数。它不是绝对可和的,但它是平方可和的(能量有限)。因此它的 DTFT 是均方收敛而非一致收敛。在物理实现上,因为冲激响应在时域上向两端无限延伸且不绝对可和,这意味着理想低通滤波器是一个非因果且不稳定的系统,在物理上是无法绝对完美实现的,我们只能通过加窗截断等方法去近似它。

Q2: 面试官:请简述“时域卷积定理”在数字信号处理系统中的重要应用意义?

answer: 时域卷积定理表明,信号通过线性时不变(LTI)系统的时域卷积运算 y[n]=x[n]h[n]y[n] = x[n] * h[n],等效于它们在频域的直接相乘 Y(ejω)=X(ejω)H(ejω)Y(e^{j\omega}) = X(e^{j\omega}) \cdot H(e^{j\omega})。这一性质具有极其重要的意义:首先,它将复杂的时域卷积积分(或求和)转化为了频域简单的代数乘法,极大简化了系统响应的计算;其次,它为频域滤波提供了理论基础,我们可以直接在频域设计一个增益函数 H(ejω)H(e^{j\omega}),通过乘法来抑制或保留信号 X(ejω)X(e^{j\omega}) 中的特定频率成分。

Q3: 面试官:如果我将一个基带信号 x[n]x[n] 乘以一个高频余弦序列 cos(ω0n)\cos(\omega_0 n),这在频域上会产生什么效果?这是基于哪个定理?

answer: 这会产生频谱搬移(或称调制)现象,它是基于**频移定理(或相乘定理)推导出的。根据余弦信号的 DTFT 以及频移定理,基带信号 X(ejω)X(e^{j\omega}) 的频谱会被一分为二,分别向左和向右平移到 ω0-\omega_0+ω0+\omega_0 的位置(幅度减半)。这正是通信系统中幅度调制(AM)**的数学原理,用于将低频信号搬移到高频载波上以便于传输。

三、Z变换

3.1 Z变换定义以及常见变换对

由于受到绝对可和等收敛条件的严格限制,在许多情况下,离散序列的离散时间傅里叶变换(DTFT)可能不存在。为了解决这个问题并提供更广泛的频域分析工具,我们在数字信号处理中引入了Z变换

对于给定的序列 x[n]x[n],其 Z变换 X(z)X(z) 的定义为:

X(z)=n=x[n]znX(z) = \sum_{n=-\infty}^{\infty} x[n]z^{-n}

其中 zz 是一个复变量,可以表示为极坐标形式 z=rejωz = r e^{j\omega}r=zr = |z| 为幅度,ω\omega 为角频率)。求和范围覆盖序列的所有样本点(从 -\infty++\infty)。

Z变换与 DTFT 的核心数学关系
如果我们将极坐标形式的 zz 代入定义式中,序列 x[n]x[n] 的 Z 变换可以改写为:

X(rejω)=n=x[n]rnejωnX(re^{j\omega}) = \sum_{n=-\infty}^{\infty} x[n]r^{-n}e^{-j\omega n}

从中可以清晰地看出,序列 x[n]x[n] 的 Z 变换,实际上就等价于将原序列乘以一个实指数衰减/增长因子 rnr^{-n} 后,再对其进行 DTFT
最关键的结论是:r=1r=1(即 z=1|z|=1)时,Z变换退化为离散时间傅里叶变换(DTFT) 。在 Z 平面上,满足 z=1|z|=1 的点构成的轨迹被称为单位圆。如果一个序列的 DTFT 存在,那么它的 Z 变换的收敛域必然包含这个单位圆。

收敛域(ROC, Region of Convergence)的定义与重要性
Z 变换是一个无穷级数,它只有在特定的 zz 值下才能收敛。收敛的绝对条件是序列 x[n]rnx[n]r^{-n} 绝对可和:

n=x[n]rn<\sum_{n=-\infty}^{\infty} |x[n]r^{-n}| < \infty

使得 Z 变换能够收敛的复变量 zz 的取值集合,就称为收敛域 (ROC)。收敛域的一般形式是一个圆环:Rx<z<Rx+R_{x-} < |z| < R_{x+}(其中 RxR_{x-}Rx+R_{x+} 分别为内半径和外半径)。

面试中极易考到的一个核心概念是:仅仅给出 Z 变换的代数表达式 X(z)X(z) 是不够的,必须同时明确指定其收敛域 (ROC),才能唯一地确定对应的时域序列。例如:

  • 因果序列 αnμ[n]\alpha^n \mu[n] 的 Z 变换为 11αz1\frac{1}{1-\alpha z^{-1}},其收敛域为 z>α|z| > |\alpha|
  • 反因果序列 αnμ[n1]-\alpha^n \mu[-n-1] 的 Z 变换同样也是 11αz1\frac{1}{1-\alpha z^{-1}},但其收敛域为 z<α|z| < |\alpha|
    因此,代数表达式 + 收敛域 = 唯一的时域序列

以下是数字信号处理中必须烂熟于心的常用 Z 变换表格

序列 x[n]x[n] Z 变换 X(z)X(z) 收敛域 (ROC)
δ[n]\delta[n] 11 所有 zz
μ[n]\mu[n] 11z1\frac{1}{1-z^{-1}} z>1|z| > 1
αnμ[n]\alpha^n\mu[n] 11αz1\frac{1}{1-\alpha z^{-1}} z>α|z| > |\alpha|
(rncosω0n)μ[n](r^n \cos\omega_0 n)\mu[n] 1(rcosω0)z11(2rcosω0)z1+r2z2\frac{1 - (r\cos\omega_0)z^{-1}}{1 - (2r\cos\omega_0)z^{-1} + r^2 z^{-2}} z>r|z| > r
(rnsinω0n)μ[n](r^n \sin\omega_0 n)\mu[n] (rsinω0)z11(2rcosω0)z1+r2z2\frac{(r\sin\omega_0)z^{-1}}{1 - (2r\cos\omega_0)z^{-1} + r^2 z^{-2}} z>r|z| > r

Q1: 面试官:请你从物理和数学直觉上解释一下,为什么我们需要引入 Z 变换?它比起 DTFT 有什么独特的优势?

answer: 引入 Z 变换最主要的目的是解决许多重要信号(如阶跃信号、发散的指数信号)不满足绝对可和条件,从而导致其 DTFT 不存在的问题。Z 变换通过引入一个复变量 z=rejωz = re^{j\omega},相当于在原序列上强行乘上了一个实指数因子 rnr^{-n}。对于原本发散的序列,只要我们选择合适的 rr 值(即进入收敛域),就能强行将衰减因子“压住”原序列的发散趋势,使其满足收敛条件。此外,Z 变换将差分方程转化为 zz 的多项式代数方程,通过分析系统函数 H(z)H(z) 的零点和极点分布,我们可以非常直观地判断系统的稳定性、因果性以及频率响应特性。

Q2: 面试官:在 Z 平面中,“单位圆”是一个极其特殊的存在。请问单位圆在 Z 变换和系统频响分析中具有怎样的物理意义?

answer: 在 Z 平面上,单位圆的数学定义是 z=1|z|=1,即 z=ejωz = e^{j\omega}。它的物理意义非常重大:当我们在单位圆上对 Z 变换进行求值时,Z 变换就等价于离散时间傅里叶变换(DTFT)。可以说,DTFT 就是 Z 变换在单位圆上的“切片”或边界取值。因此,如果我们要分析一个系统的频率响应 H(ejω)H(e^{j\omega}),其前提是该系统的 Z 变换收敛域必须包含单位圆。

Q3: 面试官:如果我给你一个系统函数 H(z)=110.5z1H(z) = \frac{1}{1-0.5z^{-1}},你能确定它对应的系统单位冲激响应 h[n]h[n] 吗?如果不能,还需要什么额外信息?

answer: 不能唯一确定。因为相同的有理分式表达式可能对应不同的时域序列,这完全取决于极点(此处为 z=0.5z=0.5)内外的收敛域。我还需要你提供收敛域 (ROC) 的信息。如果收敛域是 z>0.5|z| > 0.5,那么它对应一个右边(因果)序列 h[n]=(0.5)nμ[n]h[n] = (0.5)^n \mu[n];如果收敛域是 z<0.5|z| < 0.5,那么它对应一个左边(反因果)序列 h[n]=(0.5)nμ[n1]h[n] = -(0.5)^n \mu[-n-1]。在实际工程中,如果我们提前知道这个系统是一个“因果系统”,那么我们默认选择极点外部的收敛域。

3.2 有理分式Z变换的零极点以及收敛域

Z变换的收敛域(ROC)与序列类型的对应关系是 DSP 面试中出现频率极高的核心考点。如果不讨论收敛域,一个序列与其 Z 变换之间就不存在唯一的对应关系,因此 Z 变换必须始终与其 ROC 同时被指明

根据序列在时域上的分布特点,我们可以将序列分为四种基本类型,它们的收敛域在 Z 平面上表现出截然不同的几何形态:

  • 有限长序列:序列只在有限的时间区间内有非零值。其收敛域通常是整个 Z 平面(即 0<z<0 < |z| < \infty),除了可能在 z=0z=0(如果序列在 n>0n>0 处有非零值)或 z=z=\infty(如果序列在 n<0n<0 处有非零值)处不收敛。
  • 右边序列(因果序列的推广):序列在某个时刻之前全为零(如因果序列在 n<0n<0 时为零)。其收敛域是某个圆的外部区域,即 Rx<zR_{x-} < |z| \le \infty。 * 面试必考推论:如果一个右边序列是严格的因果序列,那么它的 Z 变换必然在 z=z=\infty 处收敛。反之,如果在 z=z=\infty 处收敛的有理 Z 变换,必然对应一个因果序列。
  • 左边序列(反因果序列的推广):序列在某个时刻之后全为零。其收敛域是某个圆的内部区域,即 0z<Rx+0 \le |z| < R_{x+}。* 双边序列:序列在正无穷和负无穷方向都有非零值。它的 Z 变换可以看作是一个右边序列和一个左边序列 Z 变换的叠加。因此,其收敛域是两个圆域的交集,即一个圆环区域(Annulus)Rx<z<Rx+R_{x-} < |z| < R_{x+}。 * 陷阱提示:如果 RxRx+R_{x-} \ge R_{x+}(即内部圆的半径大于外部圆的半径),则交集为空,该双边序列的 Z 变换不存在

在 DSP 课程中,我们重点关注的大多数 Z 变换都是 zzz1z^{-1}有理函数(即两个多项式的比值)。其 z1z^{-1} 的标准有理函数形式为:

X(z)=P(z)D(z)=p0+p1z1++pMzMd0+d1z1++dNzNX(z) = \frac{P(z)}{D(z)} = \frac{p_0 + p_1 z^{-1} + \dots + p_M z^{-M}}{d_0 + d_1 z^{-1} + \dots + d_N z^{-N}}

有理 Z 变换可以等价地写成因式分解的形式,从而引出**零点(Zeros)极点(Poles)**的概念:

X(z)=z(NM)p0=1M(zξ)d0=1N(zλ)X(z) = z^{(N-M)} \frac{p_0 \prod_{\ell=1}^{M}(z - \xi_\ell)}{d_0 \prod_{\ell=1}^{N}(z - \lambda_\ell)}

  • ξ\xi_\ell 称为零点:使分子多项式为零的 zz 值(此时 X(z)=0X(z) = 0)。
  • λ\lambda_\ell 称为极点:使分母多项式为零的 zz 值(此时 X(z)X(z) \to \infty)。

极零点图与收敛域的界定原则(绝对重点)

  1. ROC 由极点界定:有理 Z 变换的收敛域边界严格由其极点位置决定。具体来说,ROC 绝对不能包含任何极点,而是以极点为边界形成圆环、圆内或圆外区域。
  2. 边界极点:ROC 的边界始终由最靠近该区域(或单位圆)的极点来界定。通过绘制极零点图,我们可以根据序列的类型(右边、左边、双边)一眼看穿其对应的 ROC 形态。

Q1: 面试官:为什么在讨论 Z 变换的收敛域(ROC)时,我们常说“ROC 的边界是由极点决定的,且 ROC 内绝对不能包含任何极点”?

answer: 从数学定义上看,极点是使 Z 变换分母为零、导致 X(z)X(z) 趋向于无穷大的点。而收敛域(ROC)的定义是使得 Z 变换无穷级数绝对可和、即 X(z)X(z) 取值有限的 zz 的集合。如果 ROC 内部包含了极点,那么在该点处 X(z)X(z) 将发散至无穷,这与收敛域“取值有限”的定义直接矛盾。因此,收敛域在扩张时,一旦“碰到”极点就必须停止,极点自然就构成了 ROC 的边界。

Q2: 面试官:给定一个有理 Z 变换 X(z)X(z),它的极点分别在 z=0.5|z|=0.5z=2|z|=2 处。请问它可能对应几种不同的时域序列?分别描述它们的收敛域和序列类型。

answer: 因为有理分式相同但收敛域不同会对应不同的序列,根据极点分布,整个 Z 平面被分割成了三个可能的收敛域,因此它可能对应三种不同的时域序列:

  1. 当 ROC 为 z>2|z| > 2 时,对应一个右边序列(通常是因果序列)。
  2. 当 ROC 为 z<0.5|z| < 0.5 时,对应一个左边序列(反因果序列)。
  3. 当 ROC 为 0.5<z<20.5 < |z| < 2 时(一个圆环),对应一个双边序列

Q3: 面试官:如果我告诉你上面那道题中的系统是一个稳定系统,你能唯一确定它的收敛域和序列类型吗?为什么?

answer: 可以唯一确定。系统稳定的充要条件是其单位冲激响应绝对可和,反映在 Z 域中就是系统的收敛域(ROC)必须包含单位圆(z=1|z|=1。在上述三个可能的 ROC 中,只有圆环区域 0.5<z<20.5 < |z| < 2 包含了 z=1|z|=1 这个单位圆。因此,该系统必须对应收敛域为 0.5<z<20.5 < |z| < 2双边序列响应。

3.3 Z变换的性质和DTFT的关系

掌握 Z 变换的性质对于简化复杂的信号分析和推导至关重要,特别是利用性质可以避免直接使用无穷级数定义进行繁琐的计算。

Z 变换的核心性质:

  • 线性性质 (Linearity)
    时域信号的线性组合对应 Z 域的线性组合。如果组合前各自的收敛域为 RgR_gRhR_h,则总收敛域至少包含它们的交集RgRhR_g \cap R_h)。重点注意:如果在相加过程中发生了零极点对消,收敛域可能会扩大

    αg[n]+βh[n]αG(z)+βH(z)\alpha g[n] + \beta h[n] \longleftrightarrow \alpha G(z) + \beta H(z)

  • 时移性质 (Time-Shifting)
    时域序列的平移对应 Z 域乘上 zz 的幂次。其收敛域保持不变,但可能在 z=0z=0z=z=\infty 处发生改变(因为引入了 zzz1z^{-1} 因子)。

    g[nn0]zn0G(z)g[n - n_0] \longleftrightarrow z^{-n_0}G(z)

  • 乘以指数序列(Z域尺度变换)
    时域序列乘以指数序列 αn\alpha^n,等效于在 Z 域中将自变量 zz 缩放为 z/αz/\alpha。收敛域的半径也会随之缩放 α|\alpha| 倍。

    αng[n]G(z/α)ROC: αRg\alpha^n g[n] \longleftrightarrow G(z/\alpha) \quad \text{ROC: } |\alpha|R_g

  • Z 域微分(时域乘 nn
    这是一个极其常用的推导工具。当时域序列乘以 nn 时,对应 Z 域乘以 z-z 并对 zz 求导。这常用于求解具有多重极点的系统响应(如例题中的 (n+1)αnμ[n](n+1)\alpha^n\mu[n])。

    ng[n]zdG(z)dzn \cdot g[n] \longleftrightarrow -z\frac{dG(z)}{dz}

  • 卷积定理 (Convolution)
    时域的线性卷积对应 Z 域的直接乘积。这是 Z 变换在系统分析中最核心的应用基础,它将复杂的卷积运算转化为简单的代数乘法。总收敛域包含 RgRhR_g \cap R_h

    g[n]h[n]G(z)H(z)g[n] * h[n] \longleftrightarrow G(z)H(z)

  • 时间反转性质g[n]G(1/z)g[-n] \longleftrightarrow G(1/z),收敛域变为倒数 1/Rg1/R_g
  • 共轭性质g[n]G(z)g^*[n] \longleftrightarrow G^*(z^*),收敛域不变。

性质应用中的经典陷阱(关于收敛域重叠):
在将两个序列相加构成新序列(如双边序列 v[n]=αnμ[n]βnμ[n1]v[n] = \alpha^n\mu[n] - \beta^n\mu[-n-1])时,必须检查各自的收敛域是否存在重叠区域。
右边序列的 ROC 为 z>α|z| > |\alpha|,左边序列的 ROC 为 z<β|z| < |\beta|
如果 α<β|\alpha| < |\beta|,则存在重叠,总序列的 Z 变换存在,且 ROC 为环形区域 α<z<β|\alpha| < |z| < |\beta|
如果 α>β|\alpha| > |\beta|,则收敛域无交集,整个序列的 Z 变换在数学上是不存在的

Z 变换与 DTFT 的终极关系:
DTFT 是 Z 变换在单位圆(z=1|z|=1)上的特例。如果一个序列的 Z 变换收敛域 (ROC) 包含了单位圆,那么该序列的 DTFT 必然存在,且可以通过将 Z 变换表达式中的 zz 直接替换为 ejωe^{j\omega} 来极其简便地获得。

X(ejω)=X(z)z=ejωX(e^{j\omega}) = \left. X(z) \right|_{z=e^{j\omega}}

如果 ROC 不包含单位圆(例如发散序列),则该序列有 Z 变换但没有一致收敛的 DTFT。


Q1: 面试官:在利用线性性质或卷积性质计算两个系统的组合 Z 变换时,总收敛域一定是它们各自收敛域的严格交集吗?有没有什么例外情况?

answer: 不一定仅仅是严格交集,交集只是基础保证,总收敛域有可能会扩大。当两个序列相加或卷积时,得到的新的 Z 变换多项式分子和分母中,如果发生了零极点对消(即某个多项式的零点恰好抵消了决定原边界的极点),那么限制收敛域的那堵“墙”就消失了,此时总的收敛域就会向外或向内扩展,包含且大于原来各自收敛域的交集。

Q2: 面试官:如果我知道一个离散时间序列的 Z 变换存在,它的离散时间傅里叶变换(DTFT)就一定存在吗?这两者在数学计算上具体是什么转换关系?

answer: 不一定存在。一个序列的 DTFT 存在的充分条件是其 Z 变换的收敛域(ROC)必须包含单位圆(即 z=1|z|=1 这个轨迹)。如果收敛域不包含单位圆,说明序列在单位圆上不收敛,则 DTFT 不存在。只有当收敛域包含单位圆时,DTFT 才存在,且可以通过简单地将 Z 变换在单位圆上求值来获得,即使用代换公式:

X(ejω)=X(z)z=ejωX(e^{j\omega}) = \left. X(z) \right|_{z=e^{j\omega}}

Q3: 面试官:如果我有一个因果序列 x[n]=αnu[n]x[n] = \alpha^n u[n],我现在对它进行操作,得到一个新的序列 y[n]=nαnu[n]y[n] = n \cdot \alpha^n u[n]。在不使用 Z 变换定义式强行求和的情况下,你能用最快的方法告诉我 y[n]y[n] 的 Z 变换怎么求吗?

answer: 可以直接利用 Z 变换的频域微分性质(或称 Z 域求导性质)。因为时域序列乘以自变量 nn,在 Z 域等效于对其原 Z 变换乘以 z-z 并对 zz 求一阶导数。已知 X(z)=11αz1X(z) = \frac{1}{1-\alpha z^{-1}},所以 y[n]y[n] 的 Z 变换直接就是:

Y(z)=zdX(z)dz=αz1(1αz1)2Y(z) = -z \frac{dX(z)}{dz} = \frac{\alpha z^{-1}}{(1-\alpha z^{-1})^2}

其收敛域与原来保持一致,依然是 z>α|z| > |\alpha|。这是求解含有 nn 甚至 n2n^2 系数的序列的最快方法。

3.4 反Z变换的定义以及计算

求反 Z 变换(逆 Z 变换)是将频域(Z 域)的代数表达式 X(z)X(z) 还原为时域离散序列 x[n]x[n] 的过程。根据推导,反 Z 变换的通用围道积分定义为:

x[n]=12πjCX(z)zn1dzx[n] = \frac{1}{2\pi j} \oint_C X(z)z^{n-1} dz

其中,CC 是在收敛域(ROC)内围绕原点逆时针旋转的闭合积分围道。在数学上,这个围道积分可以通过柯西留数定理来求值,即 x[n]x[n] 等于闭合围道内所有极点处的留数之和。但在实际的数字信号处理工程和考试中,直接计算围道积分往往过于复杂,因此我们主要采用以下两种更具实操性的方法:

  • 查表法(结合部分分式展开):这是最常用、最重要的求解闭合解析式的方法。对于复杂的有理分式 X(z)X(z),我们通常先将其展开为几个简单的一阶或二阶分式之和(即部分分式展开),然后对照常用 Z 变换表格,结合 Z 变换的性质(如时移、Z域微分等)直接写出对应的时域序列。
    • 例如,遇到形如 H(z)=0.5z1(10.5z1)2H(z) = \frac{0.5z^{-1}}{(1-0.5z^{-1})^2} 且 ROC 为 z>0.5|z| > 0.5 的表达式,通过直接查表和应用 Z 域微分性质,即可直接得出其对应的因果序列 h[n]=n(0.5)nμ[n]h[n] = n(0.5)^n \mu[n]
  • 长除法(幂级数展开法):由于 Z 变换的本质是一个幂级数 X(z)=x[n]znX(z) = \sum x[n]z^{-n},当 X(z)X(z) 是一个有理分式时,我们可以直接将分子多项式除以分母多项式,得到的商多项式的各项系数就是对应的序列值 x[n]x[n]
    • 绝对核心易错点:在使用长除法之前,必须首先根据序列的收敛域(ROC)判断序列的类型,从而决定多项式的排列和除法方向!
    • 如果 ROC 是圆外区域(右边序列/因果序列),必须将分子分母按 z1z^{-1}降幂排列进行长除,得到包含 z0,z1,z2z^0, z^{-1}, z^{-2} \dots 的级数。
    • 如果 ROC 是圆内区域(左边序列/反因果序列),必须将分子分母按 zz降幂排列(即 z1z^{-1} 的升幂)进行长除,得到包含 z0,z1,z2z^0, z^1, z^2 \dots 的级数。

Q1: 面试官:在求解反 Z 变换时,留数法、查表法(结合部分分式)和长除法各有什么优缺点?在什么具体场景下你会倾向于选择长除法?

answer: 留数法是严谨的数学推导定义,理论上通用,但手算围道积分极易出错,工程上较少直接使用;查表法结合部分分式展开是首选方法,因为它可以推导出序列的闭合解析式(通项公式),非常适合进行系统的长远理论分析;长除法的优点是简单粗暴、无需因式分解求极点,但致命缺点是它只能得到序列数值的递推展开,无法直接得出通项公式。因此,长除法仅适用于以下场景:1. 只需要求序列前几个有限的样本值;2. 分母多项式的阶数太高,极点根本无法通过手算分解出来。

Q2: 面试官:如果我用长除法求一个系统函数 H(z)H(z) 的逆变换,我不看收敛域,习惯性地直接用分子除以分母,这样一定会得出正确的答案吗?

answer: 绝对不会,甚至可能会得到完全相反的错误序列。因为同一个代数表达式 H(z)H(z) 可以对应不同的序列。如果不看收敛域,习惯性地按 z1z^{-1} 降幂相除,得到的一定是一个因果序列(右边序列)。但如果题目设定的实际收敛域是在极点内部(即该系统对应的是一个反因果序列),那么按 z1z^{-1} 降幂除出来的结果在物理意义和数值上都是彻底错误的。因此,使用长除法的绝对第一步,就是先看 ROC 确定序列因果性,再决定是用降幂还是升幂做除法

3.5 部分分式展开

在数字信号处理的实际应用中,系统的 Z 变换 X(z)X(z) 通常是有理分式。部分分式展开法(Partial Fraction Expansion)是求解逆 Z 变换最重要、最通用的工程解析方法

它的核心思想是利用线性和叠加原理,将一个复杂的有理多项式 X(z)=B(z)/A(z)X(z) = B(z)/A(z) 分解为多个简单一阶或二阶分式的和:

X(z)=X1(z)+X2(z)++Xk(z)X(z) = X_1(z) + X_2(z) + \dots + X_k(z)

因此,总的逆 Z 变换就等于各个简单分式逆变换的总和:

x[n]=IZT[X1(z)]+IZT[X2(z)]++IZT[Xk(z)]x[n] = IZT[X_1(z)] + IZT[X_2(z)] + \dots + IZT[X_k(z)]

最关键的前提是:你必须确保分解出的每一个 Xi(z)X_i(z) 都能在“常用 Z 变换表格”中直接找到对应项,并且必须严格结合系统总的收敛域(ROC)来决定每一个子序列是因果的还是反因果的

当系统具有复杂的极点分布时,X(z)X(z) 的一般展开形式如下(假设分子阶数为 MM,分母阶数为 NN):

X(z)=l=0MNηlzl+l=1NLρl1λlz1+i=1Lγi(1νz1)iX(z) = \sum_{l=0}^{M-N} \eta_l z^{-l} + \sum_{l=1}^{N-L} \frac{\rho_l}{1-\lambda_l z^{-1}} + \sum_{i=1}^{L} \frac{\gamma_i}{(1-\nu z^{-1})^i}

面试中常考的关于各部分的物理和数学意义:

  • 多项式部分(前提 MNM \ge N:即 l=0MNηlzl\sum_{l=0}^{M-N} \eta_l z^{-l}。如果分子的阶数大于或等于分母的阶数,必须先进行多项式长除法,分离出这部分多项式,剩余部分才能进行常规的部分分式展开。这部分在时域对应的是有限个单位冲激序列的线性组合 ηlδ[nl]\eta_l \delta[n-l]
  • 单极点部分(Simple Poles):即 l=1NLρl1λlz1\sum_{l=1}^{N-L} \frac{\rho_l}{1-\lambda_l z^{-1}}。其中 λl\lambda_lX(z)X(z) 的单根极点,ρl\rho_l 是对应的留数(系数)。在时域中,每一个单极点项直接对应一个基本的指数衰减或增长序列(如 ρl(λl)nμ[n]\rho_l (\lambda_l)^n \mu[n])。
  • 多重极点部分(Multiple Poles):即 i=1Lγi(1νz1)i\sum_{i=1}^{L} \frac{\gamma_i}{(1-\nu z^{-1})^i}。其中 ν\nu 是一个 LL 阶的多重极点。对于包含平方或更高次幂的分母项,其逆变换不能直接查基础表,通常需要结合 Z 变换的“频域微分性质(时域乘以 nn)”来求解,时域中会出现包含系数 nn 甚至 n2n^2 的序列形式。

Q1: 面试官:在拿到一个有理分式 X(z)=B(z)/A(z)X(z) = B(z)/A(z) 准备进行部分分式展开时,你的第一步应该检查什么?如果分子多项式的阶数大于分母多项式的阶数,你会怎么做?

answer: 第一步必须检查分子多项式的阶数(MM)是否严格小于分母多项式的阶数(NN(通常按 z1z^{-1} 的降幂排列看)。部分分式展开(求留数)的数学前提是该分式必须是“真分式”。如果 MNM \ge N(假分式),我必须首先利用多项式长除法,用分子除以分母,分离出一个多项式商(对应时域的冲激序列项),直到余式多项式的阶数严格小于分母的阶数,然后才能对剩下的余式/分母构成的真分式部分进行部分分式展开。

Q2: 面试官:假设你把 X(z)X(z) 成功展开成了两个单极点分式之和:X(z)=A10.5z1+B12z1X(z) = \frac{A}{1-0.5z^{-1}} + \frac{B}{1-2z^{-1}},题目给定的总收敛域(ROC)是 0.5<z<20.5 < |z| < 2。请问你如何判定这两项对应的时域序列类型?

answer: 判定子项序列类型的核心是对比总 ROC 和各个极点的位置关系。极点分别是 0.50.522。对于极点 0.50.5 的这一项,因为总 ROC 满足 z>0.5|z| > 0.5(位于该极点外部),所以它对应一个右边序列(因果序列),即 A(0.5)nμ[n]A(0.5)^n \mu[n];对于极点 22 的这一项,因为总 ROC 满足 z<2|z| < 2(位于该极点内部),所以它对应一个左边序列(反因果序列),即 B(2)nμ[n1]-B(2)^n \mu[-n-1]。最终的时域序列就是这两个序列的叠加,构成一个双边序列。

Q3: 面试官:在部分分式展开中,如果分母中出现了一个多重极点(比如二阶极点 (1az1)2(1-az^{-1})^2),它在时域对应的响应和单极点相比有什么最显著的特征?

answer: 单极点在时域对应的是纯粹的指数序列 anμ[n]a^n \mu[n]。而出现二阶极点时,根据 Z 变换的求导性质(频域微分定理),时域响应中不仅会包含指数项,还会出现以时间变量 nn 为线性系数的乘积项,典型的形式为 nanμ[n]n a^n \mu[n](n+1)anμ[n](n+1)a^n \mu[n]。如果是三阶甚至更高阶的极点,时域就会出现 n2n^2n3n^3 等多项式包络。这种现象在控制系统或滤波器设计中,通常意味着系统处于临界阻尼状态,或者存在谐振。

四、离散时间系统

4.1 离散时间系统的定义和分类

离散时间系统的基本概念是将给定的输入序列 x[n]x[n] 进行某种数学处理,从而产生具有期望性质的输出序列 y[n]y[n]。这一过程通常抽象地表示为:

y[n]=H(x[n])y[n] = H(x[n])

在面试和考研中,判断一个系统是否具备以下四大基本性质是必考的基础内容:

  • 线性系统与非线性系统:线性系统必须同时满足叠加性齐次性。即对于任意常数 α\alphaβ\beta,系统必须满足:

H(αx1[n]+βx2[n])=αH(x1[n])+βH(x2[n])H(\alpha x_1[n] + \beta x_2[n]) = \alpha H(x_1[n]) + \beta H(x_2[n])

易错考点MM 点滑动平均系统是线性的,而包含绝对值运算的系统(如 y[n]=x[n]y[n] = |x[n]|)或带有常数偏置的系统(如 y[n]=x[n]+1y[n] = x[n] + 1)都是非线性的。

  • 时不变系统与时变系统:也称为移不变系统。它的核心物理意义是系统对输入信号的响应不随信号接入时间的平移而改变波形。如果 y[n]=H(x[n])y[n] = H(x[n]),则必须满足:

y[nn0]=H(x[nn0])y[n-n_0] = H(x[n-n_0])

易错考点:如果在系统的数学运算中,出现了单独的时间变量 nn(例如 y[n]=x[n]+ny[n] = x[n] + ny[n]=nx[n]y[n] = n x[n]),或者包含时间翻转/尺度变换(如 y[n]=x[n]y[n] = x[-n]),那么该系统必然是时变系统。

  • 因果系统与非因果系统:因果系统的第 n0n_0 个输出样本 y[n0]y[n_0] 仅取决于当前及过去的输入样本(即 nn0n \le n_0),而绝不依赖于未来的输入样本(即 n>n0n > n_0)。
    判断技巧:如果系统方程等式右边出现了类似 x[n+1]x[n+1]x[n+M]x[n+M] 等“超前”项,系统即为非因果。
  • 稳定系统与不稳定系统:在 DSP 中通常指有界输入-有界输出(BIBO)稳定性。即对于任何一个幅度有界的输入序列,系统产生的输出序列幅度也必须处处有界。

为了表征和研究离散时间系统,我们定义了两种核心的基本响应:

  • 单位采样响应(冲激响应) h[n]h[n]:数字系统对单位采样序列 δ[n]\delta[n] 的响应。它是线性时不变(LTI)系统最重要的时域特征描述

h[n]=H(δ[n])h[n] = H(\delta[n])

  • 单位阶跃响应 s[n]s[n]:离散时间系统对单位阶跃序列 μ[n]\mu[n] 的响应。

s[n]=H(μ[n])s[n] = H(\mu[n])


Q1: 面试官:请快速判断系统 y[n]=x[n]y[n] = x[-n] 是否为因果系统和时不变系统?请给出你的判断过程。

answer: 该系统既不是因果系统,也不是时不变系统。首先看因果性:当 n=2n = -2 时,系统的输出为 y[2]=x[2]y[-2] = x[2],这说明过去的输出依赖了未来的输入样本,因此是非因果的。其次看时不变性:假设输入信号延迟 n0n_0 变为 x1[n]=x[nn0]x_1[n] = x[n-n_0],则系统此时的输出为 y1[n]=x1[n]=x[nn0]y_1[n] = x_1[-n] = x[-n-n_0];但如果我们直接将原输出延迟 n0n_0,得到的是 y[nn0]=x[(nn0)]=x[n+n0]y[n-n_0] = x[-(n-n_0)] = x[-n+n_0]。显然两者不相等,因此它是时变系统。

Q2: 面试官:在数字信号处理中,我们为什么几乎只关注系统的“单位冲激响应” h[n]h[n]?它和“单位阶跃响应” s[n]s[n] 之间有什么物理和数学上的联系?

answer: 关注冲激响应是因为,对于一个线性时不变(LTI)系统而言,任何复杂的输入信号都可以被分解为无数个加权且延时的单位冲激序列的线性叠加。凭借系统的线性和时不变性,系统的总输出也就等于冲激响应的加权延时叠加(即卷积和公式 y[n]=x[n]h[n]y[n] = x[n] * h[n])。因此,冲激响应 h[n]h[n] 就像是系统的“DNA”,能够完备且唯一地表征一个 LTI 系统的所有特性。关于二者的联系:因为阶跃序列是冲激序列的累加求和,由线性性质可知,单位阶跃响应 s[n]s[n] 就是单位冲激响应 h[n]h[n] 的累加,即 s[n]=k=nh[k]s[n] = \sum_{k=-\infty}^{n} h[k];反之,h[n]=s[n]s[n1]h[n] = s[n] - s[n-1]

4.2 LTI离散系统的特点

在前一小节我们从宏观上分类了系统,这一小节我们将聚焦于线性时不变(LTI)离散时间系统。在实际工程和数字信号处理中,我们研究的绝大多数系统都是有限维 LTI 系统。

有限维 LTI 系统与常系数差分方程
一个有限维的 LTI 离散时间系统,通常可以用**线性常系数差分方程(LCCDE)**来描述:

k=0Ndky[nk]=k=0Mpkx[nk]\sum_{k=0}^{N} d_k y[n-k] = \sum_{k=0}^{M} p_k x[n-k]

其中 dkd_kpkp_k 是常数。系统的阶数由 max(N,M)\max(N, M) 给出。
如果系统是因果的且 d00d_0 \neq 0,我们可以将当前时刻的输出 y[n]y[n] 放在等号左边,过去的输出和当前的/过去的输入放在等号右边。给定初始条件(如 y[n01],,y[n0N]y[n_0-1], \dots, y[n_0-N])后,我们就可以通过递归求解的方式,一步步计算出所有 nn0n \ge n_0 时的输出值。

LTI 离散时间系统的关键特性(面试绝对核心)
为什么我们在分析 LTI 系统时总是死死盯住“单位冲激响应 h[n]h[n]”不放?因为根据 LTI 系统的卷积和定义:

y[n]=k=x[k]h[nk]=k=h[k]x[nk]y[n] = \sum_{k=-\infty}^{\infty} x[k] h[n-k] = \sum_{k=-\infty}^{\infty} h[k] x[n-k]

可以看出,系统的输出 y[n]y[n] 完全由输入 x[n]x[n] 和冲激响应 h[n]h[n] 共同决定。因此,LTI 系统完全由其单位冲激响应 h[n]h[n] 所表征。通过 h[n]h[n],我们可以直接判定系统的两大核心物理属性:

  • 因果性条件:一个 LTI 系统是因果系统的充分必要条件是其冲激响应满足:

h[n]=0,当 n<0h[n] = 0, \quad \text{当 } n < 0

(物理意义:在冲激激励到来之前,系统不能有任何提前的响应)。

  • 稳定性条件:一个 LTI 系统是 BIBO(有界输入有界输出)稳定的充分必要条件是其冲激响应绝对可和:

n=h[n]<\sum_{n=-\infty}^{\infty} |h[n]| < \infty

经典系统的冲激响应推导

  • MM 点滑动平均系统y[n]=1Ml=0M1x[nl]y[n] = \frac{1}{M} \sum_{l=0}^{M-1} x[n-l]。令输入为 δ[n]\delta[n],可直接得到其冲激响应是一个高度为 1/M1/M、长度为 MM 的有限长矩形序列:h[n]=1Ml=0M1δ[nl]h[n] = \frac{1}{M} \sum_{l=0}^{M-1} \delta[n-l]。这是一个既因果又稳定的系统。
  • 累加器系统:由差分方程 y[n]y[n1]=x[n]y[n] - y[n-1] = x[n] 描述(且零初始状态)。通过令输入为 δ[n]\delta[n] 并递归计算(y[0]=1,y[1]=1,y[2]=1y[0]=1, y[1]=1, y[2]=1 \dots),可以推导出累加器的冲激响应就是单位阶跃序列 μ[n]\mu[n]注意:累加器是因果的,但是不稳定的(因为 n=01=\sum_{n=0}^{\infty} |1| = \infty,不满足绝对可和条件)。

Q1: 面试官:从常系数差分方程的形式来看,为什么我们需要给定“初始条件”才能唯一确定系统的输出 y[n]y[n]?如果不给初始条件会怎样?

answer: 差分方程本质上揭示的是输入与输出序列之间的递推约束关系,它并不是一个直接的显式通项公式。如果不给定初始条件(系统过去的历史状态),我们就无法启动这种递归计算。在数学上,不给初始条件的差分方程有无数个解(对应不同的齐次解/零输入响应);只有补充了初始条件,我们才能确定系统唯一的真实物理输出。

Q2: 面试官:我给你一个 LTI 系统的冲激响应 h[n]=(0.5)nμ[n+1]h[n] = (0.5)^n \mu[n+1]。请你在一分钟内判断它是因果的吗?它是稳定的吗?

answer: 它不是因果的,但是它是稳定的
判断因果性:根据因果性充要条件 h[n]=0(n<0)h[n]=0 (n<0),这个系统在 n=1n=-1 时的值为 h[1]=(0.5)1μ[0]=20h[-1] = (0.5)^{-1}\mu[0] = 2 \neq 0,所以它有超前响应,是非因果系统。
判断稳定性:检查绝对可和条件 n=1(0.5)n=2+1+0.5+0.25+=4<\sum_{n=-1}^{\infty} |(0.5)^n| = 2 + 1 + 0.5 + 0.25 + \dots = 4 < \infty。因为序列绝对可和,所以该系统是稳定的。

Q3: 面试官:累加器系统 y[n]=y[n1]+x[n]y[n] = y[n-1] + x[n] 在数字信号处理中非常常见。请问它的冲激响应是什么?为什么我们说它是一个不稳定的系统?如果输入一个有界的阶跃信号,输出会怎样?

answer: 累加器系统的冲激响应是单位阶跃序列 μ[n]\mu[n]。我们说它不稳定,是因为稳定系统的充要条件是冲激响应绝对可和,而 n=μ[n]=n=01=\sum_{n=-\infty}^{\infty} |\mu[n]| = \sum_{n=0}^{\infty} 1 = \infty,不满足绝对可和条件。这在物理直觉上很好理解:如果输入一个有界信号(比如持续为 1 的阶跃信号),累加器会不断将过去的 1 累加起来,输出 y[n]y[n] 将会变成斜坡信号 n+1n+1,随着时间 nn 趋于无穷大,输出也会发散到无穷大,从而违背了“有界输入产生有界输出(BIBO)”的稳定性定义。

4.3 离散时间系统的变换域分析

在 LTI 离散时间系统中,除了时域的卷积分析,我们更加依赖于变换域(频域和 Z 域)分析,因为它能将复杂的卷积运算转化为简单的代数运算,并且赋予了系统直观的频率特性意义。

面试中常考的基础概念是特征函数(Eigenfunction)。对于 LTI 系统而言,复指数序列 ejωne^{j\omega n} 和复数幂序列 znz^n 是系统的特征函数。其物理和数学意义在于:当这些信号通过 LTI 系统时,信号的“形状”(频率)不会发生任何改变,仅仅是幅度和相位发生变化。

离散时间系统的频率响应 H(ejω)H(e^{j\omega})
如果我们把输入设为纯复正弦信号 x[n]=ejωnx[n] = e^{j\omega n},根据卷积公式推导,系统的输出可以表示为:

y[n]=k=h[k]ejω(nk)=(k=h[k]ejωk)ejωn=H(ejω)ejωny[n] = \sum_{k=-\infty}^{\infty} h[k] e^{j\omega(n-k)} = \left( \sum_{k=-\infty}^{\infty} h[k] e^{-j\omega k} \right) e^{j\omega n} = H(e^{j\omega}) e^{j\omega n}

公式中括号内的部分 H(ejω)H(e^{j\omega}) 就是 LTI 系统的频率响应。可以看出:

  • 频率响应 H(ejω)H(e^{j\omega}) 本质上就是单位冲激响应 h[n]h[n] 的离散时间傅里叶变换(DTFT)
  • 它是一个关于数字角频率 ω\omega 的、2π2\pi 为周期的连续复变函数
  • 它可以分解为极坐标形式,其中 H(ejω)|H(e^{j\omega})| 称为系统的幅度响应(决定系统对不同频率的放大或衰减程度),θ(ω)\theta(\omega) 称为系统的相位响应(决定信号通过系统后的时延特性)。
    离散时间系统的传递函数(系统函数)H(z)H(z)
    类似地,如果我们输入更广义的复指数信号 x[n]=znx[n] = z^n,输出为 y[n]=H(z)zny[n] = H(z)z^n。这里的 H(z)H(z) 就是 LTI 系统的传递函数(Transfer Function)。
  • 传递函数 H(z)H(z) 是系统单位冲激响应 h[n]h[n] 的 Z 变换
  • 在零初始条件下,传递函数定义为输出的 Z 变换与输入的 Z 变换之比

H(z)=Y(z)X(z)H(z) = \frac{Y(z)}{X(z)}

利用 Z 变换求解差分方程(常考计算技巧)
对于由线性常系数差分方程描述的有限维 LTI 系统,利用 Z 变换的时移性质(x[nk]zkX(z)x[n-k] \leftrightarrow z^{-k}X(z)),我们可以极快地求出系统函数。
例如,对于差分方程 y[n]+0.5y[n1]=x[n]3x[n1]y[n] + 0.5y[n-1] = x[n] - 3x[n-1],两边同时取 Z 变换(假设零初始状态):

Y(z)+0.5z1Y(z)=X(z)3z1X(z)Y(z) + 0.5z^{-1}Y(z) = X(z) - 3z^{-1}X(z)

提取公因式并移项,直接得到该系统的传递函数:

H(z)=Y(z)X(z)=13z11+0.5z1H(z) = \frac{Y(z)}{X(z)} = \frac{1 - 3z^{-1}}{1 + 0.5z^{-1}}

只要明确了该系统的收敛域(ROC)包含单位圆(例如已知系统是因果的,极点在 z=0.5|z|=0.5 处,ROC 为 z>0.5|z| > 0.5,包含单位圆),我们就可以直接将 zz 替换为 ejωe^{j\omega} 来获得系统的频率响应H(ejω)=13ejω1+0.5ejωH(e^{j\omega}) = \frac{1 - 3e^{-j\omega}}{1 + 0.5e^{-j\omega}}

Q1: 面试官:刚才你提到复指数序列 ejωne^{j\omega n} 是 LTI 系统的“特征函数”。你能从物理意义上通俗地解释一下,这意味着什么吗?如果输入信号不是单纯的复指数,我们该如何利用这个特性?

answer: 在线性代数中,特征向量通过矩阵变换后方向不变,只是长度被特征值缩放了。在 LTI 系统中也是一样的道理:ejωne^{j\omega n} 输入系统,输出依然是 ejωne^{j\omega n} 这个频率分量本身,它绝不会产生新的频率,系统对它的唯一作用就是乘以了一个复常数 H(ejω)H(e^{j\omega})(即改变了它的幅度和相位)。这就意味着,对于任何一个任意复杂的输入信号,只要我们利用傅里叶变换将它分解成无数个不同频率的 ejωne^{j\omega n} 的线性组合,我们就可以分别对每个频率分量乘上对应的 H(ejω)H(e^{j\omega}),最后再叠加起来,这就是频域滤波的物理本质。

Q2: 面试官:如果我求出了一个系统的传递函数 H(z)H(z),我是不是随时都可以把 zz 替换成 ejωe^{j\omega} 来求它的频率响应 H(ejω)H(e^{j\omega})

answer: 不可以,必须满足一个前提条件。把 zz 替换成 ejωe^{j\omega} 的本质是在 Z 平面的单位圆上对 Z 变换进行求值。因此,只有当该系统的 Z 变换收敛域(ROC)包含了单位圆(z=1|z|=1)时,这种替换才是数学上成立的。如果 ROC 不包含单位圆(例如系统是不稳定的,极点在单位圆外且为因果系统),那么该系统在单位圆上发散,它就不存在连续的、一致收敛的离散时间傅里叶变换(DTFT),此时就不能简单地进行替换。

Q3: 面试官:请看 PPT 中的例题,差分方程为 y[n]+0.5y[n1]=x[n]3x[n1]y[n] + 0.5y[n-1] = x[n] - 3x[n-1],我们求出了系统函数 H(z)=13z11+0.5z1H(z) = \frac{1 - 3z^{-1}}{1 + 0.5z^{-1}}。如果我告诉你这个系统是反因果的,请问它稳定吗?

answer: 我们首先找到该系统函数的极点,令分母 1+0.5z1=01 + 0.5z^{-1} = 0,解得极点为 z=0.5z = -0.5。因为题目告知系统是反因果的(即左边序列响应),所以它的收敛域(ROC)应该在极点的内部,即 z<0.5|z| < 0.5。稳定系统的充要条件是收敛域必须包含单位圆(z=1|z|=1)。由于这个收敛域 z<0.5|z| < 0.5 并没有包含单位圆,因此在反因果的条件下,该系统是不稳定的。

4.4 滤波

滤波(Filtering)的概念
在数字信号处理中,滤波的核心目标是:在输入序列中无失真地(如果可能)通过某些特定频率分量,同时阻挡(衰减)其他不需要的频率分量

为何线性时不变(LTI)系统可用于滤波?(核心原理)
这是基于 LTI 系统的特征函数性质。
任意输入序列 x[n]x[n] 都可以看作是无穷多个特征函数 ejωne^{j\omega n}ω\omega(π,π)(-\pi, \pi) 范围内)的加权和(即离散时间傅里叶逆变换)。
对于每一个单一频率的特征函数 ejωne^{j\omega n},LTI 系统的输出严格为 H(ejω)ejθ(ω)ejωn|H(e^{j\omega})|e^{j\theta(\omega)}e^{j\omega n}
这意味着,LTI 系统绝对不会产生输入信号中没有的“新频率”,它仅仅是通过频率响应 H(ejω)H(e^{j\omega}) 改变了原频率分量的幅度和相位。因此,通过恰当地设计系统的幅度响应 H(ejω)|H(e^{j\omega})|,我们就可以人为地“通过”(pass)或“阻挡”(block)输入信号中的某些频率分量。
滤波器设计应用示例(经典面试/笔试计算题型)
给定一个混合了两个频率的输入信号:x[n]=cos(0.1n)+cos(0.4n)x[n] = \cos(0.1n) + \cos(0.4n)
目标:设计一个长度为 3 的 FIR(有限长冲激响应)滤波器,使其通过高频分量(0.4rad/sample0.4\text{rad/sample}),并阻挡低频分量(0.1rad/sample0.1\text{rad/sample})。

设计步骤与推导

  1. 假设对称结构以保证线性相位:令滤波器的冲激响应为 h[0]=h[2]=α, h[1]=βh[0]=h[2]=\alpha, \ h[1]=\beta
  2. 写出频率响应:对 h[n]h[n] 求 DTFT,利用欧拉公式化简:

H(ejω)=α+βejω+αej2ω=(2αcosω+β)ejωH(e^{j\omega}) = \alpha + \beta e^{-j\omega} + \alpha e^{-j2\omega} = (2\alpha\cos\omega + \beta)e^{-j\omega}

  1. 提取幅度函数

H(ejω)=2αcosω+β|H(e^{j\omega})| = |2\alpha\cos\omega + \beta|

  1. 代入滤波条件列方程组
    • 为阻挡低频分量 ω=0.1\omega=0.1:令 2αcos(0.1)+β=02\alpha\cos(0.1) + \beta = 0
    • 为传递高频分量 ω=0.4\omega=0.4:令 2αcos(0.4)+β=12\alpha\cos(0.4) + \beta = 1
  2. 求解并写出差分方程
    解得 α6.76,β13.46\alpha \approx -6.76, \beta \approx 13.46。最后根据 h[n]h[n] 的定义,写出滤波器在时域的输入输出关系(差分方程):

y[n]=6.76(x[n]+x[n2])+13.46x[n1]y[n] = -6.76(x[n] + x[n-2]) + 13.46 x[n-1]


Q1: 面试官:为什么我们通常选用 LTI(线性时不变)系统来实现数字滤波器,而不是非线性系统?它的物理机制是什么?

answer: LTI 系统的核心机制在于特征函数特性。复指数序列 ejωne^{j\omega n} 是 LTI 系统的特征函数,这意味着信号通过系统后,系统绝对不会产生新的频率分量,只会改变原有频率分量的幅度相位。因此,我们可以通过设计系统的频率响应 H(ejω)H(e^{j\omega}),在频域上对特定频率进行精确的“放大”(保留)或“衰减”(阻挡),从而实现纯粹的频率选择性滤波。相反,非线性系统会产生谐波或互调失真,引入原信号中没有的新杂散频率,这在经典的频域滤波任务中是致命的。

Q2: 面试官:在刚刚的 3 阶 FIR 滤波器设计示例中,我们特意假设了 h[0]=h[2]=αh[0] = h[2] = \alpha 这种对称的系数结构。请问为什么要这么做?如果不采用对称结构会带来什么后果?

answer: 假设 h[0]=h[2]h[0] = h[2] 是为了构造一个偶对称的单位冲激响应序列。在数字滤波器设计中有一个极其重要的结论:如果 FIR 滤波器的系数是实数且满足对称(或反对称)条件,那么该滤波器必然具有严格的线性相位特性。从示例推导出的 H(ejω)=(2αcosω+β)ejωH(e^{j\omega}) = (2\alpha\cos\omega + \beta)e^{-j\omega} 可以看出,其相位项严格等于 ω-\omega,即相位与频率成正比例。如果不采用对称结构,相位响应就会是非线性的。非线性相位意味着信号中不同的频率分量在通过系统时会经历不同的时间延迟,当它们在输出端重新叠加时,波形就会发生严重的相位失真(色散变形),这在语音或图像处理中是不可接受的。

五、DFT

5.1 DFT的定义

在前面的章节中,我们学习了序列的离散时间傅里叶变换(DTFT)。但是 DTFT 的频域变量 ω\omega 是连续的,计算机无法处理连续变量。为了在计算机上实现频域分析,我们必须对频域也进行离散化,这就是**离散傅里叶变换(DFT)**引入的根本原因。DFT 是在时域和频域上都离散的变换

对于长度为 NN 的有限长序列 x[n]x[n]0nN10 \le n \le N-1),其 N点离散傅里叶变换(DFT) 定义为:

X[k]=n=0N1x[n]WNkn,0kN1X[k] = \sum_{n=0}^{N-1} x[n]W_N^{kn}, \quad 0 \le k \le N-1

相应的逆离散傅里叶变换(IDFT) 定义为:

x[n]=1Nk=0N1X[k]WNkn,0nN1x[n] = \frac{1}{N} \sum_{k=0}^{N-1} X[k]W_N^{-kn}, \quad 0 \le n \le N-1

公式中出现了一个极其重要的复常数 WNW_N(通常称为旋转因子,Twiddle Factor),它的定义是:

WN=ej2π/NW_N = e^{-j2\pi/N}

旋转因子 WNW_N 在复平面上代表了单位圆上的 NN 次单位根 ,它具有周期性和对称性,是后续推导快速傅里叶变换(FFT)的绝对核心。

DFT 成立的核心数学基础:正交性原理(重要推导考点)
在推导和验证 IDFT 公式时,必须用到 WNW_N 序列的正交性恒等式:

n=0N1WN(kl)n={N,当 kl=mN (m为整数)0,其他情况\sum_{n=0}^{N-1} W_N^{(k-l)n} = \begin{cases} N, & \text{当 } k-l = mN \text{ (m为整数)} \\ 0, & \text{其他情况} \end{cases}

这个性质表明,只有当两个频率指数差为 NN 的整数倍时,求和才不为零(且等于长度 NN),否则这些复数向量在复平面上首尾相加刚好抵消为零。这也是我们在 DFT 计算中能够分离提取出特定频率分量 X[k]X[k] 的数学本质。

经典离散序列的 DFT 计算示例

  • 单位脉冲序列 x[n]=δ[n]x[n] = \delta[n](长为 N):代入定义式,只有 n=0n=0 时非零。得到 X[k]=1WN0=1X[k] = 1 \cdot W_N^0 = 1 (0kN10 \le k \le N-1)。这说明时域的单点脉冲,对应频域的均匀全频带分布(白噪声特性)
  • 离散余弦序列 g[n]=cos(2πrn/N)g[n] = \cos(2\pi rn/N):利用欧拉公式展开为指数形式 12(WNrn+WNrn)\frac{1}{2}(W_N^{-rn} + W_N^{rn}),然后利用上述的正交性恒等式。当对 WNrnW_N^{-rn} 项求 DFT 时,只有在 k=rk=r 时求和为 NN;对 WNrnW_N^{rn} 项求 DFT 时,考虑到周期性,只有在 k=Nrk = N-r 时求和为 NN
    最终结果为:G[k]=N/2G[k] = N/2 (当 k=rk=rk=Nrk=N-r 时),其余 kk 值处均为 00。这个例子完美揭示了实数余弦序列 DFT 的共轭对称性(双峰特性)

Q1: 面试官:我们已经有了 DTFT 和 Z 变换,它们都能非常完美地进行频域和系统分析,为什么在工程实际中我们还要发明并且只用 DFT?

answer: DTFT 和 Z 变换在理论分析中确实非常强大,但它们的频域变量(连续角频率 ω\omega 或复变量 zz)都是连续的。计算机的内存是有限的,只能存储和处理离散的数字序列,无法直接计算和存储连续函数。DFT 的伟大之处在于它在时域和频域上都是有限长、离散的。这使得频域分析变成了一个纯粹的矩阵乘法或有限项代数求和问题,从而让计算机(以及后来的 DSP 芯片)能够真正落地执行频域信号处理。

Q2: 面试官:请解释一下旋转因子 WN=ej2π/NW_N = e^{-j2\pi/N} 的物理意义?在计算中它有什么重要的特性可以用来简化运算?

answer: 旋转因子 WNW_N 的物理意义是将复平面的单位圆等分为 NN 份,它代表了旋转的基本角度步长。在计算中,它有两个极其重要的特性用来简化运算(特别是推导 FFT 时):一是周期性,即 WNk+N=WNkW_N^{k+N} = W_N^k;二是对称性,即 WNk+N/2=WNkW_N^{k+N/2} = -W_N^k。这两个特性使得在计算庞大的 DFT 矩阵时,存在大量重复和互为相反数的项,从而可以将计算复杂度大幅降低。

Q3: 面试官:在刚刚余弦信号 g[n]=cos(2πrn/N)g[n] = \cos(2\pi rn/N) 的 N 点 DFT 示例中,为什么它的频谱非零点出现在 k=rk=rk=Nrk=N-r 两个位置?k=Nrk=N-r 这个位置在物理上代表什么?

answer: 这源于实信号频谱的共轭对称性以及 DFT 的隐含周期性。根据欧拉公式,余弦信号由一个正频率 rr 和一个负频率 r-r 的复指数信号叠加而成。在 DFT 中,频谱是以 NN 为周期的,负频率 r-r 按照周期延拓(r+N-r + N),就映射到了主值区间内的 NrN-r 位置。因此,k=Nrk=N-r 在物理上实际上代表的就是原信号的“负频率”成分,这就是为什么我们看 DFT 的结果时,通常把前半部分看作正频率,后半部分看作负频率的镜像。

5.2 DFT与DTFT的关系

离散傅里叶变换(DFT)与离散时间傅里叶变换(DTFT)之间的关系,是数字信号处理中最核心的理论桥梁之一,它直接解释了我们为什么可以用计算机来处理频域信号,以及处理时必须注意的陷阱。

频域采样定理(DFT与DTFT的频率映射)
对于一个有限长序列,其 DTFT X(ejω)X(e^{j\omega}) 是一个连续的周期函数。如果我们在频域的 [0,2π)[0, 2\pi) 主值区间内,以 2π/N2\pi/N 为间隔对 DTFT 进行等间隔采样,得到的 NN 个离散频点样本,精确等于该序列的 NN 点 DFT。
数学表达为:

X[k]=X(ejω)ω=2πkN=n=0N1x[n]ej2πkNnX[k] = \left. X(e^{j\omega}) \right|_{\omega = \frac{2\pi k}{N}} = \sum_{n=0}^{N-1} x[n]e^{-j\frac{2\pi k}{N}n}

反过来,由于时域序列是有限长的(最多 NN 个点),我们也可以通过这 NN 个频域样本点,利用插值公式在频域中完美重构出原本连续的 DTFT 频谱。这在本质上相当于频域的香农采样定理。
频域采样带来的时域混叠(面试极其常考的陷阱)
根据傅里叶变换的对偶性:频域的离散化(采样)必然导致时域的周期化(延拓)
假设原序列 x[n]x[n] 的长度为 MM。我们对其 DTFT 进行 NN 点采样得到 X[k]X[k],然后再对 X[k]X[k] 进行 NN 点逆离散傅里叶变换(IDFT),得到的新序列 y[n]y[n] 与原序列 x[n]x[n] 的关系为:

y[n]=m=x[n+mN],0nN1y[n] = \sum_{m=-\infty}^{\infty} x[n + mN], \quad 0 \le n \le N-1

这个公式揭示了一个极其重要的物理现象:y[n]y[n] 是将原序列 x[n]x[n]NN 为周期进行无限延拓后,再取主值区间(00N1N-1)的结果

  • 无失真恢复条件:如果 MNM \le N(采样点数大于等于序列长度),周期延拓时相邻周期不会发生重叠,此时 y[n]=x[n]y[n] = x[n],原序列可以被完美恢复。
  • 时域混叠现象:如果 M>NM > N(采样频点数不够),在以 NN 为周期延拓时,前一个周期的尾部会叠加到当前周期的头部,发生时域混叠(Time-Domain Aliasing)。一旦发生混叠,我们就永远无法从 y[n]y[n] 中恢复出原本的 x[n]x[n]
    为了系统性地把握各种傅里叶变换的区别,面试中常会考察你对傅里叶变换家族四大金刚的整体认知。以下是必须牢记的对应关系表:
时域 (Time Domain) 变换 (Transform) 频域 (Frequency Domain)
连续,非周期 连续时间傅里叶变换 (CTFT) 连续,非周期
连续,周期 傅里叶级数 (FS) 离散,非周期
离散,非周期 离散时间傅里叶变换 (DTFT) 连续,周期
离散,周期 离散傅里叶级数 (DFS) 离散,周期

重要补充:我们在计算机中实际计算的 DFT,本质上就是取离散傅里叶级数(DFS)的主值区间(一个周期)。因为计算机只能处理离散且有限长(等效于周期的一个主值)的数据。


Q1: 面试官:请简述 DFT 和 DTFT 之间在物理和数学上的核心关系是什么?为什么我们要通过 DFT 来观察信号的频谱?

answer: 在数学上,DFT 本质上是对连续的 DTFT 频谱在 [0,2π)[0, 2\pi) 区间内进行了 NN 点等间隔采样。物理意义上,由于 DTFT 的频谱是连续的,计算机无法分配无限的内存来存储连续函数;因此我们只能在频域抽取有限个离散的样本点(即计算 DFT)来观察频谱轮廓。只要满足频域采样定理(即采样点数 NN 大于等于时域信号的有效长度),这有限个 DFT 点就包含了信号所有的频域信息。

Q2: 面试官:请看 PPT 上的混叠例题。原序列 x[n]={0,1,2,3,4,5}x[n] = \{0, 1, 2, 3, 4, 5\},长度为 66。现在我对它的 DTFT 进行 44 点等间隔采样得到 X[k]X[k]k=0,1,2,3k=0,1,2,3)。请问如果我对这个 X[k]X[k]44 点 IDFT,得到的时域序列 y[n]y[n] 是什么?为什么?

answer: 得到的时域序列 y[n]y[n] 会发生严重的时域混叠。原序列长度 M=6M=6,而我们只采了 N=4N=4 个频点。根据理论,这等效于将原序列在时域以 N=4N=4 为周期进行移位并叠加。具体计算就是将超出 44 点的部分(即原序列的最后两个点 4455)搬移并加到当前周期的最前面。所以 y[0]=x[0]+x[4]=0+4=4y[0] = x[0] + x[4] = 0 + 4 = 4y[1]=x[1]+x[5]=1+5=6y[1] = x[1] + x[5] = 1 + 5 = 6;剩余的 y[2]y[2]y[3]y[3] 没有被混叠,保持不变为 2233。最终输出序列为 {4,6,2,3}\{4, 6, 2, 3\}

Q3: 面试官:根据傅里叶变换的理论体系,请总结一下信号在时域的“离散性”和“周期性”,分别决定了它在频域的什么特性?

answer: 这是一个非常对称且优美的规律:时域的离散性决定了频域的周期性,时域的周期性决定了频域的离散性。例如,信号在时域被离散采样(如 DTFT),其频域必然以 2π2\pi 为周期无限延拓;信号在时域如果是周期性的(如傅里叶级数 FS),其频域必然是离散的线状谱。只有当时域既离散又周期(DFS/DFT 的隐含假设)时,频域才会既离散又周期,这也是它能被计算机完美处理的根本原因。

5.3 有限长序列计算

在处理离散傅里叶变换(DFT)时,由于频域的采样等效于时域的周期延拓,我们在时域对有限长序列进行的操作不再是简单的线性操作,而是基于NN 运算的圆周(循环)操作

面试与计算常考的核心概念与操作:

image-20260318223153235

  • 循环移位(Circular Shift)
    长度为 NN 的序列 x[n]x[n] 的循环移位定义为 x[nn0N]x[\langle n-n_0 \rangle_N]。其中 N\langle \cdot \rangle_N 表示模 NN 运算。
    物理意义:将序列向右平移 n0n_0 步,但移出主值区间 [0,N1][0, N-1] 右边界的样本点,会从左边界重新“循环”进入主值区间,类似于把序列放在一个圆环上转动 。

image-20260318223212045

  • 循环反转(Circular Time-Reversal)
    定义为 x[nN]x[\langle -n \rangle_N]
    计算规则n=0n=0 时的样本点位置不变;对于 1nN11 \le n \le N-1,原 nn 处的样本点被映射到 NnN-n 处。即 x[nN]=x[Nn]x[\langle -n \rangle_N] = x[N-n](当 n0n \neq 0 时)

  • 循环卷积(Circular Convolution)——绝对重点
    为了得到长度同为 NN 的序列 yc[n]y_c[n],循环卷积定义为:

    yc[n]=g[n]h[n]=m=0N1g[m]h[nmN]y_c[n] = g[n] \circledast h[n] = \sum_{m=0}^{N-1} g[m]h[\langle n-m \rangle_N]

    计算步骤(图解法):换元 \to 循环反转 \to 循环移位 \to 相乘 \to 求和主值区间内的 NN 个点 。
    注意:两个长度为 NN 的序列进行循环卷积,其结果的长度依然是 NN(而线性卷积的长度是 2N12N-1)。

image-20260318223249420

image-20260318223415675

  • 圆周对称性(Circular Symmetry)
    对于有限长实数序列,它的奇偶分解必须基于循环反转来定义,称为圆周偶对称分量 xev[n]x_{ev}[n]圆周奇对称分量 xod[n]x_{od}[n]

    xev[n]=12(x[n]+x[nN])x_{ev}[n] = \frac{1}{2}(x[n] + x[\langle -n \rangle_N])

    xod[n]=12(x[n]x[nN])x_{od}[n] = \frac{1}{2}(x[n] - x[\langle -n \rangle_N])


Q1: 面试官:请简述“线性卷积”和“循环卷积”在数学结果和物理意义上的根本区别是什么?

answer: 根本区别在于处理边界的方式和结果的长度。线性卷积假设信号在区间外为零,两个长度分别为 N1N_1N2N_2 的序列线性卷积后,结果长度会展宽为 N1+N21N_1+N_2-1。而循环卷积是基于 DFT 隐含的周期延拓特性的,它将信号移出边界的部分循环移回另一端,因此两个长度为 NN 的序列进行 NN 点循环卷积,其结果长度严格保持为 NN。物理上,线性卷积对应真实的系统滤波响应;循环卷积则是频域直接相乘在时域的数学等效。

Q2: 面试官:如果在数字信号处理中,我们想用 DFT(或 FFT)的高效相乘来代替时域的线性卷积运算,直接做 DFT 相乘得到的是循环卷积。我们该如何操作才能让循环卷积的结果完全等于线性卷积的结果,从而避免混叠?

answer: 必须使用补零(Zero-Padding)技术。为了防止循环卷积发生时域混叠,我们必须将参与卷积的两个序列的长度都补零延长到 LL。补零后的长度 LL 必须满足 LN1+N21L \ge N_1 + N_2 - 1(即大于等于线性卷积的真实长度)。将两者都补零至 LL 点后,再进行 LL 点的 DFT、频域相乘以及 IDFT,得到的 LL 点循环卷积结果就与真实的线性卷积结果完全一致了。

Q3: 面试官:请口算一个小题。长度为 4 的序列 x[n]={1,2,3,4}x[n] = \{1, 2, 3, 4\}。请写出它的圆周反转序列 x[n4]x[\langle -n \rangle_4] 的值。

answer: 根据圆周反转的规则,第 0 个样本点保持不变,剩余的样本点在主值区间内逆序排列。即 n=0n=0 时为 11;原 n=1n=1 处的 22 移到 n=3n=3;原 n=3n=3 处的 44 移到 n=1n=1。所以圆周反转后的序列为 {1,4,3,2}\{1, 4, 3, 2\}

5.4 DFT的性质

离散傅里叶变换(DFT)的性质与 DTFT 非常相似,但最大的区别在于,由于 DFT 本质上是处理离散且周期(或有限长)的信号,其时域和频域的移位、反转等操作都变成了基于模 N 运算的圆周(循环)操作

面试与考研中必须熟记的 DFT 核心性质如下:

  • 线性性质 (Linearity)

    ag[n]+bh[n]aG[k]+bH[k]a g[n] + b h[n] \longleftrightarrow a G[k] + b H[k]

  • 圆周时移 (Circular Time-shifting)
    时域的圆周移位,对应频域乘以一个旋转因子(产生线性相位偏移)。

    g[nn0N]WNkn0G[k]g[\langle n-n_0 \rangle_N] \longleftrightarrow W_N^{kn_0} G[k]

    典型考点:对于延迟的单位脉冲信号 y[n]=δ[nm]y[n] = \delta[n-m],利用圆周时移性质,可以秒得出其 DFT 为 Y[k]=WNkmY[k] = W_N^{km}
  • 频移性质 (Frequency-shifting)
    时域乘以旋转因子(频移/调制),对应频域的圆周移位。

    WNk0ng[n]G[kk0N]W_N^{-k_0 n} g[n] \longleftrightarrow G[\langle k-k_0 \rangle_N]

  • 对偶性 (Duality)
    由于正反 DFT 公式的对称性(仅差一个系数 1/N1/N 和指数的符号),时频域具有极其优美的对偶关系:

    G[n]Ng[kN]G[n] \longleftrightarrow N g[\langle -k \rangle_N]

  • 圆周卷积定理 (Circular Convolution) —— 绝对核心
    时域的 N 点圆周卷积,严格等效于频域的 N 点离散样本的直接相乘 。这是利用 FFT 实现快速滤波的终极理论依据。

    m=0N1g[m]h[nmN]G[k]H[k]\sum_{m=0}^{N-1} g[m]h[\langle n-m \rangle_N] \longleftrightarrow G[k]H[k]

  • 频域圆周卷积(调制性质)
    时域的两序列直接逐点相乘,对应频域的圆周卷积(需乘以缩放系数 1/N1/N)。

    g[n]h[n]1Nm=0N1G[m]H[kmN]g[n]h[n] \longleftrightarrow \frac{1}{N} \sum_{m=0}^{N-1} G[m]H[\langle k-m \rangle_N]

  • 帕斯瓦尔关系 (Parseval’s Relation)
    时域信号的总能量,等于频域各频率分量能量之和的 1/N1/N。它体现了变换前后的能量守恒。

    n=0N1x[n]2=1Nk=0N1X[k]2\sum_{n=0}^{N-1} |x[n]|^2 = \frac{1}{N} \sum_{k=0}^{N-1} |X[k]|^2

实序列的共轭对称性(高频计算考点)
对于物理世界中广泛存在的实数序列 x[n]x[n],其 DFT 满足严格的圆周共轭对称性

X[k]=X[kN]=X[Nk]X[k] = X^*[\langle -k \rangle_N] = X^*[N-k]

这个公式拆解开来意味着 :

  • 实部为圆周偶函数:Re{X[k]}=Re{X[Nk]}\text{Re}\{X[k]\} = \text{Re}\{X[N-k]\}
  • 虚部为圆周奇函数:Im{X[k]}=Im{X[Nk]}\text{Im}\{X[k]\} = -\text{Im}\{X[N-k]\}
  • 幅度谱为圆周偶函数X[k]=X[Nk]|X[k]| = |X[N-k]|
  • 相位谱为圆周奇函数argX[k]=argX[Nk]\arg X[k] = -\arg X[N-k]

考点实例化用:假设一个长度为 1414 的实序列,已知其 DFT 在 k=2k=2 处的值为 X[2]=1+j3X[2] = -1+j3。面试官常常让你直接口算出 X[12]X[12] 的值。根据共轭对称性,因为 X[12]=X[142]=X[2]X[12] = X[14-2] = X^*[2],所以直接对复数取共轭,得到 X[12]=1j3X[12] = -1-j3


Q1: 面试官:请简述 DFT 的“对偶性”在实际推导或者计算中有什么巧妙的应用?

answer: DFT 的对偶性表明时域和频域的数学方程结构是高度对称的。它的巧妙应用在于**“已知一个变换对,就可以免费得到另一个变换对”**。如果我们在时域有一个形状很复杂的波形,但在频域已知它的频谱表达式非常简单;那么下一次当我们遇到与该频谱表达式形状完全相同的时域信号时,可以直接利用对偶性写出其对应的频域 DFT,而无需再从零开始进行复杂的无穷级数求和计算。

Q2: 面试官:我们都知道实数序列的 DFT 具有“共轭对称性”,即 X[k]=X[Nk]X[k] = X^*[N-k]。请问这个性质对于我们实际用 DSP 芯片做频域分析或者编写 FFT 算法时,有什么极大的实际意义?

answer: 实际意义主要体现在计算量和存储空间的减半。因为对于长度为 NN 的实信号,由于后半部分频谱 X[Nk]X[N-k] 与前半部分 X[k]X[k] 互为共轭,我们只需要计算并存储前一半(即 k=0k=0N/2N/2)的 DFT 结果即可,后一半的频谱信息完全可以由前一半直接取共轭恢复。这就使得针对实信号优化的 FFT 算法(如 Real-valued FFT),其运算量和所需的内存空间仅为普通复数 FFT 的一半,极大地提升了处理效率。

Q3: 面试官:如果我将两个长度为 NN 的序列在时域直接逐点相乘,即 y[n]=g[n]h[n]y[n] = g[n]h[n],请问它在 DFT 频域的对应关系是什么?如果我想用快速傅里叶变换(FFT)来加速计算这个“时域相乘”的结果,相比直接在时域相乘,你觉得划算吗?

answer: 时域相乘对应频域的圆周卷积,并需要乘以系数 1/N1/N。如果在时域直接计算两个长度为 NN 的序列相乘,只需要进行 NN 次乘法运算,计算复杂度仅为 O(N)O(N)。但如果异想天开地通过 FFT 转到频域去做圆周卷积,即便使用了 FFT,正反变换加上频域处理的整体开销也远高于 O(N)O(N)(达到了 O(NlogN)O(N\log N) 甚至更高)。因此,对于时域的点乘操作,直接在时域计算是最划算、最快的,绝不应该绕道频域去计算。FFT 算法是用来加速“时域卷积”问题的,而不是用来加速“时域相乘”的。

5.5 FFT快速傅立叶变换

直接计算 NN 点 DFT 的计算量是非常庞大的。根据定义式,计算所有的 NN 个频域样本点,需要 N2N^2 次复数乘法N(N1)N(N-1) 次复数加法。当 NN 很大时,这种 O(N2)O(N^2) 的计算复杂度在实际工程中是无法接受的。为了解决这个问题,库利和图基(Cooley-Tukey)利用旋转因子的特性,提出了**快速傅里叶变换(FFT)**算法。

FFT 并不是一种新的变换,而仅仅是 DFT 的一种快速计算算法。它的核心突破口在于充分利用了旋转因子 WNW_N 的三大基本性质

  • 对称性(WNnk)=WNnk(W_N^{nk})^* = W_N^{-nk},且极其重要的推论 WNk+N/2=WNkW_N^{k+N/2} = -W_N^k
  • 周期性WNk+N=WNkW_N^{k+N} = W_N^k
  • 可约性(简化性)WmNmnk=WNnkW_{mN}^{mnk} = W_N^{nk}

按时间抽取的快速傅里叶变换(DIT-FFT)推导核心(面试常考推导思路)
DIT-FFT 的核心思想是分治法。假设序列长度为 N=2kN = 2^k。我们首先将原序列 x[n]x[n] 按照奇偶索引分成两个长度为 N/2N/2 的子序列:

  • 偶数索引序列:x0[r]=x[2r]x_0[r] = x[2r]
  • 奇数索引序列:x1[r]=x[2r+1]x_1[r] = x[2r+1]

对原序列的 DFT 进行数学变形,可以将一个 NN 点的 DFT 拆解为两个 N/2N/2 点的 DFT 的组合:

X[k]=X0[k]+WNkX1[k],0kN/21X[k] = X_0[k] + W_N^k X_1[k], \quad 0 \le k \le N/2 - 1

其中 X0[k]X_0[k]X1[k]X_1[k] 分别是偶序列和奇序列的 N/2N/2 点 DFT。
进一步,利用旋转因子的对称性(WNk+N/2=WNkW_N^{k+N/2} = -W_N^k)和子序列 DFT 的周期性,我们可以直接得出后半部分(N/2N/2N1N-1)的频谱:

X[k+N/2]=X0[k]WNkX1[k]X[k + N/2] = X_0[k] - W_N^k X_1[k]

这两个公式构成了 FFT 最著名的蝶形运算(Butterfly Computation)。它的伟大之处在于,我们只需要计算一次 WNkX1[k]W_N^k X_1[k],就可以同时通过一加一减得到 X[k]X[k]X[k+N/2]X[k+N/2] 两个结果,直接节省了一半的乘法运算!

FFT 算法的计算复杂度与流图(笔试必考数据)
通过不断递归地将序列一分为二,直到最后变成两点 DFT,我们就完成了完整的 FFT 流图。* 运算级数:对于 N=2kN=2^k 点的 FFT,整个蝶形流图共包含 k=log2Nk = \log_2 N运算。

  • 复数乘法总数:每一级需要 N/2N/2 次复数乘法,总乘法次数锐减为 N2log2N\frac{N}{2} \log_2 N
  • 复数加法总数:每一级需要 NN 次复数加法,总加法次数为 Nlog2NN \log_2 N
    与直接计算的 N2N^2 相比,当 N=1024N=1024 时,FFT 的计算速度可以提高近百倍!

码位倒置(Bit-Reversal / 原址计算)
在 DIT-FFT 的流图中,为了实现原址计算(In-place Computation,即计算结果直接覆盖原内存地址,极大地节省存储空间),输入的序列不能按常规的 0,1,2,30, 1, 2, 3 \dots 顺序输入,而必须经过重新排序。
这种重排的规律被称为码位倒置:将原索引的二进制表示进行高低位翻转,就能得到其在 FFT 输入端的真实位置。例如,原顺序为 1(二进制 001),倒置后为 100(十进制 4),所以 x[1]x[1] 必须放在数组的第 4 个位置输入。


Q1: 面试官:请简述 FFT 为什么能把离散傅里叶变换的计算复杂度从 O(N2)O(N^2) 降到 O(NlogN)O(N\log N)?它的核心数学依据是什么?

answer: FFT 能够大幅降低计算复杂度的核心在于采用了分治策略,并极致地利用了旋转因子 WNW_N 的对称性和周期性。在 DIT-FFT 中,我们将 NN 点 DFT 分解为偶数和奇数序列的 N/2N/2 点 DFT。由于旋转因子的对称性(即 WNk+N/2=WNkW_N^{k+N/2} = -W_N^k),我们在计算出前半个周期的频谱分量时,所需计算的中间乘积项(即 WNkX1[k]W_N^k X_1[k])可以直接复用于后半个周期频谱分量的计算,只需将加法改为减法即可(即蝶形运算)。这种结构避免了大量的重复乘法运算,通过 log2N\log_2 N 次递归分解,最终将乘法次数从 N2N^2 降到了 (N/2)log2N(N/2)\log_2 N

Q2: 面试官:在 DSP 芯片或 C 语言中实现基-2 DIT FFT 算法时,我们为什么必须要对输入序列进行“码位倒置(Bit-Reversal)”排序?

answer: 码位倒置是为了实现原址计算(In-place computation)。在标准的 DIT-FFT 蝶形流图中,如果我们要保证每一级计算完的两个新节点结果,能够直接覆盖掉上一级参与计算的两个老节点所在的内存地址(从而不需要开辟额外一倍的内存空间来存储中间结果),那么输入序列在第 0 级的排列顺序就不能是自然的递增顺序。经过数学推导,这种能够满足完美覆盖的输入重排规律,恰好等于原自然索引二进制码的镜像翻转。因此,在算法初始化阶段,我们必须先对输入数组执行一次码位倒置操作。

Q3: 面试官:口算一下,如果我要在系统中处理一段长度为 1024 个点的信号,使用直接 DFT 和使用 FFT,它们所需的复数乘法次数大概各是多少?相差多少倍?

answer: 长度 N=1024=210N = 1024 = 2^{10}。如果使用直接 DFT,所需的复数乘法次数为 N2=1024×10241,000,000N^2 = 1024 \times 1024 \approx 1,000,000(一百万次)。如果使用基-2 FFT 算法,所需的复数乘法次数为 N2log2N=10242×10=512×10=5120\frac{N}{2} \log_2 N = \frac{1024}{2} \times 10 = 512 \times 10 = 5120 次。相比之下,两者的乘法次数相差了近 195195 倍。这正是 FFT 被称为 20 世纪最伟大的十大算法之一的原因,它让实时的数字信号处理成为了可能。

六、离散时间系统分析

6.1 基于理想幅度特性的系统分类及实有界系统

在数字信号处理中,我们设计数字滤波器的终极目标是提取有用的信息并抑制干扰。基于此,我们可以根据理想幅度响应对系统进行分类,并引入工程实际中极其重要的“实有界”概念。

理想数字滤波器及其物理不可实现性(面试绝对核心考点)
具有理想幅度响应的数字滤波器,要求在**通带(Passband)内对信号无失真传输(幅度响应恒为 1),在阻带(Stopband)**内对信号完全抑制(幅度响应恒为 0)。

常见的四种理想滤波器包括:低通(LP)、高通(HP)、带通(BP)和带阻(BS)。

为什么理想的“砖墙式(Brick-wall)”滤波器在物理上无法用有限维线性时不变(LTI)系统实现?
以理想低通滤波器为例,我们之前推导过其单位冲激响应 hLP[n]=sin(ωcn)πnh_{LP}[n] = \frac{\sin(\omega_c n)}{\pi n}(sinc 函数)。它具有以下致命的物理缺陷:

  • 非因果性:它是一个双边无限长序列,在 n<0n<0 时存在非零值,这意味着系统需要“预知未来”。
  • 不稳定(非 BIBO 稳定):sinc 函数不是绝对可和的(hLP[n]=\sum |h_{LP}[n]| = \infty)。
    为了得到稳定且物理可实现的传递函数,我们必须在理论和现实之间做出妥协:在通带和阻带之间引入一个允许幅度缓慢衰减的“过渡带(Transition Band)”,并且允许通带和阻带内存在微小的幅度波动(波纹,Ripples)

有界实(BR)传递函数与无源系统
在实际数字滤波器的设计和实现中,我们不仅要求系统稳定,还经常要求系统具有低系数灵敏度。这就引出了**有界实传递函数(Bounded Real, BR)**的概念。
一个因果稳定、实系数的传递函数 H(z)H(z) 被定义为 BR 传递函数,必须满足一个核心条件:

H(ejω)1(对所有 ω 值成立)|H(e^{j\omega})| \le 1 \quad (\text{对所有 } \omega \text{ 值成立})

物理与能量意义:根据帕斯瓦尔关系,这意味着对于所有有限能量的输入信号,系统的输出总能量永远小于或等于输入总能量。因此,由 BR 传递函数描述的数字滤波器可以被视为一种无源结构(Passive Structure)。如果 H(ejω)=1|H(e^{j\omega})| = 1 严格成立,则输出能量等于输入能量,称为**无损有界实(LBR)**传递函数。

经典一阶 IIR BR 滤波器实例分析
考虑一个因果稳定的一阶 IIR 传递函数:

H(z)=K1αz1,0<α<1H(z) = \frac{K}{1 - \alpha z^{-1}}, \quad 0 < |\alpha| < 1

我们分析它的平方幅度函数 H(ejω)2|H(e^{j\omega})|^2,可以得出滤波器特性与极点 α\alpha 的关系:

  • α>0\alpha > 0 时(极点在正实轴),幅度响应在 ω=0\omega=0 处取得最大值,在 ω=π\omega=\pi 处取得最小值,因此它是一个低通滤波器
  • α<0\alpha < 0 时(极点在负实轴),幅度响应在 ω=π\omega=\pi 处取得最大值,在 ω=0\omega=0 处取得最小值,因此它是一个高通滤波器
    为了使该系统成为一个 BR 函数(即幅度最大值不超过 1),增益常数 KK 必须被严格限制在 K1α|K| \le 1 - |\alpha| 的范围内。

Q1: 面试官:我们在课本上学过“理想低通滤波器”,它的幅度频谱是一个完美的矩形。请你从时域冲激响应的角度解释一下,为什么我们在工程上永远造不出这样一个绝对理想的滤波器?

answer: 因为理想低通滤波器在频域的矩形窗,通过反离散时间傅里叶变换(IDTFT)映射到时域后,其单位冲激响应是一个无限延伸的 sinc 函数 sin(ωcn)πn\frac{\sin(\omega_c n)}{\pi n}。这个时域响应有两个致命的物理不可实现点:第一,它在 t=0t=0(或 n=0n=0)之前就有无穷无尽的非零波形,这意味着系统具有非因果性,必须提前预知未来的输入信号;第二,sinc 函数包络衰减很慢,不满足绝对可和条件,这意味着如果输入一个有界但持续的特定信号,系统的内部状态可能会无限累加导致发散,是一个不稳定的系统。

Q2: 面试官:PPT里提到了“有界实(BR)传递函数”,要求 H(ejω)1|H(e^{j\omega})| \le 1。你能结合信号的能量,通俗地解释一下这代表了一种什么样的物理系统吗?我们为什么要研究它?

answer: 结合帕斯瓦尔定理,频域幅度 H(ejω)1|H(e^{j\omega})| \le 1 意味着系统对任何频率成分都不会进行放大。因此,信号通过该系统后,其输出的总能量永远不可能超过输入的总能量。这在物理上完美对应了无源系统(Passive System)的概念,即系统内部没有能量放大或产生的机制。我们研究它是因为,基于无源结构(BR 或 LBR)推导出的数字滤波器结构,在面对 DSP 芯片字长有限带来的“系数截断量化误差”时,表现出极强的鲁棒性和超低的系数灵敏度,能够保证滤波器在恶劣的有限精度下依然稳定工作。

Q3: 面试官:如果我给你一个非常简单的一阶 IIR 滤波器传递函数 H(z)=0.210.8z1H(z) = \frac{0.2}{1 - 0.8z^{-1}}。你不画图,能直接告诉我它是一个低通滤波器还是高通滤波器吗?判断依据是什么?

answer: 它是一个低通滤波器。判断的依据是看极点的位置。这个系统的极点是 α=0.8\alpha = 0.8,位于 Z 平面单位圆内的正实轴上。在频率响应 H(ejω)H(e^{j\omega}) 的几何求值中,数字频率 ω=0\omega=0(直流/低频)对应的单位圆上的点是 z=1z=1,此时该点距离正实轴极点 0.80.8 最近,导致分母最小、增益最大;而高频 ω=π\omega=\pi 对应的点是 z=1z=-1,距离该极点最远,增益最小。所以它放行了低频,抑制了高频,是一个低通滤波器。

6.2 全通系统

全通系统(All-Pass System)是一类极其特殊的离散时间系统。它的核心定义是:对所有频率 ω\omega,系统的幅度响应严格等于 1,即 A(ejω)2=1|A(e^{j\omega})|^2 = 1。这意味着信号通过全通系统时,没有任何频率成分的幅度会被放大或衰减,它仅仅改变信号的相位

全通系统的传递函数及其零极点分布具有非常严格的数学对称性,这是面试中经常考察的重点:

  • 一阶基本形式与极零点几何关系:最简单的一阶全通系统传递函数为:

A(z)=z1a1az1A(z) = \frac{z^{-1} - a^*}{1 - a z^{-1}}

它的极点位于 z=az = a,而零点位于 z=1/az = 1/a^*。这种零极点成对出现的特性被称为关于单位圆的镜像对称(或共轭倒数关系) 。如果 aa 是复数,则二阶全通系统会将 aaaa^* 的项组合以保证系统系数为实数。

  • 广义传递函数与镜像多项式MM 阶实系数全通系统的一般表达式可以写为:

AM(z)=±zMDM(z1)DM(z)A_M(z) = \pm \frac{z^{-M} D_M(z^{-1})}{D_M(z)}

其中 DM(z)D_M(z) 是系统的分母多项式。可以看出,全通系统传递函数的分子多项式,严格等于其分母多项式的镜像多项式(即将分母的系数反序排列)。这是在代码或笔试中一眼认出全通系统的最快方法。

全通系统的三大核心物理与数学特性(笔试/面试高频必考):

  • 无损有界实(LBR)特性:一个因果稳定的实系数全通传递函数是一个 无损有界实(LBR)函数。这在物理上代表一个无损结网络(Lossless Structure),即输入系统的能量被 100% 毫无损耗地输出。
  • Z 平面幅值分布特性:对于因果稳定的全通系统,其幅度在单位圆上等于 1;在单位圆外(z>1|z| > 1)严格小于 1;在单位圆内(z<1|z| < 1)严格大于 1
  • 群延迟(Group Delay)特性(绝对重点):群延迟定义为相位的负导数 τg(ω)=ddω[θc(ω)]\tau_g(\omega) = -\frac{d}{d\omega}[\theta_c(\omega)]。对于任何因果稳定的全通系统,其展开相位 θc(ω)\theta_c(\omega) 必然是 ω\omega 的单调递减函数。因此,稳定全通系统的群延迟在所有频率下都严格为正(τg(ω)>0\tau_g(\omega) > 0

Q1: 面试官:既然全通系统对所有频率的幅度都没有改变(幅度响应始终为 1),那我们平时在数字信号处理中为什么要引入并使用它?它有什么实际的工程作用?

answer: 全通系统虽然不改变信号的幅度谱,但它会改变信号的相位谱。在实际工程中,很多滤波器(如高阶 IIR 滤波器)虽然达到了极好的幅度衰减指标,但往往伴随着严重的非线性相位失真(这会导致信号波形在时域上严重变形)。我们通常将一个全通系统与该滤波器级联,利用全通系统特定的非线性相位(或群延迟)特性,去有针对性地“抵消”或“补偿”原滤波器的相位失真,从而在不破坏原有幅度特性的前提下,实现相位均衡(Phase Equalization)

Q2: 面试官:如果我给你一个系统传递函数 H(z)=0.5+z11+0.5z1H(z) = \frac{0.5 + z^{-1}}{1 + 0.5z^{-1}},请你快速判断它是不是全通系统?它的零点和极点分别在哪里?它们之间有什么几何关系?

answer: 它是全通系统。判断依据是它的分子多项式系数(0.5,10.5, 1)正好是分母多项式系数(1,0.51, 0.5)的逆序排列(即镜像多项式)。它的极点使得分母为零,即 1+0.5z1=01 + 0.5z^{-1} = 0,解得极点 z=0.5z = -0.5;它的零点使得分子为零,即 0.5+z1=00.5 + z^{-1} = 0,解得零点 z=2z = -2。在 Z 平面上,极点位于单位圆内,零点位于单位圆外,两者互为倒数(即满足 zzero=1/zpolez_{zero} = 1 / z_{pole}^*),构成了关于单位圆的镜像对称(共轭倒数)几何关系

Q3: 面试官:请从物理概念的角度解释一下,为什么一个因果稳定的全通滤波器,它的“群延迟”必须处处大于零?如果群延迟小于零意味着什么?

answer: 群延迟 τg(ω)\tau_g(\omega) 在物理上代表了信号中各个窄带频率分量通过系统时所经历的时间延迟。因为我们讨论的系统是因果稳定的,因果性决定了“系统对激励的响应必然发生在激励之后”,即信号通过系统必须要“花时间”,必须发生正向的时间延迟。如果群延迟小于零(即相位导数为正),这就意味着某些频率的信号在输入端还没有到来之前,就已经在输出端出现了(时间超前),这严重违背了现实物理世界的因果律。因此,因果稳定全通系统的群延迟必然处处大于零。

6.3 相位及零相位系统

在数字滤波器的设计中,除了我们常关注的幅度响应,相位响应同样具有决定性的作用。如果一个系统的相位特性是非线性的,会导致信号中不同频率成分经历不同的时间延迟,当这些成分在输出端重新叠加时,就会引发严重的相位失真(信号波形面目全非)
为了彻底消除相位失真,最理想的方案是设计零相位系统(Zero-Phase System)

  • 零相位系统的定义:要求滤波器的频率响应是一个纯实数且非负的函数,即其相角在所有频率下严格为零:

H(ejω)=H(ejω)H(e^{j\omega}) = |H(e^{j\omega})|

  • 物理可实现性陷阱:真正的零相位系统意味着信号通过系统时没有任何时间延迟。根据因果律,这意味着系统必须根据未来的输入来产生当前的输出。因此,对于因果系统(实时处理系统),绝对的零相位滤波器在物理上是无法实现的

  • 离线/非实时处理的解决方案(面试绝对核心考点)
    如果我们的信号是有限长度的且已经存储在计算机中(例如处理一段已经录制好的音频),我们可以通过非实时(离线)处理来巧妙实现零相位滤波。这种经典方法被称为正反向滤波技术(在 MATLAB 或 Python 中通常对应 filtfilt 函数)。

    正反向滤波的操作流程与数学推导

    1. 正向滤波:将输入信号 x[n]x[n] 通过滤波器 H(z)H(z),得到中间信号 v[n]v[n]。此时信号引入了相移。
    2. 时间反转:将 v[n]v[n] 在时域上进行翻转,得到 u[n]=v[n]u[n] = v[-n]。(时间反转在频域对应于相位取反)。
    3. 反向滤波:将翻转后的信号 u[n]u[n] 再次通过相同的滤波器 H(z)H(z),得到 w[n]w[n]。此时原先的相移被完美的抵消。
    4. 再次反转:将 w[n]w[n] 再次进行时间翻转,得到最终的输出序列 y[n]=w[n]y[n] = w[-n],以恢复正常的时间顺序。
      从变换域的角度来看,这一系列操作等效于信号通过了一个总的传递函数为 F(z)=H(z)H(z1)F(z) = H(z)H(z^{-1}) 的系统。
      在单位圆上求其频率响应,即可得到这一精妙结论:

    F(ejω)=H(ejω)H(ejω)=H(ejω)2F(e^{j\omega}) = H(e^{j\omega}) H(e^{-j\omega}) = |H(e^{j\omega})|^2

    可以看出,等效频率响应 H(ejω)2|H(e^{j\omega})|^2 是一个纯实数且非负的值。这就意味着该等效系统完全消除了相位偏移,实现了完美的零相位滤波!同时,滤波器的总幅度响应变成了原滤波器的平方(即衰减变得更陡峭了)。


Q1: 面试官:为什么我们说“因果的数字滤波器绝对不可能是零相位的”?

answer: 因为“因果系统”的物理前提是系统不能对未来的输入提前做出响应,这就注定了信号通过因果系统必定要经历正向的、大于零的“时间延迟”。而“零相位”意味着系统对所有频率成分的时间延迟都严格为零。如果一个滤波器是零相位的,它的单位冲激响应必定是关于 n=0n=0 偶对称的(即在 n<0n<0 的非因果区域有非零值),这就要求系统“预知未来”,因此因果的零相位滤波器在物理上是自相矛盾、无法实现的。

Q2: 面试官:在实际的算法开发中,如果你调用了 filtfilt (正反向零相位滤波)函数来处理数据,它对你原本设计的滤波器的幅度指标(比如通带波纹、阻带衰减)会产生什么具体的二次影响?

answer: 调用正反向零相位滤波后,总系统的频率响应变成了原滤波器频率响应的平方,即 F(ejω)=H(ejω)2F(e^{j\omega}) = |H(e^{j\omega})|^2。这会对幅度指标产生两方面显著影响:第一,阻带衰减会翻倍(例如,原滤波器阻带衰减为 -40dB,经过 filtfilt 后会变成 -80dB,滤波效果更干净);第二,通带波纹也会被放大,同时原本的截止频率点处的增益也会发生平方级的下降(例如原本在 -3dB 处的截止频率,处理后会变成 -6dB 处)。因此,在设计需要使用 filtfilt 的原型滤波器时,必须提前对这些幅度指标进行预留补偿。

6.4 最大相位系统和最小相位系统

在数字滤波器的设计中,一个极其重要的理论是:具有相同幅度响应的系统,并不唯一对应同一个传递函数(相位响应可以完全不同)。这完全取决于系统的“零点”在 Z 平面上的位置分布。
最小相位系统、最大相位系统与混合相位系统的严格定义

  • 最小相位系统:一个因果稳定的系统,如果其所有的极点和零点都严格位于 Z 平面的单位圆内z<1|z| < 1),则称为最小相位系统。
  • 最大相位系统:极点在单位圆内(保证稳定),但所有的零点都位于单位圆外z>1|z| > 1)。
  • 混合相位系统:极点在单位圆内,零点既有在圆内的,也有在圆外的。

镜像零点与幅度相等的奥秘(高频计算考点)
下图中对比了两个一阶传递函数 H1(z)=z+bz+aH_1(z) = \frac{z+b}{z+a}H2(z)=bz+1z+aH_2(z) = \frac{bz+1}{z+a} (其中 a<1,b<1|a|<1, |b|<1)。

image-20260318225915521

image-20260318225925658 image-20260318225938119 image-20260318225952182

H1(z)H_1(z) 的零点 z=bz = -b 在单位圆内(最小相位),而 H2(z)H_2(z) 的零点 z=1/bz = -1/b 在单位圆外(最大相位)。
当两个系统的零点互为关于单位圆的镜像(共轭倒数关系)时,它们必定具有完全相同的幅度响应,即 H1(ejω)=H2(ejω)|H_1(e^{j\omega})| = |H_2(e^{j\omega})|。但在相位表现上却大相径庭。

最小相位系统的两大核心物理优势(看图分析重点)
在所有具有相同幅度响应的系统中,最小相位系统之所以被称为“最小”,体现在两个极其关键的时域/频域指标上:

  • 群延迟最小(相位滞后最小):从 PPT 的对比图可以看出,在任何频率下,最小相位系统 H1(z)H_1(z) 的群延迟始终小于最大相位系统 H2(z)H_2(z) 的群延迟。它的信号通过速度最快。
  • 能量最集中于前端(输出响应最迅速):从输出信号(或冲激响应)的对比图可以看出,最小相位系统的能量极大地集中在时间序列的最初阶段(nn 较小的时候) 。而最大相位系统的能量则被严重推迟到了时间序列的尾部。

系统分解定理(理论推导的终极武器)
任意一个稳定的混合相位/最大相位系统 H(z)H(z),都可以被完美地分解为一个最小相位系统 Hmin(z)H_{min}(z) 与一个全通系统 A(z)A(z) 的级联:

H(z)=Hmin(z)A(z)H(z) = H_{min}(z) A(z)

由于全通系统 A(z)A(z) 的幅度恒为 1,它不改变 Hmin(z)H_{min}(z) 的幅度特性;但全通系统必然会引入额外的相位滞后(正的群延迟)。这就从数学上完美证明了,原系统 H(z)H(z) 的相位延迟必然大于等于最小相位系统的延迟。


Q1: 面试官:如果两个滤波器的幅度响应一模一样,我们通常在工程上会优先选择“最小相位滤波器”。请结合物理意义谈谈为什么?

answer: 首先,最小相位系统的群延迟是所有等幅响应系统中最小的,这意味着信号通过该系统时的传输延迟最低,系统响应最快,这对于实时控制系统或通信系统至关重要;其次,它的能量最集中在冲激响应的前端,不会产生拖沓的长尾效应;最后,也是最重要的一点,由于它的零点全部在单位圆内,其逆系统(1/H(z)1/H(z))的极点也全部在单位圆内,保证了逆系统是因果且稳定的,这使得信道均衡或系统反卷积在物理上变得完美可实现。

Q2: 面试官:请看 PPT 中的 H1(z)=z+bz+aH_1(z) = \frac{z+b}{z+a}H2(z)=bz+1z+aH_2(z) = \frac{bz+1}{z+a}。既然它们的幅度响应完全相同,你能用数学代数的方法证明 H2(z)H_2(z) 实际上就是 H1(z)H_1(z) 串联了一个什么样的系统吗?

answer: 我们可以强行在 H2(z)H_2(z) 中构造出 H1(z)H_1(z) 的形式。
H2(z)H_2(z) 展开并重组:H2(z)=bz+1z+a=(z+bz+a)(bz+1z+b)H_2(z) = \frac{bz+1}{z+a} = \left(\frac{z+b}{z+a}\right) \cdot \left(\frac{bz+1}{z+b}\right)
其中前一项正是最小相位系统 H1(z)H_1(z)。而后一项 bz+1z+b\frac{bz+1}{z+b},我们可以提取 zz 变成 b+z11+bz1\frac{b+z^{-1}}{1+bz^{-1}},它的分子正是分母的镜像多项式,所以它是一个一阶全通系统。这个数学推导完美验证了“非最小相位系统 = 最小相位系统 ×\times 全通系统”的分解定理。

Q3: 面试官:在 PPT 里的群延迟对比图中,为什么最大相位系统和最小相位系统的群延迟差距,在低频和高频处不一样?这种差距是由什么引入的?

answer: 这种差距完全是由系统分解出的那个全通系统 A(z)A(z) 的群延迟引入的。根据推导,H2(z)H_2(z) 的群延迟等于 H1(z)H_1(z) 的群延迟加上 A(z)A(z) 的群延迟。而全通系统 A(z)A(z) 的群延迟曲线并不是一个常数(它在靠近极点频率处较大,在远离极点处较小)。因此,两者的群延迟差距就是全通系统的群延迟特性,它是随频率 ω\omega 非线性变化的。

6.5 线性相位系统的特点及类型

在数字信号处理中,我们极其追求线性相位系统,因为它可以完美避免信号在传输过程中的相位失真。这一节是 FIR 滤波器设计的核心理论基础,也是各类考试和面试中必考的知识点,尤其是“四种类型 FIR 的频率限制”。

线性相位的物理概念与实现
为了避免相位失真,我们希望系统具有单位幅度和线性相位特性。其理想频率响应可表示为:

H(ejω)=ejωDH(e^{j\omega}) = e^{-j\omega D}

这在时域上等效于对输入信号进行了一个纯粹的时间平移 y[n]=x[nD]y[n] = x[n-D],信号的波形不会发生任何改变。

image-20260318230537857以理想低通滤波器为例,其本身是零相位的(非因果、双边无限长)。为了在工程上用有限长冲激响应(FIR)滤波器近似实现它,我们必须将其冲激响应截断,并向右平移 n0n_0 个单位。如果平移量恰好满足 n0=N/2n_0 = N/2NN 为整数),截断后的有限长序列依然能保持严格的几何对称性,从而保留了线性相位的优良物理属性。
线性相位 FIR 系统的四种类型(绝对核心)
假设 FIR 滤波器的长度为 LL(对应的滤波器阶数 N=L1N = L-1)。根据长度 LL 的奇偶性,以及冲激响应 h[n]h[n] 是偶对称还是奇对称,我们将线性相位 FIR 滤波器严格划分为以下四类 :

image-20260318230630691

  • 偶对称(Symmetric):满足 h[n]=h[Nn]h[n] = h[N-n]
    • 类型 I (Type I):长度 LL 为奇数(阶数 NN 为偶数),偶对称。对称中心落在整数样本点上。
    • 类型 II (Type II):长度 LL 为偶数(阶数 NN 为奇数),偶对称。对称中心落在两个样本点中间。
  • 奇对称(Anti-symmetric):满足 h[n]=h[Nn]h[n] = -h[N-n]。注意,此时对称中心点的值必须为 0。
    • 类型 III (Type III):长度 LL 为奇数(阶数 NN 为偶数),奇对称。
    • 类型 IV (Type IV):长度 LL 为偶数(阶数 NN 为奇数),奇对称。

频率响应特性与群延迟
这四类线性相位 FIR 滤波器的频率响应都可以统一写成以下幅角分离的优美形式:

H(ejω)=H~(ω)ejωN/2ejβH(e^{j\omega}) = \tilde{H}(\omega) e^{-j\omega N/2} e^{j\beta}

其中,H~(ω)\tilde{H}(\omega) 是一个纯实数函数(称为幅度函数或零相位响应),β\beta 根据对称性取 0(偶对称)或 π/2\pi/2(奇对称)。
它们共同具有一个极其重要的特性:群延迟是严格的常数

τ(ω)=dθ(ω)dω=N2\tau(\omega) = -\frac{d\theta(\omega)}{d\omega} = \frac{N}{2}

这表明,所有频率成分通过这四类滤波器时,都会经历完全相同的时间延迟(延迟量等于滤波器阶数的一半)。

四种类型滤波器的应用限制(高频笔试/面试判断题)
由于对称性导致的数学约束,这四类滤波器的纯实幅度函数 H~(ω)\tilde{H}(\omega) 在特殊频率点(ω=0\omega = 0ω=π\omega = \pi)处具有固定的零点特性。这直接宣判了它们能做和不能做什么类型的滤波器 :

image-20260318230815000

  • 类型 I:在 ω=0,π\omega=0, \pi 处无强制零点。最全能,可以设计为任何类型的滤波器(低通、高通、带通、带阻)。
  • 类型 II:在 ω=π\omega = \pi 处必然有一个零点(即 H~(π)=0\tilde{H}(\pi) = 0)。因此,绝对不能用来设计高通(HP)和带阻(BS)滤波器(因为高通要求在 π\pi 处增益最大,矛盾)。
  • 类型 III:在 ω=0\omega = 0ω=π\omega = \pi 处都必然有零点。因此,它既不能做低通,也不能做高通和带阻,只能用来设计带通(BP)滤波器,或者用于设计特殊的希尔伯特变换器。
  • 类型 IV:在 ω=0\omega = 0 处必然有一个零点。因此,绝对不能用来设计低通(LP)和带阻(BS)滤波器。它常用于设计微分器。

image-20260318230826218


Q1: 面试官:如果我现在需要设计一个“高通”数字滤波器,并且明确要求信号通过后绝对不能发生相位失真。请问在 FIR 的四种线性相位类型中,哪些类型是绝对不能用的?为什么?

answer: 绝对不能用类型 II 和类型 III。因为我们要求无相位失真,所以必须用线性相位的 FIR。但是,根据数学对称性推导,类型 II(偶长度、偶对称)和类型 III(奇长度、奇对称)在奈奎斯特频率(ω=π\omega = \pi)处的幅度响应严格等于 0。而高通滤波器的物理要求恰恰是在高频(ω=π\omega = \pi)处信号能够无损通过(即增益不能为 0)。这两者在数学上是死互斥的,因此这两种类型物理上做不出高通滤波器。只能选择类型 I 或类型 IV。

Q2: 面试官:在推导线性相位 FIR 滤波器的频率响应时,我们发现它的群延迟统一都是 τ(ω)=N/2\tau(\omega) = N/2。这个 N/2N/2 在物理图象上对应着冲激响应序列 h[n]h[n] 的什么位置?如果 NN 是奇数(即类型 II 或 IV),这个延迟量在计算机的样本点上意味着什么?

answer: 这个 τ(ω)=N/2\tau(\omega) = N/2 在物理图象上严格对应着 FIR 滤波器冲激响应序列 h[n]h[n] 的“对称中心”位置。如果 NN 是偶数(长度为奇数),对称中心恰好落在一个真实的整数样本点上,延迟量是一个整数周期;如果 NN 是奇数(长度为偶数),比如 N=7N=7,那么群延迟是 3.53.5 个采样周期。在计算机中,这意味着输出信号相当于输入信号被延迟了 3 个半周期,产生了一个位于两个离散样本点正中间的“半采样点延迟(分数延迟)”。这在某些需要进行高精度时间插值或同步的通信系统中非常有用。

七、数字滤波器

7.1 滤波器结构图表示

在实际应用中,线性时不变(LTI)数字滤波器既可以通过软件代码实现,也可以通过硬件电路(如 FPGA、DSP 芯片)实现。结构框图直观地表示了系统内部变量与输入、输出之间的数学与物理关系,它是编写计算算法和设计硬件电路的直接依据。

image-20260318231027991

滤波器框图的六大基本单元

  • 加法器(Adder):将两个或多个序列在同一时刻相加。符号通常为带“+”号的圆圈。
  • 乘法器(Multiplier):将序列乘以一个常数系数。符号通常为一个带有增益值(如 AA)的三角形。
  • 引出节点(Pick-off node):将同一个信号无损地引向多个不同的支路。
  • 单位延迟器(Unit Delay):核心储能元件。将信号延迟一个采样周期,在 Z 域中对应乘以 z1z^{-1},方框内标记为 z1z^{-1}。* 单位超前器(Unit Advance):将信号提前一个采样周期,标记为 zz。注意:实时系统中不可物理实现。
  • 调制器(Modulator):将两个序列逐点相乘(如时域加窗或频域调制),符号为带“×\times”号的圆圈。

image-20260318231050539

无延迟环路问题(Delay-Free Loop)—— 绝对核心考点
在绘制或分析复杂的滤波器框图时,如果图中存在一个闭合的反馈环路,且该环路中不包含任何延迟单元(z1z^{-1},这就构成了无延迟环路。
其数学本质是:系统的当前输出 y[n]y[n] 直接依赖于当前时刻的自身 y[n]y[n](例如 y[n]=Ay[n]+x[n]y[n] = A \cdot y[n] + x[n])。物理意义与结论:在没有时间延迟的情况下,要求一个运算立刻知道它自己的运算结果,这在物理硬件和软件算法上都是完全不可实现的(会导致死锁或无限递归)。如果遇到无延迟环路,必须通过代数化简,将其等效替换为没有无延迟环路的结构(例如化简为 y[n]=11Ax[n]y[n] = \frac{1}{1-A} x[n])。

image-20260318231219776

经典结构 / 典范结构(Canonical Structure)
一个数字滤波器的差分方程可以对应无数种不同的框图结构(因为代数方程可以随意变形)。但在工程实现中,我们最推崇的是经典结构
经典结构的严格定义是:框图中使用的延迟单元(z1z^{-1})的数量,严格等于该系统差分方程的阶数。在经典结构中,前馈支路和反馈支路完美共享了同一组延迟寄存器,从而将系统所需的内存消耗或硬件寄存器数量降到了物理理论上的最低极限。

image-20260318231337064


Q1: 面试官:在检查别人设计的数字滤波器结构图时,如果发现其中存在“无延迟环路(Delay-Free Loop)”,这会带来什么后果?你在代码实现或 FPGA 综合时能跑通吗?

answer: 存在无延迟环路的系统在物理上是绝对不可实现的。因为无延迟环路意味着当前时刻的输出样本 y[n]y[n] 需要用到当前时刻自身的输出 y[n]y[n] 参与运算。在软件代码(如 C 语言)中,这会变成一个无法求解的死循环;在 FPGA 硬件中,这会形成一个纯组合逻辑的无延迟反馈死环,导致电路状态极度不稳定或综合工具直接报错。解决办法是必须先在图纸上通过代数公式把它化简为显式的输入输出前向关系。

Q2: 面试官:假设我有一个二阶的 IIR 滤波器(包含 y[n1],y[n2]y[n-1], y[n-2]x[n1],x[n2]x[n-1], x[n-2])。如果我完全按照差分方程字面意思去画框图(直接型 I),我会用到几个延迟单元?如果我采用“经典结构(典范结构)”,又会用到几个?为什么要追求经典结构?

answer: 如果按照字面意思直接画(直接型 I),输入 x[n]x[n] 侧需要 2 个延迟单元来产生 x[n1]x[n-1]x[n2]x[n-2],输出 y[n]y[n] 的反馈侧也需要 2 个延迟单元产生 y[n1]y[n-1]y[n2]y[n-2],总共需要 4 个延迟单元。而如果采用经典结构(直接型 II),由于可以交换线性系统的级联顺序,输入和输出可以共享中间的状态变量,因此总共只需要 2 个延迟单元(严格等于系统阶数)。追求经典结构的最大意义在于极大地节省了硬件寄存器资源或软件内存空间,这对于资源受限的嵌入式 DSP 或 FPGA 开发至关重要。

7.2 FIR和IIR的基本结构

7.3 数字滤波器设计指标以及设计方法

7.3.1 基本概念和方法

7.3.2 脉冲响应不变法

7.3.3 双线性变换法

7.3.4 FIR滤波器设计

7.4 吉布斯现象

7.5 FIR窗函数

八、常见问题

九、数字信号处理的学科探讨

9.1 溯源与终极目标

9.2 边界与极限

9.3 核心方法和工具箱

9.4 工程妥协和核心矛盾

9.5 学科纵横与前沿