实验一 连续时间信号的MATLAB 表示
实验目的 1.掌握MATLAB 语言的基本操作,学习基本的编程功能; 2.掌握MATLAB 产生常用连续时间信号的编程方法;
3.观察并熟悉常用连续时间信号的波形和特性。 实验原理:
1. 连续信号MA TLAB 实现原理
从严格意义上讲,MATLAB 数值计算的方法并不能处理连续时间信号。然而,可用连续信号在等时间间隔点的取样值来近似表示连续信号,即当取样时间间隔足够小时,这些离散样值能够被MATLAB 处理,并且能较好地近似表示连续信号。
MATLAB 提供了大量生成基本信号的函数。比如常用的指数信号、正余弦信号等都是MATLAB 的内部函数。为了表示连续时间信号,需定义某一时间或自变量的范围和取样时间间隔,然后调用该函数计算这些点的函数值,最后画出其波形图。
实验内容:
正弦信号
抽样信
号
矩形脉冲信
号
单位跃阶信号
实验编程:
(1)t=0:0.01:3;
K=2;a=-1.5;w=10; ft=K*exp((a+i*w)*t); A=real(ft); B=imag(ft); C=abs(ft); D=angle(ft);
subplot(2,2,1),plot(t,A),grid on;title('实部'); subplot(2,2,2),plot(t,B),grid on;title('虚部'); subplot(2,2,3),plot(t,C),grid on;title('取模'); subplot(2,2,4),plot(t,D),grid on;title('相角');
实
部虚
部
22
1
1
-1
-2-1
取
模相角
25
10
0-5
(2)
t=0:0.001:3;
y=square(2*pi*10*t,30);
方波信号plot(t,y);
axis([0,1,-1,1]); title('方波信号');
0.5
-0.5
-1 00.20.4
0.6
0.81
(3)t=-2:0.01:2;
y=uCT(t+0.5)-uCT(t-0.5); plot(t,y),grid on axis([-2,2,0,1.5]);
xlabel('t(s)'),ylabel('y(s)') title('门函数')
1.5
1
0.5
0 -2-1.5-1-0.5
门函数
y (s )
0t(s)
0.511.52
实验二 连续时间LTI 系统的时域分析
实验目的
1.运用MATLAB 符号求解连续系统的零输入响应和零状态响应; 2.运用MATLAB 数值求解连续系统的零状态响应; 3.运用MATLAB 求解连续系统的冲激响应和阶跃响应; 4.运用MATLAB 卷积积分法求解系统的零状态响应。
实验内容:
1
0.5 0
0.2
0.1
1.5
1
0.5
0.25 0.2 0.15 0.1 0.05 0
y (t )
零输入响应
t
零状态响应
123
4t
完全响应
5678
123
4t
零状态响应
5678
12
3
4t(s)
5678
冲击响应
42
h (t )
0-20
0.511.5
2t(s)阶跃响
应
2.533.54
1
s (t )
0.5
f1(t)
1.210.80.6
t(s)
f2(t)
210-1
0.4
0.2
01
0.6
0.4
0.2
实验编程: (1)
ts=0;te=8;dt=0.01; sys=tf([1,16],[1,2,32]); t=ts:dt:te; f=exp(-2*t); y=lsim(sys,f,t); plot(t,y),grid on;
xlabel('t(s)'),ylabel('y(t)') title('零状态响应')
2t
3401
2t
34
f(t)=f1(t)*f2(t)
t
(2)
t=0:0.01:8;
sys=tf([1],[1,3,2]); h=impulse(sys,t); s=step(sys,t);
subplot(2,1,1);plot(t,h),grid on xlabel('t(s)'),ylabel('h(t)') title('冲激响应')
subplot(2,1,2);plot(t,s),grid on xlabel('t(s)'),ylabel('s(t)') title('阶跃响应')
0.4
0.3
0.2
0.1
01
0.8
0.6
0.4
0.2
0 01
y (t )
零状态响
应
t(s)
冲激响
应
h (t )
23
4t(s)阶跃响应
5678
s (t )
23
4t(s)
5678
实验三 连续时间LTI 系统的频率特性及频域分析
实验目的
1.运用MATLAB 分析连续系统的频率特性; 2.运用MATLAB 进行连续系统的频域分析。 实验内容:
|H (ω) |
H(w)的频率特性
32
10-10
-8-6-4
02ω(rad/s)
H(w)的相频特性
-246810
42
|p h i (ω) |
0-2-4-10
-8
-6
-4
-2
0ω(rad/s)
246810
矩形脉冲信号
矩形脉冲频谱
u 1t (t )
X (ω)
0.511.5Time(sec)响应的时域波形
2
-10
010
ω(rad/s)响应的频谱
U 2(ω)
u 2(t
)
Time(sec)
ω(rad/s)
实验编程: (1)
w1=1;w2=10;A=5;B=2; t=0:0.01:20;
H1=1/(-w1^2+3*j*w1+2); H2=1/(-w2^2+3*j*w2+2); f=5*cos(w1*t)+2*cos(w2*t);
y=A*abs(H1)*cos(w1*t+angle(H1))+B*abs(H2)*cos(w2*t+angle(H2)); subplot(211),plot(t,f),grid on; xlabel('Time(sec)'),ylabel('f(t)'); title('输入信号的波形');
subplot(212),plot(t,y),grid on; xlabel('Time(sec)'),ylabel('y(t)'); title('稳态响应的波形') 输入信号的波形
10
5
-5 -10
[**************]
Time(sec)
稳态响应的波形
2
1
-1 -2
[**************]
Time(sec)
f (t ) y (t )
20
20
实验四 连续时间LTI 系统的零极点分析
实验目的
1.运用MATLAB 求解系统函数的零极点;
2.运用MATLAB 分析系统函数的零极点分布与其时域特性的关系; 3.运用MATLAB 分析系统函数的零极点分布与其系统稳定性的关系。 实验原理
1. 系统函数及其零极点的求解
系统零状态响应的拉普拉斯变换与激励的拉普拉斯变换之比称为系统函数H (s ) ,即
Y (s )
H (s ) ==
F (s )
∑b s
j
m
j
∑a s
i i =0
j =0n
i
b m s m +b m-1s m-1++b 1s +b 0=
a n s n +a n-1s n-1++a 1s +a 0
在连续时间LTI 系统的复频域分析中,系统函数起着十分重要的作用,它反映了系统的固有特性。
系统函数H (s ) 通常是一个有理分式,其分子和分母均为可分解因子形式的多项式,各项因子表明了H (s ) 零点和极点的位置,从零极点的分布情况可确定系统的性质。H (s ) 零极点的计算可应用MA TLAB 中的roots 函数,分别求出分子和分母多项式的根即可。
实验内容:
1.5
0.5
-0.5
-1.5
p =
-2.0000 + 1.0000i -2.0000 - 1.0000i z =
2
P ole-Zero Map
2
1.5
1
i
s
0.5A x y r a n 0i g a m
I -0.5
-1 -1.5
-2
Real Axis P ole-Zero Map 8 6 4 2 0-2 -4 -6 -8 Real Axis
I m pulse Response
14
12
10
e
8
d u t l i p m A 6
4
2
00.511.522.5
Tim e (sec)
I m pulse Response
1.5
1
0.5
e
d u i t l p A m -0.5
-1
-1.5
-2
00.511.522.5
Tim e (sec)
I m a g i n a r y A x i
s
P ole-Zero Map
21.5
1
0.50-0.5
-1-1.5-2 R eal Axis
实验编程: b1=[1]; a1=[1,-1];
sys1=tf(b1,a1); subplot(121) pzmap(sys1) axis([-2,2,-2,2]) subplot(122) impulse(b1,a1) figure b2=[1];
a2=[1,-2,50]; sys2=tf(b2,a2); subplot(121) pzmap(sys2) axis([-2,2,-8,8]) subplot(122) impulse(b2,a2) figure b3=[1]; a3=[1,0,1]; sys3=tf(b3,a3); subplot(121) pzmap(sys3)
I m pulse Response
10.80.60.40.2
e
d u t li p 0m A -0.2-0.4-0.6-0.8-1
Tim e (sec)
I m a g in a r y A x is
axis([-2,2,-2,2]) subplot(122) impulse(b3,a3)
P ole-Zero Map
86
4
0.06
20-2-4
-0.04
-6-8-2
-0.06-0.080.120.1
0.08
Impulse Response
I m a g i n a r y A x i s
0.04
A m p l i t u d e
0.020-0.02
0Real Axis
20246
Time (sec)
代码:b=[1]; a=[1,2,50]; sys2=tf(b,a); subplot(121) pzmap(sys2) axis([-2,2,-8,8]) subplot(122) impulse(b,a)
P ole-Zero Map
86
1.5
420-2
-4
-0.5
-6-8-2
-112
Impulse Response
I m a g i n a r y A x i s
A m p l i t u d e
0Real Axis
2
0.5
051015
Time (sec)
代码:b=[1,4,3]; a=[1,1,7,2]; sys2=tf(b,a); subplot(121) pzmap(sys2) axis([-2,2,-8,8]) subplot(122) impulse(b,a)
实验五 典型离散信号及其MATLAB 实现
实验目的
1.掌握MATLAB 语言的基本操作,学习基本的编程功能; 2.掌握MATLAB 产生常用离散时间信号的编程方法; 3.掌握MATLAB 计算卷积的方法。
实验原理
1. MATLAB常用离散时间信号
(1) 单位采样序列:δ(n ) =⎨
⎧1⎩0
n =0
n ≠0
在MA TLAB 中可以利用zeros()函数实现。 (2) 单位阶跃序列:u (n ) ⎨
⎧1⎩0
n ≥0
n
实验内容:1. 离散信号的产生:
2. 离散时间信号的卷积
f1(n)
f1(n)*f2(n)
实验一 连续时间信号的MATLAB 表示
实验目的 1.掌握MATLAB 语言的基本操作,学习基本的编程功能; 2.掌握MATLAB 产生常用连续时间信号的编程方法;
3.观察并熟悉常用连续时间信号的波形和特性。 实验原理:
1. 连续信号MA TLAB 实现原理
从严格意义上讲,MATLAB 数值计算的方法并不能处理连续时间信号。然而,可用连续信号在等时间间隔点的取样值来近似表示连续信号,即当取样时间间隔足够小时,这些离散样值能够被MATLAB 处理,并且能较好地近似表示连续信号。
MATLAB 提供了大量生成基本信号的函数。比如常用的指数信号、正余弦信号等都是MATLAB 的内部函数。为了表示连续时间信号,需定义某一时间或自变量的范围和取样时间间隔,然后调用该函数计算这些点的函数值,最后画出其波形图。
实验内容:
正弦信号
抽样信
号
矩形脉冲信
号
单位跃阶信号
实验编程:
(1)t=0:0.01:3;
K=2;a=-1.5;w=10; ft=K*exp((a+i*w)*t); A=real(ft); B=imag(ft); C=abs(ft); D=angle(ft);
subplot(2,2,1),plot(t,A),grid on;title('实部'); subplot(2,2,2),plot(t,B),grid on;title('虚部'); subplot(2,2,3),plot(t,C),grid on;title('取模'); subplot(2,2,4),plot(t,D),grid on;title('相角');
实
部虚
部
22
1
1
-1
-2-1
取
模相角
25
10
0-5
(2)
t=0:0.001:3;
y=square(2*pi*10*t,30);
方波信号plot(t,y);
axis([0,1,-1,1]); title('方波信号');
0.5
-0.5
-1 00.20.4
0.6
0.81
(3)t=-2:0.01:2;
y=uCT(t+0.5)-uCT(t-0.5); plot(t,y),grid on axis([-2,2,0,1.5]);
xlabel('t(s)'),ylabel('y(s)') title('门函数')
1.5
1
0.5
0 -2-1.5-1-0.5
门函数
y (s )
0t(s)
0.511.52
实验二 连续时间LTI 系统的时域分析
实验目的
1.运用MATLAB 符号求解连续系统的零输入响应和零状态响应; 2.运用MATLAB 数值求解连续系统的零状态响应; 3.运用MATLAB 求解连续系统的冲激响应和阶跃响应; 4.运用MATLAB 卷积积分法求解系统的零状态响应。
实验内容:
1
0.5 0
0.2
0.1
1.5
1
0.5
0.25 0.2 0.15 0.1 0.05 0
y (t )
零输入响应
t
零状态响应
123
4t
完全响应
5678
123
4t
零状态响应
5678
12
3
4t(s)
5678
冲击响应
42
h (t )
0-20
0.511.5
2t(s)阶跃响
应
2.533.54
1
s (t )
0.5
f1(t)
1.210.80.6
t(s)
f2(t)
210-1
0.4
0.2
01
0.6
0.4
0.2
实验编程: (1)
ts=0;te=8;dt=0.01; sys=tf([1,16],[1,2,32]); t=ts:dt:te; f=exp(-2*t); y=lsim(sys,f,t); plot(t,y),grid on;
xlabel('t(s)'),ylabel('y(t)') title('零状态响应')
2t
3401
2t
34
f(t)=f1(t)*f2(t)
t
(2)
t=0:0.01:8;
sys=tf([1],[1,3,2]); h=impulse(sys,t); s=step(sys,t);
subplot(2,1,1);plot(t,h),grid on xlabel('t(s)'),ylabel('h(t)') title('冲激响应')
subplot(2,1,2);plot(t,s),grid on xlabel('t(s)'),ylabel('s(t)') title('阶跃响应')
0.4
0.3
0.2
0.1
01
0.8
0.6
0.4
0.2
0 01
y (t )
零状态响
应
t(s)
冲激响
应
h (t )
23
4t(s)阶跃响应
5678
s (t )
23
4t(s)
5678
实验三 连续时间LTI 系统的频率特性及频域分析
实验目的
1.运用MATLAB 分析连续系统的频率特性; 2.运用MATLAB 进行连续系统的频域分析。 实验内容:
|H (ω) |
H(w)的频率特性
32
10-10
-8-6-4
02ω(rad/s)
H(w)的相频特性
-246810
42
|p h i (ω) |
0-2-4-10
-8
-6
-4
-2
0ω(rad/s)
246810
矩形脉冲信号
矩形脉冲频谱
u 1t (t )
X (ω)
0.511.5Time(sec)响应的时域波形
2
-10
010
ω(rad/s)响应的频谱
U 2(ω)
u 2(t
)
Time(sec)
ω(rad/s)
实验编程: (1)
w1=1;w2=10;A=5;B=2; t=0:0.01:20;
H1=1/(-w1^2+3*j*w1+2); H2=1/(-w2^2+3*j*w2+2); f=5*cos(w1*t)+2*cos(w2*t);
y=A*abs(H1)*cos(w1*t+angle(H1))+B*abs(H2)*cos(w2*t+angle(H2)); subplot(211),plot(t,f),grid on; xlabel('Time(sec)'),ylabel('f(t)'); title('输入信号的波形');
subplot(212),plot(t,y),grid on; xlabel('Time(sec)'),ylabel('y(t)'); title('稳态响应的波形') 输入信号的波形
10
5
-5 -10
[**************]
Time(sec)
稳态响应的波形
2
1
-1 -2
[**************]
Time(sec)
f (t ) y (t )
20
20
实验四 连续时间LTI 系统的零极点分析
实验目的
1.运用MATLAB 求解系统函数的零极点;
2.运用MATLAB 分析系统函数的零极点分布与其时域特性的关系; 3.运用MATLAB 分析系统函数的零极点分布与其系统稳定性的关系。 实验原理
1. 系统函数及其零极点的求解
系统零状态响应的拉普拉斯变换与激励的拉普拉斯变换之比称为系统函数H (s ) ,即
Y (s )
H (s ) ==
F (s )
∑b s
j
m
j
∑a s
i i =0
j =0n
i
b m s m +b m-1s m-1++b 1s +b 0=
a n s n +a n-1s n-1++a 1s +a 0
在连续时间LTI 系统的复频域分析中,系统函数起着十分重要的作用,它反映了系统的固有特性。
系统函数H (s ) 通常是一个有理分式,其分子和分母均为可分解因子形式的多项式,各项因子表明了H (s ) 零点和极点的位置,从零极点的分布情况可确定系统的性质。H (s ) 零极点的计算可应用MA TLAB 中的roots 函数,分别求出分子和分母多项式的根即可。
实验内容:
1.5
0.5
-0.5
-1.5
p =
-2.0000 + 1.0000i -2.0000 - 1.0000i z =
2
P ole-Zero Map
2
1.5
1
i
s
0.5A x y r a n 0i g a m
I -0.5
-1 -1.5
-2
Real Axis P ole-Zero Map 8 6 4 2 0-2 -4 -6 -8 Real Axis
I m pulse Response
14
12
10
e
8
d u t l i p m A 6
4
2
00.511.522.5
Tim e (sec)
I m pulse Response
1.5
1
0.5
e
d u i t l p A m -0.5
-1
-1.5
-2
00.511.522.5
Tim e (sec)
I m a g i n a r y A x i
s
P ole-Zero Map
21.5
1
0.50-0.5
-1-1.5-2 R eal Axis
实验编程: b1=[1]; a1=[1,-1];
sys1=tf(b1,a1); subplot(121) pzmap(sys1) axis([-2,2,-2,2]) subplot(122) impulse(b1,a1) figure b2=[1];
a2=[1,-2,50]; sys2=tf(b2,a2); subplot(121) pzmap(sys2) axis([-2,2,-8,8]) subplot(122) impulse(b2,a2) figure b3=[1]; a3=[1,0,1]; sys3=tf(b3,a3); subplot(121) pzmap(sys3)
I m pulse Response
10.80.60.40.2
e
d u t li p 0m A -0.2-0.4-0.6-0.8-1
Tim e (sec)
I m a g in a r y A x is
axis([-2,2,-2,2]) subplot(122) impulse(b3,a3)
P ole-Zero Map
86
4
0.06
20-2-4
-0.04
-6-8-2
-0.06-0.080.120.1
0.08
Impulse Response
I m a g i n a r y A x i s
0.04
A m p l i t u d e
0.020-0.02
0Real Axis
20246
Time (sec)
代码:b=[1]; a=[1,2,50]; sys2=tf(b,a); subplot(121) pzmap(sys2) axis([-2,2,-8,8]) subplot(122) impulse(b,a)
P ole-Zero Map
86
1.5
420-2
-4
-0.5
-6-8-2
-112
Impulse Response
I m a g i n a r y A x i s
A m p l i t u d e
0Real Axis
2
0.5
051015
Time (sec)
代码:b=[1,4,3]; a=[1,1,7,2]; sys2=tf(b,a); subplot(121) pzmap(sys2) axis([-2,2,-8,8]) subplot(122) impulse(b,a)
实验五 典型离散信号及其MATLAB 实现
实验目的
1.掌握MATLAB 语言的基本操作,学习基本的编程功能; 2.掌握MATLAB 产生常用离散时间信号的编程方法; 3.掌握MATLAB 计算卷积的方法。
实验原理
1. MATLAB常用离散时间信号
(1) 单位采样序列:δ(n ) =⎨
⎧1⎩0
n =0
n ≠0
在MA TLAB 中可以利用zeros()函数实现。 (2) 单位阶跃序列:u (n ) ⎨
⎧1⎩0
n ≥0
n
实验内容:1. 离散信号的产生:
2. 离散时间信号的卷积
f1(n)
f1(n)*f2(n)