- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
‘kkfft.bas,VB 版快速傅里叶变换模块,翻译自徐世良的“C 语言常用算法程序集”,供 vb 用户免费使
用
‘yangwqcumt,2012.04
‘
‘模块说明:
‘P r(),pr(),分别是输入序列的实部与虚部; ‘F r(),fi()分别是输出序列的实部与虚部; k
‘以上数组的长度都是 n,而且 n 等于 2 的 k 次方,n=2 ‘L 为 0 时做正变换,为 1 时做反变换
‘ 请参考徐教授的著作
------ Public Sub kkfft(ByRef pr() As Double, _
ByRef
pi()
As
Double,
_
ByRef
fr()
As
Double,
_
ByRef
fi()
As
Double,
_
ByVal
n As
Integer, _
ByVal
k As
Integer, ByVal L As Integer)
Dim it As Integer
Dim m As Integer Dim iis As Integer Dim i As Integer Dim j As Integer Dim nv As Integer Dim l0 As Integer
Dim p, q, s, vr, vi, poddr, poddi As Double For it = 0 To n - 1
m = it
iis
= 0
For
i = 0
To k - 1
j =
Int(m
/ 2)
iis
= 2 *
iis + (m - 2 * j)
m =
j
Next
fr(it) = pr(iis) fi(it) = pi(iis) Next
pr(0) = 1#
pi(0) = 0#
p = 6.283185306 / (1# * n)
pr(1) = Cos(p)
pi(1) = -Sin(p)
If l 0 Then pi(1) = -pi(1)
For i = 2 To n - 1
p = pr(i - 1) * pr(1)
q = pi(i - 1) * pi(1)
s = (pr(i - 1) + pi(i - 1)) * (pr(1) + pi(1))
pr(i) = p
- q
pi(i) = s
- p
- q
Next
For it = 0 To n - 2 Step 2 vr = fr(it)
vi = fi(it)
fr(it) = vr + fr(it + 1)
fi(it) = vi + fi(it + 1)
fr(it
+
1)
=
vr -
fr(it + 1)
fi(it Next
m = n
+
/
1)
2
=
vi -
fi(it + 1)
nv = 2
For l0 = k - 2 To 0 Step -1 m = m / 2: nv = 2 * nv
For it = 0 To (m - 1) * nv Step nv
For
j = 0 To (nv / 2) - 1
p =
pr(m * j) * fr(it + j
+ nv
/ 2)
q =
pi(m * j) * fi(it + j
+ nv
/ 2)
s =
s =
pr(m * j) + pi(m * j)
s * (fr(it + j + nv /
2) +
fi(it + j + nv / 2))
poddr
=
p
-
q
poddi
=
s
-
p - q
fr(it
+
j
+
nv / 2) = fr(it + j) - poddr
fi(it + j + nv / 2) = fi(it + j) - poddi
fr(it
+
j) = fr(it
+
j)
+
poddr
fi(it
+
j) = fi(it
+
j)
+
poddi
Next
Next
Next
If l 0 Then
For i = 0 To n - 1
fr(i) = fr(i) / (1# * n)
fi(i) = fi(i) / (1# * n) Next
End If End Sub
您可能关注的文档
- 考研心理学专业基础综合(多项选择题)高频考点模拟试卷45(题后含.pdf
- 考研心理学专业基础综合(多项选择题)模拟试卷76(题后含答案及解析).pdf
- 考研心理学专业基础综合(简答题)模拟试卷29(题后含答案及解析).pdf
- 考研心理学专业基础综合(简答题)模拟试卷46(题后含答案及解析).pdf
- 考研心理学专业基础综合(简答题)模拟试卷65(题后含答案及解析).pdf
- 考研心理学专业基础综合(综合题)模拟试卷18(题后含答案及解析).pdf
- 考研药学综合(生物化学)历年真题试卷汇编2(题后含答案及解析).pdf
- 考研英语美文赏读(4):抖音为何深受中国年轻人喜爱.docx
- 考研真题 2020安徽大学物理化学入学考研试题(含答案).pdf
- 考研政治(中国近现代史纲要)历年真题试卷汇编2(题后含答案及解析).pdf
文档评论(0)