实验二快速傅里叶变换(FFT)及其应用 联系客服

发布时间 : 星期六 文章实验二快速傅里叶变换(FFT)及其应用更新完毕开始阅读8bedea61cf2f0066f5335a8102d276a2012960f8

>> xdn=[xdn,zeros(1,24)]; >> n=0:1:31;

>> subplot(1,2,1);stem(n,xdn);xlabel('t/T');ylabel('x(n)'); >> xk1=fft(xdn);xk1=abs(xk1);

>> subplot(1,2,2);stem(n,xk1);xlabel('k');ylabel('X(k)');

N?8时,xc(n)和xd(n)的幅频特性相同,在xc(n)和xd(n)末尾补零,用N?32点FFT分析这两个信号的幅频特性时,它们还有相同之处,即当k取4的整数倍时对应幅值相等。

分析:

2?)nk1NN?8点FFT分析信号的幅频特性:XN(k1)??x(n)*en?0N?1j(

N?32点FFT分析信号的幅频特性:

4N?1X4N(k2)??x(n)*en?0j(2?)nk24N??x(n)*en?0N?1j(2?)nk24N

由上两式可知,当k2=4k1时,两个信号的对应频率幅值相等,即对信号末尾补零加长整数个周期可以对原信号达到细化频谱的作用。

(4)一个连续时间信号含两个频率分量,经采样得

x(n)?sin[2?0.125n]?cos[2?(0.125??f)n]n?0,1,???,N?1

已知N?16,?f分别为1/16和1/64,观察其频谱;当N?128时,?f不变,其结果有何不同,为什么?

解答: >> n=0:1:15;

>> x1n=sin(2*pi*0.125*n)+cos(2*pi*(0.125+1/16)*n); >> xk1=fft(x1n);xk1=abs(xk1);

>>subplot(1,2,1);stem(n,xk1);xlabel('k');ylabel('X(k)');legend('f=1/16');

>> x2n=sin(2*pi*0.125*n)+cos(2*pi*(0.125+1/64)*n); >> xk2=fft(x2n);xk2=abs(xk2);

>>subplot(1,2,2);stem(n,xk2);xlabel('k');ylabel('X(k)');legend('f=1/64');

>> n=0:1:127;

>> x1n=sin(2*pi*0.125*n)+cos(2*pi*(0.125+1/16)*n); >> xk1=fft(x1n);xk1=abs(xk1);

>> stem(n,xk1);xlabel('k');ylabel('X(k)');legend('f=1/16');

>> x2n=sin(2*pi*0.125*n)+cos(2*pi*(0.125+1/64)*n); >> xk2=fft(x2n);xk2=abs(xk2);

>> stem(n,xk2);xlabel('k');ylabel('X(k)');legend('f=1/64');

分析:

由于离散傅里叶变换的选频性质:

x(n)?ejqwonwo?2?/N

q?kq?k

?N1?ej2?(q?k)X(k)?DFT[x(n)]???1?ej2?(q?k)/N?0当q不等于整数时,则信号频谱会发生泄漏。

(5)用FFT分别计算xa(n)(p?8,q?2)和xb(n)(a?0.1,f?0.0625)的16点循环卷积和线性卷积。

解答: >> n=0:1:15;

>> xan=exp(-(n-8).^2/2);

>> xbn=exp(-0.1*n).*sin(2*pi*0.0625*n);

>> subplot(4,1,1);stem(n,xan);xlabel('n');ylabel('xa(n)'); >> subplot(4,1,2);stem(n,xbn);xlabel('n');ylabel('xb(n)'); >> xak=fft(xan);xbk=fft(xbn);x1k=xak.*xbk; >> x1n=ifft(x1k);

>>subplot(4,1,3);stem(n,x1n);xlabel('n');ylabel('x1(n)');legend('循环卷积');

>> x2n=conv(xan,xbn); >> m=0:1:length(x2n)-1;

>>subplot(4,1,4);stem(m,x2n);xlabel('n');ylabel('x2(n)');legend('线性卷积');

(6)产生一512点的随机序列xe(n),并用xc(n)和xe(n)做线性卷积,观察卷积前后xe(n)频谱的变化。要求将xe(n)分成8段,分别采用重叠相加法和重叠保留法。

解答: