第十一讲 数字信号处理-DIT—FFT
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
r 0
r 0
r 0
2 x1 (r )(WN ) rk j 2 2 N j
r 0
2 k x2 (r )(WN ) rk WN
2 WN e
e
2 N /2
WN / 2
3. 求出子序列的DFT
X(k )
N / 2 1 r 0 rk x1 (r )WN / 2 rk k x2 (r )WN / 2WN r 0 N / 21
5. 求出后半部的表示式
rk r WN / 2 WN (/k2 N / 2)
k X(k ) X1 (k ) WN X 2 (k )
N / 21 N / 21 N r ( N / 2 k ) rk X 1 ( k ) x1 (r )WN / 2 x1 (r )WN / 2 X 1 (k ) 2 r 0 r 0 N / 21 N / 21 N r ( N / 2 k ) rk X 2 ( k ) x2 (r )WN / 2 x2 (r )WN / 2 X 2 (k ) 2 r 0 r 0
看出:后半部的k值所对应的X1(k),X2(k)则完全重复了前半部分的 k值所对应的X1(k),X2(k)的值。
又 W
(N / 2 k ) N
W
N /2 N
W W
k N
k N
N k 后半部分: X (k ) X 1 (k ) WN X 2 (k ) 2
6. 结论2
频域中的N个点频率成分为:
作图要素: (1)左边两路为输入 (2)右边两路为输出 (3)中间以一个小圆表示加、 减运算(右上路为相加输出、 右下路为相减输出)
W
X2(k)
k N
X 1 (k ) WNk X 2 (k )
(4)如果在某一支路上信号需要进行 (5)当支路上没有箭头及系 相乘运算,则在该支路上标以箭头, 数时,则该支路的传输比 将相乘的系数标在箭头旁。 为1。
• 其中基数2----N=2M,M为整数.若不满足这个条 件,可以人为地加上若干零值(加零补长)使 其达到 N=2M
思路:将N=8点分解成2个4点的DFT
x1(r) x(0) 偶 x(2) 数 序 x(4) 列 x(6) x2(r) x(1) 奇 数 x(3) 序 x(5) 列 x(7) X1(0) X1(1) 4点 X1(2) DFT X1(3) X2(0) W80 X2(1)W 1 4点 X2(2) 8 W82 DFT X2(3) 3
代入DFT变换式:
r 0,, N / 2 1
x(0),x(2)…x(2r)偶数点 x(1),x(3)…x(2r+1)奇数点
(2 x(2r 1)WN r 1) k
生成两个子序列
2 x(2r )WN rk N / 2 1 N / 2 1
X (k )
N / 2 1
N / 2 1
第2章 DFT及其快速算法
• 2-1 周期序列
• 2-2 离散傅立叶级数
• 2-3 离散傅立叶变换 • 2-4 频率采样理论 • 2-5 快速傅立叶变换 • 2-6 离散傅立叶反变换(IDFT) 的运算
2-5
快速傅里叶变换(FFT)
主要内容
• 1.直接计算DFT算法存在的问题及改进途径。 • 2. 时间抽取FFT算法
7. 结论3
•由于N=2M,因此N/2仍为偶数,可以依 照上面方法进一步把每个N/2点子序列, 再按输入n的奇偶分解为两个N/4点的子 序列,按这种方法不断划分下去,直到 最后剩下的是2点DFT,两点DFT实际上 只是加减运算。
X (k ) x(n)W , N 2时 X (0) x(0) x(1) X (1) x(0) x(1)
x1 (2 L) x3 ( L) 偶序列 N 若设: (L 0 1 ),在此L 0, 1 4 ) X4 x1 (2 L 1 x(L)奇序列 x2 (2 L) x5 ( L) 偶序列 N 同理: (L 0 1 ),在此L 0, 1 ) ( 4 x2 (2 L 1 x6 L)奇序列
X(0) X(1) X(2) X(3)
X(4) X(5) X(6) X(7)
W8
如:X(0) X 1 (0) X 2 (0)W80 X(2) X 1 (2) X 2 (2)W82
X( ) X 1 (1) X 2 (1)W81 X(4)~X(7) 1 X(3) X 1 (3) X 2 (3)W83 同学们自已写
(2) N/2(4点)-->N/4(2点)FFT
(a) 先将4点分解成2点的DFT:
• 若将N/2(4点)子序列按奇/偶分解成两个N/4点 (2点)子序列。即对将x1(r)和x2(r)分解成奇、 偶两个N/4点(2点)点的子序列。
x(0)、 x(4) 偶序列 x1 (r ) : x(2)、 x(6) 奇序列 x(1)、 x(5) 偶序列 同理:x2 (r ) : x(3)、 x(7) 奇序列
将N=8点分解成2个4点的DFT的信号流图
x1(r) x(0) 偶 x(2) 数 序 x(4) 列 x(6) x2(r) x(1) 奇 数 x(3) 序 x(5) 列 x(7) X1(0) X1(1) 4点 X1(2) DFT X1(3) X2(0) W80 X2(1)W 1 4点 X2(2) 8 W82 DFT X2(3) 3
n 0 kn N
N 1
一、算法原理 二、算法步骤 三、蝶形结 四、按时间抽取的FFT算法与直接计算 DFT运算量的比较 五、FFT算法中一些概念
三、蝶形结
即蝶式计算结构也即为蝶式信号流图 频域中前/后半部分表示式可以用蝶形信号流图表示。
X1(k)
X 1 (k ) W X 2 (k )
k N
(d) 另一个2点的DFT蝶形流图
同理: x(1) x(5) 2点DFT X5(0) X5(1) X6(0) 2点DFT X6(1)
X2(0)
X2(1)
x(3) x(7)
W40
W41
X2(2)
X2(3)
其中X 2 (0) X 5 (0) W40 X 6 (0) X 2 (2) X 5 (0) W40 X 6 (0)
k N
X (k N / 2) X 1 (k ) W X 2 (k )
k N
k 0,, N / 2 1
先将N=8 DFT分解成2个4点DFT: 可知:时域上:x(0),x(2),x(4),x(6)为偶子序列
x(1),x(3),x(5),x(7)为奇子序列
频域上:X(0)~X(3),由X(k)给出 X(4)~X(7),由X(k+N/2)给出
k X 1 (k ) WN
X 2 (k )
k 0,1 N / 2 1
N / 21 N / 21 rk rk X 1 (k ) r0 x1 (r )WN / 2 r0 x(2r )WN / 2 其中: N / 21 N / 21 rk rk X 2 (k ) x2 (r )WN / 2 x(2r 1)WN / 2 r 0 r 0
直接计算DFT计算量
• 问题提出: 设有限长序列x(n),非零值长度为N, 计算对x(n)进行一次DFT运算,共需多大的运算 工作量?
kn x(n) X (k ) x(n)WN DFT n 0 N 1
算N个值
1 N 1 IDFT X (k ) x(n) X (k )WN kn N k 0
当n=偶数时,令n=2r;
当n=奇数时,令n=2r+1;
得到:x(2r)=x1(r); x(2r+1)=x2(r); r=0…N/2-1;
2. 代入DFT中
X(k ) DFT x(n) DFT x(2r ) DFT x(2r 1) DFT x1 (r ) DFT x2 (r )
X(0) X(1) X(2) X(3)
X(4) X(5) X(6) X(7)
W8
如:X(0) X 1 (0) X 2 (0)W80 X(2) X 1 (2) X 2 (2)W82
X( ) X 1 (1) X 2 (1)W81 1
X(3) X 1 (3) X 2 (3)W83
k 0,1 N / 2 1
4. 结论1
• 一个N点的DFT被分解为两个N/2点DFT。 X1(k),X2(k)这两个N/2点的DFT按照:
X(k ) X 1 (k ) W X 2 (k )
k N
又合成N点DFT中的前半部分k 0,1 N / 2 1
• 再应用W系数的周期性,求出用X1(k),X2(k) 表达的后半部的X(k+N/2)的值。
N*N次复数相乘和N*(N-1)次复数加法 4N2次实数相乘和2N(2N-1)次实数相加
改善DFT运算效率的基本途径
利用DFT运算的系数 W 的固有对称性和 周期性,改善DFT的运算效率。 1.合并法:合并DFT运算中的某些项。 2. 分解法:将长序列DFT利用对称性和周 期性,分解为短序列DFT。
蝶形结描述的另一种方法
X1(k)
k N
k X 1 (k ) WN X 2 (k )
中间无交叉
W
X2(k)
1
k X 1 (k ) WN X 2 (k )
例子:求 N=23=8点FFT变换
(1)先按N=8-->N/2=4,做4点的DFT:
X (k ) X 1 (k ) W X 2 (k )
(b) 求2点的DFT
x1 (r ) X 1 (k )可分解为:
DFT
X 1 (k )
N / 4 1
L 0
x1 (2 L)W
2 Lk N /2
N / 4 1
L 0
x1 (2 L 1)W
(2 L 1) k N /2
X 3 (k ) WNk / 2 X 4 (k ) 其中k 0, 1 同理:X 1 (k N / 4) X 3 (k ) WNk / 2 X 4 (k ) 同样,x2 (r )也可分解为: X 2 (k ) X 5 (k ) W X 6 (k ) k X 2 (k N / 4) X 5 (k) WN / 2 X 6 (k )
k 前半部分:X (k ) X 1 (k ) WN X 2 (k )
后半部分: X (k N / 2) X 1 (k ) W X 2 (k )
k N
结论:只要求出(0~N/2-1)区间内的各个整 数k值所对应的X1(k),X2(k)值,即可以求出 (0~N-1)整个区间内全部X(k)值,这就是FFT能 大量节省计算的关键。
整个DFT运算量为:
kn N
N*N次复数相乘和N*(N-1)次复数加法
2.5.2 基-2 按时间抽取的 FFT算法
一、算法原理 二、算法步骤 三、蝶形结 四、按时间抽取的FFT算法与直接计算 DFT运算量的比较 五、FFT算法中一些概念
一、算法原理
• 设输入序列长度为N=2M(M为正整数),将该序 列按时间顺序的奇偶分解为越来越短的子序列, 称为基2按时间抽取的FFT算法。
一、算法原理 二、算法步骤 三、蝶形结 四、按时间抽取的FFT算法与直接计算 DFT运算量的比较 五、FFT算法中一些概念
二、算法步骤
1.分组,变量置换
DFT变换:
kn X (k ) x(n)WN n 0 N 1
k 0, , N 1
先将x(n)按n的奇偶分为两 组,作变量置换:
k N /2
(c) 一个2点的DFT蝶形流图
X3(0) 2点DFT X3(1) X4(0) 2点DFT X4(1)
x(0) x(4)
X1(0)
X1(1)
x(2) x(6)
W40
W41
X1(2)
X1(3)
其中X 1 (0) X 3 (0) W40 X 4 (0) X 1 (1) X 3 (1) W41 X 4 (1) X 1 (2) X 3 (0) W40 X 4 (0) X 1 (3) X 3 (1) W41 X 4 (1)