讲座: 快速离散傅立叶变换 本讲的教学内容 改进DFT计算的方法 按时间抽取的FFT算法(DIT FFT)

Slides:



Advertisements
Similar presentations
3 的倍数的特征 的倍数有 : 。 5 的倍数有 : 。 既是 2 的倍数又是 5 的倍数有 : 。 12 , 18 , 20 , 48 , 60 , 72 , , 25 , 60 ,
Advertisements

2 和 5 的倍数的特征 运动热身 怎样找一个数的倍数? 从小到大写出 2 的倍数( 10 个): 写出 5 的倍数( 6 个) 2 , 4 , 6 , 8 , 10 , 12 , 14 , 16 , 18 , 20 5 , 10 , 15 , 20 , 25 , 30.
2.8 函数的微分 1 微分的定义 2 微分的几何意义 3 微分公式与微分运算法则 4 微分在近似计算中的应用.
第八章 第四节 机动 目录 上页 下页 返回 结束 一个方程所确定的隐函数 及其导数 隐函数的微分法.
2.3 函数的微分. 四川财经职业学院 课前复习 高阶导数的定义和计算方法。 作业解析:
冀教版四年级数学上册 本节课我们主要来学习 2 、 3 、 5 的倍数特征,同学们要注意观察 和总结规律,掌握 2 、 3 、 5 的倍 数分别有什么特点,并且能够按 要求找出符合条件的数。
练一练: 在数轴上画出表示下列各数的点, 并指出这些点相互间的关系: -6 , 6 , -3 , 3 , -1.5, 1.5.
信号与系统 第三章 傅里叶变换 东北大学 2017/2/27.
圆的一般方程 (x-a)2 +(y-b)2=r2 x2+y2+Dx+Ey+F=0 Ax2+Bxy+Cy2+Dx+Ey+ F=0.
第五章 二次型. 第五章 二次型 知识点1---二次型及其矩阵表示 二次型的基本概念 1. 线性变换与合同矩阵 2.
第三章 函数逼近 — 最佳平方逼近.
第四章 快速付里叶变换(FFT) Fast Fourier Transforming
10.2 立方根.
第2章 时域离散信号和系统的频域分析 教学内容包括: 序列的傅立叶变换定义及性质 Z变换的定义与收敛域 利用z变换分析信号和系统的频域特性.
四种命题 2 垂直.
第5章 定积分及其应用 基本要求 5.1 定积分的概念与性质 5.2 微积分基本公式 5.3 定积分的换元积分法与分部积分法
第三节 函数的求导法则 一 函数的四则运算的微分法则 二 反函数的微分法则 三 复合函数的微分法则及微分 形式不变性 四 微分法小结.
不确定度的传递与合成 间接测量结果不确定度的评估
第三节 格林公式及其应用(2) 一、曲线积分与路径无关的定义 二、曲线积分与路径无关的条件 三、二元函数的全微分的求积 四、小结.
第二章 导数与微分 第二节 函数的微分法 一、导数的四则运算 二、复合函数的微分法.
2-7、函数的微分 教学要求 教学要点.
实验二 FFT与DFT计算时间的比较及圆周卷积代替线性卷积的有效性实验
第5章 §5.3 定积分的积分法 换元积分法 不定积分 分部积分法 换元积分法 定积分 分部积分法.
第2章 Z变换 Z变换的定义与收敛域 Z反变换 系统的稳定性和H(z) 系统函数.
第二章 矩阵(matrix) 第8次课.
Fast Fourier Transforms
元素替换法 ——行列式按行(列)展开(推论)
§2 求导法则 2.1 求导数的四则运算法则 下面分三部分加以证明, 并同时给出相应的推论和例题 .
Biomedical signal processing
Chapter 3 Discrete Fourier-Transform (Part Ⅰ)
第8章 静电场 图为1930年E.O.劳伦斯制成的世界上第一台回旋加速器.
第七讲 快速傅里叶变换 (FFT) Q&A 办公室: 手 机:
第一章 函数与极限.
2.1.
第四章习题.
课题:1.5 同底数幂的除法.
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
第四节 基--2按频率抽取的FFT算法Decimation-in-Frequency(DIF) (Sander-Tukey)
复习.
信号处理原理 F F T 实 验 张哲 沈阳广播电视大学.
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
第4章 Excel电子表格制作软件 4.4 函数(一).
正切函数的图象和性质 周期函数定义: 一般地,对于函数 (x),如果存在一个非零常数T,使得当x取定义域内的每一个值时,都有
§8.3 不变因子 一、行列式因子 二、不变因子.
§6.7 子空间的直和 一、直和的定义 二、直和的判定 三、多个子空间的直和.
1.设A和B是集合,证明:A=B当且仅当A∩B=A∪B
第4课时 绝对值.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
第七、八次实验要求.
2.2矩阵的代数运算.
第15讲 特征值与特征向量的性质 主要内容:特征值与特征向量的性质.
2019/5/21 实验一 离散傅立叶变换的性质及应用 实验报告上传到“作业提交”。 11:21:44.
§2 方阵的特征值与特征向量.
§7.3 离散时间系统的数学 模型—差分方程 线性时不变离散系统 由微分方程导出差分方程 由系统框图写差分方程 差分方程的特点.
欢迎大家来到我们的课堂 §3.1.1两角差的余弦公式 广州市西关外国语学校 高一(5)班 教师:王琦.
基于列存储的RDF数据管理 朱敏
第8章 FFT设计 8.1 FFT的原理 8.2 FFT与蝶形运算 8.3 使用DSP Builder设计FFT
第四节 向量的乘积 一、两向量的数量积 二、两向量的向量积.
第四章 快速傅里叶变换 §4-1 引言 频域分析:一种有效的工具 DFT: △ 问题:.
第三节 数量积 向量积 混合积 一、向量的数量积 二、向量的向量积 三、向量的混合积 四、小结 思考题.
第十七讲 密码执行(1).
第十二讲 密码执行(上).
三角 三角 三角 函数 余弦函数的图象和性质.
位似.
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
§4.5 最大公因式的矩阵求法( Ⅱ ).
第二次课后作业答案 函数式编程和逻辑式编程
一元一次方程的解法(-).
第三章 图形的平移与旋转.
9.3多项式乘多项式.
Presentation transcript:

讲座: 快速离散傅立叶变换 本讲的教学内容 改进DFT计算的方法 按时间抽取的FFT算法(DIT FFT) 按频率抽取的FFT算法(DIF FFT) 可以看出,当有多次观测的数据时,估计为样本的平均值,这符合我们常规的试验数据处理的习惯。

第十章 快速离散傅立叶变换 (1) FFT:Fast Fourier Transform (2)傅立叶级数和傅立叶变换理论在19世纪就已经提出,时域离散傅立叶变换理论也在20世纪初发展完善.但由于其手工计算的复杂性,在工程实践中并没有得到广泛应用.相反,在应用中使用广泛的是其它一些手工计算相对简单的数学分析手段,如沃尔什变换.直到1965年, 库利-图基提出了针对N时复合数情况的快速离散傅立叶变换算法,与传统算法相比降低了1~2个数量级,由此引发了研究快速算法的热潮.这些算法统称为FFT. FFT算法的广泛应用,不仅奠定了离散傅立叶变换在数字信号处理中的经典地位,也极大推动了数字信号处理应用与发展.

第一节 改进DFT计算的方法 衡量算法的复杂性: 乘.加法运算次数,不考虑控制调度等操作;只考虑DFT的正变换,因为: K=0,1, …,N-1 DFT正变换 DFT反变换 反变换相对正变换:输入取共扼;输出取共轭并加权.

第一节 改进DFT计算的方法 直接计算DFT的运算量 n=0,1, …,N-1 k=0,…,N-1 复数运算 对每一个k值: 复乘: N 复加: N-1

第一节 改进DFT计算的方法 对所有k: 复乘: 复加: N(N-1) 即复数运算量与 近似成正比 (不考虑 情况) 实数运算 即复数运算量与 近似成正比 (不考虑 情况) 实数运算 可以看出,当有多次观测的数据时,估计为样本的平均值,这符合我们常规的试验数据处理的习惯。 k=0,…,N-1

第一节 改进DFT计算的方法 对每一个固定k : 对所有k : 实乘: 4N2 实加: 2N(2N-1)= 4N2 -2N 实数运算量与 近似成正比 可以看出,当有多次观测的数据时,估计为样本的平均值,这符合我们常规的试验数据处理的习惯。 结论:直接计算DFT的乘.加运算量近似与 成正比.

第一节 改进DFT计算的方法 改善运算效率的途径 (1)利用 的对称性和周期性等特性合并运算项 复共轭对称性: 对n和k的周期性: 可约性 (1)利用 的对称性和周期性等特性合并运算项 复共轭对称性: 对n和k的周期性: 可约性 特殊值

第一节 改进DFT计算的方法 例:利用对称性,可以合并对称项: 式中其它各对称项也可以找到类似归并办法.这样乘法次数大约可减少一半. (2) 大点数DFT逐次分解成小点数DFT)分解 正是FFT算法的基本原理

第一节 改进DFT计算的方法 FFT的基本原理: 为了提高DFT的运算效率, 把大点数DFT按倒位序逐次分解为更小点数DFT的合成.在分解过程中,要利用系数 的对称性和周期性. 如果算法是逐次分解时间序列得到的,那么这种分解算法称为按时间抽取算法.阐述按时间抽取原理最方便的方法是研究 这种特殊情况.由于N为2的整数幂,可以不断将x(n)一分为二. 这就是最常用的基-2FFT算法. 如果序列不满足这个条件,可以人为地加上若干零点得到.

第二节 按时间抽取FFT算法 算法原理: 假设序列x(n)长为 (n=0,…,N-1), 由于N为 偶数,可以将x(n)按n为奇数和偶数分解为两个 N/2的长序列,并依此逐级分解来计算x(k).

第二节 按时间抽取FFT算法 第一级分解 定义偶序列与奇序列: 是x(n)按n为奇、偶数分为2个子序列,得:

第二节 按时间抽取FFT算法 上式可写为:

第二节 按时间抽取FFT算法 其中: k=0,…N/2-1

第二节 按时间抽取FFT算法 上式表明一个N点的DFT可以分解成两个 点的 DFT. 这两个 点的DFT又可按式合成一个N点 DFT 一个问题: 和 的长度为 , 它们的DFT 和 的点数也为 , 而x(k)却有N个点。 利用 的周 期性解决这一问题,即:

第二节 按时间抽取FFT算法 同样可得 即: 和 的周期为 把 表达为前后两个部分: 前半部分 k=0,… 后半部分 k=0,…

第二节 按时间抽取FFT算法 这样只要求出0 ~ -1 区间所有 和 ,就可以求出0~N-1 区间内全部X(k)的值.这就是FFT运算的关键所在。用以下信号流图表示为: 根据流图的形状,上述运算称为碟形运算。

第二节 按时间抽取FFT算法 当 一次分解后DFT运算的信号流图为: 运算分析: 一次蝶形运算: 复乘: 1 复加: 2

第二节 按时间抽取FFT算法 一次分解: 2个 点DFT+ 个蝶形运算 复乘: 复加: 直接计算N点DFT所需复乘 一次分解: 2个 点DFT+ 个蝶形运算 复乘: 复加: 直接计算N点DFT所需复乘 ,复加N(N-1),可见当 N较大时,一次分解后运算量减少近一半. 由于 N= (M>1), 经一次分解后 仍为偶数,可以 进一步把每个 点DFT再分别分解为两个 点DFT的组合.

第二节 按时间抽取FFT算法 第二级分解 可得:

第二节 按时间抽取FFT算法 其中: 与第一级分解一样,利用 和 隐含的周期性, 为 改写为前,后两部分:

第二节 按时间抽取FFT算法 由此一个 点DFT分解成两个 点的DFT. 其流图为:

第二节 按时间抽取FFT算法 也可以进行同样分解: 奇序列中的偶序列,奇序列中的奇序列

第二节 按时间抽取FFT算法

第二节 按时间抽取FFT算法 其中: 为 改写为前,后两部分:

第二节 按时间抽取FFT算法 系数统一为 (今后都使用统一的系数),这样, 一个N点DFT就分解成4个N/4点的DFT,其信号流图为:

第二节 按时间抽取FFT算法 根据前面的分析,第二级分解组合比第一级分解后的 运算量又降低了一半. 对于N=8点的DFT,经过两次分解后,最后剩下四 个N/4=2 的DFT,即 (k =0,1).尽管2点长的DFT只有加减法,仍然可用蝶式运算单元来统一表示.

第二节 按时间抽取FFT算法 例如 组成的2点DFT 可用公式计算: 类似,其它3个2点长DFT都可以用一个蝶式运算单元求得,综合这三级分解过程,可得到一个完整的8点DFT信号流图.

第二节 按时间抽取FFT算法 这种方法每次分解都是按输入序列在时域上的次序是偶数还是奇数来抽取的,故称之为按时间抽取法.

第二节 按时间抽取FFT算法 运算量分析 由DIT FFT信号流图可见,对于任何一个 点DFT运算,都可以通过M次分解,最后分解成2点DFT运算的组合.这样的M级分解,就构成了M级运算过程.每级N/2个蝶形运算. 每一级: 复乘: 复加:

第二节 按时间抽取FFT算法 全部M级: 复乘 复加 结论: DIF FFT运算量与 近似成正比.

第二节 按时间抽取FFT算法 三. 按时间抽取的FFT算法特点. 1. 蝶式运算 系统由大量蝶式运算单元组成,每个蝶式运算的迭代任务是:

第二节 按时间抽取FFT算法 注: 是输入数据 为节点,m:表示第m列叠代。p,q:为数据所在行数,对应信号流图下图所示:

第二节 按时间抽取FFT算法 (1)蝶式运算的节点距离 (p,q间的距离) 以N=8为例 m 1 2 3 q-p 1 2 4 推广:基-2 DIF FFT中,第m级蝶式运算节点间距离为 蝶式运算可写成:

第二节 按时间抽取FFT算法 (2) 的确定 每一级的旋转因子都不相同,但排列很有规律,下表所示。

第二节 按时间抽取FFT算法 2. 原址运算 多级蝶式运算结构会产生大量中间结果.如果运算式要保存这些中间结果,则需要耗费大量资源(存贮器)观察FFT信号流图,可以发现任何两个节点(p与q)经过蝶式运算后,其结果即为下一列p,q两节点的变量. 而每一级蝶式运算的输出,在该级运算结束之后无需 保存.因此,任何一个蝶行运算的两个输出结果仍然可 以存放两个输入值所在的存储单元中.这样,整个运算 只需要N个寄存器,他们保存输入数据,并不断对每一 级运算结果刷新,直到最后输出。其优点在于节省存储资源.

第二节 按时间抽取FFT算法 3. 倒位序 观察同址运算结构,可以发现FFT输出端X(k)正好按0~7自然顺序排列的,而输出序列x(n)不是按0~7自然顺序排列。x(n)排列表面上混乱无序,而隐含着有规律的排列,即”倒位序”存贮,以N=8点FFT结构来说明。

第二节 按时间抽取FFT算法 存储器号 数据 结论:

第二节 按时间抽取FFT算法 从中我们可以发现: 若 , 则: 倒位序排列是由于不断将DFT运算分解为较小点数DFT计算造成的。序列x(n)首先分成偶数标号和奇数标号两个子序列:偶数序列出现在流图上半部,奇数序列出现在流图下半部。从形式上说,这样的划分可通过分析标号n的二进制表示 的最低位 来实现。标号为偶数,则 =0,标号为奇数,则 =1。这样 =0的标号出现在流图上半部

第二节 按时间抽取FFT算法 =1的标号出现在下半部。下一次奇偶序列的分解又分别根据标号二进制表示的倒数第二位 开始,根据 分别将第一次分解生成的两个子序列再一次按奇偶性分开。持续该过程,直得到N个长度为1的子序列。最后的排列顺序呈”倒位序”

第二节 按时间抽取FFT算法 所以要实现FFT算法,首先必须把按自然顺序存放的数据变换成按倒序存放。这一过程称为整序,N=8时的整序过程下图所示。

第二节 按时间抽取FFT算法 小结: 1. 算法原理 2. 计算量: 复乘: 复加: 3. 运算特点:蝶式运算.同址运算.倒位序

第三节 按频率抽取FFT算法 DIT:将输入序列x(n)按其标号n为奇数或偶数分解成短序列 DIF:将输出序列X(k)按其k值为奇数或偶数分解成短序列 算法原理 仍讨论基-2FFT,即 频域抽取法是将X(k)按标号k的自然顺序分成前后两半(注意:不再是奇偶顺序)

第三节 按频率抽取FFT算法

第三节 按频率抽取FFT算法 按k为偶数或是奇数将x(k)分解成两部分

第三节 按频率抽取FFT算法 令 输入序列前一半与后一半之和 输入序列前一半与后一半之差再与 乘积

第三节 按频率抽取FFT算法 可通过一蝶式运算(结构)单元得到: 与

第三节 按频率抽取FFT算法 这样一个N点 DFT就分解为两个N/2点DFT。以N=8为例,上述分解过程如图所示:

第三节 按频率抽取FFT算法 一次分解的运算过程分为两步: (1)前后两半序列合成 与 (2)分别求 与 N/2点DFT,结果为x(k)偶奇部分 特点:输入进行分解合成,输出不用合成,但顺序有变。 和DIT-FFT一样,N一次分解后,N/2仍是偶数,因此可进一步按上述方式分解,直至最后N/2个2点DFT的全部N个输出就是x(n)的N点DFT 。

第三节 按频率抽取FFT算法 下图是N=8时完整的按频率抽取的FFT结构

第三节 按频率抽取FFT算法 从上图可以看出,按频率抽取算法共有M级,每一级都有N/2个蝶形运算。因此N点FFT有NM/2个蝶形运算,每个蝶形运算需要一次复数乘法和二次复数加数,因此运算量与时域抽取相等。 复乘: 复加: 运算特点 和DIT-FFT基本相同,都是通过蝶形运算完成,也是原位运算,但其输入是正常位序,输出为倒位序。按流图转置定理,即将流图的所有支路方向取反,交换输入输出,系数保持不变,可得到流图的转置形式。比较DIT-FFT流图可知它们互为转置。根据转置定理,两个流图的输入输出特性相同。因此频率抽取法和时间抽取法是两种等价的FFT运算。

第三节 按频率抽取FFT算法 DIF FFT与DIF FFT的比较 区别: ①倒位序方式不同 ②蝶形运算的结构不同 相似: ①运算结构类似运算量相同 ②同位运算 ③互为转置 等价