Sunteți pe pagina 1din 41

Universitatea „Aurel Vlaicu” din Arad

Facultatea de Inginerie

Marius M. Bălaş

Sisteme cu eşantionare

Curs

- 2012 -

1
1. Introducere în domeniul sistemelor în timp discrete

1.1. Semnale discrete


Dacă admitem Universul în contextul triadei materie-energie-informaţie, ajungem la
concluzia că scopul primordial al acţiunii omului ar trebui să fie înţelegerea şi controlul
informaţiei, cea prin care se poate în principiu dirija desfăşurarea fenomenelor fizice –
transformările, acumulările şi transferurile de materie şi energie.
Informaţia este un concept extrem de complex şi de abstract, a cărui tratare nu consti -
tuie obiectul acestui curs. Este însă uşor de înţeles că informaţia se poate manifesta
material prin semnale, motiv pentru care unul dintre principalele noastre obiective este
studiul semnalelor şi a tehnicilor prin care le putem genera, prelucra şi transmite.
Termenul de semnal se atribuie modelelor matematice care descriu variaţiile tempo-
rale sau variaţiile temporale şi spaţiale ale caracteristicilor putătoare de informaţie
ale mărimilor fizice, adică unor funcţii de timp sau unor funcţii de timp şi de una sau
mai multe coordonate spaţiale [Drag09]. Mai concis, un semnal este variaţia în timp,
purtătoare de informaţie, a unei mărimi fizice, capabilă de a se propaga într-un anumit
mediu. Pentru a putea fi utilizată informaţia generată în mod natural sau artificial, de
către un generator, trebuie de regulă transmisă printr-un canal de transmisie înspre un
receptor, unde urmează să fie utilizată.
Semnalele se clasifică de regulă în funcţie de natura fizică a canalului de transmisie, la
care trebuie să fie adaptate, bineînţeles şi generatorul şi receptorul. Cel mei adesea în
automatică şi informatică semnalele sunt de natură electrică, dar în echipamentele mo-
derne sunt deseori utilizate şi semnale de natură optică şi electromagnetică. Alte tipuri
de semnale care se întâlnesc frecvent în sistemele tehnice sunt cele mecanice şi acusti-
ce, dar trebuie să ţinem cont că informaţia este o componentă fundamentală a Univer-
sului, astfel că semnalele caracterizează nu doar sistemele artificiale ci şi pe cele natu-
rale, putând vorbi de semnale biochimice, bioelectrice, comportamentale, etc. Pe lângă
mărimile fizice fundamentale, cum ar fi în cazul semnalelor electrice tensiunea, curen-
tul şi timpul, se poate apela la mărimi derivate, ca puterea, frecvenţa sau defazajul şi
mai ales, cum va fi cazul în acest curs, se poate intra în domeniul semnalelor electrice
codificate. Deseori în loc de semnal se foloseşte termenul mărime, având în vedere le-
gătura puternică dintre cele două noţiuni.
Noţiunea fundamentală de semnal contribuie la definirea sistemelor dinamice, care fac
obiectul Teoriei Sistemelor, prin care putem descrie matematic structura şi desfăşurarea
în timp a fenomenelor fizice naturale sau artificiale. În definirea sistemelor dinamice
folosim mărimile/semnalele de intrare, stare şi ieşire şi de legăturile lor funcţionale.
Modelarea funcţională a variaţiilor în funcţie de timp sau de spaţiu prin care se mani -
festă informaţia unui semnal generic multidimensional f este descrisă în continuare.

2
f:TxSM
(1)
unde T este mulţimea în care ia valori timpul, S este mulţimea în care ia valori spaţiul,
iar M este mulţimea în care ia valori semnalul. În funcţie de continuitatea mulţimilor T
şi M se operează principala clasificare a semnalelor, prezentată în tabelul următor
[Drag09].
Tabelul 1. Clasificarea semnalelor
T (timp)
continuu discret
M (amplitudine)
continuu semnal analogic SA semnal eşantionat SE

discret semnal în timp continuu cuan- semnal digital (nu-


tizat în amplitudine STCCA meric) SN

Semnalele analogice SA (vezi Fig. 1.1) sunt definite pe domenii continue de timp şi de
amplitudine, deci pot fi asociate cu mulţimea numerelor reale R. Cele mai multe dintre
mărimile fizice macroscopice care ne înconjoară sunt sau pot fi considerate cu bună
aproximare analogice (poziţie, viteză, acceleraţie, temperatură, presiune, curent, etc.) la
fel ca şi însuşi timpul, motiv pentru care SA stau la baza modului nostru de reprezen-
tare a mediului înconjurător, inclusiv a sistemelor tehnice care fac obiectul automaticii.
Toate celelalte trei categorii de semnale se caracterizează prin cuantizarea mulţimilor T
şi/sau M. Cuantizarea este procesul de reprezentare a unei variabile printr-o mulţime
de valori discrete.

3
Fig. 1.1. Semnal analogic

Fig. 1.2. Semnal eşantionat rezultat dintr-unul analogic


Atunci când cuantizarea se aplică timpului vorbim de eşantionare. Eşantionarea unui
semnal continuu în timp constă prin urmare din înlocuirea acestuia printr-un şir de va-
lori asociate cu un şir de momente de timp discrete (cuantizate). Simbolizarea eşantio-
nării se face prin paranteze pătrate, aşa cum se observă în relaţia (2).
Un SE, marcat în Fig. 1.2 prin cerculeţe, se obţine prelevând eşantioane (probe) ale
amplitudinii semnalului analogic, în momentele discrete de timp t1, t2, … tk. El este
prin urmare o aproximare a semnalului analogic de origine. Studiul SE şi a sistemelor
asociate constituie principalul obiect al acestui curs.
SE bilateral (definit şi pentru momente anterioare t=0) este definit matematic astfel:
{fe[k]}kN cu fe[k] = f(tk), kN (2)
Când semnalul este unilateral (avem date doar începând din momentul t=0) mulţimea
numerelor naturale N este înlocuită de cea a numerelor întregi Z.
Cel mai adesea eşantionarea se face uniform, la intervale de timp egale cu perioada de
eşantionare Te.
{fe[k]}kN cu fe[k] = f(tk) = f(k·Te) , kN (3)
Necesitatea eşantionărilor neuniforme, la care intervalele de timp dintre eşantioane sunt
neregulate, poate să apară atunci când se pun probleme de optimizare. De exemplu, în
cazul înregistrării datelor care caracterizează funcţionarea unui sistem de reglare, pu-
tem să ne punem problema reducerii volumului de date înregistrate, fără însă a pierde

4
informaţiile care ne interesează. Pentru aceasta putem prelungi intervalul de timp
dintre eşantionări, atunci când parametrii sunt staţionari şi nu aduc informaţii utile.
Inversa perioadei de eşantionare este frecvenţa de eşantionare: fe = 1/Te. Evident, preci-
zia aproximării prin eşantionare creşte odată cu creşterea frecvenţei fe.
La eşantionarea uniformă pe lângă semnificaţia de număr al eşantioanelor, k o primeşte
şi pe aceea de număr al perioadelor: k = tk/Te.
Operaţia de eşantionare este naturală, fiind necesară atunci când volumul de date care
trebuiesc prelucrate în timp real este foarte mare. O astfel de situaţie apare de exemplu
la prelucrarea informaţiilor vizuale oferite de către ochi creierului. Deoarece cantitatea
de informaţie ajunsă la nivelul retinei este uriaşă, creierul aplică o aproximare a sa prin
eşantionare. Pe exploatarea acestei funcţionări eşantionate a vederii umane se obţine
binecunoscuta iluzie optică a imaginilor în mişcare (cinematografie, televiziune, etc.)
Eşantionarea în sine însă nu rezolvă problemele de prelucrare a informaţiei, nici în ca-
zul sistemelor biologice nici în cazul celor digitale. Pentru a oferi timpul necesar
procesărilor de date (cum ar fi de exemplu conversia analog-digitală CAD),
eşantionarea trebuie dublată de reţinere (memorare). Elementele de eşantionare-
reţinere (sample and hold în engleză) au rolul de a reţine valoarea unui eşantion k până
la iniţierea eşantionării următoare k+1, după care valoarea reţinută este reactualizată.
fer[t] = fe[k] , t  [tk, tk+1)  R (4)
Deşi prelucrarea semnalului eşantionat şi reţinut fer prin conversie analog-digitală CAD
şi prin alte procesări ulterioare (interpolări, rotunjiri, conversie digital-analogică CDA,
etc.) mai apar erori, cu acest model se operează frecvent în conducerea numerică a pro -
ceselor datorită simplităţii sale relative şi a bunelor rezultate aplicative.

5
Fig. 1.3. Semnal eşantionat şi reţinut

Fig. 1.4. Semnal digital


Semnalele prezentate până acum sunt discrete numai în domeniul timp T. Atunci când
discretizarea se operează şi asupra valorilor semnalului M, de regulă prin CAD, se ob-
ţin semnalele numerice SN, cele cu care operează propriu-zis sistemele numerice. În

6
Fig. 1.4 prin triunghiuri este reprezentat un semnalul numeric fd obţinut din semnalul
eşantionat fe printr-o rotunjire în jos.
fd[k] = { p·pZ , p·  fe[k] < (p+1)· } (5)
Cu cât unitatea de cuantizare  are o valoare mai mică raportată la domeniul de defini-
ţie al semnalului, aproximarea este mai bună. După cum se poate observa din Fig. 4
rotunjirea în jos este un procedeu simplu, cu erori foarte mici în unele cazuri (t3, t4) dar
care produce erori mari în altele (t4). Rotunjirea în sus, în care fd[k] = p+1 are aceeaşi
comportare.
Dacă valoarea cuantei este implicită sau domeniul M este normalizat, aşa cum este de
exemplu în cazul semnalelor provenite de la senzorii de imagine, modelul (5) se poate
scrie mai simplu:
fd[k] = { ppZ , p·  fe[k] < (p+1)· } (6)
Problema preciziei aproximării prin digitizare era o problemă centrală în perioada de
pionierat a sistemelor digitale, dar odată cu creşterea capacităţii sistemelor digitale de
la 8 biţi (unde pasul de digitizare reprezintă 0,39% din domeniu), la 16, 32 sau chiar
mai mulţi biţi, această problemă şi-a pierdut mult din relevanţă.

7
Fig. 1.5. Semnal timp continuu cuantizat în amplitudine
Semnalul în timp continuu cuantizat în amplitudine STCCA îşi modifică valoarea la
intervale discrete de timp şi caracterizează ieşirea convertoarelor digital-analogice la
intrarea cărora se aplică semnale numerice. Modelul său analitic este:
f[t] =  · fd[k] , k = max { pNp·T  t } (7)
Semnalele descrise în cele de mai sus se regăsesc în funcţionarea unui sistem digital, a
cărui arhitectură generică este prezentată în Fig. 1.6. În cazul unui sistem digital de
conducere a proceselor procesarea digitală fd fd* constă din aplicarea algoritmului
care implementează legea de conducere,

Eşantionare/ CAN Procesor numeric CNA


f fer fd de semnal fd* f*
Reţinere

SA SE SN STCCA

Intrare Ieşire
Analogică analogică

Fig. 1.6. Principalele operaţiuni de procesare a semnalelor într-un sistem digital

8
1.2. Transformările Laplace şi z
Aşa cum se cunoaşte din Teoria Sistemelor modelarea matematică a sistemelor liniare
în timp continuu se realizează prin ecuaţii sau sisteme de ecuaţii integro-diferenţiale.
Aceste ecuaţii pot fi extinse, pe porţiuni, şi asupra sistemelor neliniare. Pentru evitarea
dificultăţilor ridicate de rezolvarea directă a acestor ecuaţii se recurge de regulă fie la
integrarea numerică a ecuaţiilor cu ajutorul calculatorului (simulare) fie la metode ope -
raţionale. Calculul operaţional permite transformarea sistemelor de ecuaţii integro-dife-
renţiale în sisteme de ecuaţii algebrice. Cel mai des aplicat operator este operatorul
Laplace. Reamintim că imaginea Laplace a unei funcţii origine de timp f(t), notată
F(s)=L[f(t], este o funcţie complexă de variabilă s=+j·, unde  [rad/s] este pulsaţia:

L[f(t] =  f(t)  e st  dt (8)


Revenirea din domeniul operaţional complex se face cu transformata Laplace inversă:


  j
1
f(t) = L [F(s)] = 2  j
-1   F(s)  e st  ds (9)
  j

Dificultăţile ridicate de manipularea operatorului Laplace sunt evitate prin apelarea la


tabele de corespondenţă original-imagine Laplace în care sunt catalogate majoritatea
funcţiilor uzuale.
Instrumentul cheie introdus cu ajutorul calculului operaţional este funcţia de transfer
FT. Să considerăm cazul sistemelor cu o singură intrare u(t) şi o singură ieşire y(t), li-
niare, cu timp continuu, invariante în timp, modelabile prin ecuaţii de forma:
n m
d (i) y d (j) u
 ai  dt i
 bj  dt j
(10)
i 0 j0

După aplicarea operatorul Laplace acestei ecuaţii rezultă:


 n   m 
  Y(s)   j

  ai si
  b j  s   U(s)  Q 0 (s) (11)
 i 0   j0 
sau:
Q(s) · Y(s) = R(s) · U(s) + Q0(s) (12)
unde Q(s) şi R(s) sunt polinoame iar Q0(s) un polinom determinat atât de parametri sis-
temului cât şi de condiţiile iniţiale. Pentru condiţii iniţiale nule Q0(s) = 0.
FT a unui sistem liniar se defineşte ca raportul dintre transformatele Laplace ale varia-
bilelor de ieşire şi de intrare, pentru condiţii iniţiale nule:

9
m
bj  sj
Y(s) R(s) j0
H(s)   
U(s) Q(s) n
 ai  si
i 0
(13)
Problema care se pune în cazul cursului nostru este extinderea metodologiei calculului
operaţional Laplace (funcţiile de transfer) şi asupra sistemelor cu eşantionare. Proble-
ma a fost rezolvată în anul 1952 de profesorul John Ralph Ragazzini (Columbia Uni-
versity şi de studentul său Lotfi Asker Zadeh, prin introducerea transformatei z.
Transformata z este echivalenta în timp discret a transformatei Laplace. Ea transformă
un semnal în timp discret f(tk), care este de fapt o secvenţă de numere reale sau com-
plexe care se poate nota simplificat f[k], într-o funcţie complexă în domeniul frecvenţă.
Să considerăm un şir bilateral de numere complexe {f[k]}kZ, o variabilă complexă z şi
suma:

 f, Z   f(t k )  z -t k
(14)
k  

Dacă suma este convergentă pentru anumite valori ale lui z, cuprinse în domeniul de
convergenţă DCf (region of convergence ROC în engleză), atunci rezultatul se numeşte
transformata z a şirului {f[k]}kZ şi se notează cu F(z) sau Z{f[k]}:

F(z)  Z {f(t k )}  Z {f[k]}   f, Z   f[k] z -k
k  
(15)
Revenirea din domeniul complex se face cu transformata z inversă, care este definită
prin integrala pe un contur  care înconjoară originea planului complex „z” şi se situ-
ează în interiorul domeniului DCf:
1
f[k]  Z1[F(z)]   F(z)  z t -1  dz
2π  j  (16)

Pentru corespondenţele (15) şi (16) se mai foloseşte simbolizarea


F(z) {f[k]}kZ , {f[k]}kZ F(z) (17)
În cazul şirurilor unilaterale se defineşte transformata z unilaterală:

F(z)  Z{f(t k )}  Z{f[k]}   f, Z   f[k]  z -k (18)
k 0

10
Pentru a înţelege mai uşor modul de definire a transformatei z să considerăm
cazul mai simplu al eşantionării uniforme şi să rescriem şirul {f[k]} utilizând funcţii de
tip impuls Dirac. Pentru t = T impulsul Dirac se notează (t – T). Notând cu f*(t)
funcţia eşantionată care a generat şirul {f[k]}, obţinem

f*(t) = f(0)·(t) + f(T)·(t-T) + f(2T)·(t-2T) + … =  f(kT)  δ(t  kT)
k 0
(19)
care prin aplicarea transformatei Laplace devine
 
F*(s) = L[f*(t)] =  f(kT)  L[δ(t  kT)] =  f(kT)  e  kTs
k 0 k 0
(20)
Ţinând seama că t = kT, această expresie este identică cu definiţia (15) a transformatei
z, după introducerea notaţiei
z  esT (21)
Exemplul 1: Să se calculeze Z{(kT)}. Eşantionarea funcţiei treaptă unitară este sim-
plă, deoarece această funcţie are valoarea 1 pentru orice k  0. Prin urmare
 1 z
 k  1  z 1  z  2  ... 
F(z) =  1  z  (22)
k 0 1  z 1 z 1

Domeniul de convergenţă este definit pentru z 1 .


Exemplul 2: Să se calculeze Z{kT}, respectiv transformata z a funcţiei rampă f(t)= t.
 T Tz
k
F(z) =  kT  z  z 1  2  z  2  ...   (23)
1 2
k 0 z  (1  z ) (z  1) 2

Domeniul de convergenţă este definit pentru z 1 .


În Tabelul 2 se prezintă câteva transformate z utile în aplicaţii. Modul de calcul este
exemplificat pentru prima linie a tabelului.

 f, Z   a t   (t - k)  k 
lim a  z
k  a k 1  z k 1  ...  a n  z n  
t   n 

 
= a k  z k  lim 1  a  z 1  ...  a n-k  z (n-k)  lim
1  (az 1 )n k 1
1  az 1
(24)
n n 

Condiţia de existenţă a limitei este az -1  1 sau z a .

11
Tabel 2. Transformate z bilaterale şi unilaterale [Drag04]

 este semnalul treaptă unitară (funcţia Heaviside).

12
Calculând limita se obţine
1 z 1-k
f(z)  a k  z k   ak  (25)
1  az 1 z a

Se pot face unele observaţii [Drag04]:


- Situaţiile din liniile 1* şi 2* se obţin din cele din liniile 1 şi 2, dacă a = eah.
- Situaţiile din liniile 1** şi 2** se obţin din cele din liniile 1 şi 2 dacă a = 1 sau din
cele din liniile 1* şi 2* dacă a = 0.
- Dacă în situaţia 1** considerăm k=0 se obţin şiruri treaptă unitară cu transformatele
(z) date de relaţia (22).
- Dacă în situaţia 2** considerăm k=0 se obţine şirul impuls unitar cu (z)=1.

1.3. Proprietăţi ale transformatei z


Cu ,  C şi m N formulăm principalele proprietăţi ale transformatei z [Drag04]:

liniaritatea:
{(f1[k]} + {(f2[k]} F1(z) + F2(z) (26)

translatarea şirului original la dreapta cu n paşi
m
{(f[k-m]} kN z-m · [F(z) +  i 1 f[-i] · zi] (27)

translatarea şirului original la stânga cu m paşi.
m -1
{(f[k+m]} kN zm · [F(z) - i 0 f[i] · z-i] (28)

În particular:
Z(f(k + 1)) = z · F(z) – z · f(0),
Z(f(k + 2)) = z2 · F(z) – z2 · f(0) - z · f(1) şi
Z(f(k + 3)) = z3 · F(z) – z3 · f(0) – z2 · f(1) - z · f(2)

teorema valorii iniţiale pentru şiruri unilaterale
lim t0 f*(t) = lim z F(z) (29)

– teorema valorii finale
z 1
lim t f*(t) = lim z1 · F(z) (30)
z

amortizarea cu funcţia  k

13
z
{ k · f[-k]} kZ = F( ) (31)
α

inversarea timpului
{(f[-k]} kZ F(z-1) (32)

multiplicare cu rampă sau cu rampă modulată exponenţial (derivarea imaginii)
dF(z)
{k · (f[k]} kZ -z · (33)
dz
respectiv
d   z 
{k ·  k · (f[k]} kZ -z ·  F   (34)
dz   α  

integrarea imaginii unui şir unilateral

f[k] F λ 
{(f[0], { } kZ }  λ
 dλ
k z
(35)

diferenţa de ordin întâi şi de ordin m a şirurilor bilaterale
{(f[k]} kZ (z -1) · F(z) (36)
Respectiv
{ m(f[k]} kZ (z -1)m · F(z) (37)

diferenţa de ordin întâi şi de ordin m a şirurilor unilaterale
{(f[k]} kZ (z -1) · F(z) - z · f[0] (38)
Respectiv
m -1
{ m(f[k]} kZ (z -1)m · F(z) - z · i 0 (z -1)m-i+1 ·  i f[0](39)

şirul sumelor unui şir bilateral sau unilateral
F(z)
{ k
i  
f[i] } (40)
1 - z -1
Respectiv
F(z)
{ k
i 0
f[i] } (41)
1 - z -1
1.4. Tabele de transformare Laplace - z

14
În tabelul următor sunt selectate câteva dintre cele mai frecvente transformări funcţie
original (de timp) ↔ transformata Laplace ↔ transformata z [Drag04]:
Tabel 3. Transformări Laplace - z

Funcţie original (t Transformata Transformata z


0) Laplace

Funcţia Dirac (t) 1 1

Treaptă unitară (t) 1 z


s z -1
Rampă t 1 Tz
s2  z - 1 2
Parabolă t2 2 T  z   z  1
s3  z - 1 3
at 1 z
s  ln(a) z - eT
tk k! k  z 
k 1 lim ( 1)k   
s α 0 α  z  e αT 
k

e -at 1 z
sa z  e aT
t · e-at 1 T  z  e aT
 s  a 2
z  eaT 2
1 - e-at a 
z  1 - e aT 
s   s  a  z  1  z  e  aT

Sinus amortizat ω z  e aTsin ωT 


e-at · sin(·t)  s  a 2  ω2 z 2  2ze aTcos ωT  e  2aT
Cosinus amortizat sa z 2  ze aTcos ωT 
e-at · cos(·t)  s  a 2  ω2 z 2  2ze aTcos ωT   e  2aT

15
1.5. Analiza spectrală Fourier
Un instrument teoretic puternic de analiză în domeniul frecvenţei (analiza armonică)
este descompunerea în serie Fourier prin care semnalele periodice sunt descompuse în
serii de armonice având frecvenţele multiplii ai frecvenţei fundamentale =2/T co-
respunzătoare perioadei T. Multiplii frecvenţei fundamentale n sunt frecvenţele ar-
monicelor de ordin n.
Descompunerea în serie Fourier are mai multe forme, dintre care cea mai utilă tratării
matematice este forma complexă (ecuaţia de sinteză):
 jnt
s(t)   an  e (43)
n  -

cu coeficienţii (ecuaţia de analiză):

1 T/2 - jnΩn
an   s(t)  e
T  T/2
 dt (44)

Forma trigonometrică a dezvoltării în serie Fourier se obţine pornind de la formula lui


Euler e jx  cos x   j  sin x  :

s(t)  a 0    a n cos(nt)  b n sin(nt)
n 1
(45)
Coeficienţii se calculează astfel:

1 T/2 2 T/2
a0   s(t)dt ,
T  T/2
an   s(t)sin(nΩt)dt şi
T  T/2
2 T/2
bn   s(t)cos(nΩt)dt (46)
T  T/2

Coeficientul a0 este identic prin definiţie cu valoarea medie a semnalului. Pentru func-
ţiile pare coeficienţii bn sunt nuli iar pentru cele impare coeficienţii an sunt nuli.
În practica inginerească forma cea mai utilă a descompunerii în serie Fourier, cea care
poate fi evidenţiată prin măsurători directe asupra semnalelor, este forma armonică:

s(t)    An cos(nt -  ) (47)
n0

Parametrii formei armonice se exprimă în funcţie de coeficienţii formei trigonometrice:


a b n
A0  0 ; An  an 2  b n 2 şi Φn  arctg (48)
2 a n

16
Descompunerea în serie Fourier este exemplificată printr-o aplicaţie scrisă în Matlab.
Funcţia sefour(T,N) este editată în fişierul sefour.m. Argumentele sale sunt perioada T
şi numărul de armonici N.

17
1. function sefour(T, N)
2. %Decomposition of a periodic signal s(t) in Fourier series:
3. %T=period [sec], N=number of harmonics
4. W=2*pi/T; %the fundamental pulsation
5. t=0:T/1022:T+T/1022;
6. %s=sin(W*t); %sine signal
7. for j=1:1024
8. if j<128 %rectangular signal
9. s(j)=1;
10. else s(j)=0;
11. end
12. % s(j)=j/500-1; %saw teeth signal
13. end
14. val_mean=trapz(t,s)/T %mean value of s(t)
15. val_efec=sqrt(trapz(t,s.^2)/T) %effective value of s(t)
16. timp=t-T/2;
17. for i=1:N
18. a(i)=2*trapz(t,s.*cos(i*W*t))/T; % trigonometric coef.
19. b(i)=2*trapz(t,s.*sin(i*W*t))/T; % trigonometric coef.
20. A(i)=sqrt(a(i)^2+ b(i)^2); % the coef. of the harmonic form
21. F(i)=atan2(b(i),a(i)); % the phases of the harmonic form
22. f(i)=i/T;
23. end
24. r=val_mean;
25. for j=1:N
26. r=r+A(j)*cos(j*W*t-F(j));
27. end
28. axis([min(t) max(t) (min(r)-0.02*(max(r)-min(r))) (max(r)+0.02*(max(r)-min(r)))])
29. subplot(221); plot(t, s);
30. title('signal s(t)'); xlabel('t [sec]'); grid;
31. axis([min(t) max(t) (min(r)-0.02*(max(r)-min(r))) (max(r)+0.02*(max(r)-min(r)))])
32. subplot(222); stem(f, A);
33. title('harmonics A(n)*cos[n*2*pi*f*t-Fi(n)]'); xlabel('f [Hz]'); grid;
34. subplot(223); plot(t, r);
35. title('re-built signal (checking)'); xlabel('t [sec]'); grid;
36. axis([min(t) max(t) (min(r)-0.02*(max(r)-min(r))) (max(r)+0.02*(max(r)-min(r)))])
37. subplot(224); stem(f, F/(pi));
38. title('phases Fi(f)'); xlabel('f [Hz]'); ylabel('x pi [rad]'); grid;

18
Timpul este modelat printr-un vector cu dimensiunea 1024 (linia 5). Pentru integrare s-
a utilizat funcţia MATLAB trapz iar arctangenta a fost calculată prin atan2 (linia 21).
Semnalul s(t) este definit între liniile 6-13. Alegerea variantei de semnal dorite se ob-
ţine înlăturând caracterul % din faţa liniilor pe care dorim să le executăm şi adăugând
caracterul % în faţa liniilor pe care nu dorim să le executăm.
Rezultatele se prezintă prin patru diagrame, definite în secţiunea dintre liniile 28-38:
 semnalul s(t) definit pe perioada T;
 descompunerea semnalului în N armonici;
 faza fiecărei armonici;
 recompunerea semnalului s(t) prin însumarea celor N armonicilor calculate. Această
diagramă permite compararea semnalului recompus cu cel iniţial şi ajustarea numărului
de armonici necesare pentru fiecare aplicaţie.
Se mai calculează şi valorile medie şi efectivă ale semnalului (liniile 14 respectiv 15).
În exemplul următor, lansat prin comanda sefour(1, 50), este activ semnalul dreptun-
ghiular, cel care ne interesează în primul rând în cazul semnalelor eşantionate.
val_mean = 0.1238; val_efec = 0.3518;

signal s(t) harmonics A(n)*cos[n*2*pi*f*t-Fi(n)]


0.25
1
0.2
0.8

0.6 0.15

0.4 0.1

0.2
0.05
0
0
0 0.2 0.4 0.6 0.8 1 0 10 20 30 40 50
t [sec] f [Hz]

re-built signal (checking) phases Fi(f)


1
1
0.8
0.8
[rad]

0.6 0.6

0.4
x pi

0.4

0.2
0.2
0
0
0 0.2 0.4 0.6 0.8 1 0 10 20 30 40 50
t [sec] f [Hz]

Fig. 1.7. Spectrul de armonici al unui semnal dreptunghiular (factor de umplere 12,5%)

19
Din analiza figurii 1.7 principala concluzie este aceea că numărul de armonici folo-
site, respectiv 50, este insuficient pentru o bună reconstituire a semnalului s(t).
Cu cât numărul de armonici este mai mare reconstituirea este mai bună, dar nu
atinge perfecţiunea. Explicaţia acestui fapt trebuie căutată în natura discontinuă
a semnalelor dreptunghiulare, care ar necesita un spectru cuprinzând un număr
infinit de armonici, pentru reproducerea discontinuităţilor.
Această concluzie are implicaţii importante în prelucrarea semnalelor eşantio-
nate, care prezintă discontinuităţile inerente procedeelor de eşantionare şi con-
versie analog-digitală şi digital-analogică (vezi Fig. 1.3 şi 1.5). Pentru o redare
perfectă a acestui gen de semnale ar fi nevoie de circuite de procesare având o
bandă de frecvenţă infinită, care în mod evident nu pot fi realizate fizic.
Aceeaşi concluzie se obţine şi în cazul semnalelor neperiodice, a căror analiză
se realizează cu ajutorul integralelor Fourier, obţinute din seriile Fourier, prin
trecerea la limită înspre infinit a perioadei T. Frecvenţele discrete (armonicele)
sunt înlocuite în acest caz cu o funcţie de densitate spectrală.
Se definesc în acest sens transformările Fourier - directă şi inversă - ale unui
semnal s(t). Aceste transformări se utilizează sub mai multe forme, două dintre
ele fiind prezentate în continuare:

- jωx
S1 ( ω )   s(x)  e  dx

(49)
1  jωx
s( x )   S1 ( s )  e
2π  
 ds (50)

1 - jωx
S 2 (ω )   s(x)  e
2π  
 dx (51)

1 jωx
s( x )   S 2 (s )  e
2π  
 ds

(52)
Un instrument teoretic specific analizei spectrale a semnalelor eşantionate este
transformata Fourier discretă şi inversa ei:

S d (ω)   s n   e - jωn (53)
n  

1
s n    Sd (ω)  e
jωn
 dω (54)
2π 2

În tabelele următoare sunt prezentate cele mai des utilizate transformări Fourier.

20
Tabel 4. Transformări Fourier [Drag04]

21
S1(2f)
0,125

f[Hz]

-40 -30 -20 -10 0 10 20 30 40


Fig. 1.8. Funcţia de densitate spectrală a unui impuls singular

22
2. Teorema eşantionării

2.1. Enunţarea teoremei eşantionării (Shannon)


În secţiunea anterioară am observat cum spectrul semnalelor poate să se întindă pe un
domeniu vast de frecvenţe, cuprins între frecvenţa fundamentală în cazul semnalelor
sinusoidale frecvenţe foarte mari, tinzând spre infinit, în cazul semnalelor care includ
discontinuităţi, cum ar fi semnalele dreptunghiulare. Pe lângă dificultăţile tehnice
ridicate de creşterea benzii de frecvenţe a circuitelor de prelucrare şi transmitere a
semnalelor se pune şi problema costurilor aferente. Se pune problema identificării unui
criteriu de optimizare, care să asigure reducerea benzii de frecvenţe a circuitelor până
la acele praguri până la care informaţia prelucrată şi transmisă se poate regăsi integral
şi nu este încă distorsionată sau înlăturată total.
Rezolvarea acestei probleme aparţine lui Claude Elwood Shannon (1916-2001), dar în
literatură se menţionează şi alte nume care au avut anumite contribuţii (Harry Nyquist)
sau au oferit rezolvări independente asemănătoare (E.T. Whittaker şi V Kotelnikov).

23
3. Modelarea în Matlab a sistemelor discrete

3.1. Funcţii de transfer discrete în Matlab


În timp discret, la fel ca şi în timp continuu, o funcţie de transfer poate fi exprimată ca
un raport de polinoame cu variabila de timp discretă z.
G( z) = N(z) / D(z)
În limbajul Matlab a astfel de funcţie SISO poate fi creată cu comenzile tf sau zpk, cu
un argument care să specifice timpul de eşantionare.
De exemplu, pentru a crea funcţia de transfer în timp discret G(z) = z/(z2 – 2z – 6) cu
perioada de eşantionare de 0,1 s scriem:
G = tf([1 0],[1 -2 -6],0.1)
Reamintim că tf este comanda destinată creării de funcţii de transfer, în timp continuu
sau discret. Caracterul discret al obiectului sistem rezultat este imprimat de argumentul
0,1. Dacă am fi dat comanda G = tf([1 0],[1 -2 -6]) am fi obţinut sistemul în timp con-
tinuu G(s) = s/(s2 – 2s – 6). Dacă perioada de eşantionare este nedeterminată valoarea
argumentului va fi -1.
Pentru a crea o funcţie de transfer de tip zero-pol-câştig putem în acelaşi mod utiliza
varianta discretă a comenzii zpk. De exemplu, pentru sistemul următor, cu perioada de
eşantionare de 0,1 s,
z
G(z) 
 z  2   z  3 ,
vom folosi comanda:
G = zpk([0],[-2, 3],[1],0.1);
Alte forme de definire a funcţiilor de transfer în timp discret prin comenzile tf sau zpk
pot fi găsite în help-urile acestor funcţii. O alternativă la utilizarea acestor comenzi este
definirea funcţiei de transfer prin expresia sa raţională, în funcţie de variabila z, care a
fost în prealabil definită împreună cu perioada de eşantionare. De exemplu:
z = tf('z',0.1); % Defineşte variabila z şi perioada de eşantionare
G = z/(z^2 - 2*z - 6); % Specifică expresia raţională

24
Efectele comenzilor anterioare sunt:
>> G = tf([1 0],[1 -2 -6],0.1)
Transfer function:
z
-------------
z^2 - 2 z - 6
Sampling time: 0.1

>> G = zpk([0],[-2, 3],[1],0.1)


Zero/pole/gain:
z
-----------
(z+2) (z-3)
Sampling time: 0.1

>> z = tf('z',0.1) % Defineşte variabila z şi perioada de eşantionare


G = z/(z^2 - 2*z - 6) % Specifică expresia raţională
Transfer function: z
Sampling time: 0.1
Transfer function:
z
-------------
z^2 - 2 z - 6
Sampling time: 0.1

Spre deosebire de automatică, unde polinoamele în z se scriu în ordine descrescătoare a


puterilor lui z, în domeniul DSP (digital signal processing) se foloseşte frecvent o con-
venţie diferită, preferându-se reprezentarea în funcţie de variabila z-1. De exemplu, în
loc de G(z) = z/(z2 – 2z – 6) se scrie G(z-1) = z-1/(1 – 2z-1 – 6z-2). Pentru aceasta se ape-
lează la comanda filt ca în exemplul următor: Gdsp = filt([1 0], [1 -2 -5], 0.1).
>> Gdsp = filt([1 0], [1 -2 -5], 0.1) % 0.1 s sampling time
Transfer function:
1
-------------------
1 - 2 z^-1 - 5 z^-2
Sampling time: 0.1
Totodată se poate folosi şi comanda tf, dacă se precizează natura variabilei
la 'z^-1' : G = tf([1 0], [1 -2 -6], 0.1, 'Variable', 'z^-1').

25
>> G = tf([0 1], [1 -2 -6], 0.1, 'Variable', 'z^-1')
Transfer function:
z^-1
-------------------
1 - 2 z^-1 - 6 z^-2
Sampling time: 0.1
Programarea unor eventualele întârzieri dintre intrare şi ieşire se face prin proprietatea
'ioDelay' care poate completa definirea comenzilor tf şi zpk.
>> G = tf([1 1], [1 5 3])
Transfer function:
s+1
-------------
s^2 + 5 s + 3
>> G.ioDelay=2
Transfer function:
s+1
exp(-2*s) * -------------
s^2 + 5 s + 3

2.2. Conversia între reprezentările în timp continuu şi discret


Conversiile de la reprezentările în timp continuu la cele în timp discret de realizează
prin funcţia c2d care operează asupra tuturor tipurilor de modele: tf, ss şi zpk. Conver-
sia inversă, de la timp discret la timp continuu se face în aceleaşi condiţii prin funcţia
d2c. Atât c2d cât şi d2c dispun de mai multe metode de discretizare şi de interpolare.

Metoda de conversie Recomandări pentru aplicare


Element de reţinere de ordin zero ZOH Discretizări exacte pt. impulsuri de in-
(zero-order hold) trare de tip treaptă
Element de reţinere de ordin unu FOH Discretizări exacte pt. impulsuri de in-
(first-order hold) trare obţinute prin interpolări liniare
Aproximarea Tustin Când dorim o apropiere bună în dome-
niul frecvenţă între modelele de timp
continuu şi timp discret.
Când modelul are o comportare riscantă
în zona frecvenţei Nyquist

Sunt disponibile şi alte metode, cum ar fi Impulse-invariant mapping sau Zero-pole


matching equivalents.

26
În sintaxă sunt implicite conversiile ZOH:
sysd = c2d(sysc, Ts); % Ts = perioada de eşntionare în secunde
sysc = d2c(sysd);
Celelalte metode se specifică adăugând un argument nou de tip şir:
sysd = c2d(sysc, Ts, 'foh'); % FOH
sysc = d2c(sysd, 'tustin'); % aproximarea Tustin
sysc = d2c(sysd, 'imp'); % Impulse-invariant mapping
sysc = d2c(sysd, 'matched'); % aproximarea Zero-pole matching equivalents
Pentru alte precizări ale operaţiilor se poate apela la c2dOptions sau d2cOptions.
De exemplu, pentru o conversie Tustin cu frecvenţa de eşantionare de 0,01 s la care
dorim să aplicăm şi o deformare a caracteristicii de frecvenţă la 4.2 rad/s, scriem:
opt = c2dOptions('Method', 'tustin', 'PrewarpFrequency', 4.2);
sysd = c2d(sysc, 0.01, opt);
Alte opţiuni se pot găsi în help-urile funcţiilor c2d şi c2d.

3.3. Metode de conversie


3.3.1. Conversia cu reţinere de ordin zero
Discretizarea Hd(z) de tip ZOH a modelului în timp continuu H(s) este prezentată în
figura următoare.

Fig. 3.1. Discretizarea de tip ZOH


Blocul ZOH generează un semnal de timp continuu u(t) menţinând constantă valoarea
fiecărui eşantion u(k) pe durata unei perioade de eşantionare TS:
u(t) = u[k], k TS  t  (k + 1) TS
Semnalul u(t) este intrarea în sistemul continuu H(s). Ieşirea y[k] rezultă prin eşantio-
narea lui y(t) după fiecare TS secunde.

27
În mod reciproc, fiind dat un sistem discret Hd(z), comanda d2c produce versiunea sa
continuă H(s). Discretizarea ZOH a lui of H(s)coincide cu Hd(z).
Conversia ZOH discret-continuu are următoarele limitări:
• d2c nu poate converti sisteme liniare invariante în timp (LTI) cu poli în z = 0.
• Pentru sisteme LTI cu timp discret cu poli reali negativi, conversia ZOH d2c produce
sisteme continue de ordin crescut. Ordinul modelului creşte deoarece polii reali nega-
tivi în domeniul z sunt asociaţi cu perechi de poli conjugaţi în domeniul s.
Să considerăm următorul model zpk în timp discret, cu un pol real 
negative la z = –0,5.
hd = zpk([],-0.5,1,0.1)
Zero/pole/gain:
1
-------
(z+0.5)
Sampling time: 0.1
Să aplicăm d2c pentru a converti acest model în timp continuu cu metoda ZOH: hc =
d2c(hd). Vom obţine un rezultat având polinomul caracteristic de ordin doi.
>> hc = d2c(hd)
Warning: The model order was increased to handle real negative poles.
> In warning at 26
In ssdata.utInvDiscretizeZOH at 69
In ssdata.d2c at 21
In zpkdata.d2c at 152
In lti.d2c at 60
Zero/pole/gain:
4.621 (s+149.3)
---------------------
(s^2 + 13.86s + 1035)
Discretizând din nou modelul, obţinem sistemul în timp discret iniţial cu un singur pol:
>> c2d(hc,0.1)
Zero/pole/gain:
(z+0.5)
---------
(z+0.5)^2
Sampling time: 0.1

28
Pentru reprezentarea grafică a răspunsurilor indiciale ale celor două modele, hd şi hc
dăm comanda:
subplot(2,1,1); step(hc);grid; subplot(2,1,2);step(hd);grid;
obţinând figura următoare:

Step Response

0.8
Amplitude

0.6

0.4

0.2

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8
Time (sec)

Step Response
1.2

0.8
Amplitude

0.6

0.4

0.2

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8
Time (sec)

Fig. 3.2. Discretizare ZOH

3.3.2. Conversia cu reţinere de ordin unu


Metoda FOH (first-order hold) diferă de ZOH prin aceea că pentru transformarea eşan-
tionului de la intrare u[k] într-un semnal continuu u(t), se utilizează interpolarea line-
ară între eşantioane:

Această metodă este în general mai precisă decât ZOH, mai ales atunci când semnalul
de intrare este relativ lent faţă de TS. Din motive de cauzalitate această opţiune poate fi
utilizată numai pentru conversia c2d, nefiind aplicabilă la d2c.

29
3.3.3. Conversia Tustin
Conversia Tustin utilizează aproximarea

Pentru conversia între funcţiile de transfer din domeniile s şi z. În conversiile c2d


discretizarea Hd(z) a funcţiei de transfer H(s) este:

iar conversia d2c se bazează pe corespondenţa inversă

Această conversie asigură o bună corespondenţă între caracteristicile de frecvenţă ale


modelelor în timp continuu şi discret şi reduce riscurile de aliasing.

30
3.4. Reeşantionarea modelelor discrete
Modelele discrete tf, ss, sau zpk pot fi reeşantionate direct utilizând comenzile d2d şi
upsample. Această operaţie uşurează compararea diferitelor variante de discretizare
care pot fi aplicate aceluiaşi sistem.
Să considerăm funcţia de transfer H(s)=5/(s2 + 0,5s + 1), să creăm un model continuu
hc şi să discretizăm acest model prin metoda ZOH, cu perioada de esantionare 1 s.
Vom obţine modelul discret hd.
>> hc=tf([5],[1 0.5 1])
Transfer function:
5
---------------
s^2 + 0.5 s + 1
>> hd=c2d(hc,1)
Transfer function:
1.965 z + 1.654
-----------------------
z^2 - 0.8828 z + 0.6065
Sampling time: 1
Dacă dorim să schimbăm perioada de eşantionare la 0.1 s, putem aplica funcţia d2d:
>> hd1=d2d(hd, 0.1)
Transfer function:
0.02457 z + 0.02416
----------------------
z^2 - 1.941 z + 0.9512
Sampling time: 0.1
Pentru a compara cele trei sisteme hc (continuu), hd (discret cu Ts=0,1 s) şi hd1 (dis-
cret cu Ts=0,05 s) putem să vizualizăm răspunsurile lor indiciale. Vom alege următoa-
rele culori: verde pentru hc, albastru pentru hd şi roşu pentru hd1:
>> step(hc,'g',hd,'b',hd1,'r');grid;
Se remarcă importanţa fundamentală a modului de alegere a perioadei de eşntionare Ts.
Cu cât Ts este mai mică precizia disretizării este mai bună, dar în acelaşi timp volumul
de calcule şi banda de frecvenţă a semnalelor cresc.
Pentru a compara şi caracteristicile de frecvenţă ale sistemelor aplicăm comanda bode:
>> bode(hc,'g',hd,'b',hd1,'r');grid;
Se observă că la frecvenţe mici diferenţele dintre caracteristici sunt relativ nesemnifi-
cative, dar că ele cresc la frecvenţe mari, cu atât mai mult cu cât Ts este mai mare.
Pentru analiza în frecvenţă a sistemelor discrete se pot uliliza funcţiile dedicate dbode,
dnyquist, şi dnichols.

31
Fig. 3.3. Compararea unor discretizări cu timpi de eşntionare de 1 şi de 0,1 s

Bode Diagram
40

20

0
Magnitude (dB)

-20

-40

-60

-80
0

-90
Phase (deg)

-180

-270
-2 -1 0 1 2
10 10 10 10 10
Frequency (rad/sec)

Fig. 3.4. Compararea caracteristicilor de frecvenţă

32
Prin upsample se poate obţine creşterea ordinului sistemului discret, pentru o mai bună
aproximare. De exemplu prin hd3=upsample(hd1, 3) obţinem o disretizare de ordin
superor, cu 3 zerouri şi 6 poli şi cu o frecvenţă de eşntionare mult crescută.

>> hd3=upsample(hd1, 3)
Transfer function:
0.02457 z^3 + 0.02416
------------------------
z^6 - 1.941 z^3 + 0.9512
Sampling time: 0.033333
>> step(hd,'r',hd3,'b');grid;

Step Response

4
Amplitude

0
0 5 10 15
Time (sec)

Fig. 3.5. Efectul comenzii upsample

33
4. Modelarea sistemelor discrete în Simulink

4.1. Biblioteca de blocuri discrete


Simulink dispune de o bibliotecă dedicată sistemelor dinamice discrete, perfect compa-
tibile cu celelalte blocuri Simulink. Toate blocurile în timp discret dispun de posibilita-
tea setării perioadei de eşantionare. Câteva dintre cele mai des utilizate blocuri sunt:
Unit Delay: ieşirea egală cu intrarea, cu o întârziere egală cu perioada de eşantionare.
Discrete-Time Integrator: o aproximare în timp discret a unui integrator. Se pot seta
metoda de aproximare, condiţiile iniţiale şi limitele de saturare.

Fig. 4.1. Biblioteca Simulink Discrete


Pe lângă biblioteca iniţială Simulink/Discrete există şi o bibliotecă de blocuri în timp
discret apărută ulterior: Simulink Extras Additional Discrete.

34
Fig. 4.2. Biblioteca Simulink Extras Additional Discrete
Zero-Order Hold: elementul de reţinere de ordin zero.
First-Order Hold: elementul de reţinere de ordin întâi.
Discrete State-Space: varianta de forma spaţiul stărilor a unui sistem dinamic în timp
discret; se specifică matricile A, B, C şi D precum şi condiţiile iniţiale.
Discrete Filter: un filtru discret sub forma de funcţie raţională, vectorii conţinând coe-
ficienţii polinomiali în z^-1.
Discrete Transfer Fcn: forma standard a unui sistem SISO liniar invariant în timp dis-
cret, exprimată prin vectorii coeficienţilor polinomiali în z.
Discrete Zero-Pole: varianta exprimată în funcţie de zerouri şi poli a unui sistem dina-
mic în timp discret; se specifică şi câştigul.

Fig. 4.3. Discretizări zoh şi foh în Simulink

35
4.2. Simulink Model Discretizer
Aplicaţiile Simulink în timp discret se dezvoltă după aceleaşi proceduri ca şi aplicaţiile
în timp continuu. Ţinând însă cont de dezvoltarea extraordinară a tehnologiei
digitale de conducere şi de caracterul oarecum de rutină a operaţiilor de
discretizare, în mediul Matlab a fost dezvoltată o interfaţă utilizator GUI
destinată discretizării automate a modelelor: Simulink Model Discretizer.
Să considerăm cazul sistemului de reglare în timp continuu, cu reacţie unitară şi
regulator proporţional, din figura următoare.

Fig. 4.4. Sistemul iniţial în timp continuu


Pentru a lansa interfaţa grafică de discretizare avem două căi:
- comanda >>slmdldiscui în fereastra de comenzi; dacă modelul hc este deja definit în
workspace putem da direct comanda >>slmdldiscui(‘hc’);
- lansarea din bara de comenzi Simulink:
Tools > Control Design > Model Discretizer
Interfaţa grafică şi modelul hc asociat sunt reprezentate în figura următoare.

36
Fig. 4.5. Interfaţa grafică Simulink Model Discretizer
Pentru fiecare dintre blocurile în timp continuu din componenţa modelului se pot alege
toţi parametrii de discretizare: metoda de conversie (ZOH, FOH, Tustin, Tustin cu pre-
warping şi matched pole-zero), perioada de eşantionare (care poate fi însoţită şi de o
întârziere - offset time) şi tipul de discretizare. Tipurile de discretizare oferite sunt:
 Discrete blocks (Enter parameters in s-domain): generează un bloc discret cu
aceeaşi parametri ca şi modelul continuu;
 Discrete blocks (Enter parameters in z-domain): creează un bloc discret cu para-
metri în domeniul z;
 Configurable subsystem (Enter parameters in s-domain): creează mai multe
modele candidate pentru discretizare, în domeniul s, formate din mai multe blocuri;
 Configurable subsystem (Enter parameters in z-domain): creează mai multe
modele candidate pentru discretizare, în domeniul z, formade din mai multe blocuri;

37
Fig. 4.6. Rezultatele unor discretizări în blocuri, în domeniul s, prin conversii ZOH şi
FOH, cu perioada de eşantionare de 0,1 s

38
Se remarcă diferenţa fundamentală dintre rezultatele aceleiaşi simulări, pentru conver-
siile zoh şi foh. În timp ce zoh cauzează instabilitatea sistemului de reglare, foh asi-
gură o funcţionare apropiată de cazul continuu. Această situaţie ne avertizează asupra
pericolelor care vin odată cu discretizarea sistemelor, care trebuie făcută cu multă aten-
ţie, testând cât mai multe variante, şi luând măsuri de siguranţă specifice, cum ar fi de
exemplu filtrările numerice şi filtrările antialiasing.
În cazul aplicaţiei hc orice altă metodă de conversie decât zoh produce rezultate bune.
Evitare instabilizării se mai poate obţine în cazul zoh şi scăzând perioada de eşantio-
nare de cel puţin zece ori.

39
5. Sisteme de reglare discrete

5.1. Sisteme de reglare în timp discret


Aplicaţia tipică a sistemelor cu timp discret constă din implementarea cu ajutorul siste-
melor numerice a algoritmilor de reglare, la reglarea proceselor în timp continuu.
eşantionare
r(t) r(k) (k) Regulator u(k) Element c(t) Proces y(t) y(k)
cu timp de în timp
eşantionare discret reţinere continuu

Fig. 5.1. Implementarea unui sistem de reglare automată în timp discret


Implementările digitale ale regulatoarelor, obţinute cu bune rezultate prin microcontro-
lere sau FPGA, se pot rezolva de cele mai multe ori cu variante discrete ale algoritmi-
lor în timp continuu. Cea mai simplă şi frecventă abordare este discretizarea algoritmu-
lui PID. Discretizarea se face prin ecuaţii cu diferenţe finite. O aproximare de ordin
întâi a componentei integrative, cu perioada de eşantionare Δt, este următoarea:

Aproximarea termenul derivativ este

O aproximare des întâlnită (velocity algorithm) se obţine prin diferenţierea lui u(t)
utilizând definiţiile numerice ale derivatele de ordin I şi II şi rezolvând ecuaţia pt. u(tk):

40
Bibliografie

[Drag04] Toma L. Dragomir, „Teoria sistemelor 1”, Editura Politehnica Timişoara,


2004.
[Drag09] Toma Dragomir, Mihai Dobra, „Semnale”, Capitolul 2 al tratatului coordonat
de Ion Dumitrache, „Automatica”, Editura Academiei Române, Volumul I, 2009.
[Sert04] Ali Sinan Sertöz, „Lecture Notes on Laplace and z-transforms”, 12.04.2004,
http://www.fen.bilkent.edu.tr/˜sertoz.

41

S-ar putea să vă placă și