数字信号处理实验实验1快速傅里叶变换FFT算法实验一、实验目的:1、加深对离散信号的DFT的理解和FFT算法的运用。2、学会用mtalab求解信号的频谱图。3、学会用DSP硬件进行频谱分析。二、实验设备计算机,ccs3.3软件,DSPCPU挂箱,DSP仿真器,导线三、实验原理N点序列的DFT和IDFT变换定义式如下:10[][]NknNnXkxnW,101[][]NknNkxnXkWN利用旋转因子2jnkknNNWe具有周期性,可以得到快速算法(FFT)。在MATLAB中,可以用函数X=fft(x,N)和x=ifft(X,N)计算N点序列的DFT正、反变换。四、实验内容:1、利用MATLAB编程完成计算,绘出下式时域图形,并用FFT求取其傅里叶变换画出相应的频谱图,并分析、说明实验结果。x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t);采样频率fs=100Hz,采样点数为128点。2、运行ccs软件,对给定的语音信号进行采集,并应用DSP挂箱分析该信号的频谱。相应的实验步骤(1)安装仿真器TDS510驱动(位置在f盘根目录下).(2)仿真器参数设置打开setupccstudio从Familly中查找C55xx系列,然后选择C5509TDS510并将其拖到到左侧窗口。右键C5509打开属性装载仿真器的配置参数CCstudio_v3.3//cc//bin/TDS510.cgf.(3)打开ccs3.3链接仿真器与电脑点击Debug—connect;打开已建立的项目点击project—open—fft.pjt;装载编译好的程序fft.out,file--loadprogram—fft.out。在k++处设置断点,观察采集到的语音信号。然后采集语音信号,运行程序。观察语音信号的时域波形和频域波形。点击view—graph—time/Frequency打开一个观察窗口,;设置该观察窗口变量参数,采用双踪观察在启动地址分别为px和pz,长度为128,数值类型为16为整型。这两段存储单元中分别存放的是进过A/D转换后的输入信号进行FFT变换的结果。MATLAB参考实例:%求正弦信号的频谱clearallcloseallclc%%fs=100;%设定采样频率N=128;n=0:N-1;t=n/fs;f0=10;%设定正弦信号的频谱%%生成正弦信号x=sin(2*pi*f0*t);%%进行fft变换进行频谱分析y=fft(x,N);mag=abs(y);f=(0:length(y)-1)'*fs/length(y);%进行对应的频率转换%%figure(1);subplot(121);plot(t,x);xlabel('t');ylabel('y');title('正弦信号时域波形');grid;subplot(122);plot(f,mag);axis([0,100,0,80]);xlabel('频率(Hz)');ylabel('幅值');title('正弦信号频谱图');grid;