版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、DSP原理及应用大作业快速傅立叶变换专业:XXXX姓名:XXX学号:08201081XX指导老师:XX时间:2XXXX快速傅立叶变换(FFT)实验 一、设计目的1 .在理论学习的基础上,通过本实验,加深对FFT的理解,熟悉FFT子程序。2 .熟悉应用FFT对典型信号进行频谱分析的方法3 .了解应用FFT进行信号频谱分析过程中可能出现的问题以便在实际中正确 应用FFT。4 .掌握用窗函数法设计 FFT快速傅里叶的原理和方法;5 .熟悉FFT快速傅里叶特性;二、所需设备PC 兼容机一台,操作系统为 Windows2000(或 Windows98 , WindowsXP ,以下默认为 Windows
2、2000),安装 Code Composer Studio 2.0 软件。三、设计内容本试验要求使用FFT变换求一个时域信号的频域特性,并从这个频域特性 求出该信号的频率值。使用c语言实现对FFT算法的仿真,然后使用DSP汇编语言实现对 FFT 的 DSP编程。本实验采用软件仿真,不需设置硬件。四、设计原理在各种信号序列中,有限长序列信号处理占有很重要地位, 对有限长序列,我 们可以使用离散Fouier变换(DFT)。这一变换不但可以很好的反映序列的频谱特 性,而且易于用快速算法在计算机上实现,当序列x(n)的长度为N时,它的DFTN 1N N 1X(k)x(nW;nj2nx(n) - X(k
3、)WNkn定义为:n 0, Wn e 反换为:Nko有限长序列的DFT是其Z变换在单位圆上的等距采样,或者是序列Fourier变换的等距采 样,因此可以用于序列的谱分析。FFT并不是与DFT不同的另一种变换,而是为了减少DFT运算次数的 一种快速算法。它是对变换式进行一次次分解,使其成为若干小点数的组合,从 而减少运算量。常用的FFT是以2为基数的,其长度 N=2L,它的效率高,程 序简单使用非常方便,当要变换的序列长度不等于2的整数次方时,为了使用以 2为基数的FFT,可以用末位补零的方法,使其长度延长至2的整数次方。在运用DFT进行频谱分析的过程中可能产生几种问题:(1)混登序列的频谱时被
4、采样信号的周期延拓,当采样速率不满足Nyquist定理时,就会发生频谱混叠,使得采样后的信号序列频谱不能真实的反映原信号的频谱。避免混叠现象的唯一方法是保证采样速率足够高,使频谱混叠现象不致出 现,即在确定采样频率之前,必须对频谱的性质有所了解,在一般情况下,为了 保证高于折叠频率的分量不会出现, 在采样前,先用低通模拟滤波器对信号进行 滤波。泄漏实际中我们往往用截短的序列来近似很长的甚至是无限长的序列,这样可以使用较短的DFT来对信号进行频谱分析,这种截短等价于给原信号序列乘以一 个矩形窗函数,也相当于在频域将信号的频谱和矩形窗函数的频谱卷积,所得的 频谱是原序列频谱的扩展。泄漏不能与混叠完
5、全分开,因为泄漏导致频谱的扩展,从而造成混叠。为了 减少泄漏的影响,可以选择适当的窗函数使频谱的扩散减至最小。DFT是对单位圆上Z变换的均匀采样,所以它不可能将频谱视为一个连续函数, 就一定意义上看,用DFT来观察频谱就好像通过一个栅栏来观看一个图景一样, 只能在离散点上看到真实的频谱,这样就有可能发生一些频谱的峰点或谷点被 尖桩的栅栏”所拦住,不能别我们观察到。减小栅栏效应的一个方法就是借助于在原序列的末端填补一些零值,从而 变动DFT的点数,这一方法实际上是人为地改变了对真实频谱采样的点数和位 置,相当于搬动了每一根 尖桩栅栏”的位置,从而使得频谱的峰点或谷点暴露出 来。用FFT可以实现两
6、个序列的圆周卷积。在一定的条件下,可以使圆周卷积等于 线性卷积。一般情况,设两个序列的长度分别为N1和N2,要使圆周卷积等于线性卷积的充要条件是FFT的长度N>N1 +N2对于长度不足N的两个序列,分别将他们补零延长到 No当两个序列中有一个序列比较长的时候,我们可以采用分段卷积的方法。 有两种方法:重叠相加法。将长序列分成与短序列相仿的片段,分别用 FFT对它们作 线性卷积,再将分段卷积各段重叠的部分相加构成总的卷积输出。重叠保留法。这种方法在长序列分段时,段与段之间保留有互相重叠的部 分,在构成总的卷积输出时只需将各段线性卷积部分直接连接起来,省掉了输出段的直接相加。(3)栅栏效应D
7、FT是对单位圆上z变换的均匀采样,所以它不可能将频谱视为一个连续 函数,从某种意义上讲,用 DFT来观察频谱就如同通过一个栅栏来观看景象一 样,只能在离散点上看到真实的频谱,这样一些频谱的峰点或谷点就可能被"尖桩的栅栏“挡住,也就是正好落在两个离散采样点之间,不能被观察到。减小栅栏效应的一个方法是在原序列的末端填补一些零值,从而变动 DFT的点 数,这一方法实际上是人为地改变了对真实频谱采样的点数和位置,相当于 搬 动了 “尖桩栅栏”的位置,从而使得频谱的峰点或谷点暴露出来。(4) DFT的分辨率填补零值可以改变对DTFT的采样密度,人们常常有一种误解,认为补零可以提 高DFT的频率
8、分辨率,事实上,DFT的频率分辨率通常规定为fs/N ,这里的N是指信号x n的有效长度,而不是补零的长度。不同长度的 X n,其DTFT的 结果是不同的;而相同长度的x n尽管补零的长度不同其 DTFT的结果应是相同 的,它们的DFT只是反映了对相同的DTFT采用了不同的采样密度。总结一下:要提高DFT分辨率只有增加信号x n的截取长度N 五、实验内容1、原来的程序下做出的图将程序改为四个节点时的程序如下:#include "myapp.h"#include "csedu.h"#include "scancode.h"#includ
9、e <math.h>#define PI 3.1415926#define SAMPLENUMBER 128voidFFT(floatdataRSAMPLENUMBER,float dataISAMPLENUMBER) int x0,x1,x2,x3,xx;int i,j,k,b,p,L;float TR,TI,temp;void InitForFFT();void MakeWave();intINPUTSAMPLENUMBER,DATASA MPLENUMBER;floatfWaveRSAMPLENUMBER,fWaveIS AMPLENUMBER,wSAMPLENUMB ER;
10、floatsin_tabSAMPLENUMBER,cos_tabS AMPLENUMBER;main()int i;InitForFFT();MakeWave();for(i=0;i<SAMPLENUMBER;i+ )fWaveRi=INPUTi;fWaveIi=0.0f;wi=0.0f;FFT(fWaveR,fWaveI);for(i=0;i<SAMPLENUMBER;i+ )DATAi=wi;while ( 1 ); / break point/*sequenceforfollowing*/code invert(i=0;i<SAMPLENUMBER;i+ )x0=x1=
11、x2=x3=0;x0=i&0x01;x1=(i/2)&0x01;x2=(i/4)&0x01; x3=(i/8)&0x01;xx=x0*8+x1*4+x2*2+x3; dataIxx=dataRi;for(i=0;i<SAMPLENUMBER;i+ )dataRi=dataIi; dataIi=0;/*FFT */following codefor ( L=1;L<=4;L+ ) /* for */ b=1; i=L-1; while ( i>0 ) b=b*2; i-;/* b= 2A(L-1) */for ( j=0;j<=b-1;j+
12、 ) /* for (2)*/p=1; i=4-L;while (i>0)/*p=pow(2,8-L)*j; */ p=p*2; i-;p=p*j;for ( k=j;k<128;k=k+2*b )/* for (3) */(TR=dataRk;TI=dataIk; temp=dataRk+b;dataRk=dataRk+dataRk+b*cos _tabp+dataIk+b*sin_tabp;dataIk=dataIk-dataRk+b*sin_t abp+dataIk+b*cos_tabp;dataRk+b=TR-dataRk+b*cos_ta bp-dataIk+b*sin_
13、tabp;dataIk+b=TI+temp*sin_tabp-dat aIk+b*cos_tabp; /* END for (3) */ /* END for (2) */* END for (1) */for(i=0;i<SAMPLENUMBER/2;i+ )(wi=sqrt(dataRi*dataRi+dataIi *dataIi); /* END FFT */void InitForFFT()(int i;for(i=0;i<SAMPLENUMBER;i+ )(sin_tabi=sin(PI*2*i/SAMPLENU MBER);cos_tabi=cos(PI*2*i/SAM
14、PLENU MBER);void MakeWave()(int i;for(i=0;i<SAMPLENUMBER;i+ )(INPUTi=sin(PI*2*i/SAMPLENU MBER*3)*1024;得出的图为:(0,0234375, 6545.3)FFT MagLin Auto Scale Rectangular程序改为八个节点时:#include"myapp.h"#include "csedu.h"#include "scancode.h"#include <math.h>ER;floatsin_tabSAM
15、PLENUMBER,cos_tabS AMPLENUMBER;main()#define PI 3.1415926#define SAMPLENUMBER 128int i;void InitForFFT();void MakeWave();intINPUTSAMPLENUMBER,DATASA MPLENUMBER;floatfWaveRSAMPLENUMBER,fWaveIS AMPLENUMBER,wSAMPLENUMBInitForFFT();MakeWave(); for(i=0;i<SAMPLENUMBER;i+ ) fWaveRi=INPUTi; fWaveIi=0.0f;
16、wi=0.0f;FFT(fWaveR,fWaveI); for(i=0;i<SAMPLENUMBER;i+ ) (DATAi=wi;while ( 1 ); / break point voidFFT(floatdataRSAMPLENUMBER,float dataISAMPLENUMBER) (int x0,x1,x2,x3,x4,x5,x6,x7,xx;int i,j,k,b,p,L;float TR,TI,temp;/*followingcode invertsequence*/for (i=0;i<SAMPLENUMBER;i+ )(x0=x1=x2=x3=x4=x5=x
17、6=0;x0=i&0x01;x1=(i/2)&0x01;x2=(i/4)&0x01;x3=(i/8)&0x01;x4=(i/16)&0x01;x5=(i/32)&0x01;x6=(i/64)&0x01;x7=(i/128)&x01;xx=x0*128+x1*64+x2*32+x3*16+ x4*8+x5*4+x6*2+x7;dataIxx=dataRi;for(i=0;i<SAMPLENUMBER;i+ )(dataRi=dataIi; dataIi=0;/*followingcodeFFT*/for ( L=1;L<
18、=8;L+ ) /* for(1) */b=1; i=L-1;while ( i>0 ) b=b*2; i-;/* b= 2A(L-1) */for ( j=0;j<=b-1;j+ ) /* for (2)*/p=1; i=8-L;while (i>0)/*p=pow(2,8-L)*j; */ p=p*2; i-; p=p*j;for ( k=j;k<128;k=k+2*b ) /* for (3) */TR=dataRk;TI=dataIk; temp=dataRk+b;dataRk=dataRk+dataRk+b*cos _tabp+dataIk+b*sin_tabp;dataI止dataIk-dataRk+b*sin_t abp+dataIk+b*cos_tabp;dataRk+b=TR-dataRk+b*cos_ta bp-dataIk+b*sin_tabp;dat
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度柑橘滞销产品线上推广与“抢购”销售合同3篇
- 2024瑜伽馆瑜伽教练劳动合同范本及教练休息时间规定3篇
- 2024版鸡蛋简单购销合同
- 2025年度养老设施建设承包合同范本权威版4篇
- 2025年度智能交通信号控制系统研发与推广合同4篇
- 2024知识产权许可使用合同许可人和被许可人
- 2025年度渔业生态循环承包经营合同4篇
- 2024版鱼苗的购销合同范本
- 2025年度智慧能源管理系统承包合作协议范文4篇
- 2025年度医院手术室设备供应及承包运营协议4篇
- DB3303T 059-2023 政务信息化项目软件开发费用测算规范
- 康复科宣传展板
- 二零二五年度IT公司内部技术文档保密与使用规范协议3篇
- 加强教师队伍建设教师领域学习二十届三中全会精神专题课
- 2024 年广东公务员考试行测试题【A类+B类+C类】真题及答案
- 2024-2025学年人教版数学七年级上册期末复习卷(含答案)
- 湖北省学前教育技能高考《幼儿心理》历年考试真题题库(含答案)
- 山东师范大学《文学评论写作》2021-2022学年第一学期期末试卷
- 2024-2025学年人教版初一上学期期末英语试题与参考答案
- 四年级数学上册人教版24秋《小学学霸单元期末标准卷》考前专项冲刺训练
- 公司出纳年度工作总结
评论
0/150
提交评论