Numerele Fibonacci (șirul Fibonacci) sunt numere naturale care fac parte din
următorul șir, în care fiecare număr este egal cu suma celor două de dinainte:
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, … Uneori, șirul este extins cu încă un
termen, la început: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …
F[0] = 0
F[1] = 1
F[2] = 1
F[3] = 2
F[4] = 3
F[5] = 5
F[6] = 8
F[7] = 13
F[8] = 21
F[9] = 34
F[10] = 55
F[11] = 89
F[12] = 144
F[13] = 233
F[14] = 377
F[15] = 610
F[16] = 987
F[17] = 1597
F[18] = 2584
F[19] = 4181
F[20] = 6765
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765
>> syms z
>> fib = z/(1-z-z^2)
fib =
-z/(z^2 + z - 1)
>> taylor (fib)
ans =
5*z^5 + 3*z^4 + 2*z^3 + z^2 + z
>> taylor (fib, z, 'order', 10)
ans =
34*z^9 + 21*z^8 + 13*z^7 + 8*z^6 + 5*z^5 + 3*z^4 + 2*z^3 + z^2 + z
Transformata Z identifică prezenţa unor oscilaţii
exponential crescătoare
sau exponemţial descrescătoare
într-un semnal numeric x[n]
Sunt două motive principale pentru a utiliza transformata Z:
-pentru a determina dacă sistemul numeric este stabil
-pentru a determina răspunsul în frecvenţă aunui system numeric
https://www.youtube.com/watch?v=B4IyRw1zvvA
Transformata Z realizează o transformare a unui
semnal discret din domeniul timp, care este un șir de
numere reale, într-o reprezentare complexă în domeniul
frecvență, numit “domeniul z”.
Transformata Z a fost introdusă, sub acest nume,
de E. I. Jury în 1958 în Sampled-Data Control Systems.
Ideea de la baza transformatei Z era anterior cunoscută
sub numele de "metoda funcției generatoare".
Transformata Z este utilizată în cazul semnalelor
discrete în timp, în acelaşi mod în care transformatele
Laplace şi Fourier sunt utilizate în cazul semnalelor
continui.
Transformata Z descrie în domeniul frevenţă
semnalele discrete în timp şi formează baza pentru
proiectarea sistemelor digitale, cum ar fi, de exemplu,
filtrele digitale.
Ca şi în cazul transformatei Laplace, există
-o transformată Z unilaterală şi
-o transformată Z bilaterală.
PRELIMINARII
Un semnal discret este definit
pe mulţimea numerelor întregi Z → R
Mulţimea Z are semnificaţia de timp (discret)
Notăm cu x[n] valoarea semnalului la momentul n;
numim x[n] şi eşantionul n al semnalului
Printr-un abuz curent de notaţie, vom scrie şi că
întreg semnalul este x[n],
subînţelegând prin aceasta că n Z este o variabilă liberă.
Exemplu de semnal discret
Semnalul Impuls unitate discret
Semnalul discretTreaptă unitate
ELEMENTE (elementare!)
de MATLAB
>> a = [1 2 3 4 5 6 7 8 9 10]
a =
1 2 3 4 5 6 7 8 9 10
>> a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a =
1 2 3 4 5 6 7 8 9 10
>> a = [1 : 1 : 10]
a =
1 2 3 4 5 6 7 8 9 10
>> a = linspace(1, 10, 10)
a =
1 2 3 4 5 6 7 8 9 10
>> a = [1 : 1.5 : 7]
a =
1.0000 2.5000 4.0000 5.5000 7.0000
>> a = linspace(1, 7, 5)
a =
1.0000 2.5000 4.0000 5.5000 7.0000
>> a = linspace(1, 7, 4)
a =
1 3 5 7
>> a = [1; 2; 3; 4]
a =
1
2
3
4
>> a = [1 2 3 4; 5 6 7 8]
a =
1 2 3 4
5 6 7 8
>> a = [1, 2, 3, 4; 5, 6, 7, 8]
a =
1 2 3 4
5 6 7 8
>> a = [3 4 2 1 4; 1 2 1 3 5; 2 3 5 1 1]
a =
3 4 2 1 4
1 2 1 3 5
2 3 5 1 1
>> b = [3 4; 1 1; 4 2; 3 1; 1 4]
b =
3 4
1 1
4 2
3 1
1 4
>> c = a * b
c =
28 37
23 31
33 26
>> a = [2 3; 2 4; 1 1; 3 2]
a =
2 3
2 4
1 1
3 2
>> b = [3 2 4; 2 1 5]
b =
3 2 4
2 1 5
>> c = a * b
c =
12 7 23
14 8 28
5 3 9
13 8 22
>> a = [2 : 0.5 : 6]
a=
2.0000 2.5000 3.0000 3.5000 4.0000 4.5000 5.0000 5.5000 6.0000
>> b = [5 : 2 : 21]
b =
5 7 9 11 13 15 17 19 21
>> z = a + b
z =
7.0000 9.5000 12.0000 14.5000 17.0000 19.5000 22.0000 24.5000 27.0000
>> z = a + 100
z =
102.0000 102.5000 103.0000 103.5000 104.0000 104.5000 105.0000 105.5000 106.0000
>> t = a * b
Error using *
Inner matrix dimensions must agree.
>> t = a .* b
t =
10.0000 17.5000 27.0000 38.5000 52.0000 67.5000 85.0000 104.5000 126.0000
>> a = [1 : 0.25 : 3]
a =
1.0000 1.2500 1.5000 1.7500 2.0000 2.2500 2.5000 2.7500 3.0000
>> b = [1 : 0.5 : 5]
b =
1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000 4.5000 5.0000
>> v = a.^b
v =
1.0000 1.3975 2.2500 4.0513 8.0000 17.0859 39.0625 94.8412 243.0000
>> syms x
>> y = (x - 1)*(x - 2)*(x - 3)
y =
(x - 1)*(x - 2)*(x - 3)
>> z = collect(y)
z =
x^3 - 6*x^2 + 11*x 6
>> t = factor(z)
t =
[ x - 3, x - 1, x - 2]
>> y = (x - 1) * (x^2 + x + 1) * (x - 2) * (x - 3)
y =
(x - 1)*(x - 2)*(x - 3)*(x^2 + x + 1)
>> z = collect(y)
z =
x^5 - 5*x^4 + 6*x^3 - x^2 + 5*x - 6
>> t = factor(z)
t =
[ x - 1, x - 2, x - 3, x^2 + x + 1]
>> y = (-5:0.1:4).^3;
>> plot(y)
>> length(y)
ans =
91
>> x = -5:0.1:4;
>> y = (x).^3;
>> plot(x,y)
>> xlabel('x');
>> ylabel('y');
>> title('Graficul functiei y = x^3');
>> grid;
>> x1 = 0:.1:10;
>> y1 = cos(x1);
>> x2 = 1.5*x1;
>> y2 = 2*cos(x2);
>> x3 = 2*x1;
>> y3 = 3*sin(x3);
>> plot(x1,y1,x2,y2,x3,y3)
Specifier Line Style
-
Solid line (default)
--
Dashed line
:
Dotted line
-.
Dash
-dot line
Specifier Marker
o
Circle
+
Plus sign
*
Asterisk
.
Point
x
Cross
s
Square
d
Diamond
^
Upward
-pointing triangle
v
Downward
-pointing triangle
>
Right
-pointing triangle
<
Left
-pointing triangle
p
Pentagram
h
Hexagram
Specifier Color
y
yellow
m
magenta
c
cyan
r
red
g
green
b
blue
w
white
k
black
>> x = -2:.1:2;
>> plot(x,sin(x),'-r');
>> hold on
>> plot(x,sin(x.^2),'--b');
>> plot(x,cos(x.^2),':k');
>> hold off
>> n = [-10:1:10]
>> imp_unit = [0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0]
>> plot(n,imp_unit)
>> stem(n,imp_unit)
>> tr_unit = [0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1]
>> plot(n,tr_unit)
>> stem(n,tr_unit)
>> w = pi/3
>> phi = 0
>> t = [-10:0.01:10]
>> sin_1 = sin(w*t)
>> plot(t,sin_1)
>> sin_real_1 = sin(w*n + phi)
>> plot(n,sin_real_1,t,sin_1)
>> plot(n,sin_real_1,t,sin_1)
>> stem(n,sin_real_1)
>> w = 1
>> sin_2 = sin(w*t);
>> plot(t,sin_2)
>> sin_real_2 = sin(w*n + phi);
>> plot(n,sin_real_2)
>> plot(n,sin_real_2,t,sin_2)
>> stem(n,sin_real_2)
>> j = sqrt(-1)
>> stem(n,sin_compl)
TRANSFORMATA Z
Transformata Z realizează o transformare a unui
semnal discret din domeniul timp, care este un șir de numere
reale, într-o reprezentare complexă în domeniul frecvență,
numit “domeniul z
Transformata Z a fost introdusă, sub acest nume, de E.
I. Jury în 1958 în Sampled-Data Control Systems. Ideea de la
baza transformatei Z era anterior cunoscută sub numele de
"metoda funcției generatoare“
Transformata Z este utilizată în cazul semnalelor
discrete în timp, în acelaşi mod în care transformatele Laplace
şi Fourier sunt utilizate în cazul semnalelor continui.
Transformata Z descriere în domeniul frevenţă semnalele
discrete în timp şi formează baza pentru proiectarea sistemelor
digitale, cum ar fi, de exemplu, filtrele digitale
DEFINIŢIE ŞI FORME SPECIALE
δ(t) 1 şi δ(t-T) e-sT
Transformata Z (TZ) este echivalenta Transformatei Laplace (TL)
în domeniul sistemelor discrete.
În domeniul sistemelor continui:
Sistem
continuu
h(t); H(s)
u(t)
U(s)
y(t)
Y(s)
Sistem
discret
h(n); H(z)
u(n)
U(z)
y(n)
Y(z)
În domeniul sistemelor discrete:
PROPRIETĂŢI ŞI TEOREME
LINIARITATEA
DEPLASAREA ÎN DOMENIUL TIMPULUI a semnalului f[n] u0[n]
DEPLASAREA LA DREAPTA ÎN DOMENIUL TIMPULUI
DEPLASAREA LA STANGA ÎN DOMENIUL TIMPULUI
ÎNMULŢIREA CU anÎN DOMENIUL TIMPULUI
ÎNMULŢIREA CU e-naT ÎN DOMENIUL TIMPULUI
ÎNMULŢIREA CU nŞI n2ÎN DOMENIUL TIMPULUI
SUMAREA ÎN DOMENIUL TIMPULUI
Notăm
Demonstraţie
CONVOLUŢIA ÎN DOMENIUL TIMPULUI
CONVOLUŢIA ÎN DOMENIUL FRECVENŢĂ
TEOREMA VALORII FINALE
TEOREMA VALORII INIŢIALE
Proprietatea/Teorema
Domeniul timp
Liniaritatea
Deplasarea lui f[n]u
n[n]
Deplasarea la dreapta
Deplasarea la stânga
Înmulţirea
cu an
Înmulţirea cu e
-naT
Înmulţirea cu n
Înmulţirea cu n
2
Sumarea în domeniul timp
Convoluţia în domeniul timp
Convoluţia în frecvenţă
Teorema valorii iniţiale
Teorema valorii finale
TRANSFORMATA Z A UNEI SERII GEOMETRICE
Trunchiem la primii k termeni
Înmulţim în ambele părţi cu az-1
TRANSFORMATA Z A FUNCŢIEI TREAPTĂ UNITATE
deoarece
pentru
TRANSFORMATA Z A UNEI SECVENŢE EXPONENŢIALE
TRANSFORMATA Z A FUNCŢIILOR COS ŞI SIN
Pentru a defini regiunile de convergenţă şi divergenţă, expimăn numărătorul ca
Sunt doi poli
În teoria funcţiilor de variabilă complexă este demonstrat că, dacă F(z) este o funcţie
raţională proprie, toţi polii sunt situaţi în afara regiunii de convergenţă, în timp ce
zerourile se pot găsi oriunde în planul complex
Transformata Z a funcţiei rampă unitară discre
Putem folosi funcţia treaptă unitară discre
Derivând în ambele părţi
Înmulţind cu z
CACULUL TRANSFORMATEI Z
UTILIZÂND INTEGRALA DE CONTUR
TRANSFORMAREA
DINTRE DOMENIILE sŞI z
Este demonstrat în teoria variabilelor complexe că orice funcţie de variabilă complexă
transformă un plan xy într-un alt plan uv
Prin substituţie obţinem
TRANSFORMATA Z INVERSĂ
DEZVOLTAREA PARŢIALĂ ÎN FRACŢII
Exemplul 1
Exemplul 2
Exemplul 3
>> Dz=(z-0.5)*(z-0.75)*(z-1)
>> collect(Dz)
>> num=[0 1 0 0];
>> den=[1 -9/4 13/8 -3/8];
>> fprintf(' \n');
>> [num,den]=residue(num,den);
>> fprintf('r1 = %4.2f \t', num(1));
>> fprintf('p1 = %4.2f \t', den(1));
>> fprintf('r2 = %4.2f \t', num(2));
>> fprintf('p2 = %4.2f \t', den(2));
>> fprintf('r3 = %4.2f \t', num(3));
>> fprintf('p3 = %4.2f \t', den(3));
>> syms n z
>> fn=2*(0.5)^n-9*(0.75)^n+8;
>> Fz=ztrans(fn,n,z)
>> iztrans(Fz)
0
1
2
3
4
5
6
7
8
9
12345678910 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Chart Title
Exemplul 4
INTEGRALA INVER
Exemplul ?
syms z n; Fz=(z^3+2*z^2+1)/(z*(z-1)*(z-0.75)); iztrans(Fz)
ans =
4/3*charfcn[1](n)+28/9*charfcn[0](n)+16-163/9*(3/4)^n
n f[n]
0 1.000
1 3.750
2 5.813
3 8.359
4 10.270
5 11.702
6 12.777
7 13.582
8 14.187
9 14.640
10 14.980
11 15.235
12 15.426
13 15.570
Exemplul ?
ÎMPĂRŢIREA LUNGĂ A
POLINOAMELOR
syms z; den=collect((z-0.25)*(z-0.5)*(z-0.75))
den =
z^3-3/2*z^2+11/16*z-3/32
num=[1 1 2 3]; den=[1 -3/2 11/16 -3/32];
fn=dimpulse(num,den,15),...
dimpulse(num,den,16)
fn =
1.0000
2.5000
5.0625
8.9688
10.2070
9.6191
8.2522
6.7220
5.3115
4.1195
3.1577
2.4024
1.8189
1.3727
1.0338
Metoda Avantaje Dezavantaje
Descompunerea în fracţii
Trebuie ca F(z) să fie o
funcţie raţională proprie
Integrala inversă
Necesită cunoştinţe despre
teorema reziduurilor
Împărţirea lungă a
polinoamelor
Trebuie
ca F(z) fie o
funcţie
raţională proprie
Împărţirea
poate nu se
termine
niciodată
FUNCŢIA DE TRANSFER
A SISTEMELOR DISCRETE
num=[0 1 1]; den=[1 -0.5 0.125]; [num,den]=residue(num,den);fprintf(' \n');...
disp('r1 = '); disp(num(1)); disp('p1 = '); disp(den(1));...
disp('r2 = '); disp(num(2)); disp('p2 = '); disp(den(2))
r1 =
0.5000 - 2.5000i
p1 =
0.2500 + 0.2500i
r2 =
0.5000 + 2.5000i
p2 =
0.2500 - 0.2500i
syms z; denom=(z^2-0.5*z+0.125)*(z-1);
collect(denom)
ans =
z^3-3/2*z^2+5/8*z-1/8
num=[0 1 1 0]; den=[1 -3/2 5/8 -1/8]; [num,den]=residue(num,den); fprintf(' \n');...
disp('r1 = '); disp(num(1)); disp('p1 = '); disp(den(1));...
disp('r2 = '); disp(num(2)); disp('p2 = '); disp(den(2));...
disp('r3 = '); disp(num(3)); disp('p3 = '); disp(den(3))
r1 =
3.2000
p1 =
1.0000
r2 =
p2 =
0.2500 + 0.2500i
r3 =
-1.1000 - 0.3000i
p3 =
0.2500 - 0.2500i
ECUAŢIILE DE STARE
PENTRU SISTEMELE DISCRETE
EXEMPUL ?
Adisc=[0 1; -3 -4]; bdisc=[0 1]'; [Adisc,bdisc]=c2d(Adisc,bdisc,0.1)
Adisc =
0.9868 0.0820
-0.2460 0.6588
bdisc =
0.0044
0.0820