常用FFT算法

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

常用FFT 算法总结

一、DFT 及IDFT 的定义

对于N 点有限长序列)(n x ,其DFT 及IDFT 定义如下: DFT :∑-==1

0)()(N n nk N W n x k X

IDFT :∑-=-=1

)(1)(N k nk N

W

k X N

n x

其中,N

p j p N

e

W

/2π-=称为旋转因子,p 称为旋转因子的指数。

二、基2-FFT 算法 设序列)(n x 的长度N 满足M

N

2

=,M 为自然数。

1、时间域抽取FFT (DIT-FFT ) (1)算法原理

按n 的奇偶把)(n x 分解为两个N/2点的子序列:

)

12()()2()(21+==r x r x r x r x

则)(n x 的DFT 为

)()()12()2()(211

2/0

)12(1

2/0

2k X W k X W

r x W

r x k X k

N N r k r N

N r rk N

+=++

=

∑∑-=+-=

其中)(1k X 和)(2k X 分别为)(1r x 和)(2r x 的N/2点DFT 。 利用)(1k X 和)(2k X 的周期性,)(k X 可以表示为

⎪⎩

⎨⎧-=++=)()()2()()()(2121k X W k X N k X k X W k X k X k

N k N 上式表明一个N 点的DFT 可以用两个N/2点的DFT 来表示。 (2)运算量 当M

N

2

=时,共有M 级蝶形,每级N/2个蝶形,每个蝶形有1次复数乘法2次复数加法。

复数乘法:N

N M N m

F

2

log

2

2

=

=

复数加法:N

N NM a F

2

log

==

N

N N

N N

FFT m DFT m F F 2

2

2

log

2log 2

)

()(=

=

(3)蝶形运算

⎪⎩⎪⎨⎧-=+=----)

()()()

()()(1111j X W k X j X j X W k X k X m p

N m m m p

N m m m

表示第m 级迭代,k 和j 表示数据所在的行数,12-+=m k j ,m M k p -⋅=2。

2、频率域抽取FFT (DIF-FFT ) (1)算法原理

将)(n x 前后对半分开,得到两个子序列,其DFT 可表示为如下形式

nk N

N n kN N N n k N n N

N n nk N

N N n nk N

N n nk

N

W N n x W n x W

N n x W n x W

n x W n x k X ∑

-=-=+-=-=-=⎥⎦

⎤⎢⎣⎡++=

+

+

=

+

=

1

2/0

2

/1

2/0

)2/(1

2/0

1

2

/1

2/0

)2()()2

()()()()(

将)(k X 分解成偶数组与奇数组,可以得到

rn

N n N N n rn N N n W W N n x n x r X W N n x n x r X 2/1

2/0

2/1

2/0

)2()()12()2()()2(∑

-=-=⎥⎦

⎤⎢⎣

+-=

+⎥⎦

⎤⎢⎣⎡

++=

⎪⎪⎩

⎪⎪⎨

⎥⎦⎤⎢⎣

+-=+

+=n N W N n x n x n x N n x n x n x )2()()()

2

()()(21

则)2(r X 和)12(+r X 分别是)(1n x 和)(2n x 的N/2点DFT ,这表明一个N 点的DFT 可以分解成两个N/2点的DFT 。 (2)运算量

运算量与时间域抽取FFT 相同。 (3)蝶形运算

[]⎩⎨⎧-=+=----p N

m m m m m m W j X k X j X j X k X k X )()()()

()()(1111

m

表示第m 级迭代,k 和j 表示数据所在的行数,m M k j -+=2,1

2

-⋅=m k p 。

三、基4-FFT 算法 设序列)(n x 的长度N 满足M

N

4

=,M 为自然数。

1、时间域抽取FFT (DIT-FFT ) (1)算法原理

将)(n x 分解为四个N/4点的子序列:

)

34()()24()()14()()4()(4321+=+=+==r x r x r x r x r x r x r x r x

则)(n x 的DFT 为

)

()()()()34()24()14()4()(4332211

4/0

)34(1

4/0

)24(1

4/0

)14(1

4/0

4k X W k X W k X W k X W

r x W

r x W

r x W

r x k X k

N k N k N N r k r N

N r k r N

N r k r N

N r rk N

+++=++

++

++

=

∑∑∑∑-=+-=+-=+-=

其中)(1k X 、)(2k X 、)(3k X 和)(4k X 分别为)(1r x 、)(2r x 、)(3r x 和)(4r x 的N/4点DFT 。 利用)(1k X 、)(2k X 、)(3k X 和)(4k X 的周期性,)(k X 可以分成4段:

⎪⎪⎪⎪⎩

⎪⎪⎪⎪⎨⎧--+=+

-+-=++--=++++=)

()()()()4

3()

()()()()2()()()()()4()()()()()(433221433221433221433221k X jW k X W k X jW k X N

k X k X W

k X W

k X W k X N k X k X jW k X W k X jW k X N k X k X W k X W k X W k X k X k

N k

N k N k N

k N

k

N

k

N k

N k

N k

N k

N k

N

上式表明一个N 点的DFT 可以用四个N/4点的DFT 来表示。

相关文档
最新文档