Matlab实验二

  • 格式:doc
  • 大小:133.00 KB
  • 文档页数:6

下载文档原格式

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

实验二DFS和DFT

实验任务

1、阅读并输入实验原理中介绍的例题程序,观察输出的图形曲线,理解每一条语句的含义。

2、已知一个信号序列的主值为x(n)=[0,1,2,3,2,1,0],显示两个周期的信号序列波形,要求:

(1)用DFS求信号的幅度频谱和相位频谱,用图形表示;

(2)求IDFS的图形,并与原信号进行比较。

N = 7;

xn = [0,1,2,3,2,1,0];

xn = [xn xn];

n = 0:2*N-1;

k = 0:2*N-1;

Xk = xn*exp(-j*2*pi/N).^(n'*k);

x = (Xk*exp(j*2*pi/N).^(n'*k))/(2*2*N);

subplot(2,2,1),stem(n,xn);

title('x(n)');axis([-2,2*N,1.1*min(xn),1.1*max(xn)]);

subplot(2,2,2),stem(n,abs(x));

title('IDFS|X(k)|');axis([-2,2*N,1.1*min(xn),1.1*max(xn)]);

subplot(2,2,3),stem(k,abs(Xk));

title('|X(k)|');axis([-2,2*N,1.1*min(abs(Xk)),1.1*max(abs(Xk))]); subplot(2,2,4),stem(k,angle(Xk));

title('arg|X(k)|');axis([-2,2*N,1.1*min(angle(Xk)),1.1*max(angle(Xk)) ]);

3、已知有限长序列x(n)=[7,6,5,4,3,2],求x(n)的DFT 和IDFT ,要求:

(1) 画出DFT 对应的()X k 和()arg X k ⎡⎤⎣⎦的图形。

(2)画出原信号与傅里叶逆变换IDFT[X(k)]图形进行比较

xn = [7 6 5 4 3 2];

N = length(xn);

n = 0:N-1;

k = 0:N-1;

Xk = xn*exp(-j*2*pi/N).^(n'*k);

x = (Xk*exp(j*2*pi/N).^(n'*k))/N;

figure,subplot(2,2,1),stem(n,xn);

title('x(n)');

subplot(2,2,2),stem(n,abs(x));

title('IDFT|X(k)|');

subplot(2,2,3),stem(k,abs(Xk));

title('|X(k)|');

subplot(2,2,4),stem(k,angle(Xk));

title('arg|X(k)|');

axis([0,N,1.1*min(angle(Xk)),1.1*max(angle(Xk))])

4、一周期序列的主值x(n)=[7,6,5,4,3,2],求x(n)周期周期重复次数为3次时的DFS 。要求:

(1)画出原主值和信号周期序列信号;

(2)画出序列傅里叶变换对应的()X k 和()arg X k ⎡⎤⎣⎦的图形。

xn = [7 6 5 4 3 2];

N = length(xn);

n = 0:3*N-1;

k = 0:3*N-1;

xn1 = xn(mod(n,N)+1);

Xk = xn1*exp(-j*2*pi/N).^(n'*k);

figure,subplot(2,2,1),stem(xn);

title('原主值信号(n)');

subplot(2,2,2),stem(n,xn1);

title('周期序列信号');axis([0,3*N,min(xn1),1.1*max(xn1)])

subplot(2,2,3),stem(k,abs(Xk));

title('|X(k)|');axis([0,3*N,1.1*min(abs(Xk)),1.1*max(abs(Xk))]) subplot(2,2,4),stem(k,angle(Xk));

title('arg|X(k)|');axis([0,3*N,1.1*min(angle(Xk)),1.1*max(angle(Xk))])

5、求x (n )=[ 7,6,5,4,3,2],0≤n ≤5的DTFT ,将()2,2ππ-区间分成500份。要求:

(1)画出原信号;

(2)画出由DTFT 求出的幅度谱()j X e ω和相位谱()arg j X e ω⎡⎤⎣⎦的图形。

(3)求这个有限长序列补零到N=100时的DFT ,并与DTFT 结果进行比较。 xn = [7 6 5 4 3 2];

N = length(xn);

n = 0:N-1;

w = linspace(-2*pi,2*pi,500);

X = xn*exp(-j*n'*w);

figure,subplot(3,1,1),stem(n,xn)

title('x(n)');

subplot(3,1,2),plot(w,abs(X));

axis([-2*pi,2*pi,1.1*min(abs(X)),1.1*max(abs(X))]);

title('幅度谱');

subplot(3,1,3),plot(w,angle(X));

axis([-2*pi,2*pi,1.1*min(angle(X)),1.1*max(angle(X))]);

title('相位谱');

6、先用MATLAB 产生出下列三个数字信号:

14()()x n R n = (长度为4的矩形窗)

24,03()347

0n n x n n n -≤≤⎧⎫⎪⎪=-≤≤⎨⎬⎪⎪⎩⎭

其它n 3()sin()8

x n n π

= 然后逐个用DFT 进行谱分析,分别取DFT 的长度N =16,32,画出信号的幅谱图,分析实验结果。

N = 16;

for r=0:1

n = 0:N-1;

k = 0:N-1;

x1 = [ones(1,4),zeros(1,N-4)];

x2=[4,3,2,1,1,2,3,4,zeros(1,N-8)];

x3=sin(n*pi/8);