上机实验7离散时间信号的时域分析.docx
文本预览下载声明
上机实验7 离散时间信号的时域分析
一、实验目的
(1)掌握离散时间信号时域运算的基本实现方法。
(2)熟悉相关函数的调用格式及作用。
(3)掌握离散信号的基本运算。
(4)掌握信号的分解,会将任意离散信号分解为单位脉冲信号的线性组合。
二、实验原理
离散时间信号的运算包括信号的相加和相乘。信号的时域变换包括信号的平移、反折、倒相以及尺度变换。
三、实验内容
1.验证性实验:
(1)序列的加法
Matlab程序为:
x1 = -2:2;k1 = -2:2;
x2 = [1 -1 1];k2 = -1:1;
k = min([k1,k2]):max([k1,k2]);
f1 = zeros(1,length(k));
f2 = zeros (1,length(k));
f1(find((k=min(k1))
(k=max(k1))==1))=x1;
f2(find((k=min(k2))
(k=max(k2))==1))=x2;
f = f1+f2;stem(k,f,filled);
axis ([min(k)-1,max(k)+1,
min(f)-0.5,max(f)+0.5]);
title (序列的加法);
(2)序列的乘法
Matlab程序为:
x1 = -2:2;k1 = -2:2;
x2 = [1 -1 1];k2 = -1:1;
k = min([k1,k2]):max([k1,k2]);
f1 = zeros(1,length(k));
f2 = zeros (1,length(k));
f1(find((k=min(k1))
(k=max(k1))==1))=x1;
f2(find((k=min(k2))
(k=max(k2))==1))=x2;
f = f1.*f2; stem (k,f,filled);
axis ([min(k)-1,max(k)+1,
min(f)-0.5,max(f)+0.5]);
title (序列的乘法);
(3)序列的翻转
Matlab程序为:
x1 = -2:2;
k1 = -2:2;
k = -fliplr(k1);
f = fliplr(x1);
stem (k,f,filled);
axis ([min(k)-1,max(k)+1,
min(f)-0.5,max(f)+0.5]);
title (序列的翻转);
(4)序列的倒相
Matlab程序为:
x1 = -2:2;
k1 = -2:2;
k = k1;
f = -x1;
stem (k,f,filled);
axis ([min(k)-1,max(k)+1,
min(f)-0.5,max(f)+0.5]);
title (序列的倒相);
(5)序列的平移
Matlab程序为:
x1 = -2:2;
k1 = -2:2;
k0 = 2;
k = k1+k0;
f = x1;
stem (k,f,filled);
axis ([min(k)-1,max(k)+1,
min(f)-0.5,max(f)+0.5]);
title (序列的平移);
2.程序设计实验:
已知序列,对应的k值为-3=k=4,分别绘出下列信号的图形:
,,,
,,
解答:
(1)
Matlab程序为:
x1=[2,3,1,2,3,4,3,1];
k1=-3:4;k0=2;
k=k1+k0;f=x1;
stem(k,f,filled);
axis([min(k)-1,max(k)+1,
min(f)-0.5,max(f)+0.5]);
title (f_{1}(k)=f(-k));
(2)
Matlab程序为:
x1=[2,3,1,2,3,4,3,1];
k1=-3:4;
k=-fliplr(k1);
f=fliplr(x1);
stem(k,f,filled);
axis([min(k)-1,max(k)+1,
min(f)-0.5,max(f)+0.5]);
title (f_{2}(k)=f(k-2));
(3)
Matlab程序为:
x1=[2,3,1,2,3,4,3,1];
k1=-3:4;k0=1;
k1=k1+k0;
ns=0;
k2=0:10;
k=min([k1,k2]):max([k1,k2]);
x2=[zeros(1,ns-0),
ones(1,10-ns+1)];
f1=zeros(1,length(k));
f2=zeros(1,length(k));
f1(find((k=min(k1))(k=max(k1))==1))=x1;
f2(find((k=min(k2))(k=max(k2))==1))=x2;
f=f1.*f2;stem(k,f,filled);
axis([min(k)-1,max(k)+1,mi
显示全部