有关傅里叶变换的MATLAB仿真

  • 格式:docx
  • 大小:84.91 KB
  • 文档页数:10

下载文档原格式

  / 14
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

有关傅里叶变换的MATLAB仿真

Homework 1:

1) Determine the DFT of sequence x(n)=R4(n) with N=4, N=8 and N=16 by MATLAB, and plot the figures;

程序如下:

function[Xk] = DFT(xn,N)

k = [0:1:N-1];

n = [0:1:N-1];

Wn = exp(-j*2*pi/N);

kn = k'*n;

Wn_kn = Wn.^kn;

Xk = xn*Wn_kn;

clear

xn1=[1 1 1 1];

xn2=[1 1 1 1 0 0 0 0];

xn3=[1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0];

N1=length(xn1);

N2=length(xn2);

N3=length(xn3);

XK1=DFT(xn1,N1); magX1=abs(XK1);

XK2=DFT(xn2,N2); magX2=abs(XK2);

XK3=DFT(xn3,N3); magX3=abs(XK3)

subplot(3,1,1);

L1=0:1:N1-1;

stem(L1,magX1); axis([0 N1 0 5]);

subplot(3,1,2);

L2=0:1:N2-1;

stem(L2,magX2); axis([0 N2 0 5]);

subplot(3,1,3);

L3=0:1:N3-1;

stem(L3,magX3);

axis([0 N3 0 5]);

最终方针波形如下:

2) Determine the FT of sequence x(n)=R4(n) by MATLAB, and plot the figure;

程序如下:

function Ke=FT(xn,N)

n=0:1:N-1;

w=0:0.01*pi:2*pi;

Wn=exp(-j*n'*w);

Ke=xn*Wn;

end

clear;

xn=[1 1 1 1];

w=0:0.01*pi:2*pi;

N=length(xn);

Ke=FT(xn,N);

Ke1=abs(Ke);

plot(w,Ke1);

axis([0 2*pi 0 5]);

最终仿真波形如下:

3) Compare figures and give the relationship between DFT and FT;

程序如下:(调用函数上边已经求得,这里不再重复)clear

xn1=[1 1 1 1];

xn2=[1 1 1 1 0 0 0 0];

xn3=[1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0];

N1=length(xn1);

N2=length(xn2);

N3=length(xn3);

XK1=DFT(xn1,N1);

magX1=abs(XK1);

XK2=DFT(xn2,N2);

magX2=abs(XK2);

XK3=DFT(xn3,N3);

magX3=abs(XK3);

subplot(4,1,1);

L1=0:1:N1-1;

stem(L1,magX1);

axis([0 N1 0 5]);

xlabel('N=4');

subplot(4,1,2);

L2=0:1:N2-1; stem(L2,magX2); axis([0 N2 0 5]); xlabel('N=8');

subplot(4,1,3);

L3=0:1:N3-1; stem(L3,magX3); axis([0 N3 0 5]); xlabel('N=16');

subplot(4,1,4);

xn=[1 1 1 1];

w=0:0.01*pi:2*pi; N=length(xn);

Ke=FT(xn,N);

Ke1=abs(Ke); plot(w,Ke1);

axis([0 2*pi 0 5]); xlabel('FT');

Homework 2:

1) Computing the 24-points DFTs of the two sequences that x1(n)= cos(nπ/6) and x2(n)= cos(nπ/4) using a single 24-point DFT by Matlab;

2) Plot the figure of x1(n), x2(n), |X1(k)| and |X2(k)|;

3) Analysis the value of |X1(k)| and |X2(k)|;

4) Applying IDFT to X1(k) and X2(k) to obtain x1N(n) and x2N(n);

程序如下:

function[Xk] = DFT(xn,N)

k = [0:1:N-1];

n = [0:1:N-1];

Wn = exp(-j*2*pi/N);

kn = k'*n;

Wn_kn = Wn.^kn;

Xk = xn*Wn_kn;

function[xn] =IDFT(Xk,N) k = [0:1:N-1];

n = [0:1:N-1];

Wn = exp(-j*2*pi/N);

kn = k'*n;

Wn_kn = Wn.^(-kn);

xn = (Xk*Wn_kn)/N;

clear

N=24;

n=0:23;

xn1=cos(n*pi/6);

xn2=cos(n*pi/4);

xn=xn1+j*xn2;