ﺍﳌﺮﻛﺰ ﺍﳍﻨﺪﺳﻲ ﺍﻟﺘﺨﺼﺼﻲ
031 2461729 ﻡ.ﻣﻮﻓﻖ ﴰﺎ
00963 966 344 685 ﺩﻭﺭﺍﺕ ﻛﻤﺒﻴﻮﺗﺮ ﲣﺼﺼﻴﺔ
א א מא
Control System
ﰲ ﻫﺬﺍ ﺍﻟﻔﺼﻞ ﺳﻨﺘﻌﻠﻢ:
.١ﻛﻴﻔﻴﺔ ﺇﻧﺸﺎﺀ ﻓﺮﺍﻍ ﺍﳊﺎﻟﺔ.
ﺇﻧﺸﺎﺀ ﺗﺎﺑﻊ ﺍﻟﻨﻘﻞ. .٢
ﺭﺑﻂ ﺍﻷﻧﻈﻤﺔ ﺑﻌﻀﻬﺎ ﺑﺒﻌﺾ. .٣
ﺍﻟﺘﺤﻮﻳﻞ ﺑﲔ ﺍﻟﻨﻈﺎﻡ ﺍﳌﺴﺘﻤﺮ ﻭﺍﳌﺘﻘﻄﻊ. .٤
ﺭﺳﻢ ﺍﻷﺻﻔﺎﺭ ﻭﺍﻷﻗﻄﺎﺏ ﻭﳐﻄﻂ ﺑﻮﺩ ﻭﻧﻴﻜﻮﻳﺴﺖ. .٥
ﻣﻘﺪﻣﺔ:
ﺇﻥ ﻫﺬﺍ ﺍﻟﻔﺼﻞ ﻳﺒﲔ ﻋﺪﻡ ﺇﻣﻜﺎﻧﻴﺔ ﺍﻟﻔﺼﻞ ﺑﲔ ﺍﻟﺮﻳﺎﺿﻴﺎﺕ ﻭﺍﳍﻨﺪﺳﺔ ﺣﻴﺚ ﻳﺘﻢ ﲤﺜﻴﻞ ﺍﻟﻨﻈﺎﻡ ﺍﻟﻌﻤﻠﻲ
ﲟﻌﺎﺩﻻﺕ ﺭﻳﺎﺿﻴﺔ ﻟﻠﺘﺤﻜﻢ ﺑﻪ.ﻭﺍﳌﺎﺗﻼﺏ ﰲ ﻫﺬﺍ ﺍﻟﻔﺼﻞ ﺳﻴﻘﺪﻡ ﻟﻨﺎ ﻛﻌﺎﺩﺗﻪ ﺗﻌﻠﻴﻤﺎﺕ ﻭﺃﻭﺍﻣﺮ ﺟﺎﻫﺰﺓ
ﺗﻌﻴﻨﻨﺎ ﻛﻄﻼﺏ ﻭﻣﻬﻨﺪﺳﲔ ﻋﻠﻰ ﲤﺜﻴﻞ ﻫﺬﻩ ﺍﻟﻨﻈﻢ ﺑﻮﻗﺖ ﻗﺼﲑ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻠﺠﻬﺪ ﺍﻟﻴﺪﻭﻱ ﻭﺧﺎﻟﻴﺎ ﻣﻦ
ﺍﻷﺧﻄﺎﺀ ﻭﺍﻟﺘﻌﻘﻴﺪ ﺍﻟﱵ ﺗﻌﺘﺮﻳﻨﺎ ﳓﻦ ﺍﻟﺒﺸﺮ ﻓﻬﻮ ﳚﻌﻞ ﺍﻷﻣﻮﺭ ﺍﳌﻬﻤﺔ ﻟﻚ ﻛﺘﻤﺜﻴﻞ ﻧﻈﺎﻡ ﻭﺍﻟﺘﺤﻜﻢ ﺑﻪ ﺃﻣﺎ
ﺣﺴﺎﺑﺎﺕ ﺍﻟﻨﺘﺎﺋﺞ ﻓﲑﳛﻚ ﻣﻨﻬﺎ.
ﻟﺼﻨﻊ ﻓﻀﺎﺀ ﺍﳊﺎﻟﺔ ﻧﺄﺧﺬ ﺍﳌﺜﺎﻝ ﺍﻟﺘﺎﱄ:
ﻟﻨﻔﺮﺽ ﺃﻧﻪ ﻟﺪﻱ ﺁﻟﺔ ﳍﺎ ﺍﳌﻌﻄﻴﺎﺕ ﺍﻟﺘﺎﻟﻴﺔ:
R= 2.0 % Ohms
L= 0.5 % Henrys
Km = .015 % torque constant
Kb = .015 % emf constant
Kf = 0.2 % Nms
ﺍﳌﺮﻛﺰ ﺍﳍﻨﺪﺳﻲ ﺍﻟﺘﺨﺼﺼﻲ
031 2461729 ﻡ.ﻣﻮﻓﻖ ﴰﺎ
00963 966 344 685 ﺩﻭﺭﺍﺕ ﻛﻤﺒﻴﻮﺗﺮ ﲣﺼﺼﻴﺔ
J= 0.02 % kg.m^2
ﻧﺴﺘﻄﻴﻊ ﻣﻦ ﺧﻼﳍﺎ ﺗﻜﻮﻳﻦ ﻣﺼﻔﻮﻓﺎﺕ ﺍﳊﺎﻟﺔ:
;]A = [-R/L -Kb/L; Km/J -Kf/J
;]B = [1/L; 0
;]C = [0 1
;]D = [0
ﺍﻵﻥ ﻹﻧﺸﺎﺀ ﻓﻀﺎﺀ ﺍﳊﺎﻟﺔ:
)sys = ss(A,B,C,D
ﻓﻴﻜﻮﻥ ﺍﻟﻨﺎﺗﺞ:
=a
x1 x2
x1 -4 -0.03
x2 0.75 -10
=b
u1
x1 2
x2 0
=c
x1 x2
y1 0 1
=d
u1
y1 0
Continuous-time model.
ﻻﺣﻆ ﺃﻥ ﺍﻟﺮﻣﻮﺯ ﺍﻟﱵ ﻇﻬﺮﺕ u1ﻭ x1ﻭ ... y1ﺍﻟﱵ ﺗﻌﱪ ﻋﻦ ﺍﻟﺪﺧﻞ ﻭﺍﳋﺮﺝ ﳝﻜﻨﻚ ﺗﻐﻴﲑﻫﺎ
ﺇﺫﺍ ﺍﺗﺒﻌﻨﺎ ﺍﳋﻄﻮﺍﺕ ﺍﻟﺘﺎﻟﻴﺔ:
;}'states = {'beta' 'yaw' 'roll' 'phi
;}'inputs = {'rudder' 'aileron
;}'outputs = {'yaw rate' 'bank angle
ﻫﻨﺎ ﰎ ﺗﺴﻤﻴﺘﻬﺎ ﺑﺄﲰﺎﺀ ﺟﺪﻳﺪﺓ.ﺍﻵﻥ ﻧﻘﻮﻡ ﺑﺈﺩﺧﺎﻝ ﻫﺬﻩ ﺍﻷﲰﺎﺀ ﻋﻠﻰ ﺍﻟﻨﻈﺎﻡ:
A = [-0.0558 -0.9968 0.0802 0.0415
0.5980 -0.1150 -0.0318 0
-3.0500 0.3880 -0.4650 0
0 0.0805 1.0000 ;]0
B = [ 0.0073 0
ﺍﳌﺮﻛﺰ ﺍﳍﻨﺪﺳﻲ ﺍﻟﺘﺨﺼﺼﻲ
031 2461729 ﻡ.ﻣﻮﻓﻖ ﴰﺎ
00963 966 344 685 ﺩﻭﺭﺍﺕ ﻛﻤﺒﻴﻮﺗﺮ ﲣﺼﺼﻴﺔ
-0.4750 0.0077
0.1530 0.1430
0 ;]0
C = [0 1 0 0
0 0 0 ;]1
D = [0 0
0 ;]0
…sys_mimo = ss(A,B,C,D,'statename',states,'inputname',inputs,
;)'outputname',outputs
ﻧﻔﺬ ﻭﻻﺣﻆ ﺍﻟﻔﺮﻕ.
ﺇﻧﺸﺎﺀ ﺗﺎﺑﻊ ﺍﻻﻧﺘﻘﺎﻝ ﻟﻔﻀﺎﺀ ﺣﺎﻟﺔ ﻣﺎ:
)>> sys_tf=tf(sys
Transfer function:
1.5
------------------
s^2 + 14 s + 40.02
ﻭﺗﺴﺘﻄﻴﻊ ﺇﻧﺸﺎﺀ ﺗﺎﺑﻊ ﺍﻻﻧﺘﻘﺎﻝ ﺇﻥ ﻛﻨﺖ ﺗﻌﺮﻓﻪ ﻣﺒﺎﺷﺮﺓ ﺑﺈﺩﺧﺎﻝ ﺃﻣﺜﺎ ﻛﺜﲑ ﺍﳊﺪﻭﺩ ﺑﺎﻟﺒﺴﻂ ﻭﺃﻣﺜﺎﻟﻪ
ﺑﺎﳌﻘﺎﻡ:
)]>> sys_tf = tf([2 3.6],[5 1 4
Transfer function:
2 s + 3.6
-------------
5 s^2 + s + 4
ﻭﺗﺴﺘﻄﻴﻊ ﰲ ﺍﻟﻨﻈﺎﻡ ﺍﳌﺴﺘﻤﺮ ﺇﺿﺎﻓﺔ ﺗﺄﺧﲑ ﺯﻣﲏ ﻋﻠﻰ ﺍﻟﺸﻜﻞ ﺍﻟﺘﺎﱄ:
)>> sys_tfdelay = tf(1.5, [1 14 40.02],'inputdelay',0.05
Transfer function:
1.5
exp(-0.05*s) * ------------------
s^2 + 14 s + 40.02
ﻭﻫﻨﺎ ﻃﺮﻳﻘﺔ ﺃﺧﺮﻯ ﻭﺫﻟﻚ ﺑﺘﻌﺮﻳﻒ ﻣﺘﻐﲑ ﻣﺎ ﰒ ﺇﺩﺧﺎﻝ ﺗﺎﺑﻊ ﺍﻻﻧﺘﻘﺎﻝ:
;)'>> s = tf('s
)sys_tf = 5*s^2/(s^3+4*s+2
Transfer function:
5 s^2
-------------
ﺍﳌﺮﻛﺰ ﺍﳍﻨﺪﺳﻲ ﺍﻟﺘﺨﺼﺼﻲ
031 2461729 ﻣﻮﻓﻖ ﴰﺎ.ﻡ
00963 966 344 685 ﺩﻭﺭﺍﺕ ﻛﻤﺒﻴﻮﺗﺮ ﲣﺼﺼﻴﺔ
s^3 + 4 s + 2
:ﺭﲟﺎ ﻳﻜﻮﻥ ﻟﺪﻳﻚ ﻧﻈﺎﻡ ﻣﺘﻘﻄﻊ ﻓﻴﻪ ﻓﻮﺍﺻﻞ ﺯﻣﻨﻴﺔ ﻓﻤﺎﻋﻠﻴﻚ ﺇﻻ ﺃﻥ ﺗﻨﻈﺮ ﻟﻸﺳﻔﻞ ﻣﻦ ﻫﺬﺍ ﺍﻟﺴﻄﺮ
>> sys_disc = tf(2, [5 8], .01)
Transfer function:
2
-------
5z+8
Sampling time: 0.01
:ﻭﺇﺿﺎﻓﺔ ﺗﺄﺧﲑ ﺯﻣﲏ ﻟﻴﺴﺖ ﲟﺴﺘﺤﻴﻠﺔ ﺗﺎﺑﻊ ﺍﻟﺴﻄﺮ ﺍﻟﺘﺎﱄ
>> sys_delay = tf(3, [4 1], 0.02,'outputdelay',5)
Transfer function:
3
z^(-5) * -------
4z+1
Sampling time: 0.02
:ﺇﻥ ﺍﳌﺜﺎﻝ ﺍﻷﺧﲑ ﰲ ﺇﻧﺸﺎﺀ ﻓﺮﺍﻍ ﺣﺎﻟﺔ ﺳﻴﺘﻢ ﺇﻧﺸﺎﺀ ﺗﺎﺑﻊ ﺍﻻﻧﺘﻘﺎﻝ ﻟﻪ
tf(sys_mimo)
Transfer function from input "rudder" to output...
-0.475 s^3 - 0.2479 s^2 - 0.1187 s - 0.05633
yaw rate: ---------------------------------------------------
s^4 + 0.6358 s^3 + 0.9389 s^2 + 0.5116 s + 0.003674
0.1148 s^2 - 0.2004 s - 1.373
bank angle: ---------------------------------------------------
s^4 + 0.6358 s^3 + 0.9389 s^2 + 0.5116 s + 0.003674
Transfer function from input "aileron" to output...
0.0077 s^3 - 0.0005372 s^2 + 0.008688 s + 0.004523
yaw rate: ---------------------------------------------------
s^4 + 0.6358 s^3 + 0.9389 s^2 + 0.5116 s + 0.003674
0.1436 s^2 + 0.02737 s + 0.1104
bank angle: ---------------------------------------------------
s^4 + 0.6358 s^3 + 0.9389 s^2 + 0.5116 s + 0.003674
:ﰲ ﺣﺎﻝ ﻭﺟﻮﺩ ﻧﻈﺎﻡ ﺑﺪﺧﻞ ﻭﺣﻴﺪ ﻭﺧﺮﺟﲔ ﻓﺈﻥ ﺗﺎﺑﻊ ﺍﻧﺘﻘﺎﻝ ﻟﻜﻞ ﺧﺮﺝ ﺳﻴﻨﺸﺊ
>> h11 = tf([1 -1],[1 1]);
h21 = tf([1 2],[1 4 5]);
ﺍﳌﺮﻛﺰ ﺍﳍﻨﺪﺳﻲ ﺍﻟﺘﺨﺼﺼﻲ
031 2461729 ﻡ.ﻣﻮﻓﻖ ﴰﺎ
00963 966 344 685 ﺩﻭﺭﺍﺕ ﻛﻤﺒﻴﻮﺗﺮ ﲣﺼﺼﻴﺔ
]>> H = [h11; h21
Transfer function from input to output...
s-1
#1: -----
s+1
s+2
#2: -------------
s^2 + 4 s + 5
ﻭﳝﻜﻦ ﺑﻄﺮﻳﻘﺔ ﺃﺧﺮﻯ ﺇﻧﺸﺎﺀ ﻣﺎﲢﻘﻖ ﻗﺒﻞ ﻗﻠﻴﻞ.ﺑﺎﺳﺘﺨﺪﺍﻡ ﻣﺼﻔﻮﻓﺎﺕ ﺍﻟـ:cell
;}]>> N = {[1 -1];[1 2
;}]D = {[1 1];[1 4 5
)H = tf(N,D
Transfer function from input to output...
s-1
#1: -----
s+1
s+2
#2: -------------
s^2 + 4 s + 5
ﺗﺴﺘﻄﻴﻊ ﺍﳊﺼﻮﻝ ﻋﻠﻰ ﺗﺎﺑﻊ ﺍﻻﻧﺘﻘﺎﻝ ﺑﺸﻜﻞ ﻳﻈﻬﺮ ﺍﻷﺻﻔﺎﺭ:
)>> sys_zpk = zpk(sys
Zero/pole/gain:
1.5
-------------------
)(s+4.004) (s+9.996
ﰲ ﺣﺎﻝ ﻣﻌﺮﻓﺘﻚ ﻟﻸﺻﻔﺎﺭ ﺗﻜﺘﺐ ﺑﺎﻟﺸﻜﻞ ﺍﻟﻘﺎﺩﻡ:
)>> sys_zpk = zpk([],[-9.996 -4.004], 1.5
Zero/pole/gain:
1.5
-------------------
)(s+9.996) (s+4.004
ﺍﺳﺘﺠﺎﺑﺔ ﺍﻟﻨﻈﺎﻡ ﻟﻠﻘﻔﺰﺓ ﺍﻟﻮﺍﺣﺪﻳﺔ:
ﺍﳌﺮﻛﺰ ﺍﳍﻨﺪﺳﻲ ﺍﻟﺘﺨﺼﺼﻲ
031 2461729 ﻡ.ﻣﻮﻓﻖ ﴰﺎ
00963 966 344 685 ﺩﻭﺭﺍﺕ ﻛﻤﺒﻴﻮﺗﺮ ﲣﺼﺼﻴﺔ
ﻧﺴﺘﻄﻴﻊ ﺗﻌﺮﻳﻒ ﻋﺪﺓ ﺃﻧﻈﻤﺔ ﺧﻄﻴﺔ ﰲ ﻣﺪﺧﻞ ﻭﺍﺣﺪ ﺃﻭ ﻣﺘﻐﲑ ﻭﺍﺣﺪ ﻭﻳﺘﻢ ﺫﻟﻚ ﰲ ﺣﺎﻝ ﻣﺮﺍﻗﺒﺘﻚ
ﻟﻠﻤﺜﺎﻝ ﺍﻟﺘﺎﱄ:
; R= 2.0
; L= 0.5
; Km = .015
; Kb = .015
; Kf = 0.2
; J= 0.02
;]B = [1/L; 0
;]C = [0 1
;]D = [0
;]K = [0.1 0.15 0.2
;]A1 = [-R/L -K(1)/L; K(1)/J -Kf/J
;]A2 = [-R/L -K(2)/L; K(2)/J -Kf/J
;]A3 = [-R/L -K(3)/L; K(3)/J -Kf/J
ﻻﺣﻆ ﺃﻧﻪ ﰎ ﺗﻌﺮﻳﻒ ﺛﻼﺛﺔ ﻣﺼﻔﻮﻓﺎﺕ Aﺍﻵﻥ ﺳﻴﺘﻢ ﺇﻧﺸﺎﺀ ﻓﺮﺍﻍ ﺍﳊﺎﻟﺔ ﻟﻸﻧﻈﻤﺔ ﺍﻟﺜﻼﺛﺔ ﻣﻌﹶﺎ:
;)sys_lti(:,:,1)= ss(A1,B,C,D
;)sys_lti(:,:,2)= ss(A2,B,C,D
;)sys_lti(:,:,3)= ss(A3,B,C,D
ﻟﻴﻜﻮﻥ ﺍﻟﻨﺎﺗﺞ ﻫﻜﺬﺍ:
sys_lti
)Model sys_lti(:,:,1,1
======================
=a
x1 x2
x1 -4 -0.2
x2 5 -10
=b
u1
x1 2
x2 0
=c
x1 x2
y1 0 1
=d
u1
ﺍﳌﺮﻛﺰ ﺍﳍﻨﺪﺳﻲ ﺍﻟﺘﺨﺼﺼﻲ
031 2461729 ﻣﻮﻓﻖ ﴰﺎ.ﻡ
00963 966 344 685 ﺩﻭﺭﺍﺕ ﻛﻤﺒﻴﻮﺗﺮ ﲣﺼﺼﻴﺔ
y1 0
Model sys_lti(:,:,2,1)
======================
a=
x1 x2
x1 -4 -0.3
x2 7.5 -10
b=
u1
x1 2
x2 0
c=
x1 x2
y1 0 1
d=
u1
y1 0
Model sys_lti(:,:,3,1)
======================
a=
x1 x2
x1 -4 -0.4
x2 10 -10
b=
u1
x1 2
x2 0
c=
x1 x2
y1 0 1
d=
u1
y1 0
3x1 array of continuous-time state-space models.
:ﺍﻵﻥ ﺗﺴﺘﻄﻴﻊ ﻣﻌﺮﻓﺔ ﺍﺳﺘﺠﺎﺑﺔ ﺍﻷﻧﻈﻤﺔ ﺍﻟﺜﻼﺛﺔ ﻟﻠﻘﻔﺰﺓ ﺍﻟﻮﺍﺣﺪﻳﺔ
>> step(sys_lti)
ﺍﳌﺮﻛﺰ ﺍﳍﻨﺪﺳﻲ ﺍﻟﺘﺨﺼﺼﻲ
031 2461729 ﻡ.ﻣﻮﻓﻖ ﴰﺎ
00963 966 344 685 ﺩﻭﺭﺍﺕ ﻛﻤﺒﻴﻮﺗﺮ ﲣﺼﺼﻴﺔ
ﺭﺑﻂ ﺍﻷﻧﻈﻤﺔ ﺑﻌﻀﻬﺎ ﺑﺒﻌﺾ:
ﺗﺴﺘﻄﻴﻊ ﺗﻨﻔﻴﺬ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺍﳊﺴﺎﺑﻴﺔ ﻋﻠﻰ ﺗﻮﺑﻊ ﺍﻻﻧﺘﻘﺎﻝ ﻛﻤﺎﻳﻠﻲ:
)]>> tf(3,[5 2])+tf([1 2],[4 7
Transfer function:
5 s^2 + 24 s + 25
------------------
20 s^2 + 43 s + 14
)]>> tf1=5*tf(3,[5 2])*tf([1 2],[4 7
Transfer function:
15 s + 30
------------------
20 s^2 + 43 s + 14
ﻣﻦ ﺍﳌﻌﻠﻮﻡ ﻟﺪﻳﻚ ﺭﲟﺎ ﺃﻧﻪ ﻋﻨﺪ ﻭﺟﻮﺩ ﻧﻈﺎﻣﲔ ﻋﻠﻰ ﺍﻟﺘﻔﺮﻉ ﻓﻴﺘﻢ ﲨﻊ ﺗﺎﺑﻌﻲ ﺍﻻﻧﺘﻘﺎﻝ ﻭﻋﻠﻰ
ﺍﻟﺘﺴﻠﺴﻞ ﻳﺘﻢ ﺍﻟﻀﺮﺏ.
ﺗﺴﺘﻄﻴﻊ ﺑﻮﺍﺳﻄﺔ ﺃﻣﺮ seriesﺃﻥ ﲢﺼﻞ ﻋﻠﻰ ﻧﺎﺗﺞ ﺭﺑﻂ ﻧﻈﺎﻣﲔ ﺗﺴﻠﺴﻠﻴﹶﺎ:
))]>> series(tf(1,[5 9 3.2]),tf([1 6],[4 5 3
Transfer function:
s+6
---------------------------------------
20 s^4 + 61 s^3 + 72.8 s^2 + 43 s + 9.6
ﻭﰲ ﺣﺎﻝ ﻛﺎﻥ ﺍﻟﺮﺑﻂ ﺗﻔﺮﻋﻴﺎ ﻓﺈﻥ ﻛﻠﻤﺔ parallelﻫﻲ ﺍﳊﻞ:
ﺍﳌﺮﻛﺰ ﺍﳍﻨﺪﺳﻲ ﺍﻟﺘﺨﺼﺼﻲ
031 2461729 ﻡ.ﻣﻮﻓﻖ ﴰﺎ
00963 966 344 685 ﺩﻭﺭﺍﺕ ﻛﻤﺒﻴﻮﺗﺮ ﲣﺼﺼﻴﺔ
))]>> parallel(tf(1,[5 9 3.2]),tf([1 6],[4 5 3
Transfer function:
5 s^3 + 43 s^2 + 62.2 s + 22.2
---------------------------------------
20 s^4 + 61 s^3 + 72.8 s^2 + 43 s + 9.6
ﺇﺫﺍ ﻛﺎﻥ ﻟﺪﻱ ﺗﻐﺬﻳﺔ ﻋﻜﺴﻴﺔ ﻭﻫﻲ ﲣﺘﻠﻒ ﺑﻄﺒﻴﻌﺔ ﺍﳊﺎﻝ ﻋﻦ ﺍﻟﻮﺻﻞ ﺍﻟﺘﻔﺮﻋﻲ ﻓﻠﺪﻳﻨﺎ ﺃﻭﻣﺮ ﻣﺴﺘﻌﺪ
ﻟﻠﻘﻴﺎﻡ ﺑﺎﳌﻬﻤﺔ:
))]>> sys_f = feedback(tf(1,[1 0]), tf([1 1],[1 2
Transfer function:
s+2
-------------
s^2 + 3 s + 1
ﺍﻟﺘﺤﻮﻳﻞ ﺑﲔ ﺍﻟﻨﻈﺎﻡ ﺍﳌﺴﺘﻤﺮ ﻭﺍﳌﺘﻘﻄﻊ:
ﻟﻴﻜﻦ ﻟﺪﻱ ﻧﻈﺎﻡ ﻣﺴﺘﻤﺮ ﻋﻠﻰ ﺍﻟﺸﻜﻞ ﺍﻟﺘﺎﱄ:
)]>> H = tf([1 -1],[1 4 5
Transfer function:
s-1
-------------
s^2 + 4 s + 5
ﻟﺘﺤﻮﻳﻠﻪ ﻟﻨﻈﺎﻡ ﻣﺘﻘﻄﻊ ﺃﻛﺘﺐ ﺍﻟﻌﺒﺎﺭﺓ ﺍﻟﺘﺎﻟﻴﺔ:
)>>p=c2d(H,0.01
Transfer function:
0.009752 z - 0.009851
---------------------
z^2 - 1.96 z + 0.9608
Sampling time: 0.01
ﻭﻟﻠﺘﺄﻛﺪ ﻣﻦ ﺻﺤﺔ ﺍﻟﺘﺤﻮﻳﻞ ﻧﺮﺳﻢ ﺍﻻﺳﺘﺠﺎﺑﺔ ﻟﻜﻠﻴﻬﻤﺎ:
)>> step(p,H
ﺍﳌﺮﻛﺰ ﺍﳍﻨﺪﺳﻲ ﺍﻟﺘﺨﺼﺼﻲ
031 2461729 ﻡ.ﻣﻮﻓﻖ ﴰﺎ
00963 966 344 685 ﺩﻭﺭﺍﺕ ﻛﻤﺒﻴﻮﺗﺮ ﲣﺼﺼﻴﺔ
ﻭﻟﻠﻘﻴﺎﻡ ﺑﺎﻟﻌﻤﻠﻴﺔ ﺍﻟﻌﻜﺴﻴﺔ ﺗﻜﺘﺐ ﺍﻷﻣﺮ c2dﺩﻭﻥ ﻭﺟﻮﺩ ﺯﻣﻦ ﺗﻘﻄﻴﻊ.
ﺭﺳﻢ ﺍﻷﺻﻔﺎﺭ ﻭﺍﻷﻗﻄﺎﺏ ﻭﳐﻄﻂ ﺑﻮﺩ ﻭﻧﻴﻜﻮﻳﺴﺖ:
)>> pzmap(H
ﻭﻟﺮﺳﻢ ﳐﻄﻂ ﺑﻮﺩ ﻓﺈﻥ ﺍﻷﻣﺮ ﺑﺴﻴﻂ ﺟﺪﹶﺍ:
)bode(H
ﺍﳌﺮﻛﺰ ﺍﳍﻨﺪﺳﻲ ﺍﻟﺘﺨﺼﺼﻲ
031 2461729 ﻡ.ﻣﻮﻓﻖ ﴰﺎ
00963 966 344 685 ﺩﻭﺭﺍﺕ ﻛﻤﺒﻴﻮﺗﺮ ﲣﺼﺼﻴﺔ
ﻭﻟﺮﺳﻢ ﳐﻄﻂ ﺑﻮﺩ ﺍﳌﻄﺎﱄ ﻓﻘﻂ:
)bodemag(H
ﻭﳐﻄﻂ ﻧﻴﻜﻮﻳﺴﺖ:
)>> nyquist(H
ﺍﻻﺳﺘﺠﺎﺑﺔ ﺍﻟﺘﺮﺩﺩﻳﺔ ﻟﻌﺪﺓ ﺗﺮﺩﺩﺍﺕ:
)]>> H1 = freqresp(H,[1 10 100
= )H1(:,:,1
0 + 0.2500i
= )H1(:,:,2
0.0466 - 0.0856i
ﺍﳌﺮﻛﺰ ﺍﳍﻨﺪﺳﻲ ﺍﻟﺘﺨﺼﺼﻲ
031 2461729 ﻡ.ﻣﻮﻓﻖ ﴰﺎ
00963 966 344 685 ﺩﻭﺭﺍﺕ ﻛﻤﺒﻴﻮﺗﺮ ﲣﺼﺼﻴﺔ
= )H1(:,:,3
0.0005 - 0.0100i
ﺃﻣﺜﻠﺔ ﻋﻠﻰ ﻛﻴﻔﻴﺔ ﺍﺳﺘﺨﺮﺍﺝ ﺗﺎﺑﻊ ﺍﻟﻨﻘﻞ ﻟﻨﻈﺎﻡ ﻣﻌﲔ:
ﻣﺜﺎﻝ ﺩﺍﺭﺓ ﻛﻬﺮﺑﺎﺋﻴﺔ ﲢﻮﻱ ﻣﻘﺎﻭﻣﺔ ﻭﻣﻜﺜﻒ:
ﺑـ) e(tواج ـ ﺳﻴﺘﻢ ﺑﺈﺫﻥ ﺍﷲ ﺗﻌﺎﱃ ﲤﺜﻴﻞ ﻫﺬﻩ ﺍﻟﺪﺍﺭﺓ ﺑﺘﺎﺑﻊ ﺍﻧﺘﻘﺎﻝ ﺣﻴﺚ ﺃﻥ ﺍﻟﺪﺧﻞ ﻳﺘﻤﺜﻞ
). v(t
ﺣﺴﺐ ﻛﲑﺷﻮﻑ ﺳﻴﺘﻜﻮﻥ ﻟﺪﻳﻨﺎ ﺍﻟﻌﻼﻗﺔ ﺍﻟﺘﺎﻟﻴﺔ:
)vr(t) + v(t) = e(t
ﻧﻌﻮﺽ ﻋﻦ ﺍﳉﻬﺪ ﻋﻠﻰ ﺍﳌﻘﺎﻭﻣﺔ ﺑﺎﻟﺘﻴﺎﺭ ﰲ ﺍﳌﻘﺎﻭﻣﺔ
)vr(t) = Ri(t
ﰲ ﺍﻟﺴﻄﺮ ﺍﻟﻘﺎﺩﻡ ﺳﺘﻘﺮﺃ ﺍﻟﻌﻼﻗﺔ ﺑﲔ ﺍﻟﺘﻴﺎﺭ ﻭﺟﻬﺪ ﺍﳌﻜﺜﻒ:
)i(t) = Cv' (t
ﻧﻌﻮﺽ ﰲ ﺍﻟﻌﻼﻗﺔ ﺍﻟﺮﺋﻴﺴﻴﺔ:
)RCv' (t) + v(t) = e(t
ﻧﺄﺧﺬ ﻻﺑﻼﺱ ﺍﻟﻄﺮﻓﲔ:
))L(RCv' (t) + v(t)) = L(e(t
)RCsV(s) +V (s) = E(s
ﻧﻨﺴﺐ ﺍﳋﺮﺝ ﺇﱃ ﺍﻟﺪﺧﻞ ﻟﻴﻨﺘﺞ ﻟﺪﻳﻨﺎ ﺗﺎﺑﻊ ﺍﻻﻧﺘﻘﺎﻝ:
ﺍﳌﺮﻛﺰ ﺍﳍﻨﺪﺳﻲ ﺍﻟﺘﺨﺼﺼﻲ
031 2461729 ﻡ.ﻣﻮﻓﻖ ﴰﺎ
00963 966 344 685 ﺩﻭﺭﺍﺕ ﻛﻤﺒﻴﻮﺗﺮ ﲣﺼﺼﻴﺔ
)V (s 1
= )G ( s =
E ( s ) RCs + 1
R=100 KΩ , C=10µF: C ﺳﺄﻓﺮﺽ ﻗﻴﻢ ﻟـ Rﻭ
ﺍﻵﻥ ﻟﺘﻤﺜﻴﻠﻪ ﻋﻠﻰ ﺍﳌﺎﺗﻼﺏ:
;>> R=100e3
;>> C=10e-6
)]>> sys1=tf(1,[R*C 1
Transfer function:
1
-----
s+1
ﺃﻭﺟﺪﻧﺎ ﺗﺎﺑﻊ ﺍﻻﻧﺘﻘﺎﻝ.ﺍﻵﻥ ﺃﺭﻳﺪ ﺃﻥ ﺃﺣﺼﻞ ﻋﻠﻰ ﺧﺮﺝ ﻫﺬﻩ ﺍﻟﺪﺍﺭﺓ ﻋﻨﺪ ﺇﺷﺎﺭﺍﺕ ﳐﺘﻠﻔﺔ:
ﺇﺷﺎﺭﺓ ﺟﻴﺒﻴﺔ:ﻣﻄﺎﳍﺎ ١ﻭﺗﺮﺩﺩﻫﺎ ٠.٥ﻫﺮﺗﺰ
;>> t=0:0.01:10
>> f=0.5;%Hz
>> w=2*pi*f;%rad/sec
;)>> y=sin(w*t
)>> lsim(sys1,y,t
ﰲ ﺣﺎﻝ ﻛﺎﻥ ﺍﻟﺪﺧﻞ ﺇﺷﺎﺭﺓ ﻣﺮﺑﻌﺔ:ﳍﺎ ﻧﻔﺲ ﺍﻟﺘﺮﺩﺩ ﻭﺍﳌﻄﺎﻝ ﻟﻠﺠﻴﺒﻴﺔ ﺍﻟﺴﺎﺑﻘﺔ:
ﺍﳌﺮﻛﺰ ﺍﳍﻨﺪﺳﻲ ﺍﻟﺘﺨﺼﺼﻲ
031 2461729 ﻡ.ﻣﻮﻓﻖ ﴰﺎ
00963 966 344 685 ﺩﻭﺭﺍﺕ ﻛﻤﺒﻴﻮﺗﺮ ﲣﺼﺼﻴﺔ
;>> t=0:0.01:10
>> f=0.5;%Hz
>> w=2*pi*f;%rad/sec
;)>> y=square(w*t
)>> lsim(sys1,y,t
ﺇﺷﺎﺭﺓ ﺳﻦ ﻣﻨﺸﺎﺭ ﺃﻳﻀﺎ ﳍﺎ ﻧﻔﺲ ﻣﻮﺍﺻﻔﺎﺕ ﺍﻹﺷﺎﺭﺗﲔ ﺍﻟﺴﺎﺑﻘﺘﲔ:
;>> t=0:0.01:10
>> f=0.5;%Hz
>> w=2*pi*f;%rad/sec
;)>> y=sawtooth(w*t
)>> lsim(sys1,y,t
ﺍﳌﺮﻛﺰ ﺍﳍﻨﺪﺳﻲ ﺍﻟﺘﺨﺼﺼﻲ
031 2461729 ﻡ.ﻣﻮﻓﻖ ﴰﺎ
00963 966 344 685 ﺩﻭﺭﺍﺕ ﻛﻤﺒﻴﻮﺗﺮ ﲣﺼﺼﻴﺔ
ﺇﺷﺎﺭﺓ ﻣﺜﻠﺜﻴﺔ ﺗﺮﺩﺩﻫﺎ ١ﻫﺮﺗﺰ ﻭﻣﻄﺎﳍﺎ :١
;>> t=0:0.01:10
;>> d=0.5:10
;)'>> y=pulstran(t,d,'tripuls
)>> lsim(sys1,y,t
ﺇﻥ ﺗﻌﻠﻴﻤﺔ pulstranﺑﺎﺭﻣﺘﺮﺍﺎ ﳐﺘﻠﻔﺔ ﻋﻤﺎ ﺳﺒﻖ ﻹﺎ ﺗﻘﻮﻡ ﺑﺘﻜﺮﺍﺭ ﺇﺷﺎﺭﺓ ﻣﺎ ﺑﻌﺪﺩ ﻳﺴﺎﻭﻱ ﻋﺪﺩ
ﻋﻨﺎﺻﺮ dﺿﻤﻦ ﳎﺎﻝ tﻭﺑﻌﺪ ﺫﻟﻚ ﲣﺘﺎﺭ ﺍﺳﻢ ﺍﻹﺷﺎﺭﺓ ﺍﻟﱵ ﺗﺮﻳﺪ ﺗﻜﺮﺍﺭﻫﺎ ﻭﻟﺪﻳﻚ ﺛﻼﺙ ﺧﻴﺎﺭﺍﺕ
ﻓﻘﻂ ﻭﻫﻲ. gauspuls, rectpuls, tripuls:
ﺍﳌﺮﻛﺰ ﺍﳍﻨﺪﺳﻲ ﺍﻟﺘﺨﺼﺼﻲ
031 2461729 ﻡ.ﻣﻮﻓﻖ ﴰﺎ
00963 966 344 685 ﺩﻭﺭﺍﺕ ﻛﻤﺒﻴﻮﺗﺮ ﲣﺼﺼﻴﺔ
)[u,t] = gensig(type,tau,Tf,Ts