利用MATLAB分析离散系统
主讲人:陈后金电子信息工程学院
利用MATLAB分析离散信号与系统
X(z)部分分式展开的MATLAB实现
H(z)零极点与系统特性的MATLAB计算
[r ,p ,k ]=residuez (num,den)
num 为X (z )分子多项式的系数向量den 为X (z )分母多项式的系数向量
X (z )部分分式展开的MATLAB 实现
120121*********
12num()
()den()
111m
m n
n n n b b z b z b z z X z a a z a z a z z r r r k p z p z p z
---------+++???+==+++???+=+++???+---离散信号的z 变换X (z )通常可用有理分式表示:
[例] 利用MATLAB 实现部分分式展开。num =[18];den =[183-4-1];[r,p,k]=residuez (num,den)
运行结果为:
r =0.3600 , 0.2400 , 0.4000 p =0.5000,-0.3333,-0.3333k =[]
故X (z )可展开为:3
21431818
)(-----+=z
z z z X 2
111)3333.01(4.03333.0124.05.0136.0)(---++++-=z z z z X MATLAB 程序为:
x [k ]可表示为:[]0.36(0.5)0.24(0.3333)0.4(1)(0.3333)k k k
x k k =+-++-
利用impz 函数计算H (z )的单位脉冲响应h [k ],调用形式为
h = impz (num, den, N)
H (z )零极点分布图可用zplane 函数画出,调用形式为:
zplane (num, den)
num 和den 分别为H (z )分子多项式和分母多项式的系数向量。N 表示单位脉冲响应输出序列个数,返回值h 是单位脉冲响应。H (z )零极点与系统特性的MATLAB 计算
1201212012num()
()den()
m m n
n b b z b z b z z H z a a z a z a z z ------+++???+==+++???+离散系统的系统函数H (z )可由有理分式表示:
零极点分布图,求其单位脉冲响应h [k ]和频率响应H (e j W ) 。
MATLAB 程序如下:num =[0121];
den =[1-0.5-0.0050.3];figure(1);zplane (num,den);N =34;
h =impz (num,den,N);figure(2);stem (h);
title ('Impulse Response');w =linspace (0,pi,1000);H =freqz (num,den,w);
figure(3);plot (w/pi,abs(H));xlabel ('Frequency \omega ');title ('Magnitude Response');
运行结果
-1
-0.5
00.5
1
-1
-0.8-0.6-0.4-0.200.20.40.60.812
Real Part
I m a g i n a r y P a r t
51015
20253035
-1-0.500.5
11.522.5k
Impulse Respone
0.2
0.40.60.81
01
23
4
5678Frequency ω
Magnitude Respone
零极点分布图,求其单位冲激响应h [k ]和频率响应H (e j W ) 。
-0.8-0.6-0.4-0.200.20.40.6
0.81I m a g i n a r y P a r t
zero-pole map
h [k ]
Impulse Respone
num = [1];z1 = 1.5;
den = [1, -z1];zplane (num, den);
h = impz (num, den, 11);
1
1()1 1.5 1.5
z
H z z z -==--
h [k ]
Impulse Respone
num = [1];z1 = 1.0;
den = [1, -z1];zplane (num, den);
h = impz (num, den, 11);
-0.8-0.6-0.4-0.200.20.40.6
0.81I m a g i n a r y P a r t
zero-pole map
1
1()111
z
H z z z -==-?-
-0.8-0.6-0.4-0.200.20.40.6
0.81I m a g i n a r y P a r t
zero-pole map
num = [1];z1 = 0.5;
den = [1, -z1];zplane (num, den);
h = impz (num, den, 11);
h [k ]
Impulse Respone
1
1()10.50.5
z
H z z z -==-?-
-0.8-0.6-0.4-0.200.20.40.6
0.81I m a g i n a r y P a r t
zero-pole map
h [k ]
Impulse Respone
num = [1];z1 = -0.5;den = [1, -z1];zplane (num, den);
h = impz (num, den, 11);
1
1()1(0.5)(0.5)0.5
z z
H z z z z -===--?--+
-0.8-0.6-0.4-0.200.20.40.6
0.81I m a g i n a r y P a r t
zero-pole map
h [k ]
Impulse Respone
num = [1];z1 = -1;
den = [1, -z1];zplane (num, den);
h = impz (num, den, 11);
1
1()1(1)(1)1
z z
H z z z z -===--?--+
h [k ]
Impulse Respone
-0.8-0.6-0.4-0.200.20.40.6
0.81I m a g i n a r y P a r t
zero-pole map
num = [1];z1 = -1.5;den = [1, -z1];zplane (num, den);
h = impz (num, den, 11);
1
1()1( 1.5)( 1.5) 1.5
z z
H z z z z -===--?--+
-0.8-0.6-0.4-0.200.20.40.6
0.81I m a g i n a r y P a r t
zero-pole map
r = 0.8;num = [1];
den = [1, 0, r*r];zplane (num, den);
h = impz (num, den, 11);
22
11222
11
()10.8(10.8j )(10.8j )
(0.8j)(0.8j)0.8*0.8
H z z z z z z z z z ---==+-+==-++-0.6
-0.4-0.200.20.4
0.60.81h [k ]
Impulse Respone
2
-0.8
-0.6-0.4-0.200.2
0.40.60.81Impulse Respone
h [k ]
r = 1;
num = [1];
den = [1, 0, r*r];zplane (num, den);
h = impz (num, den, 11);
-0.8-0.6-0.4-0.200.20.40.6
0.81I m a g i n a r y P a r t
zero-pole map
211
22
2
11
()1(1j )(1j )
(j)(j)1
H z z z z z z z z z ---==+-+==-++2
-1-0.500.51
1.5I m a g i n a r y P a r t
zero-pole map
r = 1.5;num = [1];
den = [1, 0, r*r];zplane (num, den);
h = impz (num, den, 11);
-50
-40-30-20-100
102030h [k ]
Impulse Respone
22
1122
2
11
()1 1.5(1 1.5j )(1 1.5j )
( 1.5j)( 1.5j) 1.5*1.5
H z z z z z z z z z ---==+-+==-++2
-0.8-0.6-0.4-0.200.20.40.6
0.81I m a g i n a r y P a r t
zero-pole map
r = 1.5;theta = 5*pi/6;num = [1, -r*cos(theta)];den = [1, -2*r*cos(theta), r*r];zplane (num, den);h = impz (num, den, 11);
[]
11
122j 1j 121cos()1cos()()12cos()(1e )(1e )
1.5cos(5π/6)21.5cos(5π/6) 1.5*1.5
r z r z H z r z r z r z r z z z z θθθθθ---------==-+---?=-??+-30-20-1001020
304050h [k ]
Impulse Respone
-0.8-0.6-0.4-0.200.20.40.6
0.81I m a g i n a r y P a r t
zero-pole map
r = 0.7;theta = 5*pi/6;num = [1, -r*cos(theta)];
den = [1, -2*r*cos(theta), r*r];zplane (num, den);
h = impz (num, den, 11);
[]11
122
j 1j 12
1cos()1cos()()12cos()(1e )(1e )
0.7cos(5π/6)20.7cos(5π/6)0.7*0.7
r z r z H z r z r z r z r z z z z θθθθθ---------==-+---?=-??+-0.6-0.4-0.200.20.4
0.60.81h [k ]
Impulse Respone
r = 0.7;theta = 1*pi/6;num = [1, -r*cos(theta)];
den = [1, -2*r*cos(theta), r*r];zplane (num, den);
h = impz
(num, den, 11);
[]11
122
j 1j 12
1cos()1cos()()12cos()(1e )(1e )
0.7cos(π/6)20.7cos(π/6)0.7*0.7
r z r z H z r z r z r z r z z z z θθθθθ---------==-+---?=-??+00.20.40.60.81 1.2h [k ]
Impulse Respone
-0.8-0.6-0.4-0.200.20.40.6
0.81I m a g i n a r y P a r t
zero-pole map
-0.8-0.6-0.4-0.200.20.40.6
0.81I m a g i n a r y P a r t
zero-pole map
r = 1.5;theta = 1*pi/6;num = [1, -r*cos(theta)];
den = [1, -2*r*cos(theta), r*r];zplane (num, den);
h = impz (num, den, 11);
[]11
122
j 1j 12
1cos()1cos()()12cos()(1e )(1e )
1.5cos(π/6)21.5cos(π/6) 1.5*1.5
r z r z H z r z r z r z r z z z z θθθθθ---------==-+---?=-??+-10
-5051015
202530h [k ]
Impulse Respone