1快速傅里叶变换_第1页
1快速傅里叶变换_第2页
1快速傅里叶变换_第3页
全文预览已结束

下载本文档

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

文档简介

1、快速傅里叶变换( FFT)的算法思想和源代码信息科学学院 计算机应用技术 102009328 马梦琦 思想:快速傅氏变换 (Fast Fourier Transform ,FFT ,是离散傅氏变换的快速算 法,也可用于计算离散傅里叶变换的逆变换。快速傅里叶变换有广泛的应用,如 数字信号处理、计计算大整数乘法、求解偏微分方程等等它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进 获得的。它对傅氏变换的理论并没有新的发现,但是对于在计算机系统或者说数字系统中 应用离散傅立叶变换,可以说是进了一大步。把一个序列分为长度减半的偶序列和奇序列,原序列的 DFT 就有着两个 N/2

2、 列求得。进一 步把 N/2 序列分解成两个 N/4 序列,一直分解为单点序列。以 L=3,L=8 为例,需要三级分 解,源代码如下:#using std;const double PI = 3.14159265358979323846;n; / 数据个数 = 2logn 次方logn;/ 复数结构体struct stCompNumdouble re;double im;stCompNum* pData1 = NULL;stCompNum* pData2 = NULL;/ 正整数位逆序后输出 reverseBits( value, bitCnt i;ret = 0;for(i=0; iret

3、|= (value & 0x1 = 1;ret;voidstream fin(data.txt;i,j,k;/ input logn finlogn;/ calculate nfor(i=0, n=1; i/ malloc memory space pData1 = stCompNumn;pData2 = stCompNumn;/ input raw datafor(i=0; i pData1i.re;for(i=0; i pData1i.im;/ FFT transformcnt = 1;for(k=0; kfor(j=0; jlen = n / cnt;double c = - 2 * P

4、I / len;for(i=0; iidx = len * j + i;pData2idx.re = pData1idx.re + pData1idx + len/2.re; pData2idx.im = pData1idx.im + pData1idx + len/2.im; for(i=len/2; idouble wcos = cos(c * (i - len/2;double wsin = sin(c * (i - len/2;idx = len * j + i;stCompNum tmp;tmp.re = pData1idx - len/2.re - pData1idx.re;tmp

5、.im = pData1idx - len/2.im - pData1idx.im;pData2idx.re = tmp.re * wcos - tmp.im * wsin;pData2idx.im = tmp.re * wsin + tmp.im * wcos;cnt itmp = pData1i;pData1i = pData1rev; pData1rev = tmp;/ output result datafor(i=0; icoutfor(i=0; icout/ free memory spacedelete pData1;delete pData2; fin.close;system(pause;输入文件 data.txt 内容如下 :4 2.2 4.5 6.7 8.5 10.2 12.3

温馨提示

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

评论

0/150

提交评论