date
icon
password
博客链接
Pin
Pin
Hide-in-Web
Hide-in-Web
网址
type
slug
tags
category
bottom
bottom
Hide-in-Config
Hide-in-Config
comment
status
summary
🎉欢迎大家来到我的博客!!🎉
此页面是我学习数字信号处理的个人笔记(DSP 绩点 4.0),分享出来不仅方便自己复习,也能够帮助到大家复习和知识检索。【本篇笔记有潘老师网课课程笔记以及陈后金老师的课程笔记,但后者当时并没怎么学好,质量不会太高】
对于潘老师网课部分的课程笔记,可以理解为是以潘老师网课及课件为基础,以南理工考察点为补充的一个笔记(南理工的 DSP 考试会比较难,只学潘老师课程不可能够)。在这个笔记中,不仅更正了不少潘老师课件中的错漏之处,而且补充了很多理论的推导,也扩展了很多知识点,能够帮助大家更好地理解。当然,本人才疏学浅,因此笔记中不免也会有疏漏之处,欢迎大家积极指正!!
建议南理工的友友们在学完潘老师的课程后认真阅读 ppt,这样考试才不容易出问题。
最后希望我的笔记能够对大家预习和复习有帮助,预祝大家取得圆满的成绩!!
P.S. 请大家尽量用电脑来进行查看,会有最好的显示效果。
(潘老师)课程笔记
课程链接: 跳转链接
笔记中的截图部分来自潘老师的课件,部分为个人制作,引用的其他内容均注明了来处,对于课件中存在的错误,部分直接在课件图片中进行了更正,部分在课件图片下方指明,笔记中的课件图片里所有绿色部分的标注是我写的,因此可能存在错漏欢迎指正!!
课程资源
在原课件中,虽然每个课件的 pdf 页数并不多,但很多文件的大小却都有几十 MB,所有课件加起来有几百 MB,为了方便下载和存储,对课件进行了 pdf 的内存优化,内容不变,但是占用的内存更小。
南理电光 DSP 期末试卷
DSP 试卷管的特别的严,每张试卷都需要写上姓名和学号,因此能买到的试卷都比较早,近几年的试卷比较少。
预备知识
傅里叶变换的分解

三角函数和差化积公式

Sa 函数的正逆傅里叶变换

时域离散信号和时域离散系统(第一章)
📝 Class Notes
前面很多内容都比较简单,只看 ppt 就已经可以理解了,部分较难的地方会附上说明。
离散信号的表示方法
一共有三种表示方法。



常见的离散信号及特性





正弦信号与正弦序列的对比(为什么数字角频率是以 2π 为周期的呢?)

要注意,模拟角频率的单位是弧度/秒,数字角频率的单位是弧度,因此数字频率不能通过 转换为赫兹。

从图中可以看到,模拟角频率与数字角频率之间可以通过采样周期进行转换,进一步化简数字角频率的公式,可以得到 ,由于公式中频率的量纲相互抵消了,因此数字角频率就是以弧度为单位的,数字角频率本质上是角度,既然是角度,那么只需要 是 2π 的整数倍就可以使正弦信号余弦信号周期往复了(连续的情况下需要 ,t 是连续的),而 n 只能取整数,因此对于离散的数字角频率而言,它的周期就是 2π。


复指数序列的特性

离散系统
时域离散系统的运算

上图介绍了离散系统的简单运算,离散系统比较重要的一个运算就是卷积运算了, 是输出响应, 是输入响应, 是在系统输入单位脉冲函数 时的输出响应,是系统函数。对于线性时不变系统而言,输入响应可以分解成无数个单位脉冲函数与函数相乘后相加的形式,因此在这样的系统下,才有 ,具体的原因可以跳转到【这个页面的相应位置】查看。
线性系统

线性系统的特性可以通过下面这张图来理解:

例题 1:

例题 2:

总结: 证明一个系统是否是一个线性系统都可以采用上述的 “两变换一对比” 的方法进行,即先将 和 的表达式变换出来,然后将它们的和与 进行对比。
这里的线性系统和非线性系统与 『通信电子线路』 这门课中学到的并不一样,在通信电子线路这门课中我们知道,非线性系统最大的特点其实输入信号在输出后产生了新的频率分量;而在线性系统中,输入信号的频率为多少,输出信号的频率就是多少。比如 这个系统,当输入为 时,输入只有一个频率分量 ,可是输出的 却为 ,即输出的频率为 ,因此它是非线性系统。
但数字信号处理中,非线性系统是不满足齐次性和可加性的系统。
常见的线性系统

时不变系统

上面时不变系统和时变系统的定义很像是《数字逻辑电路》这门课中的组合逻辑和时序逻辑的定义。
组合逻辑是特定的输入会产生特定的输出,输出不随时间发生变化→时不变系统;
而时序逻辑是相同的输入会产生不同的输出,输出随时间发生变化→时变系统。
例题 3:

在上面的例题中,虽然这个系统是时不变系统,但聪明的你一定发现了这个系统也是非线性系统,因为它有偏置 b 存在。
例题 4:

上面的系统是时变系统但却是线性系统。
常见的时不变系统

部分时变系统的证明:

时域离散系统(卷积及卷积和)

求序列卷积和的公式:

在计算序列的卷积和的时候,可以看到公式中求和的过程序列 是需要翻转的,这个如何理解呢?潘老师打了个比方,在向系统输入一个信号的时候,如果直接将 输入系统,那么是后输入的信号先进行了转换(如先转换了 ,再转换 , 落后于 ),将序列进行翻转后,就是先输入的信号先进行转换。
序列卷积和的计算有多种方法,如图解法、不进位乘法、列表法等等,一般不会采用图解法进行计算。关于不进位乘法、列表法的计算方法可以参考 👉🏾卷积的计算方法 👈🏾
例题:

序列卷积的运算法则:
交换律 结合律 

分配律

对于结合律中的框图,可以通过下面的方式来理解:

因为 h(t) 的定义就是在输入单位脉冲函数 时候输出响应的大小。

单位脉冲序列的卷积和特性
因为这个特性还蛮重要的,因此单独提出来写一下。

上图的意思就是说,任何序列(函数)与单位脉冲函数的卷积都是序列(函数)本身,单位脉冲序列进行位移后与序列(函数)卷积相当于直接对序列(函数)进行相等的位移。
因此,如果我们想要对某个函数进行平移操作,我们可以通过将该函数与单位脉冲序列卷积来实现。
例题:

上面的例题实际上用到了卷积的两个性质:
① 第一个是 ,可以把所有的位移都移到一个函数中,f(k) 和 g(k) 可以是相同的函数。【有关卷积的更多性质可以参考 信号与系统-卷积性质】
② 第二个是离散序列的 。【常用的卷积序列可以参考 信号与系统-常用卷积】
因果性和稳定性
因果性:

因果性指的是系统的输出不发生在输入之前(有因才有果顾名因果),可以通过上图例子来进行理解,上图中,当 n 取 0 时,如果使用红线部分的式子, y(0) = ax(1) + b ,这种情况下系统的输出是在 n = 0 时产生的,而系统的输入是在 n = 1 时发生的,输出明显在输入之前,因此由该式子表示的系统是非因果的。
满足系统因果性的初始值(即 n < 0 时,h(n) = 0)在英文中称为是 intial rest,有时翻译为“初始松弛条件”。
初始松弛条件与系统的因果性之间是充要条件,满足初始松弛条件的系统是因果系统,因果系统肯定满足初始松弛条件。
简单例题测验:

在图中的第三个例题,如果式子是 ,那么系统就不是因果系统,因为如果 ,那么 ,输出在输入之前。
稳定性:



稳定要求的是 n 需要趋近于无穷大才行,如果像上图一样 n → 3,虽然它是可和的,但是它依然不是稳定的。
简单例题:

如果要判断系统是否是稳定的系统,需要从两个方面入手:
① 判断系统是否是线性时不变的,(线性和时不变的判断方法前面已经介绍过了),如果是线性时不变的系统,则通过单位脉冲响应是否绝对可和判断系统的稳定性;
② 若系统并非是稳定系统,则通过判断系统有界的输入是否能够产生有界的输出来判断系统的稳定性。
带有指数的方程的稳定性判断:



常系数差分方程
差分方程的延时:

D 延时是离散系统系统框图的一个重要组成部分,有关系统框图的更多内容可以进入 『信号与系统笔记』进行查看。
差分方程的阶数:

一阶差分方程就相当于有一个延时单元 D,二阶就有两个。
常系数差分方程的求解:
在数字信号处理中,常用的差分方程求解方法有递推法和 z 变换法(后面的部分会介绍)。
例题一:


递推法可以通过上面的例题来理解,上面这个例题可能有点绕,来简单说一下 这个式子,可以通过下面的图像来解释:

例题二:

模拟信号的数字化

在数电中,我们学过,一段模拟信号需要先经过抗混叠滤波器得到采样保持电路,然后再经过 A/D 转换器转换为数字(离散)信号,离散信号在经过种种分析处理后可以通过采样保持电路和 D/A 转换器又恢复出原始信号。
模拟信号 → 离散信号:




传统模型采用的是输入信号与冲激序列相乘得到离散序列,而新模型采用的是数字逻辑电路中的 A/D 转换器来进行离散序列的采样。

上图中最终得出的公式 实际上就是一个卷积公式,因此在时域,对信号进行采样可以通过卷积 。


在上图中, 表示的是信号频率, 表示的是采样频率,当信号频率与采样频率的比值大于 1 且为整数时,信号是有周期的;当信号频率与采样频率的比值是无理数的时候,信号是没有周期的。
奈奎斯特采样定律回顾:

如图所示,对信号在时域进行采样相当于在频域进行频谱搬移,只有当采样的频率是信号频率的两倍的时候,平移后的频谱才不会发生混叠,可以通过低通滤波器还原信号。
离散信号 → 模拟信号:


在将数字(离散)信号转换为模拟连续信号的时候,首先要让信号通过零阶保持器生成柱方图状的波形,然后再经过 D/A 转换器。如果离散信号有很多高频分量,也需要先让离散信号通过一个低通滤波器得到低频有用信号,然后再通过零阶保持器和 D/A 转换器。
因此模拟信号转换为离散信号再转换为模拟信号的过程中需要通过两次低通滤波器。

离散信号的分析(第二章)
📝 Class Notes
对于这部分的知识,首先要树立这样的一个概念,信号时域采样会产生频域信号的周期延拓(周期性搬移),而信号的频域采样会产生时域信号的周期延拓(周期性搬移)。
DTFT 实现了前者,即时域采样,因此时域是离散、非周期的(假设采样前的信号是非周期的),频域是连续、周期的(因为采样前信号频谱就是连续的,采样后只是增加了周期性);DFS 是在 DTFT 的基础上实现了后者,即频域采样,因此频域变为离散、周期的(周期性成立的前提是采样频率是有理数,像 这样的周期就没办法采样得到),而时域信号变为离散、周期的(增加了周期性)。
DFT 是在 DFS 的基础上将时域和频域信号的一个周期(主值序列)取出来研究,因此它的时域和频域都是非周期且离散的。明白了上述这些点,这一章就会比较容易看懂了。
DTFT 的定义
连续信号经过冲激函数采样后, .



上面的红框部分就是离散信号的傅里叶变换的定义。要注意, 表示的是模拟角频率, 表示的是数字角频率。
【补充】IDTFT 的定义

常见的 DTFT
- 的傅里叶变换;

- 指数序列的傅里叶变换;

DTFT 的性质
- 周期性;

- 线性性质;

- 时移和频移性质;

一个简单的例题


上图采用的是公式法求解 x(n) 的傅里叶变换,也可以采用等比数列的方法来求解,具体过程如下:

- 卷积特性

- 帕斯瓦尔定理;

由于 DTFT 是周期信号,周期为 2π,因此频域只需要取 -π~π 范围内的值即可。
一个简单的例题

离散傅里叶变换(DFT)的性质
复数部分内容的回顾

上图说明了复数的两种表示方法:实部虚部表示法和指数表示法。
指数表示法利用了欧拉公式 这个式子,指数表示的式子本质上是极坐标表示,因此可以通过模和相角的形式在上图画出来。

⭐ 例题(重要)
理解下面的例题有助于后面共轭对称性的理解

上图中, 。
在上图所示的过程中,原式 ,只会使得 ,要将原式中 n 的变化与傅里叶变换式子中 里的 n 的变换分开。由于 DTFT 的固定形式就是 ,后面的 与原式中的 x(n) 是没有关系的,因此原式中 n 取负,只要将 即可。
由于在求和项中 都是由 到 ,因此可以将 -n 视作为 n,于是 。


x[n] 的共轭对称性
复数共轭的表现如下图所示:

指数的共轭就是在相角的前面加上一个负号“-”,因为 、 。

上面的四个关系很重要,在前面的例题中已经有过相关的推导,下面将利用上述四个关系得出共轭对称性(PPT 中这个部分个人觉得特别乱,因此整理了一下):
x[n] 为复序列的时候


简单说一下共轭对称序列和共轭反对称序列的特性:
共轭对称序列具有“实部偶对称,虚部奇对称”的特性,简称“实偶虚奇”;
共轭反对称序列具有“实部奇对称,虚部偶对称”的特性,简称“实奇虚偶”。
原因
共轭对称序列有 。
对于实部而言, ,相当于取偶分量;
对于虚部而言,有 ,相当于取奇分量。
x[n] 为实序列的时候

x[n] 为实序列时的重要结论

周期序列的傅里叶变换
一般使用在函数名上加波浪号的方式来表示周期序列。

主值序列指的是将周期序列中的一个完整子序列取出来组成的序列,主值序列能够反映周期序列的特性,同时也方便在计算机中进行存储。

傅里叶变换的对称性可以通过下图来理解:

例子——利用对称性得出的傅里叶变换对:


上图中,由于 1 是在离散时域中的,所以用无数个单位脉冲函数相加来表示,根据前面傅里叶变换对称性的图示,我们可以得到下面的过程:

对 δ(n) 和 δ(n-n₀) 采用傅里叶的对称性,即可得到上图右边的傅里叶变换对。
【补充】DFT 频谱分析
DFT 分析频谱的框图

DFT 进行频谱分析时应注意的几个问题
频谱混叠(解决方法:采样前使用抗混叠滤波器对信号进行滤波)。

频谱泄漏 | 频谱展宽


栅栏效应

图中的红字部分可能需要看完后面“频率分辨率”部分的内容才能够理解。
频率分辨率

图中计算频率分辨率时 N 指的是有效长度,因为 N 是实际采样的点数,补零的点并非是从原来的频谱上采样得到的,因此不用作计算数据有效长度。
z 变换
z 变换的定义

序列的 z 变换
例题一:

在 δ ↔ 1 的公式中,从左侧到右侧的变换称为是 z 变换,右侧到左侧的过程称为是 z 逆变换。
例题二:

在上图中,最终的结果利用了求和公式得出,求和公式原来为 的形式,分子中 之所以能够忽略,是因为 ,因此它的 n 次方趋近于 0。因此,收敛域的确定实际上是为了让等比数列的公比可以小于 q,最终得到一个绝对可和的表达式,本例中,如果 ,那么分子的值就会随着 n 的增大而增大,最终无法收敛。
这里也得出了 z 变换的稳定的条件,稳定的系统,z 变换后的式子的收敛域应该是包含单位圆的,也就是说, 满足 的条件。
例题三:

在上面的例题中,我们可以看到,最终的表达式形式和例题二的是一致的,但是他们的收敛域不同,因此属于是不同的 z 变换。
因此,z 变换的结果必须要是 “表达式+收敛域” 的形式,这样才能唯一的确定一个 z 变换(在考试中每当要写出 z 变换的结果也一定要注明收敛域)。
例题四:

收敛域
我们
通常收敛域根据序列的不同有以下的特点:
① 有限序列的收敛域是 (0, +∞)(因为有限长序列都是绝对可和的);
② 右边序列(如 u(n))的收敛域是 ;
③ 左边序列(如 u(-n-1))的收敛域是 .


常用序列的 z 变换
需要牢记。

倒数第二个公式的证明:

最后一个公式的证明:

z 域微分的性质比较重要,在后面【补充】部分会有证明。
【补充】z 变换的性质(来源于“信号与系统(郭宝龙)”课程)
线性性质

移位性质(差分,相当于时域微分)

单边 z 变换的记忆方法:

反转性质

尺度性质(z 域微分)


尺度性质证明:

例题 1:

例题 2:
题目:

求解过程:

时域尺度变换
卷积性质

关于 z 变换的更多内容可以进入我的『信号与系统笔记』查看。
z 逆变换

如图所示,z 变换有三种方法(定义法一般不用),接下来针对每种方法对 z 的逆变换进行求解。
观察法
接下来通过几个例题来说明观察法的解题。
例题一:


例题一直接代入公式求解即可,对于 z 变换的公式需要比较熟悉,前面已经介绍过了,忘记的同学可以点击折叠框查看。
z 变换常用公式和性质
常用公式:

常用性质:




将 当作是常数。 





线性性质

移位性质(差分,相当于时域微分)

单边 z 变换的记忆方法:

反转性质

尺度性质(z 域微分)


尺度性质证明:

例题 1:

例题 2:
题目:

求解过程:

时域尺度变换
↔
卷积性质

例题二:
题目在例题一的图片里面。

例题三(因果序列形式):


在对 z 变换后的式子进行裂项的时候,如果怕最后化简的结果里面分子没有 z,进而导致 z 的逆变换无法进行,可以在裂项前先将分子上的一个 z 除到等式的左边,等裂项结束后再将 z 乘到等式右侧。如下图所示:

例题三(反因果序列形式):

图像来源于“信号与系统(郭宝龙)”的课程课件。 
图像来源于“信号与系统(郭宝龙)”的课程。

例题三和例题四的不同在于收敛域是不一样的,要记住,因果序列的收敛域是 ,反因果序列的收敛域是 。
👉🏾收敛域忘记了的友友点这里👈🏾
通常收敛域根据序列的不同有以下的特点:
① 有限序列的收敛域是 (0, +∞)(因为有限长序列都是绝对可和的);
② 右边序列(如 u(n))的收敛域是 ;
③ 左边序列(如 u(-n-1))的收敛域是 .


例题三(环形区域形式):

要根据收敛域来判断序列是因果序列还是反因果序列(或者叫左边序列和右边序列)。
例题四:
图像来源于“信号与系统(郭宝龙)”的课程课件。 

要做例题四,首先需要对 z 变换的移位性质比较熟悉。
z 变换的移位性质



图中最后两步的变换过程利用了公式 。
例题五:


将 当作是常数。图像来源于“信号与系统(郭宝龙)”的课程课件。

是通过 z 域微分性质推导出来的, 公式是通过尺度性质推导出来的。

尺度性质

例题六:



老师在 ppt 上的求解过程:

上面的求解过程看起来可能会有点迷,如果上面的过程没有看懂,可以通过下面的求解过程来理解:

留数法
在分式的分子为 z 的幂次以及分母都是单极点的时候运算比较简单,如果分子是复杂的多项式或是分母有重极点,使用起来就会比较复杂,建议使用后面的部分分式展开法。


留数法的回顾
在复变函数中,留数(Residue)可以看作是函数在某个奇点(或极点)附近的“本地信息”。奇点是指函数在某个点不再解析的地方,例如分母为零的点。留数法的基本思想是,通过分析函数在这些奇点处的行为来求解整个围道上的积分。
根据留数定理,如果一个复变函数 f(z) 在闭合曲线 C 内解析,除了有限个孤立的奇点 外,则沿着闭合曲线的积分可以用这些奇点的留数之和来表示:
这里 表示函数 f(z) 在奇点 处的留数。求留数时产生的 2πi 刚好可以和 z 反变换前面的分式分母中的 2πi 相消。得到下面的式子:
的求解方法如下:
也就是说,要求哪个极点下的留数,就需要先在 的式子前面乘上(z - 该极点),目的是消去分母中该极点的存在。

运用留数法求解 z 反变换的时候,需要先将分子转换为 的形式,便于计算出极点。
例题一


注意在求 的时候,分子处要乘上 。
例题二

由于这个例题中的分子不能直接和 相消一部分,使得在 n = 0 时,分母会多出一个极点,因此需要分两种情况讨论。



在上面的式子中,如果从数学的角度上来说,第一个 x(n) 的式子就已经可以满足要求了,但是从数字信号处理的角度来说,我们习惯将信号序列都变换为从零开始的,因此最好将 。在图中就是将 拆为图中绿色部分的内容合并到括号内。
部分分式展开法
这个部分的内容我觉得潘老师讲的并不是很细,虽然部分分式展开法在信号与系统中已经学习过一次了,但是时间过了这么久也容易忘,更多有关信号与系统的内容可以参考我的 『信号与系统笔记』,在下面我会贴上信号与系统中部分分式展开法的相关内容。
部分分式展开法主要分为三种类型的展开:
① 单实极点的展开;
② 重极点的展开;
③ 共轭极点的展开。
潘老师的 ppt 讲解(内容简略)
部分分式展开法的步骤就是将复杂分式先拆成最简分式相加减的形式,然后再利用 z 反变换的常用公式计算得出 x(n)。
主要利用的公式就是 。

上面有两个注意点:
- 在将复杂分式拆成最简分式相加减形式的时候,需要先在左右两边同除以一个 z,保证最终转换的结果中分子中会有 z 的存在,进而能够进行 z 反变换;
- 左边序列和右边序列在进行 z 反变换的时候,结果是不同的。右边序列最终是 的形式,而左边序列最终是 的形式。

要计算哪个最简分式的系数 ,就需要乘以对应分式的极点 ,再令分式中 z 的值为 得到系数的值。
下面重极点和共轭复数极点的内容可以看我后面贴上的信号与系统中部分分式展开法的内容,会有更详细的介绍,潘老师估计觉得后面两个考的概率不大,就没有介绍的很详细。




信号与系统中的部分分式展开法(详细)
单实极点

要记住,计算 的时候, 的值应该要代入 的(展开前的)分式中,不能代入展开后的分式中进行计算。
部分分式展开的时候,需要提前在等式两侧都除以一个 z,提前除以 z 的目的在于部分分式展开后,保证展开后分式的分子一定会有 z 存在(展开后两边再同乘以 z 即可)。 在上述的展开过程中,每个分式的系数 K 都可以通过公式计算出来,这样不仅速度更快,也更不容易出错。

图中 其实就是单位阶跃函数 ,这两种写法是一样的。
例题一

例题二

上述分式展开式时,系数 K 的计算过程如下图所示:

重极点
重极点相对于单极点会比较复杂,但考试一般也不会考这么难的(说是这么说,但我们信号与系统期末的最后一道题倒也罕见的除了这种类型的题),这部分对 的逆变换需要比较熟悉。

一般只需要记住 r 为 2 和 3 时候逆变换的值即可。

例题

共轭单极点

例题


解差分方程
想要使用 z 变换法求解差分方程,首先要对 z 变换的移位性质比较熟悉。
移位性质(差分,相当于时域微分)

单边 z 变换的记忆方法:

求差分方程的 y(n) 表达式


例题
下面的例题老师是使用留数法进行求解的,但是我个人还是比较推荐使用部分分式展开法,描述这个方法的公式虽然比较复杂,但是其实用个一两次就会比较熟悉了,而且这个方法对大多数题型是通用的。


求系统函数 h(n) 表达式

例题(求 y(n) 和 h(n))



如果对图中为什么零状态响应会等于 有问题,可以参考信号与系统中的推导过程。
推导过程( 的公式/卷积和的公式)
序列的时域分解

卷积和公式的推导
零状态响应计算公式。

由于任何函数都可以表示为 的形式(序列的时域分解),将图中的每个 都看作是一个常数,那么就可以得到零状态响应的表达式。

第二种求 y(n) 的方法——部分分式展开法:

系统函数的两种形式及频率响应函数
系统函数为 H(z) 的形式(z 变换)时,能够很容易看出零极点的值并画出分布;系统函数为 的形式(傅里叶变换)时,能快速看出系统函数的幅值、相位与频率之间的关系,即幅频响应和相频相应。
离散系统进行 z 变换的计算过程比较容易,而进行傅里叶变换的过程却比较复杂,因此为了得到幅频响应和相频响应的关系,常先将离散的时域信号通过 z 变换转换为频域信号,再通过 H(z) → 的过程得到幅频图与相频图。
前面的课程已经学习了 H(z) 的变换,下面的内容就是学习 H(z) → 的变换过程。

要注意一个是 h(n) 的傅里叶变换,一个是 h(n) 的 z 变换,前者通常比较困难,后者转换会相对容易一些。

图中 H(z) → 的过程只需要将 z 替换为 就可以了。
在工程上,由于种种物理条件的限制,系统函数的三种形式 h(n) 、H(z) 和 是可以相互转换的,但在数学的严格推导中,并不是一直成立的。
例题 0

忘记了的同学

最后的化简利用了欧拉公式 ,欧拉公式的正弦余弦形式为:
上图的最终结果好像有些问题,我计算出来是:
为什么要将系统函数从 z 变换的形式 H(z) 转换为傅里叶变换的形式 ?

可以轻松表示成模和相角的形式,这通常有利于我们分析问题,而 z 变换可以帮助我们判断系统的稳定性,他们各有所长。
例题 1

例题 2



由例题 2 可以得出结论,当系统输入的是一个复指数信号的时候,输出的信号与输入的信号只发生了幅值和相位上的变化,也就是说,只要我们知道了系统函数的幅值和系统函数的相位,那么在输入特定频率的信号时,根据画出的幅频响应图和相频响应图(在后面的部分会介绍),我们就可以得到特定频率下的系统函数的幅值和相位,并直接写出输出响应的表达式。因为输出响应与输入响应只有幅值和相位上的变化。具体公式如下图所示:


当系统输入正余弦信号时,本质上与输入复指数信号是一样的,因为正余弦函数都可以通过复指数信号来表示:

例题 3

例题 4

图中这个部分写的其实不是特别的清楚,图中只计算了 的模值,而没有计算它的相角,就直接得出了它的相角为 0,这可能容易让人不理解。
其实,在计算时,直接写成下面的形式会更加明白:
在上面的式子中,是直接将模和相角当成一个整体一起进行计算的,最终得到的结果中,幅值为 ,相角为 0.
课后习题
题目:

求解过程:

个人觉得上面的绿框部分写错了,代入 n = 1,2,3… 后值并不恒为 1,正确的过程应该如下:

系统零极点分布与频率响应图的绘制

系统函数都可以拆分为图中零极点相乘的形式,其中,能够使分子为零的点称为是零点,能够使分母为零的点称为是极点。
零极点图是将系统函数的零点和极点都表示在坐标系中的图,零点在零极点图中使用实心圆点表示,极点在零极点图中用“x”表示。
通过零极点图,我们可以迅速判断一个系统是否是稳定的,一个系统的频率响应具有什么样的特点,在 z 取何值时具有最大值或最小值。

当我们有系统函数 H(z) 的表达式的时候,我们可以将其分子分母化简为图中 的形式,这种形式意味着“求单位圆上的点与 点的距离”。为什么是这样呢?
我们知道,在复平面中, ,当 时, ;当 时,;当 时,;当 时, ;当 时, .换句话说, 相当于是一个模长为 1 的单位圆,因为 .当 与 相乘时,单位圆的半径就从 1 变为了 。于是 的值就是两个单位圆上的点的距离,也就是 1 到 点 的距离。
当 为正实数时,点 就在横轴上,在后面的例题中, 多为正实数,计算起来较为简单(如果 为复数,那么就以实部为横坐标,虚部为纵坐标)。
极点的计算与零点是一样的。当将 z 从 0 ~ 2π 的值都取一遍,计算出 的值后,将 z 替换为 就得到 的值了。

为什么上面一个是积,一个是和呢?以 为例,它可以表示为 ,指数相乘相当于是相加,幅度相乘就是相乘。
示例:

零极点分布中可以得出的性质:

零点位置对系统稳定性没有影响,极点在单位圆内部时系统是稳定的,只要有一个极点在单位圆外,那么系统就是不稳定的。
例题一:




系统函数的幅频响应曲线中,频率的变化就是由输入信号的频率确定的,这也是为什么我们要研究系统的幅频响应曲线,通过幅频响应曲线,为了得到某个结果,我们可以很容易地确定输入信号的的频率应该是多少。
例题二:


网上没有搜到答案,我的答案如下,如有错误欢迎大家指正:

利用极点分布判断系统因果稳定性


判断一个序列是左边序列还是右边序列可以通过收敛域来进行,如果收敛域是 的形式,那么就是右边序列,否则是左边序列。

当系统函数的收敛域包含单位圆的时候,系统是稳定的,否则是不稳定的。因为系统能够稳定的边界条件就是 a 要小于 1。
下面例题 1 中的三个题目都是比较典型的例子:


从上面几个题目的结论中可以看出,一个系统是否稳定与其是否是因果系统没有关系。
因果性的判断,只要收敛域是朝外的就是因果的;稳定性的判断中,只要收敛域包含单位圆即是稳定的,收敛域由极点来确定。
‼️ 书上重要的例题:




课后练习题
题目:

求解过程:

离散傅里叶变换(第三章和第四章)
📝 Class Notes
引入

在计算机尚未普及的时候,由于傅里叶变换计算比较复杂,因此人们常使用 z 变换和拉普拉斯变换来进行运算。
但现今为了将数据在计算机中进行处理,多采用离散傅里叶变换,即将连续的自然信号采样后,对其进行 DFT 和 FFT 变换,FFT 是快速傅里叶变换,是对 DFT 的进一步扩展。而连续的傅里叶变换只具有理论研究的意义。
DFT 指的是时域离散且频域离散的傅里叶变换,离散时域信号经过 DTFT (时域离散傅里叶变换)转换为连续的频域信号后,为了将频域信号存储在计算机内部(计算机只能储存有限个点),需要对频域信号进行采样,此时就需要通过 DFT 来对采样后的信号的频域值进行计算。

傅里叶变换的规律
傅里叶变换一般具有这样的规律:
除去 DFT 以外,时域的离散和周期与频域的离散和周期之间是有着对偶关系的。
时域(或频域)的离散信号 ↔ 频域(或时域)的周期信号;时域(或频域)的非周期信号 ↔ 频域(或时域)的连续信号。
在信号与系统课程中,郭老师说, DFS 是离散傅里叶级数(暂时不需要了解什么是 DFS),它可以看作是 DFT 的周期延拓。换句话说,DFT 可以看作是从 DFS 中取一个周期来进行研究,因为周期信号的一个周期就能够反映信号的特性了,同时这也便于计算机的储存。
DFT 的时域信号和频域信号都是非周期且离散的,但是 DFS 信号的时域和频域信号都是周期且离散的。
在数字信号处理中,DFT 有一个性质是周期性,但它的周期性并不是它本身所具有的,即原来的时域信号变换后得来的,而是人为的给它加上去的,DFT 的周期性使其具有循环移位的性质,在后续的计算以及进一步推导 FFT 中具有重要的意义。
周期延拓
周期延拓表示的是将时域的信号进行周期性的拓展,方便后面进行 DFT。

如果一个信号是周期信号,那么通常将其用 来表示,但这个符号无法反映其周期的大小,因此引入新的符号 来表示周期为 N 的序列。
图中的 表示的是主值序列,也就是说是周期序列的一个周期, 表示的是矩形序列。
下面将对序列的长度 M 与周期延拓过程中使用的周期 N 进行讨论:

当序列长度 M 等于延拓周期 N 的时候:

当序列的长度 M 小于延拓的周期 N 的时候:

当序列的长度 M 大于周期延拓的周期 N 的时候,会发生序列的重叠:


注意此时仍然以周期 N 进行延拓。
依据 M 与 N 的关系,周期延拓的方式也有所不同,具体总结如下:

主值序列:

例题:
题目:

求解过程:




对 x(n) 进行周期延拓,周期延拓后各点的值都可以转换为主值序列的值,周期延拓后的 n 具体对应主值序列中的哪个点可以通过除余的方法来进行判断,除余指的是一个数除以另一个数后取结果中的余数,舍弃整数,如 5 / 3 = 1…2,则 5 % 3 = 2.

DFT 和 IDFT
两个公式的推导过程很容易理解,建议看看,有助于公式记忆及后续理论的理解与应用。
DFT 公式的来源

IDFT 公式来源

DFT 和 IDFT 的公式如下:

实际上,根据后面会介绍的频域采样定理的知识,DFT 在频域的采样值为 N 时,时域的序列长度不会超过 N,一般就为 N(同时要记住 DFT 变换的时域序列和频域序列都是非周期且离散的)。因此,上述 DFT 的公式应该写为
写成这样的形式有利于推导后续共轭对称性的结论,题目的最终结果最好也用周期延拓的形式来写。
公式中的 k 表示的是频域中的自变量,n 表示的是时域中的自变量。 DFT 是对频域信号的一个周期进行 N 点的采样的过程。
N 表示的是变换区间的长度,由于 DFT 是在频域的一个周期内进行的,因此,N 可以看作是在一个周期内采样的点数,点数不同,计算出来的 X(k) 的结果也不同,因此在进行 DFT 的时候,要说明清楚进行的是多少点的 DFT。
的含义如下图所示:

首先,预先定义了 ,这个符号又称为是旋转因子,将 2π 等分为了 N 份,2π 就是单位圆的一周(也是一个周期),因此每个点之间间隔了角度 。
例题 1

例题 2



的傅里叶变换转换为图中 的形式需要利用到两个公式,一个是 的 z 变换公式,一个是积化和差公式,具体转换过程见折叠框:
具体的推导过程
的 z 变换公式

和差化积公式


我算出来的结果中,指数部分与老师的相差一个负号,不知道为什么,如果发现有哪里错误欢迎在下方评论区指正。
在有了上述 的公式后,实际上也可以直接计算各个点的值,将 ω 的值代入即可求解。如果计算的是 4 点的 DFT ,那么相当于是 2π 被均分为了 4 份,ω 就分别为 0,π/2,π3/2,2π。将这四个值代入 中即可计算出 4 点 DFT 。


DFS 的简单介绍

图中的 表示的就是 x(n) 的 DFS,它是一个离散周期序列(时域和频域都是),而 DFT 可以看作是 DFS 的一个周期,即是 DFS 的主值序列。
DFS 和 DFT 的公式分别如下:

例题:


旋转因子 的特性


从上图中可以发现,旋转因子在单位圆的上半部分和下半部分是共轭对称的。


题目中如何判断何时采用傅里叶级数和傅里叶变换:

也就是说,看给出的时域信号是否是周期信号来判断采用何种傅里叶变换。
DFT 的性质及相关运算
假如序列的长度大于要做的 DFT 的点数,那么直接将序列截断即可。比如对 做 2 点 DFT ,直接将 截断为 {1, 1} 的序列进行计算。
DFT 的线性性质及相关运算

DFT 的线性性质的公式与过去所学的其他变换的线性是一致的,但需要注意的是,DFT 的线性还需要考虑到每个序列的长度,在对两个序列的采用线性性质时,需要取两个序列中长度最大的一个。如果序列长度不够,那么就补零。
例题:


DFT 的循环移位性质及相关运算

例题

第一小题:

第二小题:


第三小题:


时域循环移位性质:



证明过程


上述红框部分求和项的项数可以变为从零开始的原因是 是以 N 为周期的,因此 从 m 到 N-1+m 与 从 0 到 N-1 都是一个周期,求和的值是一样的。
频域的循环移位性质:

这部分课件中写的有问题,修正后的表达如下:

原 ppt 内容

每弄明白第一句是什么意思ᓚᘏᗢ 。
上图的最后一个公式写错了,频域的循环位移相当于是在时域的相移,因此相移的变量应该与时域的自变量相同。
也就是说,如果时域的自变量为 n ,那么相移就 ,x(n) 表明时域自变量就是 n。
DFT 的循环卷积定理及相关运算
在写这部分笔记时,我突然间又开始思考起有关卷积的问题?
卷积这个概念从高数开始第一次提起;在信号与系统中又被定义,用于计算输出响应;图像处理中也需要用到卷积,图像的每个像素都如果要进行增亮、变暗等操作时要通过卷积核从图像上一个个像素扫描处理;如今在数字信号处理中又被提起…
卷积真的是一个很神奇的运算,却抽象到让人不想接触,回顾过去所学的有关卷积的场合,计算响应、图像处理,卷积似乎就是一个给输入信号加上滤镜的盒子。
假如我们有一个信号,通过和系统函数卷积,我们能够得到我们想要的输出信号;假如我们有一张照片,通过卷积,我们能够对照片进行处理。
卷积就是一个信号与另一个信号相互作用的过程(移位相乘再求和),这个就是卷积的关键。而我们需要做的,就是研究这个叠加中的规律,让卷积为我们所用,也就是说,通过设计卷积的信号或者卷积核,我们要实现在未真正得到输出的情况下,输入一个信号就能够得到我们想要的输出。无论是过去的所学的输入响应与系统函数卷积,还是后面的滤波器,所做的事不过都是如此。
卷积的定义很简单,无论怎么变,万变不离其宗,都是
因为它反映了一个信号与另一个信号相互作用的本质,即相乘求和,类似于是加权求和的过程。
过去的时候我就常常在想,既然卷积是一个信号与另一个信号相互作用,为什么卷积操作不能够是下面这种形式呢?
直接将两个信号相乘不好吗,还要让一个信号先反褶,然后再相乘,这不是增加了复杂度吗🤔,但学到后面我才猛然知道,自然界中的所有信号都是因果的。信号进入一个系统中,是先从 t=0 时刻的信号开始进入,然后才是 t>0 的信号,系统中用于叠加的信号也是从 t=0 开始产生的,因此应该让先产生的信号先被处理,这就是反褶的意义所在,它是为了保证输出的因果性。
好了,言归正传,为了要理解循环卷积,我们首先需要区分清楚 什么是线性卷积,什么是循环卷积?
线性卷积和循环卷积其实在公式上是十分相像的,只不过前者的公式写成是无限求和的形式,后者写成是有限求和的形式。
连续信号线性卷积的公式如下:
离散信号线性卷积的公式如下:
循环卷积的公式如下:
线性卷积适合用于处理信号长度为无限的情况,虽然如此,但对于长度有限的信号,它同样可以表现的很好,因为有限长度的信号可以通过补零扩展为无限长度的信号。如果一个有限的离散信号是从序号 0 处(x[0] 处)开始计的,一直持续到 N,此时,线性卷积的公式为
可以看到,这个线性卷积的形式似乎与循环卷积没有什么不同,只不过是 h(n) 的序列不同而已,我们过去所接触到的卷积运算基本上都是线性卷积。
既然线性卷积可以很好的计算输出信号,那为什么还要引入循环卷积呢?
对于一个有限序列,我们可以将其看作是一个周期序列的主值序列。同样地,在 DFT 中,我们可以人为地将有限信号(包括 x(n) 和 h(n))的主值序列扩展为周期为 N 的序列,在信号成为周期序列后,它就成了无限信号。
那么你可能很快就会想到,既然是无限信号,那么直接进行线性卷积不就好了吗?别急。你应该这么想,对于一个周期的无限信号,如果你进行了线性卷积,那么结果就是无穷多项的序列,而我们之所以采用 DFT ,就是因为它的结果是有限项的,这样方便在计算机中进行储存和处理,如果有限的信号给你一整,又变成了无限的,那真的,前面啥都白做了😅 。
而你可能又会想,那么就干脆保持原来的有限项进行线性卷积就好了,这个也先别急。
因此,我们应该想的是,对于周期化后的序列,如何在卷积后依然是有限项。为了做到这一点,就引入了循环卷积。如果我们观察周期序列卷积的结果,会发现周期序列卷积后的序列依然是一个周期序列,那么也就意味着,卷积后的序列仍然可以通过主值序列来进行表示,这个主值序列的选取范围依然是从 0 开始的。
由于是周期序列,将 h(n) 反褶移动的过程,其实就相当于是在 [0, M] 的固定区间范围内序列循环移位的过程。因此,循环卷积的过程在一般情况下就与线性卷积的一致,且最终的结果是一个有限的序列。

对于一个非周期无限信号而言,当然是采用线性卷积,但是对于一个周期信号而言,我们需要做的是进行循环卷积。
现在来解答为什么不使用原来的有限项进行计算。因为 DFT 在计算机中有更加快速的算法 FFT ,能够在短时间内迅速计算出卷积的结果。
那么,循环卷积和线性卷积的结果是否就是一样的呢?
只有在特定的条件下,他们的结果才会是一样的。循环卷积与线性卷积还有一个不同在于,循环卷积是需要提前确定好点数的,比如进行 4 点卷积,或是进行 12 点卷积。
在前面提到过,循环卷积是在一个固定的区间长度 L 中进行的,这也就意味着,进行循环卷积的两个信号都需要被截取为这个固定的区间长度,最终的结果里序列的长度也会是选取的区间的长度。线性卷积的结果序列长度为 M+N-1,因为要计算 M+N-1 次,而循环卷积只需要进行 L 次。
举个例子来理解上面的叙述。比如,x(n) 的长度为 4 ,h(n) 的长度为 5, 如果进行的是 3 点的循环卷积,那么他们就都要被截取为 3 点的序列,且是从零点开始,往右取的 3 个点,最终卷积的计算结果也会是长度为 3 的序列。如果进行的是 6 点的循环卷积,那么他们的原来的长度显然不够,就需要向右补零(补零后的序列再进行周期化,而不是直接通过周期化让序列达到区间的长度),最终的结果也会是长度为 6 的序列。
总之,在进行循环卷积的时候,循环卷积的两个序列长度肯定是一样的,且都为循环卷积的点数。
如果循环卷积的点数 L > 线性卷积序列的长度 M+N-1 的话,线性卷积与循环卷积的结果就是一致的,否则,线性卷积的结果与循环卷积不同。在实际应用中,常常利用循环卷积来计算线性卷积,因为循环卷积在计算机中计算效率更高。
下面贴上课程中的 ppt 作为补充:



如上图所示,循环卷积中 的存在就是为了在循环卷积的结果中取从零开始的主值序列。
循环卷积的计算方法:

还记得前面说的吗,卷积的过程就是两个信号移位相乘再求和的过程(先移位,再相乘,再求和;再移位,再相乘,再求和…),因此可以通过
循环卷积的计算方法就是将第一个信号 原封不动的转置成列的形式,而 也要转置成列的形式写入循环卷积矩阵中,只不过每一列都是前一列循环一位后的值,通过看下面几个例题就明白了。
例题一:




通过上面例题的结果可以看出,循环卷积矩阵的每一列都相当于左边一列向下循环移位了一位,这样比较容易记忆。
考试中的实用解法:
先进行线性卷积,然后再将线性卷积的结果转换为循环卷积,emmm,过程好像与实际应用中相反🤔。

如果线性卷积后序列的长度比循环卷积要求的序列长度长:

如果线性卷积后序列的长度比循环卷积要求的序列长度短:

如果考试中提供的序列并不是从零开始的:

【补充】DFT 的帕斯瓦尔定理
对于 DFT 而言,设有一个长度为 N 的离散信号 x[n] ,其离散傅里叶变换为 X[k] 。帕斯瓦尔定理可以表示为:
其中:
- x[n] 是时域信号的第 n 个采样值。
- X[k] 是对应的离散傅里叶系数,表示信号在频域中的第 k 个分量。
复共轭的 DFT 和 DFT 的共轭对称性
DFT 和 IDFT 的公式回顾



复共轭 DFT 的规律

DFT 共轭对称性质的推导(比较容易理解,建议看看)

例题:

DFT 的共轭对称性

实序列性质共轭对称性质的推导:

例题:

频率采样定理

只有频域采样点数大于序列的长度时候,才可以将序列从频率域中恢复出来。
关于时域采样和频域采样,整体的过程其实是这样的:
首先时域和频域信号都是连续的非周期信号,当对时域进行采样(时域离散化)时,频域会周期化,也就是频域会进行周期延拓,当对频域进行采样(频域离散化)的时候,时域会发生周期延拓。
在进行时域采样时,为了避免频域的周期延拓产生重叠,于是有了奈奎斯特采样定律的约束,当时域采样周期为 时,频域的延拓周期为 ,要保证频域的延拓周期大于采样前信号在频域的最大值 ,如果是频域是单边谱(只有正半轴部分),那么 ,如果是双边谱,那么 ;
不明白为什么时域采样频域会发生延拓的请看这 👇🏾

有关周期信号傅里叶变换的更多内容参见 『 信号与系统相关内容 』。
在进行频域采样时,为了避免时域的周期延拓产生重叠,需要确保频域的采样点数 ,因为时域信号是以频域采样点数 N 为周期进行延拓的,这就是频域的采样定理。

频域采样定理的推导(感兴趣的可以看看)


例题一:

上面这一题中,X(k) 是 x(n) 经过傅里叶变换及 8 点的频率采样后得到的一个频域信号,由于 x(n) 是长度为 9 的序列,如果进行 8 点的频率采样,那么相当于是对时域信号 x(n) 进行以 8 为周期的周期延拓,现在要求 X(k) 的 8 点 IDFT 的序列,意思就是求周期延拓后的 x(n) 的 8 点主值序列。
此时问题就转换为了前面求周期延拓序列了。
FFT 算法
之前学习了那么多 DFT 其实都是在为 FFT 这尊大佛做铺垫,FFT 这个天才的算法大大地加速了离散傅里叶变换的计算速度,同时也使得卷积的计算效率大大提高,如前面提到过的图像处理、输入响应的求解等等,因为线性卷积是可以通过循环卷积计算出来的,而循环卷积是可以通过 DFT 算出来的。
时域抽取的基 2 FFT 算法
之所以称为是基 2 是因为做 FFT 变换的序列中元素的个数都是 ,以 2 为底,如果序列长度不满足要求可以通过补零实现。
要弄清楚 FFT 算法的原理,首先需要知道旋转因子的三个性质:
旋转因子的三个性质:
来源于陈后金老师的课件

FFT 的公式是基于上面的三个性质进行的, 要理解上面三个公式,只需要将 代入即可。
FFT 的几个特点:
在进一步介绍 FFT 的推导以及最终的流图之前,我们先需要知道 FFT 内部的一些特点。
这些特点在初学 FFT 时可能无法看懂,但是,当你在后面 FFT 的推导过程、计算过程中有不明白的点或是学完 FFT 再回来看时,会有更深的理解。
- 我们最初的离散序列 x[n] 都是时域的, 因此在 FFT 中,第一级都是先计算 DFT,即将时域的 x[n] 转换为频域的中间值序列(之所以是中间值是因为它不是最终的结果),后面的几级都是频域间的相互转换;
- FFT 运算每一级做的都是奇偶序列间的 2 点 DFT。在 FFT 中,是通过不断的取奇偶序列进行 2 点 DFT 来实现 4 点以及 8 点或更多点数的 DFT 运算的。
- 序列中的奇和偶是相对于位置而言的,而非看 x[n] 中 n 是奇的还是偶的。
FFT 的推导过程:
来源于陈后金老师的课件 
来源于陈后金老师的课件 
来源于陈后金老师的课件 

来源于陈后金老师的课件 


来源于陈后金老师的课件 
来源于陈后金老师的课件 



输入顺序、输出倒序 
输入倒序、输出顺序
首先,需要假定输入的序列长度 ,对于输入序列不是这个长度的序列,可以通过补 0 使序列的长度满足条件。
第一步是将 DFT 拆解为奇序列的 DFT 和偶序列的 DFT 。下面的过程看起来很复杂,其实很好懂,耐心看完就能理解。


图中 相当于是 。通过上面的方式,就将长度为 N 的 DFT 拆分为了两半。前半部分和后半部分只有奇序列系数的符号是不一样的(一个为正一个为负)。
可以通过矩阵或是蝶形图的方式来表达上面两个公式(这样显得更简洁):

矩阵主要是在能够清晰的看出公式中所蕴含的对称性,这种对称性在后面的 FFT 流图中也能看出来,是 FFT 美的一种体现。
图中的矩阵 可以理解为蝶形图中输入的两项交叉相加减的过程,矩阵与蝶形图的对应关系可以通过下图来理解:

需要注意的是,上面的式子中无论是输入还是输出都是频域的值,并没有体现时域向频域转换的过程,因此还需要加入时域序列转换为频域序列的表示,如下图所示:


上图是左图公式的推导过程,实际上就是普通的 2 点 DFT 运算。
从矩阵形式中,我们又见到了和前面矩阵形式中相同的部分 ,这其实就是 FFT 中对称性的一种体现。在后续的时域信号转换为频域信号的过程中,都是利用了上面的公式进行转换,虽然转换的过程中输入不一定是 x[0] 和 x[1] ,但实际上是一样的,要学会灵活变通。
有了上面的两组公式后,我们就可以进行 FFT 流图的绘制了,首先尝试进行简单的 4 点 FFT 的绘制。
下面绘制 FFT 流图的过程,都是按照从右往左逆推的顺序进行的,这有利于我们更清晰的了解 FFT 的架构。
下面进行 4 点 FFT 变换流图的绘制,第一步,绘制输出的 2 点 DFT 变换:

从图中可以看出,最终的结果都是通过偶序列的 DFT 、 和奇序列的 DFT 、 来表示的,这符合上图中左上角黑色的公式。
但要想要得到绿色部分的偶序列的值和橙色部分的奇序列的值就需要先通过前一步的 点的 DFT 变换,这一步的 DFT 变换其实与最后这一步的变换是相同的,要将 看作是最后结果中的 ,将 看作是最后结果中的 ,将他们都拆分为 2 点的 DFT 以得到结果。
由于在这里进行的是 4 点的 FFT 变换(N = 4),因此这里的 点 DFT 恰好就是 2 点的 DFT ,这一级其实是 FFT 变换的第一级(m=1),是将 x[n] 时域序列转换为频域序列的一级。内部的具体变换过程如下图橙线部分所示:

之所以是 x[0] 与 x[2] 进行 2 点 DFT,x[1] 与 x[3] 进行 2 点 DFT ,是因为需要先将时域序列中的偶数项和奇数项分开排列。
对哪两个输入做 2 点的 DFT 变换,那么这两个输入就分别替换下面的 x[0] 与 x[1]。

下面进行 8 点 FFT 流图的绘制:
首先也是绘制输出的 2 点 DFT:

然后对图中红框部分的 4 点 DFT 进行扩展:

上图的过程其实就是将 看作是最后结果中的 , 看作是最后结果中的 ,对奇序列值 与偶序列值 [0] 做 2 点 DFT 变换即可计算他们的值,其中奇序列值 与偶序列值 [0] 是我们假设存在的一组奇偶变量,将 看作是最后结果中的 ,其他的点也是一样。这样, ~ 以及 ~ 的值就可以通过这些中间量计算出来了。
那么这些中间量怎么求呢,他们的求解需要利用前一级的 2 点 DFT 来求,在这里前一级已经是时域分量了,因此这一级进行的是时域的 DFT 变换。
在上图中,一定不要忘记轴线上的权重值 ,这个值的选取与需要进行的 DFT 的点数有关。
在上图中最具疑惑点的地方就是这些时域输入位置了,刚开始我也没弄清,在进行了大量的搜索后,我明白了。不能被 x[n] 括号中的 n 给迷惑了。对于这些位置的排列,我们需要先将时域序列中的偶数项和奇数项先分开,看偶数项中和奇数项内部是否各自能够凑成一对(即偶数项是否刚好是两个,奇数项也刚好是两个),如果偶数项中刚好能够凑成一对,那么就是这两个进行 2 点 DFT ,如果他们不能凑成一对,就需要对它们进行位置标号,然后根据位置的奇偶再进行拆分,看是否能凑一对。如下图所示:

于是最终就是 x[0] 与 x[4] 一起进行 2 点 DFT 转换为 和 ,其他同理。
这就是上面 FFT 中输入序号那样的原因。当然,未来在进行排序的时候,并不需要像上图一样复杂的推一遍,而是有更加快速的方法,这里我介绍两种方法:
① 倒序算法;
这个方法是先将所有的输入标上位置标号(比如 x[0] 标号是 0,x[1] 标号是 1),然后将这些位置标号用二进制写出来。将二进制数中的最高有效位作为最低位,而最低有效位作为最高位,每次都在最高位加 1 ,进位进在次高来得到下一个数的序号。
比如我们要进行 8 点的 FFT,那么第一个序号为 000(这个不管几点的 FFT 都是默认的),第二个序号为 100,第三个序号为 010(最高位加 1 后次高位进 1),第四个序号为 110…
② 对称法;
本质上与倒序算法是一样的,这种方法需要先找到二进制数的中心轴,奇数个二进制数的中心轴为最中间的数,偶数个则为两边二进制数相同的点,然后(以 8 点 FFT 为例)按照 000、001、010、011、100… 的顺序从大到小写出二进制数,最后以中心轴为对称轴翻转,如下图所示:

上面介绍的均是输入倒序、输出顺序的 FFT ,当然也可以输入顺序、输出倒序,不过就是将输入的顺序调一调而已。最终转换出来的 FFT 图与前面的类似(这里以 4 点 FFT 为例):


可以看到,输入顺序、输出倒序的 FFT 是先进行 4 点的伪 DFT(之所以是伪 DFT 是因为输入的两个权重都是 ,如果是 4 点 FFT 应该一个是 一个是 ) ,然后再进行 2 点的 DFT,要注意的是权重的位置需要变化。
频域抽取的基 2 FFT 算法
频域抽取的基 2 与时域抽取的 FFT 本质上是一样的,只是推导的过程不同而已,最终也可以用相似的蝶形图来表示。
在介绍时域抽取的 FFT 算法时,我们是先将时域序列拆分为奇序列和偶序列,然后推导出时域奇偶序列的 DFT 与频域 X[k] 之间的关系;
频域抽取的 FFT 算法与时域类似,与时域不同的是频域抽取的 FFT 会先将频域序列拆分为奇项和偶项,然后推导出频域的奇项、偶项与时域序列之间的关系。
它们其实是非常类似的,下面对频域的 FFT 算法进行推导,推导的过程中仍会用到时域中旋转因子的三个性质:

首先将频域的序列进行拆分,目的是为了将频域的 X[m] 值通过频域的奇偶项 X[2m] 和 X[2m+1] 来进行表示,下面公式的推导其实不难,但很容易把人劝退,其实只要耐下心来一步一步看很容易就理解了。

在图中绿色箭头所示的变换过程中,右侧的旋转因子经历了 的过程。

经过上面的推导后,我们成功实现了我们的目的——将频域的序列拆分为奇项和偶项的形式,并通过时域序列表示出来。
为什么说 和 就是时域序列呢?不是因为它们的序列是用小写的字母 x 来表示的,而是因为 这样的形式与时域序列做 DFT 变换()的形式是一样的,因此可以将 和 都看作是时域序列,即便它们只是中间量,并非实际存在。
当我们要求频域偶序列的值,比如 , 的时候,我们需要先求出 的值;当要求频域奇序列的值,比如 和 的时候,我们需要先求出 的值。如果我们将 m = 0 时频域的值(即 和 )归为一组,那么由 和 得到 和 的过程与时域 FFT 中的 2 点 DFT 的过程类似。
这种类似的关系可以通过矩阵来快速的理解,在时域抽取的基 2 FFT 中,每个 2 点 DFT 的矩阵表示为:

而在频域抽取的基 2 FFT 中,每个 2 点的 DFT 矩阵表示为:

是不是很像,不过要注意含 W 的矩阵位置不同,这也是为什么在频域抽取的基 2 FFT 中是要先交叉加减再乘以 W,而在时域中要先乘以 W 再交叉加减。这也是将公式化为矩阵形式的好处。
4 点的 FFT 过程如下图所示:


输出端 和 的两个权重是 。蝶形图的具体推导过程不用记忆,但是最终的蝶形图的规律是需要记住的,我们只用知道根据上面的公式,可以推出上面这副美丽的蝶形图就可以了。
输入顺序、输出倒序的频域抽取 FFT 与时域抽取的 FFT 形式上一样,但权重 的位置以及权重的指数 m 不同,需要注意,可以对比着记忆。
时域抽取的基 2 FFT 输入倒序、输出顺序的蝶形图是由公式直接推导出来的,输入倒序、输出顺序的蝶形图是它的变式;
同样地,频域抽取的基 2 FFT 输入顺序、输出倒序的蝶形图是由公式直接推导出来的,输入倒序、输出顺序的蝶形图是它的变式。
可以依据上面的两个特点来记忆权重 ,只要记住了由公式直接推导出来的蝶形图的形式,它的变式也就容易记忆了。
无论是频域抽取还是时域抽取,输入如果是顺序的,那么从左往右点数就是由高到低的;输入如果是倒序的,那么点数就是由低往高的。
FFT 蝶形图分析
假设 表示第 m 级的蝶距, 表示第 m 级的蝶形组数, 表示蝶形结构的 W 因子,则在 m 不同时,蝶距和蝶形组数的数量如下:

表示的是每一级蝶形运算的数量,如图所示,在 N 确定时,每一级蝶形运算的数量是固定的,为 。
FFT 的高效性和运算量分析

如上图所示,如果计算机直接使用 DFT 进行求解,随着输入点数的增加,计算复杂度就会呈指数级增长,而如果使用 FFT ,wow,这样对比起来是不是 FFT 的计算复杂度大大降低了。
DFT 运算量分析

我们先看 DFT 的计算量 。在左图中,进行的是 4 点 DFT 的运算,可以看到加法的计算次数为 4*3 = 12 次,乘法的计算次数为 4*4 = 16 次,总共需要 28 次运算。
类似地,如果序列的长度为 N,则它的 DFT 复数乘法 和 复数加法 计算量如下:

由于每个复数加法包含两次实数加法,每个复数乘法包含四次实数乘法和两次实数加法(实部的加法和虚部的加法),因此 DFT 实数加法 和 实数乘法 的计算量为:

FFT 运算量分析
FFT 每一级的蝶形数量都是 个,一共有 级(比如 8 点 FFT 就是 级),因此 N 点 FFT 的蝶形总数为 个,由于每个蝶形包含 2 次复数加法和 1 次复数乘法,因此 FFT 的复数加法运算量为:
FFT 复数乘法的运算量为:
如果需要求实数加法个数和实数乘法个数,和 DFT 一样,每个复数加法包含 2 次实数加法,每个复数乘法包含 2 次实数加法和 4 次实数乘法。
因此, FFT 的实数加法的运算量为:
FFT 实数乘法的运算量为:
系统框图和信号流图(第五章)
📝 Class Notes
这一部分的内容之前有学过信号与系统的同学应该会比较熟悉,但我想应该有些人是没有学过的,因此在这一部分会介绍一下梅森公式。老师在视频中所讲的方法与梅森公式其实本质上是一样的,但梅森公式毕竟是一个总结性的规律,具有普适性,而且只是看起来很复杂,其实并不难,因此鼓起勇气学好梅森公式是必要的。
系统框图的介绍
实际生活中的系统都是通过一个模块一个模块构建起来的,因此使用系统框图来描述系统更加直观,我们可以将系统函数通过系统框图的方式表示出来,进而搭建出实际的电路。


上面两幅图都是对系统框图中一些常用符号的描述,左侧是数字信号处理中的框图样式,右侧是信号与系统中的框图样式,本质上是一样的。
具体如何根据系统函数画出系统框图在后面会介绍。
信号流图
在 z 域中,由于系统框图中各个部件的作用之间不是相乘就是相加,即要么乘上一个系数 a,乘上延时 , 或是更高阶的项, 要么将不同的线通过加法器求和。
因此,为了简便地描述框图的结构,引入信号流图。

信号流图与框图相比,作出的变化有两点:
- 将所有的相乘都通过线上加箭头的形式表示,系数就写在箭头上方;
- 将所有相加的项都汇集到到一个点,即将需要相加的线都交为一点。
比如一个系统函数的系统框图为下面的形式:

如果将其转换为信号流图,则可以得出下面的形式:

可以看到,所有的加法器在信号流图中都变成了一个点,所有的延时器和乘法器都变成了线上的系数。
【补充】梅森公式
梅森公式是以信号流图为基础进行运算的,但是当你对梅森公式熟悉后,其实并不一定要将系统框图都转换为信号流图进行表示,很多时候看一眼就能够看出来。
由于梅森公式是一个经验性的公式,因此会有很多符号上的表示,需要先对梅森公式中涉及到的符号有所了解,下面通过这张信号流图对概念进行解释:

结点:
上图中的每个红点都表示一个节点,如 , 。
回路 L:
梅森公式使用符号 L 来表示回路,即 Loop;回路符号 L 加下标表示不同的回路,如 , , 等等,分别表示第一个回路,第 p 个回路,第 m 个回路,具体哪个回路是回路 1 是我们自己确定的,总之每个回路都会有一个名称。回路是闭合的,一圈一圈的。
但是,需要非常注意的是,回路中的每条线箭头方向要是首尾相接的,即从一个点出发,沿着箭头方向走最终能够回到起点才能算是一个回路。 比如,我们可以定义 回路为 ;但是我们无法定义 为 回路,因为它们的箭头方向冲突了。
前向通路:
通路与回路不同,是非闭合的,从信号输入的起点(F(z))出发一直到信号输出的终点 Y(z) 为止。比如 就是一条通路。
两两不接触回路:
顾名思义,就是两个回路间没有重合的部分,不仅是线不能重合,点也是不能重合的。
举个例子,如果上图中 回路的箭头方向没有冲突,那么回路 和回路 就可以称为两两不接触回路,即便它们在 处相交。
增益():
表示的就是线上的权值,可以与前面的术语结合表示总的增益,比如回路增益,表示的就是回路中每条线上的权值相乘, 回路的增益为 ;两两不接触回路的增益就是 ;前向通路增益也是同理。
在表示增益的时候,回路增益可以直接使用回路的名称来作为该回路增益的符号,比如回路 1 的增益为 ;
前向通路的增益使用符号 表示, 则是第 i 条前向通路的增益。
特征行列式():
这个是所有概念中看起来最复杂的一个,很多人觉得梅森公式难就是因为觉得这个公式复杂,但只要细看其实很好理解。虽然叫做行列式,但我并没有看出它和线性代数中的行列式有什么关系,可能是因为推导的时候有涉及,不过这也只是一个名称而已,叫什么不重要,能用就行。
特征行列式使用符号 来表示,你不需要了解它是如何来的,只需要记住它的公式即可:
其中, 表示的就是所有回路的增益之和;
表示的就是所有两两不接触回路的增益乘积之和,这个要怎么理解呢?假设我们有三个互补相交的回路 , 和 ,那么就是 ,其实就是排列组合问题(三个中任取两个);
也是同理,是所有三三不接触回路的增益乘积之和,所谓三三不接触回路,就是取三个回路,三个回路间都不会相互接触(指的是没有线的重合),不过这个一般在题目中不会出现。
因此掌握前面两个就行,也就是说,记住公式
即可。
剩余特征行列式():
剩余特征行列式其实就是给特征行列式加上了一个条件而已,与特征行列式的计算公式本质上一致。
使用符号 表示,增加的条件是消除第 i 个前向通路,它的值为消除第 i 个前向通路后,信号流图中剩余部分的特征行列式。
以 这条前向同路为例,令它为前向通路 1,则 表示的就是消去前向通路 1 后剩余部分的特征行列式,由于去除前向通路 1 后,信号六途中没有回路存在,因此 。千万不要忘记了特征行列式中 “1” 的存在。
理解完上面几个概念后就可以介绍梅森公式了,梅森公式很简洁,写为
下面以一道例题来熟悉梅森公式的应用:

可以看到,图中共有 3 个回路,其中回路 1 与回路 2 和 回路 3 都是两两不接触回路。
得到回路增益后,就可以利用回路增益计算出特征行列式以及系统函数了:

【补充】系统函数 → 信号流图
现在我们已经掌握了通过信号流图计算梅森公式得到系统函数,那么反过来,如何通过系统函数快速的画出信号流图呢?
构造信号流图时,需要根据公式 进行,且遵守以下两个原则:
- 信号流图中没有单回路存在(即不存在两两不接触回路),这是为了保证系统中的特征行列式 为 的形式,便于我们画图;
- 前向通路与所有回路都接触,这样就保证了剩余特征行列式 始终为 1。(因为前向通路取走以后,就不会再有回路存在了)
构造的步骤如下:
- 将系统函数分式的分母化为特征行列式的形式,即化为 的形式;
- 依据系统函数画图(画图时注意将分子中每个相加的项都看作是一条前向通路增益,分母中的减数 中的每一项看作是一个回路)。
以下面的例题来进行理解:
图片来源于信号与系统郭宝龙的课件。 
图片来源于信号与系统郭宝龙的课件。
下面的这道例题是对拉普拉斯变换后的系统函数进行流图的转换,其实与 z 变换是一样的,将下面系统函数中的 s 都看作是 z 就行。

可以看到,题目中给出的系统函数中分母并不满足 的形式,因此需要先对其进行转换。

系统的模拟
学会了梅森公式后,我们可以很容易地将信号流图 → 系统函数,或是将系统函数 → 信号流图。
在将系统函数转换为信号流图的时候,依据拆分形式的不同,可以分为两种类型——级联型和并联型。(其中级联型可以理解为电路系统中的串联)
通过下面的例题可以很好的理解这一点:


滤波器设计(第六章)
这个部分主要介绍巴特沃夫滤波器(考点),其他滤波器感兴趣的可以自己看相关书籍。
滤波器的类型主要有低通滤波器、高通滤波器、带通滤波器和带阻滤波器。而后面三种滤波器的设计都可以通过低通滤波器来实现,因此只要将原型低通滤波器设计出来,想要实现其他形式的滤波器是可行的。
模拟低通滤波器的几个参数

通带截止频率()和阻带截止频率()是指最大增益下降了一定分贝数时所对应的频率(具体下降多少算是达到了截止频率需要根据实际问题来判断),达到通带截止频率时下降的增益分贝数称为是通带衰减(,通过图中的公式进行计算),达到阻带截止频率时下降的增益分贝数称为是阻带衰减(,通过图中的公式进行计算),这两个衰减一般在题目中会提前给出。
频率小于通带截止频率的部分曲线称为是通带,频率高于阻带截止频率的部分曲线称为是阻带,频率位于通带截止频率与阻带截止频率之间的部分曲线称为是过渡带。
在通带截止频率和阻带截止频率之间还存在一个 3 dB 截止频率 ,指的是最大增益下降 3 dB 时所对应的频率。3 dB 又称为是半功率点,指的是功率衰减为原来的一半时增益的变化量(),3 dB 截止频率的值与通带截止频率一般不相同,但可以利用通带截止频率计算 3 dB 截止频率。
下面介绍常用的模拟低通滤波器——巴特沃兹滤波器的设计方法。
巴特沃兹滤波器的函数模型如下:

从公式中我们可以看到,只要有滤波器的截止频率 和 滤波器的阶数 n 两个参数,就能够设计出巴特沃兹滤波器。
如果要将增益 通过分贝来表示,需要通过这个公式转换 。
滤波器的阶数可以通过通带截止频率、通带衰减及阻带截止频率、阻带衰减这四个参量计算出来,听起来很复杂,但其实很容易掌握,只需要记住四个公式就行。
第一个公式:
第二个公式:
第三个公式:
上面是潘老师在网课中介绍的公式,但这个公式和我教材中的公式并不一致,我教材中的公式为:
大家可以看看自己教材中的定义,也许不同的教材中定义不一样,也许是老师写错了?
3 dB 截止频率 的计算公式:
上述公式的来源
上面的公式很容易能够推导出来,可以通过下面的例题来推导。
下面的例题需要利用到下面几个公式:



至于为什么要用 来替代 s ,我猜可能是因为表中的公式是在 的基础上得到的,因此需要在查表后做变量替换。
滤波器的阶数 N 与滤波器过滤特性的关系如下:

从图中可以看出,滤波器的阶数 N 越高,滤波器的滤波性能就越好,因为它越来越接近于理想滤波器,理想滤波器可以理解为是一个矩形脉冲函数。
低通滤波器的设计步骤
第一步,根据题目中提供的通带和阻带的相关参量计算滤波器的阶数 N;
第二步,根据计算出的阶数 N 查找表格中滤波器极点,写出滤波器系统函数的分母多项式,将其作为 的分母( 的分子为 1);
查找表
阶数为 N 时的所有极点在 z 变换域中的位置:

阶数为 N 时滤波器系统函数的分母多项式:

第三步,计算 3 dB 截止频率 ;
第四步,变量替换,令分母多项式中的 代入 得到 即为所求的滤波器的传输函数。
(第四步是离散频域→连续频域的转换,由于是模拟滤波器,因此需要使用拉普拉斯域来表示系统函数,s 在拉普拉斯域中的地位相当于 z 在 z 变换域中的地位,如果不清楚什么是拉普拉斯域,可以简单理解为是表示连续信号的频域变换,而 z 变换域是表示离散信号的频域变换。)
例题求解:





第一步,计算滤波器的阶数 N:

第二步,写出系统函数 :

第三步,求出 3 dB 截止频率 :

第四步,求出滤波器的传输函数 :

数字滤波器
引入


对于正弦信号而言,幅度随时间的变化可以通过点在单位圆上循环往复的运动来表示。如果是模拟角频率控制的信号,点在单位圆上的运动是连续的,产生的波形曲线就是连续的;如果是数字角频率控制的信号,点在单位圆上的运动是跳跃的,产生的波形曲线就是离散的。

那么,模拟角频率与数字角频率之间是什么关系呢?
对于模拟信号,我们有
当我们对模拟信号进行采样时,假设采样周期为 (即每隔 的时间间隔采样一个点),则相当于上述信号中连续的时间 t 变为了离散的 ,n 表示第几个采样的点:
由于 n 是自变量,相当于余弦函数中 是角频率,我们称这个角频率为数字角频率,于是我们就得到了数字角频率与模拟角频率之间的关系:
从上面的公式中,我们就能够看出,数字角频率是归一化频率。根据奈奎斯特采样频率,我们得知, ,这就意味着 的取值不会超过 π ,即被采样信号的最高频率是 π 。
数字低通滤波器和数字高通滤波器的图像如下图所示:


很多人可能会疑惑,为什么低通数字滤波器在高频段也有幅值,因为原信号在进行采样后,其频谱的最高频率不会超过 π,可以将 π~2π 范围的频谱看作是 -π~0 范围内的。

数字滤波器的分类

IIR 滤波器的全称是 Infinite Impulse Response 。 它的特点是分母中至少有一个 z 的系数 a 是不为 0 的。之所以称为是无限长脉冲响应数字滤波器是因为 后,它的长度是无限的,即 h[n] 有无穷多项。有无穷多项的原因是系统输入一个信号后,系统会产生反馈(前一个时刻的输出值),反馈值会继续作为输入输送到系统中,从而得到无穷多个输出。
FIR 滤波器的全称是 Finite Impulse Response 。它的特点是分母中所有 z 的系数 a 都为 0,也就是说只有分子项存在,这种形式的 在时域中是由有限项组成的。若系统中没有反馈支路,输入停止后输出也将停止,这种滤波器便称为是 FIR 滤波器。
IIR 滤波器和 FIR 滤波器设计方法
IIR 滤波器的设计
- 首先设计模拟滤波器 (借助模拟滤波器设计方法,如巴特沃兹滤波器设计方法);
- 其次将 系统函数转换为 ,转换的过程中可以采用脉冲响应不变法和双线性变换法。
和 都是用于描述系统函数的频响特性的,但区别如下:
- 前者用于连续系统,后者用于离散系统;
- 前者为拉普拉斯变换后的结果,后者为 z 变换后的结果。
脉冲响应不变法
在工程数学中我们学过如何将一个平面内的直线映射到另一个平面内的单位圆,就是令 中的 即可实现转换。
因此,对于一个含有多极点的系统函数 ,我们需要先将其拆分为多个单极点相加的形式,然后再将其中的 s 转换为 z,具体的步骤如下:

例题一



例题二
题目

解答

脉冲响应不变法的局限性
脉冲响应不变法:
1、由于脉冲响应不变法要求严格带限,故不能用于设计高通滤波器和带阻滤波器。
2、连续系统的系统函数 必须是能够部分分式分解,才能采用脉冲响应不变法转换成离散系统的系统函数 H(z)。
双线性变换法
由于脉冲响应不变法要求输入信号必须是严格的带限信号,即频谱的最大值必须小于 ,因此当信号并不满足这个条件时,会发生频谱混叠的现象,如下图所示:

如果要解决脉冲响应不变发带来的频谱混叠失真,需要增加阻带衰减指标。
为了应对这个问题,我们可以先将输入信号的频率控制在 (-π, π) 这个范围内,然后再进行变换,这样就可以避免频谱混叠问题的发生。 具体的操作步骤如下:

例题一


上面的 的公式好像有问题?之前介绍的时候 ,现在 变为了 .

例题二

例题三
例题三是我们测验中的一道题目。
题目:
某模拟低通滤波器的系统函数为 ,用脉冲响应不变法将其设计成数字低通滤波器(假设 T = 1),则数字低通滤波器的系统函数 _____;3 dB 截止频率 _______;模拟滤波器的截止频率 ______。
解答:
由于没有标准答案公布,答案未经验证,若有错漏,望指正🙏

高通滤波器的设计
采用双线性变换法,不采用脉冲响应不变法。
想要设计高通滤波器,可以先通过高通滤波器的指标设计出一个低通滤波器,再将低通滤波器转换为高通滤波器。
高通滤波器设计所需要的指标与低通滤波器的相同,均为通带截止频率、阻带截止频率、通带衰减和阻带衰减。具体的设计步骤如下:

下面的例题可以帮助我们很好的理解高通滤波器的设计:



通过上面的步骤,我们就完成了模拟低通滤波器到模拟高通滤波器的转换,但如果要将模拟高通滤波器转换为数字高通滤波器,则还需要进行 s → z 的转换步骤,具体公式如下:

在这里需要注意,公式中的 s → z 的变换公式并不是 ,而是在 前面乘上了一个频率压缩系数,这是因为前面在模拟低通滤波器转换为模拟高通滤波器的时候,由于是模拟量之间的转换,并没有进行预畸变处理,因此可以把这个压缩系数理解为一种修正,避免模拟高通滤波器转换为数字高通滤波器后出现预畸变。
当然,如果一开始就明确了要设计一个数字高通滤波器,那么可以先将模拟的低通滤波器转换数字低通滤波器(注意在这个过程中就需要进行预畸变的处理了),然后再将数字低通滤波器转换为数字高通滤波器,可以通过下面的例题来理解:



带通滤波器的设计
这一部分 ppt 将的听清楚的,就是记住几个公式就行。

在这里,如果要满足通带和阻带的几何中心频率会相等,那么 和 应该要小于 1, 和 应该要大于 1 。

设计步骤:

例题:





IIR 滤波器的结构框图
如果之前梅森公式掌握的比较好的友友,这一部分会比较简单,如果忘记了之前学过的梅森公式,可以会到前面 “第五章” 进行复习。
我们知道 IIR 滤波器的系统函数公式如下:
利用第五章介绍的 “系统函数 → 信号流图” 的两个原则和两个步骤,我们可以画出下面的图像:
两个原则和两个步骤
构造信号流图时,需要根据公式 进行,且遵守以下两个原则:
- 信号流图中没有单回路存在(即不存在两两不接触回路),这是为了保证系统中的特征行列式 为 的形式,便于我们画图;
- 前向通路与所有回路都接触,这样就保证了剩余特征行列式 始终为 1。(因为前向通路取走以后,就不会再有回路存在了)
构造的步骤如下:
- 将系统函数分式的分母化为特征行列式的形式,即化为 的形式;
- 依据系统函数画图(画图时注意将分子中每个相加的项都看作是一条前向通路增益,分母中的减数 中的每一项看作是一个回路)。

从图中,我们可以看到左半部分中间的箭头方向与右半部分中间的箭头方向是相反的,这是因为左半部分需要构成前向通路,右半部分需要构成闭合回路。
左半部分的任一条支路都可以作为是一条前向通路,而右半部分的每一个回路都与左半部分的任一条前向通路是重叠的,因此当去掉某一条前向通路(比如第 i 条)时,右半部分的剩余特征行列式为 1,于是 ,这样,当左半部分每一条支路以图中级联的形式连接起来时就能形成 H(z) 的分子。
从前面的 H(z) 公式中可以看到,为了通过系统函数画出信号流图,分母需要做上面公式中的变换,由 “” 转换为“”,这就是为什么图中使用负系数的原因。
上图的结构称为 IIR 滤波器的直接 Ⅰ 型结构。
当我们将图中的延时器合并后,就可以得到 IIR 滤波器的直接 Ⅱ 型结构:

例题一

例题二


例题三



FIR 滤波器的设计
FIR 滤波器的定义及性质



例题一

例题二




FIR 滤波器的频响定义及分类
频响定义:


如上图所示,由于 和 之间有着对应关系,因此后面在描述 FIR 滤波器的频响特性时均采用系统函数来进行。

FIR 分类:
关于 FIR 滤波器分类这点,弹幕区众说纷纭,有的说分为两类,有的说三类,也有的说四类。这只是不同的教材有不同的定义而已。
在老师的教材中,FIR 滤波器分为两类。分类方式如下:

但在我们学校的教材中,FIR 滤波器是分为四类的,其实就是根据 N 的奇偶将上面的两类分类细化了一下。
名称 | 对称性 | N 的奇偶 |
第一类 FIR 滤波器 | h[n] 偶对称 | N 为奇数 |
第二类 FIR 滤波器 | h[n] 偶对称 | N 为偶数 |
第三类 FIR 滤波器 | h[n] 奇对称 | N 为奇数 |
第四类 FIR 滤波器 | h[n] 奇对称 | N 为偶数 |
所以 FIR 具体是如何分类的,需要根据你们自己的教材来确定。
例题一

例题二

例题三


窗函数设计法实现 FIR 滤波器
使用窗函数设计法时需要记忆的几个公式:

例题



对于第三小问,当输入的信号是复指数信号的时候,输出信号相对于输入信号只有幅度和相位上发生了变化且输出幅度是输入信号的幅度与系统函数的幅度相乘,输出相位是输入信号的相位与系统函数的相位相加。『这个结论忘记了的友友可以 【Ctrl+F】 搜索 “系统函数的两种形式及频率响应函数”』
从输出的结果中我们可以看到,y(n) 的所有相位相对于输入信号 x(n) 都延迟了一个单位,延迟的大小与 τ 的大小是相同的,这就是为什么称 τ 为群时延的原因。
前面是已知时域中 h(n) 的值求幅频响应,在这种情况下,得到的幅频特性曲线的通带可能并不平坦,为了设计出通带范围内有较一致增益的滤波器(即 ),就需要介绍下面的情形(已知频域的值反推出时域序列):

Sa 函数的正逆傅里叶变换

图中的 Sa 函数在信号与系统中就已经接触过很多次了,在时域为矩形窗函数的时候,它的频谱函数就是 Sa 函数,在频域为矩形窗函数的时候,它的时域就是 Sa 函数。
Sa 函数的表达式为:
因此,对于未发生平移的 Sa 函数有 。
当 Sa 函数发生了群时延后,公式就变为了 ,也就得到了图中的式子。

由于 FIR 滤波器是有限脉冲响应滤波器,因此需要对时域的波形进行截断,这里使用理想的 函数进行截断,根据卷积定理,时域相乘相当于是频域的卷积,因此相当于是 卷积上了一个 Sa 函数,而 Sa 函数的频带是很宽的,因此会给 加上不理想的边沿特性,展宽其频域,增加通带、阻带的波纹。
除了低通滤波器之外,还有高通滤波器、带通滤波器和带阻滤波器,它们都可以通过低通滤波器来设计,公式如下:

由于这些滤波器都是通过低通滤波器设计出来的,因此都不可避免地会出现不理想的边沿特性。
为了应对上述低通滤波器的问题,学者们便研究出了各种各样的窗函数,如 汉宁窗,Blackman 窗等,它们的参数都是固定的,具体表达式如下:




南理工的友友们上面的 5 个窗函数时域和频域的公式都是需要背下来的,考试是默认我们都知道的,22 年 和 24 年都考了矩形窗的频域公式。
在设计窗函数时,最重要的两个参数就是阻带最小衰减 和过渡带宽度 ,不同的窗函数也会有固定不同的值,具体如下表所示。

加窗后的频响函数会不可避免的出现吉布斯现象(即矩形窗通带会固定出现最大波动误差,这个误差与窗函数长度无关)。
例题



关于 FIR 滤波器一个重要的结论

【补充】数字信号系统实现(滤波器结构框图及量化噪声)(第七章)
这个部分的内容潘老师并没有介绍,但我们学校的课程中有涉及,并且在考试中也会考到,请大家根据自己的需要阅读。
这个部分仅归纳一些个人认为考试会考到的知识点,详细地内容和推导参见南理工第七章 pdf。
量化噪声产生的原因
在计算机系统中,二进制数主要通过定点数和浮点数两种方式储存。
定点数运算结果可能会产生“溢出”,而浮点数的动态范围很大,一般不会出现“溢出”的现象。
在定点数做乘法运算时,其结果是原字长的两倍,因此需要对结果进行截尾处理或是舍入处理(课件中浮点数并没有讨论其误差的影响)。
截尾处理会产生截尾误差,舍入处理会产生舍入误差。
截尾误差和舍入误差
当使用 位字长(括号中的 “1” 表示小数点前面的符号位,如 1.0101…)的数字器件储存原字长为 位数的乘法运算结果时,会有两种截取方法。
第一种是直接将第 位之后的位截断,第二种是将 位加 1 ,然后将结果截取到第 b 位实现的。
课件中对截尾误差和舍入误差的大小做了讨论,最后得出结论,两种误差的均值不同,但是方差相同,均为 ,其中 ,称为是量化宽度。
课件中使用量化噪声(误差方差 )表示量化噪声功率,很明显,字长越长(b 越大),方差越小(量化噪声越小),信噪比()就越大。
还有一条比较重要的结论:字长增加,信噪比也会增加,字长每增加 1 位,信噪比就提高约 6 dB。
系统量化对零极点位置的影响
这个部分比较重要的一个概念:极点位置灵敏度—— 是指每个极点位置对各系数偏差的敏感程度。
结论:高阶直接型结构滤波器极点数目多而密集,低阶直接型滤波器极点数目少而稀疏, 因此高阶直接型滤波器的极点位置灵敏度要比低阶的高得多。
也就是说,系统函数的极点靠得越近,系统对量化的灵敏度越高。
数字滤波器的运算量化效应
这个部分主要是考察量化噪声模型图的绘制和噪声功率的计算。量化噪声模型图是在前面介绍的滤波器结构框图基础上加入量化噪声。
滤波器实现过程中,有乘系数、 相加和延迟运算。
- 延迟是延后一个采样周期取出,不造成字长变化;
- 乘系数运算会出现字长超长,所以需要作舍入或截尾处理;
- 相加运算,对于定点制来讲, 可能产生溢出。
我们主要需要注意第二点,也就是在绘制滤波器的量化噪声模型图时,对于出现乘法运算的部分,需要考虑到误差的存在。
这里所说的乘法运算是除信号流图中延时器相乘、乘 1 以外的乘法运算。
IIR 滤波器直接 Ⅰ 型量化噪声模型图如下:

上述的每个误差 的噪声功率都是 。也就是说,总的噪声功率的计算公式为: ,其中括号里的 “1” 表示的是图中的 。
所以,如果题目中要求我们求输入噪声功率,就是运用 的公式来求的。
课件中还讨论了直接型、级联型和并联型三种滤波器结构的误差大小,最后得出结论:直接型结构的输出误差最大, 级联型次之, 并联型最小。
FIR 滤波器量化误差噪声模型图如下:

FIR 滤波器的量化误差模型图与 IIR 滤波器的本质上是一样的,在非延时及非“1” 的乘法运算处加入噪声的考量即可。
那么,如何求解系统的输出噪声功率呢?


需要结合帕斯瓦尔定理来求。
我们知道,帕斯瓦尔定理的表述如下:
其中,等式左侧是时域的能量,等式右侧是频域的能量。
将噪声方差与时域或频域能量相乘,即可得到输出噪声功率。输出噪声功率的公式如下图所示:

对 IIR 滤波器而言,

对 FIR 滤波器而言,

滤波器结构框图
直接型:

级联型:

线性相位型:

快速卷积型:

频率采样型:

如果本篇笔记对你有用,能否『请我吃根棒棒糖🍭 』🤠…
陈后金老师部分的网课虽然看了一遍,但当时并没有怎么学懂,因此笔记做的也并不是很好,潘老师课程的笔记做的会相对详细一点。
(陈后金老师)课程笔记
预备知识
三角函数和差化积公式:

等比序列的求和公式:
q 为公比, 为首项。
离散信号的时域分析
💡 Key Words
这里的关键词只是帮助大家看完右侧的笔记后回忆内容,不是跳转链接!!
- 离散信号
- 序列类型
- 正弦信号的周期性
- 离散信号性质
- 不进位乘法 表格法
- 相关性运算
- 滑动平均序列
🔗 Relevant Information
📝 Class Notes
在离散信号的时域分析中,我们常常需要将复杂的信号分解为简单的基本信号,然后进行研究。因此研究基本信号的时域特性就显得非常的重要了。
离散信号与数字信号
产生:
① 对连续信号进行抽样;
② 信号本身就是离散的;
③ 由计算机产生的序列。
离散信号与数字信号:
离散信号指的是时间上(自变量)为离散的信号;
数字信号指的是幅度上(函数值)量化的离散信号。
基本信号的介绍
单位脉冲序列:

单位阶跃序列:

矩形序列:

指数序列:

正弦类序列
统称 虚指数信号、正弦信号和余弦信号 为 正弦类信号。

正弦类信号的周期性

由于虚指数信号的周期是 2π,因此只需要 就可以构成周期序列的条件。
从正余弦信号的角度来看,原来的信号为 ,经过 t = KT 的采样后,信号就会变成 ,也就是说,只要 k 前面的系数是 2π 的整数倍,即 ,那么信号就会是一个周期序列。
离散信号的基本性质
位移性质

抽取性质

离散信号的抽取性质其实类似于连续信号的缩放性质,但是前者会损失信号,造成失真。
内插性质

卷积性质

卷积的计算方法
序列 ,序列 ,求它们的卷积。
① 不进位乘法

② 表格法

相关运算


例题:
题目:

求解过程:



系统的分类
线性系统和非线性系统

时变和非时变系统

例题:
题目:

求解过程:



因果系统与非因果系统

稳定系统与非稳定系统

LTI 系统
LTI 系统的全称是 Linear Time Invariant System,即线性时不变系统。
对于线性时不变系统而言,其输入输出关系可以用于一个线性常系数(确定)的差分方程表示。


由于输出 y[k] = x[k] * h[k],由于离散信号卷积结果的序列起始点不会超过两个序列的起始点之和,当 h[k] = 0, k < 0 的时候,系统的输出 y[k] 不会早于 x[k] ,因此 h[k] = 0, k < 0 是离散 LTI 系统是因果系统的充分必要条件。
滑动平均系统
滑动平均系统的定义和介绍:
在数字信号处理(DSP)中,滑动平均系统(Moving Average System)是一种用于信号平滑和噪声抑制的滤波器。它通过计算输入信号在一个固定长度的窗口内的平均值来生成输出信号。
滑动平均系统的定义可以描述如下:
给定输入信号 ( x[n] ),滑动平均滤波器的输出 ( y[n] ) 是在长度为 N 的窗口内的输入信号的平均值。其数学表达式为:
其中:
- y[n] 是输出信号。
- x[n] 是输入信号。
- N 是滑动窗口的长度。
- k 是窗口内的索引。
这个公式表示对于每一个输出点 y[n],我们取输入信号 x 在当前时刻 n 及其前 N-1 个时刻的值,计算这些值的平均数。
滑动平均系统的描述:
滑动平均系统有多种描述方式,每种方式可能适用于不同的应用场景或强调不同的特性。
- 窗口长度描述:
- N 点滑动平均:这种方式直接描述了滑动窗口的总长度 N 。它简单直接,但不区分窗口左右的长度。例如,一个5点滑动平均滤波器可以表示为一个长度为5的窗口:
- 对称窗口描述:
- M + 1 + M 滑动平均:这种方式强调对称性,表示左右窗口长度均为 M 的对称滑动平均滤波器。例如,一个3 + 1 + 3点的对称滑动平均滤波器:
- 非对称窗口描述:
- 滑动平均:这种方式明确区分左侧和右侧窗口的长度。例如,一个2 + 1 + 3点的非对称滑动平均滤波器:
- 加权滑动平均:
- 在一些应用中,滑动平均可以使用不同的权重。这种方式称为加权滑动平均滤波器。权重可以根据应用需求进行设计,例如对最近的值赋予更高的权重。其公式为:
其中 w[k] 是权重函数。
- 累积移动平均(Cumulative Moving Average, CMA):
- 累积移动平均是一种特殊的滑动平均,计算从第一个数据点到当前数据点的所有值的平均。
其公式为:
- 指数移动平均(Exponential Moving Average, EMA):
- 指数移动平均赋予最近的值更大的权重,衰减较旧的值。
其公式为:
其中 是平滑因子。
注意: 的描述方式和 的描述方式都可以用于表示序列的长度,但前者可以进一步的表示左右序列的长度,后者在上下文明确时也可以用于表示左右序列的长度。
例题:
题目:

求解过程:


序列卷积和在工程上的应用

离散信号的频域分析
💡 Key Words
这里的关键词只是帮助大家看完右侧的笔记后回忆内容,不是跳转链接!!
- 傅里叶变换的五种形式
- 离散 ↔ 周期
- DFS IDFS 及它们的性质
- DFS → DTFT
- 频域抽样定理
- 频率响应
- 理想的数字滤波器(引入)
后面课程会详细介绍
🔗 Relevant Information
📝 Class Notes
在有了信号的时域分析后,为什么要还要引入信号的频域分析呢? 信号的频域分析可以让我们从另一个角度来观察信号,发现一些在时域系统中无法察觉到的现象。比如,在一段声音中混入了噪声的时候,将原声音和加入噪声后的声音的时域信号结合起来看,我们无法看出其中的差异;对于男生和女生的说话声音,我们可以听出其中的不同,可是观察它们声音的时域波形却无法得出什么实质性的结论。而在频域中,这些现象都可以很容易的被观察到。
傅里叶变换的五种变换形式

离散和周期之间的对偶关系
从五种变换形式的表格中也可以看出,除去 DFT 以外,时域的离散和周期与频域的离散和周期之间是有着对偶关系的。
时域(或频域)的离散信号 ↔ 频域(或时域)的周期信号,时域(或频域)的非周期信号 ↔ 频域(或时域)的连续信号
离散信号的 DFS 表示

图中所示即为 DFS 正逆变换的公式,由于是从 DTFT 中对频率进行采样得到的,因此会有 N 的出现,可以将 N 理解为 DFS 的周期,而 m 的范围是从 0 ~ (N - 1),表示的是将 DFS 信号的一个周期取出来,虽然图中写的是 DFS 的公式,其实这也就是 DFT 的公式。
DFS 的公式具有下面的这两个特点:

通常令 ,于是图中的公式就可以转换成
例题:
题目:

求解过程:
第一种解法:

第二种解法:

DFS 的性质
线性性质

移位性质



对称性质





周期卷积性质


例题:
题目:

求解过程:


离散信号的 DTFT 表示


DTFT 的性质
线性性质

对称性质

例题:
题目:

求解过程:

移位性质

卷积特性

帕斯瓦尔定理

微积分特性
若 x[n] = ng[n] ,则 。
例题:

频域抽样定理
DTFT 和 DFS 的公式回顾:

信号时域抽样的频域表示:

信号频域抽样的时域表示:

例题:
题目:

求解过程:



例题总结:

离散系统的频率响应
虚指数信号:


正余弦信号:

部分推导:

理想的数字滤波器
理想数字滤波器的分类

理想低通滤波器

由上图中理想低通滤波器产生的图像可以得知,在 k < 0 的时候, 的值并不为 0,因此它是一个非因果系统,在物理上是不可实现的。
其他理想滤波器
理想的高通滤波器可以看作是 1 与理想低通滤波器作差实现;
理想带通滤波器可以看作是两个理想低通滤波器作差实现;
理想带阻滤波器可以看作是 1 与理想带通滤波器作差实现。
上述的三种滤波器的频率响应都是非因果的,因此在物理上均无法实现。
实际低通滤波器实现方法

虽然理想的低通滤波器是无法实现的,但是只要让图中阻带的高度接近于 0,通带的上下波动很小,过渡带的长度尽量小,就可以模拟出低通数字滤波器的效果。
❓ My Doubts
✔️ Question 1
My Question is:

图中最后的结果是怎么化简为 两个正弦函数比的形式的?
My Answer:
首先,需要对积化合差公式比较熟悉:

其次,需要利用欧拉公式进行化简,过程如下:

离散信号的 Z 变换
💡 Key Words
这里的关键词只是帮助大家看完右侧的笔记后回忆内容,不是跳转链接!!
- z 变换收敛域(ROC)
- z 变换性质
- 部分分式展开法
- z 变换的复频域
- 系统函数
- FIR 与 IIR 系统
- 全通滤波器
- 最小相位系统
🔗 Relevant Information
📝 Class Notes
z 变换收敛域的定义

不同序列的收敛域
有限长序列

那么为什么需要小于正无穷呢?因为 N₁ 有可能是小于 0 的,当 N₁ 小于 0 的时候,X(z) 序列会包含 z 的正幂次项,因此需要保证收敛域小于正无穷。
右边序列(因果序列)

至于收敛域是否需要小于 ∞ 需要看 N₁ 的正负:

左边序列(反因果序列)

至于是否要求收敛域要大于 0,则需要判断 N₂ 的正负:

双边序列

z 变换的性质
线性性质:

移位性质(差分,相当于时域微分):

单边 z 变换的记忆方法:

反转性质:

尺度性质(z 域微分):


尺度性质证明:

例题 1:

例题 2:
题目:

求解过程:

卷积性质:

双边 z 变换的计算方法

z 变换的复频域分析
离散 LTI 系统的系统函数定义:


系统函数的表示形式:


FIR 系统与 IIR 系统
FIR → Finite Impulse Response;IIR → Infinite Impulse Response.


系统的稳定性判断

全通滤波器和最小相位系统
为什么要讨论全通滤波器和最小相位系统呢?
- 可以利用全通滤波器进行相位均衡;
- 可以利用最小相位系统进行幅度均衡;
- 可以利用这两个系统表示任意因果系统。
一阶全通滤波器
一阶全通滤波器(幅度响应):

一阶全通滤波器(相位响应):


一阶相位响应的图像:

一阶全通滤波器的零极点:

m 阶全通滤波器

因此 m 阶实系数全通系统的幅度响应仍然是 1,相位响应是各阶全通系统的和,由于每一阶全通滤波器的相位响应都是小于 0 且单调递减的,因此 m 阶实系数全通滤波器的相位响应是非正且单调递减的。
最小相位系统

因果系统的分解 → 全通滤波器+最小相位系统


例题:
题目:

求解过程:

分解方法的总结:
- 首先,将原系统函数中位于单位圆内的零极点项提取出来;
- 其次,为原系统函数中位于单位圆外的零极点项的分子(分母)配出一个共轭倒数的分母(分子)。
全通滤波器和最小相位系统的应用
它们通常应用于幅度均衡和相位均衡。
什么是幅度均衡和相位均衡?
幅度均衡和相位均衡是信号处理和通信系统中的两个重要概念,主要用于描述和调整信号的特性。
幅度均衡
幅度均衡(Amplitude Equalization)是指通过调整信号的幅度响应,使得系统在整个频率范围内对所有频率成分的增益保持一致。也就是说,系统对不同频率的信号不应有选择性地增强或衰减。
- 应用场景:用于补偿信道或系统对不同频率成分的非均匀增益,从而保证信号的原始幅度关系在传输后不变。
- 实现方法:可以通过设计特定的滤波器来实现,这些滤波器会对某些频率成分进行放大或衰减,以达到均衡效果。
- 效果:均衡后的信号在整个频率范围内具有一致的幅度响应,避免失真和信号质量下降。
相位均衡
相位均衡(Phase Equalization)是指通过调整信号的相位响应,使得系统在整个频率范围内对所有频率成分的相移保持一致或达到所需的相位特性。通常目标是消除或补偿由于系统非线性相位响应引起的相位失真。
- 应用场景:用于补偿信道或系统的相位失真,以保证信号在传输后不产生不必要的相移,尤其在要求保留信号波形的情况下(如音频信号)。
- 实现方法:可以通过全通滤波器(All-Pass Filters)来实现,这些滤波器对信号的幅度不做改变,只对相位进行调整。
- 效果:均衡后的信号在整个频率范围内具有一致的相位响应,避免波形失真和相位扭曲。
相位均衡器
问题描述:

解决思路:

可以利用全通滤波器改变原系统的相位响应,作为相位均衡器。
幅度均衡



为什么这里不使用全通滤波器进行均衡呢?
原因就是全通滤波器肯定会有一个零点在单位圆之外,它的逆函数有位于单位圆外的极点,不符合要求。
❓ My Doubts
❓ Question 1
My Question is:

为什么全通滤波器的幅度响应的模为 1?

为什么全通滤波器的相位响应的模为 1?
如何通过公式推导出来的。
My Answer:
对于幅度响应,目前的想法是将所有 的项都看作是 1 后取模。
连续时域信号的抽样与重建
💡 Key Words
这里的关键词只是帮助大家看完右侧的笔记后回忆内容,不是跳转链接!!
- 数字抽样
- 时域抽样过程
- 带限信号的抽样
- 窄带高频信号的抽样
- 非带限信号的抽样
- 信号的重建
- 抽样与重建的关系
🔗 Relevant Information
📝 Class Notes
为什么要进行数字抽样?

数字信号的主要特点:
- 易于存储
- 易于处理
- 易于传输(抗干扰能力强)
信号的抽样
上图的前半部分是抽样的一般过程,一般工程上的信号都是比较复杂的,需要先经过抗混叠滤波器滤除信号的高频成分,对低频成分进行采样保持,然后经过 ADC 进行量化。
时域抽样过程


信号时域的离散化会导致频域的周期化。
冲激串信号转换为序列(DTFT)

带限信号的抽样
什么是带限信号 → 。

窄带高频信号的抽样


非带限信号的抽样
工程信号多为非带限信号,通常需要经过低通抗混叠滤波器进行滤波,过程如下:

由于抗混叠滤波器也会摈弃一些频率成分,与混叠后的信号一样会有些失真,因此引入混叠误差和截断误差来比较他们的大小。

一般来说,截断误差会比混叠误差来得小。
信号的重建
上图的后半部分表示的就是信号的重建,需要先经过 DAC 将信号转换成阶梯的形式,然后经过重建滤波器将信号转换成连续信号。

从频域的视角看,重建滤波器相当于就是低通滤波器,将中间红框部分的信号提取出来。


从时域的视角看,重建滤波器相当于是将时域的冲激信号与 Sa 函数,也就是采样函数进行卷积,相当于把 Sa 函数左右平移,最终得到下图所示的形式:

重建信号所需要采用的周期:

连续信号离散处理的整个过程


如上图所示,抽样的过程和重建的过程其实是互为逆过程的。
❓ My Doubts
❓ Question 1
My Question is:
未知最高频率的信号如何进行抽样?

ppt 中只有这张图,没有理解
My Answer:
离散傅里叶变换 DFT
💡 Key Words
这里的关键词只是帮助大家看完右侧的笔记后回忆内容,不是跳转链接!!
- DFT 性质
- 循环卷积
- 线性卷积
- 重叠相加法
- 重叠保留法
- 混叠 泄漏
- 栅栏现象
🔗 Relevant Information
📝 Class Notes
这一部分重点介绍 DFT 的算法。
DFT 算法的回顾


上面的左图和右图是相互对照的关系,时域中连续非周期信号的频谱是连续非周期信号,离散周期信号的频谱是离散周期信号。在实际应用中,由于连续非周期信号、连续周期信号、离散非周期信号的参数总是未知的,而离散周期信号的参数基本都是已知的,因此常常需要转换为离散周期信号进行处理,这个转换的过程称为 DFS ,而计算机显然无法保存无穷多的数据,因此需要对数据进行取舍,而对于周期信号而言,只需要取出其中的一个周期即可,因此,使用 DFS 信号的一个周期进行分析和处理的方法就称为有限长序列分析,也就是 DFT 的过程。

DFT 两个例题
例 1:


例 2:

上面的例子说明,在序列 x[k] 后面补零,会使得频域的离散值更多,也就是说,增加 DFT 的抽样点可以获取到频域更多的细节。一个序列的 DFT 本质上就是该序列的频谱在一个周期内等间隔抽样的样本值。DTFT 的频谱是连续的周期函数,而 DFT 则是在该函数上进行抽样。
DFT 的性质
线性性质

循环位移性质
循环位移性质其实本质上还是 DFT 的位移性质,之所以是循环的,是因为 DFT 时域和频域都是周期的,如果只看一个周期的信号,可以将它当作是右边移出的数从左边重新进入。

图像表示:

时域循环位移 → 频域相移:

频域循环位移 → 时域相移:

对称性质




循环卷积定理

循环卷积定理:

示例:

对于矩阵是如何写出来的,可以看下图的过程:

循环卷积与线性卷积的关系:

注意: DFT 的循环卷积比起单纯的线性卷积运算速度更快。在 的时候,线性卷积和圆周卷积的结果是相同的,而圆周卷积满足 DFT 的卷积定理,因此可以据此计算出线性卷积。

帕斯瓦尔定理
对于 DFT 而言,设有一个长度为 N 的离散信号 x[n] ,其离散傅里叶变换为 X[k] 。帕斯瓦尔定理可以表示为:
其中:
- x[n] 是时域信号的第 n 个采样值。
- X[k] 是对应的离散傅里叶系数,表示信号在频域中的第 k 个分量。
线性卷积的计算
主要介绍长序列卷积的计算。
重叠相加法
重叠相加法 (Overlap-Add Method)
重叠相加法是通过将长序列分块并进行循环卷积,然后将这些块重叠相加来获得最终的线性卷积结果。
- 分块: 将输入序列 x[n] 分成长度为 L 的块。假设 x[n] 长度为 N,则分成多个块,每块长度为 L ,并且设 h[n] 的长度为 M 。
- 循环卷积: 对每个块 (其中 i 表示第 i 块)与滤波器 h[n] 进行循环卷积。由于 和 h[n] 的长度不同,需要将 h[n] 和 补零,使它们的长度达到 L + M - 1 。
- 重叠相加: 将每次循环卷积的结果进行重叠相加,得到最终的线性卷积结果。

具体步骤如下:
- 将 x[n] 分成 ,每块长度为 L 。
- 计算每个块的循环卷积: 其中 是第 i 块的卷积结果,长度为 L + M - 1 。
- 将各块的卷积结果进行重叠相加,形成最终输出:

重叠保留法
重叠保留法 (Overlap-Save Method)
重叠保留法通过在输入序列上使用滑动窗口进行卷积,并丢弃卷积结果中的重叠部分来实现线性卷积。
- 分块: 将输入序列 x[n] 分成长度为 L 的块,并且每块之间有 M-1 个样本重叠。假设 x[n] 的长度为 N , h[n] 的长度为 M ,则每块的长度为 L = M + N - 1 。
- 循环卷积: 对每个块 与滤波器 h[n] 进行循环卷积。由于每块 包含 L 个样本,且 h[n] 的长度为 M ,因此需要补零,使它们的长度达到 L 。
- 重叠保留: 对于每次循环卷积的结果,丢弃前 M-1 个样本,仅保留后面的 个样本,将这些保留的样本连接起来,形成最终的卷积结果。

具体步骤如下:
- 将 x[n] 分成 ,每块长度为 L ,并且每块之间有 M-1 个样本重叠。
- 计算每个块的循环卷积: 其中 是第 i 块的卷积结果,长度为 L 。
- 对每个卷积结果 ,丢弃前 M-1 个样本,保留后面的 L - M + 1 个样本。
- 将保留的部分连接起来,形成最终输出 y[n] 。

个人对重叠相加法和重叠保留法原理的理解
首先必须明确的一点是,在采用线性卷积通过图解法进行计算的时候,k 点的卷积值不仅与 h[k] 有关,还与 k 点之前的 h[k] 值有关。之后我们采用图解法(线性卷积)的方式来进行理解。

当采用重叠相加法进行计算的时候,由于将长序列进行了分块操作,那么也就是说,块与块之间是没有什么关系的。在进行 的线性卷积计算的时候,若 h[k] 与 的计算过程进行到了末尾(如下图所示),那么我们可以发现

分块前应该与 h[k] 产生交集的部分由于分块的操作变成了 0,也就意味着 5 点处的卷积值比分块前小。而对于 而言,在 h[k] 刚刚接触到 的时候,也是一样的,分块前应该与 有交集的左侧部分由于分块的存在没有算在卷积值中,造成了卷积值的减小,但是另一个有趣的发现是, 所缺失的交集在 中刚好得到了弥补,也就是说,他们的卷积值加起来正好是分块前的值,因此可以使用重叠相加法计算。

对于重叠保留法,它的意思是在分块的时候把重叠的部分给算上,为什么要这样做呢?因为通过前面的重叠相加法我们知道,如果将两个块毫无交集的切开,那么卷积值就会缺失,那不如就换一种方式,让分块的部分叠加起来,先保证卷积值是完整的,再去除多余的部分,叠加的部分就是 h[k] 的长度减去 1(至于 为什么是 h[k]-1 可以自己画图观察),这样,卷积值就不在会有缺失。

连续非周期信号频谱的 DFT 分析
由连续非周期信号转换为离散周期信号的过程:


抽样是对时域的离散,因此在时域有一个采样频率 ,这个频率需要大于信号最高频率的两倍,DFT 是对频域的离散,因此在频域有一个抽样点总数 N ,它作为频域的周期值。
每个抽样点的频率计算:

例题:
题目:

求解过程:

混叠和泄漏
对于一个时间有限且频带有限的理想信号,不存在泄漏和混叠现象。但在现实中,这两者常常无法同时满足,对于时间有限 频带无限的信号,会有混叠现象的出现,对于时间无限 频带有限的信号,会有泄漏现象发生。

混叠现象:

对于频带无限的信号,在时域抽样的过程中,频谱相互之间会发生混叠,因此在抽样之前要进行抗混叠处理。
泄漏现象和窗口函数:

对于时间无限的信号,在时域抽样之后要进行加窗处理,因为时域无限长的序列无法进行储存,由于加窗截短就会产生泄漏现象。
窗函数本质上就是滑动平均序列,相当于是时域的滤波器,只不过它是离散的。


窗函数的进一步讨论:

信号采集时间的解释:由于矩形窗函数点的数量为 N,且矩形窗函数点与点之间的间隔与抽样函数的采样周期必须相同,因此总的采集时间就等于点的数量乘以间隔时间,即 NT。
由于矩形窗函数频谱中的旁瓣会使得频谱变得更加复杂,因此也会有一些窗函数在加窗后对频谱进行加权,使得主瓣更加突出,而旁瓣被削减。下面以无限长的余弦信号为例,介绍各种加权窗函数:



更多的加权窗函数可以见下表:

窗口宽度的选择:




如上图所示,通过 确实可以获得一个合适的样本点数,但是即便 N 小于前面所计算的值,仍然可以将两个频率的谱线区分出来。

如上图所示,即便 N 满足了 的条件,仍然无法将两个谱线区分出来,因为旁瓣的幅度与 150 Hz 谱线的幅度近似,因此考虑采用加权窗函数消除旁瓣的影响。

因此,我们需要根据实际情况选择我们所需要的窗函数:

栅栏现象
栅栏现象指的是当我们对一个离散信号进行傅里叶变换时,频谱分析的结果受到采样频率的限制,导致我们只能看到有限个离散频点上的频谱信息,类似于我们通过一个栅栏看风景,只能看到栅栏的间隙,而不能看到完整的景象。只要信号进行 DFT 变换,就一定会出现栅栏现象。
栅栏现象可以通过序列补零的操作来解决:


DFT 过程的参数选取


DFT 的例题
题目:

求解过程:


FFT 算法
💡 Key Words
这里的关键词只是帮助大家看完右侧的笔记后回忆内容,不是跳转链接!!
- FFT 算法
- 基 2 时间抽取
- 基 2 频率抽取
- 其他基抽取法
- 混合基抽取
🔗 Relevant Information
📝 Class Notes
FFT 算法的全称是 Fast Fourier Transform .
FFT 算法概述
为什么要引入 FFT 算法

从图中可以得知,由于 DFT 算法在计算的时候总共需要计算 次,当 N 的数值很大的时候,计算量就会很大,效率很低,因此数学家在 20 世纪中叶开发了 FFT 的算法,使计算机能够更快的计算 DFT 的值。
FFT 算法的实现基础


FFT 算法——基 2 时间抽取法
FFT 算法的理解
第一次通过 ppt 理解:
FFT 算法就是不断的将原序列拆分成奇项和偶项最后合并来计算的。最开始的时候先将时域序列两两分组,利用他们计算出中间值,由于旋转因子的对称性,最后的中间值相加后总会与 DFT 的计算式子结果一致。将中间值两两分组,再计算出下一组中间值,直到得到最终结果。
FFT 算法的解释
旋转因子的三个性质:
来源于陈后金老师的课件

FFT 的公式是基于上面的三个性质进行的, 要理解上面三个公式,只需要将 代入即可。
FFT 的几个特点:
在进一步介绍 FFT 的推导以及最终的流图之前,我们先需要知道 FFT 内部的一些特点。
这些特点在初学 FFT 时可能无法看懂,但是,当你在后面 FFT 的推导过程、计算过程中有不明白的点或是学完 FFT 再回来看时,会有更深的理解。
- 我们最初的离散序列 x[n] 都是时域的, 因此在 FFT 中,第一级都是先计算 DFT,即将时域的 x[n] 转换为频域的中间值序列(之所以是中间值是因为它不是最终的结果),后面的几级都是频域间的相互转换;
- FFT 运算每一级做的都是奇偶序列间的 2 点 DFT。在 FFT 中,是通过不断的取奇偶序列进行 2 点 DFT 来实现 4 点以及 8 点或更多点数的 DFT 运算的。
- 序列中的奇和偶是相对于位置而言的,而非看 x[n] 中 n 是奇的还是偶的。
FFT 的推导过程:
来源于陈后金老师的课件 
来源于陈后金老师的课件 
来源于陈后金老师的课件 

来源于陈后金老师的课件 


来源于陈后金老师的课件 
来源于陈后金老师的课件 



输入顺序、输出倒序 
输入倒序、输出顺序
首先,需要假定输入的序列长度 ,对于输入序列不是这个长度的序列,可以通过补 0 使序列的长度满足条件。
第一步是将 DFT 拆解为奇序列的 DFT 和偶序列的 DFT 。下面的过程看起来很复杂,其实很好懂,耐心看完就能理解。


图中 相当于是 。通过上面的方式,就将长度为 N 的 DFT 拆分为了两半。前半部分和后半部分只有奇序列系数的符号是不一样的(一个为正一个为负)。
可以通过矩阵或是蝶形图的方式来表达上面两个公式(这样显得更简洁):

矩阵主要是在能够清晰的看出公式中所蕴含的对称性,这种对称性在后面的 FFT 流图中也能看出来,是 FFT 美的一种体现。
图中的矩阵 可以理解为蝶形图中输入的两项交叉相加减的过程,矩阵与蝶形图的对应关系可以通过下图来理解:

需要注意的是,上面的式子中无论是输入还是输出都是频域的值,并没有体现时域向频域转换的过程,因此还需要加入时域序列转换为频域序列的表示,如下图所示:


上图是左图公式的推导过程,实际上就是普通的 2 点 DFT 运算。
从矩阵形式中,我们又见到了和前面矩阵形式中相同的部分 ,这其实就是 FFT 中对称性的一种体现。在后续的时域信号转换为频域信号的过程中,都是利用了上面的公式进行转换,虽然转换的过程中输入不一定是 x[0] 和 x[1] ,但实际上是一样的,要学会灵活变通。
有了上面的两组公式后,我们就可以进行 FFT 流图的绘制了,首先尝试进行简单的 4 点 FFT 的绘制。
下面绘制 FFT 流图的过程,都是按照从右往左逆推的顺序进行的,这有利于我们更清晰的了解 FFT 的架构。
下面进行 4 点 FFT 变换流图的绘制,第一步,绘制输出的 2 点 DFT 变换:

从图中可以看出,最终的结果都是通过偶序列的 DFT 、 和奇序列的 DFT 、 来表示的,这符合上图中左上角黑色的公式。
但要想要得到绿色部分的偶序列的值和橙色部分的奇序列的值就需要先通过前一步的 点的 DFT 变换,这一步的 DFT 变换其实与最后这一步的变换是相同的,要将 看作是最后结果中的 ,将 看作是最后结果中的 ,将他们都拆分为 2 点的 DFT 以得到结果。
由于在这里进行的是 4 点的 FFT 变换(N = 4),因此这里的 点 DFT 恰好就是 2 点的 DFT ,这一级其实是 FFT 变换的第一级(m=1),是将 x[n] 时域序列转换为频域序列的一级。内部的具体变换过程如下图橙线部分所示:

之所以是 x[0] 与 x[2] 进行 2 点 DFT,x[1] 与 x[3] 进行 2 点 DFT ,是因为需要先将时域序列中的偶数项和奇数项分开排列。
对哪两个输入做 2 点的 DFT 变换,那么这两个输入就分别替换下面的 x[0] 与 x[1]。

下面进行 8 点 FFT 流图的绘制:
首先也是绘制输出的 2 点 DFT:

然后对图中红框部分的 4 点 DFT 进行扩展:

上图的过程其实就是将 看作是最后结果中的 , 看作是最后结果中的 ,对奇序列值 与偶序列值 [0] 做 2 点 DFT 变换即可计算他们的值,其中奇序列值 与偶序列值 [0] 是我们假设存在的一组奇偶变量,将 看作是最后结果中的 ,其他的点也是一样。这样, ~ 以及 ~ 的值就可以通过这些中间量计算出来了。
那么这些中间量怎么求呢,他们的求解需要利用前一级的 2 点 DFT 来求,在这里前一级已经是时域分量了,因此这一级进行的是时域的 DFT 变换。
在上图中,一定不要忘记轴线上的权重值 ,这个值的选取与需要进行的 DFT 的点数有关。
在上图中最具疑惑点的地方就是这些时域输入位置了,刚开始我也没弄清,在进行了大量的搜索后,我明白了。不能被 x[n] 括号中的 n 给迷惑了。对于这些位置的排列,我们需要先将时域序列中的偶数项和奇数项先分开,看偶数项中和奇数项内部是否各自能够凑成一对(即偶数项是否刚好是两个,奇数项也刚好是两个),如果偶数项中刚好能够凑成一对,那么就是这两个进行 2 点 DFT ,如果他们不能凑成一对,就需要对它们进行位置标号,然后根据位置的奇偶再进行拆分,看是否能凑一对。如下图所示:

于是最终就是 x[0] 与 x[4] 一起进行 2 点 DFT 转换为 和 ,其他同理。
这就是上面 FFT 中输入序号那样的原因。当然,未来在进行排序的时候,并不需要像上图一样复杂的推一遍,而是有更加快速的方法,这里我介绍两种方法:
① 倒序算法;
这个方法是先将所有的输入标上位置标号(比如 x[0] 标号是 0,x[1] 标号是 1),然后将这些位置标号用二进制写出来。将二进制数中的最高有效位作为最低位,而最低有效位作为最高位,每次都在最高位加 1 ,进位进在次高来得到下一个数的序号。
比如我们要进行 8 点的 FFT,那么第一个序号为 000(这个不管几点的 FFT 都是默认的),第二个序号为 100,第三个序号为 010(最高位加 1 后次高位进 1),第四个序号为 110…
② 对称法;
本质上与倒序算法是一样的,这种方法需要先找到二进制数的中心轴,奇数个二进制数的中心轴为最中间的数,偶数个则为两边二进制数相同的点,然后(以 8 点 FFT 为例)按照 000、001、010、011、100… 的顺序从大到小写出二进制数,最后以中心轴为对称轴翻转,如下图所示:

上面介绍的均是输入倒序、输出顺序的 FFT ,当然也可以输入顺序、输出倒序,不过就是将输入的顺序调一调而已。最终转换出来的 FFT 图与前面的类似(这里以 4 点 FFT 为例):


可以看到,输入顺序、输出倒序的 FFT 是先进行 4 点的伪 DFT(之所以是伪 DFT 是因为输入的两个权重都是 ,如果是 4 点 FFT 应该一个是 一个是 ) ,然后再进行 2 点的 DFT,要注意的是权重的位置需要变化。
基 2 时间抽取法的特点




FFT 算法——基 2 频率抽取法



FFT 算法——其他基抽取法
这部分还是看上面的 pdf 吧
FFT 算法——混合基算法
在利用 FFT 算法计算的时候,序列的长度往往不是 或是 ,可以通过序列补零来解决。但是,有些时候,补零的个数太多,影响计算的速度,因此可以采用混合基的方式来提高效率。

更多内容看下面的课件:
FFT 算法的应用

计算 2 个 N 点实序列的 FFT

例题:


计算 2N 点实序列的 FFT
相比于直接计算 2N 点的 FFT,利用 N 点复序列 FFT 来计算效率更高。


例题:



计算 N 点复序列的 IFFT


例题:

IIR 数字滤波器
💡 Key Words
这里的关键词只是帮助大家看完右侧的笔记后回忆内容,不是跳转链接!!
- 数字滤波器的介绍
- BW 型模拟滤波器
- 切比雪夫滤波器
- Ⅰ型
- Ⅱ 型
- 椭圆形滤波器
- 三种滤波器的比较
- 低通 → 其他三种滤波器
- 模拟滤波器 → 数字滤波器
- 脉冲响应不变法
- 双线性变换法
🔗 Relevant Information
📝 Class Notes
数字滤波器的介绍
在陈后金的课程中, 表示的是数字滤波器频率, 表示的是模拟滤波器的频率。

分类:

IIR 系统的定义:

实际数字滤波器(通带截止频率、阻带截止频率、通带波动、阻带波动):

IIR 滤波器设计步骤:

BW 型模拟滤波器
BW 型模拟滤波器的介绍:
衰减函数: .



BW 型模拟滤波器的设计步骤:





切比雪夫滤波器和椭圆型滤波器
切比雪夫滤波器分为 Ⅰ 型和 Ⅱ 型,前者在通带有波动但是阻带没有,后者在阻带有波动而通带没有。
切比雪夫 Ⅰ 型滤波器:


设计步骤



切比雪夫 Ⅱ 型滤波器:


设计步骤:


(*)椭圆型滤波器:

设计类型


三种滤波器的比较:
- 在相同设计指标下, BW型滤波器的阶数最高,椭圆滤波器的阶数最低。

- 在滤波器的实现过程中, BW型滤波器最容易实现, 而椭圆滤波器不易实现(因为其系统函数H(s)的极点离 jω 轴最近)。

- 在相同设计指标下, BW型滤波器的裕量最多, 椭圆滤波器的裕量最少。

模拟高通、带通、带阻滤波器的设计
通过前面滤波器的介绍,我们知道,可以先设计 原型低通滤波器,然后再将原型低通滤波器转换成高通、带通、带阻滤波器。
低通 → 高通


低通 → 带通



低通 → 带阻



总结表格

模拟滤波器 → 数字滤波器
有两种方法,① 脉冲响应不变法;② 双线性变换法。在由模拟滤波器转换为数字滤波器的时候,只考虑频率的变化,而不考虑阻带和通带衰减值的变化。
脉冲响应不变法
原理:




优缺点:


因此只能用于设计低通和带通滤波器,不能用于设计高通和带阻滤波器。
例题:
题目:

求解过程:




双线性变换法
可以看作是脉冲响应不变法的一个改进,用于避免混叠现象的出现。它在脉冲响应不变法之前加入了一个非线性的映射,使原来的信号成为带限信号,信号范围在 与 之间。
原理:

图中为什么 arctan 括号中的 ω 也要变成 呢?其实这跟数学中的极限有些关系,当 ω → 0 的时候, , 。


优缺点:

设计步骤及例题:

例题 1(低通):
题目:

求解过程:


例题 2(带阻):
题目:

求解过程:





❓ My Doubts
✔️ Question 1
My Question is:
BW 型模拟滤波器、切比雪夫滤波器、椭圆形滤波器的原理都没有弄懂。
My Answer:
它们的设计都是基于一个模板函数来进行的,而模板函数的由来并不需要掌握,根据模板函数,我们可以通过通带衰减频率、阻带衰减频率、通带截止频率和阻带截止频率来求解模板函数中的未知参数(两个或三个)。
✔️ Question 2
My Question is:
低通 → 带通滤波器的设计中,为什么会有 ,这个公式是如何得来的。

My Answer:
这个公式的由来并不重要,记住公式就行。
✔️ Question 3
My Question is:

图中 ω₀ → 0 的过程是通过什么公式来完成的?
为什么能得出幅频响应不对称的结论?

为什么要取两者中的较小值,取两者中的较大者有什么问题呢?
My Answer:
图中 ω₀ → 0 的过程是通过什么公式来完成的?
就是通过 来计算的,因此是映射关系。
为什么能得出幅频响应不对称的结论?
因为是映射关系,不是简单的平移关系,不能保证 左右两侧的映射是一样的。
为什么要取两者中的较小值,取两者中的较大者有什么问题呢?
取较大者会造成阻带的衰减不满足条件。
FIR 数字滤波器
这一章节的内容没有太懂,很多地方直接贴了 ppt .78 - 82 例题部分跳过了,没有看,等到滤波器学通透了再看。
💡 Key Words
这里的关键词只是帮助大家看完右侧的笔记后回忆内容,不是跳转链接!!
- FIR
- 线性相位系统
- 4 个类型的线性相位系统
- 零点分布
- 矩形窗函数
🔗 Relevant Information
📝 Class Notes
Finite Impulse Response,有限冲激响应滤波器
FIR 的引入


FIR 滤波器指标:

数字滤波器的设计:

线性相位系统的判断


上图中的对称性可以通过下图的例子来理解:

线性相位系统的时域特性及频域特性
时域特性:

频域特性:
Ⅰ 型线性相位系统:

为什么是提取 呢?
因为第一项与最后一项 e 的幂数相加除以 2 就是它,第二项与倒数第二项也是如此。


Ⅱ 型线性相位系统:



Ⅲ 型线性相位系统:



Ⅳ 型线性相位系统:



这里需要注意的是, 虽然是以 2π 为周期的,但是 却不一定是,要将两者区分清楚。
频域特性总结:


线性相位系统的零点分布
FIR 滤波器的对称性:

为零点,则其倒数也为零点:

为复零点,则其共轭也为零点:

零点分布的 4 种情况

之所以能够展开成 z 域因式的形式是因为 ,最终肯定会化简为 的形式。



利用窗函数设计 FIR 滤波器
设计原理和方法
设计原理:


设计方法:

使用矩形窗函数进行设计


吉伯斯现象(吉布斯现象):





其他窗函数
阻带衰减值: 汉宁窗 < 海明窗 < 布莱克曼窗。
过渡带宽度: 汉宁窗 < 海明窗 < 布莱克曼窗。
说明阻带衰减值越大,过渡带宽度越大,阻带的衰减是以牺牲过渡带宽度来获得的。
凯瑟窗是参数可调的窗函数。
利用频率取样法设计 FIR 滤波器
设计原理



设计方法

改进方法

优化设计
优化设计的概念

两个误差准则
最大最小误差准则:

积分加权平方误差准则:

优化设计的基本原理

利用误差准则设计
利用积分加权平方误差准则设计:




利用最大最小误差准则设计:






FIR 滤波器和 IIR 滤波器的比较



IIR 滤波器的基本结构
直接型结构


直接 Ⅰ 型结构:

直接 Ⅱ 型结构:
需要进行两步操作,第一步,交换 与 的顺序:

第二步, 与 共用延时器:

转置直接 Ⅱ 型结构:

根据转置定理,在信号流图中若改变所有支路的传输方向,并交换输入和输出的位置,则系统函数不变。
级联型结构

基于直接 Ⅱ 型的级联型结构:

基于转置直接 Ⅱ 型的级联型结构:

并联型结构

基于直接 Ⅱ 型的并联型结构:

基于转置直接 Ⅱ 型的并联型结构:

直接型结构的特点

级联型结构的特点

并联型结构的特点

直接型结构和其他结构的规律


根据系统函数画信号流图的原理参见 ⤴️这里⤴️
结构框图

线性相位 FIR 滤波器的直接型结构:




级联型:

有限字长效应
由于计算机存储一个量的内存是有限的,如 32位,16位等,存储单元是有限的,因此会有有限字长效应,而且有量化误差产生。
输入量化误差的介绍

理论上,任意十进制数x (-1<x<1)都可用无限位二进制数表示,实际中,只能用 (b+1)位有限位近似表示x,此过程称为量化。当利用有限位二进制数近似表示需无限位二进制表示的数时,将会产生误差,此误差称为量化误差。

数值量化方式:



滤波器的系数量化误差
FIR 滤波器:


IIR 滤波器:



❓ My Doubts
❓ Question 1
My Question is:
FIR 滤波器部分的两种方法都没有搞清楚,将所有视频看完后需要单独再看相关的内容
- 所谓的时域逼近和频域逼近就没太搞清楚。
- 和 之间的关系是怎么样的?
My Answer:
多速率信号处理
💡 Key Words
这里的关键词只是帮助大家看完右侧的笔记后回忆内容,不是跳转链接!!
- 多速率处理的原因
- 抽取滤波器
- 内插滤波器
- Ⅰ 型多相分解
- Ⅱ 型多相分解
🔗 Relevant Information
📝 Class Notes
为什么要进行多速率处理?
信号的抽样:

信号的重建:

16 kHz → 16 kHz:

32 kHz → 16 kHz:

8 kHz → 16 kHz:

多速率信号处理可以完成信号抽样速率的转换,原来的系统需要选取特定的频率 进行转换,否则就会发生最终的信号失真的问题(如音频信号播放速度发生变化),而多速率系统可以先将信号通过 进行采样,然后再经过 多速率转换后得到相应的信号。


多速率处理的基本单元
抽取和内插的时域、频域分析
M 倍的抽取(下采样):

L 倍内插(上采样):

M 倍抽取的频域分析:

M 倍抽取不混叠的条件:

L 倍内插的频域分析:


抽取和内插的等效连接




抽取滤波器

抽取滤波器存在的意义就是在信号不满足上述不混叠的条件时,成功将信号恢复。
为了让信号不发生混叠,需要将信号通过低通滤波器成功滤出来,而低通滤波器是难以实现的,因此,我们只能通过设计低通滤波器让阻带尽量逼近 。

抽取滤波器的时域表示:

问题复现:

通过抽取滤波器后下采样恢复信号:

内插滤波器

内插滤波器指的就是用于滤除内插后信号中镜像分量的低通滤波器。

内插滤波器的设计效果如上图所示,仅保留符合条件的分量。
内插滤波器的时域表示:

问题分析:

这是之前声音变快的一个样例。
问题解决:

在信号经过上采样后,它会被输入到内插滤波器中,内插滤波器不仅会将多余的信号滤除,同时也会将插入的点根据周围点的值变化,最终形成图中所示的效果。
数字滤波器的Ⅰ 型多相分解

多相分解的矩阵表示:

多相分解举例:

多相分解的系统框图:

多相分解的图像解释:

例题:

数字滤波器的 Ⅱ 型多相分解
Ⅱ 型多项分解的引入:


Ⅱ 型多项分解的系统框图:

多相分解的实际应用(为什么要进行多相分解?)
在多速率处理部分,我们得知:

多项分解实现抽取滤波器:

上述的过程是先将 M 放入所有的支路中,然后在经过顺序交换消除 中 z 的幂次,简化计算过程。
多项分解实现内插滤波器:

两通道滤波器
基本概念:


Y(z) 的表达式:

无混叠滤波器组:



π/2 镜像滤波器组(QMF 滤波器组):



Matlab 的应用
Relevant Information
- 作者:df
- 链接:https://blog.xiaoyuezhou.top/learning/note-3
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章