实验二 DFT 和FFT实验报告.docx
- 文档编号:3725868
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:19
- 大小:263.88KB
实验二 DFT 和FFT实验报告.docx
《实验二 DFT 和FFT实验报告.docx》由会员分享,可在线阅读,更多相关《实验二 DFT 和FFT实验报告.docx(19页珍藏版)》请在冰豆网上搜索。
实验二DFT和FFT实验报告
实验二DFT和FFT
1、实验目的
认真复习周期序列DFS、有限长序列DFT的概念、旋转因子的定义、以及DFS和DFT
的性质等有关内容;复习基2-FFT的基本算法,混合基-FFT的基本算法、Chirp-Z变换的算
法等快速傅立叶变换的方法。
掌握有限长序列的循环移位、循环卷积的方法,对序列共轭对称性的含义和相关内容加
深理解和掌握,掌握利用DFT分析序列的频谱特性的基本方法。
掌握FFT算法的基本原理和方法、Chirp-Z变换的基本原理和方法,掌握利用FFT分析
序列的频谱特性的方法。
熟悉利用MATLAB进行序列的DFT、FFT的分析方法。
2、实验内容
a.设周期序列(){
(n)=…,0,1,2,3,0,1,2,3,0,1,2,3,….},求该序列的离散傅立叶级数
X(k)=DFS[
(n)],并画出DFS的幅度特性。
function[Xk]=dfs(xn,N)
n=0:
1:
N-1;
k=0:
1:
N-1;
Wn=exp(-j*2*pi/N);
nk=n'*k;
Wnk=Wn.^nk;
Xk=xn*Wnk;
xn=[0,1,2,3];
k=0:
1:
3;
N=4;
Xk=dfs(xn,N);
y=abs(Xk);
stem(k,y);
b.设周期方波序列为
x(n)=
(m=0,
)
其中N为基波周期,L/N是占空比。
(1)用L和N求|X(k)|的表达式;
(2)当L和N分别为:
L=5,N=20;L=5,N=40;L=5,N=60以及L=7,N=60时画出
DFS的幅度谱;
(3)对以上结果进行讨论,总结其特点和规律
L=5;
N=20;
k=[-N/2:
N/2];
xn=[ones(1,L),zeros(1,N-L)];
Xk=dfs(xn,N);
y=abs([Xk(N/2+1:
N)Xk(1:
N/2+1)]);
stem(k,y);
c.设有限长序列x(n)={0,1,2,3},计算DTFT[x(n)]=X(ejω),并画出它的幅度谱;然后
利用kw1=
k,k=0,1,2,3对X(ejω)进行采样,并证明它等于实验a中的
(k)。
X(ejω)=
=e-jw+2e-j2w+3e-j3w
X(ej0)=1+2+3=6;
X(ej2
/4)=-2+2j;
X(ej4
/4)=2;
X(ej6
/4)=-2-2j;
d.序列x(n)=R4(n),计算DTFT[x(n)]=X(ejω),并绘制其幅度和相位谱。
(1)计算x(n)的4点DFT,并绘制DFT的幅度与相位谱;
(2)将x(n)补零形成8点序列,计算8点DFT,并绘制幅度与相位谱,求频率分辨率;
(3)将x(n)补零形成16点序列,计算16点DFT,并绘制幅度与相位谱,求频率分辨率;
function[Xk]=dft(xn,N)
n=0:
1:
N-1;
k=0:
1:
N-1;
Wn=exp(-j*2*pi/N);
nk=n'*k;
Wnk=Wn.^nk;
Xk=xn*Wnk;
function[xn]=idft(Xk,N)
n=0:
1:
N-1;
k=0:
1:
N-1;
Wn=exp(-j*2*pi/N);
nk=n'*k;
Wnk=Wn.^(-nk);
Xk=(Xk*Wnk)/N;
End
(1)
x=[1111];
N=4;
X=dft(x,N);
subplot(2,1,1);
stem(abs(X));
subplot(2,1,2);
stem(angle(X)*180/pi);
(2)
x=[1111];
x=[x,zeros(1,4)];
N=8;
X=dft(x,N);
subplot(2,1,1);
stem(abs(X));
subplot(2,1,2);
stem(angle(X)*180/pi);
(3)
x=[1111];
x=[x,zeros(1,12)];
N=16;
X=dft(x,N);
subplot(2,1,1);
stem(abs(X));
subplot(2,1,2);
stem(angle(X)*180/pi);
e.序列x(n)=cos(0.48πn)+cos(0.52πn)
(1)求x(n)的10点DFT,并画出它幅度与相位谱;
(2)求x(n)的100点DFT,并画出它幅度与相位谱;
根据实验结果,讨论DFT进行谱分析的条件。
n=0:
1:
99;
x=cos(0.48*pi*n)+cos(0.52*pi*n);
n1=0:
1:
9;
y1=x(1:
1:
10);
y2=dfs(y1,10);
subplot(2,1,1)
stem(n1,abs(y2));
subplot(2,1,2);
stem(n1,angle(y2));
n=0:
1:
99;
x=cos(0.48*pi*n)+cos(0.52*pi*n);
y1=x(1:
1:
100);
y2=dfs(y1,100);
subplot(2,1,1)
stem(n,abs(y2));
subplot(2,1,2);
stem(n,angle(y2));
f.序列x(n)=5(0.9)nR11(n)
(1)求循环反转序列x((-n))11,并绘制x(n)和x((-n))11的波形;求两序列的DFT,验证
DFT的循环反转性质。
(2)把序列x(n)分解成圆周共轭奇分量xoc(n)和圆周共轭偶分量xec(n),并求出对应的
DFT,验证DFT的圆周共轭对称性质。
(3)绘制x((n+4))11R11(n)、x((n-3))15R15(n)和x((n-6))15的波形,验证序列圆周移位性质。
function[xec,xoc]=circevod(x)
ifany(imag(x)~=0)
error('xisnotarealsequence')
end
N=length(x);
n=0:
(N-1);
xec=0.5*(x+x(mod(-n,N)+1));
xoc=0.5*(x-x(mod(-n,N)+1));
functiony=cirshftt(x,m,N)
iflength(x)>N
error('Nmustbe>=thelengthofx')
end
x=[xzeros(1,N-length(x))];
n=[0:
1:
N-1];
n=mod(n-m,N);
y=x(n+1);
1)n=0:
10;
x=5*(0.9).^n;
y=x(mod(-n,11)+1);
subplot(2,1,1);
stem(n,x);
title('x(n)');
subplot(2,1,2);
stem(n,y);
title('x((-n)11')
n=0:
10;
x=5*(0.9).^n;
y=x(mod(-n,11)+1);
X=dft(x,11);
Y=dft(y,11);
subplot(2,2,1);
stem(n,real(X));
subplot(2,2,2);
stem(n,imag(X));
subplot(2,2,3);
stem(n,real(Y));
subplot(2,2,4);
stem(n,imag(Y));
2)
n=0:
10;
x=5*(0.9).^n;
[xec,xoc]=circevod(x);
subplot(2,1,1);
stem(n,xec);
subplot(2,1,2);
stem(n,xoc);
n=0:
10;
x=5*(0.9).^n;
X=dft(x,11);
[xec,xoc]=circevod(x);
Xec=dft(xec,11);
Xoc=dft(xoc,11);
subplot(2,2,1);
stem(n,real(X));
subplot(2,2,2);
stem(n,imag(X));
subplot(2,2,3);
stem(n,real(Xec));
subplot(2,2,4);
stem(n,imag(Xoc));
3)n=0:
10;
n1=0:
14;
x=5*(0.9).^n;
x1=[x,zeros(1,3)];
y1=cirshftt(x,-4,11);
y2=cirshftt(x,3,15);
y3=cirshftt(x,6,15);
subplot(2,2,1);
stem(n,x);
subplot(2,2,2);
stem(n,y1);
subplot(2,2,3);
stem(n1,y2);
subplot(2,2,4);
stem(n1,y3);
g.序列x1(n)={1,2,1},x2(n)={1,2,3,2},
(1)编制程序在时域中直接计算4点循环卷积142
y(n)=x(n)⊗x(n),并绘制波形图;
(2)编制程序先计算x1(n)和x2(n)的4点DFT,再利用IDFT计算124
x(n)⊗x(n),比较
结果以上两种计算结果是否一致?
(3)计算125
x(n)⊗x(n)和126
x(n)⊗x(n),分析循环卷积点数N对循环卷积的影响,并
比较哪种循环卷积结果与线性卷积是一致的?
总结出用循环卷积计算线性卷积的条件。
functiony=circonvl(x1,x2,N)
iflength(x1)>N
error('Nmustbe>=thelengthofx1')
end
iflength(x2)>N
error('Nmustbe>=thelengthofx2')
end
x1=[x1zeros(1,N-length(x1))];
x2=[x2zeros(1,N-length(x2))];
m=[0:
1:
N-1];
x2=x2(mod(-m,N)+1);
H=zeros(N,N);
forn=1:
1:
N
H(n,:
)=cirshftt(x2,n-1,N);
end
y=x1*H';
1)x1=[1,2,1];
x2=[1,2,3,2];
y=circonvl(x1,x2,4);
stem(y);
3)x1=[1,2,1];
x2=[1,2,3,2];
subplot(2,1,1)
y=circonvl(x1,x2,5);
stem(y);
subplot(2,1,2)
y=circonvl(x1,x2,6);
stem(y);
h.序列x(n)=(n+1)R10(n),h(n)={1,0,-1},利用重叠保留法,编制程序用N=6点的循环
卷积计算线性卷积的值y(n)=x(n)*h(n),并与直接线性卷积结果进行比较。
function[y]=ovrlpsav(x,h,N)
Lenx=length(x);
M=length(h);
M1=M-1;
L=N-M1;
h=[hzeros(1,N-M)];
x=[zeros(1,M1),x,zeros(1,N-1)];
K=floor((Lenx+M1-1)/(L));
Y=zeros(K+1,N);
fork=0:
K
xk=x(k*L+1:
k*K+N);
Y(k+1,:
)=circonvl(xk,h,N);
end
Y=Y(:
M:
N)';
y=(Y(:
))';
n=0:
9;
N=6;
x=n+1;
h=[1,0,-1];
y=ovrlpsav(x,h,N);
stem(y);
i.序列x(n)=R6(n),用快速傅立叶变换FFT计算6点DFT[x(n)]和8点DFT[x(n)],绘制
波形图并比较结果。
x1=ones(1,6);
x2=[x100];
y1=fft(x1,6);
y2=fft(x2,8);
subplot(2,1,1);
stem(abs(y1));
subplot(2,1,2);
stem(abs(y2));
j.设两个序列x(n)=(2n+3)R17(n),h(n)=(n+1)R4(n),采用重叠相加法,按分段长度L=7
的FFT计算线性卷积:
y(n)=x(n)*h(n),并与直接线性卷积的结果进行比较。
n1=0:
16;
n2=0:
3;
x=2*n1+3;
h=n2+1;
y=conv(x,h);
stem(y);
k.设序列x(n)=(0.8)nR15(n),计算序列x(n)在单位园上的Chirp-z变换,并与DFT[x(n)]
的结果进行比较。
l.设信号x(t)=sin(f1t)+sin(f2t)+sin(f3t)+sin(f4t)+sin(f5t),其中f1=6Hz,f2=6.5Hz,f3=8Hz
和f4=9Hz,f5=10Hz,对信号x(t)进行频率为40Hz进行抽样,时域抽样400点。
(1)用Chirp-z变换计算DFT[x(n)];
(2)直接计算DFT[x(n)];
(3)在5—12Hz的频段范围求Chirp-z变换。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验二 DFT 和FFT实验报告 实验 FFT 报告