FFT算法分析实验实验报告.doc:..实验报告学号0000000000姓名******实验项目 FFT算法分析实验 一实验目的(1) 掌握用DSP芯片对信号进行频谱分析的操作方法。(2) 了解DSP进行FFT运算的算法及程序。二实验原理试验箱上的信源可以产生两个不同频率的正弦信号的叠加信号,将该信号用ADC进行采样,并将采集结果送入DSP芯片进行FFT运算,将结果以图的形式显示在电脑上,可分析出输入信号中有哪些频率分量。实际试验前可运用Matlab进行理论分析,便于与分析实验结果。从FFT结果图中计算信号的频率分量:N点FFT的结果是N个复数,假设采样频率为Fs(程序中为16000Hz),采样点数为N(程序中为128),做FFT之后,某一点n(n从0开始)表示的频率为:Fn=n*Fs/N;该点的模值除以N/2就是对应该频率下的信号的幅度(对于直流信号是除以N)。程序运行后,第48个点附近FFT的模值不为0,对应频率为48*16000/128=6000,用该模值除以128/2,即64,约为1,就是叠加信号中该频率成份的幅值。Matlab程序代码:closeall;Adc=0; %直流分量幅度Al=l;%频率Fl信号的幅度A2=1;Fl=100;%频率F2信号的幅度%信号1频率(Hz)F2=6000;Pl=0;%信号2频率(Hz)%信号1相位(度)P2=0;Fs=16000;%信号2相位(度)%采样频率(Hz)N=12&%采样点数t=fO:1/Fs:N/Fs]; %采样时刻%原始叠加信号S=Adc+Al*sin(2*pi*Fl*t+pi*Pl/180)+A2*sin(2*pi*F2*t+pi*P2/180);%显示原始信号plot(S);titleC原始信号,);figure;Y二fft(S,N);%做FFT变换Ayy=(abs(Y));%取模plot(Ayy(l:N));%显示原始的FFT模值结果title(TFT模值J;figure;Ayy=Ayy/(N/2);Ayy(l)=Ayy(l)/2;%换算成实际的幅度%直流分量的幅值单独处理F=([l:N]-irFs/N; %换算成实际的频率值plot(F(l:N⑵,Ayy(l:N/2)); %显示换算后的FFT模值结果title('幅度■频率曲线图三实验结果及分析利用示波器观察信源信号调整为:信号1频率500Hz,信号2频率5010Hz,峰峰值均为5V。运行Matlab程序得到如图1所示:1►■■■11*08060402FFT樓宦1OX2C00 3000 400059CO6OC07003 8000图1Matlab仿真产生的信号波形图实际实验结果:rfl图可知,第4个点和第40个点附近FFT值不为零。代入公式N*16000/128可得,测试的实验结果为:在笫4点和笫40点。fl=4*16000/124500Hz,f2=40*16000/128=5000Hz。误差分析:高频信号实验值为5000Hz,与设计值5010Hz存在一定误差。引起误差的原因是,本次实验做的事128点的FFT,相当于对频域的抽样,故只能表示FFT整数点上对应的频率。而5010Hz对
FFT算法分析实验实验报告 来自淘豆网m.daumloan.com转载请标明出处.