第4章 快速傅里叶变换(FFT)--补充

合集下载

快速傅里叶变换

快速傅里叶变换

N X 2 ( k ) X 2 (k ) 2
第4章 快速傅里叶变换(FFT)
(N k ) 2 又由于WN
k WN WN
N 2

k WN
,所以
N N N k N 2 X (k ) X 1 (k ) WN X 2 (k ) 2 2 2
k X 1 (k ) WN X 2 (k ),
X 1 (k ) x1 (r )W x(2r )W
r 0 rk 4 r 0
3
3
rk 4
k 0,1,2,3
第4章 快速傅里叶变换(FFT)
(2) n为奇数时,分别记作:
x2 (0) x (1), x2 (1) x (3), x2 ( 2) x (5), x2 (3) x (7);
k N
1 1
k WN
-1
N X ( k ) X 1 (k ) WNk X 2 (k ) (后一半) 2
5.计算工作量分析
按奇、偶分组后的计算量:
第4章 快速傅里叶变换(FFT)
由上图可知,N点DFT的复乘为N2 ;复加N(N-1); 与分解后相比可知,计算工作点差不多减少 一半。
第4章 快速傅里叶变换(FFT)
一个X(k)的值的工作量,如X(1)
0 1 X (1) x(0)WN x(1)WN x(2)WN2 x( N 1)WNN 1
nk 通常x(n)和 W 都是复数,所以计算一个 N X(k)的值需要N次复数乘法运算,和N 1 次 复数加法运算.那么,所有的X(k)就要N2次复 数乘法运算,N(N-1)次复数加法运算.当N很 大时,运算量将是惊人的,如N=1024,则要完 成1048576 次(一百多万次)运算.这样,难 以做到实时处理.

数字信号处理课件第4章快速傅里叶变换FF

数字信号处理课件第4章快速傅里叶变换FF
雷达信号压缩
通过FFT对雷达信号进行频谱分析,实现雷 达数据的压缩,减小存储空间和传输带宽。
谢谢聆听
05 FFT的局限性与挑战
浮点运算的开销问题
浮点运算开销
快速傅里叶变换(FFT)算法在实 现过程中需要进行大量的浮点运 算,这可能导致计算成本较高, 尤其是在处理大规模数据时。
硬件资源需求
由于FFT的浮点运算密集特性,对 计算设备的硬件资源(如CPU、 GPU等)要求较高,需要具备高 性能的计算能力。
FFT的软件实现
C/C实现
01
使用C或C等通用编程语言实现FFT算法,具有较好的通用性和
可移植性。
优化编译器
02
利用现代编译器的优化功能,如向量化、内联等,可以提高软
件实现的计算速度。
并行计算框架
03
利用OpenMP、CUDA等并行计算框架,可以实现多核或多
GPU上的并行计算。
FFT的优化方法
算法改进
FFT的历史与发展
历史
FFT的诞生可以追溯到1960年代,其发展经历了多个阶段,包括库利-图基算法、威尔金森算法、桑德斯算法等 。
发展
随着计算机技术的不断进步,FFT算法在实现方式、精度、并行化等方面不断得到优化和改进,以满足不同应用 场景的需求。
02 FFT的基本算法
递归算法
递归算法是一种基于数学归纳法的算法,通过将问题分解为更小的子问题来解决 问题。在FFT中,递归算法将一个长度为N的DFT问题分解为两个长度为N/2的 DFT问题,直到最后分解为基本的DFT问题。
特别是在信号处理领域,FFT的应用非常广泛。
FFT与Z变换的关系
定义
Z变换是离散时间信号 到复平面上的扩展,而 FFT是频域的一种快速 计算方法。

数字信号处理 第4章 快速傅里叶变换(FFT)-资料

数字信号处理  第4章  快速傅里叶变换(FFT)-资料

x[0]
x[2]
W20
x[1]
x[3] W20
X1[0]
2点DFT X1[1] 1 X2[0]
2点DFT X2[1] 1
W40
1
W41
1
X [0] X [1] X [2] X [3]
4点基2时间抽取FFT算法流图
x[0]
x[2]
W40
x[1]
x[3]
W40
X1[0]
X1[1] 1
X2[0]
W40 1
W80 W80
2点DFT XX111[11[]1]
1 X4X1点21[20[]D0W] FW80T40
2点DFT XX121[21[]1W] W82411
1
1
xx[[11]]
XX212[10[]0]
xx[[35]] xx[[53]] xx[[77]]
W80 W80
2点DFT XX212[11[]1]
X2[1]
W41
1
1
X[0] X[1] X[2] X[3]
X[8mX点[m4基]]2X时X11[[间mm]]抽WW取88mmFXXF22[[Tmm算]],, 法mm流 00图,,11,,22,,33
x[0]
X1[0]
X [0]
x[2]
X1[1]
X [1]
x[4]
4点DFT
X1[2]
X [2]
x[6]
N=2
x[k]={x[0], x[1]}
X[0] x[0] W20 x[1] X [1] x[0] W21x[1] x[0] W20 x[1]
x[0]
X [0]
x[1] W20
-1
X [1]

《快速傅里叶变换(FFT) 第四章》

《快速傅里叶变换(FFT) 第四章》

2、减少运算量的思路和方法 思路:N点DFT的复乘次数等于N2。把N点DFT分 解为几个较短的DFT,可使乘法次数大大减少。 另外,旋转因子WmN具有周期性和对称性。
3、FFT算法思想 不断地把长序列的DFT分解成几个短序列 的DFT,并利用旋转因子的周期性和对称性 来减少DFT的运算次数。
4.1 离散傅里叶变换的高效计算思路
4.2 基2时间抽选的FFT算法
设序列x(n)的长度为N,且满足:
N 2M , M 为自然数
N (1) 按n的奇偶把x(n)分解为两个N/2点的子序列 x1 ( r ) x(2r ), r 0,1, 1 N2 x1 ( r ) x(2r ), r 0,1, N 1 x1 ( r ) x(2r ), r 0,1, 2 N 1 x2 ( r ) x(2r 1), r 0,1, 1 2 N2 x2 ( r ) x(2r 1), r 0,1, N 1 x2 ( r ) x(2r 1), r 0,1, 2 1 2
X(k),k=k0 X(k),k=0,,N-1
N2 实数乘法次数 4 0 4N 4N2
N(N-1) 实数加法次数 2 2 2N+2(N-1)=4N-2 N(4N-2)
一次复数乘法 一次复数加法 X(k),k=k0
X(k),k=0,,N-1
ห้องสมุดไป่ตู้
例N=1024,N2=1,048,576
4.1 离散傅里叶变换的高效计算思路
k N
X1(k)
X1(k)+ WNkX2(k)
X2(k)
WN k
-1 蝶形运算图
X1(k)WNkX2(k)
例:X(0)=X1(0)+ WN0X2(0),X(1)=X1(1)+ WN1X2(1)

第四章 快速傅里叶变换

第四章 快速傅里叶变换

运 算
X[3] 2WN0 3WN3 3WN6 2WN9 1 j
复数加法 N(N-1)
复数乘法 N 2
效 率
?
1.将长序列DFT分解为短序列的DFT 由于DFT的运算量与N2成正比,N越小,
DFT的运算量越少。所以如果把一个长序列 的DFT能分解为短序列的DFT的组合,则显 然可取得减少运算工作量的效果。
N 1
X (k) DFT[x(n)]
x(n)W
kn N
n0
N 1
N 1
x(n)WNkn+ x(n)WNkn
n0 n为偶数
n0 n 为奇数
N / 21
N / 21
= x(2r)WN2rk x(2r 1)WN(2r1)k
r 0
r 0
N / 21
N / 21
= x1 (r)WN2rk WNk x2 (r)WN2rk
X 3 (k) WNk / 2 X 4 (k)
k 0,1, , N 1 4
将系数统一为以N为周期,即
,可得
Wk N/2
WN2k
X X
1 1
(k (k
) X 3 (k) WN2k X 4 (k) N / 4) X 3 (k) WN2k
X
4
(k
)
k 0,1, , N 1 4
同样,对也可进行类似的分解。一直分解
第4章 快速傅里叶变换
4.1 快速傅里叶变换
4点序列{2,3,3,2} DFT的计算复杂度 如
N 1
X [k] x[k]WNkn
何 提
n0

X[0] 2WN0 3WN0 3WN0 2WN0 10
DFT
X[1] 2WN0 3WN1 3WN2 2WN3 1 j

第4章 习题解答

第4章  习题解答
FS 1024 0 .0 6 5 5 3 6 15625 Hz
根据采样定理,可实时处理的最高频率:
2 2 注:具体应用时 f m ax 还应再小一些 f m ax FS 15625 7 8 1 2 .5 Hz
第4章 快速傅里叶变换(FFT)
3.已知X(k)和Y(k)是两个N点实序列x(n)和y(n)的DFT,
希望从X(k)和Y(k)求x(n)和y(n), 为提高运算效率,试设计用
一次N点IFFT来完成的算法。 解:根据DFT的对称性质,实序列x(n)和y(n)的DFT X(k)和
Y(k)均为共轭对称,即X(k) =X*(N-k),Y(k) =Y*(N-k),则 (jY(k))*= -jY(N-k),所以jY(k)为共轭反对称。
解: (1) 直接计算: 复数乘法:4*N2=4*10242=4194304μs=4194.304ms 复数加法:1*N(N-1)=1024*1023=1047552μs=1047.552ms 1024点DFT直接计算时:4194.304+1047.552=5241.856ms
(2) 用FFT计算: 复数乘法:4* (N/2)*lbN= 4* 512*10=20480μs=20.48ms 复数加法:1*N*lbN= 1*1024*10=10240μs=10.24ms 1024点DFT采用FFT算法时:20.48+10.24=30.72ms
设: A(k) = X(k)+ jY(k) ,计算A(k)的N点快速IDFT,即 a(n)= IFFT(A(k)) = Re(a(n)) + jIm(a(n)),
其中,Re(a(n)) = IDFT(X(k)) = x(n) ,
jIm(a(n)) = IDFT(jY(k))= jy(n) 所以:x(n) = Re(a(n)) = 1/2(a(n)+a*(n)) y(n) = Im(a(n)) = -j/2(a(n)-a*(n))

第4章 快速傅里叶变换(FFT)

第4章  快速傅里叶变换(FFT)

r0
r0
第4章 快速傅里叶变换(FFT)
其中X1(k)和X2(k)分别为x1(r)和x2(r)的N/2点DFT,即
N / 21
X1(k)
x1(r)WNkr/ 2 DFT [x1(r)]
r0
N / 21
X 2(k)
x2 (r)WNkr/ 2 DFT [x2 (r)]
r0
(4.2.5) (4.2.6)
FFT算法基本上分为两大类:
时域抽取法 频率抽取法
DIT: Decimation-In-Time DIF: Decimation-In-Frequency
第4章 快速傅里叶变换(FFT)
一.基本算法 设序列x(n)的长度为N,且满足
N 2M , M 为自然数
按n的奇偶把x(n)分解为两个N/2点的子序列
N点DFT的复乘次数等于N2。显然,把N点DFT分解为几个较短 的DFT,可使乘法次数大大减少。
第4章 快速傅里叶变换(FFT)
二.旋转因子W
m N
的周期性和对称性
1.周期性表现为
W mlN N
j 2 (mlN )
e N
j 2 m
e N
WNm
2.对称性表现为
WNm WNN m 或者 [WNN m ] WNm
第4章 快速傅里叶变换(FFT)
习题 1. 3.
画8点基2 DIT-FFT和8点基2 DIF-FFT 算法运算流图
第4章 快速傅里叶变换(FFT)
4.2 基2FFT算法
4.2.1 直接计算DFT的特点
及减少运算量的基本途径
一.DFT的运算次数
N点有限长序列x(n)
N 1
DFT : X (k) DFT[x(n)] x(n)WNnk n0

快速傅里叶变换FFT

快速傅里叶变换FFT

W kN / 2 N
(1)k
1, k 偶数
1,
k
奇数
将X(k)分解成偶数组与奇数组,当k取偶数 (k=2r,r=0,1,…,N/2-1)时
N / 21
X (2r)
n0
[x(n)
x(n
N 2
)]WN2rn
N / 21
n0
[x(n)
x(n
N 2
)]WN2
rn /2
x1(n)
(4.2.14)
当k取奇数(k=2r+1,r=0,1,…,N/2-1)时
(N / 2) log2 N 5120
图4.2.5 FFT算法与直接计算DFT所需乘法次数旳比较曲线
MATLAB提供了一种fft旳函数用于计算一种向量x旳 DFT。调用X=fft(x,N)就计算出N点旳DFT。假如向量x 旳长度不大于N,那么就将x补0。假如略去N,则DFT 旳长度就是x旳长度。假如x是一种矩阵,那么fft(x,N) 计算x中每一列旳N点旳DFT。
0 0
1 1
0 1
1
(n2n1n0)2
001 1 101 5 011 3 111 7
图4.2.7 形成倒序旳树状图(N=23)
表4.2.1 顺序和倒序二进制数对照表
4.2.5 频域抽取法FFT(DIF-FFT)
在基2迅速算法中,频域抽取法FFT也是一种常用旳 迅速算法,简称DIF-FFT。
设序列x(n)长度为N=2M,首先将x(n)前后对半分 开,得到两个子序列,其DFT可表达为如下形式:
0,1, 2,, 2L1 1
p J 2M L
(4.2.13)
3. 序列旳倒序
DIT-FFT算法旳输入序列旳排序看起来似乎很乱,

第4章快速傅里叶变换FFT

第4章快速傅里叶变换FFT

2kr N

N/2 1 r0
x (r)W
1
2kr N
W
k N
N/2 1 r 0
2 k r x ( r ) W 2 N
4.2.2 时域抽取法基2FFT基本原理
2 k r 2 k r 2 k r X () k x ( r ) WW x ( r ) W W e 1 N N N r 0
将N点DFT分解为两个N/2点DFT上式运算可用蝶形运算符号表示
A B C A+BC A-BC
X1(k) X2(k)
WNk
X1(k)+ WNkX2(k)
X1(k)WNkX2(k)
图:蝶形运算符号 完成一个蝶形运算需要一次复数乘和两次复数加法运算
4.2.2 时域抽取法基2FFT基本原理
4.2 基2FFT算法
4.2.1 直接计算DFT的特点及减少运算量的基本途径
N 1 n 0
kn 有限长序列x(n)的N点DFT X ( k ) x ( n ) W 0 , 1 , , N 1 N k
计算量
a jb c jd ac bd j ad cb
基2FFT算法
长度N满足N=2M(M为整数),若不满足将序列补零延长, 使其满足长度要求
本节主要介绍 1、FFT的基本思想
2、时域与频域抽取的基-2FFT算法
3、FFT程序实现
4.2.2 时域抽取法基2FFT基本原理
1、基2 DIT-FFT算法基本原理 设序列x(n)的长度为N,且满足N=2M,M为自然数。 按n的奇偶把x(n)分解为两个N/2点的子序列
4.2.2 时域抽取法基2FFT基本原理 FFT算法分类
按抽取方式 时域抽取法FFT(Decimation In Time FFT,简称DIT-FFT ) 频域抽取法FFT (Decimation In Frequency FFT,简称DIF-FFT) 按基数分

第4章 快速傅里叶变换(FFT)

第4章 快速傅里叶变换(FFT)
第4章 快速傅里叶 变换(FFT)
本章主要内容
直接计算DFT的问题及改进的途径 按时间抽取的基2-FFT算法 按频率抽取的基2-FFT算法 快速傅里叶逆变换(IFFT)算法
2
4.1 引言
DFT在实际应用中很重要: 可以计算信号 的频谱、功率谱和线性卷积等。
直接按DFT变换进行计算,当序列长度N很
5.4 512 262 144 2 304 113.8
8.0 1024 1 048 576 5 120 204.8
12.8 2048 4 194 304 11 264 372.4
64 4049 192
21.4
24
4.2.5 按频率抽取的基2-FFT算法
算法原理
先把输入按n的顺序分成前后两半
再把输出X(k)按k的奇偶分组
所以 整个N点DFT运算共需要: 实数乘法次数: 4 N2
实数加法次数: N×2(2N-1)= 2N(2N-1)
6
DFT运算量的结论
N点DFT的复数乘法次数举例
N
N2
N
N2
2
4
64
4049
4
16
128
16384
8
64
256
65 536
16
256
512
262 144
32
1028
1024
1 048 576
N / 21
x(n)WNnk
n0

N / 21
x(n
n0

N 2
(n N )k
)WN 2

N / 21 x(n)
n0

x(n

N 2

数字信号处理[第四章 快速傅里叶变换(FFT)]

数字信号处理[第四章 快速傅里叶变换(FFT)]

A(2)
-1 -1
W
0 N
A(2)
-1
A(3)
0 N
WN2
A(3)
-1
A(4) A(5)
W
0 N
A(4) A(5) A(6)
-1
-1
1 WN
A(4) = X (4) A(5) = X (5) A(6) = X (6)
A(7) = X (7)
A(6)
-1 -1
-1
2 WN
W
0 N
A(7)
0 WN
WN2
1
16
快速傅里叶变换(FFT) 快速傅里叶变换(FFT)
三,蝶形运算规律
p XL (J ) = XL1(J ) + XL1(J + B) WN p XL (J + B) = XL1(J ) X运算级数,=1,2, M
X L ( J )表示第L级运算后数组元素X ( J )的值 p = J 2M L;J = 0,1, , 2 L 1 1
J L12
J N 2 L M
M L
L = 1,WNp = WNJ/4 = W2JL,J = 0
L = 2,WNp = WNJ/2 = W2JL,J = 0,1
L
=W 2 N 1 L = 3,WNp = WNJ = W2J ,J = 0,1, 2,3 L级,W = W ,J = 0,1, 2, 2
p N J 2L L 1
x(0) = A(0)
x(4) = A(1)
A(0) A(1)
W W
0 N
A(0) A(1)
A(0) = X (0) A(1) = X (1) A(2) = X (2) A(3) = X (3)

快速傅里叶变换FFT

快速傅里叶变换FFT
先将x(n)按n的奇偶分为两 组,作变量置换:
当n=偶数时,令n=2r;
当n=奇数时,令n=2r+1;
得到:x(2r)=x1(r); x(2r+1)=x2(r);r=0…N/2-1; 则可得其DFT为两部分:
前半部分:X (k) X1(k) WNk X 2 (k) k 0,, N / 2 1 后半部分:X (k N / 2) X1(k) WNk X 2 (k)
又W(NN / 2k) WNN / 2WNk WNk 后半部分: X (k) X1(k) WNk X 2 (k)
1.比较DFT与IDFT之间的运算量
N 1
x(n) DFT X (k) x(n)WNkn k 0,1,N 1 n0
X
(k)
IDFT
x(n)

1 N
N 1 k 0
X
(k )WN kn
n 0,1,N 1
其中x(n)为复数,WNkn

j 2 kn
(WNNn )

j 2
(e N
Nn
)

e j2n
1
n 0,1,N 1
由此可得出: (WNn(N k) ) WN(N n)k WNnk
(WNN /2 )

e
j
2 N
N
2

cos

j sin

1
k
(WN

N 2
)

WNk
例子
• 例: W49 W4(45) W45 W41 W825 W817 W89 W81
• FFT 并 不 是 一 种 新 的 变 换 形 式 ,它 只 是

数字信号处理第4章 快速傅里叶变换资料

数字信号处理第4章 快速傅里叶变换资料

结论:
由此找出其它各项的类似归并方法,则乘法 次数可以减少一半。
例:
Re[ x(1)] Re[W51] Re[ x(5 1)] Re[W5(51) ] [Re x(1) Re x(4)]ReW54 [Re x(1) Re x(4)]ReW51
(2)利用对称性和周期性将长 序列DFT分解为短序列DFT --思路
例: 设一序列x(n)的长度为L=9,应补零加 宽为N=24=16 ,应补7个零值。
x(n)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
n
二、算法步骤
1、分组,变量置换
2次实数加法
4次实数乘法
4、计算DFT需要的实数运算量
•N次复数乘法和(N-1)次复数加法 •N*N次复数乘法和N*(N-1)次复数加法 •一次复数乘法包括4次实数乘法和2次实数加法 •一次复数加法包括2次实数加法
每运算一个X(k)的值,需要进行: 4N次实数乘法和 2N+2(N-1)=2(2N-1)次实数加法. 整个DFT运算量为: 4N2次实数乘法和2N(2N-1)次实数加法.
可见计算DFT时,乘法次数和加法 次数与N2成正比,当N很大时,运 算量很大,所以要改进DFT的算法, 减少运算次数。
二、出发点(基本途径) WNkn
1、对称性
(WNkn
)*
W nk N
2、周期性
WNkn
W (n N
N
)k
WNn(N k)
(时域和频域均具有周期性)
(WNkN )
j 2 kN
k 0,1,N 1
X (k) IDFT x(n)
1 N
N 1
X (k)WNkn
k 0

第4章 快速傅里叶变换(FFT)

第4章  快速傅里叶变换(FFT)
DIF-FFT)。
第4章 快速傅里叶变换(FFT)
4.2.2 时域抽取法基2FFT基本原理
先设序列点数为N=2M,M为整数。如果不满足这个条 件,可以人为地加上若干零值点,使之达到这一要求。 这种N为2的整数幂的FFT称基-2 FFT。
(一)N/2点DFT
按n的奇偶把x(n)分解为两个N/2点的子序列
第4章 快速傅里叶变换(FFT)
(3)对X1(k)和X 2 (k)进行蝶形运算,前半部为
X(0)~X(3),后半部分为 X(4) ~ X(7) 整个过程如图4.2.2 所示:
x(0 )
X1(0 )
X(0 )
x(2 )
N/2点 X1(1 )
X(1 )
x(4 )
X1(2 )
X(2 )
DFT
x(6 )
X1(3 )
WNk
X2(k)
X(N 2

k)

X1(k) WNk
X 2 (k )
(后一半)
计算X(k)包含N/2个蝶形运算和两个N/2点DFT运算
计算工作量分析
第4章 快速傅里叶变换(FFT)
(1)1个N/2点的DFT运算量:
复乘次数: ( N )2 N 2 复加次数: N ( N 1)
24
22
(2)两个N/2点的DFT运算量:
例如,N=8时的DFT可分解为四个N/4的DFT, 具体步骤如下:
(1) 将原序列x(n)的“偶中偶”部分:
x3(l) x1(r) x(n) x3(0) x1(0) x(0) x3(1) x1(2) x(4)
第4章 快速傅里叶变换(FFT)
第4章 快速傅里叶变换(FFT)
4.1 引言 4.2 基2FFT算法 4.3 进一步减少运算量的措施
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
N / 2 1
n 0

N 1
nk x(n )WN N / 4 1

r 0
x(2r )WN2 rk

l 0
(4 l 1) k x (4r 1)WN
N / 41

l 0
(4 l 3) k x (4r 3)WN
N / 2 1

r 0
rk K x1 (r )WN W /2 N
频率也由fs/30的整数倍变为fs/32的整数倍。在许多场合这种处理是
可接受的,不适应对某些特殊频率点有特别要求的场合。
第4章 快速傅里叶变换 (2)若N是一个复合数,即它可以分解成一些因子的乘积, 则可以用 FFT 的一般算法,即混合基 FFT 算法,如库利 - 图基
(CooleyTukey)算法,而基 -2 算法只是这种一般算法的特
x1 (r )W
rk N /2

N / 2 1

r 0 l 0
x(2r )WN2 rk x(4r 1)WN4lk x(4r 3)WN4lk
N / 4 1

l 0
x2 (l )W x3 (l )W
lk N /4
N / 4 1

l 0
N / 4 1

lk N /4
N / 4 1
第4章 快速傅里叶变换
第4章 快速傅里叶变换 补充
N为复合数的FFT算法
第4章 快速傅里叶变换
4.6 N为复合数的FFT算法
上面讨论的是序列的点数N为2的幂次(即N=2M)情况下,按时
间抽取和按频率抽取的基 -2FFT算法的基本原理。这种基-2FFT 算法在实际中使用得最多,因为它的程序简单,效率高,使用方
ki 4i ) n0
]W4kL1n0
X (k ) X (kL1 ,...k1 , k0 ) X (k0 , k1 ,...k L1 )
第4章 快速傅里叶变换 步骤
第4章 快速傅里叶变换
第4章 快速傅里叶变换
第4章 快速傅里叶变换
第4章 快速傅里叶变换
第4章 快速傅里叶变换
[ p(n)]10 n0 r L1 n1r L2 ... nL 2 r nL 1
第4章 快速傅里叶变换 3.多基多进制(混合基 N r1r2 r3 ...rL )数n< r1r2 r3 ...rL
(n)r1r2r3 ...rL (nL 1nL 2 ...n1n0 )r1r2r3 ...rL
nL 1 0

x( nL 1 , nL 2 ,...n1 , n0 )W
k0 4 L1 nL 1 N
nL1 0

3
x(nL 1 , nL 2 ,...n1 , n0 )W4k0 nL1
第4章 快速傅里叶变换
X 2 (k0 , k1 ,...n1 , n0 )
nL 2 0
(n)10 nL 1 (r2 r3 ...rL ) nL 2 (r3r4 ...rL ) ... n1 (rL ) n0
二进制数倒位序
[ p(n)]rL rL1 ...r2r1 (n0 n1...nL 2 nL 1 )rL rL1 ...r2r1
[ p(n)]10 n0 (rL 1rL 2 ...r2 r1 ) L1 n1 (rL 2 rL 3 ...r2 r1 ) L2 ... nL 2 r1 nL 1
X ( K ) X (r1k1 k0 ) X (k1 , k0 ) x(n)WNnk
i 0 N 1 n0 0

r2 1
n1 0
( r2 n1 n0 )( r1k1 k0 ) x ( r n n ) W 21 0 N
r1 1

n0 0
x(n , n )W
3、
n0 k0 X 1' (k0 , n0 ) X 1 (k0 , n0 )WN
r2 1
4、利用 X 2 (k0 , k1 )
n0 0

X 1' (k0 , n0 )Wr2n0 k1
5、利用 X (k1 , k0 ) X 2 (k0 , k1 )
第4章 快速傅里叶变换
第4章 快速傅里叶变换 计算量
第4章 快速傅里叶变换
4.8 分裂基FFT算法
当 时, 采 用 分 裂 基 算 法 可 进 一 步 降 低 运 算 量, n 为 偶 数 部 分 直 接 采 用 基---2 FFT 算 法 而 n 为 奇 数 部 分 则 用 基- 4 FFT 算 法.
第4章 快速傅里叶变换
X (k )
第4章 快速傅里叶变换 2. r进制( N r L )数n< r L
(n)r (nL1nL 2 ...n1n0 )r
(n)10 nL1r L1 nL2 r L2 ... n1r n0
r进制数倒位序
[ p(n)]r (n0 n1...nL 2 nL 1 )r
L 1
X (k ) x(n)WNnk
n 0
N 1

3
n0 1 n1 1
nk ... x ( n , n ,... n , n ) W L1 L2 1 0 N , 0 k N 1 nL1 1
3
3
第4章 快速傅里叶变换
nk ( ni 4i )( ki 4i )
1.二进制( N 2L)数n< 2 L
(n)2 (nL1nL2 ...n1n0 )2
(n)10 nL1 2 L1 nL2 2 L2 ... n1 2 n0
二进制数倒位序
[ p(n)]2 (n0 n1...nL2 nL1 )2
[ p(n)]10 n0 2 L1 n1 2 L2 ... nL2 2 nL1
n1 0 r1 1 1 0
r2 1
r1 1
r2 n1k0 NWFra bibliotekr1n0 k1 N
W
n0 k0 N
W
r1r2 n1k1 N
n0 0

r2 1
n1 0
r2 n1k0 r1n0 k1 n0 k0 x ( n , n ) W W W 1 0 N N N
r1r2 n1k1 WN 1
第4章 快速傅里叶变换
例。 总之,不管采用什么方法,计算DFT的高效算法是把计算长度 为N的序列的DFT逐次分解成计算长度较短序列的 DFT。这是 很多高效算法的标准方法和基本原理。
第4章 快速傅里叶变换
(3)若N为一个素数,要求准确的求出N点DFT
可用线性调频Z变换(Chirp-Z变换)算法
第4章 快速傅里叶变换
一、整数的多基多进制表示形式
nLM 0

3
3
4
L m
m 2
(
[ X m1 (k0 , k1 ,...km2 , nL m ...n1 , n0 )WN
L 2
ki 4i ) nLm
i 0
]W4km1nLm
X L (k0 , k1 ,...k L 1 )
nLM 0

(
[ X L 1 (k0 , k1 ,...k L 2 , n0 )WN i0
3
3
n0 0
...
n1 0
nL1 0
x( nL 1 , nL 2 ,...n1 , n0 )W
(
W
(4 k1 k0 )4 L2 nL2 N
...WN i0
ki 4
3
L2
i
)4 n1
(
WN i0
ki 4i )n0
L 1
X 1 (k0 , nL 2 ,...n1 , n0 )
i 0 i 0
L 1
L 1
W
nk N
WN i0
L 1
(

L 1
ni 4 )(
i

i 0
L 1
ki 4i )
L 1 L 1 L 1
( ki 4i )4 n1 ( ki 4i )n0 ki 4i )4L1 nL1 ( ki 4i )4L2 nL2 WN i0 WN i0 ...WN i0 WN i0 (
X (k1 , k0 )
n0 0

r2 1
{[ x(n1 , n0 )WNr2 n1k0 ] WNn0 k0 } WNr1n0 k1
n1 0
r1 1
n0 0

r2 1
{[ x(n1 , n0 )Wr1n1k0 ] WNn0 k0 } Wr2n0 k1
W
k0 4 L1 nL1 N
W
(4 k1 k0 )4 L2 nL2 N
(
...WN i0

L2
ki 4 )4 n1
i
(
WN i0

L 1
ki 4i )n0
第4章 快速傅里叶变换
X (k )
3
n0 0 3

3
n1 0 3
nk ... x ( n , n ,... n , n ) W L1 L2 1 0 N nL1 0 k0 4 L1 nL1 N
便。但实际上无法保证总是处理长度为2的整数幂次的序列。
若不满足N=2M,处理方法有以下几种:
(1)可将x(n)增补一些零值点,以使N增长到最邻近的一个2M
数值。
第4章 快速傅里叶变换
有限长序列补零之后,并不影响其频谱X(ejω),只不过其频谱的抽
样点数增加了,所造成的结果是增加了计算量而已。 但是,有时计算 量增加太多,浪费较大。例如, x(n)的点数N=300,则须补到N=29=512, 要补212个零值点,因而人们才研究N≠2M时的FFT算法。 有限长度序列补零后并不影响其频谱x(ejw),只是频谱的采样点数 增加了,当然,采样点的位置也有相应的变化。上例中由30点增加到 32点,采样点则由2π /30的整数倍变为2π /32的整数倍,对应的绝对
相关文档
最新文档