一、实验目的 1 在理论学习的基础上,通过本实验加深对快速傅立叶变换的理解; 2 熟悉并掌握按时间抽取FFT算法的程序; 3 了解应用FFT进行信号频谱分析过程中可能出现的问题,例如混淆、泄漏、栅栏效应等,以便在实际中正确应用FFT
二、实验内容 1 仔细分析教材第六章‘时间抽取法FFT ’的算法结构,编制出相应的用FFT进行信号分析的C 语言(或 MATLAB 语言)程序; 用MATLAB 语言编写的FFT源程序如下: %% 输入数据f、N、T及是否补零 clc; clear; f=input(' 输入信号频率 f:'); N=input(' 输入采样点数 N:'); T=input(' 输入采样间隔 T:'); C=input(' 信号是否补零(补零输入 1,不补零输入 0):'); %补零则输入 1,不补则输入 0 if(C==0) t=0:T:(N-1)*T; x=sin(2*pi*f*t); b=0; else b=input('输入补零的个数: '); while(log2(N+b)~=fix(log2(N+b))) b=input('输入错误,请重新输入补零的个数: '); end t=0:T:(N+b-1)*T; x=sin(2*pi*f*t)