Matlab实验二
- 格式:doc
- 大小:133.00 KB
- 文档页数:6
实验二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);