Appearance
数字信号处理复习提纲
本文档仅用于复习蒋武杨老师的课程《数字信号处理》。参考书本为《数字信号处理(第五版)》9787560664828。
绪论
P2
数字信号处理的实现方法,分为软件实现方法和硬件实现方法:
- 软件实现方法指的是按照原理和算法,自己编写程序或者采用现成的程序在通用计算机上实现;
- 用单片机实现的方法属于软硬结合实现......采用专用的数字信号处理芯片(DSP芯片)是目前发展最快、应用最广的一种方法;
- 对于更高速的实时系统,DSP的速度也不满足要求时,应采用可编程超大规模器件或开发专用芯片来实现。
第1章
时域离散信号和时域离散系统
P4
如果信号的 自变量 和 函数值 都是 连续值 ,则称这种信号为 模拟信号 ,或者称为 时域连续信号 ,例如语言信号、温度信号等;
如果 自变量 取 离散值 , 而 函数值 取 连续值 , 则称这种信号为 时域离散信号 ,这种信号通常来源于对模拟信号的采样;
如果信号的 自变量 和 函数值 均取 离散值 , 则称为 数字信号 。
P5
信号有模拟信号、时域离散信号和数字信号之分,按照系统的输入输出信号的类型,系统也分为模拟系统、时域离散系统和数字系统。
数字信号处理最终要处理的是数字信号,但为简单,在理论研究中一般研究时域离散信号和系统。
假设模拟信号
按照国际通用惯例,模拟信号的
用圆括号,而数字信号的 用方括号。方括号用来提醒读者:方括号里的自变量 只取整数。 至于在考试时,圆括号和方括号都算对。
显然
时域离散信号有三种表示方法
- 用集合符号表示序列
- 用公式表示序列
- 用图形表示序列
P7
单位脉冲序列 (n)
单位脉冲序列也称为单位采样序列,在《信号与系统》书中成为单位序列。
矩形序列
P8
正弦序列
式中,
在《信号与系统》书中,把数字域频率称为数字角频率。
如果正弦序列是由模拟信号
上述公式具有普遍意义,它表示凡是由模拟信号采样得到的序列,模拟角频率
上式表示数字域频率是模拟角频率对采样频率的归一化频率。本书中用
P9
负指数序列
式中,
由于
上面公式中
周期序列
如果对所有
则称序列
对于一般正弦序列与负指数序列的周期性讨论请查阅书本P9。
P12
系统的输入、输出之间满足线性叠加原理的系统称为线性系统。
如果系统对输入信号的运算关系
P13
设系统的输入
在《信号与系统》书中称为单位序列。
P18
如果系统
P19
如果对有界输入,系统产生的输出也是有界的,则称该系统具有稳定性质,或称该系统为稳定系统。
P24
模拟信号数字处理框图
ADC(Analog/Digital Converter) 模/数转换器
DAC(Digital/Analog Converter) 数/模转换器
P27
总结上述内容,采样定理叙述如下:
(1)对连续信号进行等间隔采样形成采样信号,采样信号的频谱是原连续信号的频谱以采样频率
关键符号说明:
:采样信号的频谱; :原连续信号的频谱; :采样脉冲(冲击串)的频谱; :采样角频率( 为采样周期); :单位冲击函数; :整数,代表周期延拓的“副本”序号。
(2)设连续信号
实际中对模拟信号进行采样,需根据模拟信号的截止频率,按照采样定理的要求选择采样频率,即
加平滑滤波器的原因请查阅书本P32第五行
第2章
时域离散信号和系统的频域分析
P79
设系统初始状态为零,系统对输入为单位脉冲序列
一般称
将
上面提到的 ”对
进行傅里叶变换“ 、”对 进行 变换“ 等术语,在我们学习时可不用理会,即使不学文中所说的 ”傅里叶变换“、” 变换“ ,仍能理解相关知识点。
第3章
离散傅里叶变换(DFT)
P95~P98
设
式中,
按照国际通用惯例,DFT的
用方括号,表示 只取整数。
前面定义的 DFT 变换对中,
所以离散傅里叶变换式中,
实际上,任何周期为
上述关系如书本P98图 3.1.2(a) 和 (b) 所示。一般称周期序列
P99
MATLAB 提供了用快速傅里叶变换算法 FFT(算法见第 4 章介绍)计算 DFT 的函数 fft,其调用格式如下:
Matlab
XK = fft(xn, N)调用参数 xn 为被变换的时域序列向量,N 是 DFT 变换区间长度。当 N 大于 xn 的长度时,fft 函数自动在 xn 后面补零。函数返回 xn 的 Xk,这时,N 小于 xn 的长度时,fft 函数计算 xn 的前面 xn 后面的元素。
ifft 函数计算 IDFT ,其调用格式与 fft 函数相同,可参考 help 文件。
P118
用 DFT 分析连续信号谱的原理示意图
P120
在对连续信号进行谱分析时,主要关心两个问题,这就是谱分析范围和频率分辨率。
谱分析范围为
频率分辨率用频率采样间隔
P125~P126
DFT(实际中用 FFT 计算)可用来对连续信号和数字信号进行谱分析。在实际分析过程中,要对连续信号采样和截断,有些非时限数据序列也要截断,由此可能引起分析误差。下面分别对可能产生误差的三种现象进行讨论。
(1)混叠现象
对连续信号进行谱分析时,首先要对其采样,变成时域离散信号后才能用 DFT (FFT) 进行谱分析。采样速率
(2)栅栏效应
我们知道,
由于栅栏效应,有可能漏掉(挡住)大的频谱分量。为了把原来被“栅栏”挡住的频谱分量检测出来,就必须提高频率分辨率。
- 对于有限长序列:可以在原序列尾部补零;
- 对于无限长序列:可以增大截取长度及 DFT 变换区间长度。
从而使频域采样间隔变小,增加频域采样点数和采样点位置,使原来漏掉的某些频谱分量被检测出来。对连续信号的谱分析,只要采样速率
(3)截断效应
实际中遇到的序列
由于内容过于繁多,第四章与第七章暂不整理。
部分作业题的解题过程与思路
第1章 13
对于连续信号
1. 识别角频率
连续标准余弦信号的一般形式为
对比题目信号,可以提取出角频率:
注:公式中的
2. 计算周期
连续余弦信号的周期
3. 代入求解
将
结论:
该连续信号的周期为
对连续信号进行采样,其核心过程就是将连续时间变量
1. 明确采样关系
已知连续信号:
采样间隔:
采样后的离散时间信号
2. 代入求解
将
化简各项相乘的部分:
与连续信号不同,离散时间正弦信号不一定都是周期的。它的周期性取决于其角频率与
我们来一步步推导
1. 提取离散角频率
已知上一步求得的采样信号为:
其中,离散角频率(通常用
2. 判定离散周期的条件
一个离散正弦序列具有周期
或者写成比值的形式:
也就是说,
3. 代入已知参数
将我们的
以上内容均由ai生成,答案正确,但过程略显繁琐,实际计算无需这么多步骤,可以自行化简。
第3章 18
已知条件:
谱分辨率要求:
信号最高频率:
1. 最小记录时间
根据频率分辨率与记录时间的关系
答:最小记录时间
2. 最大取样间隔
根据奈奎斯特采样定理,采样频率
因此,最低的采样频率为
答:最大取样间隔
3. 最少采样点数
总记录时间等于采样点数乘以取样间隔,即
答:最少采样点数
4. 频率分辨率提高1倍的 值
题目要求:“在频带宽度不变的情况下,使频率分辨率提高1倍(即
频带宽度不变:意味着分析信号的最高频率不变,即采样频率
保持不变(仍取 )。 频率分辨率提高1倍:新的频率分辨率
。
根据公式
(直观理解:既然采样频率不变,要让分辨率翻倍,就必须让观察信号的时间翻倍,因此采样点数也需要直接翻倍。
答:使频率分辨率提高 1 倍的
第4章 1
如果某通用单片计算机的速度为平均每次复数乘需要
已知条件:
计算点数:
复数乘法耗时:
复数加法耗时:
1. 直接计算 DFT 耗时
根据 DFT 定义公式
复数乘法次数:
复数加法次数:
代入
复数乘法次数
次 复数加法次数
次
直接计算总耗时
换算成秒:
2. 用 FFT (基-2) 计算耗时
采用基-2 FFT 算法时(设
复数乘法次数:
复数加法次数:
代入
复数乘法次数
次 复数加法次数
次
FFT 计算总耗时
换算成毫秒:
第4章 图4.2.4默写
本节内容请参考课本对应图片
要看懂或画出 8点 DIT-FFT(按时间抽选的基-2快速傅里叶变换)运算流图,我们需要从最基础的知识点开始“搭积木”。
1. 核心思想:分治法 (Divide and Conquer)
DIT-FFT 的核心思路是:将一个长序列的 DFT,不断地拆分成两个短序列的 DFT。 具体做法是按时间序列索引的奇偶性进行拆分:
第一步拆分:将
拆成两个 (偶数索引 构成一个,奇数索引 构成一个)。 第二步拆分:将每个
再拆成两个 。 第三步拆分:
本身就是最基础的单元。 由于 ,所以整个运算流图需要经过 级的运算。
2. 基础建筑模块:蝶形运算 (Butterfly Operation)
流图中最基本的交叉结构像一只蝴蝶,被称为“蝶形运算”。 一个标准的基-2蝶形运算包含两个输入端(设为
上端输出:
下端输出:
图解提示:在流图中,两根线相交并带有箭头,
3. 第一步:输入端序列的“倒位序” (Bit-Reversal)
因为我们在推导中不断按“奇偶”将时间序列(Time)抽选打乱,最终送入流图第一级的输入信号不再是
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
所以,运算流图最左侧的输入端,从上到下的顺序固定为:
4. 第二步:逐级分析运算流图 (3级流水线)
对于 8 点 DIT-FFT,一共有
第 1 级 (运算单元距离为 1)
计算内容:计算 4 个 2点DFT。
连线规律:相邻的两个点交叉组合形成一个蝶形。
蝶形1:
和 交叉 蝶形2:
和 交叉 蝶形3:
和 交叉 蝶形4:
和 交叉
旋转因子:所有蝶形的下支路均乘以
。
第 2 级 (运算单元距离为 2)
计算内容:将前一级输出的 2点DFT 组合成 2 个 4点DFT。
连线规律:跨越 1 个节点(即距离为 2)进行交叉。分成上下两大组(前四个点一组,后四个点一组)。
上半组蝶形1:第1条线与第3条线交叉。
上半组蝶形2:第2条线与第4条线交叉。
下半组蝶形1:第5条线与第7条线交叉。
下半组蝶形2:第6条线与第8条线交叉。
旋转因子:每组里的两个蝶形,下支路依次乘以
和 。
第 3 级 (运算单元距离为 4)
计算内容:将前一级输出的 4点DFT 组合成最终的 1 个 8点DFT。
连线规律:跨越 3 个节点(即距离为 4)进行交叉。所有 8 个点都在一组内进行交叉运算。
第1条线与第5条线交叉。
第2条线与第6条线交叉。
第3条线与第7条线交叉。
第4条线与第8条线交叉。
旋转因子:四个蝶形的下支路依次乘以
。
5. 总结:如何默写 N 点 DIT-FFT 流图?
确定级数:画
列蝶形。 确定输入:将输入序列按照倒位序排布在左侧。输出端在最右侧,为自然顺序
到 。 蝶形跨度:第
级的跨距为 。(例如第1级相邻跨1,第2级跨2,第3级跨4)。 旋转因子种类:第
级需要用到 种旋转因子。对于最后级(第3级),旋转因子按顺序为 。前面级别的旋转因子可以通过公式等效替换(如 )。
第7章 1
已知 FIR 滤波器的单位脉冲响应为:
已知条件:
1. 观察对称性
首先观察给定序列,不难发现它满足:
2. 求系统的频率响应
系统的频率响应是单位脉冲响应的离散时间傅里叶变换(DTFT):
将已知的
为了利用对称性,我们强制提取出中心相移因子
将括号内正负指数项重新进行配对:
根据欧拉公式
3. 求幅度特性
从上面的公式可以看出,
我们来判断一下
配方得到:
显然,对于任意的
答:幅度特性为
(或写成
4. 求相位特性
由于上述的幅度函数
答:相位特性为
(注意这是一个关于
5. 求群延时
群延时的定义是相位特性对角频率
将
答:群延时为恒定值 2。 (物理意义:这意味着所有不同频率的信号分量通过该滤波器时,都会被一致地延迟 2 个采样周期,从而保证信号的波形不会发生色散失真。)
以上内容均由ai生成,答案正确,但过程略显繁琐。在我看来,第三步得出
后,可以直接注意到 (相位特性), (幅度特性),以及群延时( 的导数)的表达式或值了。
第7章 10
利用布莱克曼窗(Blackman Window)设计线性相位 FIR 低通滤波器。要求希望逼近的理想低通滤波器通带截止频率
已知条件:
理想低通截止频率:
滤波器长度:
所用窗函数:布莱克曼窗(Blackman window)
1. 确定理想低通滤波器的单位脉冲响应
一个零相位的理想低通滤波器(截止频率为
为了设计一个因果的线性相位 FIR 滤波器,我们需要将这个非因果的响应向右平移。平移量(群延时)取决于滤波器的长度
将响应向右平移
当
2. 写出布莱克曼窗 的表达式
对于长度为
将
3. 计算最终的滤波器单位脉冲响应
根据窗函数法的设计原理,实际滤波器的单位脉冲响应
我们将前两步的结果合并,分情况写出最终的
1) 当
2) 当
因此:
4. 结论总结
答:利用布莱克曼窗设计的线性相位 FIR 低通滤波器,其单位脉冲响应
以上内容均由ai生成,答案正确,但过程略显繁琐。实际只用到了
, , 以及 的公式(还有一个高等数学的求极限)。甚至只需要记住 即可。
理解公式中每个符号的意义对于解题来说是很有帮助,强烈建议仔细阅读课本的第7章第2节开头部分的内容。