6 FFT

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

顺序、混序与位倒序
DIT与DIF总有一边是混序的 绝大多数DSP都提供了位倒序(bit reverse)寻址指令
溢出问题
在多级运算中,要充分注意溢出的 问题,尤其是用定点DSP时
无论是C语言,还是DSP汇编语言的 FFT程序都有现成的程序可用
x1[n] = x[2n] x2[n] = x[2n+1]
将N点DFT分为两个N/2点DFT
X (k )
x [ n ]W N x [ n ]W N
nk n 0 n 0
N 1
N 1
nk
n 为偶数
N / 2 1
n 为奇数
N / 2 1 2 nk

x [ 2 n ]W N
DIT输入是混序的,频域的输出 是顺序的
DIF输入是顺序的,频域的输出是混 序的
DIT的复数乘法出现在加减之前
DIF的复数乘法出现在加减之后
定点DSP计算1024点FFT的时间
DSP TMS320C25 TMS320C6201 DSP56001
时间(ms) 10.9 0.067 1.65
浮点DSP计算1024点FFT的时间 DSP TMS320C30 TMS320C40 ADSP21060 DSP96001 ADSP21160 时间(ms) 3.87 1.02 0.46 0.6 0.45s
上式的最后一步是因为
2 N 2 N /2
W
2 N
[e e
j(
)
]
)
2
j(
WN /2
将N点DFT分为两个N/2点DFT
我们已经将一个N点的DFT分解成为两个
N/2点的DFT。 但是,X(k)有N点,但X1(k)和X2 (k)都只有N/2点,因此,前面计算的 只是X(k)的前一半项的结果。
( x1[ n ] x 2[ n ])W
n0 N / 2 1
nk N /2
X ( 2 k 1)

( x1[ n ] x 2[ n ])W N
n N
n ( 2 k 1 )
n0
N / 2 1

W ( x1[ n ] x 2[ n ])W N / 2
nk
n0
DIT与DIF
第五章 快速傅立叶变换
(FFT)
DFT的定义
N 1
X (k )
x [ n ]W
n 0 j 2 N
nk N
WN e
DFT的定义
W
( n mN )( k lN ) N
W
nk N
m , l 0 , 1, 2 ,...
FFT
将N点的序列分为两个N/2点的序列
n 0 n 0

x [ 2 n 1]W N
n 0 k N / 2 1 n 0
( 2 n 1 ) k
N / 2 1
x1[ n ]W N / 2 W N
nk k
x 2[ n ]W N / 2
nk
X 1( k ) W N X 2 ( k )
将N点DFT分为两个N/2点DFT
将N点DFT分为两个N/2点DFT
对于后一半X(k),有
X ( k ) X 1( k N / 2 ) W X 2 ( k N / 2 )
k N
X 1( k ) W X 2 ( k )
k N
这是因为
W
( N / 2) k N
W
( N / 2) N
W
k N
W
k N
将N点DFT分为两个N/2点DFT 这样,只要计算出(0,N/2-1)区间 的X1(k)和X2(k),也就可以很方便 地计算整个(0,N-1)区间的全部X (k),从而大大地节省了运算量。
将N点DFT分为两个N/2点DFT
将N/2点DFT分为两个N/4点DFT
2点DFT
8点蝶2FFTBiblioteka Baidu
x(0) x(4) x(2) x(6) -1 x(1) x(5) x(3) x(7)
W
3 N 0 WN
X(0) -1
2 N
X(1)
0 WN
-1 -1
X(2) X(3)
0 WN
W
0 WN
W
1 N
-1
n 0
nk N

nN / 2 j k
x[ n ]W
x 2[ n ])W
N 1
nk N
N / 2 1
( x1[ n ] e
n 0
nk N
按频率抽取(DIF)
N / 2 1
X (2k )
( x1[ n ] x 2[ n ])( W
n0
2 nk N
)
N / 2 1
W N2
X(4) X(5) X(6) X(7)
0 WN 0 WN 0 WN
-1 -1 -1
-1 -1 -1
W
2 N
-1
按频率抽取(DIF)
x1[n] = x[n] x2[n] = x[n+N/2]
n=0,1,……,N/2-1
按频率抽取(DIF)
N / 2 1
X (k )
x[ n ]W
相关文档
最新文档