数字信号处理_快速傅里叶变换fft实验报告

上传人:tian****1990 文档编号:68321110 上传时间:2019-01-10 格式:DOCX 页数:18 大小:1.30MB
返回 下载 相关 举报
数字信号处理_快速傅里叶变换fft实验报告_第1页
第1页 / 共18页
数字信号处理_快速傅里叶变换fft实验报告_第2页
第2页 / 共18页
数字信号处理_快速傅里叶变换fft实验报告_第3页
第3页 / 共18页
数字信号处理_快速傅里叶变换fft实验报告_第4页
第4页 / 共18页
数字信号处理_快速傅里叶变换fft实验报告_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《数字信号处理_快速傅里叶变换fft实验报告》由会员分享,可在线阅读,更多相关《数字信号处理_快速傅里叶变换fft实验报告(18页珍藏版)》请在金锄头文库上搜索。

1、数字信号处理实验报告姓名:_ _学号:_班级:_ _实验日期:2014年10月15日提交日期:2014年10月23日实验一 快速傅里叶变换与信号频谱分析一、 实验目的1. 在理论学习的基础上,通过本实验加深对离散傅里叶变换的理解;2. 熟悉并掌握按时间抽取编写快速傅里叶变换(FFT)算法的程序;3. 了解应用FFT进行信号频谱分析过程中可能出现的问题,例如频谱混淆、泄漏、栅栏效应等,以便在实际中正确使用FFT算法进行信号处理。二、 实验内容1. 仔细分析教材第六章“时间抽取法FFT的FORTRAN程序”,编写出相应的使用 FFT进行信号频谱分析的Matlab程序。2. 用FFT程序分析正弦信号

2、,分别在以下情况进行分析,并讨论所得的结果:a) 信号频率F50Hz,采样点数N=32,采样间隔T=0.000625s;b) 信号频率F50Hz,采样点数N=32,采样间隔T=0.005s;c) 信号频率F50Hz,采样点数N=32,采样间隔T=0.0046875s;d) 信号频率F50Hz,采样点数N=32,采样间隔T=0.004s;e) 信号频率F50Hz,采样点数N=64,采样间隔T=0.000625s;f) 信号频率F250Hz,采样点数N=32,采样间隔T=0.005s;g) 将c)中信号后补32个0,做64点FFT,并与直接采样64个点做FFT的结果进行对比。3. 思考题:1) 在

3、实验a)、b)、c)和d)中,正弦信号的初始相位对频谱图中的幅度特性是否有影响?为什么?2) 信号补零后做FFT是否可以提高信号频谱的分辨率?为什么?三、 实验要求1. 记录实验内容中各种情况下的X (k)值,做出频谱图并深入讨论结果,说明参数的变化对信号频谱产生哪些影响。频谱只做幅度特性,并按照幅度最大值进行归一化。2. 打印出编写的FFT源程序,并且在每一小段处加上详细的注释说明。3. 用Matlab编写FFT程序时,要求采用人机界面形式:N,T,F以及初始相位等变量均由键盘输入,补零或不补零要求设置一开关来选择。4. 回答思考题,撰写实验报告。四、 设计思路4.1码位倒置按实验要求,需要

4、对正弦信号进行采样,采样后信号按顺序储存,但此刻DFT运算结果是乱序的,因此需要根据结果所需要的顺序进行码位倒置的变址操作。变址的实现方法是:将原址用二进制表示后左右翻转,再转回十进制。需要注意的是MATLAB中数组首元素序号为1,所以在十进制转二进制之前地址需要减1,二进制转十进制之后需要加1。4.2 蝶形运算蝶形运算使用三层循环结构,外层循环控制级数m的递推(1 log2N),中层循环体进行不同组(运算系数相同的蝶形运算对视作一组),内层循环对每组内各运算对进行蝶形运算。同级运算的相邻两组运算系数满足以下表达式:W1=1,Wi=Wi-1*e-j2m-1五、 实验结果与分析a) 信号频率F5

5、0Hz,采样点数N=32,采样间隔T=0.000625s;b) 信号频率F50Hz,采样点数N=32,采样间隔T=0.005s;c) 信号频率F50Hz,采样点数N=32,采样间隔T=0.0046875s;d) 信号频率F50Hz,采样点数N=32,采样间隔T=0.004s;e) 信号频率F50Hz,采样点数N=64,采样间隔T=0.000625s;f) 信号频率F250Hz,采样点数N=32,采样间隔T=0.005s;g) 将c)中信号后补32个0,做64点FFT,并与直接采样64个点做FFT的结果进行对比。由结果分析出:采样率、时域采样点数、频率采样点数对信号频谱的影响较大。采样率越低,截

6、止频率越高更易产生混叠,发生混叠时,采样后的频谱无法反映出原频谱,也无法利用内插恢复成原来的信号;时域采样点数决定影响频率泄露的情况;频域采样点数决定了频域分辨率,决定是否影响栅栏效应的出现。六、 思考题1) 在实验a)、b)、c)和d)中,正弦信号的初始相位对频谱图中的幅度特性是否有影响?为什么?如下图,a)中初始相位分别为0、0.25、0.5、0.75时,幅度特性并无变化。 题b)初始相位分别为0、0.25时,幅度特性无变化。 c)的初始相位为0、0.25、0.5、0.75时,幅度特性没有变化。 d)初始相位分别为0、0.25时,幅度特性没有变化。 综上,改变初始相位不会改变信号频率、采样

7、间隔等参数,因此也就不会对幅度特性产生影响。c)、d)中有部分频率下归一化后的值有所改变是因为复数运算精度问题,FFT运算后的幅度特性没有改变2) 信号补零后做FFT是否可以提高信号频谱的分辨率?为什么?频谱分辨率Fs/N发生了变化,以c)、g)为例,因为采样点数N由32提升到64,分辨率也有所改变。七、 MATLAB程序代码clc;clear;clf;%数据初始设定clear;pi=3.14159265358979;f=input(信号频率:);N=input(采样点数:);T=input(采样时间间隔:);xdefault=input(初始相位(pi):);flag_zero=input(

8、是否补零(1/0):);%生成离散信号过程x=sin(2*pi*f*(0:N-1)*T+xdefault*pi); if flag_zero=1 nz=input(补零个数:); x=x,zeros(1,nz); %补零 N=N+nz;elseend%变址过程k=0:N-1;addr=bi2de(fliplr(de2bi(k,length(de2bi(N-1)+1; %末尾+1是因为matlab数组以1为首元次序for l=1:N X(l)=x(addr(l); %在X内存放按变址后顺序的xend%FFT运算d1=1;for m=1:log2(N) %m是FFT的级数,满足2m=N d2=d1

9、; %d2是两个蝶形运算元的距离 d1=d1*2; %d1是两个同级蝶形运算对的距离 W=1; %蝶形运算系数的初始值 dw=exp(-1i*pi/d2); %蝶形运算系数变化量 for t=1:d2 for p=t:d1:N q=p+d2; if qN break; else tmp=X(q)*W; X(q)=X(p)-tmp; X(p)=X(p)+tmp; %蝶形运算过程 end end W=W*dw; %蝶形运算系数变化 endendX=X/max(abs(X);Xsubplot(2,2,1);t=0:0.0000001:N*T;plot(t,sin(2*pi*f*t+xdefault); %输入信号subplot(2,2,2);stem(k,x); %采样后的离散信号subplot(2,2,3);stem(k,abs(X)/max(abs(X); %程序运算出的FFT17

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号