Loading [MathJax]/jax/element/mml/optable/Latin1Supplement.js

数字信号处理 - 快速指南



数字信号处理 - 信号定义

定义

任何携带信息的物理量都可以称为信号。它也可以定义为随时间、温度、压力或任何独立变量(如语音信号或视频信号)而变化的物理量。

信号的特性(幅度、形状、相位、频率等)发生变化的过程称为信号处理。

注意 - 任何干扰主信号的不需要的信号都称为噪声。所以,噪声也是信号,但它是无用的信号。

根据它们的表示和处理方式,信号可以分为不同的类别,其细节将在下面讨论。

连续时间信号

连续时间信号定义在时间的连续范围内,因此由连续的独立变量表示。连续时间信号通常被称为模拟信号。

这种类型的信号在幅度和时间上都表现出连续性。它们在每一个时刻都有值。正弦和余弦函数是连续时间信号的最佳例子。

Continuous Time Signals

上面所示的信号是连续时间信号的一个例子,因为我们可以在每一个时刻得到信号的值。

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

离散时间信号

在离散时间点定义的信号称为离散信号。因此,每一个独立变量都有不同的值。因此,它们表示为数字序列。

虽然语音和视频信号可以以连续和离散时间格式表示,但在某些情况下,它们是相同的。幅度也显示出离散特性。数字信号是最好的例子,它的幅度和时间都是离散的。

Discrete Time signals

上图描述了离散信号在一段时间内的离散幅度特性。数学上,这些类型的信号可以表示为:

x={x[n]},<n<

其中,n 是整数。

这是一个数字序列 x,其中序列中的第 n 个数字表示为 x[n]。

数字信号处理 - 基本连续时间信号

为了测试系统,通常使用标准或基本信号。这些信号是许多复杂信号的基本组成部分。因此,它们在信号和系统的研究中起着非常重要的作用。

单位冲激信号或狄拉克函数

满足条件 δ(t)=limϵx(t) 的信号称为单位冲激信号。当 t = 0 时,该信号趋于无穷大;当 t ≠ 0 时,该信号趋于零,其曲线下的面积始终等于 1。除了 t = 0,狄拉克函数在其他任何地方的幅度都为零。

Unit Impulse

单位冲激信号的特性

  • δ(t) 是偶信号。
  • δ(t) 是既不是能量信号也不是功率信号 (NENP) 的例子。
  • 单位冲激信号的面积可以写成:
  • A=δ(t)dt=limϵ0x(t)dt=limϵ0[x(t)dt]=1
  • 信号的权重或强度可以写成:
  • y(t)=Aδ(t)
  • 加权冲激信号的面积可以写成:
  • y(t)=y(t)dt=Aδ(t)=A[δ(t)dt]=A=1

单位阶跃信号

满足以下两个条件的信号:

  • U(t)=1(t0)
  • U(t)=0(t<0)

称为单位阶跃信号。

它具有在 t = 0 处显示不连续性的特性。在不连续点,信号值由信号值之前和之后的平均值给出(根据吉布斯现象)。

CT Unit Step Signal

如果我们将一个阶跃信号添加到另一个时间尺度变换的阶跃信号,则结果将为 1。它是一个功率型信号,功率值为 0.5。均方根 (RMS) 值为 0.707,平均值也为 0.5。

斜坡信号

阶跃信号的积分结果是斜坡信号。它用 r(t) 表示。斜坡信号也满足条件 r(t)=tU(t)dt=tU(t)。它既不是能量信号也不是功率信号 (NENP)。

Ramp Type Signal

抛物线信号

斜坡信号的积分导致抛物线信号。它用 p(t) 表示。抛物线信号也满足条件 p(t)=tr(t)dt=(t2/2)U(t)。它既不是能量信号也不是功率信号 (NENP)。

Parabolic Signal

符号函数

此函数表示为

sgn(t)={1t>01t<0

它是一个功率型信号。它的功率值和均方根 (RMS) 值都为 1。符号函数的平均值为零。

Signum Function

Sinc 函数

它也是正弦函数,写成:

SinC(t)=SinΠtΠT=Sa(Πt)

Sinc 函数的特性

  • 它是一个能量型信号。

  • Sinc(0)=limt0sinΠtΠt=1

  • Sinc()=limtsinΠΠ=0(sinπ∞ 的范围在 -1 到 +1 之间变化,但任何数除以无穷大都等于零)

  • 如果 sinc(t)=0=>sinΠt=0

    Πt=nΠ

    t=n(n0)

正弦信号

连续的信号称为连续信号。正弦信号的一般形式是

x(t)=Asin(ωt+ϕ)

这里,

A = 信号的幅度

ω = 信号的角频率(以弧度为单位测量)

φ = 信号的相位角(以弧度为单位测量)

该信号倾向于在一定时间后重复自身,因此称为周期信号。信号的周期为:

T=2πω

正弦信号的示意图如下所示。

Discrete Sinusoidal Signal

矩形函数

如果信号满足以下条件,则该信号被称为矩形函数:

π(tτ)={1,tτ20, 矩形函数

由于关于 Y 轴对称,因此该信号被称为偶信号。

三角脉冲信号

满足以下条件的任何信号都称为三角信号。

Δ(tτ)={1(2|t|τ)|t|<τ20|t|>τ2 三角脉冲信号

该信号关于 Y 轴对称。因此,它也称为偶信号。

数字信号处理 - 基本离散时间信号

我们已经看到了如何在连续时间域中表示基本信号。让我们看看如何在离散时间域中表示基本信号。

单位脉冲序列

在离散时间域中表示为 δ(n),定义为:

δ(n)={1,n=00, 单位脉冲序列

单位阶跃信号

离散时间单位阶跃信号定义为:

U(n)={1,n00,n<0 单位阶跃信号

上图显示了离散阶跃函数的图形表示。

单位斜坡函数

离散单位斜坡函数可以定义为:

r(n)={n,n00,n<0 单位斜坡函数

上图显示了离散斜坡信号的图形表示。

抛物线函数

离散单位抛物线函数表示为 p(n),定义为:

p(n)={n22,n00,n<0

用单位阶跃函数表示可以写成:

P(n)=n22U(n) 抛物线函数

上图显示了抛物线序列的图形表示。

正弦信号

所有连续时间信号都是周期性的。离散时间正弦序列可能是周期性的,也可能不是周期性的。这取决于ω的值。对于离散时间信号,要使其成为周期性的,角频率ω必须是2π的有理数倍。

Sinusoidal Signal

上图显示了一个离散正弦信号。

正弦信号的离散形式可以表示为:

x(n)=Asin(ωn+ϕ)

这里A、ω和φ具有其通常的含义,n是整数。离散正弦信号的周期由下式给出:

N=2πmω

其中,N和m是整数。

DSP - 连续时间信号分类

连续时间信号可以根据对信号执行的不同条件或运算进行分类。

偶信号和奇信号

偶信号

如果信号满足以下条件,则称其为偶信号:

x(t)=x(t)

这里的信号时间反转并不意味着幅度有任何变化。例如,考虑下面所示的三角波。

CT Even Signal1

三角信号是偶信号,因为它关于Y轴对称。可以说它是关于Y轴的镜像。

考虑下图所示的另一个信号。

CT Even Signal2

我们可以看到,上述信号是偶信号,因为它关于Y轴对称。

奇信号

如果信号满足以下条件,则称其为奇信号:

x(t)=x(t)

这里,时间反转和幅度变化同时发生。

CT Odd Signal

在上图中,我们可以看到一个阶跃信号x(t)。为了检验它是否是奇信号,首先我们进行时间反转,即x(-t),结果如下图所示。然后我们反转所得信号的幅度,即–x(-t),结果如下图所示。

如果我们比较第一个和第三个波形,我们可以看到它们是相同的,即x(t)= -x(-t),这满足我们的标准。因此,上述信号是奇信号。

一些与偶信号和奇信号相关的重要的结果如下所示。

  • 偶 × 偶 = 偶
  • 奇 × 奇 = 偶
  • 偶 × 奇 = 奇
  • 偶 ± 偶 = 偶
  • 奇 ± 奇 = 奇
  • 偶 ± 奇 = 既不是偶也不是奇

任何信号的偶数或奇数形式表示

有些信号不能直接分类为偶数或奇数类型。它们表示为偶信号和奇信号的组合。

x(t)xe(t)+x0(t)

其中xe(t)表示偶信号,xo(t)表示奇信号

xe(t)=[x(t)+x(t)]2

x0(t)=[x(t)x(t)]2

例子

求信号x(n)=t+t2+t3的偶部和奇部。

− 通过反转x(n),我们得到

x(n)=t+t2t3

现在,根据公式,偶部

xe(t)=x(t)+x(t)2

=[(t+t2+t3)+(t+t2t3)]2

=t2

类似地,根据公式,奇部是

x0(t)=[x(t)x(t)]2

=[(t+t2+t3)(t+t2t3)]2

=t+t3

周期信号和非周期信号

周期信号

周期信号在一定时间间隔后重复自身。我们可以用方程式表示为:

x(t)=x(t)±nT

其中,n = 整数 (1,2,3……)

T = 基波周期 (FTP) ≠ 0 且 ≠∞

基波周期 (FTP) 是信号周期性的最小正值和固定值。

Periodic Signals

上图显示了一个幅度为A的三角信号。这里,信号每1秒重复一次。因此,我们可以说该信号是周期性的,其FTP为1秒。

非周期信号

简单地说,我们可以说,不是周期性的信号是非周期性的。很明显,这些信号不会在任何时间间隔后重复自身。

非周期信号不遵循一定的格式;因此,没有特定的数学方程可以描述它们。

能量信号和功率信号

当且仅当所包含的总能量是有限且非零的 (0<E<∞) 时,信号被称为能量信号。因此,对于任何能量型信号,总归一化信号都是有限且非零的。

正弦交流电流信号是能量型信号的一个完美例子,因为它在一种情况下是正半周期,而在下一半周期是负的。因此,它的平均功率变为零。

无损电容器也是能量型信号的一个完美例子,因为它连接到电源时会充电到最佳水平,当电源移除时,它会通过负载耗散等量的能量,使其平均功率变为零。

Energy Signals

对于任何有限信号x(t),能量可以用E表示,写为:

E=+x2(t)dt

能量型信号的频谱密度给出了分布在各个频率水平上的能量量。

功率型信号

当且仅当归一化平均功率是有限且非零的 (0<p<∞) 时,信号被称为功率型信号。对于功率型信号,归一化平均功率是有限且非零的。几乎所有周期信号都是功率信号,其平均功率是有限且非零的。

在数学形式中,信号x(t)的功率可以写成:

P=limT1/T+T/2T/2x2(t)dt

能量信号和功率信号的区别

下表总结了能量信号和功率信号的区别。

功率信号 能量信号
实际的周期信号是功率信号。 非周期信号是能量信号。
这里,归一化平均功率是有限且非零的。 这里,总归一化能量是有限且非零的。

数学上,

P=limT1/T+T/2T/2x2(t)dt

数学上,

E=+x2(t)dt

这些信号的存在时间是无限的。 这些信号存在于有限的时间段内。
功率信号的能量在无限时间内是无限的。 能量信号的功率在无限时间内为零。

例题

例1 − 求信号z(t)=2cos(3Πt+30o)+4sin(3Π+30o)的功率。

− 上述两个信号彼此正交,因为它们的频率项彼此相同,并且它们具有相同的相位差。因此,总功率将是各个功率的总和。

z(t)=x(t)+y(t)

其中x(t)=2cos(3Πt+30o)y(t)=4sin(3Π+30o)

x(t)的功率 = 222=2

y(t)的功率 = 422=8

因此,P(z)=p(x)+p(y)=2+8=10…答。

例2 − 测试给定的信号x(t)=t2+jsint是否为共轭信号?

− 这里,实部t2是偶数,虚部(虚数) sint是奇数。所以上述信号是共轭信号。

例3 − 验证X(t)=sinωt是奇信号还是偶信号。

− 给定X(t)=sinωt

通过时间反转,我们将得到sin(ωt)

但我们知道sin(ϕ)=sinϕ

所以,

sin(ωt)=sinωt

这满足信号为奇信号的条件。因此,sinωt是奇信号。

DSP - 离散时间信号分类

与连续时间信号一样,离散时间信号可以根据信号的条件或运算进行分类。

偶信号和奇信号

偶信号

如果信号满足以下条件,则称其为偶信号或对称信号:

x(n)=x(n) DT Even Signal

在这里,我们可以看到x(-1) = x(1),x(-2) = x(2)和x(-n) = x(n)。因此,它是一个偶信号。

奇信号

如果信号满足以下条件,则称其为奇信号:

x(n)=x(n) DT Odd Signal

从图中可以看出,x(1) = -x(-1),x(2) = -x(2)和x(n) = -x(-n)。因此,它是一个奇信号,也是一个反对称信号。

周期信号和非周期信号

离散时间信号是周期性的,当且仅当它满足以下条件:

x(n+N)=x(n)

这里,x(n)信号在N周期后重复自身。这可以通过考虑余弦信号来最好地理解:

x(n)=Acos(2πf0n+θ) x(n+N)=Acos(2πf0(n+N)+θ)=Acos(2πf0n+2πf0N+θ) =Acos(2πf0n+2πf0N+θ)

为了使信号成为周期性的,应满足以下条件:

x(n+N)=x(n) Acos(2πf0n+2πf0N+θ)=Acos(2πf0n+θ)

2πf0N2π的整数倍

2πf0N=2πK N=Kf0

离散正弦信号的频率被2π的整数倍隔开。

能量信号和功率信号

能量信号

离散时间信号的能量用E表示。数学上,可以写成:

E=+n=|x(n)|2

如果将x(n)的每个单独值平方并相加,我们得到能量信号。这里x(n)是能量信号,其能量在时间上是有限的,即0<E<

功率信号

离散信号的平均功率表示为P。数学上,这可以写成:

P=limN12N+1+Nn=N|x(n)|2

这里,功率是有限的,即0<P<∞。但是,有些信号既不属于能量信号也不属于功率信号。

DSP - 其他信号

还有一些信号是通过对它们进行运算而产生的。下面讨论一些常见的信号类型。

共轭信号

满足条件x(t)=x(t)的信号称为共轭信号。

x(t)=a(t)+jb(t)...式1

所以,x(t)=a(t)+jb(t)

x(t)=a(t)jb(t)...式2

根据条件,x(t)=x(t)

如果我们比较这两个推导出的公式1和2,我们可以看到实部是偶数,而虚部是奇数。这是信号成为共轭类型的条件。

共轭反对称信号

满足条件x(t)=x(t)的信号称为共轭反对称信号。

x(t)=a(t)+jb(t)...式1

所以x(t)=a(t)+jb(t)

x(t)=a(t)jb(t)

x(t)=a(t)+jb(t)...式2

根据条件x(t)=x(t)

现在,再次比较这两个公式,就像我们对共轭信号所做的那样。在这里,我们会发现实部是奇数,虚部是偶数。这是信号成为共轭反对称类型的条件。

例子

设给定的信号为x(t)=sint+jt2

这里,实部sint是奇数,虚部t2是偶数。所以,这个信号可以归类为共轭反对称信号。

任何函数都可以分为两部分。一部分是共轭对称的,另一部分是共轭反对称的。所以任何信号x(t)都可以写成

x(t)=xcs(t)+xcas(t)

其中xcs(t)是共轭对称信号,xcas(t)是共轭反对称信号

xcs(t)=[x(t)+x(t)]2

xcas(t)=[x(t)x(t)]2

半波对称信号

当信号满足条件cx(t)=x(t±(T02))时,称为半波对称信号。这里,信号发生幅度反转和时间位移,位移量为半个周期。对于半波对称信号,平均值为零,但反过来则不然。

Half Wave Symmetric Signals

考虑上图A所示的信号x(t)。第一步是将信号进行时间位移,得到x[t(T2)]。因此,新的信号如B图所示。接下来,反转信号的幅度,即使其变为x[t(T2)],如C图所示。由于该信号在进行半个周期位移和幅度反转后重复自身,因此它是一个半波对称信号。

正交信号

如果两个信号x(t)和y(t)满足以下两个条件,则称它们为正交信号。

条件1x(t)y(t)=0 [对于非周期信号]

条件2Tx(t)y(t)dt=0 [对于周期信号,积分区间为一个周期T]

包含奇次谐波(3次、5次、7次……等)且频率不同的信号彼此正交。

在三角函数类型信号中,正弦函数和余弦函数也彼此正交;前提是它们具有相同的频率和相位。同样,直流(直流信号)和正弦信号也彼此正交。如果x(t)和y(t)是两个正交信号,并且z(t)=x(t)+y(t),则z(t)的功率和能量可以写成:

P(z)=p(x)+p(y) E(z)=E(x)+E(y)

例子

分析信号:z(t)=3+4sin(2πt+300)

这里,信号包含一个直流信号 (3) 和一个正弦函数。因此,根据该性质,该信号是正交信号,其中的两个子信号彼此正交。

数字信号处理 - 信号移位运算

移位是指信号的移动,可以在时域(围绕Y轴)或幅度域(围绕X轴)进行。相应地,我们可以将移位分为两类,即时间移位和幅度移位,这些将在下面讨论。

时间移位

时间移位是指在时域中对信号进行移位。数学上,可以写成

x(t)y(t+k)

这个k值可以是正的,也可以是负的。根据k值的符号,我们有两种类型的移位,称为右移和左移。

情况1 (K > 0)

当K大于零时,信号在时域中向“左”移动。因此,这种类型的移位称为信号的左移。

例子

Time Shifting Case1 Example

情况2 (K < 0)

当K小于零时,信号在时域中向右移动。因此,这种类型的移位称为右移。

例子

下图显示了信号向右移动2个单位。

Time Shifting Case2 Example

幅度移位

幅度移位是指在幅度域(围绕X轴)对信号进行移位。数学上,可以表示为:

x(t)x(t)+K

这个K值可以是正的或负的。相应地,我们有两种类型的幅度移位,将在下面讨论。

情况1 (K > 0)

当K大于零时,信号在x轴上向上移动。因此,这种类型的移位称为向上移位。

例子

让我们考虑一个给定的信号x(t):

x={0,t<01,0t20,t>0

让我们取K=+1,则新的信号可以写成:

y(t)x(t)+1 因此,y(t)最终可以写成:

x(t)={1,t<02,0t21,t>0 幅度移位情况1示例

情况2 (K < 0)

当K小于零时,信号在X轴上向下移动。因此,这称为信号的向下移位。

例子

让我们考虑一个给定的信号x(t):

x(t)={0,t<01,0t20,t>0

让我们取K = -1,则新的信号可以写成:

y(t)x(t)1 因此,y(t)最终可以写成:

y(t)={1,t<00,0t21,t>0 幅度移位情况2示例

数字信号处理 - 信号比例缩放运算

信号的缩放是指用一个常数乘以信号的时间或幅度。

时间缩放

如果将一个常数乘以时间轴,则称为时间缩放。这可以用数学表示为:

x(t)y(t)=x(αt)x(tα); 其中 α ≠ 0

因此,Y轴不变,X轴的幅度根据常数的符号(正或负)而减小或增大。因此,缩放也可以分为两类,如下所述。

时间压缩

当alpha大于零时,信号的幅度将除以alpha,而Y轴的值保持不变。这称为时间压缩。

例子

让我们考虑一个如下图所示的信号x(t)。让我们取alpha的值为2。因此,y(t)将是x(2t),如下图所示。

Time Compression Example

从上图可以清楚地看出,Y轴的时间幅度保持不变,但X轴的幅度从4减小到2。因此,这是一个时间压缩的情况。

时间扩展

当时间除以常数alpha时,信号的Y轴幅度将乘以alpha倍,而X轴幅度保持不变。因此,这称为时间扩展型信号。

例子

让我们考虑一个幅度为1的方波信号x(t)。当我们用常数3对其进行时间缩放,使得x(t)y(t)x(t3)时,信号的幅度将修改为3倍,如下图所示。

Time Expansion Example

幅度缩放

用一个常数乘以信号的幅度会导致幅度缩放。根据常数的符号,它可以是幅度缩放或衰减。让我们考虑一个方波信号x(t) = Π(t/4)。

假设我们定义另一个函数y(t) = 2 Π(t/4)。在这种情况下,Y轴的值将加倍,而时间轴的值保持不变。如下图所示。

Amplitude Scaling

考虑另一个定义为z(t)的方波函数,其中z(t) = 0.5 Π(t/4)。在这里,函数z(t)的幅度将是x(t)的一半,即时间轴保持不变,幅度轴将减半。如下图所示。

Amplitude Attenuation

数字信号处理 - 信号反转运算

当信号中的时间乘以-1时,信号就会反转。它会在Y轴或X轴上产生镜像。这称为信号的反转。

根据信号的时间或幅度是否乘以-1,反转可以分为两类。

时间反转

当信号的时间乘以-1时,称为信号的时间反转。在这种情况下,信号会在Y轴上产生镜像。数学上,可以写成:

x(t)y(t)x(t)

下面的例子可以更好地理解这一点。

Time Reversal

在上例中,我们可以清楚地看到信号在其Y轴上反转了。所以,它也是一种时间缩放,但是这里的缩放量始终是(-1)。

幅度反转

当信号的幅度乘以-1时,称为幅度反转。在这种情况下,信号会在X轴上产生镜像。数学上,可以写成:

x(t)y(t)x(t)

考虑以下示例。可以清楚地看到幅度反转。

Amplitude Reversal

数字信号处理 - 信号微分运算

对信号进行的两个非常重要的运算是微分和积分。

微分

任何信号x(t)的微分是指该信号相对于时间的斜率表示。数学上,它表示为:

x(t)dx(t)dt

在运放微分电路中,这种方法非常有用。我们可以很容易地用图形方式对信号进行微分,而不是使用公式。但是,条件是信号必须是矩形或三角形类型的,这在大多数情况下都会发生。

原始信号 微分后的信号
斜坡信号 阶跃信号
阶跃信号 冲激信号
冲激信号 1

上表说明了信号微分后的状态。例如,斜坡信号微分后变成阶跃信号。类似地,单位阶跃信号变成冲激信号。

例子

假设给定的信号为x(t)=4[r(t)r(t2)]。当绘制该信号时,它看起来如下图左侧所示。现在,我们的目标是对给定的信号进行微分。

首先,我们将开始对给定的等式进行微分。我们知道斜坡信号微分后得到单位阶跃信号。

Differentiation Example

因此,我们得到的信号y(t)可以写成:

y(t)=dx(t)dt

=d4[r(t)r(t2)]dt

=4[u(t)u(t2)]

现在,最终绘制该信号,如下图右侧所示。

数字信号处理 - 信号积分运算

任何信号的积分是指在特定时间域内对该信号进行求和以获得修改后的信号。数学上,这可以表示为:

x(t)y(t)=tx(t)dt

在这里,在大多数情况下,我们可以进行数学积分并找到结果信号,但是对于以矩形格式图形表示的信号,可以直接快速进行积分。与微分一样,这里我们也参考一个表格来快速获得结果。

原始信号 积分后的信号
1 冲激信号
冲激信号 阶跃信号
阶跃信号 斜坡信号

例子

让我们考虑一个信号x(t)=u(t)u(t3)。它如下图1所示。我们可以清楚地看到它是一个阶跃信号。现在我们将对其进行积分。参考表格,我们知道阶跃信号的积分得到斜坡信号。

Integration Example

但是,我们将用数学方法计算它,

y(t)=tx(t)dt

=t[u(t)u(t3)]dt

=tu(t)dttu(t3)dt

=r(t)r(t3)

结果如2图所示,

数字信号处理 - 信号卷积运算

时域中两个信号的卷积等效于它们在频域中的表示的乘积。数学上,我们可以将两个信号的卷积写成

y(t)=x1(t)x2(t) =x1(p).x2(tp)dp

卷积步骤

  • 取信号x1(t),令t = p,使其变为x1(p)。
  • 取信号x2(t),执行步骤1,使其变为x2(p)。
  • 对信号进行反转,即x2(-p)。
  • 对上述信号进行时间位移x2[-(p-t)]
  • 然后将两个信号相乘,即x1(p).x2[(pt)]

例子

让我们对阶跃信号u(t)与其自身进行卷积。

y(t)=u(t)u(t)

=[u(p).u[(pt)]dp

现在这个t可以大于或小于零,如下图所示

Convolution Example

因此,根据上述情况,结果会有以下几种可能性

y(t)={0,ift<0t01dt,fort>0

={0,ift<0t,t>0=r(t)

卷积的性质

交换律

它指出卷积的顺序无关紧要,可以用数学表达式表示为:

x1(t)x2(t)=x2(t)x1(t)

结合律

它指出涉及三个信号的卷积顺序可以任意。数学上可以表示为:

x1(t)[x2(t)x3(t)]=[x1(t)x2(t)]x3(t)

分配律

可以先将两个信号相加,然后将其卷积结果与第三个信号进行卷积。这等效于将两个信号分别与第三个信号进行卷积,然后将结果相加。数学上可以写成:

x1(t)[x2(t)+x3(t)]=[x1(t)x2(t)+x1(t)x3(t)]

面积

如果一个信号是两个信号卷积的结果,那么该信号的面积等于这两个单独信号面积的乘积。数学上可以写成:

如果 y(t)=x1x2(t)

那么, y(t)的面积 = x1(t)的面积 × x2(t)的面积

尺度变换

如果两个信号按某个未知常数“a”进行缩放,然后进行卷积,则结果信号也将按相同的常数“a”进行缩放,并除以该数量,如下所示。

如果, x1(t)x2(t)=y(t)

那么, x1(at)x2(at)=y(at)a,a0

延时

假设信号y(t)是两个信号x1(t)和x2(t)卷积的结果。如果这两个信号分别延迟t1和t2时间,则结果信号y(t)将延迟(t1+t2)。数学上可以写成:

如果, x1(t)x2(t)=y(t)

那么, x1(tt1)x2(tt2)=y[t(t1+t2)]

例题

例1 − 求信号u(t-1)和u(t-2)的卷积。

− 给定的信号是u(t-1)和u(t-2)。它们的卷积可以如下所示:

y(t)=u(t1)u(t2)

y(t)=+[u(t1).u(t2)]dt

=r(t1)+r(t2)

=r(t3)

例2 − 求由以下两个信号给出的卷积

x1(n)={3,2,2}

x2(n)={2,0n40,x>elsewhere

x2(n)可以解码为 x2(n)={2,2,2,2,2} (起始点为0)

x1(n)先前给出 ={3,2,3}=32Z1+2Z2

类似地, x2(z)=2+2Z1+2Z2+2Z3+2Z4

结果信号为:

X(Z)=X1(Z)X2(z)

={32Z1+2Z2}×{2+2Z1+2Z2+2Z3+2Z4}

=6+2Z1+6Z2+6Z3+6Z4+6Z5

对上述结果进行Z反变换,我们将得到结果信号为:

x(n)={6,2,6,6,6,0,4} (起始点为0)

例3 − 确定以下两个信号的卷积:

x(n)={2,1,0,1}

h(n)={1,2,3,1}

对信号进行Z变换,得到:

x(z)=2+2Z1+2Z3

以及 h(n)=1+2Z1+3Z2+Z3

现在,两个信号的卷积意味着它们的Z变换的乘积

也就是说 Y(Z)=X(Z)×h(Z)

={2+2Z1+2Z3}×{1+2Z1+3Z2+Z3}

={2+5Z1+8Z2+6Z3+3Z4+3Z5+Z6}

进行Z反变换,结果信号可以写成:

y(n)={2,5,8,6,6,1} (起始点为0)

数字信号处理 - 静态系统

有些系统有反馈,有些没有。那些没有反馈系统的系统,其输出仅取决于输入的当前值。此时不存在过去的数据值。这类系统称为静态系统。它也不依赖于未来的值。

由于这些系统没有任何过去的记录,因此它们也没有任何存储。因此,我们说所有静态系统都是无记忆系统。让我们举个例子来更好地理解这个概念。

例子

让我们验证以下系统是否是静态系统。

  • y(t)=x(t)+x(t1)
  • y(t)=x(2t)
  • y(t)=x=sin[x(t)]

a) y(t)=x(t)+x(t1)

这里,x(t)是当前值。它与过去的时间值无关。所以,这是一个静态系统。然而,对于x(t-1),如果我们设t = 0,它将简化为x(-1),这是一个过去值相关的。所以,它不是静态的。因此,这里的y(t)不是静态系统。

b) y(t)=x(2t)

如果我们代入t = 2,结果将是y(t) = x(4)。同样,它依赖于未来的值。所以,它也不是静态系统。

c) y(t)=x=sin[x(t)]

在这个表达式中,我们处理的是正弦函数。正弦函数的取值范围在-1到+1之间。因此,无论我们为x(t)代入什么值,我们都将得到-1到+1之间的值。因此,我们可以说它不依赖于任何过去或未来的值。因此,它是一个静态系统。

从上面的例子中,我们可以得出以下结论:

  • 任何具有时间位移的系统都不是静态的。
  • 任何具有幅度位移的系统也不是静态的。
  • 积分和微分的情况也不是静态的。

数字信号处理 - 动态系统

如果一个系统在任何时刻都依赖于信号的过去和未来值,那么它就被称为动态系统。与静态系统不同,这些系统不是无记忆系统。它们存储过去和未来的值。因此,它们需要一些存储器。让我们通过一些例子来更好地理解这个理论。

例子

找出以下系统是否是动态的。

a) y(t)=x(t+1)

在这种情况下,如果我们在等式中代入t = 1,它将转换为x(2),这是一个未来相关的值。因为这里我们输入的是1,但它显示的是x(2)的值。由于它是一个未来相关的信号,所以它显然是一个动态系统。

b) y(t)=Real[x(t)]

=[x(t)+x(t)]2

在这种情况下,无论我们代入什么值,它都将显示该时刻的实值信号。它不依赖于未来或过去的值。因此,它不是动态系统,而是一个静态系统。

c) y(t)=Even[x(t)]

=[x(t)+x(t)]2

这里,如果我们代入t = 1,一个信号显示x(1),另一个显示x(-1),这是一个过去的值。同样,如果我们代入t = -1,一个信号将显示x(-1),另一个将显示x(1),这是一个未来的值。因此,这显然是动态系统的情况。

d) y(t)=cos[x(t)]

在这种情况下,由于系统是余弦函数,它具有一定的值域,介于-1到+1之间。因此,无论我们代入什么值,我们都将在指定范围内得到结果。因此,它是一个静态系统。

从上面的例子中,我们可以得出以下结论:

  • 所有时间位移信号都是动态信号。
  • 在时间缩放的情况下,所有信号都是动态信号。
  • 积分情况的信号是动态信号。

数字信号处理 - 因果系统

前面我们看到,系统需要独立于未来的值和过去的值才能成为静态的。在这种情况下,条件几乎相同,只是略有修改。这里,为了使系统具有因果性,它应该只独立于未来的值。这意味着过去的相关性不会阻止系统成为因果系统。

因果系统是实际上或物理上可实现的系统。让我们考虑一些例子来更好地理解这一点。

例子

让我们考虑以下信号。

a) y(t)=x(t)

这里,信号只依赖于x的当前值。例如,如果我们代入t = 3,结果将只显示该时刻的值。因此,由于它不依赖于未来的值,我们可以称之为因果系统。

b) y(t)=x(t1)

这里,系统依赖于过去的值。例如,如果我们代入t = 3,表达式将简化为x(2),这是相对于我们的输入而言的过去值。在任何情况下,它都不依赖于未来的值。因此,这个系统也是一个因果系统。

c) y(t)=x(t)+x(t+1)

在这种情况下,系统有两个部分。x(t)部分,正如我们前面讨论的那样,只依赖于当前值。所以,这没问题。但是,如果我们考虑x(t+1)的情况,它显然依赖于未来的值,因为如果我们代入t = 1,表达式将简化为x(2),这是一个未来的值。因此,它不是因果的。

DSP - 非因果系统

非因果系统与因果系统正好相反。如果一个系统在任何时刻都依赖于输入的未来值,则该系统被称为非因果系统。

例子

让我们举一些例子,并尝试以更好的方式理解这一点。

a) y(t)=x(t+1)

我们已经在因果系统中讨论过这个系统。对于任何输入,它都会将系统简化为其未来的值。例如,如果我们代入t = 2,它将简化为x(3),这是一个未来的值。因此,该系统是非因果的。

b) y(t)=x(t)+x(t+2)

在这种情况下,x(t)纯粹是一个依赖于当前值的函数。我们已经讨论过x(t+2)函数是依赖于未来的,因为对于t = 3,它将给出x(5)的值。因此,它是非因果的。

c) y(t)=x(t1)+x(t)

在这个系统中,它依赖于给定输入的当前值和过去的值。无论我们代入什么值,它都不会显示任何未来依赖性。显然,它不是非因果系统;而是一个因果系统。

DSP - 反因果系统

反因果系统只是非因果系统的一个略微修改的版本。系统仅依赖于输入的未来值。它既不依赖于当前值也不依赖于过去的值。

例子

找出以下系统是否为反因果的。

a) y(t)=x(t)+x(t1)

该系统有两个子函数。一个子函数x(t+1)依赖于输入的未来值,但另一个子函数x(t)只依赖于当前值。由于系统除了依赖于未来值外还依赖于当前值,因此该系统不是反因果的。

b) y(t)=x(t+3)

如果我们分析上述系统,我们可以看到该系统只依赖于系统的未来值,即如果我们代入t = 0,它将简化为x(3),这是一个未来值。这个系统是反因果系统的完美例子。

数字信号处理 - 线性系统

线性系统遵循叠加原理。该定律是证明系统线性的充分必要条件。除此之外,该系统是两种类型的定律的组合:

  • 叠加性原理
  • 齐次性原理
Linear Systems

上述图形显示了齐次性原理和叠加性原理。但是,还有一些其他条件需要检查系统是否是线性的。

条件如下:

  • 零输入对应零输出。
  • 系统中不应存在任何非线性算子。

非线性算子的示例:−

(a) 三角函数算子 - 正弦、余弦、正切、余切、正割、余割等。

(b) 指数、对数、模、平方、立方等。

(c) sa(i/p)、Sinc(i/p)、Sqn(i/p) 等。

输入 x 或输出 y 不应包含这些非线性算子。

例子

让我们找出以下系统是否是线性的。

a) y(t)=x(t)+3

该系统不是线性系统,因为它违反了第一个条件。如果我们将输入设为零,即 x(t) = 0,则输出不为零。

b) y(t)=sintx(t)

在这个系统中,如果我们输入零,输出将变为零。因此,第一个条件显然满足。同样,没有对 x(t) 应用任何非线性算子。因此,第二个条件也满足。因此,该系统是线性系统。

c) y(t)=sin(x(t))

在上述系统中,第一个条件满足,因为如果我们令 x(t) = 0,输出也将为 sin(0) = 0。但是,第二个条件不满足,因为存在一个对 x(t) 进行运算的非线性算子。因此,该系统不是线性的。

DSP - 非线性系统

如果我们想定义这个系统,我们可以说不是线性的系统是非线性系统。显然,线性系统中被违反的所有条件,在这种情况下都应该满足。

条件

  • 当输入为零时,输出不应为零。

  • 可以在输入或输出上应用任何非线性算子以使系统变为非线性。

例子

确定给定的系统是线性还是非线性。

a) y(t)=ex(t)

在上述系统中,第一个条件满足,因为如果我们将输入设为零,输出为 1。此外,指数非线性算子应用于输入。显然,这是一个非线性系统。

b) y(t)=x(t+1)+x(t1)

上述类型的系统同时处理过去和未来的值。但是,如果我们将输入设为零,则它的值都不存在。因此,我们可以说如果输入为零,则输入的时间缩放和时间平移版本也将为零,这违反了我们的第一个条件。同样,不存在非线性算子。因此,第二个条件也被违反。显然,该系统不是非线性系统;而是一个线性系统。

DSP - 时不变系统

对于一个时不变系统,输出和输入应该延迟某个时间单位。对于时不变系统,输入中提供的任何延迟都必须反映在输出中。

Time Invariant

例子

a) y(T)=x(2T)

如果上述表达式先通过系统,然后通过时间延迟(如图上半部分所示);则输出将变为 x(2T2t)。现在,相同的表达式先通过时间延迟,然后通过系统(如图下半部分所示)。输出将变为 x(2Tt)

因此,该系统不是时不变系统。

b) y(T)=sin[x(T)]

如果信号先通过系统,然后通过时间延迟过程,输出为 sinx(Tt)。类似地,如果系统先通过时间延迟,然后通过系统,则输出将为 sinx(Tt)。我们可以清楚地看到,两个输出相同。因此,该系统是时不变的。

DSP - 时变系统

对于时变系统,输出和输入也应该延迟某个时间常数,但是输入端的延迟不应反映在输出上。所有时间缩放的情况都是时变系统的示例。类似地,当系统关系中的系数是时间的函数时,系统也是时变的。

Time Variant

例子

a) y(t)=x[cosT]

如果上述信号先通过系统,然后通过时间延迟,输出将为 xcos(Tt)。如果它先通过时间延迟,然后通过系统,它将是 x(cosTt)。由于输出不相同,因此该系统是时变的。

b) y(T)=cosT.x(T)

如果上述表达式先通过系统,然后通过时间延迟,则输出将为 cos(Tt)x(Tt)。但是,如果表达式先通过时间延迟,然后通过系统,则输出将为 cosT.x(Tt)。由于输出不相同,显然该系统是时变的。

数字信号处理 - 稳定系统

稳定系统满足 BIBO(有界输入对应有界输出)条件。这里,有界意味着幅度有限。对于稳定系统,对于有限或有界的输入,在每一个时刻输出都应该是有限或有界的。

一些有界输入的例子是正弦、余弦、直流、符号和单位阶跃函数。

例子

a) y(t)=x(t)+10

这里,对于确定的有界输入,我们可以得到确定的有界输出,即如果我们令 x(t)=2,y(t)=12,它本质上是有界的。因此,该系统是稳定的。

b) y(t)=sin[x(t)]

在给定的表达式中,我们知道正弦函数的值有一个确定的边界,介于 -1 到 +1 之间。因此,无论我们在 x(t) 中代入什么值,我们都会得到我们边界内的值。因此,该系统是稳定的。

数字信号处理 - 不稳定系统

不稳定系统不满足 BIBO 条件。因此,对于有界输入,对于不稳定系统,我们不能期望有界输出。

例子

a) y(t)=tx(t)

这里,对于有限输入,我们不能期望有限输出。例如,如果我们令 x(t)=2y(t)=2t。这不是一个有限值,因为我们不知道 t 的值。因此,它的范围可以从任何地方开始。因此,该系统不稳定。它是一个不稳定系统。

b) y(t)=x(t)sint

我们前面已经讨论过,正弦函数的范围从 -1 到 +1;但是这里它在分母中。因此,在最坏的情况下,如果我们令 t = 0 并且正弦函数变为零,则整个系统将趋于无穷大。因此,这种类型的系统根本不稳定。显然,这是一个不稳定系统。

DSP - 系统特性解题示例

例 1 − 检查 y(t)=x(t) 是线性还是非线性。

解答 − 该函数表示输入的共轭。可以通过齐次性原理和叠加性原理中的第一定律,或通过两条规则来验证。但是,通过规则进行验证要容易得多,因此我们将采用这种方法。

如果系统的输入为零,输出也趋于零。因此,我们的第一个条件满足。输入或输出都没有使用非线性算子。因此,该系统是线性的。

例 2 − 检查 y(t)={x(t+1),t>0x(t1),t0 是线性还是非线性。

解答 − 显然,我们可以看到,当时间小于或等于零时,输入变为零。因此,我们可以说在零输入时输出也为零,并且我们的第一个条件满足。

同样,输入和输出都没有使用非线性算子。因此,该系统是线性的。

例 3 − 检查 y(t)=sint.x(t) 是否稳定。

解答 − 假设我们将 x(t) 的值取为 3。这里,正弦函数与它相乘,正弦函数的最大值和最小值在 -1 到 +1 之间变化。

因此,整个函数的最大值和最小值也将介于 -3 和 +3 之间。因此,该系统是稳定的,因为这里我们得到了有界输入对应有界输出。

DSP - Z 变换简介

离散时间傅里叶变换 (DTFT) 存在于能量和功率信号中。Z 变换也存在于既不是能量也不是功率 (NENP) 型信号中,但仅限于一定程度。只有对于绝对可和信号,才使用替换 z=ejw 将 Z 变换转换为 DTFT。

因此,离散时间信号 x(n) 的 Z 变换可以用幂级数表示为:−

X(z)=nx(n)Zn

上述方程表示一个双边 Z 变换方程。

通常,当信号进行 Z 变换时,可以表示为:−

X(Z)=Z[x(n)]

x(n)X(Z)

如果它是连续时间信号,则不需要 Z 变换,因为使用拉普拉斯变换。但是,只能通过 Z 变换来分析离散时间信号。

收敛域

收敛域是 Z 平面中复变量 Z 的范围。信号的 Z 变换是有限的或收敛的。因此,ROC 表示 X(Z) 具有有限值的 Z 值集合。

ROC 的性质

  • ROC 不包含任何极点。
  • 对于右侧信号,ROC 将位于 Z 平面中的圆外。
  • 对于左侧信号,ROC 将位于 Z 平面中的圆内。
  • 为了保证稳定性,ROC 包括 Z 平面中的单位圆。
  • 对于双边信号,ROC 是 Z 平面中的环。
  • 对于有限持续时间信号,ROC 是整个 Z 平面。

Z 变换的唯一特征在于:−

  • X(Z) 的表达式
  • X(Z) 的 ROC

信号及其 ROC

x(n) X(Z) ROC
δ(n) 1 整个 Z 平面
U(n) 1/(1Z1) Mod(Z)>1
anu(n) 1/(1aZ1) Mod(Z)>Mod(a)
anu(n1) 1/(1aZ1) Mod(Z)<Mod(a)
nanu(n) aZ1/(1aZ1)2 Mod(Z)>Mod(a)
anu(n1) aZ1/(1aZ1)2 Mod(Z)<Mod(a)
U(n)cosωn (Z2Zcosω)/(Z22Zcosω+1) Mod(Z)>1
U(n)sinωn (Zsinω)/(Z22Zcosω+1) Mod(Z)>1

例子

让我们找到给定信号 x(n)={7,3,4,9,5} 的 Z 变换和 ROC,其中序列的原点位于 3。

解答 − 应用公式,我们有:−

X(z)=n=x(n)Zn

=3n=1x(n)Zn

=x(1)Z+x(0)+x(1)Z1+x(2)Z2+x(3)Z3

=7Z+3+4Z1+9Z2+5Z3

ROC 是整个 Z 平面,不包括 Z = 0,∞,-∞

DSP - Z 变换性质

本章我们将了解 Z 变换的基本性质。

线性性

它指出,当两个或多个单独的离散信号乘以常数时,它们的 Z 变换也将乘以相同的常数。

数学上,

a1x1(n)+a2x2(n)=a1X1(z)+a2X2(z)

证明 − 我们知道,

X(Z)=n=x(n)Zn

=n=(a1x1(n)+a2x2(n))Zn

=a1n=x1(n)Zn+a2n=x2(n)Zn

=a1X1(z)+a2X2(z) (证毕)

这里的 ROC 为 ROC1ROC2

时间移位

时间移位特性描述了离散信号中时域的变化如何影响 Z 域,可以写成:

x(nn0)X(Z)Zn

或者 x(n1)Z1X(Z)

证明

y(P)=X(PK)

Y(z)=p=y(p)Zp

=p=(x(pk))Zp

设 s = p-k

=s=x(s)Z(s+k)

=s=x(s)ZsZk

=Zk[s=x(m)Zs]

=ZkX(Z) (证毕)

这里,收敛域可以写成 Z = 0 (p>0) 或 Z = ∞(p<0)

例子

U(n) 和 U(n-1) 可以绘制如下

Time Shifting Example

U(n) 的 Z 变换可以写成:

n=[U(n)]Zn=1

U(n-1) 的 Z 变换可以写成:

n=[U(n1)]Zn=Z1

因此 x(nn0)=Zn0X(Z) (证毕)

时间缩放

时标变换性质告诉我们,当对离散信号进行时间缩放时,其 Z 域将如何变化,可以写成:

anx(n)X(a1Z)

证明

y(p)=apx(p)

Y(P)=p=y(p)Zp

=p=apx(p)Zp

=p=x(p)[a1Z]p

=X(a1Z)(证毕)

收敛域:= Mod(ar1) < Mod(Z) < Mod(ar2),其中 Mod = 模

例子

让我们使用时标变换性质确定 x(n)=ancosωn 的 Z 变换。

我们已经知道信号 cos(ωn) 的 Z 变换为:

n=(cosωn)Zn=(Z2Zcosω)/(Z22Zcosω+1)

现在,应用时标变换性质,ancosωn 的 Z 变换可以写成:

n=(ancosωn)Zn=X(a1Z)

=[(a1Z)2(a1Zcosωn)]/((a1Z)22(a1Zcosωn)+1)

=Z(Zacosω)/(Z22azcosω+a2)

连续微分

连续微分性质表明,当我们对时域中的离散信号关于时间进行微分时,会发生 Z 变换。如下所示。

dx(n)dn=(1Z1)X(Z)

证明

考虑等式的左边 − dx(n)dn

=[x(n)x(n1)][n(n1)]

=x(n)X(n1)

=x(Z)Z1x(Z)

=(1Z1)x(Z) (证毕)

收敛域:R1< Mod (Z) <R2

例子

让我们求出由 x(n)=n2u(n) 给出的信号的 Z 变换。

根据性质,我们可以写成

Zz[nU(n)]=ZdZ[U(n)]dz

=Zd[ZZ1]dZ

=Z/((Z1)2

$= y(设)

现在,Z[n.y] 可以通过再次应用该性质求出,

Z(n,y)=Zdydz

=Zd[Z/(Z1)3]dz

=Z(Z+1)/(Z1)2

卷积

这描述了当对离散信号进行卷积运算时,系统 Z 域的变化,可以写成:

x1(n)x2(n)X1(Z).X2(Z)

证明

X(Z)=n=x(n)Zn

=n=[k=x1(k)x2(nk)]Zn

=k=x1(k)[nx2(nk)Zn]

=k=x1(k)[n=x2(nk)Z(nk)Zk]

设 n-k = l,则上述方程可以写成:

X(Z)=k=x1(k)[Zkl=x2(l)Zl]

=k=x1(k)X2(Z)Zk

=X2(Z)k=x1(Z)Zk

=X1(Z).X2(Z) (证毕)

收敛域:ROC1ROC2

例子

让我们求出由两个信号给出的卷积

x1(n)={3,2,2} ...(eq. 1)

x2(n)={2,04and0elsewhere} ...(eq. 2)

第一个方程的 Z 变换可以写成:

n=x1(n)Zn

=32Z1+2Z2

第二个信号的 Z 变换可以写成:

n=x2(n)Zn

=2+2Z1+2Z2+2Z3+2Z4

因此,上述两个信号的卷积由下式给出:

X(Z)=[x1(Z)x2(Z)]

=[32Z1+2Z2]×[2+2Z1+2Z2+2Z3+2Z4]

=6+2Z1+6Z2+6Z3+.........

进行逆 Z 变换,我们得到:

x(n)={6,2,6,6,6,0,4}

初始值定理

如果 x(n) 是一个因果序列,其 Z 变换为 X(z),则初始值定理可以写成:

X(n)(atn=0)=limzX(z)

证明 − 我们知道,

X(Z)=n=0x(n)Zn

展开上述级数,我们得到:

=X(0)Z0+X(1)Z1+X(2)Z2+......

=X(0)×1+X(1)Z1+X(2)Z2+......

在上述情况下,如果 Z → ∞,则 Zn0 (因为 n>0)

因此,我们可以说:

limzX(z)=X(0) (证毕)

终值定理

终值定理指出,如果信号的 Z 变换表示为 X(Z),并且所有极点都在单位圆内,则其终值表示为 x(n) 或 X(∞),可以写成:

X()=limnX(n)=limz1[X(Z)(1Z1)]

条件

  • 仅适用于因果系统。
  • X(Z)(1Z1) 在 Z 平面上应该具有位于单位圆内的极点。

证明 − 我们知道

Z+[x(n+1)x(n)]=limkkn=0Zn[x(n+1)x(n)]

Z+[x(n+1)]Z+[x(n)]=limkkn=0Zn[x(n+1)x(n)]

Z[X(Z)+x(0)]X(Z)+=limkkn=0Zn[x(n+1)x(n)]

这里,我们可以应用单边 Z 变换的高级性质。因此,上述方程可以改写为:

Z+[x(n+1)]=Z[X(2)+x(0)Z0]=Z[X(Z)+x(0)]

现在将 z = 1 代入上述方程,我们可以展开上述方程:

limk[x(1)x(0)+x(6)x(1)+x(3)x(2)+.........+x(x+1)x(k)]

这可以表述为:

X()=limnX(n)=limz1[X(Z)(1Z1)](证毕)

例子

让我们求出 x(n) 的初始值和终值,其信号由下式给出

X(Z)=2+3Z1+4Z2

− 首先,让我们通过应用定理求出信号的初始值

x(0)=limzX(Z)

=limz[2+3Z1+4Z2]

=2+(3)+(4)=2

现在让我们通过应用定理求出信号的终值

x()=limz[(1Z1)X(Z)]

=limz[(1Z1)(2+3Z1+4Z2)]

=limz[2+Z1+Z24Z3]

=2+1+14=0

Z 变换的其他一些性质列在下面

频域微分

它给出当对离散信号关于时间进行微分时,信号 Z 域的变化。

nx(n)ZdX(z)dz

其收敛域可以写成:

r2<Mod(Z)<r1

例子

让我们通过频域微分求出 x(n) 的值,其 Z 域中的离散信号由 x(n)X(Z)=log(1+aZ1) 给出。

根据性质,我们可以写成

nx(n)Zdx(Z)dz

=Z[aZ21+aZ1]

=(aZ1)/(1+aZ1)

=11/(1+aZ1)

nx(n)=δ(n)(a)nu(n)

x(n)=1/n[δ(n)(a)nu(n)]

时域乘法

它给出当在离散信号级别进行乘法运算时,信号 Z 域的变化。

x1(n).x2(n)(12Πj)[X1(Z)X2(Z)]

时域共轭

这描述了 Z 域中共轭离散信号的表示。

X(n)X(Z)

数字信号处理 - Z 变换存在性

具有系统函数的系统只有当所有极点都位于单位圆内时才能稳定。首先,我们检查系统是否是因果的。如果系统是因果的,那么我们进行其 BIBO 稳定性确定;其中 BIBO 稳定性是指有界输入对应有界输出的条件。

这可以写成:

Mod(X(Z))<

=Mod(x(n)Zn)<

=Mod(x(n)Zn)<

=Mod[x(n)(rejw)n]<0

=Mod[x(n)rn]Mod[ejwn]<

=n=Mod[x(n)rn]<

上述方程显示了 Z 变换存在的条件。

然而,DTFT 信号存在的条件是

n=Mod(x(n)<

例 1

让我们尝试求出信号的 Z 变换,该信号表示为

x(n)=(0.5)nu(n)+3nu(n)

=(2)nu(n)+3nu(n)

− 这里,对于 (2)nu(n),收敛域是左边的,Z<2

对于 3nu(n),收敛域是右边的,Z>3

因此,这里信号的 Z 变换不存在,因为没有公共区域。

例 2

让我们尝试求出由下式给出的信号的 Z 变换

x(n)=2nu(n1)+(0.5)nu(n)

− 这里,对于 2nu(n1),信号的收敛域是左边的,Z<2

对于信号 (0.5)nu(n),收敛域是右边的,Z>0.5

因此,形成的公共收敛域为 0.5<Z<2

因此,Z 变换可以写成:

X(Z)={112Z1}+{1(10.5Z)1}

例 3

让我们尝试求出信号的 Z 变换,该信号表示为 x(n)=2r(n)

− r(n) 是斜坡信号。因此,信号可以写成:

x(n)=2nu(n){1,n<0(u(n)=0)and2n,n0(u(n)=1)}

=u(n1)+2nu(n)

这里,对于信号 u(n1),收敛域 Z<1,对于 2nu(n),收敛域为 Z>2。

因此,信号的 Z 变换不存在。

因果系统的 Z 变换

因果系统可以定义为 h(n)=0,n<0。对于因果系统,收敛域将在 Z 平面上位于圆外。

H(Z)=n=0h(n)Zn

展开上述方程,

H(Z)=h(0)+h(1)Z1+h(2)Z2+.........

=N(Z)/D(Z)

对于因果系统,传递函数的展开不包括 Z 的正幂。对于因果系统,分子的阶数不能超过分母的阶数。这可以写成:

limzH(Z)=h(0)=0orFinite

为了因果系统的稳定性,传递函数的极点应该位于 Z 平面的单位圆内。

反因果系统的 Z 变换

反因果系统可以定义为 h(n)=0,n0。对于反因果系统,传递函数的极点应该位于 Z 平面的单位圆外。对于反因果系统,收敛域将在 Z 平面上位于圆内。

数字信号处理 - Z 变换逆变换

如果我们想分析一个已经用频域表示的系统,作为离散时间信号,那么我们进行逆 Z 变换。

数学上,它可以表示为:

x(n)=Z1X(Z)

其中 x(n) 是时域中的信号,X(Z) 是频域中的信号。

如果我们想将上述方程表示为积分形式,那么我们可以将其写成

x(n)=(12Πj)X(Z)Z1dz

这里,积分是在闭合路径 C 上进行的。该路径位于 x(z) 的收敛域内,并且包含原点。

求逆 Z 变换的方法

当需要以离散格式进行分析时,我们通过逆 Z 变换将频域信号转换回离散格式。我们采用以下四种方法来确定逆 Z 变换。

  • 长除法
  • 部分分式展开法
  • 留数或轮廓积分法

长除法

在这种方法中,信号 x (z) 的 Z 变换可以表示为多项式的比率,如下所示:

x(z)=N(Z)/D(Z)

现在,如果我们继续用分母除以分子,那么我们将得到如下所示的级数

X(z)=x(0)+x(1)Z1+x(2)Z2+.........

上述序列表示给定信号的反Z变换序列(对于n≥0),且上述系统是因果的。

然而,对于n<0,该序列可以写成:

x(z)=x(1)Z1+x(2)Z2+x(3)Z3+.........

部分分式展开法

在此方法中,信号也首先表示为N(z)/D(z)的形式。

如果它是有理分数,则表示如下:

x(z)=(b0+b1Z1+b2Z2+.........+bmZm)/(a0+a1Z1+a2Z2+.........+anZn)

当mn≠0时,上述表达式为非真分数。

如果该比率不是真分数(即为非真分数),则必须将其转换为真分数形式才能求解。

留数或轮廓积分法

在这种方法中,我们通过对所有极点处[x(z)Zn-1]的留数求和来获得反Z变换x(n)。数学上,这可以表示为

x(n)=X(z)[x(z)Zn1]

这里,在z = β处m阶极点的留数为

=1(m1)!limZβ{dm1dZm1{(zβ)mX(z)Zn1}

数字信号处理 - Z变换例题

例 1

求解系统s(n+2)-3s(n+1)+2s(n) = δ(n)的响应,其中所有初始条件均为零。

− 对上述方程两边进行Z变换,得到

S(z)Z23S(z)Z+2S(z)=1

S(z){Z23Z+2}=1

S(z)=1{z23z+2}=1(z2)(z1)=α1z2+α2z1

S(z)=1z21z1

对上述方程进行反Z变换,得到

S(n)=Z1[1Z2]Z1[1Z1]

=2n11n1=2n11

例 2

求解差分方程描述的系统的系统函数H(z)和单位样本响应h(n)

y(n)=12y(n1)+2x(n)

其中,y(n)和x(n)分别是系统的输出和输入。

− 对上述差分方程进行Z变换,得到

Y(z)=12Z1Y(Z)+2X(z)

Y(Z)[112Z1]=2X(Z)

H(Z)=Y(Z)X(Z)=2[112Z1]

该系统在Z = 1/2和Z = 0处有极点,且H(Z) = 2/[1-(1/2)Z-1]

因此,对上述式子进行反Z变换,得到

h(n)=2(12)nU(n)

例 3

确定下列情况下的Y(z),n≥0:

y(n)+12y(n1)14y(n2)=0y(1)=y(2)=1

− 对上述方程应用Z变换,得到

Y(Z)+12[Z1Y(Z)+Y(1)]14[Z2Y(Z)+Z1Y(1)+Y(2)]=0

Y(Z)+12ZY(Z)+1214Z2Y(Z)14Z14=0

Y(Z)[1+12Z14Z2]=14Z+14

Y(Z)[4Z2+2Z14Z2]=Z+14Z

Y(Z)=Z(Z+1)4Z2+2Z1

数字信号处理 - DFT简介

与连续时间信号傅里叶变换类似,离散时间傅里叶变换可用于将离散序列表示为其等效的频域表示,并用于线性时不变离散时间系统以及开发各种计算算法。

在连续傅里叶变换中,X(jω)是x(n)的连续函数。然而,DFT处理的是用其频谱X(ω)的样本表示x(n)。因此,这种数学工具在方便的表示方面具有重要的计算意义。周期性和非周期性序列都可以通过此工具进行处理。周期性序列需要通过将周期扩展到无穷大来进行采样。

频域采样

从引言中可以看出,我们需要知道如何进行频域采样,即采样X(ω)。因此,采样傅里叶变换和DFT之间的关系如下建立。

同样,周期性序列可以通过将周期N扩展到无穷大来适应此工具。

设一个非周期序列为,X(n)=limNxN(n)

定义其傅里叶变换为:

X(ω)=n=x(n)ejwnX(Kδω)

这里,X(ω)以每个δω弧度间隔周期性地进行采样。

由于X(ω)在2π弧度内是周期性的,我们只需要在基本范围内进行采样。样本是在0≤ω≤2π的频率范围内以等距间隔获取的。等效间隔之间的间隔为δω=2πN弧度。

现在计算,ω=2πNk

X(2πNk)=n=x(n)ej2πnk/N, ...公式(2)

其中k=0,1,……N-1

在细分上述式子并交换求和顺序后

X(2πNk)=N1n=0[l=x(nNl)]ej2πnk/N ...公式(3)

l=x(nNl)=xp(n)=N=N1k=0Ckej2πnk/N

其中,n = 0,1,…..,N-1;'p'代表周期实体或函数

傅里叶系数为:

Ck=1NN1n=0xp(n)ej2πnk/Nk=0,1,…,N-1...公式(4)

比较公式3和4,我们得到:

NCk=X(2πNk) k=0,1,…,N-1...公式(5)

NCk=X(2πNk)=X(ejw)=n=xp(n)ej2πnk/N...公式(6)

从傅里叶级数展开式:

xp(n)=1NN1k=0NCkej2πnk/N=1NN1k=0X(2πNk)ej2πnk/N...公式(7)

其中n=0,1,…,N-1

在这里,我们从X(ω)得到了周期信号。只有当时域中不存在混叠时,才能从xp(n)中提取x(n)。N≥L

N = xp(n)的周期 L= x(n)的周期

x(n)={xp(n),0nN10,

映射以这种方式实现。

DFT的性质

线性性

它指出,信号组合的DFT等于各个信号DFT的和。让我们取两个信号x1(n)和x2(n),其DFT分别为X1(ω)和X2(ω)。因此,如果

x1(n)X1(ω)x2(n)X2(ω)

那么ax1(n)+bx2(n)aX1(ω)+bX2(ω)

其中ab是常数。

对称性

DFT的对称性可以像我们推导DTFT对称性一样推导出来。我们知道序列x(n)的DFT用X(K)表示。现在,如果x(n)和X(K)是复值序列,则可以表示为:

x(n)=xR(n)+jxI(n),0nN1

X(K)=XR(K)+jXI(K),0KN1

对偶性

让我们考虑一个信号x(n),其DFT为X(K)。设有限持续时间序列为X(N)。然后根据对偶定理,

如果,x(n)X(K)

那么,X(N)Nx[((k))N]

因此,通过使用此定理,如果我们知道DFT,我们可以很容易地找到有限持续时间序列。

复共轭性质

假设有一个信号x(n),我们也知道它的DFT为X(K)。现在,如果信号的复共轭为x*(n),那么我们可以通过使用下面所示的定理很容易地找到DFT,而无需进行大量计算。

如果,x(n)X(K)

那么,x(n)X((K))N=X(NK)

循环频移

序列x(n)与复指数序列ej2Πkn/N的乘法相当于DFT在频率上循环移动L个单位。这是循环时间移位性质的对偶。

如果,x(n)X(K)

那么,x(n)ej2ΠKn/NX((KL))N

两个序列的乘法

如果有两个信号x1(n)和x2(n),它们各自的DFT为X1(k)和X2(K),则时间序列中信号的乘法对应于其DFT的循环卷积。

如果,x1(n)X1(K)&x2(n)X2(K)

那么,x_1(n)\times x_2(n)\longleftrightarrow X_1(K)© X_2(K)

帕塞瓦尔定理

对于复值序列x(n)和y(n),一般来说

如果,x(n)\longleftrightarrow X(K)\quad \&\quad y(n)\longleftrightarrow Y(K)

那么,\sum_{n = 0}^{N-1}x(n)y^*(n) = \frac{1}{N}\sum_{k = 0}^{N-1}X(K)Y^*(K)

数字信号处理 - DFT时频变换

我们知道,当\omega = 2\pi K/NN\rightarrow \infty时,ω成为一个连续变量,求和的极限变为-\infty+\infty

所以,

NC_k = X(\frac{2\pi}{N}k) = X(e^{j\omega}) = \displaystyle\sum\limits_{n = -\infty}^\infty x(n)e^{\frac{-j2\pi nk}{N}} = \displaystyle\sum\limits_{n = -\infty}^\infty x(n)e^{-j\omega n}

离散时间傅里叶变换 (DTFT)

我们知道,X(e^{j\omega}) = \sum_{n = -\infty}^\infty x(n)e^{-j\omega n}

其中,X(e^{j\omega})在ω上是连续且周期性的,周期为2π。…公式(1)

现在,

x_p(n) = \sum_{k = 0}^{N-1}NC_ke^{j2 \pi nk/N} … 来自傅里叶级数

x_p(n) = \frac{1}{2\pi}\sum_{k=0}^{N-1}NC_ke^{j2\pi nk/N}\times \frac{2\pi}{N}

由于上述原因,ω变为连续的,\frac{2\pi}{N}\rightarrow d\omega

x(n) = \frac{1}{2\pi}\int_{0}^{2\pi}X(e^{j\omega})e^{j\omega n}d\omega…公式(2)

离散时间傅里叶逆变换

符号表示为:

x(n)\Longleftrightarrow x(e^{j\omega})(傅里叶变换对)

非周期序列x(n)存在离散时间傅里叶变换的充要条件是绝对可和。

\sum_{n = -\infty}^\infty|x(n)|<\infty

DTFT的性质

  • 线性a_1x_1(n)+a_2x_2(n)\Leftrightarrow a_1X_1(e^{j\omega})+a_2X_2(e^{j\omega})

  • 时移x(n-k)\Leftrightarrow e^{-j\omega k}.X(e^{j\omega})

  • 时间反转x(-n)\Leftrightarrow X(e^{-j\omega})

  • 频移e^{j\omega _0n}x(n)\Leftrightarrow X(e^{j(\omega -\omega _0)})

  • 频域微分nx(n) = j\frac{d}{d\omega}X(e^{j\omega})

  • 卷积x_1(n)*x_2(n)\Leftrightarrow X_1(e^{j\omega})\times X_2(e^{j\omega})

  • 乘法x_1(n)\times x_2(n)\Leftrightarrow X_1(e^{j\omega})*X_2(e^{j\omega})

  • 相关y_{x_1\times x_2}(l)\Leftrightarrow X_1(e^{j\omega})*X_2(e^{j\omega})

  • 调制定理x(n)\cos \omega _0n = \frac{1}{2}[X_1(e^{j(\omega +\omega _0}))+X_2(e^{j(\omega -\omega _0)})]

  • 对称性x^*(n)\Leftrightarrow X^*(e^{-j\omega})

    x^*(-n)\Leftrightarrow X^*(e^{j\omega})

    Real[x(n)]\Leftrightarrow X_{even}(e^{j\omega})

    Imag[x(n)]\Leftrightarrow X_{odd}(e^{j\omega})

    x_{even}(n)\Leftrightarrow Real[x(e^{j\omega})]

    x_{odd}(n)\Leftrightarrow Imag[x(e^{j\omega})]

  • 帕塞瓦尔定理\sum_{-\infty}^\infty|x_1(n)|^2 = \frac{1}{2\pi}\int_{-\pi}^{\pi}|X_1(e^{j\omega})|^2d\omega

前面我们学习了频域采样。利用这些基础知识,我们在频域对X(e^{j\omega})进行采样,以便可以根据这些采样数据进行方便的数字分析。因此,DFT在时域和频域都进行了采样。假设x(n) = xp(n)

因此,DFT由下式给出:

X(k) = DFT[x(n)] = X(\frac{2\pi}{N}k) = \displaystyle\sum\limits_{n = 0}^{N-1}x(n)e^{-\frac{j2\pi nk}{N}}k=0,1,….,N−1…式(3)

反离散傅里叶变换(IDFT)定义如下:

x(n) = IDFT[X(k)] = \frac{1}{N}\sum_{k = 0}^{N-1}X(k)e^{\frac{j2\pi nk}{N}}n=0,1,….,N−1…式(4)

\therefore x(n)\Leftrightarrow X(k)

旋转因子

旋转因子记作W_N,定义为W_N = e^{-j2\pi /N}。其幅度始终保持为1。W_N的相位为-2\pi /N。它是一个单位圆上的向量,用于计算方便。数学上,它可以表示为:

W_N^r = W_N^{r\pm N} = W_N^{r\pm 2N} = ...

  • 它是r的函数,周期为N。

    例如,当N = 8时,r = 0,1,2,3,….14,15,16,….

    \Longleftrightarrow W_8^0 = W_8^8 = W_8^{16} = ... = ... = W_8^{32} = ... =1= 1\angle 0

  • W_8^1 = W_8^9 = W_8^{17} = ... = ... = W_8^{33} = ... =\frac{1}{\sqrt 2}e^{-j\frac{\pi}{4}} = 1\angle-\frac{\pi}{4}

线性变换

让我们理解线性变换:

我们知道:

DFT(k) = DFT[x(n)] = X(\frac{2\pi}{N}k) = \sum_{n = 0}^{N-1}x(n).W_N^{-nk};\quad k = 0,1,….,N−1

x(n) = IDFT[X(k)] = \frac{1}{N}\sum_{k = 0}^{N-1}X(k).W_N^{nk};\quad n = 0,1,….,N−1

注意:DFT的计算需要N²次复数乘法和N(N-1)次复数加法。

  • x_N = \begin{bmatrix}x(0)\\x(1)\\.\\.\\x(N-1) \end{bmatrix}\quad N\quad 点\quad 信号\quad 向量\quad x_N

  • X_N = \begin{bmatrix}X(0)\\X(1)\\.\\.\\X(N-1) \end{bmatrix}\quad N\quad 点\quad 信号\quad 向量\quad X_N

  • \begin{bmatrix}1 & 1 & 1 & ... & ... & 1\\1 & W_N & W_N^2 & ... & ... & W_N^{N-1}\\. & W_N^2 & W_N^4 & ... & ... & W_N^{2(N-1)}\\.\\1 & W_N^{N-1} & W_N^{2(N-1)} & ... & ... & W_N^{(N-1)(N-1)} \end{bmatrix}

    N点DFT的矩阵表示为:X_N = W_Nx_N

    W_N\longmapsto 线性变换矩阵

    那么,\quad x_N = W_N^{-1}X_N

    IDFT的矩阵形式为

    x_N = \frac{1}{N}W_N^*X_N

    比较x_N的两个表达式,可得W_N^{-1} = \frac{1}{N}W_N^* 以及 W_N\times W_N^* = N[I]_{N\times N}

    因此,W_N是一个线性变换矩阵,一个正交(酉)矩阵。

    根据W_N的周期性和对称性,可以得出W_N^{k+N/2} = -W_N^k

    循环对称性

    长度为N≤L的有限持续时间序列x(n)的N点DFT,等效于x(n)的周期延拓x_p(n)(周期为N)的N点DFT,其中x_p(n) = \sum_{l = -\infty}^\infty x(n-Nl)。现在,如果我们将这个周期序列向右平移k个单位,则得到另一个周期序列。这称为循环移位,表示为:

    x_p^\prime (n) = x_p(n-k) = \sum_{l = -\infty}^\infty x(n-k-Nl)

    新的有限序列可以表示为

    x_p^\prime (n) = \begin{cases}x_p^\prime(n), & 0\leq n\leq N-1\\0 & 其他情况\end{cases}

    示例:令x(n)= {1,2,4,3}, N = 4,

    x_p^\prime (n) = x(n-k, 模\quad N)\equiv x((n-k))_N\quad;例如,如果\quad k=2,即\quad 向右循环移位2个单位,且\quad N = 4,

    假设顺时针方向为正方向。

    我们得到,x\prime(n) = x((n-2))_4

    x\prime(0) = x((-2))_4 = x(2) = 4

    x\prime(1) = x((-1))_4 = x(3) = 3

    x\prime(2) = x(0)_4 = x(0) = 1

    x\prime(3) = x(1)_4 = x(1) = 2

    结论:N点序列的循环移位等效于其周期延拓的线性移位,反之亦然。

    循环偶数序列:x(N-n) = x(n),\quad 1\leq n\leq N-1

    即x_p(n) = x_p(-n) = x_p(N-n)

    共轭偶数:x_p(n) = x_p^*(N-n)

    循环奇数序列:x(N-n) = -x(n),\quad 1\leq n\leq N-1

    即x_p(n) = -x_p(-n) = -x_p(N-n)

    共轭奇数:x_p(n) = -x_p^*(N-n)

    现在,x_p(n) = x_{pe}+x_{po}(n),其中:

    x_{pe}(n) = \frac{1}{2}[x_p(n)+x_p^*(N-n)]

    x_{po}(n) = \frac{1}{2}[x_p(n)-x_p^*(N-n)]

    对于任何实数信号x(n),X(k) = X^*(N-k)

    X_R(k) = X_R(N-k)

    X_I(k) = -X_I(N-k)

    \angle X(k) = -\angle X(N-k)

    时间反转:关于第0个样本反转样本。表示为:

    x((-n))_N = x(N-n),\quad 0\leq n\leq N-1

    时间反转是顺时针方向(即假设为负方向)绘制序列的样本。

    其他一些重要性质

    其他重要的IDFT性质 x(n)\longleftrightarrow X(k)

    • 时间反转x((-n))_N = x(N-n)\longleftrightarrow X((-k))_N = X(N-k)

    • 循环时间移位x((n-l))_N \longleftrightarrow X(k)e^{j2\pi lk/N}

    • 循环频率移位x(n)e^{j2\pi ln/N} \longleftrightarrow X((k-l))_N

    • 复共轭性质

      x^*(n)\longleftrightarrow X^*((-k))_N = X^*(N-k)\quad 以及

      x^*((-n))_N = x^*(N-n)\longleftrightarrow X^*(-k)

    • 两个序列的乘积

      x_1(n)\longleftrightarrow X_1(k)\quad 以及\quad x_2(n)\longleftrightarrow X_2(k)

      \therefore x_1(n)x_2(n)\longleftrightarrow DFT\{X_1(k) \circ X_2(k)\}

    • 循环卷积:以及两个DFT的乘积

      x_1(n)\quad 循环卷积\quad x_2(n) =\sum_{n = 0}^{N-1}x_1(n).x_2((m-n))_N,\quad m = 0,1,2,... .,N-1

      x_1(n)\quad 循环卷积\quad x_2(n)\longleftrightarrow X_1(k).X_2(k)

    • 循环相关:如果x(n)\longleftrightarrow X(k)y(n)\longleftrightarrow Y(k),则存在一个互相关序列,记为\bar Y_{xy},使得 \bar Y_{xy}(l) = \sum_{n = 0}^{N-1}x(n)y^*((n-l))_N = IDFT\{X(k).Y^*(k)\}

    • 帕塞瓦尔定理:如果x(n)\longleftrightarrow X(k)y(n)\longleftrightarrow Y(k)

      \displaystyle\sum\limits_{n = 0}^{N-1}x(n)y^*(n) = \frac{1}{N}\displaystyle\sum\limits_{k =0}^{N-1}X(k).Y^*(k)

    数字信号处理 - DFT循环卷积

    让我们取两个有限持续时间序列x1(n)和x2(n),其整数长度为N。它们的DFT分别为X1(K)和X2(K),如下所示:

    X_1(K) = \sum_{n = 0}^{N-1}x_1(n)e^{\frac{j2\Pi kn}{N}}\quad k = 0,1,2...N-1 X_2(K) = \sum_{n = 0}^{N-1}x_2(n)e^{\frac{j2\Pi kn}{N}}\quad k = 0,1,2...N-1

    现在,我们将尝试找到另一个序列x3(n)的DFT,记为X3(K)

    X_3(K) = X_1(K)\times X_2(K)

    通过对上述进行IDFT变换,我们得到

    x_3(n) = \frac{1}{N}\displaystyle\sum\limits_{k = 0}^{N-1}X_3(K)e^{\frac{-j2\Pi kn}{N}}

    求解上述方程后,最终得到

    x_3(n) = \displaystyle\sum\limits_{m = 0}^{N-1}x_1(m)x_2[((n-m))_N]\quad m = 0,1,2...N-1

    比较点 线性卷积 循环卷积
    移位 线性移位 循环移位
    卷积结果中的样本数 N_1+N_2−1 Max(N_1,N_2)
    求滤波器的响应 可行 使用零填充可行

    循环卷积的方法

    通常,采用两种方法进行循环卷积,它们是:

    • 同心圆法,
    • 矩阵乘法法。

    同心圆法

    x_1(n)x_2(n)为两个给定的序列。进行x_1(n)x_2(n)循环卷积的步骤如下:

    • 取两个同心圆。在外部圆的圆周上逆时针方向绘制x_1(n)的N个样本(保持相邻点之间的距离相等)。

    • 对于x_2(n)的绘制,在内部圆上顺时针方向绘制x_2(n)的N个样本,起始样本与x_1(n)的第0个样本位于同一点。

    • 将两个圆上对应的样本相乘,并将结果相加以获得输出。

    • 将内部圆逆时针旋转一个样本。

    矩阵乘法法

    矩阵法将两个给定序列x_1(n)x_2(n)表示为矩阵形式。

    • 通过每次循环移位一个样本重复其中一个给定序列,形成一个N X N矩阵。

    • 另一个序列表示为列矩阵。

    • 两个矩阵的乘积给出循环卷积的结果。

    数字信号处理 - DFT线性滤波

    DFT提供了一种替代时域卷积的方法。它可以用于在频域中进行线性滤波。

    因此,Y(\omega) = X(\omega).H(\omega)\longleftrightarrow y(n)

    这种频域方法的问题在于,Y(\omega)X(\omega)H(\omega)是ω的连续函数,这对于计算机上的数字计算来说并不适用。然而,DFT提供了这些波形的采样版本来解决这个问题。

    其优点是,利用FFT等快速DFT技术,可以开发出比时域方法计算效率更高的数字计算机计算算法。

    考虑一个有限持续时间序列[x(n) = 0,\quad 当n<0\quad 或\quad n\geq L](广义方程),它激发一个具有脉冲响应[h(n) = 0,\quad 当n<0\quad 或\quad n\geq M]的线性滤波器。

    x(n) * h(n) 输出 = y(n) = \sum_{k = 0}^{M-1}h(k).x(n-k)

    从卷积分析可以看出,y(n)的持续时间为L+M−1。

    在频域中,

    Y(\omega) = X(\omega).H(\omega)

    现在,Y(\omega)是ω的连续函数,它在一组离散频率上进行采样,不同的样本数必须等于或超过L+M-1

    DFT\quad 大小 = N\geq L+M-1

    \omega = \frac{2\pi}{N}k时,

    Y(k) = X(k).H(k),其中k=0,1,….,N-1

    其中,X(k)和H(k)分别是x(n)和h(n)的N点DFT。x(n)和h(n)用零填充到长度N。这不会扭曲连续频谱X(\omega)H(\omega)。由于N\geq L+M-1,输出序列y(n)的N点DFT足以表示频域中的y(n),这些事实表明,X(k)和H(k)的N点DFT的乘积,然后计算N点IDFT必须产生y(n)。

    这意味着,用零填充的x(n)和H(n)的N点循环卷积等于x(n)和h(n)的线性卷积。

    因此,DFT可用于线性滤波。

    警告:N应始终大于或等于L+M-1。否则,混叠效应会破坏输出序列。

    数字信号处理 - DFT 分段卷积

    假设,需要用具有有限持续时间脉冲响应的系统处理长时间输入序列 x(n),方法是将两个序列进行卷积。由于通过 DFT 执行的线性滤波涉及对固定大小数据块的操作,因此在处理之前,输入序列被分成不同的固定大小数据块。

    然后一次处理连续的块,并将结果组合以产生最终结果。

    由于卷积是通过将长的输入序列分成不同的固定大小的段来执行的,因此它被称为分段卷积。在进行 FIR 滤波器处理之前,将长的输入序列分割成固定大小的块。

    使用两种方法来评估离散卷积:

    • 重叠保留法

    • 重叠相加法

    重叠保留法

    重叠保留法是评估非常长的信号 x(n) 和有限脉冲响应 (FIR) 滤波器 h(n) 之间的离散卷积的有效方法的传统名称。以下是重叠保留法的步骤:

    设输入数据块长度 = N = L+M-1。因此,DFT 和 IDFT 长度 = N。每个数据块携带前一个块的 M-1 个数据点,然后是 L 个新的数据点,形成长度为 N = L+M-1 的数据序列。

    • 首先,计算每个数据块的 N 点 DFT。

    • 通过附加 (L-1) 个零,FIR 滤波器的脉冲响应的长度增加,并计算和存储 N 点 DFT。

    • 两个 N 点 DFT H(k) 和 Xm(k) 的乘法:Y′m(k) = H(k)·Xm(k),其中 K=0,1,2,…N-1

    • 然后,IDFT[Y′m(k)] = y′(n) = [y′m(0), y′m(1), y′m(2),.......y′m(M-1), y′m(M),.......y′m(N-1)]

      (这里,N-1 = L+M-2)

    • 由于混叠,前 M-1 个点被破坏,因此它们被丢弃,因为数据记录的长度为 N。

    • 最后 L 个点与卷积的结果完全相同,因此

      y′m(n) = ym(n),其中 n = M, M+1,…,N-1

    • 为了避免混叠,保存每个数据记录的最后 M-1 个元素,这些点被传递到后续记录并成为第 1 个 M-1 个元素。

    Overlap Save Method
    • IDFT 的结果,其中避免了前 M-1 个点以消除混叠,其余 L 个点构成与线性卷积相同的期望结果。

    重叠相加法

    以下是使用重叠相加法求出离散卷积的步骤:

    设输入数据块大小为 L。因此,DFT 和 IDFT 的大小:N = L+M-1

    • 每个数据块在最后附加 M-1 个零。

    • 计算 N 点 DFT。

    Overlap Add Method
    • 两个 N 点 DFT 相乘:Ym(k) = H(k)·Xm(k),其中 k = 0,1,2,…,N-1

    • IDFT[Ym(k)] 生成长度为 N 的块,这些块不受混叠的影响,因为 DFT 的大小为 N = L+M-1,并且通过向每个块附加 M-1 个零将序列的长度增加到 N 点。

    • 每个块的最后 M-1 个点必须与后续块的前 M-1 个点重叠并相加。

      (原因:每个数据块以 M-1 个零结尾)

      因此,这种方法被称为重叠相加法。因此,我们得到:

      y(n) = {y1(0), y1(1), y1(2), ... ..., y1(L-1), y1(L)+y2(0), y1(L+1)+y2(1), ... ... ..., y1(N-1)+y2(M-1),y2(M), ... ... ... ... ...}

    数字信号处理 - DFT 离散余弦变换

    DCT(离散余弦变换)将 N 个输入序列 x(n),0≤n≤N-1,表示为复指数的线性变换或组合。结果,即使 x(n) 是实数,DFT 系数通常也是复数。

    假设,我们尝试找到一个具有 N×N 结构的正交变换,该变换将实数序列 x(n) 表示为余弦序列的线性组合。我们已经知道:

    X(K) = \displaystyle\sum\limits_{n = 0}^{N-1}x(n)\cos\frac{2\Pi kn}{N},0\leq k \leq N-1

    并且 x(n) = \frac{1}{N}\sum_{k = 0}^{N-1}x(k)\cos\frac{2\Pi kn}{N},0\leq k \leq N-1

    如果 N 点序列 x(n) 是实数且为偶数,则这是可能的。因此,x(n) = x(N-n),0\leq n \leq (N-1)。生成的 DFT 本身是实数且为偶数。这些都表明我们可以通过对序列的“偶数扩展”进行 2N 点 DFT 来为任何 N 点实数序列设计离散余弦变换。

    DCT 主要用于图像和语音处理。它也用于图像和语音信号的压缩。

    DFT[s(n)] = S(k) = \sum_{n = 0}^{2N-1}s(n)W_{2N}^{nk},其中 0\leq k \leq 2N-1

    S(k) = \displaystyle\sum\limits_{n = 0}^{N-1}x(n)W_{2N}^{nk}+\displaystyle\sum\limits_{n = N}^{2N-1}x(2N-n-1)W_{2N}^{nk};其中 0\leq k\leq 2N-1

    \Rightarrow S(k) = W_{2N}^{-k/2}+\sum_{n = 0}^{N-1}x(n) [W_{2N}^{nk}W_{2N}^{k/2}+W_{2N}^{-nk}W_{2N}^{-k/2}];其中 0\leq k\leq 2N-1

    \Rightarrow S(k) = W_{2N}^{\frac{k}{2}}\sum_{n = 0}^{N-1}x(n)\cos [\frac{\pi}{N}(n+\frac{1}{2})k];其中 0\leq k\leq 2N-1

    DCT 定义为:

    V(k) = 2\sum_{n = 0}^{N-1}x(n)\cos [\frac{\pi}{2}(n+\frac{1}{2})k],其中 0\leq k\leq N-1

    \Rightarrow V(k) = W_{2N}^{\frac{k}{2}}S(k) 或 S(k) = W_{2N}^{\frac{k}{2}}V(k),其中 0\leq k\leq N-1

    \Rightarrow V(k) = 2R[W_{2N}^{\frac{k}{2}}\sum_{n = 0}^{N-1}x(n)W_{2N}^{nk}],其中 0\leq k\leq N-1

    数字信号处理 - DFT 例题

    例 1

    验证序列 x(n) = \frac{1^n}{4}u(n) 的帕塞瓦尔定理

    **解**:

    \displaystyle\sum\limits_{-\infty}^\infty|x_1(n)|^2 = \frac{1}{2\pi}\int_{-\pi}^{\pi}|X_1(e^{j\omega})|^2d\omega

    左边 \displaystyle\sum\limits_{-\infty}^\infty|x_1(n)|^2

    = \displaystyle\sum\limits_{-\infty}^{\infty}x(n)x^*(n)

    = \displaystyle\sum\limits_{-\infty}^\infty(\frac{1}{4})^{2n}u(n) = \frac{1}{1-\frac{1}{16}} = \frac{16}{15}

    右边 X(e^{j\omega}) = \frac{1}{1-\frac{1}{4}e^{-j\omega}} = \frac{1}{1-0.25\cos \omega+j0.25\sin \omega}

    \Longleftrightarrow X^*(e^{j\omega}) = \frac{1}{1-0.25\cos \omega-j0.25\sin \omega}

    计算,X(e^{j\omega})·X^*(e^{j\omega})

    = \frac{1}{(1-0.25\cos \omega)^2+(0.25\sin \omega)^2} = \frac{1}{1.0625-0.5\cos \omega}

    \frac{1}{2\pi}\int_{-\pi}^{\pi}\frac{1}{1.0625-0.5\cos \omega}d\omega

    \frac{1}{2\pi}\int_{-\pi}^{\pi}\frac{1}{1.0625-0.5\cos \omega}d\omega = 16/15

    我们可以看到,左边 = 右边。(证毕)

    例 2

    计算 x(n) = 3\delta (n) 的 N 点 DFT

    **解**:我们知道:

    X(K) = \displaystyle\sum\limits_{n = 0}^{N-1}x(n)e^{\frac{j2\Pi kn}{N}}

    = \displaystyle\sum\limits_{n = 0}^{N-1}3\delta(n)e^{\frac{j2\Pi kn}{N}}

    = 3\delta (0)\times e^0 = 3

    所以x(k) = 3, 0\leq k\leq N-1… 答案

    例 3

    计算 x(n) = 7\delta(n-n_0) 的 N 点 DFT

    **解**:我们知道:

    X(K) = \displaystyle\sum\limits_{n = 0}^{N-1}x(n)e^{\frac{j2\Pi kn}{N}}

    代入 x(n) 的值,

    \displaystyle\sum\limits_{n = 0}^{N-1}7\delta (n-n_0)e^{-\frac{j2\Pi kn}{N}}

    = 7e^{-j2\Pi kn_0/N}… 答案

    DSP - 快速傅里叶变换

    在早期的 DFT 方法中,我们看到计算部分太长了。我们想减少它。这可以通过 FFT 或快速傅里叶变换来实现。所以,我们可以说 FFT 无非是以算法的形式计算离散傅里叶变换,其中计算部分将减少。

    FFT 的主要优点是,通过它,我们可以设计 FIR 滤波器。从数学上讲,FFT 可以写成:

    x[K] = \displaystyle\sum\limits_{n = 0}^{N-1}x[n]W_N^{nk}

    让我们举一个例子来更好地理解它。我们考虑了从 x_0x_7 的八个点。我们将偶数项放在一组,奇数项放在另一组。上述内容的图表如下所示:

    Fast Fourier Transform

    这里,点 x0、x2、x4 和 x6 被归为一类,同样,点 x1、x3、x5 和 x7 被归为另一类。现在,我们可以进一步将它们分成两组,并继续进行计算。现在,让我们看看这些进一步分成两组如何帮助计算。

    x[k] = \displaystyle\sum\limits_{r = 0}^{\frac{N}{2}-1}x[2r]W_N^{2rk}+\displaystyle\sum\limits_{r = 0}^{\frac{N}{2}-1}x[2r+1]W_N^{(2r+1)k}

    = \sum_{r = 0}^{\frac{N}{2}-1}x[2r]W_{N/2}^{rk}+\sum_{r = 0}^{\frac{N}{2}-1}x[2r+1]W_{N/2}^{rk}\times W_N^k

    = G[k]+H[k]\times W_N^k

    最初,我们采用了一个八点序列,但后来将其分成两部分 G[k] 和 H[k]。G[k] 代表偶数部分,而 H[k] 代表奇数部分。如果我们想通过图表来实现它,那么它可以显示如下:

    Eight Point H[k]G[k]1 Eight Point H[k]G[k]2

    从上图可以看出

    W_8^4 = -1

    W_8^5 = -W_8^1

    W_8^6 = -W_8^2

    W_8^7 = -W_8^3

    同样,最终值可以写成:

    G[0]+H[0] = x[0]

    G[1]+W_8^1H[1] = x[1]

    G[2]+W_8^2H[2] = x[2]

    G[3]+W_8^3H[3] = x[3]

    以上是一个周期性序列。该系统的缺点是 K 不能分解到 4 点以下。现在让我们进一步分解上述内容。我们将得到类似这样的结构

    Structures

    例子

    考虑序列 x[n]={ 2,1,-1,-3,0,1,2,1}。计算 FFT。

    **解**:给定序列为 x[n]={ 2,1,-1,-3,0,1,2,1}

    按如下所示排列各项;

    FFT Sequence

    DSP - 原地计算

    这种高效的内存使用对于设计用于计算 FFT 的快速硬件非常重要。术语“就地计算”用于描述这种内存使用。

    按时间抽取序列

    在这种结构中,我们将所有点表示为二进制格式,即 0 和 1。然后,我们反转这些结构。我们之后得到的序列称为位反转序列。这也被称为按时间抽取序列。八点 DFT 的就地计算以表格格式显示如下:

    二进制格式 反转 等效点
    0 000 000 0
    1 001 100 4
    2 010 010 2
    3 011 110 6
    4 100 001 1
    5 101 101 5
    6 110 011 3
    7 111 111 7
    Decimation in Time Sequence

    按频率抽取序列

    除了时间序列之外,N 点序列也可以用频率表示。让我们以一个四点序列为例来更好地理解它。

    设序列为 x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7]。最初,我们将两个点组合成一组。从数学上讲,这个序列可以写成:

    x[k] = \sum_{n = 0}^{N-1}x[n]W_N^{nk}

    现在让我们将序列号 0 到 3 组成一组,将序列 4 到 7 组成另一组。现在,从数学上可以表示为:

    \displaystyle\sum\limits_{n = 0}^{\frac{N}{2}-1}x[n]W_N^{nk}+\displaystyle\sum\limits_{n = N/2}^{N-1}x[n]W_N^{nk}

    令 r 代替 n,其中 r = 0, 1, 2….(N/2-1)。数学表达式为:

    \displaystyle\sum\limits_{n = 0}^{\frac{N}{2}-1}x[r]W_{N/2}^{nr}

    我们首先取前四个点 (x[0], x[1], x[2], x[3]),并尝试用以下数学表达式表示它们:

    \sum_{n = 0}^3x[n]W_8^{nk}+\sum_{n = 0}^3x[n+4]W_8^{(n+4)k}

    = \lbrace \sum_{n = 0}^3x[n]+\sum_{n = 0}^3x[n+4]W_8^{4k}\rbrace \times W_8^{nk}

    现在 X[0] = \sum_{n = 0}^3(X[n]+X[n+4])

    X[1] = \sum_{n = 0}^3(X[n]+X[n+4])W_8^{nk}

    = [X[0]-X[4]+(X[1]-X[5])W_8^1+(X[2]-X[6])W_8^2+(X[3]-X[7])W_8^3

    我们可以进一步将其分解为两个部分,这意味着我们可以将其分解为2点序列,而不是4点序列。

    DSP - 计算机辅助设计

    FIR滤波器在计算机辅助滤波器设计中非常有用。让我们来看一个例子,看看它是如何工作的。下面是所需滤波器的图形。

    Computer Aided Design

    在计算机设计中,我们将整个连续图形分解成离散值。在一定的范围内,我们将其分成64、256或512(等等)个具有离散幅度的部分。

    在上面的例子中,我们取-π到+π之间的范围。我们将其分成256个部分。这些点可以表示为H(0), H(1),….直到H(256)。在这里,我们应用IDFT算法,这将给出线性相位特性。

    有时,我们可能对某种特定阶数的滤波器感兴趣。假设我们想通过9阶滤波器实现上述设计。因此,我们取滤波器值为h0, h1, h2….h9。数学表达式如下所示

    H(e^{j\omega}) = h_0+h_1e^{-j\omega}+h_2e^{-2j\omega}+.....+h_9e^{-9j\omega}

    在存在大量不连续点的地方,我们取最大点数。

    例如,在上图中,点B和C之间存在斜率的突然下降。因此,我们试图在此点取更多离散值,但在点C和D之间存在恒定斜率。在那里,我们取较少的离散值。

    为了设计上述滤波器,我们进行如下最小化过程:

    H(e^{j\omega1}) = h_0+h_1e^{-j\omega1}+h_2e^{-2j\omega1}+.....+h_9e^{-9j\omega1}

    H(e^{j\omega2}) = h_0+h_1e^{-j\omega2}+h_2e^{-2j\omega2}+.....+h_9e^{-9j\omega2}

    以此类推,

    (e^{j\omega1000}) = h_0+h_1e^{-j\omega1000}+h_2e^{-2j\omega1000}+.....+h_9e^{-9j\omega1000}

    将上述方程表示为矩阵形式,我们有:

    \begin{bmatrix}H(e^{j\omega_1})\\.\\.\\H(e^{j\omega_{1000}}) \end{bmatrix} = \begin{bmatrix}e^{-j\omega_1} & ... & e^{-j9\omega_1} \\. & & . \\. & & . \\e^{-j\omega_{1000}} &... & e^{-j9\omega_{1000}} \end{bmatrix}\begin{bmatrix}h_0\\.\\.\\h_9\end{bmatrix}

    令1000×1矩阵为B,1000×9矩阵为A,9×1矩阵为\hat{h}

    因此,为了求解上述矩阵,我们将写成

    \hat{h} = [A^TA]^{-1}A^{T}B

    = [A^{*T}A]^{-1}A^{*T}B

    其中A*表示矩阵A的共轭转置。

    广告