没有合适的资源?快使用搜索试试~ 我知道了~
首页基于TMS320C64x+DSP的FFT实现
基于TMS320C64x+DSP的FFT实现
需积分: 23 27 下载量 13 浏览量
更新于2023-05-28
评论 3
收藏 669KB PDF 举报
基于TMS320C64x+DSP的FFT实现,使用DSP做FFT运算的童鞋可以看看
资源详情
资源评论
资源推荐
ZHCA414
基于
TMS320C64x+DSP
的
FFT
实现
3
1 快速傅立叶变换介绍
序列 x(n), n = 0...N −1 的离散傅立叶变换 (Discrete Fourier Transform, DFT) X(k), k = 0...N −1 可
定义为:
( )
∑
−
=
−===
1
0
1,....,0,)()()(
N
n
kn
NN
NkWnxn
xDFTkX
其中,
knNjkn
N
eW
)/2(
π
−
=
是旋转因子。
反离散傅立叶(Inverse DFT, IDFT)可定义为:
∑
−
=
−
−==
1
0
1,....,0,)(
1
)(
N
k
kn
N
NnWkX
N
nx
其中
knNjkn
N
eW
)/2(
π
=
−
它们的输入输出序列都是复数。如果我们定义一个基本的运算单位为两个复数相乘再相加,则直
接根据以上公式进行 DFT 计算需要 N
2
次基本运算。当 N 比较大时,N
2
会变得非常大。这使得直
接的 DFT 计算方法对很多应用来说都不现实。
1.1 基 2 FFT
然而,如果 N 是 2 的整数次方,一种快速傅立叶变换(Fast Fourier Transform, FFT)算法可显
著的减少运算量。基 2 FFT 算法利用了旋转因子的以下周期性特性:
1)0sin()0cos(
)0(0)/2(0
=+===
−−
je
eW
jNj
N
π
kkkjkNNjkN
N
jeeW )1())sin()(cos(
)(2/)/2(2/
−=−+−===
−−
ππ
ππ
kn
N
knNjknNjkn
N
WeeW
2/
))2//(2(2)/2(2
===
−−
ππ
利用这些特性,可以把 N 点 DFT 分解为以下两个 N/2 点 DFT:
ZHCA414
4
基于
TMS320C64x+DSP
的
FFT
实现
∑
∑
∑
∑
∑∑∑
−
=
−
=
−
=
−
=
+
−
=
−
=
−
=
+−+=
+−+=
++=
++=
+==
12/
0
12/
0
12/
0
2/
12/
0
)2/(
1
2/
12/
0
1
0
)]2/()1()([
])2/()1()([
])2/()([
])2/()([
)()()()(
N
n
nk
N
k
N
n
nk
N
knk
N
N
n
nk
N
kN
N
nk
N
N
n
kNn
N
nk
N
N
Nn
nk
N
N
n
nk
N
N
n
nk
N
WNnxnx
WNnxWnx
WWNnxWnx
WNnxWnx
WnxWnxWnxkX
让我们把输出序列 X(k), k= 0,…, N-1 分解成连个序列:
偶数序列: X(2r), r= 0,…,N/2-1
))2/()((
)]2/()([
)]2/()([
)]2/()1()([)2(
2/
12/
0
2/
12/
0
2
12/
0
22
NnxnxDFT
WNnxnx
WNnxnx
WNnxnxrX
N
N
n
nr
N
N
n
nr
N
N
n
nr
N
r
++=
++=
++=
+−+=
∑
∑
∑
−
=
−
=
−
=
奇数序列: X(2r+1), r= 0,…,N/2-1
)))2/()(((
})]2/()({[
)]2/()([
)]2/()1()([)12(
2/
12/
0
2/
12/
0
2
12/
0
)12(*)12(
n
NN
N
n
nr
N
n
N
N
n
nr
N
n
N
N
n
rn
N
r
WNnxnxDFT
WWNnxnx
WWNnxnx
WNnxnxrX
+−=
+−=
+−=
+−+=+
∑
∑
∑
−
=
−
=
−
=
++
按以上方法反复的分解 N 点 DFT 成 2/N 点 DFT 直到 N=2,使得 N 点傅立叶变换的运算复杂度由
原来的 N
2
降到 Nlog
2
N,这是非常显著的改进。这个算法也被称为频域抽取(Decimate-In-
Frequency, DIF)FFT 算法。图 1 演示了 N=8 点 FFT 的分解运算过程。上面的两个箭头(每个箭
头上都有一个数字“1”)表示两个数相加,下面的两个箭头(一个箭头上数字“1”,一个箭头
上数字“-1”)表示两个数相减。后面的
n
N
W
表示加减的结果再与旋转因子
n
N
W
相乘。
ZHCA414
基于
TMS320C64x+DSP
的
FFT
实现
5
X(0)
X(0)
X(1)
X(4)
X(7)
X(7)
X(6)
X(3)
X(5)
X(5)
X(4)
X(1)
X(3)
X(6)
X(2)
X(2)
0
8
W
2
8
W
1
8
W
3
8
W
1
1
1
-1
1
-1
1
1
1
1
1
-1
X(0)
X(1)
X(7)
X(6)
X(5)
X(4)
X(3)
X(2)
0
8
W
2
8
W
1
8
W
3
8
W
1
1
1
-1
4 points
DFT
X(0)
X(1)
X(7)
X(6)
X(5)
X(4)
X(3)
X(2)
0
8
W
2
8
W
1
8
W
3
8
W
1
1
1
-1
1
-1
1
1
Even
Sequence
Odd
Sequence
2 points
DFT
2 points
DFT
2 points
DFT
2 points
DFT
Even of even
Sequence
Odd of even
Sequence
Even of odd
Sequence
Odd of odd
Sequence
4 points
DFT
)(
0
8
0
4
WW
)(
2
8
1
4
WW
)(
0
8
0
4
WW
)(
2
8
1
4
WW
)(
0
8
0
4
WW
)(
2
8
1
4
WW
)(
0
8
0
4
WW
)(
2
8
1
4
WW
ZHCA414
6
基于
TMS320C64x+DSP
的
FFT
实现
Figure 1. 基 2,N=8 点 FFT
从图 1 可以看出,输出数据的顺序被打乱了。这种乱序其实有规律,我们把顺序的序号用二进制
数列在表 1 中的左边,把乱序的序号用二进制数列在表 1 中的右边。从表中我们可以看出,乱序
序号的二进制码可由顺序序号的二进制码反转得到,所以,这种规律被叫做比特反转。
Table 1. 基 2,8 点 FFT 序号比特反正
Normal order of
index n
Binary bits of
index n
Reversed bits of
index n
Bit-reversed of order
index n
0 000 000 0
1 001 100 4
2 010 010 2
3 011 110 6
4 100 001 1
5 101 101 5
6 110 011 3
7 111 111 7
1.2 基 4 FFT
如果 FFT 点数 N 是 4 的整数次方,采用基 4FFT 算法可以进一步减少运算量。基 4 FFT 算法算法
利用了旋转因子的以下周期性特性::
kkkjkNNjkN
N
jjeeW )())2/sin()2/(cos(
)2/(4/)/2(4/
−=−+−===
−−
ππ
ππ
kkkjkNNjkN
N
jeeW )1())sin()(cos(
)(4/2)/2(4/2
−=−+−===
−−
ππ
ππ
kkkjkNNjkN
N
jjeeW )())2/3sin()2/3(cos(
)2/3(4/3)/2(4/3
=−+−===
−−
ππ
ππ
nk
N
knNjknNjnk
N
WeeW
4/
))4//(2(4)/2(4
===
−−
ππ
利用这些特性,可以把 N 点 DFT 分解为以下 4 个 N/4 点 DFT:
∑
∑
∑
∑∑∑∑∑
−
=
−
=
−
=
+++
−
=
−
=
−
=
−
=
−
=
+++−++−+=
++++++=
++++
++=
+++==
14/
0
14/
0
4/34/24/
14/
0
)4/3()4/2()4/(
1
4
/3
14/3
4/2
14/2
4/
14/
0
1
0
)]4/3()()4/2()1()4/()(
)([
])4/3()4/2()4/()([
])4/3()4/2()4/()([
)()
()()()()(
N
n
nk
N
kkk
N
n
nk
N
kN
N
kN
N
kN
N
N
n
kNn
N
kNn
N
kNn
N
nk
N
N
Nn
nk
N
N
Nn
nk
N
N
Nn
nk
N
N
n
nk
N
N
n
nk
N
WNnxjNnxNnxjnx
WWNnxWN
nxWNnxnx
WNnxWNnxWNnxW
nx
WnxWnxWnxWnxWnxkX
让我们把输出序列 X(k), k= 0,…, N-1 分解成四个序列, X(4r), X(4r+1), X(4r+2), X(4r+3), r=
0,…,N/4-1
ZHCA414
基于
TMS320C64x+DSP
的
FFT
实现
7
( )
( )
)(1)(1
)]4/3()4/([)]4/2()([
)]4/3()4/2()4/()([
)]4/3()4/2()4/()([
)]4/3()()4/2()1()4/()()([)4(
4/
4/
4/
14/
0
4/
14/
0
4444
nBnADFT
NnxNnxNnxnxDFT
NnxNnxNnxnxDFT
WNnxNnxNnxnx
WNnxjNnxNnxjnxrX
N
N
N
N
n
nr
N
N
n
nr
N
rrr
+=
++++++=
++++++=
++++++=
+++−++−+=
∑
∑
−
=
−
=
其中,
)4/2()()(1 N
nxnxnA ++=
;
)4/3()4/()(
1 NnxNnxnB +++=
( )
( )
( )
n
NN
n
NN
n
NN
N
n
nr
N
n
N
N
n
nr
N
n
N
N
n
nr
N
rrr
WnjBnADFT
WNnxNnxjNnxnxDFT
WNnjxNnxNnjxnxDFT
WWNnjxNnxNnjxnx
WWNnjxNnxNnjxnx
WNnxjNnxNnxjnxrX
)](2)(2[
)]}4/3()4/([)]4/2()({[
)]4/3()4/2()4/()([
)]4/3()4/2()4/()([
)]4/3()4/2()4/()([
)]4/3()()4/2()1()4/()()([)14(
4/
4/
4/
14/
0
4/
14/
0
4
14/
0
)14()14()14()14(
−=
+−+−+−=
+++−+−=
+++−+−=
+++−+−=
+++−++−+=+
∑
∑
∑
−
=
−
=
−
=
++++
其中,
)4/2()()(2 NnxnxnA +−=
;
)4/3()4/()(2 NnxNnxnB +−+=
剩余31页未读,继续阅读
请叫俺墩子
- 粉丝: 1
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0