快速傅里叶变换模块VB版.doc_第1页
快速傅里叶变换模块VB版.doc_第2页
快速傅里叶变换模块VB版.doc_第3页
快速傅里叶变换模块VB版.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

kkfft.bas,vb版快速傅里叶变换模块,翻译自徐世良的“c语言常用算法程序集”,供vb用户免费使用yangwqcumt,2012.04-模块说明:pr(),pr(),分别是输入序列的实部与虚部;fr(),fi()分别是输出序列的实部与虚部;以上数组的长度都是n,而且n等于2的k次方,n=2kl为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 + 1) = vi - fi(it + 1) next m = n / 2 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 = pr(m * j) + pi(m * j) s = 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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论