文档详情

西安交通大学数字信号处理实验报告 1.pdf

发布:2017-09-23约2.54万字共25页下载文档
文本预览下载声明
西安交通大学 数字信号处理 实验报告 快速傅立叶变换 姓名:XXXXXX 学号:XXXXXXXXX 班级:XXXX 1 实验一快速傅里叶变换 一、实验目的 1. 在理论学习的基础上,通过本实验加深对快速傅立叶变换的理解; 2. 熟悉并掌握按时间抽取FFT 算法的程序; 3. 了解应用FFT 进行信号频谱分析过程中可能出现的问题,例如混淆、泄漏、 栅栏效应等,以便在实际中正确应用FFT 。 二、实验内容 1. 仔细分析教材第六章‘时间抽取法FFT ’的算法结构,编制出相应的用FFT 进行信号分析的C 语言(或MATLAB 语言)程序; 2. 用FFT 程序分析正弦信号 y(t) sin(2f t)[u(t) u(t N *T )] t  ,设u(0) 1 分别在以下情况进行分析并讨论所得的结果: a ) 信号频率f =50Hz,采样点数N=32,采样间隔T=0.000625s b ) 信号频率f =50Hz,采样点数N=32,采样间隔T=0.005s c ) 信号频率f =50Hz,采样点数N=32,采样间隔T=0.0046875s d ) 信号频率f =50Hz,采样点数N=32,采样间隔T=0.004s e ) 信号频率f =50Hz,采样点数N=64,采样间隔T=0.000625s f ) 信号频率f =250Hz ,采样点数N=32,采样间隔T=0.005s g ) 将c ) 信号后补32 个0,做64 点FFT 三、实验程序设计 1. “时间抽取FFT”算法的原理: N 1 X (k ) x (n)Wk n 2 N j k n 0 N , 中k 有限长序列x (n)的N 点DFT 定义为: ,式中W e W N N 为整数时简称其为旋转因子。若对x(n)做一次DFT 运算,每计算一个X(k)值需 要进行4N 次实数相乘和2N+2(N-1)=2(2N-1)次实数相加。因此整个DFT 运算需 要进行4N 2 次实数相乘和 2N(2N-1)次实数相加。当使用计算机计算时运算量较 2 实验一快速傅里叶变换 大。基2FFT 时间抽取法,是首先将序列x(n)分解成两组,偶数项为一组,奇数 项为一组。利用旋转因子的周期性及对称性,可将X(k)表达为前后两部分: X (k)  X (k) W k X (k), k  0,1,, N / 2 1 1 N 2 X (N / 2 k)  X (k) W k X (k), k  0,1,, N / 2 1 1 N 2 将这种运算方式用蝶形表示出来: 只要N 是2 的整数次幂,这种分解就可一直进行下去,将DFT 运算转换为log 2 (N ) 级运算,每一级运算都由N/2 个碟形运算组成。利用长度为N 的数组存放输入数 据和每一级计算的结果。 2. 原位计算 N  2M M N/2 对 点的FFT 共进行 级运算,每级由 个蝶形运算组成。在同一级 中,每个蝶的输入数据只对本蝶有用,且输出节点与输入节点在同一水平线上, 这就意味着每算完一个蝶后,所得数据可立即存入原输入数据所占用的数组元素 (存储单元),这种原位(址)计算的方法可节省大量内存。
显示全部
相似文档