2021年实验4 离散时间信号和系统分析之欧阳学文创编
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、实验目的
欧阳光明(2021.03.07)
1.复习离散时间信号和系统的基本概念及其运算的实现;
2.通过仿真实验,建立对典型的离散时间信号和系统的直观认识。
二、实验内容
1.在n=[-15,15]之间产生离散时间信号
MATLAB代码:
单位阶跃函数序列(定义函数):
function[x,n]=step_seq(n0,n1.n2)
%产生x(n)=u(n-n0)
n=[n1:n2];
x=[(n-n0)>=0];
产生离散时间信号:
n=[-15:15];
s=(step_seq(-4,-15,15)-step_seq(5,-15,15).*n*3;
stem(n,s);
xlabel('n');
ylabel('x(n)');
grid;
图像:
2.产生复信号
并画出它们的实部和虚部及幅值和相角。信号一MATLAB代码:
n=[0:32];
x=exp(j*pi/8*n);
figure(1);
stem(n,real(x));
xlabel('n');
ylabel('x real');
figure(2);
stem(n,imag(x));
xlabel('n');
ylabel('x imag');
figure(3);
stem(n,abs(x));
xlabel('n');
ylabel('x magnitude');
figure(4);
stem(n,angle(x));
xlabel('n');
ylabel('x phase');
(1)实部:
(2)虚部:
(3)模:
信号二MATLAB代码:n=[-10:10];
x=exp((-0.1+0.3*j)*n); figure(1);
stem(n,real(x));
xlabel('n');
ylabel('x real');
figure(2);
stem(n,imag(x));
xlabel('n');
ylabel('x imag');
figure(3);
stem(n,abs(x));
xlabel('n');
ylabel('x magnitude'); figure(4);
stem(n,angle(x));
xlabel('n');
ylabel('x phase');
(1)实部:
(2)虚部:
(3)模:
3.已知序列
分别画出x(n),x(n-3)和x(-n)。
MATLAB代码:
1.x(n):
n=[-15:15];
figure(1);
x0=2*delta(0,-15,15)+delta(2,-15,15)-delta(3,-15,15)+3*delta(4,-15,15); stem(n,x0);
2.x(n-3):
n=[-15:15];
figure(1);
x0=2*delta(3,-15,15)+delta(5,-15,15)-delta(6,-15,15)+3*delta(7,-15,15); stem(n,x0);
3.x(-n):
n=[-15:15];
figure(1);
x0=2*delta(0,-15,15)+delta(-2,-15,15)-delta(-3,-15,15)+3*delta(-4,-15,1 5);
stem(n,x0);
图像:
4. 已知序列{}{}4,3,2,1,0
n
=k
y
k
x,计算][
n
=
;1,1,1,1,1
[
=
,3,2,1,0
]
;4,3,2,1
[=
]
x*
n
[n
y
]
并画出卷积结果。
MATLAB代码:
x=[1,2,3,4];
y=[1,1,1,1,1];
z=conv(x,y);
N=length(z);
stem(0:N-1,z);
图像:
5.求离散时间系统
的单位脉冲响应h[k]
MATLAB 代码:
k=[0:10];
a=[1 4 2 1];
b=[1];
h=impz(b,a,k);
stem(k,h);
图像:
6.求
• x(k)=cos(n)u(n)的Z 变换;
• )2)(1(1
)(z z z X ++=的Z 反变换。
信号一MATLAB 代码:
x=sym('cos(n)');
X=ztrans(x)
运行结果:
X =(z*(z - cos(1)))/(z^2 - 2*cos(1)*z + 1)
信号二MATLAB 代码:
x=sym('1/((1+z)*(2+z))');
X=iztrans(x)
运行结果:
X =(-2)^n/2 - (-1)^n + kroneckerDelta(n, 0)/2
7.求系统传递函数22121)(z z z
z H +++=
• 零极点并画出零极点图;
• 系统的单位脉冲响应h(n)和频率响应)(Ωj e H
零极点和零极点图的MATLAB 代码:
b=[2,1];
a=[1,2,1];
[r,p,k]=tf2zp(b,a)
zplane(b,a)
运行结果:
r = -0.5000
p = -1 -1
k =2
单位脉冲响应和频率响应的MATLAB 代码:
num=[0,2,1];
den=[1,2,1];
h=impz(num,den);
figure(1);
stem(h);