社区
机器视觉
帖子详情
求快速傅立叶算法程序,最好是c/c++的
Jack3
2003-12-13 07:18:26
回复者有分,分不够再加
...全文
83
1
打赏
收藏
求快速傅立叶算法程序,最好是c/c++的
回复者有分,分不够再加
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
niejx
2003-12-13
打赏
举报
回复
VOID FFT(complex<double> * TD, complex<double> * FD, int r)
{
// 付立叶变换点数
LONG count;
// 循环变量
int i,j,k;
// 中间变量
int bfsize,p;
// 角度
double angle;
complex<double> *W,*X1,*X2,*X;
// 计算付立叶变换点数
count = 1 << r;
// 分配运算所需存储器
W = new complex<double>[count / 2];
X1 = new complex<double>[count];
X2 = new complex<double>[count];
// 计算加权系数
for(i = 0; i < count / 2; i++)
{
angle = -i * PI * 2 / count;
W[i] = complex<double> (cos(angle), sin(angle));
}
// 将时域点写入X1
memcpy(X1, TD, sizeof(complex<double>) * count);
// 采用蝶形算法进行快速付立叶变换
for(k = 0; k < r; k++)
{
for(j = 0; j < 1 << k; j++)
{
bfsize = 1 << (r-k);
for(i = 0; i < bfsize / 2; i++)
{
p = j * bfsize;
X2[i + p] = X1[i + p] + X1[i + p + bfsize / 2];
X2[i + p + bfsize / 2] = (X1[i + p] - X1[i + p + bfsize / 2]) * W[i * (1<<k)];
}
}
X = X1;
X1 = X2;
X2 = X;
}
// 重新排序
for(j = 0; j < count; j++)
{
p = 0;
for(i = 0; i < r; i++)
{
if (j&(1<<i))
{
p+=1<<(r-i-1);
}
}
FD[j]=X1[p];
}
// 释放内存
delete W;
delete X1;
delete X2;
}
VIsual
C++
数字图像处理典型算法及实现
数字图像处理算法实现的源
程序
,编译环境VC6.0.包括图像点运算,几何变换,滤波,傅立叶变换等
数字信号处理/FFT算法的C
程序
c
程序
的源代码 数字信号处理 快速傅立叶变换的算法 用vc写的,绝对可以用的
FFT
C++
代码
FFT
C++
代码 我自己写的!
基于C语言的快速傅里叶变换FFT算法(含详细注释)
简单易懂的
程序
,对于处理数据的具体要
求
可以根据注释修改。 简单易懂的
程序
,对于处理数据的具体要
求
可以根据注释修改。
Matlab7.0 软件下载
数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分等 二维和三维图形函数可用于可视化数据 本文来自: 高校自动化网(Www.zdh1909.com) 详细出处参考(转载请保留本链接):...
机器视觉
4,445
社区成员
15,335
社区内容
发帖
与我相关
我的任务
机器视觉
图形图像/机器视觉
复制链接
扫一扫
分享
社区描述
图形图像/机器视觉
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章