#include"math.h"
void dft(x,y,a,b,n,sign)
/*x-双精度实型一维数组,长度为n。存放要变换数据的实部。
y-双精度实型一维数组,长度为n。存放要变换数据的虚部。
a-双精度实型一维数组,长度为n。存放变换结果的实部。
b-双精度实型一维数组,长度为n。存放变换结果的虚部。
n-整型变量。数据长度。
sign-整型变量。当sign=1时,子函数dft()计算离散傅里叶正变换;当sign=-1时,dft()计
算离散傅里叶反变换。
*/
int n,sign;
double x[],y[],a[],b[];
{
int i,k;
double c,d,q,w,s;
q = 6.28318530715/n;
for(k=0;k<n;k++)
{
w = k*q;
a[k] = b[k] = 0.0;
for(i=0;i<n;i++)
{
d = i*w;
c = cos(d);
s = sin(d)*sign;
a[k] += c*x[i] + s*y[i];
b[k] += c*y[i] - s*x[i];
}
}
if(sign == -1)
{
c=1.0/n;
for(k=0;k<n;k++)
{
a[k] = c*a[k];
b[k] = c*b[k];
}
}
}
离散傅里叶变换(DFT) C代码
4星 · 超过85%的资源 需积分: 1 64 浏览量
2009-07-31
09:28:46
上传
评论 8
收藏 20KB RAR 举报
dsfire
- 粉丝: 37
- 资源: 8
最新资源
- 基于 Java的扫雷程序毕业设计
- axure9 里面有码 axure9 里面有码
- 551-2404242311-1.amr
- 自己搭建的关于springboot整合mybatis的框架.zip
- 这是一个保存Springboot+MyBaits项目的仓库.zip
- tensorflow-gpu-2.7.2-cp39-cp39-manylinux2010-x86-64.whl
- tensorflow-2.7.4-cp38-cp38-manylinux2010-x86-64.whl
- tensorflow-gpu-2.7.4-cp38-cp38-manylinux2010-x86-64.whl
- 詹佳 陈敏 口语2.mp3
- 图书管理系统毕业设计Java语言实现
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
- 3
- 4
- 5
- 6
前往页