AVLNA_ugrasvalasz_impvalasz_2018aprilis

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

Ugrásválasz és impulzusválasz számítása összetev®kre bontással

 MATLAB segítségével 
Bilicz Sándor

2018. április
A vizsgált hálózat és az ÁVLNA

R2 C1 u c1 R1 = 1,2 kΩ
R1 R3 R2 = 0,9 kΩ
_ R3 = 0,6 kΩ
C1 = 1 nF
us u c2 + C2 = 6 nF
C2 u2

Az ÁVLNA (pl. csomóponti egyenletekb®l. . . ) :

1
u0c1 = − uc2
R3 C1
 
1 1 1 1 1 1
u0c2 = uc1 − + + uc2 + us
R 2 C2 C2 R1 R2 R3 R1 C2
u2 = uc1
Meghatározandó: g(t) ugrásválasz és h(t) impulzusválasz id®függvény

1
Adatbevitel (a MATLAB munkaterületre)µ
A koherens egységrendszer legyen {V, mA, kΩ, nF, s}, ekkor a hálózat paraméterei:
>> R1=1.2; R2=0.9; R3=0.6; C1=1; C2=6;
Az ÁVLNA paraméterei:
>> A=[0, -1/R3/C1; 1/R2/C2, -(1/R1+1/R2+1/R3)/C2]

A =

0 -1.6667
0.1852 -0.6019

>> B=[0; 1/R1/C2]

B =

0
0.1389

>> C=[1, 0]

C =

1 0

>> D=0

D =

0
2
Ugrásválasz számítása összetev®kre bontással
x0 = Ax + Bu

u(t) = ε(t) ⇒ x(+0) = 0, y(t) = g(t) =?
y = CT x + Du

Összetev®k:

x(t) = xf (t) + xg (t)

Szabad összetev®:

xf (t) = K1 m1 eλ1 t + K2 m2 eλ2 t , Am = λm

Gerjesztett összetev®:

u(t) = 1 = konst : t > 0 ⇒ xg (t) = Xg = konst

0 = AXg + B · 1 ⇒ Xg = −A−1 B

Kezdeti feltétel:

x(+0) = xf (+0) + xg (+0) = 0 ⇒ K1 , K2 = . . .

3
Szabad összetev®höz: sajátértékek, sajátvektorok

A sajátérték-probléma: Am = λm

>> [M,la] = eig(A)

M =

0.9487 + 0.0000i 0.9487 + 0.0000i


0.1713 - 0.2658i 0.1713 + 0.2658i

la =

-0.3009 + 0.4670i 0.0000 + 0.0000i


0.0000 + 0.0000i -0.3009 - 0.4670i

Értelmezés: M oszlopai: m1 , m2 sajátvektorok; la f®átlójában: λ1 , λ2 sajátértékek

4
A gerjesztett összetev® kiszámítása

A megoldandó lineáris algebrai egyenletrendszer: 0 = AXg + B · 1 ⇒ Xg = −A−1 B

>> Xg = -inv(A)*B

Xg =

-0.7500
0

5
A kezdeti feltétel érvényesítése

x(+0) = xf (+0) + xg (+0) = 0

xf (+0) = K1 m1 eλ1 0 + K2 m2 eλ2 0 = K1 m1 + K2 m2 = M K

M K + Xg = 0 ⇒ K = −M −1 Xg

>> K = -inv(M)*Xg

K =

0.3953 - 0.2547i
0.3953 + 0.2547i

6
Az ugrásválasz felírása
g(t) = CT x(t) + Du(t) = CT (xf (t) + xg (t)) + Dε(t)
 

T
m1 eλ1 t + K2 CT m2 eλ2 t + CT Xg + D
 
|K1 C
= ε(t) 
{z } | {z } | {z }
N1 N2 N3

A konstansok számítása:
>> N1 = K(1)*C*M(:,1)

N1 =

0.3750 - 0.2416i

>> N2 = K(2)*C*M(:,2)

N2 =

0.3750 + 0.2416i

>> N3 = C*Xg + D

N3 =

-0.7500
7
A komplex konjugált tagok összegének felírása valós függvényként
N1 eλ1 t + N2 eλ2 t = (α + jβ)e(σ+jω)t + (α − jβ)e(σ−jω)t = eσt [2α cos(ωt) − 2β sin(ωt)]
>> twoalpha = 2*real(N1)

twoalpha =

0.7500

>> twobeta = 2*imag(N1)

twobeta =

-0.4833

>> sigma = real(la(1,1))

sigma =

-0.3009

>> omega = imag(la(1,1))

omega =

0.4670
8
Az ugrásválasz formulája és ábrázolása
g(t) = ε(t) e−0,3009t [0,7500 cos(0,4670t) + 0,4833 sin(0,4670t)] − 0,7500


>> tau = -1/sigma; % idoallando


>> t = linspace(0, 5*tau, 1000); % idoskala 0-tol az otszoros idoallandoig
>> g = @(t) exp(sigma*t).*(twoalpha*cos(omega*t)-twobeta*sin(omega*t)) + N3;
>> plot(t,g(t));
>> grid on;
>> xlabel('t (micro s)');
>> ylabel('g(t)');
>> print(gcf, '-dpdf', 'ugras.pdf');
0

-0.1

-0.2

-0.3

-0.4
g(t)

-0.5

-0.6

-0.7

-0.8

-0.9
0 2 4 6 8 10 12 14 16 18
t (micro s)

9
Impulzusválasz számítása összetev®kre bontással

x0 = Ax + Bu

u(t) = δ(t) ⇒ x(+0) = B, y(t) = h(t) =?
y = CT x + Du

Csak a szabad összetev® nemzérus1 :

x(t) = xf (t) = K1 m1 eλ1 t + K2 m2 eλ2 t , Am = λm

Gerjesztett összetev®:

u(t) = 0 : t > 0 ⇒ xg (t) = 0

Kezdeti feltétel:

x(+0) = xf (+0) = B ⇒ K1 , K2 = . . .

1 K és K természetesen nem lesz azonos az ugrásválaszban szerepl® együtthatókkal


1 2
10
A kezdeti feltétel érvényesítése

(Feltesszük, hogy az el®z® számításokból M és la rendelkezésre áll.)

x(+0) = xf (+0) = B

xf (+0) = K1 m1 eλ1 0 + K2 m2 eλ2 0 = K1 m1 + K2 m2 = M K = B ⇒ K = M −1 B

>> K = inv(M)*B

K =

0.0000 + 0.2612i
0.0000 - 0.2612i

11
Az impulzusválasz felírása

h(t) = CT x(t) + Du(t) = CT xf (t) + Dδ(t)


 

= ε(t) K1 CT m1 eλ1 t + K2 CT m2 eλ2 t  + Dδ(t)


 
| {z } | {z }
N1 N2

A konstansok számítása:

>> N1 = K(1)*C*M(:,1)

N1 =

0.0000 + 0.2478i

>> N2 = K(2)*C*M(:,2)

N2 =

0.0000 - 0.2478i

12
A komplex konjugált tagok összegének felírása valós függvényként

N1 eλ1 t + N2 eλ2 t = (α + jβ)e(σ+jω)t + (α − jβ)e(σ−jω)t = eσt [2α cos(ωt) − 2β sin(ωt)]

>> twoalpha = 2*real(N1)

twoalpha =

>> twobeta = 2*imag(N1)

twobeta =

0.4957

sigma és omega ugyanaz, mint az ugrásválasz esetén

13
Az impulzusválasz formulája és ábrázolása
h(t) = ε(t) e−0,3009t (0 cos(0,4670t) − 0,4957 sin(0,4670t)) + 0δ(t)
 

>> h = @(t) exp(sigma*t).*(twoalpha*cos(omega*t)-twobeta*sin(omega*t));


>> plot(t,h(t));
>> grid on;
>> xlabel('t (micro s)');
>> ylabel('h(t) (1/micro s)');
>> print(gcf, '-dpdf', 'impulzus.pdf');
0.05

-0.05
h(t) (1/micro s)

-0.1

-0.15

-0.2

-0.25
0 2 4 6 8 10 12 14 16 18
t (micro s)

14

You might also like