- 100
- 0
- 约2.07千字
- 约 5页
- 2017-04-10 发布于四川
- 举报
用VB6实快现速傅里叶变换FFT算法
用VB6实现快速傅里叶FFT算法
设原始数据在Xr()中,实现FFT算法分两个步骤,首先是实现倒序,例如Xr(0)…Xr(15)的序列要变成:
Xr(0),Xr(8),Xr(4),Xr(12),Xr(2),Xr(10),Xr(6),Xr(14),Xr(1),Xr(9),Xr(5),Xr(13),Xr(3),Xr(11),Xr(7),Xr(15),
0,8,4,12…有什么规律吗,比如第三个数2,二进制是0010,反序的写法是0100,这就是十进制的4。实现倒序之后,要做蝶形运算(二基),不说原理了,写VB代码。
位序倒置代码
Sub 倒序(X_() As Double)
Dim N As Integer, I As Long, J As Long, mn As Long, LH As Long, T As Double, k As Long
位序倒置
N = UBound(X_) 求数组大小,其值必须是2的幂
LH = N / 2
J = N / 2
For I = 1 To N - 2
If I J Then 倒序
T = X_(J)
X_(J) = X_(I)
X_(I) = T
End If
Debug.Print I, J
k = LH 下面是向右进位算法
Do
If k J Then Exit Do 高位是1吗?
J = J - k 是的,高位置0
k = k / 2 准备次高位的权
Loop Until k = 0 次高位的权若非0,则检查新的次高位
J = J + k 否则若最高位是0,则置1
Next
End Sub
蝶形算法代码
Sub 蝶形算法(Xr() As Double)
Dim L As Long, LE As Long, LE1 As Long, N As Long, R As Long, P As Long, Q As Long, M As Byte
Dim Wr As Double, Wi As Double, W1r As Double, W1i As Double, Tr As Double, Ti As Double
Dim Pi As Double, T As Double
Dim Xi()
N = UBound(Xr) 求数组大小,其值必须是2的幂
M = 0
L = 2
Pi = 3.14159265358979
Do
L = L + L
M = M + 1
Loop Until L N
N = L / 2
ReDim Xi(N - 1)
L = 1
Do
LE = 2 ^ L
LE1 = LE / 2
Wr = 1
Wi = 0
T = Pi / LE1
W1r = Cos(T)
W1i = -Sin(T)
R = 0
Do
P = R
Do
Q = P + LE1
Tr = Xr(Q) * Wr - Xi(Q) * Wi
Ti = Xr(Q) * Wi + Xi(Q) * Wr
Xr(Q) = Xr(P) - Tr
Xi(Q) = Xi(P) - Ti
Xr(P) = Xr(P) + Tr
Xi(P) = Xi(P) + Ti
P = P + LE
Loop Until P N - 1
Wr = Wr * W1r - Wi * W1i
Wi = Wr * W1i + Wi * W1r
R = R + 1
Loop Until R LE1 - 1
L = L + 1
Loop Until L M
For I = 0 To N - 1 仅输出模
Xr(I) = Sqr(Xr(I) ^ 2 + Xi(I) ^ 2)
Next
End Sub
检验的时候可以这样:
Sub 检验()
Dim Y(63) As Double
For I = 0 To 64
Y(I) = Sin(2 * 3.1415926 * I / 16)
Next
倒
您可能关注的文档
- 理工东苑房买屋卖协议.doc
- 理工科毕业文论格式模板.doc
- 2011年上半年重庆市事业单位考试真题和答案.doc
- 2011年上半年《会计基础》综合练习一和答案.doc
- 理工系女生节活动策划.doc
- 理思路找差抓距机遇提能力.doc
- 2011年七月自考真题银行信贷管理学.doc
- 理想国际教考育务部河北人力二级论文格式.doc
- 2011年上海高考历史试题和答案.doc
- 理想教育五学年作文上.doc
- 百度网盘证件夹功能升级智能识别与到期提醒让生活更从容-(5).docx
- 百度网盘职场人进阶必修课用自动化工作流替代重复文件整理.docx
- 百度网盘企业版权限管理与文档协同审阅提升团队办公效率-(4).docx
- 百度网盘老照片修复与低清视频超分辨率让珍贵记忆重获新生.docx
- 百度网盘企业版权限管理与文档协同审阅提升团队办公效率-(3).docx
- 百度网盘证件夹功能升级智能识别与到期提醒让生活更从容-(1).docx
- 百度网盘证件夹功能升级智能识别与到期提醒让生活更从容-(4).docx
- 百度网盘家庭空间共享相册AI人物分类与时光影片自动生成-(1).docx
- 学党史庆党生了解中国共产党发展脉络党课.pptx
- 中医药学概论完整版.ppt
原创力文档

文档评论(0)