【DSP笔记】掌握数字世界的律动:时域离散信号与系统基础

掌握数字世界的律动:时域离散信号与系统基础

想象一下,你用手机拍了一张照片,或者听了一首MP3歌曲。这些图片和声音,原本都是连续变化的模拟信号,但为什么它们能被你的手机存储和处理呢?秘密就在于“数字化”。在这个过程中,“时域离散信号”和“时域离散系统”扮演了主角。

简单来说,时域离散信号就是“打散”了的信号,它只在特定的、不连续的时间点上有值;而时域离散系统,就是处理这些“打散”信号的机器或算法。理解它们,是推开数字信号处理大门的第一步。

走进数字世界:离散时间信号 (序列)

在模拟世界里,信号是连续的,就像一条平滑的曲线,在任何一个时间点上你都能找到它的值。但在数字世界里,我们无法处理无限多的信息,所以必须对信号进行“抽样”,只在特定的时间点上进行测量。这些测量得到的、按照时间顺序排列的数值,就构成了离散时间信号,在DSP中,我们更常用一个更专业的词——序列(Sequence) 来称呼它。

什么是离散时间信号?

一个离散时间信号,通常用 x ( n ) x(n) x(n) 来表示,其中 n n n 是一个整数,代表了时间点。比如,当你每隔一秒测量一次房间的温度,你得到的就是一个离散时间信号: T ( 0 ) T(0) T(0), T ( 1 ) T(1) T(1), T ( 2 ) T(2) T(2), …,这里的 T ( n ) T(n) T(n) 就是在第 n n n 秒测得的温度值。

与模拟信号 x a ( t ) x_a(t) xa(t) 不同, x ( n ) x(n) x(n) 不在任意时间 t t t 上有值,它只在离散的整数时间点 n n n 上有定义。

表示方法:

  1. 集合法: 直接列出序列中所有有值的点及其对应的取值。
    例如: x ( n ) = { . . . , x ( − 1 ) , x ( 0 ) , x ( 1 ) , x ( 2 ) , . . . } x(n) = \{..., x(-1), x(0), x(1), x(2), ...\} x(n)={...,x(1),x(0),x(1),x(2),...}
    当序列只在有限个点有值时,通常会用一个箭头指示 n = 0 n=0 n=0 处的值,例如: x ( n ) = { 1 , 2 , 3 ‾ , 4 , 5 } x(n) = \{1, 2, \underline{3}, 4, 5\} x(n)={1,2,3,4,5},表示 x ( 0 ) = 3 , x ( − 1 ) = 2 , x ( − 2 ) = 1 , x ( 1 ) = 4 , x ( 2 ) = 5 x(0)=3, x(-1)=2, x(-2)=1, x(1)=4, x(2)=5 x(0)=3,x(1)=2,x(2)=1,x(1)=4,x(2)=5

  2. 公式法: 使用数学公式来定义序列在每个时间点上的值。
    例如: x ( n ) = n 2 u ( n ) x(n) = n^2 u(n) x(n)=n2u(n),其中 u ( n ) u(n) u(n) 是单位阶跃序列。这意味着当 n < 0 n<0 n<0 时, x ( n ) = 0 x(n)=0 x(n)=0;当 n ≥ 0 n \geq 0 n0 时, x ( n ) = n 2 x(n)=n^2 x(n)=n2

  3. 图形法 (序列波形图): 将序列的每个值绘制在坐标轴上,横轴表示时间 n n n,纵轴表示序列值 x ( n ) x(n) x(n)。通常用垂直的直线或点来表示。

常见序列类型:数字世界的“基本粒子”

就像原子是构成物质的基本单位一样,在数字信号处理中,也有一些基础序列,它们是构成更复杂信号的“基本粒子”。

  1. 单位脉冲序列 (Unit Impulse Sequence)

    • 定义:
      δ ( n ) = { 1 , n = 0 0 , n ≠ 0 \delta(n) = \begin{cases} 1, & n = 0 \\ 0, & n \neq 0 \end{cases} δ(n)={1,0,n=0n=0
    • 意义:它就像一个瞬时敲击,只在 n = 0 n=0 n=0 时刻有一个非零值。
    • 应用:它是系统分析的基石。在DSP中,用一个单位脉冲序列作为输入,得到的输出就叫做单位脉冲响应,它就像一个系统的“指纹”,完全刻画了LTI系统的特性。
  2. 单位阶跃序列 (Unit Step Sequence)

    • 定义:
      u ( n ) = { 1 , n ≥ 0 0 , n < 0 u(n) = \begin{cases} 1, & n \geq 0 \\ 0, & n < 0 \end{cases} u(n)={1,0,n0n<0
    • 意义:它表示一个信号从某个时刻开始出现并保持不变。
    • 应用:常用来表示信号的开始或开关动作,很多因果序列(即只在 n ≥ 0 n \geq 0 n0 有值的序列)都会乘以 u ( n ) u(n) u(n)
  3. 矩形序列 (Rectangular Sequence)

    • 定义:
      R M ( n ) = { 1 , 0 ≤ n ≤ M − 1 0 , 其他 R_M(n) = \begin{cases} 1, & 0 \leq n \leq M-1 \\ 0, & \text{其他} \end{cases} RM(n)={1,0,0nM1其他
    • 意义:在一段有限的时间内(长度为 M M M)取值为1,其他时间为0。
    • 应用:常用于模拟数据帧、有限持续时间内的信号片段。
  4. 实指数序列 (Real Exponential Sequence)

    • 定义: x ( n ) = a n u ( n ) x(n) = a^n u(n) x(n)=anu(n)
    • 意义:如果 ∣ a ∣ > 1 |a|>1 a>1,序列会指数增长;如果 ∣ a ∣ < 1 |a|<1 a<1,序列会指数衰减。
    • 应用:在物理、工程中模拟各种衰减或增长过程。
  5. 正弦序列 (Sinusoidal Sequence)

    • 定义: x ( n ) = A cos ⁡ ( ω 0 n + ϕ ) x(n) = A \cos(\omega_0 n + \phi) x(n)=Acos(ω0n+ϕ)
    • 意义:离散时间下的周期性振荡信号。
    • 参数: A A A 为幅度, ω 0 \omega_0 ω0 为数字角频率(单位:弧度/样本), ϕ \phi ϕ 为初始相位。
    • 重要提示: 与模拟正弦信号不同,数字正弦序列不一定都是周期的!这是一个非常重要的特性。
  6. 复指数序列 (Complex Exponential Sequence)

    • 定义: x ( n ) = e j ω 0 n = cos ⁡ ( ω 0 n ) + j sin ⁡ ( ω 0 n ) x(n) = e^{j\omega_0 n} = \cos(\omega_0 n) + j \sin(\omega_0 n) x(n)=ejω0n=cos(ω0n)+jsin(ω0n)
    • 意义:它是正弦序列的更通用形式,是傅里叶分析和Z变换的基石。任何一个离散时间信号都可以被分解成复指数序列的叠加。
    • 应用:理论分析和频率域变换的核心。

序列的周期性:数字信号的“循环”

对于一个序列 x ( n ) x(n) x(n),如果存在一个最小的正整数 N 0 N_0 N0,使得 x ( n ) = x ( n + N 0 ) x(n) = x(n+N_0) x(n)=x(n+N0) 对所有 n n n 都成立,那么称 x ( n ) x(n) x(n)周期序列 N 0 N_0 N0 称为最小正周期基波周期

判断正弦序列 x ( n ) = A cos ⁡ ( ω 0 n + ϕ ) x(n) = A \cos(\omega_0 n + \phi) x(n)=Acos(ω0n+ϕ) 或复指数序列 x ( n ) = e j ω 0 n x(n) = e^{j\omega_0 n} x(n)=ejω0n 的周期性:
序列要具有周期性,需要满足 ω 0 N 0 = 2 π k \omega_0 N_0 = 2\pi k ω0N0=2πk,其中 k k k 是一个整数。
这意味着 ω 0 / ( 2 π ) = k / N 0 \omega_0 / (2\pi) = k/N_0 ω0/(2π)=k/N0
因此,数字角频率 ω 0 \omega_0 ω0 必须是 2 π 2\pi 2π 的有理数倍,序列才是周期的。
如果 ω 0 / ( 2 π ) \omega_0 / (2\pi) ω0/(2π) 是一个有理数 k / N k/N k/N(其中 k k k N N N 是互质的整数),那么最小正周期就是 N 0 = N N_0 = N N0=N

举个例子:

  • 序列 x ( n ) = cos ⁡ ( 3 π 8 n ) x(n) = \cos(\frac{3\pi}{8}n) x(n)=cos(83πn)
    这里的 ω 0 = 3 π 8 \omega_0 = \frac{3\pi}{8} ω0=83π
    ω 0 2 π = 3 π / 8 2 π = 3 16 \frac{\omega_0}{2\pi} = \frac{3\pi/8}{2\pi} = \frac{3}{16} 2πω0=2π3π/8=163
    这是一个有理数。 k = 3 , N = 16 k=3, N=16 k=3,N=16。由于 3 3 3 16 16 16 互质,所以最小正周期 N 0 = 16 N_0 = 16 N0=16。这个序列是周期的。
  • 序列 x ( n ) = sin ⁡ ( 0.3 n ) x(n) = \sin(0.3n) x(n)=sin(0.3n)
    这里的 ω 0 = 0.3 \omega_0 = 0.3 ω0=0.3
    ω 0 2 π = 0.3 2 π = 3 20 π \frac{\omega_0}{2\pi} = \frac{0.3}{2\pi} = \frac{3}{20\pi} 2πω0=2π0.3=20π3
    这是一个无理数(因为含有 π \pi π)。所以这个序列不是周期的。

序列的基本运算:数字信号的“积木”

对序列进行运算是数字信号处理的基础,就像用积木搭建模型一样。

  1. 加法与乘法:

    • 逐点运算,非常直观。
    • y ( n ) = x 1 ( n ) + x 2 ( n ) y(n) = x_1(n) + x_2(n) y(n)=x1(n)+x2(n)
    • y ( n ) = x 1 ( n ) ⋅ x 2 ( n ) y(n) = x_1(n) \cdot x_2(n) y(n)=x1(n)x2(n)
  2. 时移 (Time Shift):

    • 将序列在时间轴上向左或向右移动。
    • y ( n ) = x ( n − n 0 ) y(n) = x(n-n_0) y(n)=x(nn0)
    • 如果 n 0 > 0 n_0 > 0 n0>0,表示将 x ( n ) x(n) x(n) 向右(延迟)移动 n 0 n_0 n0 个单位。
    • 如果 n 0 < 0 n_0 < 0 n0<0,表示将 x ( n ) x(n) x(n) 向左(超前)移动 ∣ n 0 ∣ |n_0| n0 个单位。
    • 应用:模拟信号的延迟、控制系统中状态的滞后等。
  3. 翻转 (Folding/Reversal):

    • 将序列沿 n = 0 n=0 n=0 轴进行镜像翻转。
    • y ( n ) = x ( − n ) y(n) = x(-n) y(n)=x(n)
  4. 累加 (Accumulation):

    • 将序列从负无穷到当前点的值进行求和。
    • y ( n ) = ∑ m = − ∞ n x ( m ) y(n) = \sum_{m=-\infty}^{n} x(m) y(n)=m=nx(m)
    • 意义:是模拟信号积分的离散对应。例如,对速度序列进行累加可以得到位移序列。
  5. 差分 (Differencing):

    • 计算序列相邻两个点之间的差值。
    • y ( n ) = x ( n ) − x ( n − 1 ) y(n) = x(n) - x(n-1) y(n)=x(n)x(n1)
    • 意义:是模拟信号微分的离散对应。例如,对位移序列进行差分可以得到速度序列。
  6. 尺度变换 (Scaling):

    • 改变序列的“时间”尺度。
    • y ( n ) = x ( a n ) y(n) = x(an) y(n)=x(an)
    • 重要限制: 只有当 a n an an 为整数时,这个操作才有意义。这意味着,你不能随便“拉伸”或“压缩”一个离散序列,你只能在某些特定的点上“采样”或者“插值”。例如, x ( 2 n ) x(2n) x(2n) 表示每隔一个点取一个值,这相当于对原始信号进行“抽取”;而 x ( n / 2 ) x(n/2) x(n/2) 则需要考虑插值。
  7. 能量 (Energy):

    • 有限能量信号的能量定义为:
      E x = ∑ n = − ∞ ∞ ∣ x ( n ) ∣ 2 E_x = \sum_{n=-\infty}^{\infty} |x(n)|^2 Ex=n=x(n)2
    • 功率 (Power):对周期信号或能量无限的信号,通常定义为平均功率。
      P x = lim ⁡ N → ∞ 1 2 N + 1 ∑ n = − N N ∣ x ( n ) ∣ 2 P_x = \lim_{N \to \infty} \frac{1}{2N+1} \sum_{n=-N}^{N} |x(n)|^2 Px=Nlim2N+11n=NNx(n)2
    • 意义:衡量信号的“强度”或“大小”。

这些基本概念和运算,是理解后续更复杂DSP内容的基础。请务必熟练掌握。

信号的“处理器”:离散时间系统

有了离散时间信号这个“原料”,我们还需要“加工厂”来处理它们。这个“加工厂”就是离散时间系统

什么是离散时间系统?

一个离散时间系统可以看作是一个黑箱子,它接收一个输入序列 x ( n ) x(n) x(n),经过一系列处理,产生一个输出序列 y ( n ) y(n) y(n)。我们可以用 T [ ⋅ ] T[\cdot] T[] 来表示这个系统,即 y ( n ) = T [ x ( n ) ] y(n) = T[x(n)] y(n)=T[x(n)]

系统通常通过差分方程来描述,例如: y ( n ) = 0.5 x ( n ) + 0.5 x ( n − 1 ) y(n) = 0.5x(n) + 0.5x(n-1) y(n)=0.5x(n)+0.5x(n1),表示当前输出是当前输入和前一个输入的平均值。

系统的基本特性:数字系统的高效运行法则

在众多系统特性中,线性时不变性是最重要的两个。如果一个系统同时满足这两者,我们称之为线性时不变系统 (LTI System),它在DSP中具有无与伦比的地位。

  1. 线性 (Linearity):
    线性系统满足叠加原理。这意味着:

    • 齐次性(Homogeneity): 对输入信号进行放大,输出信号也会按相同的比例放大。
      T [ a x ( n ) ] = a T [ x ( n ) ] T[ax(n)] = aT[x(n)] T[ax(n)]=aT[x(n)]
    • 可加性(Additivity): 多个输入信号之和的输出,等于每个信号单独输入时的输出之和。
      T [ x 1 ( n ) + x 2 ( n ) ] = T [ x 1 ( n ) ] + T [ x 2 ( n ) ] T[x_1(n) + x_2(n)] = T[x_1(n)] + T[x_2(n)] T[x1(n)+x2(n)]=T[x1(n)]+T[x2(n)]
    • 更简洁的验证方式是同时验证: T [ a x 1 ( n ) + b x 2 ( n ) ] = a T [ x 1 ( n ) ] + b T [ x 2 ( n ) ] T[ax_1(n) + bx_2(n)] = aT[x_1(n)] + bT[x_2(n)] T[ax1(n)+bx2(n)]=aT[x1(n)]+bT[x2(n)]
    • 直观理解: 线性系统不会对信号产生“变形扭曲”,它处理信号的方式是“公平”的,不偏不倚。例如,一个音响系统,你把音量调大一倍,声音的“形状”不会变,只是响度大了。但如果你把音量调得太大,导致失真(削波),那它就变得非线性了。
  2. 时不变性 (Time-Invariance):
    时不变系统是指,系统的行为不随时间的变化而改变。

    • 如果输入 x ( n ) x(n) x(n) 产生输出 y ( n ) y(n) y(n),那么将输入延迟 n 0 n_0 n0 个单位时间,即 x ( n − n 0 ) x(n-n_0) x(nn0),产生的输出也仅仅是 y ( n ) y(n) y(n) 延迟 n 0 n_0 n0 个单位时间,即 y ( n − n 0 ) y(n-n_0) y(nn0)
      T [ x ( n − n 0 ) ] = y ( n − n 0 ) T[x(n-n_0)] = y(n-n_0) T[x(nn0)]=y(nn0)
    • 直观理解: 一个时不变的信号处理算法,今天用它处理一段语音,明天用它处理同一段语音,结果应该完全一样。例如,一个数字滤波器,它的滤波效果不会因为你是在上午用还是下午用而改变。但如果你家里的老式收音机,随着电池电量下降,信号接收效果变差,那它就是一个时变系统。

LTI 系统:数字信号处理的“黄金标准”

由于线性系统和时不变系统具有优秀的数学性质,所以DSP中绝大部分理论和算法都是围绕LTI系统展开的。LTI系统的核心在于,它的行为完全由其单位脉冲响应 h ( n ) h(n) h(n) 来决定。

卷积:LTI 系统的“核心算法”

一个LTI系统最重要的特性是,它的输出 y ( n ) y(n) y(n) 可以通过输入 x ( n ) x(n) x(n) 与其单位脉冲响应 h ( n ) h(n) h(n) 的**卷积(Convolution)**来计算。

  • 定义:
    y ( n ) = x ( n ) ∗ h ( n ) = ∑ k = − ∞ ∞ x ( k ) h ( n − k ) y(n) = x(n) \ast h(n) = \sum_{k=-\infty}^{\infty} x(k) h(n-k) y(n)=x(n)h(n)=k=x(k)h(nk)
    这个公式也称为卷积和

  • 直观理解:
    想象 x ( n ) x(n) x(n) 是一系列“刺激”,而 h ( n ) h(n) h(n) 是系统对一个“瞬时刺激”(单位脉冲)的“反应模式”。卷积运算的意义是:将输入信号 x ( n ) x(n) x(n) 拆解成无数个不同时刻的单位脉冲信号的加权和(每个 x ( k ) δ ( n − k ) x(k)\delta(n-k) x(k)δ(nk)),然后计算系统对每个单位脉冲的响应(即 x ( k ) h ( n − k ) x(k)h(n-k) x(k)h(nk)),最后将所有这些响应叠加起来,就得到了总的输出 y ( n ) y(n) y(n)
    这个过程就像你往一个水池里扔石头,每个石头( x ( k ) x(k) x(k))会激起一个涟漪( h ( n − k ) h(n-k) h(nk)),而最终的水面波动( y ( n ) y(n) y(n))是所有涟漪叠加的结果。

请添加图片描述

  • 卷积性质:
    卷积运算具有一些重要的性质,它们使得复杂系统的分析和设计变得更加容易:
    • 交换律: x ( n ) ∗ h ( n ) = h ( n ) ∗ x ( n ) x(n) \ast h(n) = h(n) \ast x(n) x(n)h(n)=h(n)x(n)
      这表明输入和系统响应的顺序可以互换,结果不变。
    • 结合律: ( x ( n ) ∗ h 1 ( n ) ) ∗ h 2 ( n ) = x ( n ) ∗ ( h 1 ( n ) ∗ h 2 ( n ) ) (x(n) \ast h_1(n)) \ast h_2(n) = x(n) \ast (h_1(n) \ast h_2(n)) (x(n)h1(n))h2(n)=x(n)(h1(n)h2(n))
      多个LTI系统串联时,它们的整体响应是各个系统响应的卷积。这意味着你可以在分析时先将串联的系统合并为一个等效系统。
    • 分配律: x ( n ) ∗ ( h 1 ( n ) + h 2 ( n ) ) = x ( n ) ∗ h 1 ( n ) + x ( n ) ∗ h 2 ( n ) x(n) \ast (h_1(n) + h_2(n)) = x(n) \ast h_1(n) + x(n) \ast h_2(n) x(n)(h1(n)+h2(n))=x(n)h1(n)+x(n)h2(n)
      多个LTI系统并联时,它们的总输出是各自输出的叠加。

系统的因果性与稳定性:确保系统“可靠”运行

除了线性和时不变性,因果性和稳定性也是衡量系统好坏的重要指标。

  1. 因果性 (Causality):

    • 一个因果系统,其当前时刻的输出 y ( n ) y(n) y(n) 只取决于当前时刻和过去时刻的输入 x ( k ) x(k) x(k) 以及过去的输出 y ( k ) y(k) y(k)。它不能“预知未来”。
    • 对于LTI系统: 因果性的要求是其单位脉冲响应 h ( n ) h(n) h(n) 必须满足 h ( n ) = 0 h(n)=0 h(n)=0 对于 n < 0 n<0 n<0
    • 实际意义: 任何能够实时工作的物理系统都必须是因果的。你不能让一个控制器根据传感器未来的读数来决定现在的动作。
  2. 稳定性 (Stability):

    • 我们最常讨论的是BIBO稳定性 (Bounded Input Bounded Output Stability)。一个BIBO稳定的系统,对于任何有界的输入(输入信号的幅度不发散),其输出信号的幅度也必须是有界的(输出信号的幅度也不发散)。
    • 对于LTI系统: BIBO稳定性的条件是其单位脉冲响应 h ( n ) h(n) h(n) 必须是绝对可和的,即:
      ∑ n = − ∞ ∞ ∣ h ( n ) ∣ < ∞ \sum_{n=-\infty}^{\infty} |h(n)| < \infty n=h(n)<
    • 实际意义: 稳定的系统不会“发散”或“崩溃”。例如,一个控制系统如果不稳定,可能会导致设备振荡加剧,甚至损坏。

差分方程:描述数字系统的“数学语言”

在DSP中,我们通常用线性常系数差分方程 (LCCDE) 来描述LTI系统。这就像在模拟信号处理中用线性常系数微分方程描述系统一样。

线性常系数差分方程的形式

一个典型的N阶LCCDE的形式如下:
∑ k = 0 N a k y ( n − k ) = ∑ m = 0 M b m x ( n − m ) \sum_{k=0}^N a_k y(n-k) = \sum_{m=0}^M b_m x(n-m) k=0Naky(nk)=m=0Mbmx(nm)
其中:

  • y ( n ) y(n) y(n) 是当前时刻的输出。
  • y ( n − k ) y(n-k) y(nk) 是过去的输出项。
  • x ( n ) x(n) x(n) 是当前时刻的输入。
  • x ( n − m ) x(n-m) x(nm) 是过去的输入项。
  • a k a_k ak b m b_m bm 是常数系数。
  • N N N 是输出项的最大延迟,称为系统的阶数

例子:
y ( n ) − 0.5 y ( n − 1 ) = x ( n ) + 0.2 x ( n − 1 ) y(n) - 0.5y(n-1) = x(n) + 0.2x(n-1) y(n)0.5y(n1)=x(n)+0.2x(n1)
这是一个1阶LCCDE。

求解方法

  1. 递推解法 (Iterative Solution):
    当给定输入序列 x ( n ) x(n) x(n) 和系统的初始条件(即 y ( − 1 ) , y ( − 2 ) , … y(-1), y(-2), \dots y(1),y(2),)时,我们可以通过将差分方程改写为递推形式来逐步计算输出 y ( n ) y(n) y(n)
    例如,对于上面的方程,可以改写为: y ( n ) = 0.5 y ( n − 1 ) + x ( n ) + 0.2 x ( n − 1 ) y(n) = 0.5y(n-1) + x(n) + 0.2x(n-1) y(n)=0.5y(n1)+x(n)+0.2x(n1)
    这样,你就可以从 n = 0 n=0 n=0 开始,依次计算 y ( 0 ) , y ( 1 ) , y ( 2 ) , … y(0), y(1), y(2), \dots y(0),y(1),y(2),

    求解单位脉冲响应 h ( n ) h(n) h(n)
    递推法的一个重要应用就是求解系统的单位脉冲响应 h ( n ) h(n) h(n)。根据定义, h ( n ) h(n) h(n) 是当输入 x ( n ) = δ ( n ) x(n) = \delta(n) x(n)=δ(n) 且所有初始条件为零时系统的输出。
    步骤:

    1. x ( n ) = δ ( n ) x(n) = \delta(n) x(n)=δ(n)
    2. 设定所有初始条件为零(即 y ( n ) = 0 y(n)=0 y(n)=0 for n < 0 n<0 n<0)。
    3. n = 0 n=0 n=0 开始,逐点递推计算 y ( n ) y(n) y(n) 的值。

    例: y ( n ) − 0.5 y ( n − 1 ) = x ( n ) y(n) - 0.5y(n-1) = x(n) y(n)0.5y(n1)=x(n) 的单位脉冲响应 h ( n ) h(n) h(n)
    改写为 y ( n ) = 0.5 y ( n − 1 ) + x ( n ) y(n) = 0.5y(n-1) + x(n) y(n)=0.5y(n1)+x(n)
    y ( − 1 ) = 0 y(-1)=0 y(1)=0

    • n = 0 n=0 n=0 时: h ( 0 ) = 0.5 h ( − 1 ) + δ ( 0 ) = 0.5 × 0 + 1 = 1 h(0) = 0.5h(-1) + \delta(0) = 0.5 \times 0 + 1 = 1 h(0)=0.5h(1)+δ(0)=0.5×0+1=1
    • n = 1 n=1 n=1 时: h ( 1 ) = 0.5 h ( 0 ) + δ ( 1 ) = 0.5 × 1 + 0 = 0.5 h(1) = 0.5h(0) + \delta(1) = 0.5 \times 1 + 0 = 0.5 h(1)=0.5h(0)+δ(1)=0.5×1+0=0.5
    • n = 2 n=2 n=2 时: h ( 2 ) = 0.5 h ( 1 ) + δ ( 2 ) = 0.5 × 0.5 + 0 = 0.25 h(2) = 0.5h(1) + \delta(2) = 0.5 \times 0.5 + 0 = 0.25 h(2)=0.5h(1)+δ(2)=0.5×0.5+0=0.25
    • n = 3 n=3 n=3 时: h ( 3 ) = 0.5 h ( 2 ) + δ ( 3 ) = 0.5 × 0.25 + 0 = 0.125 h(3) = 0.5h(2) + \delta(3) = 0.5 \times 0.25 + 0 = 0.125 h(3)=0.5h(2)+δ(3)=0.5×0.25+0=0.125
      依此类推,得到 h ( n ) = ( 0.5 ) n u ( n ) h(n) = (0.5)^n u(n) h(n)=(0.5)nu(n)
  2. 经典解法 (齐次解 + 特解):
    与微分方程类似,解差分方程也可以分为求解齐次方程的解(系统的自由响应)和特解(系统的受迫响应),然后叠加。这种方法在手算时比较复杂,不如 Z 变换法常用。

  3. 变换域解法 (Z 变换):
    这是最强大、最常用的方法。通过将差分方程转换为Z域的代数方程来求解,大大简化了计算。我们将在第二章详细介绍。

从模拟到数字:信号的“数字化之旅”

现在我们已经了解了离散时间信号和系统本身,但现实世界中的信号往往是模拟的。如何将这些模拟信号“送入”数字系统进行处理呢?这就涉及到了模数转换 (A/D Conversion)数模转换 (D/A Conversion)

A/D 转换:现实世界的“扫描仪”

A/D 转换器(ADC)是连接模拟世界和数字世界的桥梁。它将连续时间的模拟信号 x a ( t ) x_a(t) xa(t) 转换为离散时间的数字信号 x ( n ) x(n) x(n)。这个过程通常包含三个关键步骤:

  1. 采样 (Sampling):
    这是模数转换的第一步,也是最重要的一步。它以固定的时间间隔 T T T(采样周期)对模拟信号的幅度进行测量。
    如果采样频率为 f s = 1 / T f_s = 1/T fs=1/T,那么采样序列就是 x ( n ) = x a ( n T ) x(n) = x_a(nT) x(n)=xa(nT)

    采样定理 (Nyquist-Shannon Sampling Theorem):
    这是DSP中的“黄金法则”!它告诉我们,为了能够从采样序列中无失真地恢复原始模拟信号,采样频率 f s f_s fs 必须至少是模拟信号中最高频率 f c f_c fc 的两倍。
    即: f s ≥ 2 f c f_s \geq 2f_c fs2fc

    如果采样频率低于 2 f c 2f_c 2fc,就会发生混叠 (Aliasing) 现象。混叠是指高频分量被错误地映射到低频区域,导致信号失真,且这种失真无法通过后续处理消除。
    例如,你用摄像机拍摄一个高速旋转的车轮,如果帧率(采样频率)不够高,车轮可能看起来在缓慢地向后转动,这就是一种视觉上的混叠。

    在数字域,频率 ω \omega ω 与模拟域频率 Ω \Omega Ω 的关系是 ω = Ω T = Ω / f s \omega = \Omega T = \Omega / f_s ω=ΩT=Ω/fs
    根据采样定理,最高模拟频率 f c f_c fc 对应数字频率 ω c = 2 π f c / f s ≤ π \omega_c = 2\pi f_c / f_s \leq \pi ωc=2πfc/fsπ
    因此,数字频率通常位于范围 [ − π , π ) [-\pi, \pi) [π,π) [ 0 , 2 π ) [0, 2\pi) [0,2π) 之间。
    请添加图片描述

  2. 量化 (Quantization):
    采样的结果仍然是连续的幅度值(虽然时间是离散的)。量化是将这些连续的幅度值转换为有限的、离散的幅度值。
    例如,一个声音信号的采样值可能是 0.325V,如果用8位量化,它可能被量化为 0.32V。这个过程会引入量化误差量化噪声。量化位数越多,量化误差越小,但所需的存储空间和计算资源也越多。

  3. 编码 (Coding):
    量化后的离散幅度值需要被转换为二进制代码,以便数字电路和计算机进行存储和处理。这是从“离散值”到“数字代码”的最终步骤。

D/A 转换:数字信号的“复原师”

D/A 转换器(DAC)是模数转换的逆过程,它将数字信号 x ( n ) x(n) x(n) 转换为模拟信号 y a ( t ) y_a(t) ya(t)

  1. 数字到模拟的转换: DAC 接收二进制代码,并将其转换为对应的模拟幅度值(通常是电压或电流)。
  2. 重建滤波器 (Reconstruction Filter):
    DAC 输出的模拟信号通常是一个“阶梯状”的信号,它由一系列在采样点上跳变的离散电平组成。为了得到平滑的、接近原始的模拟信号,我们需要使用一个重建滤波器,通常是一个低通滤波器。
    这个滤波器会滤除数字信号中采样带来的高频成分(例如,零阶保持器输出的“台阶”之间的矩形脉冲),从而“平滑”信号,使其恢复到接近原始模拟信号的形态。

在这里插入图片描述

在实际应用中,模数转换和数模转换的质量直接影响着数字信号处理系统的性能。优秀的ADC和DAC是高性能DSP系统的基础。


总结与展望

在这一章中,我们踏入了数字信号处理的大门,认识了最基本的“砖块”和“工具”:

  • 离散时间信号(序列):理解它们如何表示,常见的类型有哪些,以及它们的基本运算和周期性。
  • 离散时间系统:学习了系统的基本属性——线性、时不变性、因果性和稳定性。其中,LTI系统因其特性优良而成为DSP的焦点,而卷积则是描述LTI系统核心行为的数学工具。
  • 线性常系数差分方程:这是描述LTI系统的数学语言,我们了解了其形式及基本的递推求解方法。
  • 模数/数模转换:理解了信号从模拟世界进入数字世界(采样、量化、编码)和从数字世界返回模拟世界(DAC、重建滤波)的关键过程,以及采样定理的重要性。

这些知识点就像是DSP大厦的地基。虽然现在你可能觉得有些概念还比较抽象,但请相信,随着我们学习的深入,你会越来越体会到它们的重要性。下一章,我们将介绍一种更强大的数学工具——Z变换,它能将时域的卷积运算转化为Z域的简单乘法,极大地简化LTI系统的分析和设计。敬请期待!


习题

学以致用,下面是几道练习题,帮助你巩固本章的知识点。

1. 序列周期性判断:
判断以下序列是否是周期的,如果是,请计算其最小正周期 N 0 N_0 N0
a) x ( n ) = cos ⁡ ( 3 π 8 n ) x(n) = \cos(\frac{3\pi}{8}n) x(n)=cos(83πn)
b) x ( n ) = sin ⁡ ( 0.3 n ) x(n) = \sin(0.3n) x(n)=sin(0.3n)
c) x ( n ) = e j 2 π 5 n + e j 4 π 7 n x(n) = e^{j\frac{2\pi}{5}n} + e^{j\frac{4\pi}{7}n} x(n)=ej52πn+ej74πn

2. 系统特性判断 (线性与时不变性):
判断以下系统是否是线性的,是否是时不变的。给出你的判断依据。
a) y ( n ) = x ( n 2 ) y(n) = x(n^2) y(n)=x(n2)
b) y ( n ) = x ( n ) + x ( n − 1 ) y(n) = x(n) + x(n-1) y(n)=x(n)+x(n1)
c) y ( n ) = x ( n ) + n y(n) = x(n) + n y(n)=x(n)+n

3. 卷积运算:
已知序列 x ( n ) = { 1 , 2 , 3 } x(n) = \{1, 2, 3\} x(n)={1,2,3} (从 n = 0 n=0 n=0 开始) 和 h ( n ) = { 1 , 1 } h(n) = \{1, 1\} h(n)={1,1} (从 n = 0 n=0 n=0 开始)。计算 y ( n ) = x ( n ) ∗ h ( n ) y(n) = x(n) \ast h(n) y(n)=x(n)h(n)
提示:可以使用卷积和的定义 y ( n ) = ∑ k = − ∞ ∞ x ( k ) h ( n − k ) y(n) = \sum_{k=-\infty}^{\infty} x(k) h(n-k) y(n)=k=x(k)h(nk)

4. 递推法求解差分方程和单位脉冲响应:
一个因果 LTI 系统由差分方程描述: y ( n ) − 0.5 y ( n − 1 ) = x ( n ) y(n) - 0.5y(n-1) = x(n) y(n)0.5y(n1)=x(n)
a) 用递推法计算当输入 x ( n ) = δ ( n ) x(n) = \delta(n) x(n)=δ(n) 且初始条件为零时的输出 y ( n ) y(n) y(n),即系统的单位脉冲响应 h ( n ) h(n) h(n) 的前5个值 ( h ( 0 ) h(0) h(0) h ( 4 ) h(4) h(4))。
b) 判断该系统是否稳定,是否因果。


答案

1. 序列周期性判断:
a) 对于 x ( n ) = cos ⁡ ( 3 π 8 n ) x(n) = \cos(\frac{3\pi}{8}n) x(n)=cos(83πn),数字角频率 ω 0 = 3 π 8 \omega_0 = \frac{3\pi}{8} ω0=83π
ω 0 2 π = 3 π / 8 2 π = 3 16 \frac{\omega_0}{2\pi} = \frac{3\pi/8}{2\pi} = \frac{3}{16} 2πω0=2π3π/8=163。这是一个有理数。因为 k = 3 , N = 16 k=3, N=16 k=3,N=16 gcd ( 3 , 16 ) = 1 \text{gcd}(3,16)=1 gcd(3,16)=1,所以序列是周期的,最小正周期 N 0 = 16 N_0 = 16 N0=16
b) 对于 x ( n ) = sin ⁡ ( 0.3 n ) x(n) = \sin(0.3n) x(n)=sin(0.3n),数字角频率 ω 0 = 0.3 \omega_0 = 0.3 ω0=0.3
ω 0 2 π = 0.3 2 π = 3 20 π \frac{\omega_0}{2\pi} = \frac{0.3}{2\pi} = \frac{3}{20\pi} 2πω0=2π0.3=20π3。这是一个无理数(含有 π \pi π),所以序列不是周期的。
c) 对于 x ( n ) = e j 2 π 5 n + e j 4 π 7 n x(n) = e^{j\frac{2\pi}{5}n} + e^{j\frac{4\pi}{7}n} x(n)=ej52πn+ej74πn,这是一个复合序列。
第一个分量 x 1 ( n ) = e j 2 π 5 n x_1(n) = e^{j\frac{2\pi}{5}n} x1(n)=ej52πn 的周期 N 1 = 5 N_1 = 5 N1=5 (因为 2 π / 5 2 π = 1 5 \frac{2\pi/5}{2\pi} = \frac{1}{5} 2π2π/5=51)。
第二个分量 x 2 ( n ) = e j 4 π 7 n x_2(n) = e^{j\frac{4\pi}{7}n} x2(n)=ej74πn 的周期 N 2 = 7 N_2 = 7 N2=7 (因为 4 π / 7 2 π = 2 7 \frac{4\pi/7}{2\pi} = \frac{2}{7} 2π4π/7=72 gcd ( 2 , 7 ) = 1 \text{gcd}(2,7)=1 gcd(2,7)=1 N 2 = 7 N_2 = 7 N2=7)。
复合序列的周期是两个分量周期的最小公倍数: N 0 = lcm ( N 1 , N 2 ) = lcm ( 5 , 7 ) = 35 N_0 = \text{lcm}(N_1, N_2) = \text{lcm}(5, 7) = 35 N0=lcm(N1,N2)=lcm(5,7)=35
所以序列是周期的,最小正周期 N 0 = 35 N_0 = 35 N0=35

2. 系统特性判断 (线性与时不变性):
a) y ( n ) = x ( n 2 ) y(n) = x(n^2) y(n)=x(n2)

  • 线性: x ( n ) = a x 1 ( n ) + b x 2 ( n ) x(n) = ax_1(n) + bx_2(n) x(n)=ax1(n)+bx2(n)
    y ( n ) = T [ a x 1 ( n ) + b x 2 ( n ) ] = ( a x 1 ( n ) + b x 2 ( n 2 ) ) = a x 1 ( n 2 ) + b x 2 ( n 2 ) = a T [ x 1 ( n ) ] + b T [ x 2 ( n ) ] y(n) = T[ax_1(n) + bx_2(n)] = (ax_1(n) + bx_2(n^2)) = ax_1(n^2) + bx_2(n^2) = aT[x_1(n)] + bT[x_2(n)] y(n)=T[ax1(n)+bx2(n)]=(ax1(n)+bx2(n2))=ax1(n2)+bx2(n2)=aT[x1(n)]+bT[x2(n)]
    所以是线性的。
  • 时不变性: y ( n ) = x ( n 2 ) y(n) = x(n^2) y(n)=x(n2)
    延迟输入: x ′ ( n ) = x ( n − n 0 ) x'(n) = x(n-n_0) x(n)=x(nn0)。则 y ′ ( n ) = T [ x ( n − n 0 ) ] = x ( ( n − n 0 ) 2 ) y'(n) = T[x(n-n_0)] = x((n-n_0)^2) y(n)=T[x(nn0)]=x((nn0)2)
    延迟输出: y ( n − n 0 ) = x ( ( n − n 0 ) 2 ) y(n-n_0) = x((n-n_0)^2) y(nn0)=x((nn0)2)
    这两个不相等,例如,当 n 0 = 1 n_0=1 n0=1 y ( n − 1 ) = x ( ( n − 1 ) 2 ) y(n-1) = x((n-1)^2) y(n1)=x((n1)2),而 y ′ ( n ) = x ( n 2 − 2 n 0 + n 0 2 ) y'(n) = x(n^2-2n_0+n_0^2) y(n)=x(n22n0+n02) 不等于 x ( ( n − n 0 ) 2 ) x((n-n_0)^2) x((nn0)2)
    举例: x ( n ) = δ ( n ) x(n)=\delta(n) x(n)=δ(n), y ( n ) = δ ( n 2 ) = δ ( n ) y(n)=\delta(n^2)=\delta(n) y(n)=δ(n2)=δ(n)
    x ( n − 1 ) = δ ( n − 1 ) x(n-1)=\delta(n-1) x(n1)=δ(n1), y ′ ( n ) = δ ( ( n − 1 ) 2 ) y'(n)=\delta((n-1)^2) y(n)=δ((n1)2) 只在 n = 1 n=1 n=1 有值。
    y ( n − 1 ) = δ ( n − 1 ) y(n-1)=\delta(n-1) y(n1)=δ(n1)
    显然 y ′ ( n ) ≠ y ( n − 1 ) y'(n) \neq y(n-1) y(n)=y(n1)。所以是时变的。
    结论:线性,时变。

b) y ( n ) = x ( n ) + x ( n − 1 ) y(n) = x(n) + x(n-1) y(n)=x(n)+x(n1)

  • 线性: x ( n ) = a x 1 ( n ) + b x 2 ( n ) x(n) = ax_1(n) + bx_2(n) x(n)=ax1(n)+bx2(n)
    y ( n ) = ( a x 1 ( n ) + b x 2 ( n ) ) + ( a x 1 ( n − 1 ) + b x 2 ( n − 1 ) ) y(n) = (ax_1(n) + bx_2(n)) + (ax_1(n-1) + bx_2(n-1)) y(n)=(ax1(n)+bx2(n))+(ax1(n1)+bx2(n1))
    y ( n ) = a ( x 1 ( n ) + x 1 ( n − 1 ) ) + b ( x 2 ( n ) + x 2 ( n − 1 ) ) y(n) = a(x_1(n) + x_1(n-1)) + b(x_2(n) + x_2(n-1)) y(n)=a(x1(n)+x1(n1))+b(x2(n)+x2(n1))
    y ( n ) = a T [ x 1 ( n ) ] + b T [ x 2 ( n ) ] y(n) = aT[x_1(n)] + bT[x_2(n)] y(n)=aT[x1(n)]+bT[x2(n)]
    所以是线性的。
  • 时不变性: y ( n ) = x ( n ) + x ( n − 1 ) y(n) = x(n) + x(n-1) y(n)=x(n)+x(n1)
    延迟输入: x ′ ( n ) = x ( n − n 0 ) x'(n) = x(n-n_0) x(n)=x(nn0)。则 y ′ ( n ) = T [ x ( n − n 0 ) ] = x ( n − n 0 ) + x ( n − n 0 − 1 ) y'(n) = T[x(n-n_0)] = x(n-n_0) + x(n-n_0-1) y(n)=T[x(nn0)]=x(nn0)+x(nn01)
    延迟输出: y ( n − n 0 ) = x ( n − n 0 ) + x ( n − n 0 − 1 ) y(n-n_0) = x(n-n_0) + x(n-n_0-1) y(nn0)=x(nn0)+x(nn01)
    y ′ ( n ) = y ( n − n 0 ) y'(n) = y(n-n_0) y(n)=y(nn0)。所以是时不变的。
    结论:线性,时不变。

c) y ( n ) = x ( n ) + n y(n) = x(n) + n y(n)=x(n)+n

  • 线性: x ( n ) = a x 1 ( n ) + b x 2 ( n ) x(n) = ax_1(n) + bx_2(n) x(n)=ax1(n)+bx2(n)
    y ( n ) = ( a x 1 ( n ) + b x 2 ( n ) ) + n y(n) = (ax_1(n) + bx_2(n)) + n y(n)=(ax1(n)+bx2(n))+n
    a T [ x 1 ( n ) ] + b T [ x 2 ( n ) ] = a ( x 1 ( n ) + n ) + b ( x 2 ( n ) + n ) = a x 1 ( n ) + b x 2 ( n ) + ( a + b ) n aT[x_1(n)] + bT[x_2(n)] = a(x_1(n)+n) + b(x_2(n)+n) = ax_1(n) + bx_2(n) + (a+b)n aT[x1(n)]+bT[x2(n)]=a(x1(n)+n)+b(x2(n)+n)=ax1(n)+bx2(n)+(a+b)n
    由于 n n n 项的存在,如果 a + b ≠ 1 a+b \neq 1 a+b=1,则不满足线性。例如,取 a = 1 , b = 1 a=1, b=1 a=1,b=1,则 y ( n ) = x 1 ( n ) + x 2 ( n ) + n y(n) = x_1(n)+x_2(n)+n y(n)=x1(n)+x2(n)+n,而 T [ x 1 ( n ) ] + T [ x 2 ( n ) ] = x 1 ( n ) + n + x 2 ( n ) + n = x 1 ( n ) + x 2 ( n ) + 2 n T[x_1(n)]+T[x_2(n)] = x_1(n)+n + x_2(n)+n = x_1(n)+x_2(n)+2n T[x1(n)]+T[x2(n)]=x1(n)+n+x2(n)+n=x1(n)+x2(n)+2n。所以不满足线性。
  • 时不变性: y ( n ) = x ( n ) + n y(n) = x(n) + n y(n)=x(n)+n
    延迟输入: x ′ ( n ) = x ( n − n 0 ) x'(n) = x(n-n_0) x(n)=x(nn0)。则 y ′ ( n ) = T [ x ( n − n 0 ) ] = x ( n − n 0 ) + n y'(n) = T[x(n-n_0)] = x(n-n_0) + n y(n)=T[x(nn0)]=x(nn0)+n
    延迟输出: y ( n − n 0 ) = x ( n − n 0 ) + ( n − n 0 ) y(n-n_0) = x(n-n_0) + (n-n_0) y(nn0)=x(nn0)+(nn0)
    由于 n n n 项变为 n − n 0 n-n_0 nn0,所以 y ′ ( n ) ≠ y ( n − n 0 ) y'(n) \neq y(n-n_0) y(n)=y(nn0)。所以是时变的。
    结论:非线性,时变。

3. 卷积运算:
x ( n ) = { 1 , 2 , 3 } x(n) = \{1, 2, 3\} x(n)={1,2,3} (从 n = 0 n=0 n=0 开始),即 x ( 0 ) = 1 , x ( 1 ) = 2 , x ( 2 ) = 3 x(0)=1, x(1)=2, x(2)=3 x(0)=1,x(1)=2,x(2)=3
h ( n ) = { 1 , 1 } h(n) = \{1, 1\} h(n)={1,1} (从 n = 0 n=0 n=0 开始),即 h ( 0 ) = 1 , h ( 1 ) = 1 h(0)=1, h(1)=1 h(0)=1,h(1)=1
卷积长度 L = ( 3 − 1 ) + ( 2 − 1 ) + 1 = 2 + 1 + 1 = 4 L = (3-1) + (2-1) + 1 = 2+1+1 = 4 L=(31)+(21)+1=2+1+1=4
y ( n ) = ∑ k = − ∞ ∞ x ( k ) h ( n − k ) y(n) = \sum_{k=-\infty}^{\infty} x(k) h(n-k) y(n)=k=x(k)h(nk)

  • y ( 0 ) = x ( 0 ) h ( 0 ) = 1 ⋅ 1 = 1 y(0) = x(0)h(0) = 1 \cdot 1 = 1 y(0)=x(0)h(0)=11=1
  • y ( 1 ) = x ( 0 ) h ( 1 ) + x ( 1 ) h ( 0 ) = 1 ⋅ 1 + 2 ⋅ 1 = 3 y(1) = x(0)h(1) + x(1)h(0) = 1 \cdot 1 + 2 \cdot 1 = 3 y(1)=x(0)h(1)+x(1)h(0)=11+21=3
  • y ( 2 ) = x ( 0 ) h ( 2 ) + x ( 1 ) h ( 1 ) + x ( 2 ) h ( 0 ) = 1 ⋅ 0 + 2 ⋅ 1 + 3 ⋅ 1 = 5 y(2) = x(0)h(2) + x(1)h(1) + x(2)h(0) = 1 \cdot 0 + 2 \cdot 1 + 3 \cdot 1 = 5 y(2)=x(0)h(2)+x(1)h(1)+x(2)h(0)=10+21+31=5
  • y ( 3 ) = x ( 1 ) h ( 2 ) + x ( 2 ) h ( 1 ) = 2 ⋅ 0 + 3 ⋅ 1 = 3 y(3) = x(1)h(2) + x(2)h(1) = 2 \cdot 0 + 3 \cdot 1 = 3 y(3)=x(1)h(2)+x(2)h(1)=20+31=3
  • 对于其他 n n n 值, y ( n ) = 0 y(n)=0 y(n)=0
    所以, y ( n ) = { 1 , 3 , 5 , 3 } y(n) = \{1, 3, 5, 3\} y(n)={1,3,5,3} (从 n = 0 n=0 n=0 开始)。

4. 递推法求解差分方程和单位脉冲响应:
差分方程: y ( n ) − 0.5 y ( n − 1 ) = x ( n ) y(n) - 0.5y(n-1) = x(n) y(n)0.5y(n1)=x(n)
a) 求单位脉冲响应 h ( n ) h(n) h(n):令 x ( n ) = δ ( n ) x(n) = \delta(n) x(n)=δ(n),且初始条件为零(即 y ( − 1 ) = 0 y(-1)=0 y(1)=0)。
将方程改写为递推形式: y ( n ) = 0.5 y ( n − 1 ) + x ( n ) y(n) = 0.5y(n-1) + x(n) y(n)=0.5y(n1)+x(n)

  • n = 0 n=0 n=0 时: h ( 0 ) = 0.5 h ( − 1 ) + δ ( 0 ) = 0.5 ⋅ 0 + 1 = 1 h(0) = 0.5h(-1) + \delta(0) = 0.5 \cdot 0 + 1 = 1 h(0)=0.5h(1)+δ(0)=0.50+1=1
  • n = 1 n=1 n=1 时: h ( 1 ) = 0.5 h ( 0 ) + δ ( 1 ) = 0.5 ⋅ 1 + 0 = 0.5 h(1) = 0.5h(0) + \delta(1) = 0.5 \cdot 1 + 0 = 0.5 h(1)=0.5h(0)+δ(1)=0.51+0=0.5
  • n = 2 n=2 n=2 时: h ( 2 ) = 0.5 h ( 1 ) + δ ( 2 ) = 0.5 ⋅ 0.5 + 0 = 0.25 h(2) = 0.5h(1) + \delta(2) = 0.5 \cdot 0.5 + 0 = 0.25 h(2)=0.5h(1)+δ(2)=0.50.5+0=0.25
  • n = 3 n=3 n=3 时: h ( 3 ) = 0.5 h ( 2 ) + δ ( 3 ) = 0.5 ⋅ 0.25 + 0 = 0.125 h(3) = 0.5h(2) + \delta(3) = 0.5 \cdot 0.25 + 0 = 0.125 h(3)=0.5h(2)+δ(3)=0.50.25+0=0.125
  • n = 4 n=4 n=4 时: h ( 4 ) = 0.5 h ( 3 ) + δ ( 4 ) = 0.5 ⋅ 0.125 + 0 = 0.0625 h(4) = 0.5h(3) + \delta(4) = 0.5 \cdot 0.125 + 0 = 0.0625 h(4)=0.5h(3)+δ(4)=0.50.125+0=0.0625
    所以, h ( 0 ) = 1 , h ( 1 ) = 0.5 , h ( 2 ) = 0.25 , h ( 3 ) = 0.125 , h ( 4 ) = 0.0625 h(0)=1, h(1)=0.5, h(2)=0.25, h(3)=0.125, h(4)=0.0625 h(0)=1,h(1)=0.5,h(2)=0.25,h(3)=0.125,h(4)=0.0625
    (事实上, h ( n ) = ( 0.5 ) n u ( n ) h(n) = (0.5)^n u(n) h(n)=(0.5)nu(n))

b) 判断该系统是否稳定,是否因果。

  • 因果性: h ( n ) = ( 0.5 ) n u ( n ) h(n) = (0.5)^n u(n) h(n)=(0.5)nu(n) 可以看出,当 n < 0 n<0 n<0 时, h ( n ) = 0 h(n)=0 h(n)=0。所以系统是因果的。
    (根据差分方程,当前输出 y ( n ) y(n) y(n) 只依赖于当前输入 x ( n ) x(n) x(n) 和过去的输出 y ( n − 1 ) y(n-1) y(n1),因此也是因果的。)
  • 稳定性: 检查单位脉冲响应是否绝对可和:
    ∑ n = − ∞ ∞ ∣ h ( n ) ∣ = ∑ n = 0 ∞ ∣ ( 0.5 ) n ∣ = ∑ n = 0 ∞ ( 0.5 ) n \sum_{n=-\infty}^{\infty} |h(n)| = \sum_{n=0}^{\infty} |(0.5)^n| = \sum_{n=0}^{\infty} (0.5)^n n=h(n)=n=0(0.5)n=n=0(0.5)n
    这是一个几何级数求和,当公比 ∣ 0.5 ∣ < 1 |0.5|<1 ∣0.5∣<1 时,和为 1 1 − 0.5 = 1 0.5 = 2 \frac{1}{1-0.5} = \frac{1}{0.5} = 2 10.51=0.51=2
    因为 ∑ n = − ∞ ∞ ∣ h ( n ) ∣ = 2 < ∞ \sum_{n=-\infty}^{\infty} |h(n)| = 2 < \infty n=h(n)=2<,所以系统是稳定的。

结论:稳定且因果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/diannao/84665.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

织梦dedecms上传附件不自动改名的办法

织梦dedecms的系统在上传附件后&#xff0c;会将文件自动改名字&#xff0c;那怎么样才能让附件上传后不自动改名字呢&#xff0c;让附件上传后不自动改名字(中文名的附件将会改成拼音文件名称)&#xff0c;现在说一下方法吧&#xff1a; 我们打开网站目录下include\dialog\se…

https下git拉取gitlab仓库源码

git init 创建仓库 参考下面创建公私秘钥对 GitLab配置ssh key - 阿豪聊干货 - 博客园 Your identification has been saved in /home/xxx/.ssh/id_ed25519 Your public key has been saved in /home/xxx/.ssh/id_ed25519.pub 然后查看对应公钥&#xff0c;复制 cat ~/.ss…

Mybatis使用update更新值为null时不生效问题解决

1.出现的问题 前端修改数据时把属性内容删除然后进行保存&#xff0c;默认传的null&#xff0c;后端更新时属性值为null&#xff0c; 然后调用updateById进行更新时发现该属性还是原来的值&#xff1a; update方法不会对属性null的进行更新 2.原因 mybatis-plus FieldStrat…

JAVA 学习日志

$2 周期小结 #8 工作汇报 数学建模部分 前三天的主要精力用在电工杯数学建模大赛上了&#xff0c;虽然这是Java学习笔记 当是还是总结一下吧 首先是任务分工方面 需要三个人都会python基础语法 然后一起写论文 &#xff0c;就是需要边建模边写论文 &#xff0c;然后在 后续…

Java网络编程性能优化

1.网络编程性能优化基础 1. 性能关键指标 指标 描述 优化目标 响应时间 从请求到响应的总时间 降低到毫秒级 吞吐量 单位时间内处理的请求数量 提高到每秒数千至数万请求 并发用户数 系统同时处理的用户数量 支持数千至数万并发连接 资源利用率 CPU、内存、网络带…

react native搭建项目

React Native 项目搭建指南 React Native 是一个使用 JavaScript 和 React 构建跨平台移动应用的框架。以下是搭建 React Native 项目的详细步骤&#xff1a; 1. 环境准备 安装 Node.js 下载并安装 Node.js (推荐 LTS 版本) 安装 Java Development Kit (JDK) 对于 Androi…

Redis 容器启动失败Fatal error loading the DB, check server logs. Exiting.的解决方法

❗ 问题分析&#xff1a;Redis 容器启动失败 根据提供的 Redis 启动日志&#xff0c;关键信息如下&#xff1a; &#x1f50d; 模块加载情况 模块名称状态备注RedisCompat✅ 成功search✅ 成功RediSearch 模块timeseries✅ 成功RedisTimeSeries 模块ReJSON✅ 成功bf✅ 成功R…

chrome打不开axure设计的软件产品原型问题解决办法

1、打开原型文件夹&#xff0c;进入到其中的如下目录中&#xff1a;resources->chrome->axure-chrome-extension.crx&#xff0c;找到 Axure RP Extension for Chrome插件。 2、axure-chrome-extension.crx文件修改扩展名.rar&#xff0c;并解压到文件夹 axure-chrome-ex…

Java 各版本核心新特性的详细说明

一、Java 8&#xff08;2014&#xff09;—— 函数式编程的里程碑 1. Lambda 表达式 作用&#xff1a;简化匿名内部类&#xff0c;支持函数式编程。示例&#xff1a;// 传统匿名内部类 Runnable r1 new Runnable() {Overridepublic void run() {System.out.println("He…

【md2html python 将 Markdown 文本转换为 HTML】

测试md文本 md_text """ # title## subtitle\python print("Hello, World!") \- item 1| Header 1 | Header 2 | |----------|----------| | Row 1 Col 1 | Row 1 Col 2 |- item 2> This is a blockquote.### SubsubtitleThis is a paragraph wi…

Prompt Engineering 提示工程介绍与使用/调试技巧

1. 介绍 Prompt Engineering 是一种人工智能&#xff08;AI&#xff09;技术&#xff0c;它通过设计和改进 AI 的 prompt 来提高 AI 的表现。Prompt Engineering 的目标是创建高度有效和可控的 AI 系统&#xff0c;使其能够准确、可靠地执行特定任务。 如果你从来没有使用过Pr…

如何把 Microsoft Word 中所有的汉字字体替换为宋体?

Ctrl H &#xff0c;然后&#xff0c;点击更多&#xff0c;勾选使用通配符&#xff0c;查找内容中填入 [一-龥]{1,}&#xff0c; 这是 Word 通配符匹配汉字的经典写法&#xff08;匹配 Unicode 范围内的 CJK 汉字&#xff09;。 然后&#xff0c; “替换为”留空&#xff0c;点…

CMake从入门到实战:现代C++项目构建指南

CMake从入门到实战&#xff1a;现代C项目构建指南 引言 在跨平台开发成为主流的今天&#xff0c;CMake作为开源构建系统的标杆工具&#xff0c;凭借其跨平台性、灵活性和可扩展性&#xff0c;已成为C/C项目的事实标准。本文将带你系统掌握CMake的核心机制&#xff0c;通过实战…

Web安全渗透之长城杯夺旗赛

Web-Git flag1 扫描WEB目录发现存在Git泄露&#xff08;这里是队友扫的&#xff0c;我这图是拿的我后面扫的截图&#xff0c;所以时间对不上。 使用GitHub - gakki429/Git_Extract: 提取远程 git 泄露或本地 git 的工具拉取泄露代码。 读取到flag&#xff0c;全场一血捏。…

机器学习与深度学习:区别与联系

机器学习与深度学习&#xff1a;区别与联系 在人工智能领域&#xff0c;机器学习和深度学习是两个最热门的概念&#xff0c;它们既相互关联又有所区别。本文将深入探讨这两者的核心差异与内在联系&#xff0c;帮助读者更好地理解它们在实际应用中的定位。 一、基本概念 **机…

Linux TCP与Socket与IO多路复用(Epoll)

目录 一、背景 二、交互流程 2.1 数据流动 2.2 对象之间的关系 三、TCP 3.1 为什么需要三次握手 3.2 三次握手流程 3.3 三次握手后的产物 3.4 TCB 四、Socket 4.1 Java Socket和C Socket 4.2 Socket的本质 4.3 Socket和TCB的关系 4.4 通过文件描述符调用Socket的…

字节跳动旗下火山引擎都覆盖哪些领域

首先&#xff0c;我需要确认火山引擎的主要业务范围。根据之前的资料&#xff0c;火山引擎是字节跳动的企业技术服务平台&#xff0c;可能包括云服务、人工智能、大数据分析等。不过需要更详细的信息&#xff0c;比如具体的产品和服务&#xff0c;覆盖的行业等。 接下来&#x…

如何配置jmeter做分布式压测

问&#xff1a;为何需要做分布式 答&#xff1a;当我们本地机器jmeter进行压测时&#xff0c;单台JMeter机器通常无法稳定生成2000 QPS&#xff08;受限于CPU、内存、网络带宽&#xff09;&#xff0c;本地端口耗尽&#xff1a;操作系统可用的临时端口&#xff08;Ephemeral P…

【算法提升】牛牛冲钻五 最长无重复子数组 重排字符串 one_day

算法提升 1.牛牛冲钻五1.2 解析 2.最长无重复子数组2.1解析 3.重排字符串3.1解析 1.牛牛冲钻五 1.2 解析 后面的数据要根据前面两个的状态来确定&#xff0c;我的做法是使用动态规划的方式 #include<iostream> #include<string> #include<vector> using n…

数学建模MathAI智能体-2025电工杯A题实战

题目&#xff1a; 光伏电站发电功率日前预测问题 光伏发电是通过半导体材料的光电效应&#xff0c;将太阳能直接转化为电能的技术。光伏电站是由众多光伏发电单元组成的规模化发电设施。 光伏电站的发电功率主要由光伏板表面接收到的太阳辐射总量决定&#xff0c;不同季节太阳…