计算离散傅立叶变换矩阵DFT

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验七:离散傅里叶变换及FFT的应用信息工程学院网络工程系强文萍1、掌握离散傅立叶变换(DFT)的计算方法及意义;2、掌握实数序列的DFT系数的对称特点;3、学习利用DFT计算程序计算IDFT的方法;4、利用FFT对信号进行频谱分析。5、分析DFT计算模拟信号中出现的问题一、实验目的二、实验仪器微型计算机MATLAB软件三、实验原理有限长序列x(n)的离散傅里叶变换(DFT):10()[()](),01NNnnkXkDFTxnxnWkN101()[()](),01NNknkxnIDFTXkXkWnNN正变换反变换2jNNWe三、实验原理N=12;n=0:N-1;xn=cos(n*pi/6);k=0:N-1;WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^nk;Xk=xn*WNnk;figure(1);stem(n,xn);figure(2);stem(k,abs(Xk));10()()NNnnkXkxnW2jNNWe例1:求序列的12点离散傅里叶变换(DFT)cos()6n()cos()6nxn1.利用矩阵乘法计算三、实验原理10()()1NnkkNxnXkWN2jNNWeWN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^(-nk);xn=(Xk*WNnk)/N;figure(3);Subplot(211);stem(k,abs(Xk));Subplot(212);Stem(n,real(xn));求上述频域序列X(K)的12点离散傅里叶反变换(IDFT)计算离散傅立叶变换矩阵(DFT)w=dftmtx(n)其中n为采样点,返回W阵DFT正变换:DFT反变换:10()()1NnkkNxnXkWN2.利用傅里叶变换矩阵计算Xk=xn*w10()()NNnnkXkxnW()*conj(dftmtx())NxnXKN其中conj是求复数的共轭三、实验原理例2若x(n)=8(0.4)n是一个N=20的有限长序列,利用MATLAB计算它的DFT,并画出图形。N=20;n=0:N-1;xn=8*((0.4).^n);w=dftmtx(20);Xk=xn*w;subplot(3,1,1)stem(n,xn),title('xn')subplot(3,1,2)stem(abs(Xk));title('Xk')w1=conj(w)/N;xn1=Xk*w1;Subplot(3,1,3)stem(n,abs(xn1));title('xn1')实验程序:三、实验原理024681012141618200510xn0246810121416182001020Xk024681012141618200510xn1三、实验原理有限长序列x(n)的快速傅里叶变换(FFT):MATLAB为计算数据的离散快速傅立叶变换,提供了一系列丰富的数学函数,主要有fft、Ifft、fft2、Ifft2,fftn、ifftn和fftshift、Ifftshift等。当所处理的数据的长度为2的幂次时,采用基-2算法进行计算,计算速度会显著增加。要尽可能使所要处理的数据长度为2的幂次或者用添零的方式来添补数据使之成为2的幂次。三、实验原理fft和ifft函数调用方式:Y=fft(X)参数说明:如果X是向量,则采用傅立叶变换来求解X的离散傅立叶变换;如果X是矩阵,则计算该矩阵每一列的离散傅立叶变换;三、实验原理参数说明:N是进行离散傅立叶变换的X的数据长度,可以通过对X进行补零或截取来实现。函数ifft的参数应用与函数fft完全相同。调用方式:Y=fft(X,N)Y=fft(X,N)X=ifft(Y,N)例3如果是一个16点的有限序列,用MATLAB求其DFT的结果,并画出其结果图。()sin()sin()84nnxn三、实验原理N=16;n=0:1:N-1;xn=sin(n*pi/8)+sin(n*pi/4);k=0:1:N-1;WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^nk;Xk=xn*WNnk;subplot(3,1,1);stem(n,xn);%x(n)subplot(3,1,2);stem(k,abs(Xk));%X(k)WNnk1=WN.^(-nk);xn1=(Xk*WNnk1)./N;subplot(3,1,3);%X(k)的反变换stem(n,real(xn1));解1:三、实验原理N=16;n=0:1:N-1;xn=sin(n*pi/8)+sin(n*pi/4);Xk=fft(xn,N);subplot(3,1,1);stem(n,xn);subplot(3,1,2);k=n;stem(k,abs(Xk));n1=ifft(Xk,N);subplot(3,1,3);stem(n,real(xn1));解2:用fft()和ifft()函数三、实验原理例4对连续的单一频率周期信号按采样频率采样,截取长度N分别选N=20和N=16,观察其DFT结果的幅度谱。122aatnTSftfnf=8Saff时域离散sin(2)aft2()sin()8nxn=8Saff离散序列即k=8。28n三、实验原理k=8;n1=[0:1:19];xa1=sin(2*pi*n1/k);subplot(2,2,1)plot(n1,xa1);title('20点序列');xlabel('t/T');ylabel('x(n)');xk1=fft(xa1);xk1=abs(xk1);subplot(2,2,2)stem(n1,xk1);title('20点DFT');xlabel('k');ylabel('X(k)');2%()sin()8nxn%20点DFT三、实验原理n2=[0:1:15];xa2=sin(2*pi*n2/k);subplot(2,2,3)plot(n2,xa2);title('16点序列');xlabel('t/T');ylabel('x(n)');xk2=fft(xa2);xk2=abs(xk2);subplot(2,2,4)stem(n2,xk2);title('16点DFT');xlabel('k');ylabel('X(k)');2%()sin()8nxn%16点DFT三、实验原理(a)和(b)分别是N=20时的截取信号和DFT结果,由于截取了两个半周期,频谱出现泄漏;(c)和(d)分别是N=16时的截取信号和DFT结果,由于截取了两个整周期,得到单一谱线的频谱。上述频谱的误差主要是由于时域中对信号的非整周期截断产生的频谱泄漏。例5、利用FFT从受噪声污染的信号x(t)中鉴别出有用的信号。(1)首先产生以下信号:x=sin(2*pi*100*t)+sin(2*pi*200*t);(2)给信号叠加随机信号(利用rand函数);(3)利用FFT提取信号.设采样频率1000Hz。采样周期0.001s。三、实验原理t=0:0.001:1;%采样周期为0.001s,即采样频率为1000Hz;x=sin(2*pi*100*t)+sin(2*pi*200*t)+rand(size(t));%产生受噪声污染的正弦波信号;subplot(2,1,1);plot(x(1:50));%画出时域内的信号;Y=fft(x,512);%对X进行512点的傅立叶变换;f=1000*(0:256)/512;%设置频率轴(横轴)坐标,1000为采样频率;subplot(2,1,2),plot(f,Y(1:257));%画出频域内的信号x=sin(2*pi*100*t)+sin(2*pi*200*t)三、实验原理运行结果:从受噪声污染信号的时域形式中,很难看出正弦波的成分。但是通过对x(t)作傅立叶变换,把时域信号变换到频域进行分析,可以明显看出信号中100Hz和200Hz的两个频率分量。1.将例5中的最后的语句改为f=1000*(0:512)/512;subplot(2,1,2),plot(f,Y);运行程序,画出图,说明两图的不同以及其中的原理。2.x(n)=[2,−1,1,1],完成如下要求:(1)计算其DTFT,并画出[0,2π]区间的波形(2)计算4点DFT,并把结果显示在(1)所画的图形中(3)对x(n)补零,计算64点和1024点DFT,并显示结果四、实验内容3.考察序列x(n)=cos(0.48πn)+cos(0.52πn)(1)0≤n≤10时,用DFT估计x(n)的频谱;(2)将x(n)补零加长到长度为100点序列,用DFT估计x(n)的频谱。要求画出相应波形。(3)0≤n≤100时,用DFT估计x(n)的频谱,并画出波形(4)分析实验结果,思考利用DFT计算频谱时如何提高频谱的分辨率;对序列补零加长是否能提高频谱的分辨率。4.某周期序列由三个频率组成,f1=20Hz,f2=20.5Hz,f3=40Hz,采样频率fs=100Hz,利用DFT分析其频谱。(1)如何选取DFT的点数NNmin=fs/(f2-f1)=100/(20.5-20)=200N=200(2)此3个频率分别对应DFT计算结果的哪些点?(3)再分别做出280点和90点DFT,画出图(4)若选取的N不合适,DFT计算出的频率会出现什么情况?123()sin(2/)sin(2/)sin(2/)sssxnnffnffnff1.整理实验数据。2.画出实验波形,并与各对应的频域的图形相比较。五、实验报告要求

1 / 27
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功