1、1、实验目的与要求 学习用 FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便正确应用 FFT。 2、实验原理 用 FFT 对信号作频分析是学习数字信号处理的重要内容,经常需要进行分析的信号是模拟信号的时域离散信号。对信号进行谱分析的重要问题是频谱分辨率 D 和分析误差。频谱分辨率直接和 FFT 的变换区间 N 有关,因为 FFT 能够实现的频率分辨率是 2/N,因此要求2/N 小于等于 D。可以根据此式选择 FFT 的变换区间 N。误差主要来自于用 FFT 作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当 N 较大时,离散谱的包络才能逼
2、近连续谱,因此 N 要适当选择大一些。 3、实验步骤及内容(1)对以下序列进行 FFT 分析:x1(n)=R4(n)n+1 0n3x2(n)= 8-n 4n70 其它 n4-n 0n3X3(n)= n-3 4n7 0 其它 n选择 FFT 的变换区间 N 为 8 和 16 两种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较xn1=1 1 1 1;Xk18=fft(xn1,8);yn11=abs(Xk18);n11=0:length(yn11)-1;Xk116=fft(xn1,16);yn12=abs(Xk116);n12=0:length(yn12)-1;n=0:3;x21=
3、n+1;x31=4-n;n=4:7;x22=8-n;x32=n-3;xn2=x21,x22;Xk28=fft(xn2,8);yn21=abs(Xk28);n21=0:length(yn21)-1;Xk216=fft(xn2,16);yn22=abs(Xk216);n22=0:length(yn22)-1;xn3=x31,x32;Xk38=fft(xn3,8);yn31=abs(Xk38);n31=0:length(yn31)-1;Xk316=fft(xn3,16);yn32=abs(Xk316);n32=0:length(yn32)-1;figure;subplot(3,2,1);stem(n
4、11,yn11,.);xlabel(n);ylabel(yn11);title(八点傅立叶变换);subplot(3,2,2);stem(n12,yn12,.);xlabel(n);ylabel(yn12);title(十六点傅立叶变换)subplot(3,2,3);stem(n21,yn21,.);xlabel(n);ylabel(yn21);title(八点傅立叶变换);subplot(3,2,4);stem(n22,yn22,.);xlabel(n);ylabel(yn22);title(十六点傅立叶变换)subplot(3,2,5);stem(n31,yn31,.);xlabel(n)
5、;ylabel(yn31);title(八点傅立叶变换);subplot(3,2,6);stem(n32,yn32,.);xlabel(n);ylabel(yn32);title(十六点傅立叶变换)(2)对以下周期序列进行谱分析:x4(n)=cos(/4)*n x5(n)= cos(/4)*n+ cos(/8)*n选择 FFT 的变换区间 N 为 8 和 16 两种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较n=0:7;xn1=cos(pi*n/4);xn2=cos(pi*n/4)+cos(pi*n/8);Xk18=fft(xn1,8);yn11=abs(Xk18);n11
6、=0:length(yn11)-1;Xk28=fft(xn2,8);yn21=abs(Xk28);n21=0:length(yn21)-1;n=0:15;xn1=cos(pi*n/4);xn2=cos(pi*n/4)+cos(pi*n/8);Xk116=fft(xn1,16);yn12=abs(Xk116);n12=0:length(yn12)-1;Xk216=fft(xn2,16);yn22=abs(Xk216);n22=0:length(yn22)-1;figure;subplot(2,2,1);stem(n11,yn11,.);xlabel(n);ylabel(yn11);title(八
7、点傅立叶变换);subplot(2,2,2);stem(n12,yn12,.);xlabel(n);ylabel(yn12);title(十六点傅立叶变换);subplot(2,2,3);stem(n21,yn21,.);xlabel(n);ylabel(yn21);title(八点傅立叶变换);subplot(2,2,4);stem(n22,yn22,.);xlabel(n);ylabel(yn22);title(十六点傅立叶变换)(3)对模拟周期信号进行频谱分析:x6(n)= cos(8t)+ cos(16t)+ cos(20t)选择采样频率 Fs=64Hz,FFT 的变换区间 N 为 1
8、6、32、64 三种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比。Fs=64;T=1/Fs;N=64;n=0:N-1;xn=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);Xk16=fft(xn,16);yn1=abs(Xk16);n1=0:length(yn1)-1;Xk32=fft(xn,32);yn2=abs(Xk32);n2=0:length(yn2)-1;Xk64=fft(xn,64);yn3=abs(Xk64);n3=0:length(yn3)-1;figure;subplot(3,1,1);stem(n1,yn1,.);x
9、label(n);ylabel(yn1);title(八点傅立叶变换);subplot(3,1,2);stem(n2,yn2,.);xlabel(n);ylabel(yn2);title(三十二点傅立叶变换);subplot(3,1,3);stem(n3,yn3,.);xlabel(n);ylabel(yn3);title(六十四点傅立叶变换);四、思考题1 对于周期序列,如果周期不知道,如何用 FFT 进行谱分析?周期信号的周期预先不知道时,可先截取 M 点进行 DFT,再将截取长度扩大 1 倍截取,比较结果,如果二者的差别满足分析误差要求,则可以近似表示该信号的频谱,如果不满足误差要求就继
10、续将截取长度加倍,重复比较,直到结果满足要求。2 如何选择 FFT 的变换区间?(包括非周期信号和周期信号)(1)对于非周期信号,有频谱分辨率 F,而频谱分辨率直接和 FFT 的变换区间有关,因为FFT 能够实现的频率分辨率是 2/N.因此有最小的 N2/F 。就可以根据此式选择 FFT的变换区间。(2)对于周期信号 周期信号的频谱是离散谱 只有用整数倍周期的长度作 FFT 得到的离散谱才能代表周期信号的频谱。3 当 N=8 时,x1(n) 和 x3(n)的幅频特性会相同吗?为什么?N=16 呢?)当 N=8 时, x2(n)和 x3(n) 的幅频特性相同, 当 N=16 时, x2(n)和 x3(n) 的幅频特性不相同。 当 n=8 时,满足循环移位关系,所以 n=8 时,x2(n)与 x3(n)的 8 点 DFT 的模相等。当 n=16 时,不满足循环移位关系,所以 n=16 时,x2(n)与 x3(n)的 16 点 DFT 的模不相等。