Sunteți pe pagina 1din 226

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/281836439

Prelucrarea numerică a semnalelor

Book · January 2009

CITATIONS READS
3 1,055

1 author:

Cristian Paul Chioncel


Eftimie Murgu University of Resita
89 PUBLICATIONS   195 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Seismic Protection of Structures View project

All content following this page was uploaded by Cristian Paul Chioncel on 17 September 2015.

The user has requested enhancement of the downloaded file.


CUPRINS

Prefaţă . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1 Introducere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1 Semnalul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Necesitatea prelucrării semnalelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3 Senzorică, tehnica de măsurare şi prelucrarea analogică a semnalelor . . . . . 9
1.4 Schema de prelucrare digitală a datelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2 Elemente de bază ale teoriei semnalelor . . . . . . . . . . . . . . . . . . . . . . 31


2.1 Clasificarea semnalelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.2 Modele ale semnalelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.2.1 Modele ale semnalelor deterministe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.2.1.1 Modele ale semnalelor continue în domeniul timp . . . . . . . . . . . . . 37
2.2.1.2 Modele ale semnalelor continue în domeniul frecvenţă . . . . . . . . . 54
2.2.1.3 Modele ale semnalelor discrete în domeniul timp . . . . . . . . . . . . . . 60
2.2.1.4 Modele ale semnalelor discrete în domeniul frecvenţă . . . . . . . . . . 63
2.2.2 Modele ale semnalelor stohastice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
2.2.2.1 Modele pentru descrierea evoluţiei amplitudinii semnalelor
stohastice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
2.2.2.2 Modele ale semnalelor stohastice în domeniul timp . . . . . . . . . . . . 83
2.2.2.3 Modele ale semnalelor stohastice în domeniul frecvenţă . . . . . . . . 88

3 Elemente de bază ale teoriei sistemelor . . . . . . . . . . . . . . . . . . . . . . . 89


3.1 Clasificarea sistemelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
3.2 Modele de sisteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
3.2.1 Modele ale sistemelor continue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
3.2.1.1 Modele ale sistemelor continue în domeniul timp . . . . . . . . . . . . 94
3.2.1.2 Modele ale sistemelor continue în domeniul imagine . . . . . . . . . 96
3.2.1.3 Modele ale sistemelor continue în domeniul frecvenţă . . . . . . . 101
3.2.2 Modele ale sistemelor discrete în timp . . . . . . . . . . . . . . . . . . . . . . . . .107
3.2.2.1 Modele ale sistemelor discrete în domeniul timp . . . . . . . . . . . . 107
3.2.2.2 Modele ale sistemelor discrete în domeniul imagine . . . . . . . . . 113
3.2.2.3 Modele ale sistemelor discrete în domeniul frecvenţă . . . . . . . 118
3.2.3 Transformări de discretizare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

4. Procedee selectate în analiza semnalelor . . . . . . . . . . . . . . . . . . . . 124


4.1 Adunarea şi scăderea semnalului . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
4.2 Interpolarea şi decimarea semnalului . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
4.3 Diferenţierea şi integrarea semnalului . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
4.4 Filtrarea semnalelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
4.4.1 Filtrele IIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
4.4.2 Filtre FIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

Anexe

A1 Transformări ale integralelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163


A1.1 Corespondenţe ale transformatei Fourier . . . . . . . . . . . . . . . . . . . . . . . . 163
A1.2 Corespondenţe ale transformatei Laplace . . . . . . . . . . . . . . . . . . . . . . . 164
A1.3 Corespondenţe ale transformatei z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

A2 Numere complexe şi valori ale funcţiilor complexe . . . . . . . . . .168

A3 Polinoame şi funcţii raţionale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

B1 Prelucrarea semnalelor în Scilab . . . . . . . . . . . . . . . . . . . . . . . . . . 177


B1.1.1 Matrici in Scilab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
B1.1.2 Eşantionarea semnalelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
B1.1.3 Accesarea elementelor unui vector . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

B1.2 Convoluţia semnalelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188


B1.2.1 Introducere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
B1.2.2 Mecanismul convoluţiei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
B1.2.3 Convoluţia şi produsul polinoamelor . . . . . . . . . . . . . . . . . . . . . . . . . 192

4
B1.3 Corelaţia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
B1.3.1 Introducere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
B1.3.2 Corelaţia zgomotului . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
B1.3.3 Autocorelaţia unui semnal afectat de zgomot . . . . . . . . . . . . . . . . . 197
B1.3.4 Mecanismul corelaţiei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

B1.4 Transformata Fourier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199


B1.4.1 Introducere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
B1.4.2 Prelucrarea semnalului prin funcţia fereastră . . . . . . . . . . . . . . . . . 203

B2 Programe în Scilab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

Bibliografie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226

5
PREFAŢĂ

Lucrarea „Prelucrarea numerică a semnalelor” abordează elementele de bază din


teoria semnalelor şi sistemelor cu exemple şi aplicaţii practice.
Pe parcursul celor patru capitole se examinează, după o introducere în care se
definesc noţiunile fundamentale, aspecte referitoare la elemente de bază din teoria
semnalelor, elemente de bază ale teoriei sistemelor şi procedee selectate în analiza
semnalelor. Cartea se încheie cu un pachet consistent de „Anexe”, ce constituie o
notă distinctivă a lucrării de faţă, formate din numeroase exemple şi aplicaţii
menţionate în partea teoretică a lucrării şi realizate într-un mediu de programare
modern Scilab, utilizat pe scară largă în prezent.
Această îmbinare între partea teoretică şi problematica practică, într-o singură carte,
oferă posibilitatea aprofundării şi aplicării practice a cunoştinţelor dobândite,
răspunzând astfel dezideratului actual al învăţământului superior tehnic, acela de a
accentua pregătirea practică a viitorilor specialişti.
Aşa cum a fost concepută şi realizată, cartea se adresează tuturor celor interesaţi în
domeniu, fiind utilizată cu precădere ca suport al cursului şi laboratorului de
„Prelucrarea numerică a semnalelor” pentru diferite specializări inginereşti.

Autorul

6
CAP. 1 INTRODUCERE

1.1 Semnalul

Semnalele, din punct de vedere fizic, reprezintă evoluţia in timp a unor mărimi
fizice cum ar fi: tensiunea electrica, câmpul magnetic, curentul electric, presiunea
acustica, etc. Cu alte cuvinte, un semnal reprezintă prezentarea unor informaţii.
Acesta se caracterizează prin valoarea amplitudinii sau modificarea valorii a unei
mărimi fizice in timp. Conform standardelor prin semnal se defineşte reprezentarea
fizică a informaţiilor sau a datelor.

Aceste semnale, constituie mărimi de intrare pentru anumite sisteme fizice şi


tehnice, care, ca urmare a legilor interne de evoluţie, atunci când au la intrare astfel
de mărimi, manifesta la ieşire nişte răspunsuri. Făcând o abstractizare de natura
matematica asupra acestor fenomene se poate considera ca semnalele reprezintă
funcţii de timp iar sistemele reprezintă sisteme de ecuaţii integro-diferenţiale.
Soluţiile acestor sisteme de ecuaţii integro-diferenţiale reprezintă funcţii de timp
care sunt semnalele de ieşire ale sistemelor când sunt excitate cu semnale de intrare.

Exista o teorie matematica vasta de rezolvare a acestei probleme in domeniul timp.


Din păcate doar pentru un număr foarte mic de clase de sisteme si de tipuri de
funcţii de semnale de intrare se poate obţine o forma analitica (soluţie sub forma de
formula matematica) pentru semnalele de ieşire. Data fiind aceasta situaţie, s-a
căutat ieşirea din acest impas prin rezolvarea numerica a problemelor in acest sens
dezvoltându-se o ramura a matematicii numita metode numerice.

Deoarece semnalele şi sistemele sunt sisteme integro-diferenţiale care evoluează în


timp (au variabila independentă timpul) problematica abordată s-a specializat în
timp pentru astfel de clase de probleme odată cu evoluţia tehnologiei în domeniul
electronic. În faza de început s-a dezvoltat o teorie a semnalelor şi sistemelor
analogice (care se bazează pe faptul ca timpul era considerat o mulţime densă,
adică în vecinătatea oricărui punct de pe axa timpului, oricât de mică ar fi
vecinătatea respectivă, se găsesc o infinitate de alte puncte din aceeaşi mulţime) iar
funcţia de timp era o funcţie continuă sau cu discontinuităţi de speţa I. O funcţie
continuă reprezintă o funcţie în care valoarea sa într-un punct x0 este o funcţie care
are proprietatea ca valoarea sa în punctul respectiv este egală cu limita la stânga şi
la dreapta ale funcţiei în punctul respectiv.

7
Această tehnologie care are la bază ca model matematic teoria funcţiilor continue,
este valabilă şi astăzi dar implementarea unor prelucrări de mare fineţe este limitată
de tehnologie şi de preţ. Apariţia tehnologiei circuitelor digitale care a dus la
apariţia calculatoarelor numerice, şi-a pus amprenta şi asupra prelucrării
semnalelor. În primul rând calculatoarele numerice lucrează ca şi cum fenomenele
interne se modifică doar la momente bine precizate de timp, între două momente
succesive starea sistemului rămânând nemodificată. Apariţia acestei probleme a
dus la studierea consecinţelor care decurg din punct de vedere matematic şi fizic
prin transformarea semnalelor din funcţii definite pe o mulţime densă în funcţii
definite pe o mulţime discretă, adică se cunoaşte valoarea unui semnal doar în
momente discrete de timp nu şi între aceste momente.
Studiul acestor consecinţe a dus la stabilirea unei teorii care evidenţiază limite în
care este posibilă studierea fenomenelor din domeniul continuu cu tehnologie din
domeniul discret şi consecinţa acestei teorii a fost apariţia unor tehnologii de
conversie a semnalelor continue în semnale discrete în timp şi de semnale discrete
în timp în semnale continue. De asemenea s-a dezvoltat o teorie matematică prin
care s-a studiat transformarea sistemelor integro – diferenţiale, care reprezintă
modele matematice ale sistemelor în domeniul continuu în sisteme a căror evoluţie
se realizează în momente discrete de timp. Datorită capacităţii deosebite de
prelucrare a calculatoarelor utilizând tehnica discretă în timp, se pot realiza
prelucrări de mare fineţe asupra semnalelor.

1.2 Necesitatea prelucrării semnalelor

Semnalele furnizează informaţii despre funcţiile şi capacitatea sistemelor urmărite,


permiţând ca în baza parametrilor semnalelor să se concluzioneze asupra
diagnosticelor tehnice şi să se monitorizeze funcţionarea proceselor.
Premiza pentru aceasta este ca aceste semnale să fie măsurate fără perturbaţii. În
acest scop teoria prelucrării semnalelor pune la dispoziţie mecanisme de înlăturare
a perturbaţiilor (de exemplu brumul de 50 Hz al reţelei), a drift-ului (de exemplu în
cazul fixării slabe a senzorilor) şi a altor perturbaţii neclasificabile.
Deseori o simplă analiză vizuală a evoluţiei în timp a unui semnal nu este
suficientă pentru o diagnostică şi analiză corectă. Aici, prelucrarea semnalelor pune
la dispoziţie metode şi procedee, pentru ca printr-o măsurare automată să fie
determinate, după caz, valori specifice.

8
Cu ajutorul conversiei semnalului, se pot obţine informaţii foarte importante pentru
diagnoza unui proces, în cazul unor semnale uşor măsurabile, dar care presupun un
efort ridicat de măsurare.
Metodele de prelucrare ale semnalelor conduc şi la o reducere a volumului de date
stocat, de exemplu, un semnal temporal înregistrat pe un interval de mai multe ore,
poate fi redus semnificativ prin aşa numita transformare Fourier, fără pierderea
parametrilor temporali ai informaţiei.
Separarea datelor permite ca din măsurarea unei singure mărimi, să se deducă o
multitudine de alte informaţii.
De asemenea, prin legarea matematică a datelor provenite de la mai multe semnale
măsurate, se pot determina parametrii importanţi ai unui sistem.
Prelucrarea semnalelor se ocupă aşadar de:

• eliminarea perturbaţiilor din semnale,


• măsurarea semnalelor,
• conversia semnalelor,
• reducerea volumului de date,
• separarea datelor şi
• interconexiunea datelor.

1.3 Senzorică, tehnica de măsurare şi prelucrarea analogică a semnalelor

Fiecare dispozitiv de măsurare a semnalelor este alcătuit dintr-un lanţ de măsurare,


a cărui prim element este senzorul care preia semnalul ce trebuie măsurat, iar dacă
nu este un semnal electric, transformă valoarea preluată într-o mărime electrică
prelucrabilă. De exemplu, temperatura poate fi măsurată cu ajutorul unei rezistenţe
electrice care îşi schimbă valoarea rezistenţei Rϑ odată cu temperatura,.
Deseori senzorul este urmat de un traductor de măsurare, care schimbă mărimea
fizică (pentru exemplul anterior rezistenţa electrică) într-o mărime electrică
măsurabilă, de cele mai multe ori, în tensiune.
Pentru situaţia analizată, traductorul poate fi alcătuit dintr-o rezistenţă fixă RR
conectată la rezistenţa senzorului Rϑ, alături de o alimentare comună constantă de
tensiune UB, figura 1.1.

9
Fig. 1.1 Senzor de temperatura cu traductor de tensiune

Modificarea tensiunii ∆Uϑ, care poate fi măsurată numai prin Rϑ, este proporţională
cu modificarea temperaturii ∆ϑ. Aceasta se întâmplă doar dacă există o relaţie
lineară de legătură dintre modificarea de temperatura şi modificarea rezistenţei,
figura 1.2.

Fig. 1.2 O legătură lineară şi una neliniară între Rϑ şi ϑ

O sarcină a prelucrării ulterioare a semnalului în calculatorul digital ar putea fi de


exemplu, eliminarea acestei neliniarităţi.
Deseori tensiunea măsurabilă după traductorul de măsurare este prea mică pentru a
putea fi bine analizată, astfel încât după traductorul de măsurare se conectează un
amplificator de măsurare. Aceste amplificatoare de măsurare trebuie foarte des să
amplifice semnale de amplitudini foarte reduse, de ordinul µV, în tensiuni cu
amplitudini de la 1V la 10V.
Semnalele analogice, numite şi semnale continue în timp, există continuu, adică la
fiecare moment de timp repartizate pe o axă de timp. Această definiţie a semnalelor
trebuie precizată în acest punct, deoarece în mod principal în capitolele acestei cărţi,
10
sunt în principal tratate alte forme ale semnalelor, şi anume acele semnale care
există numai la momente discrete de timp pe axa timpului, aşa numitele semnale
discrete în timp sau digitale, figura 1.3.

Fig. 1.3 Semnal continuu si semnal discret

Semnalele discrete în timp apar mereu atunci când semnalele analogice trebuie
prelucrate în calculatoare digitale.
Tehnica electronicii moderne pentru semnale analogice lucrează în primul rând cu
amplificatoare operaţionale, cărora, prin conectarea externă de rezistenţe şi
condensatoare, li se impune un comportament dorit. De exemplu schema electrică
din figura 1.4 reprezintă un amplificator de tensiune, a cărui factor de amplificare V
este reglabil prin ajustarea celor două rezistenţe R1 şi R2.

Fig. 1.4 Schema unui amplificator cu AO

Pentru ca aceste amplificatoare să poate fi utilizate ca amplificatoare de măsurare,


astfel de circuite trebuie să satisfacă o serie de cerinţe de calitate:
• Montajul trebuie să prezinte o rezistenţă de intrare ridicată, deci să preia un
curent redus din sursa de intrare ui(t), pentru a nu falsifica semnalul de
măsurare. În schimb rezistenţa de ieşire a acestui circuit trebuie să fie cât mai
mică, pentru a fi cât mai independentă de sarcina la care urmează a fi conectată.
11
• Circuitul trebuie să prezinte o caracteristică lineară de amplificare, ceea ce
presupune că factorul de amplificare trebuie să fie în cadrul domeniului de
amplificare, constant, figura 1.5.

Fig. 1.5 Caracteristica de amplificare a unui amplificator cu Amplificator Operaţional:


+UB: tensiune de alimentare pozitivă; -UB: tensiune de alimentare negativă;
Ui – tensiune de intrare; Ue – tensiune de ieşire

• Circuitul trebuie să fie independent de temperatură, ceea ce înseamnă că


parametrii acestuia (de exemplu factorul de amplificare) nu trebuie să se
modifice cu temperatura. Această proprietate este deseori descrisă drept
libertate de drift.

• Semnale de frecvenţe diferite (până la o limită superioară ce poate fi


stabilită), trebuie să fie transmise cu acelaşi factor de amplificare. Această
proprietate este descrisă prin amplificarea lăţimii de bandă.

Pentru a stabilii care este lăţimea de bandă a amplificării a unui amplificator sau a
unui lanţ întreg de măsurare, se aplică la intrarea circuitului ce urmează a fi
analizat, semnale sinusoidale de frecvenţe diferite dar de aceeaşi amplitudine.
Semnalul obţinut la ieşire va fi de asemenea sinusoidal şi de aceeaşi frecvenţă cu
cea a semnalului de la intrare, doar amplitudinile semnalului de la ieşire vor avea
pentru frecvenţe diferite ale semnalului de intrare, amplitudini diferite.
Pentru a exemplifica cele spuse anterior, dorim să stabilim lăţimea de bandă a
amplificatorului din figura 1.4. Rezistenţele sunt astfel alese încât factorul de
amplificare să fie V = 1000, ceea ce înseamnă că o tensiune continuă de ui = 1 mV
să fie amplificată la 1V.

12
În continuare se va efectua analiza amplificatorului, aşa cum este reprezentată în
figura 1.6, la frecvenţe diferite, prin reprezentarea factorului de amplificare

ue ( f i )
V ( fi ) = ; i = 1, 2, … , n; (1.3.1)
ui ( f i )

pe axa frecvenţei, se va obţine o reprezentare grafică, figura 1.7, a aşa numitei


caracteristici amplitudine – frecvenţă a amplificatorului.

Fig. 1.6 Schemă de măsurare a caracteristicii de amplitudine – frecvenţă a unui circuit

13
Pe aceasta caracteristică a frecvenţei, se poate recunoaşte că la frecvenţe mici, se
înregistrează amplificări constante iar cu creşterea frecvenţei semnalului de intrare,
amplificarea se reduce. Domeniul de la 0 Hz până la locul în care amplificarea
scade la valoarea V(0)⋅1/ 2 , se numeşte banda de amplificare a amplificatorului.
Frecvenţa la care V = V(0)⋅1/ 2 se numeşte frecvenţa limită a amplificatorului,
figura 1.7.

Fig. 1.7 Caracteristica amplitudine – frecvenţă a amplificatorului din fig. 1.4

Acest comportament se explică din punct de vedere fizic prin inductivitatea pe


care conductoarele o posedă, în mod special, la frecvenţe ridicate, la care se adaugă
în paralel capacităţi, care se formează, de exemplu, în interiorul amplificatorului
operaţional. Conform tehnicii curentului alternativ, se ştie că odată cu creşterea
frecvenţei, inductivităţile (L) îşi măresc rezistenţa inductivă în timp ce la capacităţi
(C) rezistenţa capacitivă scade. Dacă privim intrarea etajului de amplificare din
figura 1.4 ca o inductivitate şi o capacitate legată la masă, figura 1.8, devine
evident faptul că semnalele de intrare cu frecvenţă ridicată sunt mai atenuate decât
semnalele de frecvenţă scăzută.

Fig. 1.8 Schemă echivalentă a intrării unui amplificator operaţional la frecvenţe ridicate

14
În timp ce în conexiunile cascadă ale amplificatoarelor apariţia atenuării la
frecvenţe ridicate este un fenomen nedorit, în alte situaţii se urmăreşte exact acest
fenomen, prin care anumitor elemente dintr-un lanţ de măsurare să li se imprime o
caracteristică specială de frecvenţă.
Dorim să clarificăm aceste legături pe baza unui exemplu. Lanţul de măsurare
extins acum printr-un amplificator, figura 1.9, ascunde pericolul ca datorită
rezistenţei de intrare ridicate să apară perturbaţii ale tensiunii de alimentare de la
reţea în calea semnalului, care se suprapun peste semnalul măsurat, figura 1.10.

Fig. 1.9 Senzor de temperatură cu transformator de tensiune şi amplificator de tensiune

Fig. 1.10 Semnalul temperaturii măsurat, suprapus cu perturbaţia reţelei

Dacă temperatura se modifică foarte încet, astfel încât modificări sunt recunoscute
în aproximativ 10 sec., semnalului măsurat îi poate fi asociată o frecvenţă maximă
de

15
1 1
f = = = 0.1Hz. (1.3.2)
T 10 sec

Dacă se reuşeşte obţinerea unui lanţ de măsurare a cărui caracteristică de frecvenţă


permite trecerea nealterată a tuturor variaţilor semnalului util, ceea ce înseamnă
până la 0.1Hz, cu o amplificare de V = 1, iar componente ale semnalului cu
frecvenţe peste această valoare să fie puternic atenuate, semnalul util poate fi
eliberat de perturbaţii.
Astfel de elemente care permit trecerea anumitor frecvenţe şi atenuează altele,
poartă denumirea de filtre. Deoarece ele filtrează semnale analogice respectiv
continue, sunt denumite filtre analogice sau continue.
Un astfel de filtru poate fi implementat prin intermediul unei rezistente RF şi a unui
condensator CF, care formează împreună un element RC, figura 1.11.

Fig. 1.11 Un filtru trece jos continuu RC

O descriere de ansamblu a filtrelor, permite o clasificare a acestora în funcţie de


componentele de frecvenţă care urmează a fi filtrate, în

• Filtru trece jos


• Filtru trece sus
• Filtru trece bandă şi
• Filtru opreşte bandă.

Filtrul analizat pentru trecerea semnalelor de frecvenţă joasă corespunzătoare


temperaturii şi blocării semnalelor de frecvenţă perturbatoare de 50 Hz, este prin
urmare un filtru trece jos, deoarece permite trecerea semnalelor de frecvenţă
scăzută şi le blochează pe cele de frecvenţă ridicată. Prin alegerea frecvenţelor
limită corespunzătoare, se poate stabilii la toate filtrele, figura 1.12, zona de trecere
şi cea în care începe zona de blocare.
16
fg: frecvenţa limită; fgs: frecvenţa limită superioară; fgi: frecvenţa limită inferioară
Fig. 1.12 Caracteristici amplitudine – frecvenţă a celor mai uzuale filtre

Lanţului de măsurare, extins cu un filtrul trece jos, i se poate asocia un instrument


de indicare analogic, pentru a putea citi rezultatul măsurării, figura 1.13.

Fig. 1.13 Lanţ analogic de măsurare a temperaturii

17
1.4 Schema de prelucrare digitală a datelor

Sistemelor de măsurare si prelucrare a semnalului pe baza digitala, urmează sa fie


completate, opţional sau obligatoriu, cu elemente suplimentare de pregătire a
semnalului, chiar daca, anterior, in lanţul de măsurare semnalul măsurat a fost
parţial prelucrat. Elementele suplimentare care fac parte din lanţul de prelucrare
digital, sunt:

• Amplificator cu separare galvanica


• Amplificator de curent continuu si
• Amplificator de curent alternativ cu setare de Offset
• Filtru anti aliere
• Element de eşantionare si reţinere a semnalului
• Convertor Analog / Digital

Trebuie remarcat faptul că în sistemele de măsurare a semnalelor bazate pe


prelucrarea numerica, figura 1.14, ordinea elementelor mai sus amintite nu este
una obligatorie, pe lângă acestea putând apărea elemente cu funcţii speciale.

Fig.1.14 Etape de pregătire pentru prelucrarea numerica a semnalelor

Funcţia primului element din lanţul de pregătire al semnalului in vederea prelucrări


numerice a acestuia, amplificatorul cu separare galvanică, consta in aceea de a
separa in aşa fel doua circuite electrice, pentru ca intre acestea sa nu mai existe nici
o legătura de conducţie. Doar semnalul măsurat este transmis către blocul de
18
prelucrare, calculatorul digital. Aceasta transmisie a datelor poate fi asigurata optic,
prin optocuploare, inductiv prin transformatoare sau capacitiv prin condensatori
speciali. Pentru ca intre emiţător si receptor sa se înregistreze o separare galvanica
completa, trebuie alimentate din surse de tensiune separate. Prin separarea
galvanica se urmăreşte aşadar ca elementele de măsurare sa fie protejate de tensiuni
electrice ridicate, care, de exemplu ar putea apărea prin deteriorarea unui cablu de
alimentare in lanţul de măsurare.
Amplificatorul de cc / ca conectat după elementul de separare galvanica, are
sarcina primara de a furniza semnalul convertorului analog numeric în aşa măsura
încât trecerea semnalului din analog in numeric sa se realizeze cu o precizie
ridicata.
Convertorul analog numeric (CAN) transforma valoarea unei amplitudini a unui
semnal analogic intr-un număr binar codat pentru a putea fi citit si prelucrat de
calculatorul numeric. Daca, de exemplu, un CAN deţine o rezoluţie de 8 biţi, este
capabil sa transforme valoarea analogica a unei intrări, in 28 valori binare, de la 0 la
255. Producătorul unui CAN stabileşte, încă din faza de concepţie a acestuia, care
este plaja tensiunii analogice de la intrare care urmează a fi transformata numeric.
Pentru analiza viitoare, consideram ca o tensiune de intrare in plaja 0V pana la 10V
este transpusa linear in scala numerica de la 0 la 255, figura 1.15:

Fig. 1.15 Plaja semnalului analogic si conversia acestuia in domeniul binar (DB) in urma
conversiei analog numerice

Astfel, o tensiune de 0V generează byt-ul de date 0, o tensiune de 10V byt-ul de


date 255, iar toate valorile tensiunilor in aceasta plaja, au valorile binare:

 U ⋅ 255 
DB = round  IN  (1.4.1)
 10V 

19
(”round” semnifica ca DB sunt rotunjite si pot avea numai valori întregi).
Exactitatea conversiei A/N depinde de rezoluţia convertorului analog numeric.
Pentru cazul analizat, domeniul tensiunii de intrare poate fi împărţit in 256 de
incremente distincte de 10 V / 256 = 39,1 mV. Aceasta înseamnă ca eroarea
maxima referitoare la valoarea finala de scala a semnalului de intrare este de

39.1 ⋅ 10 −3
⋅ 100% = 0.4%
10V

Daca se aplica acestui CAN o tensiune de intrare a cărui domeniu de variaţie nu


depăşeşte plaja de la 0V la 1V, atunci acest semnal nu utilizează decât 1/10 din
rezoluţia convertorului, ceea ce înseamnă ca eroarea de măsurare se amplifică la

39.1 ⋅ 10 −3
⋅ 100% = 4%,
1V

creste aşadar cu de zece ori. Această eroare poate fi evitată dacă semnalul de
intrare este amplificat de aşa natura încât întregul domeniul de intrare al CAN sa
fie utilizata. Pentru cazul analizat, semnalul de intrare trebuie amplificat cu factorul
10, pentru a ajunge din nou la o marja a erorii de 0.4%.
Daca la intrare s-ar aplica o tensiune de intrare de exemplu de 25V, semnalul de
intrare trebuie atenuat cu factorul 2.5 pentru a putea cuprinde întreg domeniul cu
plaja de variaţie a CAN. Toate aceste operaţii sunt realizate de un amplificator /
atenuator existent înaintea intrării CAN.
Daca amplificatorul este prevăzut ca pe lângă posibilitatea de a amplifica sau
atenua semnalele, sa se însumeze o tensiune continua peste semnalul măsurat
(conexiune offset), se reuşeşte, ca semnalele de intrare, de o valoare oarecare pe
scara ordonatelor, sa fie transformata la valoarea tensiunii semnalului de intrare a
CAN.
In exemplul din figura 1.16, un semnal care oscilează in jurul nivelului de zero cu
∆u = 2V, este amplificat intr-o prima etapa cu un factor de 5 iar apoi, cu Offset-ul
de +5V, este ridicat si adus în plaja de intrare a CAN.

20
Fig. 1.16 Efectul unui amplificator cu Offset

In majoritatea cazurilor, astfel de amplificatoare deţin doua intrări, care pot fi alese
de utilizator:

• Intrare de curent continuu (dc)


• Intrare de curent alternativ (ac).

Amplificatorul din figura 1.16, deţine o intrare DC, lăsând sa treacă atât tensiunea
continua cat si cea alternativa.
Un amplificator cu intrare AC, are la intrare un filtru trece sus (FTS) cu o frecvenţă
limită foarte joasă (de exemplu 0,5Hz). Acest filtru are rolul ca semnalele cu o
frecvenţă foarte joasă şi în special tensiunea continuă să fie eliminate iar tensiunea
alternativă, a cărei frecvenţă depăşeşte valoarea limită a FTS, să treacă.
Dacă de exemplu o tensiune alternativă este suprapusă unei tensiuni continue mult
mai mari, care nu mai poate fi compensata prin setarea de Offset, se recomandă,
atâta timp cât semnalul alternativ conţine informaţia dorită, sa se utilizeze in
operaţia de măsurare, intrarea AC, figura 1.17.
Filtrul trece sus elimină componenta continuă din semnal, iar ulterior semnalul
alternativ, este amplificat si repoziţionat astfel încât, domeniul de intrare al CAN să
fie din nou utilizat în totalitate.
Conform figurii 1.14, după amplificatorul de tensiune AC/DC urmează in
pregătirea prelucrării numerice a semnalului, un aşa numit filtru anti aliere (filtrul
AL). Rolul acestui filtru constă în aceea de a evita măsurări eronate, care ar putea
apărea în etapa următoare de eşantionare a semnalului continuu. Din acest motiv,
privim mai exact acum elementul de eşantionare si reţinere şi convertorul analog
numeric, pentru a revenii apoi din nou asupra filtrului AL.

21
Fig.1.17 Efectul unui amplificator cu intrare AC

Calculatoarele digitale, nu sunt, aşa cum s-a amintit şi mai devreme, capabile să
prelucreze semnale continue în timp continuu. In timp ce construcţii analogice pot
furniza la un semnal de intrare continuu un semnal de ieşire continuu, figura 1.18,
un calculator digital, poate, prin viteza de prelucrare finită, să citească şi să preia la
un moment dat, doar o valoare de amplitudine, apoi, în intervalul următor, să
prelucreze acea valoare (de exemplu să extragă rădăcina) iar apoi, într-un alt
interval de timp, să furnizeze această nouă valoare, de exemplu, spre afişare sau
către un port de ieşire.

Fig. 1.18 Sistem continuu, cu semnal continuu de intrare / ieşire

Doar după trecerea acestei sume de intervale, calculatorul digital poate prelua o
noua valoarea a amplitudinii semnalului pentru a o prelucra si furniza mai departe.
22
Elementul de eşantionare si reţinere preia in acest context sarcina, ca la un anumit
moment (condus de către calculator) sa eşantioneze valoarea amplitudinii
semnalului analogic. Aceasta valoare este furnizata mai departe către CAN, si
păstrata atât timp de către elementul de reţinere, pana când CAN a transformat
tensiunea intr-o valoare numerica. Prin elementul de eşantionare si reţinere, se
evita ca semnalul analogic de la intrarea CAN, sa se modifice in timpul procesului
de conversie si astfel sa se genereze o valoare binară eronată.
Timpul intre doua eşantioane, se numeşte timp de eşantionare (T). Convertorul
analog – numeric generează din semnalul de intrare analogic aplicat la intrarea sa,
un număr binar, figura 1.19.a, care va fi disponibil calculatorului digital intr-un
registru serial sau paralel de ieşire.

Fig. 1.19.a Principiul procesului de eşantionare si conversie analog numeric

Viteza de conversie analog numerica a CAN este dependenta de tehnologia aplicata


in interiorul acestuia, iar funcţie de domeniul de aplicaţie, se aleg CAN cu timpi de
conversie µ diferiţi. De asemenea important pentru scalarea rezultatului conversiei
analog numerice, este plaja de intrare (gama de tensiune) a unui CAN fata de
lăţimea unui cuvânt binar. Lăţimea binară este de regula, la CAN uzuale, de 8, 10,
12, 14 sau 16 biţi. In funcţie de aplicaţie, de exemplu in măsurarea si prelucrarea
numerica a semnalelor din medicină, se impune o rezoluţie de 10 – 12 biţi, astfel
încât exactitatea măsurării sa fie

1 1
• la 10 biţi: = ≈ 10 sau
2 10
1024 00
1 1
• la 2 biţi de = ≈ 0.25 0
2 12
4096 00

in raport cu valoarea finala a plajei tensiunii de intrare a CAN.


In acelaşi timp, in funcţie de CAN, plaja tensiunii de intrare se poate afla, de
exemplu, intre -1V la +1V, -5V la +5V sau de la 0V la +1V. La fel si valoarea

23
binara obţinută nu trebuie sa înceapă de la 0, astfel tensiunea de la intrare poate fi
reprodusa intr-o valoarea binara, de exemplu, intre -512 pana la +512, pentru un
CAN pe 10 biţi.
Din punct de vedere al teoriei semnalelor şi a sistemelor importanţă prezintă faptul
că semnalul analogic măsurat este cuantizat temporal (discretizat) de către
elementul de eşantionare şi reţinere, apoi cuantizat valoric (cuantizarea de
amplitudine).

Revenind la filtru de anti aliere: la eşantionarea semnalelor continue, cum se va


motiva mai exact în paragrafele următoare, teorema de eşantionare a lui Shanon nu
poate fi încălcată:

1
fT = > 2 ⋅ f max (1.4.2)
T

fT – frecventa de eşantionare, T – perioada de eşantionare; fmax – frecvenţa maxima din


semnalul eşantionat

Daca un semnal cu frecventa fsemnal = 0.5Hz este eşantionat cu un timp de


eşantionare T = 2.5s, ceea ce corespunde unei frecvenţe de eşantionare de fT = 1 /
2.5 [s] = 0.4 Hz, calculatorul digital obţine o informaţie legata de semnal, din care
se reconstruieşte o frecventa de 0.1Hz a acesteia (figura 1.19.b semnalul marcat cu
„ο”), ceea ce reprezintă o frecventa total eronata numită frecvenţă de aliere, o
frecventa a cărei valoare este mereu sub cea a semnalului măsurat.
Dacă semnalele măsurate sunt formate dintr-un mix de frecvente, se poate întâmpla
ca la o valoarea fixă a frecvenţei de eşantionare, componentele utile, ale semnalului,
de frecventa ridicata, pot încălca teorema de eşantionare, si astfel sa fie reflectate
ca frecvente de aliere in domeniul semnalului util, deteriorând astfel forma acestuia.
Pentru a evita acest efect, in lanţul de prelucrare al semnalului se introduce un filtru
trece jos, aşa numitul filtru anti aliere, a cărui frecventa limita este astfel aleasa, fg,
încât toate frecventele semnalului care ar putea genera frecventele de aliere, sa fie
suprimate:

fT 1
f g ( filtru _ al ) ≤ = (1.4.3)
2 2 ⋅T

24
Fig. 1.19.b Exemplu al efectului de aliere

Figura 1.20 prezintă poziţionarea filtrului anti aliere in domeniul frecventa.


Frecventa limita a filtrului se găseşte la capătul domeniului de frecvente a
semnalului util. Componentele de frecventa ale semnalului perturbator care se afla
deasupra acestei frecvente, sunt suprimate si nu mai pot conduce la efectul de aliere.

Fig. 1.20 Efectul filtrului anti aliere in domeniul frecventa

În continuare când se prezintă calculatorul digital, se face referire la


microcalculatoare, care sunt comparabile din punct de vedere a capacităţii de

25
prelucrare a datelor cu calculatoarele cărora le revine sarcina de prelucrare a unor
comenzi singulare. Dacă un astfel de calculator nu conţine doar o interfaţă de
comandă cu un operator, ci este conectat, de exemplu printr-un lanţ de măsurare, la
un proces în derulare în afară calculatorului, acesta este numit calculator de proces.
Calculatoarele de proces sunt calculatoare digitale care, pe lângă componentele
hardware de bază, dispun de o serie de completări:

• Interfeţe spre procesul din afara calculatorului (dispozitive de măsurare şi


prelucrare analogică în vederea captării semnalelor),
• Componente hardware pentru mărirea stabilităţii calculatorului (de exemplu
Watch-Dogs pentru controlul derulării programelor, recunoaşterea căderii de reţea
cu dispozitive de stocare permanentă a stadiului procesului),
• Multe altele.

Software-ul unui calculator de proces se deosebeşte şi el de cel al unui calculator


de sine stătător. Sistemul de operare trebuie să conţină proprietatea prelucrării în
timp real. În cazul regimului de funcţionare în timp real, fazele de derulare a
programelor sunt legate de condiţii temporale stricte, ceea ce înseamnă că
determinarea rezultatelor trebuie să aibă loc imediat, sau să fie finalizată într-un
interval de timp bine precizat a cărui lungime este dictată de procesul extern.
Dacă, de exemplu, pentru un proces de măsurare format din:

• citirea continuă şi stocarea datelor de măsurare,


• afişarea permanentă a acestor valori măsurate sub forma unei funcţii
continue,
• selectarea unui set de date de o anumită lungime (de exemplu 100 de valori
măsurate) şi calcularea histogramei de amplitudine,
• afişarea histogramei pe acelaşi monitor,
• actualizarea permanentă a histogramei după 100 de valori măsurate

un observator trebuie să aibă impresia că, în ciuda prezenţei unui singur procesor,
toate acţiunile se derulează în paralel, trebuie utilizat un sistem de operare în timp
real cu proprietatea Multi – Tasking.
Pentru îndeplinirea fiecărei acţiuni, există un program, un aşa numit „Task”. Cu
ajutorul unui aşa numit bloc de control al task-urilor (unui Task aparţin date, ca de
exemplu număr de identificare, stare şi prioritate de prelucrare) fiecare Task

26
comunică cu sistemul de operare. Task-urile pot avea în timpul derulării
programului (în timpul procesului de măsurare şi evaluare) două stări principale:
• de calcul,
• ne-calcul (acesta din urmă poate fi împărţit, pentru sistemele de operare în
timp real, în mai multe subdiviziuni).
Pentru ca un Task (proces) să poată trece în starea „de calcul”, sistemul de operare
trebuie să-i repartizeze procesorul. Un Task care se află în derulare trebuie să fie
întrerupt, de asemenea de către sistemul de operare. Doar Task-uri de prioritate
ridicată pot întrerupe Task-uri cu o prioritate mai scăzută. Astfel, de exemplu,
Task-ul corespunzător operaţiei de citire a datelor măsurate trebuie să deţină
prioritatea cea mai ridicată, pentru ca toate datele să poată fi citite fără pierderi.
Task-ul corespunzător calculării histogramei poate fi prevăzut cu o prioritate mai
scăzută, având la dispoziţie un timp echivalent cu 100 de cicluri de măsurare în
vederea calculării histogramei.
Task-urile, numite şi procese de calcul, nu parcurg toate etapele prevăzute, într-un
singur pas. Pentru a permite quasi o prelucrare paralelă a tuturor Task-urilor,
acestea sunt des întrerupte. Comutarea între Task-uri se realizează în pasul
frecvenţei de tact, sub comanda sistemului de operare, figura 1.21.

Fig. 1.21 Repartizarea temporală a Task-urilor într-un sistem de operare în timp real

De asemenea schimbarea stării unui Task, iar prin aceasta comutarea de la un Task
la altul, poate fi realizată şi de aşa numitele mecanisme de sincronizare a Task-
urilor. Astfel, de exemplu, Task-ul corespunzător calculării histogramei trebuie
activat, atunci când Task-ul de citire a datelor, a finalizat achiziţionarea a 100 de
valori. Aceasta se pune în practică, de exemplu, prin anunţarea unui eveniment.

27
Un calculator de proces trebuie, ca pe lângă proprietăţile amintite, să poată
reacţiona imediat la evenimente stohastice importante legate de proces. (de
exemplu iniţierea unei salvări a datelor şi a stărilor echipamentelor pe un mediu de
stocare permanent a datelor, atunci când recunoaşterea căderii reţelei de alimentare
detectează acest eveniment, timpul avut la dispoziţie de salvare a datelor fiind doar
de câteva milisecunde).
Sisteme simple de măsurare şi prelucrare a semnalelor în timp real pot fi
implementate şi fără un sistem de operare complet în timp real pe PC-uri sau
microcontrolere. În acest scop trebuie să se genereze o serie de întreruperi cu o
distanţă constantă. Timpul între două întreruperi este dată de timpul de eşantionare
T a sistemului. În cadrul duratei de eşantionare sistemul de măsurare trebuie să
preia valoarea măsurată de la CAN, să o stocheze, afişeze, prelucreze algoritmic şi
să afişeze acest rezultat al calculului. La următoarea întrerupere, acest fenomen se
repetă, figura 1.22:

Fig. 1.22 Principiul de funcţionare al unui sistem de măsurare în timp real cu întreruperi

Dacă timpul de eşantionare se consideră reglabil, sistemul de măsurare poate fi


adaptat la diferite probleme. Este evident faptul că sarcinile care urmează a fi
realizate (citire, stocare, afişare,…), trebuie parcurse în cadrul timpului de
eşantionare ales, deoarece la apariţia următoarei întreruperi, rutina curentă de
service nu poate fi întreruptă, altfel apărând o tergiversare în timp, ceea ce
presupune o creştere nepermisă a timpului de eşantionare. În acest sens se poate
observa blocarea unei întreruperi la începutul rutinei: [disable Interrupt (DI)] şi
eliberarea acesteia doar după finalizarea ei: [enable Interrupt (EI)].

28
Aşa cum s-a arătat, alegerea timpului de eşantionare este strâns legată de teorema
de eşantionare Shannon. Dacă se doreşte, de pildă măsurarea unor componente care
nu depăşesc frecvenţa maximă de 50 Hz, trebuie aleasă o frecvenţă de eşantionare
de cel puţin 100Hz, ceea ce corespunde unui timp de eşantionare de 10 ms.
Dacă rutina de service – întrerupere se realizează în limbaj de asamblare sau C şi se
utilizează un calculator PC pentru citirea şi analiza datelor, timpul necesar va fi cu
siguranţa mai mic de 10 ms. Dacă se impune parcurgerea unui algoritm complex de
calcul şi validare, este posibilă apariţia problemelor de timp. Astfel de situaţii au
consecinţe directe asupra:

• alegerii formei algoritmilor de evaluare,


• alegerii Hardware-ului de calcul şi / sau
• alegerii principiului de măsurare.

În cazul multor algoritmi de prelucrare a semnalelor există posibilitatea de a alege


între un algoritm de calcul închis şi un aşa numit algoritm etapizat (cunoscut ca
algoritm recursiv). Algoritmul de calcul închis necesită pentru determinarea unui
rezultat un volum de date măsurate mai mare, pe care le utilizează, într-un interval
de timp relativ ridicat, pentru obţinerea soluţiei. Algoritmul recursiv nu necesită un
volum de date mai mare, ci calculează prin intermediul fiecărei noi valori
eşantionate un rezultat care se îmbunătăţeşte treptat. Algoritmii recursivi se
pretează mult mai bine prelucrării în timp real.
Dacă ne aflăm în faţa problemei de a eşantiona semnale cu componente de
frecvenţă ridicate, trebuie aleasă o frecvenţă de eşantionare corespunzător mare,
timpul avut la dispoziţie pentru algoritmi de calcul, reducându-se astfel
semnificativ. Singura soluţie în astfel de cazuri este apelarea la un hardware mai
competitiv şi rapid. Tabelul 1.1 oferă o imagine asupra tehnologiilor Hardware cu
care frecvenţele de eşantionare, inclusiv algoritmii de calcul, pot fi implementaţi:

Tab.1.1 Tehnologii hardware şi frecvenţele de eşantionare astfel atinse


Hardware Frecvenţa de eşantionare fT
PC-uri moderne 20 kHz
Procesoare de semnal / procesoare RISC 200 kHz
Sisteme cu procesoare paralele, PLD-uri, > 1 Mz

Cea de a treia alternativă, pe lângă optimizarea algoritmică şi hardware, constă în


renunţarea completă la prelucrarea în timp real. În acest caz se renunţă în faza de

29
achiziţie a datelor la algoritmi de calcul, costisitori din punct de vedere al timpului
necesar, citind şi stocând în timpul perioadei de eşantionare doar câte o valoare
(măsurare în timp real sau măsurare on-line) parcurgându-se ulterior, fără
realizarea altor măsurări, algoritmul de prelucrare al semnalelor şi se indică
rezultatul calculelor. Această modalitate este denumită drept prelucrare off-line.
Dezavantajul acestei proceduri constă evident în aceea că rezultatele măsurării
devin disponibile in timp abia după apariţia lor.

30
CAP. 2. ELEMENTE DE BAZA ALE TEORIEI SEMNALELOR

Atât în teoria sistemelor cât şi în teoria semnalelor în centrul analizei se află


modelul matematic al unui sistem respectiv a unui semnal, prin care, cu ajutorul
instrumentului matematic, realitatea să fie descrisă cât mai exact. Astfel, în spatele
unui simulator de zbor pentru un avion de pasageri, se găseşte un model matematic
complex. Modelul, rulat pe un calculator digital, calculează de exemplu traiectoria
de zbor a avionului rezultată în urma acţionării de către pilot a manetei de direcţie.
Pentru calcularea mişcării se ţine cont de masa avionului, dinamica aerului,
influenţa vântului şi toate celelalte mărimi care pot influenţa traiectoria. Pentru a
reda pilotului senzaţia unui zbor real, se realizează o reprezentare grafică a
mediului înconjurător, a cărui conţinut se actualizează permanent de către modelul
matematic. Mişcările cabinei de pilotaj sunt redate de un sistem hidraulic, ghidat la
rândul său printr-un model matematic.
Semnale simple, de exemplu o tensiune rampa crescătoare, pot fi modelate din
punct de vedere matematic:

u (t ) = 2 ⋅ t (2.0.1)

Cu ajutorul acestei ecuaţii, se poate calcula la orice moment de timp, valoarea


tensiunii:

t [s] 0 1 2 3 4 5 6 7 8 9
u(t) [V] 0 2 4 6 8 10 12 14 16 18

se obţine reprezentarea grafica a ecuaţiei, figura 2.1.a.


Toate cele trei reprezentări sunt forme speciale ale modelului matematic ale
semnalului. Descrierile prin formule sunt cunoscute ca modele parametrice,
descrierile prin tabele de valori sau grafice, sunt denumite modele neparametrice .
Daca semnalul este privit ca discret in timp, cu un timp de eşantionare de T = 0.5s,
semnalul discret are un model parametric de forma:

u (nT ) = 2 ⋅ nT n = 0,1,2,3,...; T = 0.5s (2.0.2)

31
din care se determina apoi simplu graficul semnalului, modelul neparametric,
reprezentat in figura 2.1.b

Fig. 2.1 a Graficul ecuaţiei u(t) b. Graficul semnalului discret u(nT)=2⋅nT

Deoarece aproape toate semnalele pot fi reprezentate, la nivel de model, ca fiind o


suprapunere (adunare) de oscilaţii sinusoidale de amplitudini si frecvente diferite,
iar fiecare oscilaţie sinusoidala poate fi reprezentata fără pierderi de informaţie pe o
scala de frecventa (‚domeniu de frecvenţă’) şi amplitudine, figura 2.2, s-a dovedit
ca fiind deosebit de util modelarea semnalelor in domeniul frecventa prin aşa
numitul spectru de frecventa.
Cu ajutorul analizei Fouriei, se reuşeşte, ca forme aleatoare de semnale, sa fie
descompuse in semnalele sinusoidale aferente (amplitudine si frecventa).

t[s] f [Hz]
Fig. 2.2 Reprezentarea unui semnal sinusoidal de 50Hz si o amplitudine de 2 in domeniul
timp (stânga) si in domeniul frecventa (dreapta)

32
Pentru o reprezentare grafică corespunzătoare, se urmăreşte figura 2.3: semnalul
rezultat din însumarea celor trei semnale sinusoidale, evidenţiază clar in urma unei
analize Fourier in spectrul de amplitudine, oscilaţiile sinusoidale, amplitudinile si
frecventele aferente.

Fig. 2.3 Relaţii dintre domeniul timp - frecventa a unui semnal, evidenţiat prin analiza
Fourier

Daca un semnal oarecare, afectat de zgomot, este supus unei analize Fourier,
rezulta spectrul de amplitudine, figura 2.4.
Se urmăreşte in continuare, ca, pe baza analizei spectrale, să se poate deosebii
componentele de frecvenţă care fac parte din semnalul util şi cele care reprezintă
perturbaţii. Astfel, pe baza unor astfel de analize spectrale se stabilesc frecvenţele
limită pentru elaborarea filtrelor corespunzătoare în vederea eliminării
perturbaţiilor şi obţinerea semnalului util neafectat de frecvenţe parazite.

33
Fig. 2.4 Semnal afectat de zgomot si spectrul de amplitudine aferent

2.1 Clasificarea semnalelor

O clasificare a semnalelor este prezentata in figura 2.5:

Semnal

determinist stohastic

periodic neperiodic stationar nestationar

continuu discret continuu discret continuu discret continuu discret


Fig. 2.5 Clasificarea semnalelor

34
O funcţie sau un semnal este numit determinist daca din cunoaşterea valorii
semnalului la un moment de timp dat t0 putem determina valoarea acestui semnal
in oricare moment de timp t. Cu alte cuvinte, legea de corespondenta dintre
mulţimea de definiţie si mulţimea in care ia valori funcţia este perfect cunoscută.
Din punct de vedere practic acest lucru înseamnă ca aceasta lege de corespondenta
este exprimata prin formule matematice. Aceasta se realizează, de exemplu, cu
modelul matematic al funcţiei temporale u(t)=2⋅t deja analizate.
O a doua categorie de semnale o reprezintă semnalele stohastice sau aleatoare la
care, figura 2.6, modelul matematic nu poate preciza valoarea funcţiei la un anumit
moment de timp t. Cu ajutorul statisticii, poate fi indicata, cu o probabilitate mărită,
care este domeniul de amplitudine in care variază o astfel de funcţie.

Fig. 2.6 Evoluţia in timp a unui semnal stohastic

O privire exigentă, ne arată că toate semnalele sunt stohastice, dar pentru a putea fi
mai bine modelate matematic, acestea se aproximează de cele mai multe ori ca
fiind deterministe.

Semnalele deterministe pot fi la rândul lor împărţite in semnale periodice si


neperiodice. La semnalele periodice, aceeaşi forma a semnalului se repeta la
intervale de timp consecutive:

u (t ) = u (t + nTp ); n = 0,1,2,3...; (2.1.1)


Tp – durata perioadei;

35
Evoluţia unui semnal care reprezintă o electrocardiograma, poate fi aproximat ca
fiind un semnal periodic. Semnalele aperiodice nu repeta forma semnalului. De
exemplu, funcţia e este un semnal aperiodic:

u (t ) = e − at a = const; (2.1.2)

Semnalele aperiodice pot fi definite de-a lungul întregii axe temporale, deci de o
lungime infinită sau tranzitorii. Semnale tranzitorii sunt doar peste un interval al
axei de timp diferite de zero.

Semnalele stohastice pot fi clasificate la rândul lor. Un criteriu important este cel
referitor la modificarea in timp a proprietăţilor statistice ale semnalului (de
exemplu valoarea medie). Daca semnalul îşi modifica proprietăţile, acesta este
considerat ca fiind nestaţionar altfel ca staţionar.

Daca clasificările amintite anterior, rezulta din natura semnalelor, ultimul criteriu,
figura 2.5, se bazează pe metodele de prelucrare a semnalului. La o prelucrare
numerica a semnalului (calculatoare digitale) toate semnalele sunt discrete iar la o
prelucrare analogica (filtrare RC) semnalele se păstrează continue respectiv
analogice.

2.2 Modele ale semnalelor

In cadrul acestuia paragraf, se prezintă metode matematice de modelare a


semnalelor deterministe si stohastice in domeniul timp si frecventa. Pentru
algoritmii de calcul prezentaţi, se vor apela soluţii numerice de rezolvare,
implementate in programul Scilab.

2.2.1 Modele ale semnalelor deterministe

Vorbim de semnale deterministe, atunci când evoluţia în timp a unui semnal poate
fi reprodus şi prevăzut cu exactitate. Semnale deterministe pot fi descrise cu
ajutorul modelelor continue si discrete.

36
2.2.1.1 Modele ale semnalelor continue în domeniul timp

• Semnale periodice

Semnale periodice se caracterizează prin aceea ca o forma identica, dar aleatoare,


se repeta periodic:

u (t ) = u (t + nT0 ); n =1, 2, 3, …; T0 – perioada semnalului (2.2.1)

Principalii reprezentanţi ale semnalelor periodice sunt:

• Semnalele armonice (sin si cos), figura 2.7.a


∧ ∧
u cos (t ) = u⋅ cos(2πf 0 t ) = u⋅ cos(ω 0 t ) (2.2.2)
∧ ∧
u sin (t ) = u⋅ sin (2πf 0 t ) = u⋅ sin (ω 0 t ) (2.2.3)
1
f0 = Frecvenţa [Hz] ω 0 = 2πf 0 pulsaţia [1/s]
T0

u - amplitudinea semnalului

a. b.
Fig. 2.7 a. Semnale periodice armonice b. semnal cosinusoidal defazat

Dacă semnalul unei oscilaţii cosinusoidale nu porneşte exact din maximul pozitiv
(respectiv din zero în cazul unei oscilaţii sinusoidale), această modificare se
numeşte defazaj ϕ (vezi figura 2.7.b) şi este modelată astfel:


u (t ) = u⋅ cos(2πf 0 t + ϕ 0 ) (2.2.4)

37
• Alte semnale periodice

Toate celelalte semnale periodice (dreptunghiulare, dinte de ferăstrău, etc.) pot fi


modelate matematic cu ajutorul seriei Fourier, ceea ce înseamnă o suprapunere
aditiva a oscilaţiilor armonice de amplitudini (ak, bk) si frecvente (k⋅f0; k = 1, 2,
3, …) diferite. Pentru aceasta, in funcţie de semnalul care urmează a fi modelat u(t),
se calculează aşa numiţii coeficienţi Fourier.
Semnalele periodice au proprietatea că pot fi considerate ca fiind sume de funcţii
periodice de aceeaşi perioadă. O astfel de situaţie, utilă din punct de vedere
matematic si tehnic, o constituie faptul că semnalele periodice pot fi considerate ca
fiind sume ponderate de funcţii trigonometrice cu aceeaşi perioadă sau cu
diviziuni întregi ale acesteia. O astfel de construcţie se numeşte serie
trigonometrică, sau după numele celui care a stabilit-o, serie Fourier:


 1  ∞  1 
u (t ) = a 0 + ∑a k cos 2πk t  + bk sin  2πk t 
∑ (2.2.5)
k =1  T  k =1  T 

Pentru determinarea coeficienţilor unei dezvoltări în serie Fourier, se porneşte de la


proprietăţile de ortogonalitate ale funcţiilor trigonometrice:

T
 1   1 1 T
∫ sin 2πk T t dt = − 1
cos 2πk t  =
 T 0
0 2πk
T (2.2.6)
1
(− cos(2πk ) + cos(0) ) = 1 (− 1 + 1) = 0, ∀k
1 1
2πk 2πk
T T
T
 1  1  1 T
∫ cos 2πk T t dt = 1
sin  2πk t  = 0, ∀k
 T 0
(2.2.7)
0 2πk
T
T
 1   1 
∫ sin 2πk T t  ⋅ sin 2πl T t dt =
0

1 1  
T T
 1 1   1
= ∫
2  0
cos 

2πk
T
t − 2πl t
T 
 dt −
0  ∫
cos 2πk t + 2πl t dt 
T T  

38
1
T

T
2π   1 T daca k = l 

=  ∫
cos (k − l )tdt − cos (
∫k + l )tdt  = 2  (2.2.8)
2  0 T 0
T   0 daca k ≠ l 

Deoarece in relaţia (2.2.5) indicii k sunt de la 1 la ∞ (pozitive), nu poate fi luată în


considerare situaţia când k = -l.

T
 1   1 
∫ cos  2π k T t  ⋅ cos  2π l T t  dt =
0

1 1  
T T
 1 1   1 (2.2.9)
=  cos  2π k t + 2π l t  dt + cos  2π k t − 2π l t  dt 
∫ ∫
2  0  T T  0  T T  

1 2π  1 
(k + l )tdt + cos 2π (k − l )tdt  =  2 T
T T
daca k = l
= ∫
 cos
2  0 T 0
T ∫   0 daca

k ≠ l 

T
 1   1 
∫ sin 2πk T t  ⋅ cos 2πl T t dt =
0

1 1  
T T
 1 1   1 (2.2.10)
 sin  2πk t + 2πl t dt + sin  2πk t − 2πl t dt 
∫ ∫
2  0  T T  0  T T  

1 2π 
(k + l )tdt + sin 2π (k − l )tdt  = 0, ∀k , l
T T
=  sin
2  0 ∫T 0
T ∫ 

În baza proprietăţilor de ortogonalitate a funcţiilor trigonometrice, se va putea


determina coeficientul a0 (2.2.11) care reprezintă valoarea medie a funcţiei u(t),
integrând ambii membrii ai relaţiei (2.2.5) pe o perioadă şi ţinând cont de relaţiile
(2.2.6), (2.2.7):

T T ∞ T ∞ T
 1   1 
∫ ∫
u (t ) = a 0 dt + ∑∫
k =1 0
a k cos 2πk t dt +
 T 
∑∫
k =1 0
bk sin  2πk t dt =
 T 
0 0
T ∞ T ∞ T
 1   1 
= a 0 dt + ∫ ∑ ∫
k =1  T  k =1
∑ ∫
a k cos 2πk t dt + bk sin  2πk t dt =a 0T
 T 
0 0 0

T T
u (t )dt
1
∫ u (t ) = a T
0
0 ⇒ a0 =
T 0 ∫ (2.2.11)

39
 1 
Pentru determinarea coeficientului ak multiplicăm relaţia (2.2.5) cu cos 2πk t 
 T 
şi integrăm pe o perioadă, rezultând:

T T
 1   1 
∫ u (t ) cos 2πk t dt = a 0 cos 2πk t dt +

0  T  0  T 
∞ T
 1   1 
+ ∑∫a
k =1 0
k cos 2πk t  cos 2πl t  dt +
 T   T 
∞ T
 1   1  1
+ ∑∫b
k =1 0
k sin  2πk t  cos 2πl t dt = Ta k
 T   T  2

T
⇒ a k = 2 u (t ) cos 2πk 1 t dt , pentru k = 1 … ∞
∫ T 0  T 
(2.2.12)

Pentru a determina coeficienţii bk ai seriei Fourier, multiplicăm această serie cu


 1 
sin  2πk t  şi integrăm ambii membrii pe o perioadă:
 T 
T
⇒ bk = 2 u (t ) sin  2πk 1 t dt , pentru k = 1 … ∞
∫ T 0  T 
(2.2.13)

1 2π
− frecventa _ fundamentala − pulsatia _ fundamentala
T T

Daca se realizează modelarea unui semnal cu ajutorul (2.2.5), (2.2.11), (2.2.12) si


(2.2.13), de exemplu pentru un semnal dreptunghiular de forma celui prezentat în
figura 2.8, se obţin următorii coeficienţi Fourier:

a0=0; a1=0; a2=0; a3=0; …


b0=0; b1=4 û π ; b2=0; b3=4 û 3π ; b4=0; b5=4 û 5π ; …

si astfel următorul model matematic al semnalului in forma unei serii Fourier (ω0 =
2π⋅f0):

4u  
sin (ω o t ) + sin (3ω o t ) + sin (5ω o t ) + sin (7ω o t ) + ... (2.2.14)
1 1 1
u (t ) =
π  3 5 7 

40
Fig. 2.8 Semnal dreptunghiular cu perioada T0 si amplitudinea

Imaginea următoare, figura 2.9, arata pentru T0 = 10 si û = 1, evoluţia celor patru


semnale care urmează sa se însumeze (linia subţire) si suma acestora (linia
îngroşată):

Fig. 2.9 Modelarea semnalului dreptunghiular prin oscilaţii armonice

Se observa ca (2.2.14) aproximează un semnal dreptunghiular. O evidenţiere mai


detaliata este prezentata in figura 2.10, in care modelul este prezentat cu unul pana

41
la sase semnale însumate: corectitudinea modelarii creste cu indexul k in modelul
matematic (2.2.5).

Fig. 2.10 Aproximarea semnalului dreptunghiular cu seria Fourier de la 1 la 6 armonici

Cu transformata Fourier digitala (2.2.62), (2.2.64) prezentată pe larg în paragraful


2.2.1.4, seriile Fourier pot fi aproximate numeric cu ajutorul calculatoarelor
digitale. Anticipând această dezvoltare, indicăm algoritmul numeric în această
etapă:
Cu algoritmul numeric (2.2.70)

U (k ⋅ ∆f ) = TFD(u (nT ) ) (2.2.15)


n = 0, 1, 2, 3, …., N – 1;
N
k = 0,1, 2, 3, …, ;
2

şi cu relaţia (2.2.65)

42
U (k ⋅ ∆f ) = Re{U (k ⋅ ∆f )} + j Im{U (k ⋅ ∆f )} (2.2.16)

se obţin coeficienţii Fourier

⋅ Re{U (k ⋅ ∆f )}; ⋅ Re{U (0)};


2 1
ak ≈ a0 ≈
N N

⋅ Im{U (k ⋅ ∆f )}
2
bk ≈ − b0 = 0 (2.2.17)
N
N
k = 0,1, 2, 3, …,
2

La utilizarea relaţiilor numerice de aproximare prezentate mai sus, trebuie ţinut


cont de faptul că exact o perioadă T0 a semnalului de modelat, figura 2.11, este
eşantionat.

Fig. 2.11 Eşantionarea unei perioade a unui semnal pentru determinarea numerică a
coeficienţilor Fourier

Se observă că în relaţiile anterioare (2.2.15) până la (2.2.17) în locul lui ∆f se poate


utiliza f0, frecvenţa de bază a semnalului ce urmează a fi modelat.
În anexa B2 se găseşte un program Scilab, f_serie.sce, care demonstrează
modelarea numerică a seriei Fourier.

43
• Semnale aperiodice

Cea de a doua categorie importanta a semnalelor deterministe sunt cele cu o


evoluţie neperiodică. Unele dintre aceste semnale sunt definite pe întreaga axă al
timpului 0 ≤ t < ∞, altele doar pe un interval de timp bine delimitat. Astfel de
semnale se numesc semnale tranzitorii aperiodice.
In tabelul 2.1 sunt sintetizate cele mai importante semnale aperiodice

Tab. 2.1 Funcţii de timp ale unor semnale aperiodice


Impuls Dirac
0 pt t ≠ 0
u (t ) = δ (t ) = 
∞ pt t = 0

Funcţia treapta (ne-tranzitoriu)


∧  ∧
u (t ) = u σ (t ) = u pt t ≥ 0
0 pt t < 0

Funcţia impuls
0, t<0
∧
u (t ) = u , 0 ≤ t ≤ τ
0, t >τ

44
Funcţia exponenţială
 ∧ −vt
u (t ) = u⋅ e pt t ≥ 0
 0 pt t < 0

Oscilaţie sinusoidală atenuată


 ∧ −vt
u (t ) = u⋅ e sin (2πf 0 t ), t ≥ 0
 0 t<0

De asemenea, si semnale aperiodice cu o forma de variaţie aleatoare, figura 2.12,


pot fi descrise, cu aproximaţie, prin modele parametrice.

Fig. 2.12 Semnal aperiodic de forma aleatoare

Baza aproximării unui model matematic pentru un semnal aperiodic, o constituie,


de cele mai multe ori, metoda sumei celor mai mici pătrate (MSCMMP). Cu
ajutorul acestei metode, este posibil, ca pe baza valorilor măsurate ale unui semnal
aperiodic, sa se aproximeze modele parametrice ale semnalului de forma:

45
• unui polinom,
• unei sume de funcţii trigonometrice,
• alte tipuri de funcţii [15].

Deoarece metoda sumei celor mai mici pătrate are o importanta fundamentală în
teoria semnalelor şi sistemelor, vom prezenta modelarea semnalelor aperiodice prin
aproximarea polinoamelor cu metoda CMMP.
Dacă printr-un număr de puncte de măsurare ui mas(t) urmează sa fie ridicata o curba
de aproximare, figura 2.13, exprimata de un polinom de forma

u apr (t ) = a m t m + a m−1t m−1 + ... + a 2 t 2 + a1t 1 + a0 (2.2.18)

Fig. 2.13 Evoluţia aproximata a unui semnal

se impune fie ca

- toate erorile δi sa fie anulate,

δ0 = δ1 = … = δn-1 = 0 (2.2.19)

sau

- suma erorilor

46
n −1 n −1

∑ δ i =∑ (ui _ mas − ui _ apr ) = min


i =0 i =0
(2.2.20)

să fie cât se poate de mică.

Prima variantă se impune atunci când se ştie că valorile semnalului măsurat ui mas(t)
sunt exacte si se urmăreşte, printr-un model al semnalului, interpolarea valorilor.
Modelarea semnalului pe baza celei de a doua presupuneri (2.2.20) este preferată
atunci când, se ştie, că valorile măsurate ui mas(t) sunt afectate de erori de măsurare,
figura 2.14.

Fig. 2.14 Aproximarea versus interpolarea unei succesiuni de valori măsurate

In cazul următoarei configuraţii de valori măsurate,

Fig. 2.15 O aproximare greşită pe baza (2.2.20)

47
se obţine prin premisa (2.2.20) un model fals al semnalului (dreapta din figura
2.15), deoarece datorită diferitelor semne ale lui δi suma din (2.2.20) nu se
minimizează, ci devine chiar zero:

(u1 _ mas ) (
− u1 _ apr + u 2 _ mas − u 2 _ apr = 0) (2.2.21)

Pentru evitarea acestei erori, se poate utiliza calculul de modul:

n −1 n −1

∑ δ =∑ u
i =0
i
i =0
i _ mas − u i _ apr = min (2.2.22)

In acest caz, erorile δ1 si δ2 vor fi de semn pozitiv, figura 2.16. Un semnal bazat pe
acest model, care aproximează mai bine valorile măsurate,

Fig. 2.16 Aproximare reuşită

ar minimiza, la aceeaşi configuraţie de măsurare, eroarea de aproximare (2.2.22)


respectiv pentru cazul prezentat, ar duce chiar la zero:

u1 _ mas − u1 _ apr + u 2 _ mas − u 2 _ apr = min . (2.2.23)

48
În calculele matematice analitice modulul este înlocuit prin operaţia de ridicare la
pătrat,

n −1 n −1

∑ (δ ) =∑ (u
i =0
i
2

i =0
i _ mas − u i _ apr )
2
= min (2.2.24)

care are acelaşi efect ca si operaţia de modul, dar poate fi mai bine prelucrat
analitic. Prin aceasta s-a fixat ecuaţia de definiţie a metodei sumei celor mai mici
pătrate.
Sarcina constă acum în aceea de a de a stabilii (m+1) coeficienţi ak (k=0,1,2,..,m)
unui polinom de ordinul m

u apr (t ) = a m t m + a m−1t m−1 + ... + a 2 t 2 + a1t + a0 (2.2.25)

în aşa fel încât la momentele de măsurare ti să furnizeze valorile de aproximare


uiapr(t) care au menirea de a minimiza expresia (2.2.24).
Pentru aceasta se fixează un polinom de aproximare cu gradul

m < n-1 (2.2.26)

unde n reprezintă numărul valorilor măsurate

(t 0 , u 0 _ mas ), (t1 , u1 _ mas ), (t 2 , u 2 _ mas ),..., (t n −1 , u n−1 _ mas )

ale evoluţiei semnalului ce urmează a fi aproximat. Apoi se urmăreşte ca


următoarea expresie (obţinută prin înlocuirea expresiei (2.2.25) în (2.2.24)), să fie
minimizată în funcţie de coeficienţii polinomiali ak:

n −1 n −1
MCMMP = ∑ (δ ) =∑ (u
i =0
i
2

i =0
i _ mas − u i _ apr )
2
=
(2.2.27)
∑ (u ( ))
n −1
m −1 2
i _ mas − a m t + a m −1t
m
+ ... + a 2 t + a1t + a 0
2
= min
i =0

49
Vom renunţa la determinarea analitică şi vom urmări procedură pe baza unui
exemplu, urmând a deduce un algoritm general valabil, exprimat matricial.

Exemplu. Se consideră patru valori măsurate ale unui semnal aperiodic, figura 2.17:

i ti uimas
0 0 2,0
1 1 0,9
2 2 1,1
3 3 2,2

Fig. 2.17 Valori măsurate ale semnalului ca bază în aproximarea unui model polinomial

Se caută modelul matematic al unui semnal în forma unui polinom. În baza


condiţiei m < n-1 = 4 – 1 = 3 gradul polinomului trebuie ca să fie m < 3. Pentru
soluţionarea problemei vor putea aşadar fi considerate următoarele polinoame:

u apr (t ) = a 2 t 2 + a1t + a 0 (2.2.28)


u apr (t ) = a1t + a 0 (2.2.29)
u apr (t ) = a 0 (2.2.30)

Variantele posibile constau dintr-o parabolă (2.2.28) o dreaptă cu o poziţie oarecare


(3.2.29) şi o dreaptă paralelă cu axa t, (2.2.30). Toate aceste ecuaţii concurează
spre o soluţie optimă din punctul de vedere al MCMMP. Polinomul cu care se va
lucra, se află la libera alegere a utilizatorului, deseori însă cunoştinţe a priori din
practică oferă un indiciu în direcţia alegerii gradului polinomului.
Pentru a structura cât mai simplu etapele de calcul, vom alege pentru analiza
noastră modelul linear (2.2.29). Sarcina constă în a determina coeficienţii a0 şi a1
din (2.2.29). Pentru aceasta vom înlocuii (2.2.29) şi setul de valori măsurate (ti,
ui_mas) în ecuaţia (2.2.27):

MCMMP = (2,0 − a1 0 − a0 ) + (0,9 − a11 − a0 ) + (1,1 − a1 2 − a0 ) +


2 2 2
(2.2.31)
+ (2,2 − a1 3 − a0 ) = min
2

50
Condiţia pentru un minim al MCMMP este ca derivata MCMMP, după variabilele
a1 şi a0, să dispară:

∂MCMMP
= 0 + 2 ⋅ (0,9 − a1 − a0 ) ⋅ (−1) + 2 ⋅ (1,1 − 2a1 − a0 ) ⋅ (−2) +
∂a1 (2.2.32)
+ 2 ⋅ (2,2 − 3a1 − a 0 ) ⋅ (−3) = 0;

∂MCMMP
= 2 ⋅ (2,0 − a 0 ) ⋅ (−1) + 2 ⋅ (0,9 − a1 − a0 ) ⋅ (−1) +
∂a0 (2.2.33)
2 ⋅ (1,1 − 2a1 − a0 ) ⋅ (−1) + 2 ⋅ (2,2 − 3a1 − a0 ) ⋅ (−1) = 0.

Dacă se grupează ecuaţiile (2.2.32) şi (2.2.33):

28a1 + 12a 0 − 19,4 = 0 (2.2.34)


12a1 + 8a 0 − 12,4 = 0,

se obţine un sistem de două ecuaţii cu necunoscutele a0 şi a1 din care rezultă a0 =


1,43 şi a1 = 0,08 şi prin aceasta modelul matematic căutat

u (t ) = 0.08t + 1,43. (2.2.35)

Reprezentarea grafică a acestei ecuaţii, figura 2.18, arată ca modelul descrie doar
cu aproximare valorile măsurate:

Fig. 2.18 Valorile măsurate ale semnalului şi modelul polinomial de ordinul I

51
Se urmăreşte deducerea unui algoritm numeric general în vederea rezolvării unor
astfel de probleme. Pentru aceasta se vor scrie atâtea polinoame cu gradul dorit (m),
numărul valorilor măsurate (n) existente şi prevăzute suplimentar cu un factor
aditiv ε:

u 0 _ mas (t 0 ) = a 0 + a1t 0 + a 2 t 02 + ... + a m t 0m + ε (t 0 )

u1 _ mas (t 1 ) = a 0 + a1t1 + a 2 t12 + ... + a m t1m + ε (t1 )

u 2 _ mas (t 2 ) = a 0 + a1t 2 + a 2 t 22 + ... + a m t 2m + ε (t 2 )


….. (2.2.36)
u n −1 _ mas (t n −1 ) = a 0 + a1t n −1 + a 2 t n2−1 + ... + a m t nm−1 + ε (t n −1 )

Fiecare linie din (2.2.36) descrie calcularea unui punct de măsurare ui_mas(ti) prin
modelul polinomial. Deoarece polinomul nu se va suprapune exact peste valoarea
măsurată, s-a introdus eroarea εi(ti) care ţine cont de aceasta. Ecuaţia (2.2.36) va fi
transpusă acum în formă matricială:

 u 0 _ mas (t 0 )   1 t 0 t 02 t 03 ... t 0m   a 0   ε 0 (t 0 ) 
 u       
 1 _ mas (t1 )  =  1 t1 t12 t13 ... t1m   a1   ε 1 (t1 ) 
⋅ +
 ...  ...   ...   ... 
       
u n4
2 3 m
a m  ε n −1 (t n −1 )
  1 t n −1 t n −1 t n −1 ... t n −1  {
−1 _ mas (t n −1 ) 
1 42443 1 444442444443 14243
u (t ) M p ε (t )
− mas − − −

u (t ) = M ⋅ p + ε (t ) (2.2.37)
− mas − − −

Dacă se impune din nou condiţia ca, în sensul metodei celor mai mici pătrate,
eroarea ε să se minimizeze, trebuie ca

( )
∂ ε (t )

2

=0 (2.2.38)
∂p

Deoarece pătratul unui vector nu este definit, trebuie înţeles că prin această
operaţie se urmăreşte minimizarea sumei pătratului erorilor din (2.2.38). Aceasta se
poate exprima în felul următor:

52
ε 2 (t ) = ε 2 (t 0 ) + ε 2 (t1 ) + ... + ε 2 (t n−1 ) (2.2.39)

Conform regulilor calculelor matriciale pătratul ε 2 (t ) poate fi exprimat:


ε (t ) ε ' (t ) = ε 2 (t 0 ) + ε 2 (t1 ) + ... + ε 2 (t n −1 ), (2.2.40)


− −

astfel încât ecuaţia (2.2.38) poate fi exprimată

(
∂ ε ' (t ) ⋅ ε (t )
− −
)= 0 (2.2.41)
∂p

După exprimarea ecuaţiei (2.2.37) în funcţie de ε (t ) şi înlocuirea în (2.2.41)


rezultă

(
∂ ε ' (t ) ⋅ ε (t )
− −
) = ∂  u
− mas

− −   − mas − −

(t ) − M p '⋅ u (t ) − M p 
 = 0. (2.2.42)
∂p ∂p
− −

Dacă se rezolvă această ecuaţie se obţine soluţia generală de calcul a modelelor


matematice a semnalelor aperiodice sub formă de polinoame după metoda celor
mai mici pătrate. Rezolvarea ecuaţiei este:


(
p = M '⋅ M
− −
)
−1
⋅ M '⋅ u
− − mas
(t ) (2.2.43)

În anexa B2 se găseşte programul Scilab aprox.sce care demonstrează modelarea


matematică a semnalelor prin aproximare polinomială cu ajutorul metodei celor
mai mici pătrate [relaţiile (2.2.37) şi (2.2.43)].

Cu ajutorul acestui program se pot modela valorile măsurate din figura 2.17, cu
toate polinoamele (2.2.28) până la (2.2.30). Se constată că ecuaţia polinomială de
ordinul 2 modelează cel mai bine valorile măsurate, figura 2.19.

53
Fig. 2.19 Aproximarea polinomială de ordinul 0, 1 şi 2 pentru
valorile măsurate din figura 2.17

2.2.1.2 Modele ale semnalelor continue în domeniul frecvenţă

Prin faptul că se poate imagina că toate formele de semnale pot fi privite ca o


suprapunere (însumare) a semnalelor armonice cu frecvenţe, amplitudini şi faze
diferite, modelarea acestora în domeniul frecvenţă constă în aceea ca parametrii
fiecărei oscilaţii, amplitudinea û şi faza ϕ sunt reprezentate în funcţie de frecvenţă
f. Acest procedeu este cunoscut ca analiză spectrală a unui semnal. Reprezentarea
amplitudinii în funcţie de frecvenţă se numeşte spectrul de amplitudine iar cea a
fazei, spectrul de fază. Modelele semnalelor în domeniul frecvenţă sunt deci cu
preponderenţă modele ne-parametrice.

• Semnale periodice

La modelarea semnalelor periodice în domeniul timp, a demonstrat că fiecare


semnal poate fi modelat în forma unei serii Fourier. Coeficienţii Fourier ak, bk din
(2.2.11), (2.2.12) si (2.2.13) pot fi interpretaţi ca amplitudini ale unor semnale

54
sinusoidale şi cosinusoidale de diferite frecvenţe, din care se compune semnalul ce
urmează a fi modelat.

 1   1 
a k cos 2πk t  + bk sin  2πk t  =
 T   T 
(2.2.44)
  1  b  1 
= a k cos 2πk t  + k sin  2πk t 
  T  ak  T 
Notăm:

bk
= tgα k (2.2.45)
ak

  1   1 
a k cos 2πk t  + tgα k sin  2πk t  =
  T   T 
ak   1   1  
=
cos α k cos 2πk T t  cos α k + sin  2πk T t  sin α k  = (2.2.46)
     
ak  1 
= cos 2πk t − α k 
cos α k  T 

bk 1 − cos 2 (α k )
= tgα k = (2.2.47)
ak cos α k

Înmulţind relaţia (2.2.47) cu cos αk, şi apoi ridicând la pătrat, se obţine:

(cos α k ) bk = 1 − cos 2 (α k ) ; cos α k =


ak
ak a k2 + bk2
ak  1   1 
⇒ cos 2πk t − α k  = a k2 + bk2 cos 2πk t − α k 
cos α k  T   T 

 1 
u (t ) = A0 + ∑ a k2 + bk2 cos 2πk t − α k  , (2.2.48)
k =1  T 

A0 = 0 , Ak = a k2 + bk2

Relaţia (2.2.48) ne arată faptul că o funcţie periodică poate fi considerată ca fiind


suma dintre o constantă şi un număr infinit de funcţii cosinus multiplicate cu

55
coeficienţi constanţi iar argumentele funcţiei cos, pe lângă termenul dependent de
timp, au faze iniţiale constante şi diferite. Cu alte cuvinte, o funcţie periodică poate
fi definită prin următorii parametrii: perioada sa, coeficienţii Ai, i=0…∞ şi fazele
αi cu i=0…∞.

În anexa B2 se găseşte aplicaţia Scilab f_spec.sce, care calculează şi reprezintă


grafic spectrul de amplitudine a unui semnal periodic definit de utilizator. Cu
ajutorul acestui program s-a calculat spectrul semnalului din figura 2.8, cu T0 = 10
şi uˆ = 1 , figura 2.20.

Fig.2.20 Spectrul de amplitudine al semnalului periodic continuu (figura 2.8)

• Semnale neperiodice

Pentru a transforma un semnal aperiodic în domeniul frecvenţă, ceea ce presupune


calcularea spectrului de frecvenţă, se utilizează aşa numita integrală Fourier:


− j 2πft
U( f ) = ∫ u (t )e
−∞
dt (2.2.49)

Această transformare este însă numai atunci posibilă când suprafaţa sub curba de
semnal care urmează a fi transformată, este finită:

∫ u(t ) dt < ∞
−∞
(2.2.50)

56
Pentru rezolvarea integralei Fourier (2.2.49), adică pentru obţinerea unui model
parametric în domeniul frecvenţă, semnalul aperiodic u(t) care urmează a fi
transformat, trebuie să existe ca model parametric. În anexa A, la tabelul de
corespondenţă al transformatei Fourier, este exemplificat un astfel de calcul
analitic.

Pornind de la presupunerea că semnalul aperiodic continuu u(t) este limitat la un


interval de timp Tsemnal, figura 2.21, transformata Fourier U(f) poate fi calculată
numeric cu aproximare in jurul frecvenţelor k∆f şi cu ajutorul transformatei Fourier
digitale:

U ( k ⋅ ∆f ) = TFD(u (nT )) (2.2.51)


N
n = 0,1,2,3,..., N − 1; k = 0,1,2,3,..., ;
2

Dacă rezultatul transformării Fourier digitale (TFD) este înmulţit cu timpul de


eşantionare T se obţine aproximarea continuă U(k⋅∆f)cont, care reprezintă o
succesiune de valori complexe

U ( f ) ≈ U ( k∆f ) cont ≈ T ⋅ U ( k∆f ) (2.2.52)

din care se poate calcula modulul şi prin aceasta spectrul de amplitudine cu ajutorul

U ( f ) = Re 2 {U (k∆f )cont } + Im 2 {U (k∆f )cont } (2.2.53)

Important este ca

N⋅T ≥ Tsemnal (2.2.54)

ceea ce înseamnă ca perioada de observaţie a semnalului N⋅T, trebuie să fie mai


mare sau egală cu durata semnalului. Aproximarea devine cu atât mai exactă cu cât
timpul de eşantionare T se alege mai mic.

57
Fig. 2.21 Definirea duratei Tsemnal a unui semnal aperiodic

In anexa B2 se afla programul Scilab tfc.sce, care aproximează o transformare


Fourier continuă în sensul celor descrise anterior. Cu ajutorul programului s-a
implementat transformata Fourier a semnalului

u (t ) = e −0.5t sin (2π 2t ) (2.2.55a)

iar rezultatul a fost comparat cu spectrul determinat analitic (A.1.1.5):

2π 2
U( f ) = (2.2.55b)
( j 2πf + 0.5) + (2π 2) 2
2

Figura 2.22a indică evoluţia în timp a semnalului (linia continuă) iar cercurile
indică valorile eşantionate. Figura 2.22b ilustrează spectrul de amplitudine calculat
analitic (linia continuă) şi spectrul determinat numeric cu ajutorul relaţiilor (3.2.51),
(3.2.52) şi (3.2.53).

Se observă o foarte bună suprapunere între rezultatul determinat analitic şi cel


numeric. Doar la frecvenţe ridicate cele două rezultate deviază uşor, aceasta însă
poate fi remediat prin mărirea frecvenţei de eşantionare.

58
Durata de observare a semnalului: tend = 10
Timp de eşantionare: T = 0.1
Număr max de eşantionae: N = 100
Frecvenţa Nyquist: fmax = 5
Rezoluţia de frecvenţă: ∆f = 0.1
Fig. 2.22 Spectrul de amplitudine determinat numeric (b) pentru un semnal continuu
aperiodic

În tabelul 2.2 sunt redate graficele spectrului de amplitudine a semnalelor


temporale din tabelul 2.1. TFD nu furnizează în cazul funcţiei treaptă un rezultat
utilizabil, deoarece condiţia de aplicare a TFD (2.2.50) este încălcată.
Se observă că spectrele semnalelor continue aperiodice prezintă o evoluţie continuă,
aperiodică.
Tab. 2.2 Spectrul amplitudinilor unor semnale aperiodice
Impuls Dirac
0 pt t ≠ 0
u (t ) = δ (t ) = 
∞ pt t = 0

59
Funcţia treapta (ne-tranzitoriu) TFD furnizează un rezultat neexact
∧  ∧
u (t ) = u σ (t ) = u pt t ≥ 0
0 pt t < 0
Funcţia impuls
0, t<0
∧
u (t ) = u , 0 ≤ t ≤ τ
0, t >τ

Funcţia exponenţială
 ∧ − vt
u (t ) = u⋅ e pt t ≥ 0
 0 pt t < 0

Oscilaţie sinusoidală atenuată


 ∧ −vt
u (t ) = u⋅ e sin (2πf 0 t ), t ≥ 0
 0 t<0

2.2.1.3 Modele ale semnalelor discrete în domeniul timp

Deoarece semnalele se găsesc într-o proporţie covârşitoare sub forma semnalelor


continue, prin procesul de eşantionare apar semnalele discrete în timp. Dacă
prelucrarea semnalelor se face cu ajutorul calculatorului digital, trebuie tratate
semnalele discrete.

60
Cum s-a observat, semnalele discrete apar în urma procesului de eşantionare a
semnalelor continue la momentele de timp:

n⋅T; n=0, 1, 2,… (2.2.56)

unde T reprezintă, din prisma analizei, un interval de timp constant, denumit timp
de eşantionare, iar inversul f T = 1 / T frecvenţă de eşantionare.

Semnalele discrete nu sunt funcţii de timp, aşa cum este cazul semnalelor continue,
ci valori succesive de amplitudini

{u (nT )} = {u (0); u (T ); u (2T ); u (3T )...} (2.2.56)

Toate modelele parametrice ale semnalelor continue periodice şi aperiodice pot fi


transformate în modele discrete de timp prin înlocuirea variabilei t prin n⋅T. Astfel
modelul continuu sinusoidal, figura 2.23.a,

u (t ) = sin (2πft ) trece în u (nT ) = sin (2πf ⋅ nT ) (2.2.57)

Fig. 2.23a. Semnal sinusoidal discret

sau, funcţia treaptă continuă

 ∧
u (t ) = σ (t ) = u pt t ≥ 0
0 pt t < 0

61
trece în funcţia treaptă discretă, figura 2.23.b,

 ∧
u (nT ) = σ (nT ) = u pt t ≥ 0; n = 0,1,2,.. (2.2.58)
0 pt t < 0

Fig.2.23 b. Semnal treapta discret

Tehnicile de modelare pentru alte semnale parametrice, de exemplu cazul


aproximării polinomiale, nu trebuie tratat cu mai multe detalii, deoarece metoda de
determinare ale modelului sunt aceleaşi şi pentru semnalele discrete, prin aceea că
modelele continue obţinute, sunt analizate doar la punctele corespunzătoare
timpilor de discretizare.

De exemplu, aproximarea polinomială de ordinul 2 din figura 2.19 este descrisă din
punct de vedere al discretizării:

u (nT ) = 1,98(nT ) 2 − 1,57 nT + 0,55 (2.2.59)

Pentru un timp de eşantionare T = 0.5 sec, rezultă un grafic corespunzător valorilor


eşantionate, reprezentat în figura 2.24.
Trecerea la semnale discrete este direct legată de alegerea timpului de eşantionare
T, respectiv a frecvenţei de eşantionare fT. Aşa cum s-a indicat, trebuie respectată
teorema de eşantionare a lui Shannon, conform căreia frecvenţa de eşantionare fT
trebuie să fie de două ori mai mare decât frecvenţa celei mai mari componente a
semnalului

1
fT = ≥ 2 ⋅ f Max ( semnal ) (2.2.60)
T

62
Fig. 2.24 Model polinomial discret corespunzător unui semnal aperiodic

Dacă nu se respectă această condiţie, toate componentele de frecvenţă mai mari de


fT / 2 se sustrag unei prelucrări corecte (de exemplu semnalul nu mai poate fi
reconstituit exact din valorile eşantionate).

2.2.1.4 Modele ale semnalelor discrete în domeniul frecvenţă

Dacă se înlocuieşte în ecuaţia integralei Fourier (2.2.49) semnalul continuu u(t)


prin valorile sale eşantionate iar integrala printr-o sumă infinită, se obţine relaţia
analitică pentru transformarea seriilor semnalelor discrete aperiodice în domeniul
frecvenţă:

+∞
Ua ( f ) = ∑ u(nT )e
n = −∞
− j 2πfnT
(2.2.61)

Aşa cum se observă din (2.2.61), semnale discrete aperiodice generează spectre
continue (periodice).

63
Presupunând că u(nT) este o serie discretă, periodică a unui semnal, se poate arăta
că [5]

• Ua(f) are o caracteristică de frecvenţă care se repetă periodic, cu perioada


f T = 1 / T şi
• Ua(f) există doar la puncte de frecvenţă discrete

k
k ⋅ ∆f = ,
N ⋅T

iar perioada indicată anterior are o lungime de exact N puncte de frecvenţă.

Dacă U(f) este evaluat doar în aceste puncte de frecvenţă, şi suma se alcătuieşte de
la n = 0 până la n = N-1, deci peste N valori, (2.2.61) trece în

+∞
U (k ⋅ ∆f ) = ∑ u(nT )e
n = −∞
− j 2πk∆fnT

Cu

k ⋅ n ⋅T k ⋅ n
k ⋅ ∆f ⋅ n ⋅ T = =
N ⋅T N

se obţine transformata Fourier digitală (TFD)

+∞ − j 2π
kn
U (k ⋅ ∆f ) = ∑ u (nT )e N (2.2.62)
n = −∞

k = 0, 1, 2, .., N-1

În cazul semnalelor periodice discrete, TFD lucrează exact sub premisa ca perioada
de observaţie NT să fie egală cu multiplul întreg i al duratei perioadei T0 a
semnalului de analizat:

N⋅T = i ⋅ T0 ; i = 1, 2, 3, … (2.2.63)

64
Se face menţiunea că în argumentele U şi u, din motive de simplificare a formei de
scriere, ∆f şi T sunt des neglijate, motiv pentru care este valabilă următoarea
identitate:

U(k⋅∆f) ≡ U(k) şi u(nT) ≡ u(n).

Pentru a putea transpune expresia (2.2.62) într-un limbaj de modelare şi simulare


de nivel ridicat, aceasta se exprimă cu ajutorul relaţiilor lui EULER (vezi Anexa
A2) în componentele ei:

N −1 N −1
 kn   kn 
U (k ⋅ ∆f ) = ∑ u (n) ⋅ cos 2π ⋅  − j u (n) ⋅ sin  2π ⋅ 
∑ (2.2.64)
n =0  N  n =0  N

Din seria de valori complexe rezultate

U (k ⋅ ∆f ) = Re{U (k ⋅ ∆f )} + j Im{U (k ⋅ ∆f )} (2.2.65)

poate fi calculat spectrul de amplitudine (anexa A2):

U (k ⋅ ∆f ) = Re 2 {U (k ⋅ ∆f )} + Im 2 {U (k ⋅ ∆f )} (2.2.66)

Se observă, că semnalele discrete, periodice, produc la rândul lor spectre periodice,


discrete.

Pentru a facilita o urmărire mai atentă a elementelor ce urmează a fi prezentate în


continuare şi ca atare a le face mai clar înţelese, paragraful va fi împărţit în
subparagrafe:

• Ecuaţia de transformare inversă (transformată Fourier digitală inversă)

Pentru unele cazuri particulare ale prelucrării numerice ale semnalelor, de exemplu
la proiectarea filtrelor nerecursive, este necesar ca spectre existente U(k⋅∆f) ale
unui semnal cu valori discrete u(nT) să fie transformate înapoi în domeniul timp.
Aceasta se realizează prin intermediul algoritmului transformatei Fourier digitale
inverse
65
N −1 k ⋅n
− j ⋅2 π
u (nT ) =
1
N
∑ U ( k ⋅ ∆f ) e
k =0
N ;
(2.2.67)
n = 0,1,2,..., N − 1

• Diferenţa dintre transformata Fourier discretă (TFD) şi transformata Fourier


rapidă (FFT)

La baza TFD cât şi a FFT se află relaţia (2.2.62). TFD implementează algoritmul
cu fidelitate faţă de relaţia de definiţie. Aceasta necesită pentru determinarea unui
punct de frecvenţă U(k⋅∆f) N operaţii de înmulţire şi N-1 adunări. Pentru N puncte
de frecvenţă trebuie atunci să fie implementate N2 operaţii de înmulţire şi N(N-1)
adunări. La un volum mai mare de date u(n) un astfel de calcul, în mod special
datorită numărului ridicat de înmulţiri, chiar şi la utilizarea unui PC performant,
poate dura secunde, chiar minute. Cu ajutorul unui algoritm de calcul inteligent,
algoritmul transformatei Fourier rapide (FFT), care evită, printre altele, ca aceleaşi
calcule să fie repetate de mai multe ori, volumul de calcul se reduce drastic.
Rezultatele calculului unei TFD sunt identice cu cele rezultate în urma aplicării
unui FFT, doar viteza de calcula FFT este mai mare.

• Legătura dintre parametrii semnalului unei funcţii temporale eşantionate în


domeniul temporal şi frecvenţial

Aşa cum s-a observat la introducerea TFD, prezentată la începutul acestui capitol,
între durata timpului de eşantionare şi perioada de observaţie a semnalului în
domeniul timp şi rezoluţia frecvenţială în domeniul frecvenţial maxim captabil a
unei TFD, există legături strânse. Acestea urmează a fi clarificate pe baza
următoarelor două analize grafice:
Semnalul temporal eşantionat în figura 2.25, cu parametrii de eşantionare indicaţi,
furnizează după aplicarea TFD, relaţia (2.2.62), spectrul de amplitudine din figura
2.26:

66
Timp de eşantionare: T
Frecvenţa de eşantionare: fT = 1/T
Perioada de analiză a semnalului: tend = N⋅T
Număr maxim al valorilor eşantionate: N
Variabila în domeniul timp: n (2.2.68)
Fig. 2.25 Semnal eşantionat în domeniul timp

Fig. 2.26 Spectrul de amplitudine al semnalului eşantionat în figura de mai sus

67
Aşa cum se poate identifica pe spectrul de amplitudine al semnalului eşantionat,
TFD calculează un spectru cu o repetiţie periodică oglindită de N/2 puncte de
frecvenţă. Deoarece această repetiţie nu conţine informaţii noi, este suficientă
analiza TFD doar până la N/2. Din acest motiv frecvenţa corespunzătoare acestui
punct este numită şi fmax deoarece aici se opreşte domeniul maxim de analiză a TFD.
Următoarele relaţii ţin cont de această stare:

∆f ⋅ N f T 1
Domeniul maxim de frecvenţă analizabil: f max = = =
2 2 2T
N
Numărul de puncte de frecvenţă până la fmax:
2
1 1 f
Rezoluţia de frecvenţă: ∆f = = = T
NT t end N
Frecvenţele de analiză: k⋅∆f
Variabila în domeniul frecvenţă: k (2.2.69)

Domeniul de frecvenţă până la fmax este cunoscut ca domeniu Nyquist, iar fmax ca şi
frecvenţă Nyquist. Se remarcă faptul că fmax şi jumătatea frecvenţei de eşantionare
fT/2 sunt identice, aici demonstrându-se sensul teoremei de eşantionare: frecvenţe
mai mari de fT/2 ar genera peste domeniul Nyquist linii spectrale. Datorită simetriei
de oglindă a TFD, la fmax aceste linii spectrale ar fi oglindite în domeniul Nyquist,
chiar dacă acestea nu apar acolo şi vor determina o reprezentare eronată a
spectrului.
Aceasta înseamnă că pe baza unui spectru de amplitudine calculat se poate constata
dacă o eroare datorată de efectului de aliere este prezentă sau nu: întotdeauna
atunci când spectrul se deplasează într-o curbă netedă în dreptul frecvenţei Nyquist
către zero, respectiv în cazul optimal, să fie în acest punct zero, sistemul de
prelucrare a semnalului lucrează fără eroare de aliere.

Scopul unei analize spectrale a unui semnal va fi mereu acela de a calcula spectrul
într-un anumit domeniu de frecvenţă până la fmax cu o anumită rezoluţie ∆f. Din
observaţiile anterioare (2.2.68) şi (2.2.69) rezultă că:

• fmax creşte (domeniul de frecvenţă creşte) odată cu micşorarea lui T


• ∆f scade (rezoluţia frecvenţei devine mai bună) când N respectiv tend cresc.

68
În anexa B2 se găseşte programul Scilab ab_tfd.sce care demonstrează algoritmul
de bază de utilizare a transformatei Fourier digitale. Aplicaţia se limitează la
determinarea spectrului de amplitudine în domeniul Nyquist.

Pentru a nu lucra mereu cu forma extinsă de exprimare a transformatei Fourier


discrete (2.2.62 respectiv 2.2.64) sau a transformatei Fourier inverse (2.2.67) se va
utiliza următoarea formă simbolică de scriere:

- Transformata Fourier Digitală (TFD, FFT)

U (k ⋅ ∆f ) = TFD (u (nT ) ) (2.2.70)


N
n = 0, 1, 2, 3, …, N-1; k = 0, 1, 2, 3, …,
2

- Transformata Fourier digitala inversă (TFDI, IFFT, TFD-1, FFT-1)

u (nT ) = TFD −1 (U (k ⋅ ∆t )) (2.2.71)


n = 0, 1, 2, 3, …, N – 1;
k = 0, 1, 2, 3, …, N – 1;

• Indicaţii referitoare la utilizarea practică a TFD

Aşa cum s-a arătat, TFD intervine în analiza a patru clase de semnale diferite:

1. la modelarea aproximativă a semnalelor continue, periodice în domeniul timp


(capitolul 2.2.1.1) şi la analiză spectrală a aceluiaşi tip de semnal (capitolul
2.2.1.2),
2. la analiza spectrală a semnalelor continue, neperiodice (capitolul 2.2.1.2),
3. la analiza spectrală a semnalelor discrete, neperiodice (capitolul 2.2.1.4)
4. la analiza spectrală a semnalelor discrete, periodice (capitolul 2.2.1.4)

Dacă în cazul semnalelor aperiodice (continue şi discrete) se exclud semnalele ne


tranzitorii, ca de exemplu semnalul treaptă (tabel 2.1), se reuşeşte relativ simplu
respectarea aproximativă a condiţiei de margine (2.2.54) de aplicare a TFD:

N ⋅ T ≥ Tsemnal ; (2.2.72)

69
NT: durata de observare a semnalului
Tsemnal – vezi figura 2.21.

Respectarea condiţiilor de margine pentru aplicarea TFD în cazul semnalelor


periodice (2.2.63)

N⋅T = i ⋅ T0 ; i = 1, 2, 3, … (2.2.73)

nu este însă mereu asigurat în cazul aplicaţiilor practice.

Graficul următor, figura 2.27, ilustrează o analiză TFD ideală, realizată cu ajutorul
programului ab_tdf.sce: durata de observare a semnalului tend = 2 este de două ori
mai mare decât durata perioadei semnalului 1/f0 = T0 = 1. Va apare o linie spectrală
exact la poziţia f0 = 1. La toate celelalte frecvenţe analizate, spectrul are valoarea
zero. La rândul ei, valoarea amplitudinii semnalului poate fi calculată cu precizie
din spectrul acestuia:

U (k ⋅ ∆f ) =
2 2
uˆ = ⋅ 10 = 1
N 20

Semnalul de analizat: u (t ) = sin (2πf 0 t ); f0 = 1Hz (2.2.74a)


Semnalul eşantionat: u (nT ) = sin (2π ⋅ f 0 ⋅ n ⋅ T ); (2.2.74b)
n = 0, 1, 2, 3, … , N-1
Durata de observaţie: tend = 2 sec
Perioada de eşantionare: T = 0.1 sec; (⇒ fT = 10Hz şi N = 20)

Frecvenţa Nyquits: fmax = 5 Hz
Rezoluţia frecvenţei: ∆f = 0.5 Hz

70
Fig. 2.27 O analiză TFD exactă (b) a semnalului temporal reprezentat (a)

La aplicarea practică a TFD trebuie pornit de la premisa că o astfel de informaţie a


priori despre durata perioadei unui semnal ce urmează a fi analizat, nu există. De
exemplu perioada poate oscila sau semnalul măsurat poate fi afectat de zgomot,
ceea ce implică o reproducere necoerentă a perioadei semnalului.

Dacă condiţia (2.2.73) nu este respectată la TFD, acest lucru conduce la apariţia a
două tipuri de erori:

a. Spectrul distorsionat: dintr-o linie spectrală a unei componente de frecvenţă apar


mai multe linii spectrale, a căror anvelopă îşi găseşte maximul în dreptul frecvenţei
de oscilaţie.
În imaginea următoare, figura 2.28, spre deosebire de cazul anterior, s-a modificat
doar perioada de observaţie a semnalului, acesta mărindu-se de la tend = 2 sec la tend
= 2.3 sec (respectiv N = 20 la N = 23) prin care condiţia (2.2.73) nu mai este
îndeplinită.

71
Durata de observaţie: tend = 2.3 sec
Perioada de eşantionare: T = 0.1 sec;
Număr maxim de eşantioane N = 23
Frecvenţa Nyquits: fmax = 5 Hz
Rezoluţia frecvenţei: ∆f = 0.4348 Hz
Fig. 2.28 Un spectru de amplitudine distorsionat (b) al semnalului temporal (a)

Efectul de distorsionare expus anterior, este evidenţiat corespunzător. În aceste


condiţii se poate presupune doar că frecvenţa de oscilaţie f0 se găseşte mai aproape
de 2⋅0.4348 Hz = 0.87 Hz decât la 3⋅0.4348 Hz = 1.3 Hz. Amplitudinea semnalului

2
uˆ = ⋅ 9.5 = 0.83
23

este de asemenea eronat calculată.

O diminuare a efectului de distorsiune şi astfel o determinare mai exactă a


frecvenţei reale de oscilaţie f0 a semnalului temporal, se obţine prin mărirea
rezoluţiei frecvenţei spectrului. Aceasta se poate realiza prin mărirea duratei de

72
observaţie a semnalului tend (ceea ce este echivalent, la păstrarea constantă a
perioadei de eşantionare T, cu o mărire a numărului maxim de eşantioane N).
Figura următoare, 2.29, confirmă această procedură: o mărire de patru ori faţă de
analiza anterioară a timpului de observare (4 ⋅ 2.3 sec), reduce semnificativ efectul
de distorsionare.

Durata de observaţie: tend = 9.2 sec


Perioada de eşantionare: T = 0.1 sec;
Număr maxim de eşantioane N = 92
Frecvenţa Nyquits: fmax = 5 Hz
Rezoluţia frecvenţei: ∆f = 0.1087 Hz

Fig. 2.29 Diminuarea efectului de distorsiune spectrală prin mărirea tend

Frecvenţa de oscilaţie calculată f = 9 ⋅ 0.1087Hz = 0.98 Hz se află mult mai


aproape de frecvenţa de oscilaţie f0 = 1 Hz. Şi amplitudinea semnalului calculată
ca fiind uˆ = 0.92 , furnizează o valoare mai apropiată de cea reală.

Dacă din diferite motive mărirea timpului de observare a semnalului temporal nu


poate fi realizată, se poate aplica, în vederea obţinerii unor rezultate de analiză mai
exacte, procedura „zero-padding”.

73
Figura următoare, 2.30, ilustrează o analiză spectrală a semnalului temporal
analizat, cu o durată a semnalului de 2.3 sec, ca în figura 2.28 , doar că perioada de
observare a fost mărită artificial, prin completarea cu valori nule („zero-padding”),
până la 9.2 sec, echivalentă cu durata din figura 2.29. Rezoluţia de frecvenţă a
înregistrat o îmbunătăţire, iar frecvenţa de oscilaţie se calculează din nou ca fiind f
= 9 ⋅ 0.1087 Hz = 0.98 Hz. În ceea ce priveşte efectul de distorsionare a spectrului,
acesta este din nou evident, prin mărirea anvelopei acestuia, figura 2.30:

Durata de observaţie: tend = 9.2 sec


Perioada de eşantionare: T = 0.1 sec;
Număr maxim de eşantioane N = 92
Frecvenţa Nyquits: fmax = 5 Hz
Rezoluţia frecvenţei: ∆f = 0.1087 Hz

Fig. 2.30 Mărirea rezoluţiei spectrale prin „zero-padding”

Aceasta prezintă mereu atunci un dezavantaj când urmează să fie analizat un


semnal alcătuit din mai multe componente de frecvenţe diferite, dar apropiate.
Procedura de „zero-padding” ascunde pericolul ca liniile spectrale ale unor
componente de frecvenţe real existente, să se amestece între ele. Pentru reducerea
efectului de distorsionare spectrală este recomandată aplicarea unor durate de
observare mari ale semnalului.
74
b. Scurgerea spectrului (efectul „leakage”), atunci când condiţia (2.2.73) nu este
respectată.

În timp ce efectul de distorsionare al liniilor spectrale răspândeşte linii spectrale în


imediata apropiere a frecvenţei f0, prin efectul de scurgere se înţelege că şi în cazul
unor distanţe mai mari faţă de linia spectrală propriuzisă, spectrul total
înregistrează o creştere. Deoarece acest efect arată ca şi cum liniile spectrale s-ar
scurge printr-o pâlnie, denumirea consacrată a acestuia este de efect „leakage”.
Figura 2.31 prezintă în a) o analiză spectrală cu un efect evident de scurgere a
spectrului (asociat şi cu efectul de distorsionare) şi figura b) o limitare evidentă a
acestuia, printr-o metodă ce urmează a fi prezentată:

Fig. 2.31 O analiză spectrală cu efect puternic (a) şi atenuat (b) de scurgere a spectrului

Aşa cum se observă, efectul de scurgere nu este atât de puternic precum efectul de
distorsionare a spectrului, poate însă îngreuna detectarea componentelor armonice
ale unui semnal cu amplitudini foarte mici în prezenţa unor armonici dominante.

Efectul de scurgere poate fi diminuat prin aplicarea aşa numitei ferestre semnalului,
figura 2.32. Ferestrele sunt funcţii simetrice în oglindă, care sunt înmulţite, înaintea

75
analizei spectrale, cu semnalul ce urmează a fi analizat, atenuând astfel începutul
şi capătul semnalului.

Fig. 2.32 Filtrarea prin fereastră a unui semnal: a) semnalul ce urmează a fi analizat, b)
funcţia de fereastră, c) semnalul trecut prin fereastră, care urmează a fi analizat

Modificări abrupte ale semnalului, cum sunt începutul şi sfârşitul unui semnal de
analizat, nu mai intervin. În analiza spectrală ce urmează a fi realizată, prin
amplitudini aşa de mari, ceea ce conduce în special la atenuarea componentelor
perturbatoare de frecvenţă ridicată şi prin aceasta la o diminuare a efectului de
scurgere a spectrului.

Cele mai cunoscute funcţii fereastră sunt:

• Fereastra Hanning

 2π ⋅ t 
w(t ) = 0.51 − cos ; 0 ≤ t ≤ N⋅T (2.2.75)
 NT 

• Fereastra Hamming

76
2π ⋅ t
w(t ) = 0.54 − 0.46 cos ; 0 ≤ t ≤ N⋅T (2.2.76)
NT

• Fereastra dreptunghiulară

1 pentru 0 ≤ t < NT 
w(t ) =   (2.2.77)
0 pentru 0 < t ≥ NT 

Obs. Semnalul dreptunghiular este aplicat mereu, atunci când nu este utilizată o
funcţie fereastră specială, deoarece analiza spectrală a unui segment temporal a
unui semnal nu semnifică altceva decât înmulţirea anterioară cu (2.2.77).

Pentru o analiză exactă a efectului unui anumit tip de funcţie fereastră, se urmăreşte
programul Scilab din Anexa B1.

2.2.2 Modele ale semnalelor stohastice

Semnalele deterministe analizate până acum au avut proprietatea de a putea fi


descrise cu ajutorul unui model matematic parametric, care permite ca, pentru
fiecare moment de timp t, respectiv nT, să se poată calcula exact valoarea
corespunzătoare a amplitudinii.
În foarte multe ramuri ale ştiinţei un rol important revine şi acelor semnale care nu
au, sau foarte restrictiv, proprietatea de creare a modelului, deoarece deţin o
evoluţie aleatoare. Aceste semnale sunt cunoscute ca semnale aleatoare sau
stohastice.
Chiar dacă nu se reuşeşte descrierea semnalelor stohastice cu ajutorul modelelor
parametrice exacte, se pot indica modele neparametrice, care conţin, pe bază
statistică, o descriere a semnalului.
Figura 2.33, se ilustrează o secţiune a unei electroencefalograme, un exemplu tipic
de semnal stohastic.
Pe baza cunoştinţelor statistice de bază, semnalul poate fi modelat „verbal”:
valoarea medie a semnalului se află sub zero volţi, domeniul de variaţie a
semnalului se află între -150 µV şi +150 µV. În plus se poate recunoaşte o
componentă armonică a semnalului, cu aproximativ 4 oscilaţii la 0.2 sec, ceea ce

77
corespunde unei frecvenţe de 20Hz. De asemenea poate fi recunoscut faptul că
semnalul are în structura sa, componente de frecvenţă mai mare şi mai scăzută.

Fig.2.33 Exemplu de semnal stohastic (T = 1ms)

Semnalele stohastice sunt descrise în domeniul timp pe baza comportării din


prisma amplitudinii acestora prin metode statistice, comportamentul lor temporal
cu ajutorul funcţiilor de corelaţie iar în domeniul frecvenţă prin spectrele de
densitate de putere.

2.2.2.1 Modele pentru descrierea evoluţiei amplitudinii semnalelor


stohastice

În cadrul acestui paragraf se va încerca clarificarea problemei legate de


probabilitatea ca anumite amplitudini să apară în semnalele stohastice. Aceasta se
poate realiza grafic sub forma aşa numitelor funcţii de distribuţie a densităţii sau cu
ajutorul mărimilor specifice precum valoarea medie, varianţa, deviaţia standard, etc.
Pentru determinarea funcţiei de densitate a repartizării amplitudinii unui semnal,
care este deseori cunoscută drept histograma de amplitudine, ordonata semnalului
temporal este împărţită în clase de amplitudine şi pentru fiecare punct de
eşantionare se contorizează apariţia unei amplitudini într-o anumită clasă, figura
2.34.

78
Fig. 2.34 Crearea unei funcţii de repartizare a densităţii de amplitudine

După finalizarea intervalului de observare a semnalului, sumele claselor de


amplitudine f(u) sunt reprezentate pe o scală a amplitudinilor u. Rezultatul este
funcţia de repartizare a densităţii amplitudinilor semnalului observat. Prin
diminuarea lăţimii unei clase, rezoluţia unei astfel de histograme poate fi mărită.
Dacă numărul valorilor unei amplitudini pe clasă se raportează la numărul total al
valorilor eşantionate în intervalul de observare, poate fi determinată probabilitatea
de apariţie a unei anumite amplitudini şi exprimată în procente. Specific pentru
semnalul analizat este forma funcţiei de repartizare a densităţii de amplitudine. La
analize statistice, aceste histograme pot lua forme bine definite, descrise prin nume
corespunzătoare. Figura 2.35 reflectă două forme des întâlnite, repartizarea
normală şi egală a unei caracteristici:

Fig. 2.35 Distribuţia normală şi egală a unei caracteristici

În domeniul prelucrării semnalelor nu se întâlnesc mereu astfel de distribuţii


cunoscute ale amplitudinii. În mod special schimbarea distribuţiei amplitudinii pe

79
histograme ale amplitudinii determinate prin eşantionare în timp, oferă o privire
rapidă în vederea analizării şi monitorizării comportării unor sisteme.

Cei mai importanţi parametrii ai funcţiei de distribuţie a amplitudinii pot fi


exprimaţi şi determinaţi numeric; se deosebesc valori medii şi valori distribuite a
repartizării amplitudinii:

• Valoarea medie media aritmetică u

Media aritmetică, se calculează din

N −1
1
u= ∑ u ( n) (2.2.78)
N n =0

• Valoarea medie median umed

Medianul indică valoarea amplitudinii, care în cazul unei serii ordonat crescătoare
al amplitudinilor măsurate, se află exact în dreptul jumătăţii valorilor măsurate:

u 0 < u1 < u 2 < ... < u N −1 ; N – par u med = u N . (2.2.79)


2

Medianul este mai puţin sensibil faţă de devieri ale valorilor măsurate, datorate, de
exemplu, de perturbaţii. La media aritmetică astfel de valori sunt înglobate în
determinarea valorii medii.

80
• Valoarea medie modală / modus umod

Această unitate de măsură, mai rar utilizată, indică drept valoare medie ca fiind
acea valoare, care în cadrul procesului de măsurare, apare cel mai des.

Se recunoaşte că fiecare valoare medie, de sine stătătoare, are o putere de


exprimare redusă. Din acest motiv, se calculează deseori toate cele trei valori medii
şi apoi acestea sunt utilizate pentru aprecierea amplitudinii.
Cei mai răspândiţi parametrii de dispersie pentru analiza comportamentului de
amplitudine sunt:

• Variaţia lăţimii (Range) r

Variaţia lăţimii indică diferenţa dintre valoarea maximă şi minimă măsurată a


amplitudinii:

r = u max − u min (2.2.80)

• Varianţa σ2

Varianţa descrie devierea valorilor măsurate de la media aritmetică. Pentru aceasta


se calculează suma tuturor devierilor care apoi este împărţită la numărul de valori
măsurate (= media aritmetică a devierilor). Pentru ca devieri cu semne diferite să
nu se evidenţieze şi astfel să falsifice valoarea medie a devierilor, fiecare deviere se
ridică la pătrat:

1 N −1
σ2 = ∑ (u i − u )2 (2.2.81)
N − 1 i =0

81
• Deviaţia standard σ

Varianţa are ca unitate pătratul valorilor măsurate. Dacă, de exemplu se analizează


evoluţia presiunii, măsurat în mmHg, varianţa are unitatea mmHg2. Deviaţia
standard previne acest efect prin aceea că indică radicalul din varianţă:

1 N −1
σ = σ2 = ∑ (u i − u )2 (2.2.82)
N − 1 i =0

Forma funcţiei de distribuţie a amplitudinii poate fi descrisă prin alţi doi parametrii
numerici:

• Înclinaţia s

Înclinaţia s este o măsură pentru asimetria funcţiei de distribuţie a densităţii


amplitudinii:

N −1

∑ (u − u )3
1
i
N i =0
s= (2.2.83)
σ3

s devine în cazul unei distribuţii simetrice, egală cu zero, la o asimetrie spre stânga
(predomină valori mici ale amplitudinii) pozitivă iar la o asimetrie spre dreapta
(predomină valori mari ale amplitudinii) negativă.

82
• Ondulaţia w

Ondulaţia w este o măsură a netezimii respectiv a vârfurilor funcţiei de repartizare


a distribuţiei amplitudinii. Aceasta se determină:

N −1

∑ (u − u )4
1
i
N i =0
w= −3 (2.2.84)
σ4

Valori pozitive semnifică o poziţie de vârf faţă de repartizarea normală, care


intervine la w = 0, valori negative semnificând o netezire faţă de distribuţia
normală.

În anexa B2 se găseşte programul Scilab amp_stat.sce care, pentru un semnal de


test, calculează funcţia de repartizare a densităţii amplitudinii şi cele mai
importante valori medii statistice şi de distribuţie.

2.2.2.2 Modele ale semnalelor stohastice în domeniul timp

Pe lângă descrierea comportamentului amplitudinii unui semnal stohastic,


descrierea comportamentului dinamic (comportamentul temporal) are un rol foarte
important. Această descriere are loc în domeniul timp prin aşa numitele funcţii de
corelaţie.
Pentru a obţine rezultate cu o putere de decizie în urma analizei de corelaţie,
semnalul stohastic trebuie să deţină proprietatea de staţionaritate. Aceasta este
îndeplinită dacă proprietăţile statistice ale semnalului sunt independente de timp,
ceea ce înseamnă că funcţia de repartizare a amplitudinii f(u) trebuie să satisfacă
următoarea ecuaţie:

f (u , t ) = f (u , t + τ ) = f (u ) (2.2.85)

Un semnal stohastic de drift (cu o modificare a valorii medii), aşa cum este
reprezentat în figura 2.36, nu este staţionar.

83
Fig. 2.36 Funcţia de repartizare a densităţii de amplitudine a unui semnal stohastic
nestaţionar, măsurat pe patru intervale consecutive de 1 sec

Aşa cum poate fi clar recunoscut, nu se deplasează doar valoarea medie, ci şi


parametrii de distribuţie (de exemplu lăţimea de variaţie r) sunt dependenţi de
variaţii temporale.
Pentru următoarele analize legate de analiza de corelaţie, vom presupune că
semnalele analizate îndeplinesc condiţia de staţionaritate.

Pornind de la un semnal stohastic u(nT), pot fi analizate cu ajutorul aşa numitei


funcţii de autocorelaţie legături interne ale semnalului:


Φ ∞uu (mT ) = ∑ u(nT ) ⋅ u(nT + mT ) (2.2.86)
n = −∞

m = - ∞, …, -2, -1, 0, 1, 2, …, +∞

Cum reiese din ecuaţia (2.2.86), pentru m = 0 se formează suma produsului


u(n)⋅u(n). Prin mărirea treptată a lui m se formează sume deplasate în timp a
semnalelor. Dacă se reprezintă grafic rezultatul calculelor Φ uu în intervalul de
deplasare în timp mT, se recunoaşte dacă componente stohastice asemănătoare apar
în evoluţia temporală a lui u(n). Aceasta se face prin aceea că în astfel de poziţii
mT, rezultatul analizei Φ uu înregistrează o amplitudine mai ridicată faţă de alte
poziţii ale axei de deplasare temporală mT.

84
Figura 2.37 explică cele afirmate: un semnal egal (figura 2.37a) este identic în toate
poziţiile axei temporale, astfel încât şi la o deplasare a axei temporale vor apare
mereu produse de sume identice şi prin aceasta, funcţia de autocorelaţie este o
funcţie constantă.
Un zgomot stohastic (figura 2.37b) este identică doar la o deplasare temporala mT
= 0, astfel încât autocorelaţia acesteia se face observabilă doar în coordonatele de
origine, la mT = 0.
Dacă un semnal conţine componente periodice (figura 2.37c) este de aşteptat ca
odată cu durata perioadei T, să fie detectate asemănări puternice ale semnalului din
partea funcţiei de autocorelaţie. Acest fapt poate fi recunoscut clar în figura 2.37c.

85
Fig. 2.37 Semnale diferite şi funcţiile lor de autocorelaţie

Relaţia (2.2.86) nu poate fi practic calculată, datorită formării infinite a sumei. În


general se analizează semnale a căror lungime este finită:

u (nT ) = {u (0), u (1), u (2),..., u ( M − 1)} (2.2.87)

Intervalul de sumare se limitează atunci la lungimea setului de date existent iar


factorul de deplasare al timpului are şi el limite finite:

M −1
Φ Muu (mT ) = ∑ u(nT ) ⋅ u(nT + mT ) (2.2.88)
n=0

m = - (M - 1), …, -2, -1, 0, 1, 2, …, + (M - 1)

La o analiză mai exactă a acestei relaţii, se poate constata că cel puţin m
sumatori devin nule, deoarece la limitele de sumare nu mai sunt disponibili
multiplicatori. Dacă la construirea sumei ne vom limita asupra produselor care nu
dispar, se obţine relaţia (2.2.89) care, la acelaşi rezultat ca în cazul (2.2.88), este
din puncte de vedere al calcului numeric, mult mai rapid de evaluat:

M − m −1
Φ Muu (mT ) = ∑ u(nT ) ⋅ u(nT + mT ) (3.2.89)
n=0

m = - (M - 1), …, -2, -1, 0, 1, 2, …, + (M - 1)

86
Deseori se determină pentru fiecare pas temporal m valoarea medie a sumei
produsului, obţinând prin aceasta o aproximare foarte bună a relaţiei de pornire
(2.2.86)

M − m −1
Φ Muu (mT ) = ∑ u(nT ) ⋅ u(nT + mT )
1
(3.2.90)
M−m n =0

m = - (M - 1), …, -2, -1, 0, 1, 2, …, + (M - 1)

Funcţia de autocorelaţie serveşte pe deoparte la recunoaşterea şi la clasificarea


tipurilor de semnale stohastice. Astfel, de exemplu, două secvenţe ale semnalelor
stohastice, chiar şi atunci când au două evoluţii temporale total diferite, dar
prezintă forme similare ale funcţiei de autocorelaţie şi ale funcţiei de repartizare a
densităţii amplitudinii, pot fi privite ca stohastic identice.
În anexa B1 se găseşte un program implementat în Scilab care exemplifică
mecanismul autocorelaţiei.

Cu ajutorul funcţiei de corelaţie pot fi analizate şi două semnale diferite asupra


asemănării acestora. În acest scop, în (3.2.90) se înlocuieşte un u(n) cu un alt
semnal y(n) şi se obţine prin aceasta aşa numita funcţie de intercorelaţie.

M − m −1
Φ uy (mT ) = ∑ u(nT ) ⋅ y(nT + mT )
1
(3.2.91)
M−m n =0

u (nT ) = {u (0), u (1), u (2),..., u ( M − 1)}


y (nT ) = {y (0), y (1), y (2),..., y ( M − 1)}
m = - (M - 1), …, -2, -1, 0, 1, 2, …, + (M - 1)

La fel ca în cazul autocorelaţiei se formează în poziţiile factorului de deplasare în


timp mT valori mari ale lui Φuy, acolo unde u(n) şi y(n) au asemănări puternice.
Această proprietate poate fi utilizată, de exemplu, pentru a determina viteza de
pulsaţie a sângelui într-o extremitate. Pentru aceasta se amplasează un senzor pe
braţul de sus şi un altul la încheietura mâinii, figura 2.38.
După prelucrarea corespunzătoare a semnalului şi conversia A / N semnalele u(n)
şi y(n) sunt intercorelate (3.2.91). Din poziţia maximului funcţiei de intercorelaţie
pe axa de deplasare în timp, se determină durata pulsului

87
t p = m ⋅T ,

iar din relaţia

vp = s tp

se poate determina viteza de pulsaţie a sângelui vp. s – distanţa dintre cei doi
senzori de măsurare.

Fig. 2.38 Sistem de măsură pentru stabilirea vitezei de pulsaţie a sângelui cu ajutorul
intercorelaţiei

Funcţiile de intercorelaţie au de asemenea o importanţă ridicată într-un domeniu al


teoriei sistemelor, putând fi utilizate la identificarea diferitelor sisteme, adică la
găsirea experimentală a modelelor matematice ale sistemelor.

2.2.2.3 Modele ale semnalelor stohastice în domeniul frecvenţă

Semnale stohastice pot fi modelate şi în domeniul frecvenţă. Spre deosebire de


semnale deterministe, unde se lucrează primordial cu spectrul de amplitudine, în
cazul semnalelor stohastice prezintă interes spectrul de putere, care descrie,
puterea medie a unui semnal într-un anumit domeniu de frecvenţă.
Spectrele de putere ale semnalelor stohastice se calculează în esenţă prin
transformata Fourier a funcţiei de autocovarianţă a semnalului de analizat.
Exemplificarea unei astfel de calcul este ilustrat în cadrul unui aplicații Scilab in
anexa B1.

88
CAP. 3 ELEMENTE DE BAZĂ ALE TEORIEI SISTEMELOR

Un sistem poate fi descris ca fiind o înlănţuire de efecte fizic existente, cu un


semnal de intrare, un semnal de ieşire şi o proprietate specifică de transfer a
semnalului, figura 3.1.

Fig. 3.1 Definiţia unui sistem

Sistemele pot fi modelate matematic, la fel ca şi semnalele. Pentru exemplificare


dorim să analizăm sistemul rezistenţă condensator R-C descris de următoarea
schemă electrică, figura 3.2:

Fig. 3.2 Schema electrică a unui circuit RC

În această fază, este important de ştiut care este informaţia care se doreşte a fi
obţinută din modelul matematic. Cu siguranţă prezintă interes să se poată afla care
este semnalul de ieşire produs de sistem dacă la intrarea sa se aplică un anumit
semnal. În domeniul teoriei semnalelor au fost consemnate câteva semnale de test,
care se aplică la intrarea sistemelor, iar apoi, pe baza evoluţiei semnalului de ieşire,
se realizează o clasificare a acestora. Un semnal de test important, este semnalul
treaptă:

A pentru t ≥ 0
u (t ) = σ (t ) =  ; (3.0.1)
0 pentru t < 0

89
Fig. 3.3 Graficul funcţiei treaptă

Dacă sistemului din figura 3.2 i se aplică un semnal treaptă cu amplitudinea de 1V,
sistemul răspunde cu o evoluţie a mărimii de ieşire, cunoscută şi ca răspuns la
semnal treaptă:

Fig. 3.4 Răspunsul la semnal treaptă a sistemului R-C

Graficul sau tabelul de valori al răspunsului pot fi interpretate ca modele


matematice neparametrice ale sistemului în domeniul timp.
La fel ca un semnal şi un sistem poate fi modelat matematic cu ajutorul unei ecuaţii
(model parametric). Pentru cazul analizat, circuitul RC este descris prin ecuaţia
diferenţială:

y (t ) + u (t )
dy (t ) 1 1
=− (3.0.2)
dt RC RC

Dacă cu ajutorul unei formule a semnalului, de exemplu (2.0.1), graficul


semnalului poate fi reprezentat imediat, la modelul acestui sistem, trebuie rezolvată
întâi ecuaţia diferenţială. Doar la existenţa soluţiei, de exemplu pentru un semnal
de intrare treaptă cu amplitudinea A,

 −
t

y (t ) = A1 − e RC  (3.0.3)
 
 

90
poate fi calculat tabelul de valori, respectiv calculat şi reprezentat grafic răspunsul
la semnal treaptă.

În cadrul unei analize de sistem prezintă interes efectul de filtrare al conexiunii RC,
pentru a putea analiza comportamentul acestuia, prin analiza de frecvenţă. Cu
ajutorul transformatei Laplace modelele matematice din domeniul timp sunt trecute
în domeniul Laplace sau în domeniul imagine. Cu ajutorul acestei operaţii de calcul
se reuşeşte ca modele diferenţiale complexe să fie transformate în ecuaţii algebrice
simple, sub forma unui raport de două polinoame. Acest model, cunoscut drept
funcţie de transfer, conţine aceeaşi informaţie despre sistem la fel ca modelul
diferenţial, poate fi însă utilizată mult mai uşor din punct de vedere matematic.
Cu ajutorul unei alte transformări, funcţia de transfer poate fi transformată în
funcţia vector răspuns la frecvenţă. Reprezentarea grafică a acesteia furnizează aşa
numita diagrama Bode, care conţine proprietăţile de transmisie ale sistemului în
funcţie de frecvenţă.

Transformările de model amintite anterior sunt aplicabile doar atunci când e vorba
de sisteme pentru prelucrarea semnalelor continue („sistem continuu”). Dacă
sistemul utilizat pentru prelucrarea semnalelor este un calculator digital („sistem
discret în timp” sau „sistem digital”), prelucrarea semnalelor are loc în etape
discrete de timp.
Un sistem discret nu există fizic precum un sistem continuu, ci doar ca un algoritm
de calcul implementat pe un calculator digital. Cum se va arăta mai târziu, efectul
elementului RC, conform figurii 3.4, poate fi transpus ca algoritm de calcul sub
forma unei aşa numite ecuaţii cu diferenţe. Această ecuaţie cu diferenţe reprezintă
modelul matematic al unui sistem discret în domeniul timp (aşa cum ecuaţia
diferenţială este pentru sistemele continue în domeniul timp).
Legătura strânsă între un sistem continuu şi algoritmul de calcul dedus pe baza
acestuia este ilustrată de următoare analiză: dacă se implementează un algoritm de
calcul discret care să implementeze efectul elementului RC într-un calculator
digital, cu un CAN la intrare şi un CNA la ieşire, figura 3.5, ambele au acelaşi efect
asupra semnalelor de intrare. Aceasta este valabil atât pentru domeniul timp cât şi
pentru domeniul frecvenţă.

91
Fig. 3.5 Explicativă la efectul asemănător a unui sistem continuu şi discret

De asemenea, pentru sisteme discrete în timp există un domeniu imagine, în care


aceste sisteme sunt modelate cu precădere sub forma funcţiilor de transfer. Datorită
caracterului discret al semnalului, se utilizează o altă transformată, aşa numita
transformată z. Din acest domeniu z poate fi apoi calculată, în urma unei
transformări relativ simple, funcţia vector răspuns la frecvenţă. Aşa cum se va
vedea, la frecvenţe înalte, evoluţia în domeniul frecvenţă a sistemelor discrete se
deosebesc relativ mult faţă de sistemele continue.

Prezentările realizate până în acest punct, indică o privire îngustă asupra noţiunii de
sistem. Ca sistem poate fi privită şi populaţia de peşti dintr-un lac. Dacă creşterea
populaţiei de peşti (mărimea de ieşire a sistemului) prezintă interes în funcţie de
oferta de hrană (mărimea de intrare a sistemului) şi ţinând cont şi de rata de naşteri
şi deces şi după caz, şi de alte mărimi, se poate crea un model matematic al acestui
sistem iar cu ajutorul simulării pot fi analizate toate mărimile care influenţează
populaţia de peşti. Ecuaţiile diferenţiale rezultate (modelul matematic) au o
structură asemănătoare cu cea a modelului unui filtru electronic.
În cadrul acestei prezentări legate de prelucrarea semnalelor se va pune un accent
pe sistemele întâlnite sub forma filtrelor.

92
3.1 Clasificarea sistemelor

Deoarece în cadrul acestui capitol dedicat prezentării teoriei sistemelor ne vom


concentra asupra analizei filtrelor, se vor urmării în continuare proprietăţile de
sistem ale acestora.

Filtrele analizate sunt:

• Sisteme lineare (îndeplinesc aşa numitul criteriu de superpozitie şi


amplificare); opus: sisteme neliniare.
• Sisteme invariante în timp (nu îşi modifică proprietăţile de sistem în timp;
pentru filtrul RC analizat, aceasta presupune că valorile R şi C nu se modifică
în timp); opus: sisteme variabile în timp.
• Single Input Single Output (aceste sisteme posedă doar o mărime de intrare
şi doar o mărime de ieşire); opus: Multi Input Multi Output.
• Sisteme cauzale (acestea urmăresc principiul de la cauză la efect: semnalul
de ieşire nu poate apărea înaintea semnalului de intrare).
• Sisteme continue sau sisteme discrete, în funcţie de tehnologia utilizată

3.2 Modele de sisteme

Filtrele de semnale pot fi realizate ca filtre continue sub forma unor circuite
electronice analogice sau sub forma unor filtre discrete în timp respectiv filtre
digitale, sub forma de algoritmi implementaţi în calculatoare digitale.

3.2.1 Modele ale sistemelor continue

Sistemele continue, mai exact cele de prelucrare a semnalelor continue, transformă


un semnal continuu de intrare într-un semnal continuu de ieşire, figura 3.6.
Pe lângă filtrele continue, în natură şi în tehnică, există o mulţime uriaşă de diferite
sisteme continue. Astfel, un electromotor comandat cu mărimea de intrare
„tensiunea la borne” şi mărimea de ieşire „turaţia” sau o maşină cu mărimea de
intrare „unghi al pedalei de acceleraţie” şi mărimea de ieşire „distanţă parcursă”
sunt sisteme continue.
93
Fig. 3.6 Sistem continuu

3.2.1.1 Modele ale sistemelor continue în domeniul timp

Modelele matematice ale sistemelor continue sunt reprezentate prin ecuaţiile


diferenţiale de ordin superior. Drumul complex de creare a unor astfel de modele
matematice se bazează mereu în toate cazurile pe aceeaşi metodă: se construiesc
una sau mai multe ecuaţii de bilanţ (de exemplu bilanţul puterilor, de căldură) care
descriu o stare de echilibru a sistemului. Ulterior, pe baza legilor fizice, se creează
legături dintre ecuaţiile de bilanţ şi parametrii caracteristici sistemului (de exemplu
masa autovehiculului, inductivitatea unui motor). În această operaţie este
importantă stabilirea mărimilor de intrare şi de ieşire din sistem. Alegerea acestor
mărimi se realizează de obicei în funcţie de problematica ce trebuie soluţionată.

Un astfel de proces de modelare matematică urmează să fie demonstrat şi parcurs


pe baza filtrului RC. Pornim de la următoarea schema tehnică, având ca parametrii
de sistem rezistenţa R şi capacitatea C, mărimea de intrare u(t) şi mărimea de ieşire
y(t), figura 3.7.

Fig. 3.7 Filtru R-C

Se urmăreşte crearea unui model matematic care să descrie complet influenţa


sistemului asupra oricărei mărimi de intrare u(t). Ca efect este considerată evoluţia
mărimii de ieşire y(t). De asemenea, prin modelul creat se urmăreşte posibilitatea
de a răspunde la modalitatea de modificare a semnalului de ieşire, dacă parametrii
sistemului R şi / sau C se modifică.

94
Fiind vorba de o problemă din domeniul electronicii, ecuaţiile de bilanţ care
urmează a fi exprimate, fac referire la evoluţia tensiunii şi a curentului: legile lui
Kirchhoff, figura 3.8.

Fig. 3.8 Bilanţul tensiunii şi a curentului în filtrul RC

• Suma tuturor curenţilor într-un nod de circuit este egală cu zero

i R (t ) − iC (t ) − i y (t ) = i R (t ) − iC (t ) = 0 (3.2.1)

• Suma tuturor tensiunilor într-o buclă de circuit este egală cu zero:


Bucla I:

u (t ) − u C (t ) − u R (t ) = 0 (3.2.2)

Bucla II:

u C (t ) − y (t ) = 0 (3.2.3)

După acest bilanţ al curenţilor şi al tensiunilor, se caută legi fizice care să


evidenţieze legături dintre parametrii sistemelor şi semnalele bilanţului.
Aceasta se realizează pe de o parte prin legea lui Ohm

u R (t ) = R ⋅ i R (t ) (3.2.4)

şi pe de altă parte prin legea care exprimă legătura dintre căderea de tensiune şi
curentul unui condensator:
du C (t ) 1
= u& C (t ) = iC (t ) (3.2.5)
dt C
95
Toate ecuaţiile sunt acum astfel înlocuite, încât să rezulte o ecuaţie care să conţină
doar mărimea de intrare u(t), mărimea de ieşire y(t), după caz, derivate ale acestor
mărimi, şi parametrii de sistem R şi C:

du C (t ) 1 1 1 1
= u& C (t ) = iC (t ) = i R (t ) = u R (t ) =
dt C C C R
=
1
(u (t ) − u C (t ))
RC

Cu (3.2.3) se obţine în final modelul matematic al elementului RC:

1 1
y& C (t ) = − y (t ) + u (t ) (3.2.6)
RC RC

La sisteme mai complexe, apar ecuaţii diferenţiale care pot conţine derivate de
ordin superior ale mărimilor de intrare şi ieşire. Modelele sistemelor continue în
domeniul timp au în general următoarea formă:

n n −1
y (t ) + a n −1 y (t ) + ... + a 2 &y&(t ) + a1 y& (t ) + a 0 y (t ) =
m m −1
(3.2.7)
u (t ) + bn −1 u (t ) + ... + b2 u&&(t ) + b1u& (t ) + b0 u (t );
m ≤ n; u(t): mărimea de intrare; y(t) : mărimea de ieşire

În spatele coeficienţilor ai şi bi se ascund parametrii constanţi de sistem ai funcţiei


de transfer.
Pentru rezolvarea unor astfel de ecuaţii diferenţiale, adică pentru a răspunde la
întrebarea iniţială, cum modifică elementul RC un semnal de intrare pe drumul său
prin sistem spre semnalul de ieşire, există diferite proceduri analitice şi numerice.

3.2.1.2 Modele ale sistemelor continue în domeniul imagine

Datorită metodelor relativ complicate de rezolvare a ecuaţiilor diferenţiale s-a


căutat găsirea unor metode matematice de modelare mai simple pentru sistemele de
transfer.

96
Cu ajutorul aşa numitei transformate Laplace se reuşeşte transformarea modelelor
exprimate prin ecuaţii diferenţiale în domeniul imagine (cunoscut drept domeniu
Laplace sau s) şi de a definii aici o formă de model formată din raportul a două
polinoame. Acest model de sistem în domeniul imagine este numit funcţie de
transfer şi este definit în felul următor: dacă u(t) constituie mărimea de intrare şi y(t)
reprezintă mărimea de ieşire a unui sistem de transfer, raportul

marimea _ de _ iesire _ in _ domeniul _ imagine Y ( s)


= = H ( s ) (3.2.8)
marimea _ de _ int rare _ in _ domeniul _ imagine U ( s)

este numit funcţie de transfer a sistemului.

Etapele prevăzute pentru transformarea semnalelor temporale în domeniul imagine,


transformarea Laplace, se bazează pe integrala Fourier (2.2.49) . Pentru a putea
transforma şi semnale care nu îndeplinesc condiţia (2.2.50), ecuaţia (2.2.49) este
prevăzută cu un factor de atenuare:

e −δt ; δ>0 (3.2.9)


−δt − j 2πft
U( f ) = ∫ u (t )e
−∞
e dt (3.2.10)

Dacă pentru o formă de scriere mai scurtă se introduce aşa numita variabilă
Laplace sau variabila imagine, notaţia:

s = δ + j 2πf = δ + jω (3.2.11)

iar timpul de observare se limitează la timpi care pot fi evaluaţi practic, 0 ≤ t ≤ ∞,


se obţine relaţia de transformare Laplace a semnalelor:


− st
U ( s) = ∫ u (t )e
−∞
dt (3.2.12)

97
Asemănător cu transformata Fourier şi acest proces de transformare este prescurtat
simbolic:

U(s) = L {u (t )} (3.2.13)

Pentru a nu fi necesar calcularea integralei (3.2.12) pentru fiecare formă de semnal,


se lucrează cu tabele de corespondenţă, deja calculate, care realizează o legătură
între funcţiile temporale şi transformatele Laplace ale acestora.
În anexa A1.2 sunt prezentate câteva exemple de calcul ale transformatei Laplace
şu un scurt tabel de corespondenţă. Pe baza acestui tabel si a proprietăţilor
transformatei Laplace, este posibilă implementarea transformatei Laplace inverse:

u (t ) = L−1 {U ( s)} (3.2.14)

Pe baza unor exemple se doreşte demonstrarea acestor transformări cu ajutorul


tabelului de corespondenţă: Din

u (t ) = σ (t ) U ( s) = L{σ (t )} = ,
1
rezultă (3.2.15a)
s

iar invers, din

1 
u (t ) = L−1   = σ (t ) .
1
U ( s) = rezultă (3.2.15b)
s s

Sau din

 t 
L  u1 (t − τ ) ⋅ u 2 (τ )dτ  = U 1 ( s ) ⋅ U 2 ( s ) ,
∫ (3.2.16a)

0 

se obţine
t
L−1 {U 1 ( s ) ⋅ U 2 ( s )} = u1 (t − τ ) ⋅ u 2 (τ )dτ .
∫ (3.2.16b)
0

98
Cu ajutorul acestor tabele de corespondenţă (Anexa A1.2), modelele temporale,
exprimate sub forma ecuaţiilor diferenţiale (3.2.7), pot fi transformate în domeniul
imagine:

n 
L  y (t )  = s n Y ( s )
 
n −1
 
L a n −1 y (t ) = a n −1 s n −1Y ( s );
 

m −1
 
L bm −1 u (t ) = bm −1 s m −1U ( s ) ;
 
 n

L bm−1 u (t ) = bm −1 s nU ( s ).
 

Concentrând, se obţine:

s n Y ( s ) + a n −1 s n −1Y ( s ) + ... + a 2 s 2Y ( s) + a1 sY ( s) + a 0 s =
(3.2.17)
...bm s mU ( s ) + bm−1 s m−1U ( s) + ... + b2 s 2U ( s) + b1 sU ( s) + b0 s.

Pentru a forma din această expresie funcţia de transfer a sistemului, se evidenţiază


Y(s) şi U(s):

(
Y ( s) s n + a n −1 s n −1 + ... + a 2 s 2 + a1 s + a 0 =)
(
...U ( s ) bm s + bm −1 s
m m −1
+ ... + b2 s + b1 s + b0 .
2
)
şi se formează pe baza (3.2.8), raportul Y(s) / U(s):

bm s m + bm−1 s m−1 + ... + b2 s 2 + b1 s + b0


H (s) = (3.2.18)
s n + a n −1 s n −1 + ... + a 2 s 2 + a1 s + a0
m ≤ n, n – ordinul sistemului. ai, bi – const.

(3.2.18) reprezintă forma generală de reprezentare a funcţiei de transfer a unui


sistem continuu în domeniu Laplace. Ordinul numitorului n reprezintă ordinul
sistemului.

99
Dacă calculele corespunzătoare se aplică modelului temporal corespunzător
elementului RC, se obţine:

1 1
sY ( s) = − Y ( s) + U (s)
RC RC
 1  1
Y ( s ) s + = U ( s)
 RC  RC

iar din aceasta, rezultă funcţia de transfer:

1
Y (s) RC = 1
H (s) = = (3.2.19)
U (s) 1 1 + sRC
s+
RC

Pentru etapa de proiectare şi implementarea de filtre de semnal, prezintă importanţă


cunoaşterea existenţei formelor de model: ecuaţii diferenţiale în domeniul timp,
funcţii de transfer în domeniul imagine şi caracterizarea evoluţiei în domeniul
frecvenţă.

Dacă este cunoscută funcţia de transfer a sistemului H(s) şi semnalul de intrare


U(s), din definiţia funcţiei de transfer,

Y (s)
H (s) =
U (s)

se poate calcula răspunsul sistemului în domeniul Laplace:

Y ( s) = H ( s) ⋅ U ( s ) (3.2.20)

Deoarece nu prezintă însă interes răspunsul abstract în domeniul Laplace, ci


răspunsul sistemului în domeniul timp y(t), prin aplicarea integralei de convoluţie
(anexa A1.2 ) ecuaţie (3.2.16), se poate crea o relaţie

t
L −1
{H ( s ) ⋅ U ( s)} = L {Y ( s)} = y (t ) = ∫ h(t − τ ) ⋅ u (τ )dτ ,
−1
(3.2.21)
0

100
cu care se poate calcula răspunsul sistemului y(t), dacă transformata Laplace
inversă a funcţiei de transfer

L−1 {H ( s)} = h(t ) (3.2.22)

(aşa numita funcţie pondere h(t)) şi evoluţia mărimii de intrare u(t) sunt cunoscute.
În anexă se găseşte o aplicaţie Scilab, convolutie.sce, care demonstrează utilizarea
transformatei Laplace inverse pentru calcularea răspunsului unui sistem.

Dorim să reţinem în acest punct că au fost prezentate două modele matematice care
se aplică la descrierea sistemelor continue în domeniul timp:

• Ecuaţia diferenţială (3.2.7) şi


• Integrala de convoluţie cu funcţia pondere (3.2.21).

3.2.1.3 Modele ale sistemelor continue în domeniul frecvenţă

Evoluţia în domeniul frecvenţă a unui sistem poate fi stabilită pe cale


experimentală, prin măsurări, sau, dacă există un model matematic al sistemului
sub forma unei funcţii de transfer, pe cale analitică, deci prin calcule:
Funcţia de transfer (3.2.18) trece în aşa numita funcţia vector răspuns la frecvenţă
H(jω) atunci când factorul de atenuare δ din cadrul variabilei Laplace s = δ + jω se
consideră ca fiind egal cu zero

H ( jω ) = H ( s) | s = jω ; ω = 2πf (3.2.23)

bm ( jω ) m + bm −1 ( jω ) m −1 + ... + b2 ( jω ) 2 + b1 jω + b0
H ( jω ) = (3.2.24)
a n ( jω ) n + a n −1 ( jω ) n −1 + ... + a 2 ( jω ) 2 + a1 jω + a 0
m ≤ n.

H(jω) este o funcţie complexă

H ( jω ) = Re{H ( jω )} + Im{H ( jω )}. (3.2.25)

101
Din reprezentarea pe componente (3.2.25) a funcţiei vector răspuns la frecvenţă, se
poate calcula reprezentarea în coordonate polare (vezi anexa A2):
Din

H ( jω ) = Re{H ( jω )} + Im{H ( jω )}
2 2
(3.2.26)

rezultă aşa numita caracteristică amplitudine – frecvenţă care descrie amplificarea


sistemului de transfer în funcţie de frecvenţa f.
Din

Im{H ( jω )}
ϕ {H ( jω )} = arctan ; [rad ] (3.2.27)
Re{H ( jω )}

se calculează evoluţia fază – frecvenţă a sistemului, care descrie quasi decalajul


temporal al semnalelor armonice aplicate la intrare spre ieşire în funcţie de
frecvenţa f. În forma de mai sus (3.2.27) caracteristica de fază este indicată în „rad”
iar în majoritatea limbajelor de programare, argumentele funcţiilor trigonometrice
trebuie indicate în această unitate de măsură. Uzual însă, exprimarea unghiurilor în
grade este mai accesibilă; între exprimarea unghiurilor în „grade” şi în „rad” există
următoare legătură:

ϕ {H ( jω )}[rad ] 2π
= . (3.2.28)
ϕ {H ( jω )}[Grad ] 360 0

Dacă caracteristica de fază (3.2.27) este exprimată în grade, se obţine următoarea


relaţie:

Im{H ( jω )} 180 0
ϕ {H ( jω )} = arctan ⋅ .[Grad ] (3.2.29)
Re{H ( jω )} π

Reprezentarea caracteristicilor de amplitudine şi de fază (în grade), unul sub altul,


pe o axă de frecvenţă împărţită în decade, cu axa ordonatelor caracteristicii de
amplitudine – frecvenţă având o scală împărţită în Decibeli (dB)

102
H ( jω ) dB = 20 ⋅ log H ( jω ) =
(3.2.30)
= 20 ⋅ log Re{H ( jω )} + Im{H ( jω )} ,
2 2

se obţine aşa numita diagramă Bode a sistemului de transfer, figura 3.9.


Măsura amplificării H ( jω ) dB (amplificarea în Decibeli) se află în legătura cu
amplificarea reală a sistemului, conform (3.2.30), după cum urmează:

H ( jω ) dB = 20 ⋅ log H ( jω ) (3.2.31)

H ( jω ) dB

H ( jω ) = 10 20 (3.2.32)

Tab. 3.1 Relaţii între factorul de amplificare H ( jω ) şi măsura amplificării H ( jω ) dB

H ( jω ) H ( jω ) dB
1000 60
100 40
10 20
1 0
0.1 -20
0.01 -40
0.001 -60

Deoarece diagrama Bode constituie un instrument important în evaluarea funcţiei


unui filtru, vom exemplifica determinarea caracteristicii de frecvenţă pe baza
filtrului RC din figura 3.8.
Pentru valorile indicate, ecuaţia diferenţială (3.2.6) devine:

y& (t ) = −1000 y (t ) + 1000u (t ) (3.2.33)

iar funcţia de transfer determinată (3.2.15) este

Y (s) 1
H (s) = = (3.2.34)
U ( s ) 1 + 0.001s

103
Pentru calcularea diagramei Bode, (3.2.34) se transformă în funcţia vector răspuns
la frecvenţă prin (3.2.23):

1
H ( jω ) = H ( s ) = . (3.2.35)
1 + 0.001 jω

După cum se vede, din (3.2.35) nu pot fi identificate separat componentele reale şi
imaginare ale funcţiei. Aceasta se poate doar după aplicarea complex conjugatei
(anexa A2.7) ecuaţiei:

1 1 − 0.001 jω 1 − 0.001 jω
H ( jω ) = ⋅ =
1 + 0.001 jω 1 − 0.001 jω 1 + 10 −6 ω 2
1 − 0.001ω
= −6 2
+ j −6 2
. (3.2.36)
11+4
10
243 ω 1+4
1 10
24 ω3
Re{H ( jω )} Im {H ( jω ) }

Componentele reale şi imaginare astfel obţinute, înlocuite în (3.2.30) respectiv


(3.2.29) şi se calculează aceste ecuaţii pentru o serie de valori ale frecvenţei f, de
exemplu pentru

0,1 Hz ≤ f ≤ 104 Hz,

se obţine diagrama Bode a sistemului RC.


Pentru aceste calcule apelăm la programul Scilab bode_c.sce din anexa B2 care
calculează şi reprezintă grafic diagrama Bode pentru orice sistem continuu
exprimat sub forma funcţiei de transfer.
Pentru sistemul analizat rezultă următoarele caracteristici de amplitudine şi
frecvenţă, figura 3.9: aşa cum se vede, elementul RC reprezintă un filtru trece jos.
Domeniul de trecere se află în plaja 0 până la circa 100 Hz. Pe caracteristica de
fază se recunoaşte că semnale de frecvenţă scăzută sunt transmise cu o abatere de
fază de 00. În zona de trecere între banda de trecere şi cea de blocare, se
înregistrează o rotire negativă a fazei, ceea ce înseamnă că armonicele
semnalului de ieşire vor fi întârziate faţă de armonicile de la intrare cu gradele
indicate.

104
Fig. 3.9 Diagrama Bode circuitului RC din figura 3.7

Figura 3.10.a ilustrează un semnal de 200 Hz aplicat filtrului: semnalul de intrare


este atenuat cu aproximativ -4dB iar semnalul de ieşire este defazat cu aproximativ
-500 (întârziat).

Fig. 3.10.a Efectul elementului RC asupra unui semnal sinusoidal de 200 Hz, aplicat la
intrare, reprezentat în domeniul frecvenţă

105
Următoarea imagine, figura 3.10.b, prezintă aceleaşi rapoarte pentru semnalul de
200 Hz analizat, de data aceasta în domeniul timp: semnalul de intrare u(t) = sin
(2π⋅200⋅t) este atenuat de filtrul RC pe o amplitudine de circa 0.62, de unde rezultă
un factor de atenuare de

VdB = 20 log 0.62 = −4.2dB

cea ce corespunde factorului de atenuare din diagrama Bode. De asemenea şi


defazarea în domeniul timp (-500) corespunde citirii de pe diagrama Bode:

Fig. 3.10.b Efectul elementului RC asupra unui semnal sinusoidal de 200 Hz, aplicat la
intrare, reprezentat în domeniul timp

Filtrele sunt caracterizate de frecvenţa limită sau de graniţă, care reprezintă trecerea
între banda de frecvenţă blocată şi cea căreia i se permite trecerea. Ca frecvenţă
limită se defineşte în mod uzual acea frecvenţă la care apare o atenuare de -3dB
faţă de banda de trecere. Factorul de amplificare scade în acest loc la
H ( jω ) = 1 :
2

106
1
H ( jω ) dB = 20 log = 20 log 0.707 ≈ −3dB (3.2.37)
2

O analiză a filtrului RC pe baza diagramei Bode, având o rezoluţie mai bună în


zona punctului de -3 dB, ne conduce la constatarea că frecvenţa de tăiere se află la
aprox. 160 Hz.

Diagramele Bode permit aşadar analiza sistemelor continue din punct de vedere al
comportamentului lor în domeniul frecvenţă, de exemplu elementul RC asupra
proprietăţilor sale de filtru. Astfel se poate arăta printre altele că o modificare a lui
R şi / sau C are ca şi consecinţă o schimbare a frecvenţei de tăiere.

3.2.2 Modele ale sistemelor discrete în timp

Toate înlănţuirile de efecte reale din tehnică şi natura sunt, conform definiţiei
noţiunii de sistem, sisteme continue. Sistemele discrete nu sunt obiecte fizic
existente, ci algoritmi care rulează pe calculatoare digitale. Aceşti algoritmi pot fi
astfel dezvoltaţi, încât să implementeze efectul sistemelor continue (vezi figura 3.5).
În cadrul acestui paragraf se urmăreşte fundamentarea în realizarea unor astfel de
algoritmi. Pentru aceasta trebuie analizată modalitatea de modelare a sistemelor
discrete în domeniul timp, imagine şi frecvenţă.

3.2.2.1 Modele ale sistemelor discrete în domeniul timp

Sisteme discrete în timp (algoritmi pe calculatoare digitale) au ca mărimi de intrare


serii de numere şi ca mărimi de ieşire, serii de numere, figura (3.11).

Fig. 3.11 Sistem discret, cu o serie de valori de intrare şi ieşire

107
Sistemele discrete trebuie să lucreze etapizat, deoarece un calculator digital, prin
viteza sa de prelucrare finită, poate prelucra o serie de valori de intrare într-o serie
de valori de ieşire doar într-un anumit interval de timp.
Ecuaţiile diferenţiale nu se pretează aşadar pentru astfel de algoritmi. O discretizare
temporală a ecuaţiilor diferenţiale şi prin aceasta posibilitatea lor de prelucrare
etapizată, poate fi implementată prin aceea că raportul diferenţial al modelelor
sistemelor continue

dy (t )
y& (t ) = (3.2.38)
dt

este înlocuit cu raportul de diferenţă peste un interval de timp finit T (perioada de


eşantionare):

∆y (t ) dy (t )
≈ . (3.2.39)
T dt

Amintim în acest punct faptul că raportul diferenţial este definit de trecerea la


limită:

dy (t ) ∆y (t )
= lim (3.2.40)
dt T →0 T

Aceasta înseamnă, exprimat grafic, figura 3.12, calcularea pantei lui y(t) într-un
punct infinitezimal de mic dt, ceea ce este echivalent cu calcularea tangentei în
punctul dt.
Dacă mărim dt la o durată T finită, ceea ce este echivalent cu presupunerea
realizată (3.2.39),

dy (t ) ∆y (t ) y (nT ) − y ((n − 1)T )


≈ = (3.2.41)
dt T T

se recunoaşte că raportul de diferenţiere a devenit accesibil unei prelucrări


etapizate. Prin aceasta se introduce însă o eroare, care se face remarcată în pante
diferite ale ∆y(t) / T şi dy(t) / dt. Se recunoaşte însă în acelaşi timp, că eroarea de
discretizare se reduce odată cu reducerea timpului de eşantionare.

108
Fig. 3.12 Explicativă la raportul diferenţial şi de diferenţă

Un astfel de proces de discretizare este exemplificat în continuare pe baza ecuaţiei


diferenţiale (3.2.6) a elementului RC:

1 1
y& (t ) = − y (t ) + u (t ) (3.2.43)
RC RC

Membrul stâng al ecuaţiei diferenţiale se transformă conform expresiei (3.2.41)

dy (t ) ∆y (t ) y (nT ) + y ((n − 1)T )


y& (t ) = ≈ = , (3.2.44)
dt T 2

pretându-se prin aceasta la un calcul etapizat. Membrul drept este încă format din
argumentele semnalului t corespunzătoare unui calcul continuu, referitoare la un
punct infinit mic dt. Pentru calcularea etapizată a membrului drept al ecuaţiei
(3.2.43) trebuie utilizate momente discrete de timp. Aici putem alege cu aceeaşi
motivare nT sau (n-1)T, în ambele situaţii vom face însă o greşeală, deoarece în
membrul stâng am înlocuit dt infinitezimal cu un T finit.
Eroare se reduce dacă vom înlocuii valorile medii

y (nT ) + y ((n − 1)T )


y (t ) ≈ (3.2.45a)
2
109
u ( nT ) + u (( n − 1)T )
u (t ) ≈ (3.2.45b)
2

(spre simplificarea formei de scriere nu se va mai trece T în urătoarele ecuaţii):

y (nT ) + y ((n − 1)T )


=−
1
( y(n) + y(n − 1)) + 1 (u (n) + u (n − 1)) (3.2.46)
T 2 RC 2 RC

Ecuaţia elementului RC, devine prin evidenţierea mărimii de ieşire y(n):

2 RC − T
y (n − 1) +
T T
y (n) = u ( n) + u (n − 1) (3.2.47)
2 RC + T 2 RC + T 2 RC + T

Prin aceasta, ecuaţia (3.2.43) a devenit accesibilă unui calcul etapizat. Ecuaţia
(3.2.47) descrie complet comportamentul temporal a elementului RC „discret”,
adică evoluţia mărimii de ieşire y(nT) la o evoluţie oarece a mărimii de intrare
u(nT).
Dacă se înlocuiesc valori pentru parametrii R şi C şi se alege un timp de
eşantionare T corespunzător, ecuaţia poate fi transpusă în orice limbaj de
programare, implementată şi rulată pe un calculator digital. Dacă calculatorul
digital este prevăzut cu convertoare A / N şi N / A, se obţine un efect aşa cum este
prezentat în figura 3.5.
Acest drum parcurs pentru discretizarea unei ecuaţii diferenţiale, este unul foarte
anevoios, paragraful 3.2.3 va prezenta o transformare de discretizare mai generală,
care lucrează în domeniul imagine.
La o analiză mai exactă a ecuaţiei (3.2.47) se recunoaşte că pe lângă valorile
actuale ale semnalului valabile la momentul de timp nT apar şi valori ale
semnalului care provin dintr-un pas temporal anterior (n-1)T. Pentru calcularea
unei valori actuale y(nT) este necesară o valoare calculată într-un pas anterior, y((n-
1)T). Datorită prelucrării etapizate a datelor, un astfel de model în domeniul timp al
unui sistem discret, este cunoscut drept ecuaţie de diferenţă (spre deosebire de
ecuaţia diferenţială a unui sistem continuu). Deoarece la calcularea valorilor de
ieşire actuale se utilizează în ecuaţie şi valori „vechi” ale valorilor de ieşire,
modelul (3.2.47) este numit şi ecuaţie de diferenţă recursivă.
În cazul sistemelor complexe, trebuie să se ţină cont de valori ale mărimilor de
intrare şi de ieşire provenind de la mai multe etape anterioare de calcul; astfel se

110
obţine modelul temporal general al unui sistem discret în forma unei ecuaţii de
diferenţă recursive:

y (n) = −α 1 y (n − 1) − α 2 y (n − 1) − ... − α p y (n − p ) + ...


(3.2.48)
.. + β 0 u (n) + β1u (n − 1) + ... + β q u (n − q );
p q
y (n) = ∑ − α i y (n − i ) + ∑ β u (n − i);
i q≤p
i =1 i =1

La determinarea unui şir a valorilor de ieşire nu se ţine cont de semnalele a căror


argumente sunt mai mici de zero:

u (n − i ) = y (n − 1) = 0, dacă (n - i) < 0 (3.2.49)

Şi pentru cel de-al doilea model temporal al sistemelor continue, integrala de


convoluţie, pentru sistemele discrete există o formă de descriere duală, suma de
convoluţie,

n n
y (n) = ∑ h(n − i) ⋅ u (i) = ∑ h(i) ⋅ u(n − i) (3.2.50)
i =1 i =1

n = 0, 1, 2, 3, …

cu ajutorul căreia se calculează semnalul de ieşire y(nT) a unui sistem discret, dacă
şirul de intrare u(i) şi funcţia de transfer a sistemului h(nT) sunt cunoscute.
Şirul funcţiei pondere h(nT) reprezintă transformata z inversă a funcţie de transfer
exprimate în z (urmează a fi introdusă în paragraful următor), H(z)

h(n) = Ζ −1 {H ( z )}, (3.2.51)

sau răspunsul sistemului la impuls unitar, definit după cum urmează în cazul
sistemelor discrete

1 pentru n = 0
δ ( n) =  . (3.2.52)
0 pentru n ≠ 0

111
Veridicitatea acestei afirmaţii poate fi verificată prin înlocuirea (3.2.52) în (3.2.50).
Rezultă

y (nT ) = h(nT ) (3.2.53)

Ecuaţiile de diferenţă ale sistemelor discrete sunt reprezentate des prin filtre
digitale în literatura sub forma aşa numitor scheme bloc. Cu ajutorul elementelor
bloc, figura 3.13, ecuaţiile de diferenţă pot fi uşor transformate în scheme bloc.

Direcţia de acţiune a unui semnal u(n); semnalul


acţionează fără reacţie de la stânga la dreapta
Punct de bifurcare a semnalului u(n); semnalul
este doar bifurcat, în rest nu suferă nici o
schimbare
Sumarea semnalelor; semnalul de ieşire este
suma, dependentă de semn, a semnalelor de
intrare

Întârzierea semnalului (- stocare) cu durata


timpului de eşantionare T

Factor de amplificare, coeficient


y(n) = a ⋅ u(n); a – const.

Fig. 3.13 Elemente pentru implementarea schemelor bloc corespunzătoare ecuaţiile de


diferenţă

Cu ajutorul acestor elemente de exprimare, următoarea ecuaţie diferenţială

y (n) = − y (n − 1) + 0.5 y (n − 2) + u ( n) + 2u (n − 1) − 3u (n − 2)

poate fi reprezentată grafic, de exemplu, prin următoarea structură, figura 3.14:

112
Fig. 3.14 Schema bloc a ecuaţiei de diferenţe aleasă spre exemplificare

3.2.2.2 Modele ale sistemelor discrete în domeniul imagine

Aşa cum a fost prezentat în capitolul 2.2.1.3, un şir de valori discrete u(n) se obţine
prin eşantionarea unui semnal continuu u(t). Un astfel de semnal eşantionat poate fi
exprimat în general printr-o serie de impulsuri Dirac u*(t), figura 3.15, care poate fi
descrisă prin:

0 pentru t ≠ nT 
u (t ) = δ (t − nT ) =   (3.2.54)
∞ pentru t = nT 

Fig. 3.15 Serie de impulsuri Dirac

Dacă se eşantionează un semnal cu o asemenea succesiune,

113
Fig. 3.16 Serie de valori a unui semnal continuu eşantionat

amplitudinile semnalului continuu formează la poziţiile nT ponderile impulsurilor


Dirac, figura 3.16. Şirul de valori eşantionate u*(t) rezultă atunci ca fiind

u * (t ) = u (0) ⋅ δ (t ) + u (1T ) ⋅ δ (t − T ) +
+ u (2T ) ⋅ δ (t − 2T ) + ... + u (nT ) ⋅ δ (t − nT ) + ...

= ∑ u (nT ) ⋅ δ (t − nT ) .
n =0
(3.2.55)

Prin aplicarea proprietăţii de deplasare al transformatei Laplace (vezi anexa A1.2)

L{δ (t − nT )} = e − snT

relaţiei (3.2.55), se obţine descrierea generală în domeniul imagine s a unui semnal


în timp discret:

{ }

− snT
L u * (t ) = U * ( s ) = ∑ u (nT ) ⋅ e . (3.2.56)
n =0

Aşa cum se observă, această transformare nu duce la o soluţie închisă în domeniul


s ca în cazul sistemelor continue, ci la un număr infinit de sume, greu de urmărit.
Din acest motiv se introduce o nouă variabilă de transformare,

z = esT (3.2.57)

114
obţinându-se prin aceasta, pentru semnale discrete în timp, o relaţie de
transformare închisă, rezolvabilă, aşa numita transformată z,

{ }

−n
Z u * (t ) = U * ( z ) = ∑ u (nT ) ⋅ z . (3.2.58)
n =0

care reprezintă operaţia echivalentă transformatei Laplace aplicată sistemelor


continue.
Asemănător cu transformata Laplace, acest procedeu de transformare este
prescurtat simbolic ca fiind

U ( z ) = Z {u (nT )} (3.2.59)

Pentru a nu fi necesară, nici în acest caz, o evaluare permanentă a (3.2.58), s-au


creat şi în cazul transformatei z tabele de corespondenţă, care realizează o legătură
dintre un şir de valori şi transformata z a acestuia.
Anexa A1.3 prezintă câteva exemple de calcul al transformatei z cu ajutorul relaţiei
(3.2.58) şi un scurt tabel de corespondenţă. Pe baza informaţiilor din acest tabel
este de asemenea posibilă implementarea transformatei z inverse

u (nT ) = Z −1 {U ( z )} (3.2.60)

Cu ajutorul proprietăţii de liniaritate şi comutativitate a transformatei z , modelul în


timp discret (3.2.48), ecuaţia de diferenţă recursivă în domeniul imagine, numit şi
domeniul z, poate fi transformat spre a forma modelul imagine a sistemului discret,
funcţia de transfer în z:

Aplicând proprietăţile mai sus amintite ale transformatei z elementelor din relaţia
(3.2.48), se obţine:

Z {y (n)} = Y ( z ) ⋅ z −0 = Y ( z )
Z {− α 1 y (n − 1)} = −α 1 ⋅ Y ( z ) ⋅ z −1
Z {− α 2 y (n − 2)} = −α 2 ⋅ Y ( z ) ⋅ z −2
… (3.2.61)
Z {β 0 u (n)} = β 0 ⋅ U ( z )
115
Z {β1u ( n − 1)} = β1 ⋅ U ( z ) ⋅ z −1
Z {β 2 u (n − 2)} = β 2 ⋅ U ( z ) ⋅ z −2

Rezumând, se obţine:

Y ( z ) = −α 1 ⋅ Y ( z ) ⋅ z −1 − α 2 ⋅ Y ( z ) ⋅ z −2 − .. − α p ⋅ Y ( z ) ⋅ z − p + ..
(3.2.62)
.. + β 0 ⋅ U ( z ) + β1 ⋅ U ( z ) ⋅ z −1 + .. + β q ⋅ U ( z ) ⋅ z −q

Dacă se grupează în membrul stâng toate mărimile în funcţie de Y(z) iar în


membrul drept toate valorile în funcţie de U(z),

(
Y ( z ) ⋅ 1 + α 1 ⋅ z −1 + α 2 ⋅ z −2 + .. + α p ⋅ z − p =)
U ( z ) ⋅ (β 0 )
+ β 1 ⋅ z −1 + .. + β q ⋅ z − q ,

se poate forma raportul dintre semnalul de intrare şi cel de ieşire în domeniul z,


Y(z)/ U(z), adică funcţia de transfer în z H(z):

Y ( z) β 0 + β1 ⋅ z −1 + .. + β q ⋅ z − q
H ( z) = = (3.2.63a)
U ( z ) 1 + α 1 ⋅ z −1 + α 2 ⋅ z − 2 + .. + α p ⋅ z − p

β 0 z p + β1 ⋅ z p −1 + β 2 ⋅ z p − 2 .. + β q ⋅ z p − q
= (3.2.63b)
z p + α 1 ⋅ z p −1 + α 2 ⋅ z p − 2 + .. + α p
p ≤ q; p – ordinul sistemului de transfer.

Pentru elementul RC analizat ecuaţia de diferenţă (3.2.47) trece în funcţia de


transfer z:

2 RC − T T T
Y ( z) = Y ( z ) z −1 + U ( z) + U ( z ) z −1 ;
2 RC + T 2 RC + T 2 RC + T
 2 RC − T −1   T T 
Y ( z ) ⋅ 1 − z  = U ( z) ⋅  + z −1 ;
 2 RC + T   2 RC + T 2 RC + T 

116
T
Y ( z ) 2 RC + T
1 + z −1 ( )
H ( z) = = . (3.2.64)
U ( z) 2 RC − T −1
1− z
2 RC + T

Cum se va vedea mai târziu, la implementarea filtrelor se parcurge foarte des calea
inversă, de la funcţia de transfer în z la ecuaţia de diferenţă. Dorim să prezentăm
aceasta pe baza următoarei funcţii de transfer în z:

Y (z) 0.01
H ( z) = = (3.2.65)
U ( z ) z 2 − 1.9 z + 0.9

Funcţia de transfer este dată cu potenţe pozitive ale lui z. Pentru transformarea în
domeniul temporal, ecuaţia de diferenţă, avem nevoie ca ea să fie exprimată cu
puteri negative ale lui z. În acest scop înmulţim numărătorul şi numitorul funcţiei
de transfer în z cu z-p, unde p este puterea cea mai mare a funcţiei de transfer date.
Pentru cazul analizat (3.2.65) urmează a fi înmulţit cu z-2, obţinându-se:

Y ( z) 0.01z −2
H ( z) = = . (3.2.66)
U ( z ) 1 − 1.9 z −1 + 0.9 z − 2

Apoi funcţia de transfer este înmulţită în cruce cu U(z) şi Y(z), rezultând:

Y ( z ) − 1.9Y ( z ) ⋅ z −1 + 0.9Y ( z ) ⋅ z −2 = 0.01U ( z ) ⋅ z −2 . (3.2.67)

Datorită valabilităţii proprietăţii de liniaritate, termenii din (3.2.67) pot


transformate independent, cu ajutorul proprietăţii de decalare

{ }
Z −1 U ( z ) ⋅ z − i = u (n − i )

în domeniul de timp discret:

Z −1 {Y ( z )} = y (n)
{ }
Z −1 − 1.9 ⋅ Y ( z ) ⋅ z −1 = −1.9 ⋅ y (n − 1)

117
{ }
Z −1 0.9 ⋅ Y ( z ) ⋅ z −2 = 0.9 ⋅ y (n − 2)
Z −1
{0.01 ⋅ U ( z) ⋅ z }= 0.01 ⋅ u (n − 2)
−2
(3.2.68)

Dacă rezultatele transformării se înlocuiesc în ordinea corespunzătoare din (3.2.67),

y (n) − 1.9 ⋅ y (n − 1) + 0.9 ⋅ y (n − 2) = 0.01 ⋅ u ( n − 2), (3.2.69)

se poate evidenţia mărimea de ieşire cu momentul temporal actual:

y (n) = 1.9 ⋅ y (n − 1) − 0.9 ⋅ y (n − 2) + 0.01 ⋅ u (n − 2) . (3.2.70)

stabilindu-se prin aceasta ecuaţia de diferenţe căutată.

3.2.2.3 Modele ale sistemelor discrete în domeniul frecvenţă

Pentru calcularea evoluţiei în domeniul frecvenţă, respectiv a diagramei Bode unui


sistem în timp discret, se porneşte, la fel ca în cazul sistemelor continue, de la
funcţia de transfer, în cazul de faţă de la funcţia de transfer în z (3.2.63). Şi în acest
caz funcţia de transfer H(z) trece în funcţia vector de frecvenţă H(jωz), atunci când
în variabila Laplace s = δ + jω, δ este pus egal cu zero δ = 0

z = e sT | s = jω = e jωT (3.2.71)

Din (3.2.63) se obţine

− jωT
Y ( jω z ) β 0 + β1 ⋅ e + .. + β q ⋅ e − jqωT
H ( jω z ) = = . (3.2.72)
U ( jω z ) 1 + α 1 ⋅ e − jωT + .. + α p ⋅ e − jpωT

Prin înlocuirea relaţiei lui Euler (A2.16)

e − jωT = cos(ωT ) − j ⋅ sin(ωT ) ,

se obţine funcţia vector de frecvenţă a unui sistem în timp discret


118
β 0 + β 1 ⋅ cos(ωT ) − jβ1 ⋅ sin(ωT ) + .. + β q ⋅ cos(qωT ) − jβ q ⋅ sin( qωT )
H ( jω z ) = .
1 + α 1 ⋅ cos(ωT ) − jα 1 ⋅ sin(ωT ) + .. + α p ⋅ cos( pωT ) − jα p ⋅ sin( pωT )
(3.2.73)

Numitorul şi numărătorul (3.2.73) pot fi din nou defalcate în parte reală şi


imaginară a H(jωz), după înmulţirea corespunzătoare cu conjugatul complex.
Aplicând apoi relaţiile (3.2.30) şi (3.2.29) se pot fi calculate şi reprezentate
caracteristicile de amplitudine şi fază Bode, pentru o serie de frecvenţe.

Rezultatul implementării unui astfel de calcul poate fi urmărit prin programul


Scilab din anexa B2 bode_z.sce, care returnează diagrama Bode a unui sistem
discret, descris prin funcţia de transfer.

Pentru sistemul discret al elementului RC exprimat prin funcţia de transfer în z


(3.2.64), pentru un timp de eşantionare de T = 1ms (fT = 1/T = 1kHz) şi pentru R =
1kΩ şi C = 1µF, se obţine:

H ( z) =
(
0.333 1 + z −1 )
=
0.333(z + 1)
, (3.2.74)
−1
1 − 0.333 z z − 0.33

iar prin (3.2.71),

H ( jω z ) =
(
0.333 z + e − jω 0.001), (3.2.75)
1 − 0.333e − jω 0.001

şi din această expresie, similar ca în (3.2.73),

0.333(1 + cos(0.001ω ) − j sin(0.001ω )


H ( jω z ) = . (3.2.76)
1 − 0.333(1 + (1 + cos(0.001ω ) − j sin(0.001ω ))

După înmulţirea cu conjugata complexă, formarea părţii reale şi imaginare a H(jωz)


şi alcătuirea ulterioară a expresiei de modul şi de fază, se poate determina, pentru
frecvenţe diferite f (ω = 2π⋅f), într-un domeniu de frecvenţă de interes,
caracteristicile amplitudine – frecvenţă şi fază – frecvenţă.

119
Pentru a renunţa la aceste calcule, se apelează la programul Scilab bode_z.sce.
Pentru timpul de eşantionare mai sus indicat T = 1ms, se calculează pentru (3.2.74)
următoarea caracteristică Bode, figura 3.17:

Fig. 3.17 Diagrama Bode a funcţiei de transfer în z a elementului RC discretizat, la un timp


de eşantionare de T=0.001 sec

Deşi până la frecvenţa Nyquist utilizabilă fT/2 = 500Hz se recunoaşte un


comportament asemănător unui filtru trece jos, comparativ cu diagrama Bode a
sistemului continuu, figura 3.9, se poate constata că sistemul în timp discret
reproduce relativ slab pe cel continuu: doar până la aproximativ 200 Hz ambele
diagrame Bode au un parcurs identic.

Prin micşorarea timpului de eşantionare T respectiv mărirea frecvenţei de


eşantionare fT, rapoartele se îmbunătăţesc simţibil. În figura 3.18 frecvenţa de
eşantionare a fost mărită la 10 kHz, modelul discret corespunzând sistemului
continuu acum până la frecvenţa de circa 2 kHz. Printr-o mărire suplimentară a
frecvenţei de eşantionare, adaptarea ar putea fi îmbunătăţită în continuare.

120
Fig. 3.18 Diagrama Bode a funcţiei de transfer în z a elementului RC discretizat, la un timp
de eşantionare de T=0.0001 sec

3.2.3 Transformări de discretizare

Aşa cum se va vedea în capitolul 4.4, varianta clasică de proiectare a unui filtru
digital constă în acea de a le dezvolta pe baza unui model continuu. Pentru aceasta
se porneşte de la funcţia de transfer continuă. Cu metodele prezentate până acum,
pentru discretizarea lui H(s) funcţia de transfer continuă urmează a fi trecută cu
transformata Laplace inversă în domeniul timp iar ecuaţia diferenţială rezultată să
fie discretizată cu (3.2.41) şi (3.2.45) într-o ecuaţie de diferenţe.

O cale mai simplă pentru discretizare oferă acele proceduri care operează exclusiv
în domeniul imagine. Pentru determinarea unei astfel de transformări de
discretizare, privim relaţia (3.2.57)

z = e sT , (3.2.76)

care realizează deja o legătură între domeniul z şi s. Într-o primă etapă vom
exprima (3.2.76) în funcţie de s:
121
1
s= ln( z ). (3.2.77)
T

Ulterior ln(z) este dezvoltat într-un şir exponenţial [19]

1 1  z − 1  1  z − 1  3 1  z − 1  5 
s= ln( z ) = ⋅ 2 ⋅   + ⋅  + ⋅  + ... , (3.2.78)
T T  z + 1  3  z + 1  5  z +1 

întrerupt după elementul liniar:

2 z −1
s≈ . (3.2.79)
T z +1

Ca rezultat se obţine o relaţie de substituţie cu ajutorul căreia funcţii de transfer


exprimate în s pot fi transformate simplu în funcţii de transfer în z, adică sistemele
să poată fi discretizate.
(3.2.79) este cunoscut în literatura de specialitate ca transformare bi- liniară sau
aproximarea Tustin. Trebuie precizat că există o serie de alte transformări de
discretizare, aproximarea Tustin este însă cea mai utilizată în domeniul prelucrării
semnalelor.

Spre exemplificarea aplicării transformării Tustin, aceasta va fi utilizată în vederea


calculării funcţiei de transfer în s a elementului RC:

Y (s) 1
H (s) = = (3.2.80)
U ( s ) 1 + sRC

Pentru soluţionare, substituim s prin (3.2.79) obţinând următoarea funcţie de


transfer în z

1 T ( z + 1)
H ( z) = = =
2 z −1 T ( z + 1) + 2 RCT ( z − 1)
1+ RC
T z +1

122
T
( z + 1)
=
T ( z + 1)
=
(2 RC + T ) ,
(2 RC + T )z − (2 RC − T ) z − (2 RC − T )
(2 RC + T )

care poate fi exprimată şi cu puteri negative ale lui z

T
(1 + z −1 )
H ( z) =
(2 RC + T ) (3.2.81)
1−
(2 RC − T ) z −1 .

(2RC + T )

Se observă că relaţia (3.2.81) coincide perfect cu funcţia de transfer în z obţinută


prin discretizare în domeniul timp. În general rezultatele transformărilor de
discretizare se deosebesc foarte puţin între ele, aceasta deoarece toate metodele
sunt aproximări.

123
CAP. 4 PROCEDEE SELECTATE ÎN ANALIZA
SEMNALELOR

În cadrul acestui capitol, pe baza celor prezentate anterior, se prezintă cele mai
importante procedee de prelucrare a semnalelor, în special bazele tehnicii filtrelor
digitale.

4.1 Adunarea şi scăderea semnalului

Simpla adunare şi scădere a semnalelor este foarte des utilizată în analiza


semnalelor.
Dacă este cunoscut faptul că peste un semnal măsurat se suprapune un semnal
perturbator, iar dacă modelul matematic al semnalului perturbator este cunoscut
sau poate fi calculat, pentru eliminarea perturbaţiei, din semnalul măsurat poate fi
scăzut semnalul perturbator. Rezultatul este un semnal util fără perturbaţii.
Dacă un semnal periodic, cu apariţii repetate, se află ascuns într-un zgomot de
valoare medie nulă, se poate, prin adunarea unor segmente de semnal de lungimi
egale, a căror început se sincronizează de către semnalul periodic repetitiv, acesta
din urma poate fi evidenţiat din zgomot: prin permanenta adunare a amplitudinii
semnalului, care apare mereu la acelaşi moment de timp, creşte în timp odată ce
suma valorilor pozitive şi negative ale zgomotului, cu o apariţie statică, vor tinde
către zero.

4.2 Interpolarea şi decimarea semnalului

În subcapitol se analizează problematica densităţii eşantionării unui semnal


discretizat. Dacă de exemplu, două semnale consecutive cu un timp de 1 sec între
acestea, urmează să fie scăzute între ele, un semnal a fost însă eşantionat la 300 Hz
iar celălalt semnal cu 250 Hz, va exista un număr diferit de valori eşantionate la
diferite momente de timp iar astfel o scădere devine imposibilă.
Sau dacă un semnal trebuie să fie supus unei analize spectrale în cadrul căreia
urmează să fie reprezentat mereu un anumit domeniu de frecvenţă, 0 Hz la fmax şi fT
nu îndeplineşte condiţia
124
fT
f max = ,
2

succesiunea semnalului trebuie astfel recalculată, încât

fT = 2⋅fmax

iar valorile amplitudinilor semnalului corespunzătoare acestor momente de timp, să


fie cunoscute. În ambele cazuri, trebuie să se producă o adaptare a timpului de
eşantionare, un aşa numit „resampling”: timpul de eşantionare este prea mare, între
valorile succesive ale semnalului trebuie realizată interpolarea, iar dacă timpul de
eşantionare este prea mic, valorile succesive ale semnalului trebuie decimate.

Cea mai cunoscută metodă de interpolare este aşa numita interpolare lineară, în
cadrul căreia fiecare două valori succesive ale amplitudinilor sunt legate între ele
cu o dreaptă. Cu ajutorul ecuaţiei dreptei care urmează a fi calculată, pot fi
determinate atunci amplitudini de interpolare la noile puncte de eşantionare. Şi o
decimare poate fi realizată cu ajutorul aceleiaşi metode; figura 4.1 vizualizează
aceste legături.

Fig. 4.1 Interpolarea liniară a semnalelor

125
Interpolarea liniară este un caz special al aşa numitei interpolări polinomiale, la
care prin m + 1 puncte (vechi) de măsurare se aşează un polinom de ordinul m

a 0 + a1 (nT ) + a 2 (nT ) + ... + a m (nT ) = u (nT ) .


2 m
(4.2.1)

Valorile măsurate

{(0, u (0)); (T , u (T )); (2T , u (2T ));...(mT , u (mT ))} (4.2.2)

vor fi înlocuite în polinomul (ales de ordin m) (4.2.1):

a 0 + a1 (0T ) + a 2 (0T ) + ... + a m (0T ) = u (0T )


2 m

a 0 + a1 (1T ) + a 2 (1T ) + ... + a m (1T ) = u (1T )


2 m

a 0 + a1 (2T ) + a 2 (2T ) + ... + a m (2T ) = u (2T )


2 m

… (4.2.3a)
a 0 + a1 (mT ) + a 2 (mT ) + ... + a m (mT ) = u (mT ).
2 m

Sistemul de ecuaţii obţinut, poate fi reprezentat într-o formă matricială:

 1 0T (0T )2 ... (0T )m   a 0   u (0T ) 


 
 1 1T (1T )2 (1T )m   a1   u (1T ) 
 1 2T (2T )2

(2T )m  ⋅  a 2  =  u (2T ) . (4.2.3b)
   
...     
 1 mT (mT )2 (mT ) m 
 a  u (mT )
 444442444443 { 1
1 m
424 3
M p u
− − −

Aceasta înseamnă:

M⋅ p = u. (4.2.4)
− − −

Conform legilor calculului matricial, vectorul care prezintă interes, polinomul


parametrilor p , se obţine înmulţind ecuaţia (4.2.4) cu inversa matricei M
− −

126
−1 −1
M ⋅M ⋅ p = M ⋅u
−424
1 3− − − −
E

−1
p = M ⋅u . (4.2.5)
− − −

Dacă înlocuim un grad polinomial m = 1, se obţine prin m + 1 = 2 puncte de


măsurare, o interpolare lineară. Pentru m = 2 se interpolează pătratic iar pentru m =
3 cubic, figura 4.2

Fig. 4.2 Interpolare liniară, pătratică şi cubică

Practic se interpolează prin aceea că în urma calculării polinomului de interpolare,


se calculează valori ale amplitudinilor în noile puncte ale momentelor de
eşantionare.

La un grad prea ridicat al polinomului (m > 10) se ajunge la erori de calcul, ceea ce
conduce la faptul că polinomul de interpolare nu atinge toate punctele de
eşantionare, în mod special cele de la marginea curbei, figura 4.3.

La un grad prea mic ales pentru polinomul de interpolare, se ajunge între punctele
de interpolare la devieri puternice dintre polinomul de interpolare şi caracteristica
reală, figura 4.4.

127
Fig. 4.3 Grad prea mare al polinomului de interpolare

Fig. 4.4 Grad prea mic al polinomului de interpolare

În anexa B2, se găseşte un program Scilab int_poli.sce, cu ajutorul căruia pot fi


verificate experimental cele afirmate în legătură cu interpolarea polinomială. La
alegerea corectă a gradului polinomului, interpolarea polinomială este o procedură
utilă pentru interpolarea şi decimarea semnalelor aperiodice.

O altă metodă de interpolare care conduce la rezultate relativ bune, este metoda cu
completări de zerouri în spectrul semnalului.
128
Aşa cum s-a arătat în capitolul 2.2.1.4, între scalarea unui semnal discret în
domeniul temporal şi scalarea spectrului acestuia există relaţia (2.2.69)

1
∆f = . (4.2.6)
NT

Dacă această relaţie se exprimă ca fiind

1
∆f ⋅ N = , (4.2.7)
T

se recunoaşte că prin mărirea valorilor lui ∆f peste N, se obţine o micşorare a


timpului de eşantionare.
Aşa cum s-a arătat mai devreme, o completare cu zerouri („zero padding”) în
domeniul timp nu a avut un efect negativ asupra spectrului, rezoluţia frecvenţei
fiind chiar îmbunătăţită. Procedura de completare cu zerouri în vederea interpolării
unei funcţii de timp, parcurge calea inversă:

a. Ca prim pas, succesiunea de valori care trebuie interpolată este transformată în


domeniul frecvenţă cu timpul de eşantionare Tvechi prin transformata Fourier
discretă (TFD). În acest caz se calculează toate valorile spectrale k,

0 ≤ k ≤ N,

deci şi repetarea oglindită peste domeniul Nyquist.


b. Mijlocul spectrului este completat acum cu un număr de zerouri Nnul, care se
calculează din următoare relaţie

T  t
N nul = round  vechi ⋅ N vechi  − N vechi ; N vechi = end ; (4.2.8)
 Tnou  Tvechi

c. Spectrul complex completat cu zerouri trece în domeniul timp cu ajutorul TFD


inverse (2.2.71). Timpul de eşantionare Tnou indicat în (4.2.8) este acum noul timp
de eşantionare al seriei temporale, transformate înapoi. Trebuie remarcat că seria

129
de valori în urma transformării inverse este una complexă. Partea reală a seriei
complexe formează amplitudinile semnalului temporal.

Figura 4.5 ilustrează întreaga procedură pe baza unui exemplu.

130
Fig. 4.5 Interpolare prin completarea spectrului cu zerouri,
a) Semnal iniţial, Tvechi = 0.1 sec, Nvechi = 40,
b) Spectrul de amplitudine al semnalului iniţial,
c) Spectru lărgit cu zerouri
d) Semnal interpolat, Tnou = 0.04 sec, Nnou = 100

În anexa B2 se află un program în Scilab interpol.sce, cu ajutorul căruia se poate


experimenta metoda de interpolare cu completări de zerouri în spectru.
Atât semnalele periodice cât şi cele aperiodice sunt corespunzător interpolate.
Metoda produce o eroare atunci când spectrul nu atinge zero până la frecvenţa
Nyquist (efectul de aliere).

Procedura de completări cu zerouri poate fi utilizată şi pentru decimarea unui


semnal iar astfel pentru „resampling”-ul dorit. Dorim să clarificăm aceasta pe baza
unui exemplu: un semnal cu un timp de eşantionare Tvechi = 0.1 sec urmează să fie
decimat la Tnou = 0.37 sec. Acum, prin completări de zerouri, prin programul
interpol.sce, semnalul „vechi” poate fi interpolat pe Tnou, care este mai mic decât
Tvechi, de exemplu Tintre = Tnou / 10 = 0.037 sec. După realizarea interpolării, din
succesiunea de valori ale semnalului se extrage tot a 10-a valoare, iar semnalul a
fost decimat conform dorinţei. Trebuie avut în vedere ca factorul la care se împarte
Tnou să fie un număr întreg, pentru ca ulterior seria decimată să poată fi extrasă fără
probleme.

131
4.3 Diferenţierea şi integrarea semnalului

Diferenţierea şi integrarea semnalelor permite

• Determinarea parametrilor unui semnal cu ajutorul procedurilor numerice, cum


ar fi depistarea maximului si minimului amplitudinii, puncte de inflexiune şi

• Transformări ale semnalelor, pentru ca semnale achiziţionate prin tehnici de


măsurare relativ simple, să fie prelucrate prin integrări şi diferenţieri în semnale
mai uşor interpretabile. Astfel, de exemplu, prin măsurarea drumului în timp, cu
ajutorul diferenţierii se calculează viteza şi acceleraţia unui sistem.

Din mulţimea de metode numerice (discrete în timp) de diferenţiere şi de integrare


se prezintă câteva relevante în practică, respectiv problemele care apar la aplicarea
acestora.

Pentru deducerea unui prim algoritm de diferenţiere, se porneşte de la un model


continuu al unui element diferenţiator:

y (t ) = u& (t )
u(t): mărime de intrare; y(t): mărime de ieşire. (4.3.1)

Această ecuaţie se transformă în domeniul Laplace

L{y (t ) = u& (t )} = Y ( s ) = s ⋅ U ( s )

şi se alcătuieşte funcţia de transfer

Y ( s)
H (s) = = s. (4.3.2)
U ( s)

Cu ajutorul transformării de discretizare (3.2.79) se obţine funcţia de transfer în z

Y ( z) 2 z − 1 2z − 2
H (z ) = H ( s ) | 2 z −1 = = = (4.3.3)
s=
T z +1
U ( z ) T z + 1 Tz + T

132
Pentru calcularea ecuaţiei de diferenţe urmăm exemplul descris între relaţiile
(3.2.65) şi (3.2.70) şi transformăm (4.3.3) într-o formă de scriere cu puteri negative
ale lui z

Y ( z ) 2 − 2 z −1
H (z ) = = ,
U ( z ) T + Tz −1

şi înmulţim încrucişat această expresie

TY ( z ) + TY ( z ) z −1 = 2U ( z ) − 2U ( z ) z −1 .

Cu ajutorul teoremei de deplasare a transformării z (anexa A1.3), această relaţie


este transformată în domeniul timp:

T ⋅ y (n) + T ⋅ y (n − 1) = 2 ⋅ u (n) − 2 ⋅ u (n − 1)

şi grupată în funcţie de valoarea actuală a mărimii de ieşire:

2 2
y (n) = − y (n − 1) + ⋅ u (n) − ⋅ u (n − 1) . (4.3.4)
T T

Relaţia (4.3.4) este ecuaţia de diferenţiere implementabilă pe un calculator.

În anexa B2 se găseşte programul Scilab dif_int.sce, care demonstrează pe, baza


unui exemplu, algoritmul de diferenţiere. Aşa cum poate fi clar recunoscut,
elementul de diferenţiere lucrează corect, este însă suprapus cu un semnal
perturbator de frecvenţă fT/2 şi prin aceasta neutilizabil.
Pentru aceasta se introduce un filtru trece jos de ordinul 1, care elimină această
perturbaţie. Se poate arăta că la o alegere a frecvenţei limită

fT 1
fg = = (4.3.5)
2 2T

a acestui filtru, perturbaţia este atenuată. Cu alte cuvinte: dacă după utilizarea
algoritmului de diferenţiere se aplică şi acest algoritm al filtrului trece jos,

133
combinaţia ambelor reprezintă un algoritm de diferenţiere de succes. Şi acest
aspect este demonstrat în cadrul programului dif_int.sce.

Deducerea algoritmului unui filtru trece jos, are loc în aceeaşi ordine ca cel de
diferenţiere: ca prim pas se necesită funcţia de transfer continuă a unui filtru trece
jos de ordinul 1 (vezi capitolul 4.4.1, relaţia (4.4.2)):

Y ( s) 1
H (s) = = (4.3.6)
U ( s) 1
1+ s
2π ⋅ f g

Prin (4.3.5), rezultă

Y (s) 1 1
H (s) = = = (4.3.7)
U (s) 2T T
1+ s 1+ s
2π π

iar în urma discretizării cu (3.2.79) se obţine funcţia de transfer în z:

1 π (z + 1) πz + π
H ( z) = = = , (4.3.8)
T 2 z − 1 π ( z + 1) + 2( z − 1) (π + 2 )z + (π − 2 )
1+
π T z+2

care este adusă în forma unei ecuaţii cu diferenţe:

Y ( z) π + π ⋅ z −1
H ( z) = = ,
U ( z ) (π + 2 ) + (π − 2 )z −1

(π + 2)Y ( z ) + (π − 2)Y ( z ) z −1 = πU ( z ) + πU ( z ) z −1 ,
π −2 π π
Y ( z) = − Y ( z ) z −1 + U ( z) + U ( z ) z −1 ,
π +2 π +2 π +2
π −2 π π
y (n) = − y (n − 1) + u (n) + u (n − 1). (4.3.9)
π +2 π +2 π +2

În natura procedurii de diferenţiere se ştie că la salturi ale semnalului de intrare se


răspunde cu amplitudini foarte mari ale semnalului de ieşire. Aceasta se poate arăta

134
şi cu ajutorul programului dif_int.sce, dacă semnale dreptunghiulare sunt
diferenţiate la valori foarte mici ale timpului de eşantionare.
Dacă un semnal ce urmează a fi diferenţiat este afectat de un zgomot de frecvenţă
ridicată, efectul mai sus amintit conduce la mari perturbaţii. Din acest motiv,
înainte de operaţia de diferenţiere a unui semnal, se impune o filtrare suplimentară
trece jos a semnalului de intrare.

O altă metodă de diferenţiere a semnalului ţine cont de această problemă încă de la


început: semnalul perturbat este netezit cu ajutorul unei aproximări polinomiale
(2.2.43). Fiindcă pentru aproximarea polinomială trebuie indicat un grad al
polinomului de aproximare, structura polinomului care trebuie calculat este
cunoscută. Dacă de exemplu pentru aproximare s-a ales un polinom de ordinul 3

u aprox (t ) = a3 t 3 + a 2 t 2 + a1t + a0 , (4.3.10)

deducerea analitică a acestuia este

u& aprox (t ) = 3a 3t 2 + 2a 2 t + a1 . (4.3.11)

Coeficienţii ai sunt calculaţi de algoritmul de aproximare al polinomului. Înlocuim


aceste valori în (4.3.10) se obţine semnalul diferenţiat, fără ca acesta să fie afectat
de semnalul perturbator. Pentru o reprezentare grafică, din (4.3.11) se calculează
doar valorile funcţiei pentru o serie de puncte temporale t. În (4.3.10/11) pentru
descrierea în timp discret a semnalelor, t poate fi înlocuit cu nT.

Alţi algoritmi de diferenţiere rezultă din aceea că pentru discretizarea lui (4.3.2) nu
se utilizează ecuaţia (3.2.79) ci puteri mai mari din (3.2.78) sau se apelează la o
aproximare simplă a raportului de diferenţiere, aşa cum este prezentată în relaţia
(3.2.41).

Pentru deducerea unui algoritm de integrare se va proceda, cum s-a mai arătat, în
felul următor: se analizează modelul matematic al unui sistem integrativ continuu


y (t ) = u (t )dt , (4.3.12)

135
şi se formează funcţia de transfer în s

Y ( s) 1
H (s) = = . (4.3.13)
U (s) s

Cu ajutorul transformării de discretizare se obţine funcţia de transfer în z

Y ( z ) Tz + T T + Tz −1
H ( z) = = = (4.3.14)
U ( z ) 2 z − 2 2 − 2 z −1

iar din aceasta, în urma transformării inverse în domeniul temporal discret, ecuaţia
cu diferenţe a unui integrator:

T T
y (n) = y (n − 1) + u (n) + u (n − 1) (4.3.15)
2 2

În cea ce priveşte funcţionalitatea acestui algoritm, aceasta poate fi verificată, cu


programul Scilab deja amintit, dif_int.sce.
Integratoarele spre deosebire de sistemele derivatoare, care în general măresc
„rugozitatea” semnalelor perturbate, au un efect de netezire asupra semnalelor de
intrare şi, prin aceasta, utilizarea lor este mult mai puţin problematică decât cea a
derivatoarelor.
Alţi algoritmi de integrare pot rezulta din aceea că pentru discretizarea lui (4.3.12)
nu se utilizează ecuaţia (3.2.79) ci puteri mai ridicate din (3.2.78).

4.4 Filtrarea semnalelor

Alături de analiza spectrală a semnalelor, filtrarea este una din cele mai importante
metode de prelucrare a semnalelor.
Cu legăturile tratate în cadrul acestui capitol, se urmăreşte punerea bazei pentru
implementarea filtrelor digitale, aşadar cele exprimate prin ecuaţii cu diferenţe,
care rulează pe calculatoarele digitale.

La implementarea filtrelor digitale, se deosebesc două tipuri fundamental diferite


de filtre:

136
• Filtrele IIR (Infinite Impulse Response Filter) care răspund la o excitaţie a
unui impuls unitar (3.2.52) cu o serie de ieşire infinit de lungă. Filtrele IIR sunt
descrise de ecuaţiile cu diferenţe (3.2.48), motiv pentru care acestea sunt cunoscute
drept filtre recursive.
Filtrele recursive se utilizează foarte des, deoarece, deja cu un ordin redus al
filtrului (cea mai mare putere a lui z în polinomul numitorului funcţiei de transfer
în z), acestea prezintă calităţi foarte bune (trecere abruptă din zona de traversare la
cea de blocare, atenuare puternică în zona interzisă). De asemenea filtrele IIR sunt
mult mai uşor de proiectat decât filtrele FIR.
Din păcate, filtrele IIR au tendinţa unei defazări pronunţate în zona de trecere.
Aceasta înseamnă că diferite componente ale semnalului util, în funcţie de
frecvenţa lor, le este permisă trecerea cu defazări diferenţiate. Semnalul care
trebuie filtrat va suferii în domeniul timp o modificare a formei sale.

• Filtrele FIR (Finite Impulse Response Filter) răspund la o excitaţie a unui


impuls unitar cu o serie de ieşire finită. Filtrele FIR sunt descrise de ecuaţii cu
diferenţă nerecursive, care corespund sumei de convoluţie (3.2.50), motiv pentru
care acestea sunt cunoscute drept filtre nerecursive. Filtrele FIR sunt mai complicat
de realizat decât filtrele IIR şi îşi arată efectul de filtrare doar în cazul unor sisteme
de ordin foarte ridicat, ceea ce înseamnă că aceste filtre necesită un timp de calcul
relativ ridicat. Filtrele FIR pot fi însă astfel realizate, iar aici se află marele lor
avantaj, încât în zona de trecere să nu apară defazarea. Deoarece filtrele FIR nu
lucrează recursiv, nu sunt afectate de propagarea erorilor de calcul, ceea ce
reprezintă un alt avantaj faţă de filtrele recursive.

4.4.1 Filtrele IIR

Filtrele IIR sunt, aşa cum s-a indicat mai devreme, filtre recursive care pot fi
descrise prin ecuaţii cu diferenţe de forma (3.2.48) iar, prin aceasta, la rândul lor şi
cu ajutorul funcţiei de transfer în z, de forma (3.2.63).
O cale clasică de concepere a unor astfel de filtre constă în aceea de a pornii de la
exemplul unui filtru continuu, descris de o funcţie de transfer în s, de forma
(3.2.18).

137
Cu ajutorul unor metode, care urmează a fi prezentate, la această procedură de
concepere a filtrului se determină ordinul filtrului n şi parametrii ai şi bi din (3.2.18)
pentru a stabilii, în funcţie de scopul filtrării, tipul acestuia (trece sus, trece jos, etc).
În continuare se poate fixa un tip de filtru (Butterworth, Bessel, etc) cu care
anumite proprietăţi ale filtrului (de exemplu intensitatea defazajului) pot fi
optimizate.
Ulterior funcţia de transfer în s astfel găsită, se transformă printr-o relaţie de
discretizare (pentru aceasta se va utiliza relaţia (3.2.79)) într-o funcţie de transfer în
z, care, aşa cum s-a arătat în capitolul 4.3, poate fi transformată într-o ecuaţie cu
diferenţe.
Principală problema la conceperea unui filtru constă în acea de a determina, pentru
un anume tip de filtru dorit, parametrii corespunzători ai filtrului ai şi bi din funcţia
de transfer în s precum şi stabilirea ordinului filtrului.

Vom începe analiza etapelor de concepere a unui filtru digital IIR, cu descrierea
unui filtru trece jos continuu.
Aşa cum s-a arătat, elementul RC cu funcţia de transfer (3.2.19)

Y (s) 1
H (s) = = (4.4.1)
U ( s ) 1 + sRC

formează un filtru trece jos de ordinul 1, deoarece n = 1, ceea ce înseamnă că cea


mai mare putere a lui s la numitor este egală cu 1.

Independent de exemplul prezentat, un filtru trece jos de ordinul 1 este descris, în


general, prin următoarea funcţie de transfer:

Y (s) 1 1
H (s) = = = . (4.4.2)
U (s) 1 1
1+ s 1+ s
ωg 2πf g

Aceasta înseamnă că filtrul trece jos având R = 1 kΩ şi C = 1 µF, alcătuieşte


funcţia de transfer

138
Y ( s) 1
H (s) = = , (4.4.3)
U ( s ) 1 + s ⋅ 0.001

va avea frecvenţa limită la

1 1
= 0,001; ⇒ f g = = 159.16 Hz (4.4.4)
2π ⋅ f g 2π ⋅ 0.001

Acest calcul corespunde citirii frecvenţei limită din diagrama Bode a elementului
RC, figura 3.9.
Dacă analizăm această diagramă Bode, se poate constata că în zona de atenuare f >
fg amplificarea scade cu 20 dB pe decada de frecvenţă. Dacă în această zonă este
necesară o atenuare mai mare, pentru a delimita mai bine domeniul de trecere de
domeniul de blocare, respectiv de a atenua mai puternic componente de frecvenţă
ale semnalului ce urmează a fi eliminate, ordinul filtrului trebuie mărit, de exemplu
prin aceea că filtre de ordinul întâi urmează să fie conectate în cascadă:

1 1 1
H (s) = ⋅ ⋅ ... ⋅ . (4.4.5)
s s s
1+ 1+ 1+
ωg ωg ωg
123 123 123
Filtrul _ 1 Filtrul _ 2 Filtrul _ n

Amplificarea se deduce atunci ca fiind

n ⋅ 20dB / decada. (4.4.6)

Din păcate, prin această metodă simplă, frecvenţa limită fg nu rămâne la locul ei
definit, ci devine odată cu creşterea lui n, mai mică. Ambele fenomene sunt
evidenţiate în figura 4.6 unde pentru cascade de ordinul 1., 2., 3. şi 5. al filtrului
RC (4.4.3) sunt reprezentate caracteristicile de amplitudine ale diagramei Bode.

139
Fig. 4.6 Caracteristicile de amplitudine a unor cascade de filtre, de diferite lungimi,
alcătuite din filtre trece jos de ordinul 1

Caracteristica de frecvenţă a unui filtru trece jos poate fi acum optimizată din mai
multe puncte de vedere. Dacă, de exemplu, factorul

α= n
2 −1 (4.4.6)

se adaugă în (4.4.5):

1 1 1
H (s) = ⋅ ⋅ ... ⋅ , (4.4.7)
s s s
1+α 1+α 1+ α
ωg ωg ωg
1424 3 1424 3 1424 3
Filtrul _ 1 Filtrul _ 2 Filtrul _ n

la fiecare ordin n ales al filtrului, frecvenţa limită rămâne exact în poziţia dinainte
definită. Căderea amplificării de n⋅20dB/dec se menţine. Astfel de filtre optimizate
sunt cunoscute drept „filtre cu atenuare critică”.
Alte optimizări ale caracteristicii de frecvenţă a filtrelor trece jos sunt cunoscute
sub denumiri caracteristice:

140
• Parametrii funcţie de transfer (3.2.18) ai unui filtru trece jos Butterworth
sunt astfel calculate („optimizate”) încât caracteristica de amplitudine să
înregistreze o evoluţie orizontală cât se poate de lungă, iar cu puţin înaintea
frecvenţei limită, să înregistreze o deviere bruscă. O frecvenţă limită definită, se
menţine la toate ordinele sistemului.

• Filtrul trece jos Tschebyscheff deţine deasupra frecvenţei limită o pantă şi


mai abruptă a caracteristicii de amplitudine. În domeniul de trecere caracteristica
de amplitudine nu are o evoluţie monotonă, ci prezintă, foarte dezavantajos, o
ondulaţie de amplitudine constantă. Căderea amplificării deasupra fg devine cu atât
mai abruptă cu cât se acceptă mai mult această ondulaţie.

• Filtrul trece jos Bessel se caracterizează printr-o supraoscilaţie redusă în


domeniul timp, afectând semnalul ce urmează să treacă în cea mai mică măsură, în
schimb înregistrează o atenuare mai redusă decât filtrele trece jos Butterworth şi
Tschebyscheff.

Fig. 4.7 Diagrama Bode a filtrelor trece jos Butterworth, Bessel şi Tschebyscheff
de ordinul 10 la fg = 1 Hz

141
Figura 4.7 ilustrează evoluţia caracteristicilor de frecvenţă pentru un filtru trece jos
Butterworth, Bessel şi Tschebyscheff de ordinul 10 la fg = 1 Hz, în care pot fi
recunoscute proprietăţile descrise anterior.

În continuare se ilustrează conceperea unui filtru trece jos Butterworth:


Parametrii ai şi bi ai funcţiei de transfer (3.2.18) corespunzători filtrelor
Butterworth trece jos

bm s m + bm−1 s m −1 + .. + b2 s 2 + b1 s + b0
H (s) = (4.4.8)
s n + a n −1 s n −1 + bn − 2 s n − 2 + .. + a 2 s 2 + a1 s + a 0
m≤n

sunt prezentate în literatură [17]. Apelăm la instrucţiunea Scilab

[h]=buttmag(order,omegac,sample) (4.4.9)

care pentru un ordin dorit al filtrului şi frecvenţa limită indicată, furnizează


parametrii vectorilor b şi a ai funcţiei de transfer (4.4.8).
Figura 4.8 exemplifică diagrama Bode a filtrelor trece jos Butterworth de ordinul 1.,
5. şi 10 la o frecvenţă limită fg = 1 Hz.

Prin intermediul aşa numitelor transformări trece jos, se obţin din prototipul unui
filtru trece jos continuu H(s’), sunt filtre trece jos de forma (4.4.8), având o
frecvenţă limită fixă ωg = 2π⋅fg, dar pentru tipuri de filtre diferite (Butterworth,
Bessel, …) şi pentru orice ordin n al filtrului, se calculează vectorii coeficienţi b şi
a ale prototipurilor trece jos anterior amintite (4.4.20).

bm s ' m +bm −1 s ' m −1 +.. + b2 s ' 2 +b1 s '+b0


H (s' ) = n (4.4.10)
s ' + a n −1 s ' n −1 +bn − 2 s ' n − 2 +.. + a 2 s ' 2 + a1 s'+ a 0

În acest prototip trece jos se înlocuiesc acum, în funcţie de tipul de filtru care
urmează a fi compus (trece sus, trece bandă, …), diferite substituţii ale lui s’
(„transformări trece jos”):

142
Fig.4.8 Caracteristica filtrelor Butterworth trece jos de ordinul 1., 5. şi 10.

Prin înlocuirea lui

s
s' = (4.4.11)
2π ⋅ f g

se obţine un filtru trece jos cu frecvenţa limită fg.

Prin înlocuirea lui

2π ⋅ f g
s' = (4.4.12)
s

se obţine un filtru trece sus cu frecvenţa limită fg.

Prin înlocuirea lui

2
 s 
  +1
ω*  ω* 
s' =
B s
; ω * = 2π ⋅ (
f gi ⋅ f gs ; B = 2π ⋅ f gi − f gs ) (4.4.13)

ω*
143
se obţine un filtru trece bandă cu frecvenţa limită inferioară fgi şi frecvenţa limită
superioară fgs.

Prin înlocuirea lui

s
s' =
B ω* ; ω * = 2π ⋅ (
f gi ⋅ f gs ; B = 2π ⋅ f gs − f gi ) (4.4.14)
ω  s 2
*

 *  +1
ω 

rezultă un filtru opreşte bandă cu frecvenţa limită inferioară fgi şi frecvenţa limită
superioară fgs.

Pentru un prototip de filtru trece jos de ordinul 1.,

1
H (s) = (4.4.15)
1 + s'

se vor calcula în continuare transformările descrise anterior:

Prin (4.4.11) se obţine din (4.4.15) un filtru trece jos (FTJ) cu o frecvenţă limită, de
exemplu, de fg = 100Hz:

1 1 1
H FTJ ( s ) = = = . (4.4.16)
1+
s 1
s +1 1.59 ⋅ 10 −3 s + 1
2π ⋅ f g 628

Caracteristicile de frecvenţă ale acestui filtru, figura 4.9a, sunt calculate cu ajutorul
programului bode_c.sce.

Prin (3.4.12) înlocuit în (4.4.15) rezultă un filtru trece sus (FTS) cu o frecvenţă
limită, de exemplu, de fg = 1000 Hz:

1 s s
H FTS ( s ) = = = . (4.4.17)
2π ⋅ f g s + 2π ⋅ f g s + 6280
1+
s
144
a cărui caracteristică de frecvenţă este reprezentată în figura 4.9b, cu ajutorul
programului bode_c.sce.

Prin (4.4.13) se obţine un filtru trece bandă (FTB) cu frecvenţa limită inferioară, de
exemplu, de fgi = 200 Hz şi frecvenţa limită superioară fgs = 500 Hz, figura 4.9.c:

ω * = 2π ⋅ f gi ⋅ f gs = 2π ⋅ 200 ⋅ 500 = 1986.92;


( )
B = 2π ⋅ f gi − f gs = 2π ⋅ (500 − 200 ) = 1884.96;
s
H FTB ( s) =
1
= ω* =
ω *  s  
2 2
 s  s
  +1 +   + 1
ω*  ω*  ω * B  ω *  
1+
B s
ω*
 1  1
 * ⋅s ⋅s
ω  = 1986.92
 1  2  1  ω* 1
⋅ s2 +
1
⋅s +
1986.92
  ⋅ s +   ⋅ s +
 Bω 
*
ω 
*
B 1884.96 ⋅ 1986.92 1986.92 1884.96

5.0352 ⋅ 10 −4 s
H FTB ( s ) = . (4.4.18)
2.6713 ⋅ 10 −7 s 2 + 5.0352 ⋅ 10 − 4 s + 1.0541

Iar cu (4.4.14) rezultă un filtru opreşte bandă (FOB) cu frecvenţele limită, de


exemplu, fgi = 200 Hz şi fgs = 500 Hz, figura 4.9.d:

ω * = 2π ⋅ f gi ⋅ f gs = 2π ⋅ 200 ⋅ 500 = 1986.92;


( )
B = 2π ⋅ f gi − f gs = 2π ⋅ (500 − 200 ) = 1884.96;
2
 s 
 *  +1
1 ω  s 2 + ω *2
H FOB ( s ) = = = =
s  s 
2
B s s 2 + Bs + ω *2
B ω*  *  +1+ * *
1+ ω  ω ω
ω*  s 2
 *  +1
ω 
1
s2 +1
1986 . 92 2 2.533 ⋅ 10 − 7 s 2 + 1
= = −7 2
. (4.4.19)
1
s +
2 1884.96
s +1 2 . 533 ⋅ 10 s + 4 .7746 s + 1
1986.92 2 1986.92 2
145
Fig. 4.9a Diagrama Bode a filtrului trece jos conform funcţiei de transfer (4.4.16)

Fig. 4.9 b Diagrama Bode a filtrului trece sus conform funcţiei de transfer (4.4.17)

146
Fig. 4.9 c Diagrama Bode a filtrului trece bandă conform funcţiei de transfer (4.4.18)

Fig. 4.9 d Diagrama Bode a filtrului opreşte bandă conform funcţiei de transfer (4.4.19)

După ce s-a obţinut funcţia de transfer în s a unui filtru dorit, aceasta trebuie să fie
transformată, cu ajutorul relaţiei de transpunere (3.2.79) în domeniul z.

147
Funcţia de transfer în z rezultată (3.2.63)

Y ( z ) β 0 + β1 z + ... + β q z
−1 −q

H IIR ( z ) = = (4.4.20)
U ( z ) 1 + α 1 z −1 + ... + α p z − p

poate fi utilizată direct în Scilab pentru filtrarea semnalului (instrucţiunea „rtitr”).


Dacă filtrul digital urmează a fi implementat printr-un alt limbaj de programare, de
exemplu C, funcţia de transfer în z mai trebuie transformată într-o ecuaţie cu
diferenţe (3.2.28)

p q
y IIR (n) = ∑ − α i y (n − i ) + ∑ β u(n − i )
i (4.4.21)
i =1 i =0

În anexa B2 se găsesc patru programe Scilab, dig_ftj.sce, dig_fts.sce, dig_fob.sce,


dig_ftb.sce care implementează crearea de filtre digitale trece sus, trece jos, trece
bandă şi opreşte bandă, de oricare ordin şi de oricare frecvenţă limită. La utilizarea
acestor programe se evidenţiază un dezavantaj deja amintit al filtrelor IIR: la
alegerea unui ordin prea mare al filtrului şi un timp de eşantionare mic, se ajunge la
erori de calcul, care pot fi recunoscute într-o deformare a diagramei Bode. Aceasta
are ca principală sursă propagarea erorii prin algoritmul recursiv.

4.4.2 Filtre FIR

Filtre FIR sunt filtre nerecursive. Ecuaţia lor cu diferenţe este din acest motiv
alcătuită doar din partea nerecursivă a ecuaţiilor cu diferenţă (3.2.48) şi (4.4.21):

q
y FIR (n) = ∑ β u(n − i );
i =0
i
(4.4.22)
= β 0 u (n) + β1u (n − 1) + ... + β q u (n − q)
u(n): mărimea de intrare; y(n): mărimea de ieşire

Cu ajutorul teoremei de liniaritate şi deplasare a transformatei z, din (4.4.22) se


poate calcula funcţia de transfer în z:

148
Y ( z)
H ( z) = = β 0 + β 1 z −1 + ... + β q z − q
U ( z)

β 0 z q + β 1 z q −1 + ... + β q
= . (4.4.23)
zq

Funcţia de transfer în z va fi utilizată pentru calcularea ulterioară a diagramelor


Bode a filtrelor FIR.

Filtrele FIR pot fi astfel compuse încât evoluţia de fază a acestora să fie
proporţională cu frecvenţa, adică o evoluţie liniară a acesteia de-a lungul axei
frecvenţei. Un filtru cu aceste proprietăţi permite unui semnal să parcurgă
domeniul de trecere fără modificarea formei curbei şi filtrează doar componentele
de frecvenţă din domeniul de oprire.
Dorim să analizăm această proprietate pe baza figurilor 4.10 şi 4.11. În figura
4.10.a şi b sunt prezentate caracteristicile de amplitudine şi de fază ale unui filtru
opreşte bandă Butterworth IIR de ordinul 6 cu fgi = 0.8 Hz şi fgs = 1.2Hz. Semnalul
de intrare în acest filtru, reprezentat în figura 4.10c cu linie întreruptă,

u (t ) = sin (2π ⋅ f1 ⋅ t ) + sin (2π ⋅ f 2 ⋅ t ), f1 = 0.5 Hz, f2 = 1.5 Hz,

este eşantionat cu T = 0.05 sec. Aşa cum se recunoaşte pe caracteristica de


amplitudine, componentele de frecvenţă ale semnalului de intrare se află în zona de
trecere inferioară şi superioară a filtrului, ar trebuii aşadar să ajungă nedeformate la
ieşirea filtrului. Aşa cum se recunoaşte însă, semnalul de ieşire al filtrului, figura
4.10c linia îngroşată, forma curbei este alta decât cea de la intrare. Această
deformare se datorează evoluţiei neliniare a caracteristicii de fază a filtrului IIR,
figura 4.10b. Semnalul de 1.5 Hz este defazat într-un fel faţă de semnalul de 0.5 Hz,
astfel încât ambele nu vor ajunge cu o suprapunere de fază corectă la ieşire.
Această defazare este un efect nedorit în cazul filtrării semnalelor.
În figura 4.11 se fac aceleaşi analize pentru un filtru FIR. Filtrul opreşte bandă este
de ordinul 180 pentru a atinge aproximativ acelaşi nivel de blocare cu cel al
filtrului IIR. Rotirea fazei peste domeniul analizat 0 Hz la 2 Hz este însă de trei ori
mai mare decât la filtrul IIR, spre deosebire însă de acesta, evoluţia fazei, cu
excepţia unor salturi în zona de blocare, decurge liniar peste axa frecvenţei.
Aceasta are ca şi consecinţă ca acelaşi semnal de intrare aplicat şi în cazul filtrului
IIR să ajungă la ieşire fără defazare, figura 4.11c.

149
Figura 4.10 Defazajul unui filtru IIR opreşte bandă

Figura 4.11 Lipsa defazajului la un filtru FIR opreşte bandă

150
La această analiză sunt evidenţiate şi dezavantajele unui filtru FIR: pentru a atinge
un efect de filtrare asemănător cu cel al unui filtru IIR, (circa -100dB) gradul
filtrului FIR trebuie să fie semnificativ mai mare decât cel al filtrului IIR, ceea ce
poate deveni o problemă în cazul aplicaţiilor în timp real.
Deşi semnalul de ieşire în cazul filtrelor FIR este neschimbat, se înregistrează o
deviere completă a semnalului faţă de semnalul de intrare. Pentru cazul analizat se
observă aproximativ 4.5 sec faţă de doar 0.5 sec la filtrul IIR.
Avantajul lipsei de defazare este plătit cu un efort de realizare considerabil mai
mare şi cu o întârziere globală mare a semnalului de ieşire faţă de semnalul de
intrare. Filtrele FIR rămân însă şi la ordine mari, numeric stabile deoarece nu au o
construcţie recursivă.
Proiectarea filtrelor FIR, ceea ce înseamnă găsirea corectă a coeficienţilor βi în
ecuaţia cu diferenţe (4.4.22) pentru realizarea unui anumit tip de filtru (trece sus,
trece jos, …) şi a unei evoluţii liniare a fazei, se bazează pe următoarele
consideraţii.
Privim într-o primă fază ecuaţia cu diferenţe (4.4.22) cu q + 1 parametrii β0, β1, β2,
β3, … . Deoarece în cazul filtrelor FIR se obişnuieşte ca ordinul filtrului să fie
indicat cu N, q + 1 poate fi considerat ca fiind N iar prin aceasta q poate fi exprimat
prin N-1

N −1
y FIR (n) = ∑ β (i ) ⋅ u(n − i ).
i =0
(4.4.24)

Dacă comparăm (4.4.24) cu suma de convoluţie (3.2.50) la care înlocuim valoarea


finală a sumei n cu N-1 pentru a o face comparabilă cu (4.4.24)

N −1
y ( n) = ∑ h(i ) ⋅ u(n − i ),
i =0
(4.4.25)

se recunoaşte că (4.4.24) şi (4.4.25) au aceeaşi structură.


O comparare a coeficienţilor, posibilă acum, arată că valorile funcţiei pondere h(i)
sunt identice cu cele ale coeficienţilor β i ale filtrului FIR:

β i = h(i );
(4.4.26)
i = 0,1,2,3,..., N − 1.

151
Valorile funcţiei pondere sunt legate prin transformata z (3.2.58) de funcţia de
transfer în z

N −1
−n
H ( z) = ∑ h ( n) ⋅ z . (4.4.27)
n =0

Dacă această relaţie se transformă cu (3.2.71)

z = e sT | s = jω = e jωT = e j 2πfT

în domeniul frecvenţă

N −1
− j 2πnfT
H( f ) = ∑ h( n ) ⋅ e (4.4.28)
n =0

iar (4.4.28) este privit doar în punctele de frecvenţă

1
f ≈ k ⋅ ∆f = k ⋅ ,
NT

se obţine

N −1 − j 2π
kn
H (k ⋅ ∆f ) = ∑ h ( n) ⋅ e N . (4.4.29)
n =0

(4.4.29) este algoritmul transformatei Fourier digitale (vezi 2.2.62).


Am stabilit prin aceasta o legătură dintre evoluţia în frecvenţă H(k⋅∆f) a unui filtru
FIR şi coeficienţii βi ai ecuaţiei sale cu diferenţe.
În [20] pe baza acestei observaţii se motivează faptul că prin indicarea unei evoluţii
dorite în domeniul frecvenţă sub forma a N puncte de frecvenţă a caracteristicii de
amplitudine |H(k⋅∆f)| şi valorile speciale corespunzătoare ale fazei {H(k⋅∆f)}, să se
stabilească prin TFD-1 funcţia pondere h(i) iar prin aceasta coeficienţii β i ai ecuaţiei
cu diferenţe a filtrului.

152
Printr-o serie suplimentară de calcule matematice se poate arăta că [21] h(n) trebuie
să dispună de o anumită structură, şi anume de o evoluţie simetrică şi în oglindă,
pentru a produce o evoluţie lineară a fazei în domeniul frecvenţei, figura 4.12.

Fig 4.12 Evoluţii în oglindă şi simetrică a funcţiei pondere a unui filtru FIR cu evoluţie
liniară a caracteristicii de fază

Pentru o evoluţie simetrică în oglindă unui număr întreg N de valori ale lui h(n),
spectrul corespunzător trebuie să înregistreze o evoluţie a fazei ϕ{H} care să
satisfacă următoarea ecuaţie:

N −1
ϕ {H ( f )} = −2π ⋅ ⋅ f ⋅T; (4.4.30a)
2
1
respectiv cu f ≈ k ⋅ ∆f = k ⋅
NT
N −1
ϕ {H (k ⋅ ∆f )} = −2π ⋅ ⋅ k. (4.4.30b)
2N

Valorile amplitudinilor |H(f)| corespunzătoare spectrului sunt liber alese, aşa cum
trebuie să fie caracteristica ulterioară de amplitudine a filtrului. Înainte de a
parcurge etapele legate de implementarea unui astfel de filtru, dorim să revenim
asupra timpului de deplasare, reprezentat în figura 4.11.c, dintre semnalul de ieşire
şi de intrare a unui filtru FIR. Dorim să calculăm acest timp de deplasare, cunoscut
în literatura de specialitate ca timp de grup τ, cu ajutorul relaţiei sale de definiţie

d (ϕ {H ( f )}) 1 d (ϕ {H ( f )})
τ =− =− ⋅ ,
dω 2π df

153
care va fi înlocuită în relaţia de fază a filtrului FIR de fază lineară (4.4.30a)

1 N −1 N −1
τ= 2π ⋅ ⋅T = ⋅T .
2π 2 2

Astfel s-a obţinut o relaţie general valabilă pentru timpul de grup al unui filtru FIR:

N −1
τ= ⋅T (4.4.31)
2

Cu parametrii N = 180 şi T = 0.05 sec utilizaţi în cadrul filtrului din figura 4.11,
rezultă un timp de grup de

179
τ= ⋅ 0.05 sec ≈ 4.5 sec,
2

valoare care poate fi citită şi din figura 4.11c.


Din relaţia (4.4.31) se recunoaşte că timpul de grup creşte odată cu ordinul filtrului
şi scade prin mărirea frecvenţei de eşantionare.

Revenind la conceperea filtrelor FIR, se parcurg următoarele etape:

1. Se trasează comportamentul optimal dorit al filtrului sub forma caracteristicii


de amplitudine. Pentru aceasta trebuie să se ţină cont şi de caracteristica de
amplitudine oglindită peste fNyquist, (vezi figura 2.26), se va reprezenta aşadar şi
domeniul de frecvenţă până la fT. Aceasta este o condiţie pentru aplicarea TFD-1
(2.2.67 / 2.2.71).

Pentru un exemplu pe care dorim să-l urmărim, se va presupune că se va lucra cu


un timp de eşantionare de 1ms, ceea ce înseamnă că frecvenţa de eşantionare va
avea valoarea de fT = 1000 Hz. Dorim să concepem un filtru trece jos, cu frecvenţa
limită la 200 Hz. Prin aceasta ar rezulta următoare caracteristică optimă de
amplitudine, figura 4.13:

154
Fig. 4.13 Caracteristica de amplitudine dorită pentru un FIR trece jos

2. Se marchează puncte de frecvenţă echidistante k⋅∆f pe caracteristica de


amplitudine, la care filtrul implementat să satisfacă exact caracteristica de
amplitudine dorită. Numărul N al acestor puncte trebuie să fie unul întreg. Prin
aceasta stabilim în acelaşi timp ordinul filtrului q = N – 1 care urmează a fi creat
(4.4.22).
Alegem N = 10 şi marcăm echidistant aceste puncte în caracteristica dorită, figura
4.14

Fig. 4.14 Punctele de eşantionare ale frecvenţei pentru operaţia ulterioară a TFD-1

Aşa cum se recunoaşte, prin alegerea timpului de eşantionare T = 0.001 sec şi a


numărului N = 10, este fixată şi rezoluţia frecvenţei

155
1 1 1
∆f = = = = 100 Hz. (4.4.32)
NT 10 ⋅ 0.001sec 0.01sec

Din figura 4.14 se citesc următoarele puncte de eşantionare ale frecvenţei:


k 0 1 2 3 4 5 6 7 8 9
|H(k⋅∆f)| 1 1 1 0 0 0 0 0 1 1

3. Pentru a obţine proprietăţile dorite ale filtrului, în special evoluţia lineară a


fazei, se impune calcularea fazei la valorile corespunzătoare ale amplitudinii
|H(k⋅∆f)|, conform (4.4.30b)

N −1
ϕ {H (k ⋅ ∆f )} = −π ⋅ ⋅ k ; [rad] (4.4.33)
N
N
k = 0,1,2,..., .
2

Trebuie ţinut cont că la asocierea valorilor fazei ϕ {H (k ⋅ ∆f )} la valorile


amplitudinii |H(k⋅∆f)|, repetiţiei oglindite a |H(k⋅∆f)| i se asociază aşa numitele
valori de fază simetric conjugate

N −1
ϕ {H (k ⋅ ∆f )} = π ⋅ ⋅ ( N − k + 1); [rad] (4.4.34)
N
N N
k= + 1, +,2,..., N .
2 2

Aceasta reprezintă o cerinţă impusă de transformata Fourier digitala inversă, pentru


a conţine valori reale în funcşia pondere h(n).
Cu (4.4.33) şi (4.4.34) se calculează apoi următoarele valori ale fazei în punctele de
frecvenţă k:

K 0 1 2 3 4 5 6 7 8 9
ϕ {H (k ⋅ ∆f )} 0 - - - - - 3.6π 2.7π 1.8π 0.9π
rad 0.9π 1.8π 2.7π 3.6π 4.5π
ϕ {H (k ⋅ ∆f )} 0 -162 -324 -486 -648 -810 648 486 324 162
Grad

156
Pentru exprimarea fazei din unitatea „rad” în unitatea „Grad” se utilizează relaţia
(3.2.28):

ϕ [Grad ] = ϕ [rad ] ⋅
180
. (4.4.35)
π

În figura 4.15 sunt reprezentate grafic valorile calculate ale fazei.

Fig. 4.15 Caracteristica de fază necesară pentru conceperea FIR trece jos

4. Transformata Fourier inversă, a cunoscutului spectru de frecvenţă,

H (k ⋅ ∆f ) = H (k ⋅ ∆f ) ⋅ e ϕ {H (k ⋅∆f )}

trebuie exprimată de forma

H (k ⋅ ∆f ) = Re{H (k ⋅ ∆f )} + j Im{H (k ⋅ ∆f )}

Această operaţie se realizează cu ajutorul relaţiilor (A2.12) şi (A2.13). După


transformata Fourier inversă discretă (2.2.67) şi (2.2.71)

k ⋅n
N −1 j ⋅2 π

∑ H (k ⋅ ∆f ) ⋅ e
1 N
h(nT ) = (4.4.36)
N k =0

157
n = 0, 1, 2, …, N – 1

se obţin următoarele h(n), alcătuite dintr-o serie de 10 valori simetrice, figura 4.16.

Fig. 4.16 Seria de valori h(n) determinată prin TFD-1 a filtrului ce urmează să fie compus

Datorită identităţii existente între funcţia pondere h(n) şi coeficienţii βi ai ecuaţiei


cu diferenţe a filtrului FIR, se cunoaşte prin aceasta algoritmul filtrului (4.4.22).

Caracteristicile de amplitudine şi de fază ale filtrului FIR compus, sunt reprezentate


în figura 4.17 cu linie îngroşată iar punctele de eşantionare în frecvenţă, dinainte
indicate, prin cercuri.
Se recunoaşte o oscilaţie (nedorită) a amplificării în zona de trecere, cunoscută
drept ondulaţie sau „Ripple”. Această ondulaţie poate fi redusă introducând în
regiunea de traversare de la zona de blocare la cea de trecere una sau mai multe
puncte de eşantionare în frecvenţă, de exemplu la |H(k) |= 0.3 și |H(k)| = 0.7. Prin
aceasta însă regiunea de traversare se lăţeşte, obţinându-se un avantaj prin
generarea unui alt dezavantaj.

Pentru a reduce lăţimea zonei de traversare, poate fi mărit N, micşorându-se astfel


∆f. Dar, şi aceasta atrage după sine dezavantajul măririi ordinului filtrului şi prin
aceasta creşterea timpului de grup.

158
Procedura prezentată este cunoscută în literatură ca metoda de eşantionare a
frecvenţei. Aceasta se pretează la conceperea filtrelor de fază lineare trece jos şi
opreşte bandă. Cu îndemânarea corespunzătoare pot fi dezvoltate şi filtre trece sus
şi opreşte bandă.

Fig. 4.17 Caracteristica de frecvenţă a filtrului conceput


a) Caracteristica de amplitudine b) Caracteristica de fază

În anexa B2 se găseşte programul Scilab fir_esf.sce, prin care pot fi implementate


filtrele FIR cu metoda de eşantionare a frecvenţei, efectele şi proprietăţile descrise
anterior, putând fi studiate cu ajutorul acestei aplicaţii.

O a doua metodă, clasică, de concepere este aşa numita „procedură fereastră” [16],
care presupune însă acumularea unei anumite experienţe în domeniu. Cu ajutorul
acesteia se pot implementa, similar ca şi în cazul filtrelor IIR, un prototip trece jos,
care apoi, cu ajutorul transformărilor trece jos, să fie adus în forma trece sus, trece
bandă, … . În general conceperea filtrelor FIR cu ajutorul metodei de eşantionare a
frecvenţei sau prin procedura de fereastră, reprezintă în general mai multă artă şi
pricepere, iar mai puţină ştiinţă. Comportamentul dorit al filtrului este quasi
construit via „trial and error”.
159
O a treia variantă de concepere, bazată pe o metodă iterativă, deci bazată pe calcule,
este metoda Parks-McClellan.

În forma sa completă, se impune o schemă de toleranţă pentru caracteristica de


amplitudine dorită a filtrului, figura 4.18.

Fig. 4.18 Schema de toleranţa pentru un filtru opreşte bandă FIR

Procedura generează un filtru FIR cu o ondulaţie („riplu”) uniformă. Metoda Parks-


McClellan porneşte cu aproximarea ordinului filtrului. Ulterior se modifică atât
timp coeficienţii filtrului prin aşa numitul algoritm de schimb Remez, până când
caracteristica de frecvenţă satisface schema de toleranţă prescrisă. Mărimea
ondulaţiei şi lăţimea regiunii din zona de trecere la zona de blocare şi invers, pot fi
liber alese. De asemenea este şi în acest caz valabil, că odată cu creşterea cerinţelor
faţă de filtru (ondulaţie redusă, regiuni de tranziţie înguste) se înregistrează o
creştere a ordinului filtrului.
Scilab pune la dispoziţie instrucţiunile necesare pentru a putea pune în practică
conceperea unui astfel de filtru pe baza schemei de toleranţă. Nu se doreşte intrarea
în detaliile acestui algoritm, ci să analizăm principiul acestei metode şi utilizarea
practică a ei:

Instrucţiunea Scilab

b = remez (N, fn, a); (4.4.37)

calculează vectorul coeficienţilor b (corespunde βi din (4.4.22)) ai unui filtru FIR


de ordinul N optim în sensul ca cele mai mari devieri ale caracteristicii de

160
amplitudine indicate (dorite) în vectorii fn şi a, cu ordinul N indicat al filtrului, să
fie minimale.
Vectorii fn şi a descriu caracteristica de amplitudine dorită. fn este un vector
normat cu perechi de frecvenţă între f = 0 şi f = fNyquist. a este un vector care conţine
punctele dorite ale caracteristicii de amplitudine în funcţie de frecvenţele definite
în f.
De exemplu, prin

f = 0,180,200,280,300,380,400,500;
a = 0, 1, 0, 0, 0.5, 0.5, 0.5, 1; (4.4.38)

este descrisă următoarea caracteristică de amplitudine dorită, figura 4.19:

Fig. 4.19 Caracteristica de amplitudine dorită a unui filtru FIR

Pentru setul de date din (4.4.38) şi N = 100, se calculează un filtru cu caracteristica


de frecvenţă prezentată în figura 4.20.
La finalul analizelor asupra filtrelor FIR se indică faptul că un simplu algoritm de
mediere

y (n) =
1
[u (n) + u (n − 1) + ... + u (n − q)] (4.4.39)
q +1

reprezintă de asemenea un filtru FIR, însă fără o evoluţie lineară a fazei. Prin

1
βi = ; i = 0, 1, 2, .., q (4.4.40)
q +1

161
expresia (4.4.39) se transformă în ecuaţia cu diferenţe a unui filtru FIR (4.4.22).
Prin aceasta se poate calcula caracteristica de frecvenţa a unui „filtru de mediere”
şi reprezenta grafic în cadrul diagramei Bode.

Fig. 4.20 Comportamentul filtrului rezultat prin metoda Parks-McClellan-Remez, pe baza


caracteristicii dorite conform fig. 4.19

162
ANEXA A1: TRANSFORMĂRI ALE INTEGRALELOR

A1.1 Corespondenţe ale transformatei Fourier

Exemplu: calcularea transformării Fourier a semnalului continuu aperiodic

uˆ ⋅ e −νt pentru t ≥ 0


u (t ) =  
 0 pentru t < 0

furnizează

∞ ∞
u (t ) = uˆ ⋅ e −νt ⋅ e − j 2πft dt = uˆ ⋅ e −(ν + j 2πf )t dt
∫ ∫
0 0

 e −(ν + j 2πf )t  uˆ uˆ
= uˆ ⋅   =0+ = ;
 − (ν + j 2πf )  0 j 2πf + ν j 2πf + ν

Tabel de corespondenţă al transformatei Fourier pentru câteva semnale aperiodice:

Funcţia în domeniul timp: u(t) Transformata Fourier: U(f)

Impuls Dirac (A1.1.1)


0 pentru t ≠ 0
u (t ) = δ (t ) =  
∞ pentru t = 0
sau U(f) = 1
δ (t ) = 0 pentru t ≠ 0

∫ δ (t )dt = 1
−∞

Semnal treaptă (A1.1.2)


uˆ uˆ
uˆ pentru t ≥ 0 U( f ) = + ⋅δ(f )
u (t ) = uˆ ⋅ σ (t ) =   j ⋅ 2π ⋅ f 2
0 pentru t < 0
Funcţia impuls (A1.1.3)
U( f ) =
(
uˆ 1 − e − j⋅ω ⋅t )
j ⋅ω

163
0 pentru t<0 
 
u (t ) = uˆ pentru 0 ≤ t ≤ τ 
0 pentru t > τ 

Funcţia exponenţială (A1.1.4)

uˆ ⋅ e −νt pentru t ≥ 0 U( f ) =
u (t ) =   j ⋅ 2π ⋅ f + ν
 0 pentru t < 0
Oscilaţie sinusoidală atenuată (A1.1.5)
uˆ ⋅ 2π ⋅ f 0
uˆ ⋅ e−νt ⋅ sin(2π ⋅ f 0 ⋅ t ) pentru t ≥ 0 U( f ) =
u(t) =   ( j ⋅ 2π ⋅ f 0 +ν )2 + (2π ⋅ f 0 )2
 0 pentru t < 0

A1.2 Corespondenţe ale transformatei Laplace

Exemplul 1: Care este expresia transformatei Laplace a unui semnal treaptă unitar
σ(t)?

∞ ∞
L{σ (t )} = σ (t )e − sT dt = 1e − sT dt = − e − sT | tt == ∞0 = ;
1 1
0
∫ 0
∫ s s

cea ce înseamnă că funcţia imagine corespunzătoare funcţiei timp σ(t) este:

L{σ (t )} = .
1
s

Exemplul 2: Care este expresia transformatei Laplace unei combinaţii lineare de


funcţii temporale ui(t) cu amplitudini constante ai?

L{a1u1 (t ) + a 2 u 2 (t ) + ... + a i u i (t )} =

; ai = const.
∫ {a u (t ) + a u (t ) + ... + a u (t )}e
− sT
1 1 2 2 i i dt
0
∞ ∞ ∞
a1 u1 (t )e − sT dt + a 2 u 2 (t )e − sT dt + ... + a i u i (t )e − sT dt =
∫ ∫ ∫
0 4244
14 3 0 4244
14 3 0 4244
14 3
U1 ( s ) U 21 ( s ) U i1 ( s )

= a1U1 ( s ) + a2U 2 ( s ) + ... + aiU i ( s ).

164
Corespondenţe ale transformatei Laplace pentru câteva funcţii temporale
importante (u(t) = 0 pentru t < 0) :

Nr Funcţia temporală: u(t) Funcţia imagine: U(s) Nume


1. 0 pt t ≠ 0 Impuls Dirac,
u (t ) = δ (t ) =   U(s) = 1
∞ pt t = 0  funcţie impuls
2. uˆ Funcţia treaptă
u (t ) = uˆ ⋅ σ (t ) U ( s) =
s
3. 1 Funcţia creştere
u(t) = t U ( s) =
s2
4. 1 Funcţia e
u (t ) = e −νt U ( s) =
s +ν ν>0
5. a Functia sinus
u (t ) = sin(at ) U ( s) =
s + a2
2
a>0
6. s Functia cosinus
u (t ) = cos(at ) U ( s) =
s + a2
2
a>0
7. a Functia sinus
u (t ) = e −νt ⋅ sin( at ) U ( s) =
(s + a ) 2
+ a2 atenuata a > 0
8. u& (t ) s ⋅ U (s ) Teorema derivării
9. Teorema derivării
s ⋅ U (s )
n n
u (t ) pentru derivări de
ordin superior
10. t
1 Teorema
∫ u(t )dt
0
s
⋅ U (s) integrării

11. a1u1 (t ) + a 2 u 2 (t ) + ... a1U 1 ( s ) + a 2U 2 ( s) + ... Teorema


+ a n −1u n −1 (t ) + a n u n (t ) + a n −1U n −1 ( s) + a nU n ( s ) liniarităţii
12. Teorema
u (t − τ ) e −τs ⋅ U (s)
întârzierii
13. t Teorema de
∫ u1 (t − τ ) ⋅ u 2 (t )dτ U1(s)⋅U2(s) convoluţie
0

A1.3 Corespondenţe ale transformatei z

165
Exemplul 1: Să se calculeze transformata z a semnalului treaptă unitate:

1 pt n ≥ 0
σ ( n) =  
0 pt n < 0

∑1(z )
∞ ∞
Z {σ (n)} = −n −1 n 1 z
∑ 1z = = −1
= . (A1.3.1)
n =0 n =0 1− z z −1

Expresia sumei din relaţia de mai sus reprezintă o serie geometrică infinită, pentru
care există soluţia:

∑ p(z )

−1 n p
= (A1.3.2)
n=0 1 − z −1

Exemplul 2: Să se calculeze transformata z a funcţiei ean.

{ } ∑e ∑ (e )
∞ ∞
n 1 z
Z e an = an
z −n = a
z −1 = a −1
= . (A1.3.3)
n =0 n=0 1− e z z − ea

Tabel de corespondenţă al transformatei z pentru o serie importantă de succesiuni


de valori u(n):

Nr. Funcţia temporală Funcţia imagine Nume


(succesiunea de valori) u(n) (transformata z) U(z)
1. 1 pt n ≥ 0 z Semnal treaptă
σ ( n) =  
0 pt n < 0 z −1 unitate
2. z Seria
n
(z − 1) 2
crescătoare
3. z Seria la putere
an
z−a
4. z Seria
e-an
z − e −a exponenţială e

166
5. z ⋅ sin a Seria sinus
sin(an)
z − 2 z ⋅ cos a + 1
2

6. z ⋅ (z − cos a ) Seria cosinus


cos(an)
z − 2 z ⋅ cos a + 1
2

7. z ⋅ e − a ⋅ sin b Serie sinus


e − an ⋅ sin(bn)
z − 2 z ⋅ e − a ⋅ cos b + e − 2 a
2 atenuată
8. a1u1 (t ) + a 2 u 2 (t ) + ... a1U 1 ( z ) + a 2U 2 ( z ) + ... Teorema
+ a n −1u n −1 (t ) + a i u i (t ) + a n −1U n −1 ( s) + a iU i ( z ) liniarităţii
9. n > 0,
u (t − i ) z −i
⋅ U (z ) Teorema
întârzierii
10. n Suma de
∑ u (i ) ⋅ u
i =0
1 2 (n − i) U1(z)⋅U2(z)
convoluţie

167
ANEXA A2: NUMERE COMPLEXE ŞI VALORI ALE
FUNCŢIILOR COMPLEXE

• Numere complexe

Mulţimea numerelor complexe C reprezintă o extindere a mulţimii numerelor reale


R cu mulţimea numerelor imaginare.
Numere imaginare se formează atunci când din numerele negative se extrage
radicalul, de exemplu:

− 25 = − 1 ⋅ 25 = − 1 ⋅ 5. (A2.1)

Termenul care nu poate fi rezolvat în matematica reală − 1 , se numeşte unitate


imaginară şi este prescurtat cu j

−1 = j ⇒ j 2 = −1. (A2.2)

Soluţia pentru (A2.1) este prin aceasta numărul imaginar

− 1 ⋅ 5 = j 5. (A2.3)

Un număr complex z este suma formată dintr-un număr real a şi un număr imaginar
b

z = a + jb (A2.4)

Numărul complex

z * = a − jb (A2.5)

este denumit numărul complex conjugat aparţinător (A2.4).


Deseori, nu poate fi recunoscută imediat componenta reală şi imaginară a unui
număr complex, de exemplu rapoarte de forma

168
1
z= . (A2.6)
p + jq

Cu aşa numita extindere prin intermediul conjugatei complexe, se reuşeşte


transformarea unor astfel de expresii în forma (A2.4). În acest scop, expresia care
urmează a fi transformată, este prelucrată prin numitorul complex conjugat:

1 p − jq
z= ⋅ . (A2.7)
p + jq p + jq

Deoarece numitorul devine atunci mereu real

p − jq p − jq
z= = 2 , (A2.8)
p − jq + jq + q
2 2
p + q2

(A2.6) poate fi reprezentat în forma (A2.4)

p −q
z= + j 2 . (A2.9)
p +q
2 2
p + q2
1
424 3 1424 3
a b

Reprezentarea sub formă de sumă (A2.4/5) este denumită drept reprezentare


carteziană a unui număr complex.

Numerele complexe pot fi reprezentate grafic drept puncte în planul complex,


figura A2.1.

Numerele complexe sunt des reprezentate în coordonate polare, situaţie în care


mărimea r este denumită amplitudine iar ϕ faza numărului complex. ϕ este
măsurat în sens opus axei reale pozitive. Rotiri ale unghiurilor în sensul acelor de
ceasornic poartă un semn negativ, figura A2.2.

169
Fig. A2.1 Număr complex reprezentat în planul numerelor complexe

Fig. A2.2 Reprezentarea în coordonate polare a unui număr complex

Coordonatele polare r şi ϕ ale unui număr complex se calculează din teorema lui
Pitagora

r = Re 2 {z} + Im 2 {z} = a 2 + b 2 (A2.10)

şi din funcţia tangentă aplicată în triunghiul dreptunghiular

170
Im{z} b Im{z} b
tan ϕ = = ⇒ ϕ = arctan = arctan . (A2.11)
Re{z} a Re{z} a

O altă reprezentare a numerelor complexe respectiv a valorilor funcţiilor se ajunge


dacă componentele a şi b ale numerelor complexe sunt exprimate prin funcţii
trigonometrice în triunghiul dreptunghiular (vezi figura A2.2):

b
sin ϕ = ⇒ b = r ⋅ sin ϕ , (A2.12)
r
a
cos ϕ = ⇒ a = r ⋅ cos ϕ . (A2.13)
r

De aici rezultă următoare formă de reprezentare:

z = a + jb = r (cos ϕ + j sin ϕ ). (A2.14)

Cu ajutorul relaţiilor lui Euler,

e jϕ = cos ϕ + j sin ϕ (A2.15)


e − jϕ = cos ϕ − j sin ϕ (A2.16)

forma de exprimare în coordonate polare, poate fi reprezentată în formă


exponenţială

z = r ⋅ e jϕ respectiv z * = r ⋅ e − jϕ . (A2.17)

• Funcţii complexe

Evaluarea funcţiilor complexe (de exemplu rezolvarea integralei Fourier,


calcularea caracteristicii de frecvenţă a unui sistem pentru ridicarea diagramei
Bode sau rezultatele unei TFD (2.2.62) / (2.2.64)) conduce la valori complexe ale
funcţiei de forma:

171
U ( k ) = Re{U ( k )} + j Im{U ( k )}; (A2.18)
k = 0, 1, 2, … .

În majoritatea cazurilor, funcţiile componentelor reale şi imaginare ale lui U(k)


reprezentate prin k⋅∆f, nu au o semnificaţie aparte, reprezintă rezultate intermediare.
Dacă acestea sunt transformate în reprezentarea coordonatelor polare, figura A2.2,
funcţiile rezultate obţin o semnificaţie fizică. Prin (A2.10), se obţine din

Re 2 {U ( k )} + j Im 2 {U ( k )} = U (k ) ,

se obţine aşa numitul modul |U(k)| al funcţiei complexe. În cazul funcţiilor


complexe, în situaţia prelucrării semnalelor, deseori informaţii despre evoluţia
amplitudinii unui semnal sau a unui sistem.
Cu (A2.11)

Im{z}
ϕ = arctan (A2.20)
Re{z}

se obţine faza ϕ(U(k)) a funcţiei complexe, care conţine informaţii legate de


“comportamentul de întârziere” a semnalelor în forma deplasării semnalelor
(indicată în grade) faţă de un semnal de referinţă dependent de frecvenţă.

Astfel de exemplu, valorile amplitudinii unui sistem calculate din ecuaţia


caracteristicii de frecvenţă ale acestuia prin (A2.19), reprezintă dependenţa
acestora în funcţie de frecvenţa semnalului de intrare.
Faza calculată prin (A2.20) indică cu câte grade se deplasează un semnal armonic
de ieşire a sistemului faţă de frecvenţa semnalului de intrare.

172
ANEXA A3: POLINOAME ŞI FUNCŢII RAŢIONALE

• Polinoame

Un polinom este o aşa numită funcţie raţională întreagă cu următoarea structură:

f ( x) = a n x n + a n −1 x n −1 + .. + a 2 x 2 + a1 x + a 0 , (A3.1)

unde variabila x reprezinta variabila independentă, iar constantele reale ai (i = 0, 1,


2, ..., n) sunt reprezentate drept coeficienţi ale polinoamelor. Puterea cea mai
ridicată n este numită ordinul polinomului.

Pentru n = 0 rezultă funcţia constantă

f ( x) = a 0 , (A3.2)

pentru n = 1, o aşa numită funcţie liniară

f ( x) = a1 x + a 0 , (A3.3)

iar pentru n = 2 o funcţie pătratică

f ( x) = a 2 x 2 + a1 x + a 0 (A3.4)

În general, toate aceste funcţii, inclusiv cele de ordin superior, sunt cunoscute drept
polinoame.

Dacă se calculează valorile funcţiei y = f(x) pe un interval x şi funcţia se reprezintă


într-un sistem de coordonate rectangular, se obţine graficul polinomului.

De exemplu polinomul

y = f ( x ) = x 5 − 3 x 4 − 39 x 3 + 47 x 2 + 210 x (A3.5)
are în domeniul -5 ≤ x ≤ 7 următorul grafic:

173
Fig. A3.1 Graficul polinomului A3.5

Pentru calcularea rădăcinilor unui polinom, (A3.1) este egalat cu zero

a n x n + a n −1 x n −1 + .. + a 2 x 2 + a1 x + a 0 = 0. (A3.6)

Valorile lui x care satisfac această relaţie, sunt denumite rădăcini ale polinomului.
Rădăcinile polinoamelor pot fi numere reale (de exemplu 2, 7) şi / sau numere
pereche complex conjugate (de exemplu 3 + j4 şi 3 - j4). Conform teoremei
fundamentale a algebrei un polinom de ordinul n posedă exact n rădăcini.
Rădăcinile complex conjugate sunt privite ca fiind două rădăcini. Toate rădăcinile
pot apare simplu, adică odată, sau de mai multe ori.
În reprezentarea grafică pot fi citite la intersecţia graficului polinomului cu axa x (y
= 0) rădăcinile reale. Rădăcinile complexe nu sunt reprezentate în grafic.
Rădăcinile polinoamelor de ordinul 0. până la 3. pot fi calculate prin metode
analitice. Pentru polinoame de ordinul superior, se utilizează metode numerice de
calcul.
Prin intermediul rădăcinilor un polinom (A3.1) poate fi exprimat în aşa numită
formă de produs. Dacă x1, x2, x3, …., xn sunt rădăcinile polinomului, forma de
produs a acestuia este

174
f ( x) = K ⋅ (x − x1 ) ⋅ ( x − x 2 ) ⋅ ... ⋅ ( x − x n ). (A3.7)

K este un factor constant. xi poate fi, aşa cum s-a precizat anterior, real sau perechi
complex conjugate. Termenii dintre paranteze se numesc factori lineari.

Exemplu: Să se calculeze rădăcinile şi forma de produs a următorului polinom

y = f ( x ) = 2 x 3 + 8 x 2 + 16 x.

Rezolvare:

(
2 x 3 + 4 x 2 + 8 x = 0; ) ⇒
x (x 2
)
+ 4 x + 8 = 0; ⇒
x1 = 0;
(
x x 2 + 4 x + 8 = 0; )
x 2,3 = −2 ± 4 − 8 = −2 ± j 2;
x 2 = −2 + j 2;
x 3 = −2 − j 2;

Apar trei rădăcini una reală la x = 0 şi una complex conjugată la x = −2 + j 2 şi


x = −2 − j 2 .
Prin aceasta rezultă conform (A1.3) următoarea formă de produs a polinomului

f ( x) = 2 ⋅ (x − 0 ) ⋅ ( x − (− 2 + j 2 )) ⋅ (x − (− 2 − j 2 ))
= 2 ⋅ ( x + 2 − j 2 ) ⋅ (x + 2 + j 2 ).

Derivarea unui polinom de ordinul n (A3.1) este un polinom de gradul n - 1.

df ( x)
y′ = = n ⋅ a n x n −1 + (n − 1) ⋅ a n −1 x n − 2 + .. + 2a 2 x 2 + a1 . (A3.8)
dx

175
• Fracţii raţionale

O fracţie raţională reprezintă raportul a două polinoame

bm x m + bm −1 x m−1 + .. + b2 x 2 + b1 x + 0
F ( x) = ; (A3.9)
a n x n + a n −1 x n −1 + .. + a 2 x 2 + a1 x + a 0

Prin determinarea rădăcinilor polinomului de la numărător și numitor (cunoscute şi


ca polii unei astfel de funcţii), poate fi exprimată forma de produs a funcţilor
raţionale

(x − x1z ) ⋅ (x − x 2 z ) ⋅ ... ⋅ (x − x mz )
F ( x) = M ⋅
(x − x ) ⋅ (x − x ) ⋅ ... ⋅ (x − x ) ;
1p 2p np
(A3.10)

M – factor constant;
xiz – zerourile polinomului de la numărător;
xip – polii polinomului de la numitor.

Fracţiile raţionale apar în domeniul prelucrării semnalelor ca aşa numite funcţii de


transfer ale sistemelor (filtrelor). Funcţiile de transfer sunt importante modele
matematice ale sistemelor (vezi capitolul 3), care stau la baza conceperii filtrelor.
Calcularea fracţiilor raţionale pot fi implementate în SciLab prin instrucţiuni
speciale care acţionează asupra polinoamelor.

Funcţiile de transfer ale filtrelor nu conţin „x” ca şi variabilă independentă, ci „s” la


filtrele continue şi „z” la filtrele discrete în timp.

176
ANEXA B1: PRELUCRAREA SEMNALELOR ÎN SCILAB

În cadrul acestei anexe sunt descrise instrucţiunile întâlnite în anexa B2 pentru


programarea aplicaţiilor din Scilab corespunzătoare elementelor teoretice abordate
în cadrul capitolelor anterioare.

B1.1.1 Matrici in Scilab

Algoritmi si structuri de date constituie programe. In Scilab, matricea formează


principala structura. Un vector este o matrice de dimensiune ‚1 la n’ sau ‚n la 1’. O
valoarea reala sau complexa poate fi considerata ca o matrice ‚1 la 1’. Scilab
dispune de o multitudine de funcţii care permit tratarea unei matrice ca pe un întreg
sau pentru accesarea diferitelor componente.
O matrice poate fi văzută ca o înşiruire de valori care reprezintă o înregistrare ale
mai multor canale de date. In alt sens, daca transpunem ieşirea unui convertor
analog – numeric cu mai multe canale, intr-o matrice de ‚n canale cu m eşantioane’
putem privi fiecare coloana ca fiind evenimente care au loc in acelaşi timp iar
fiecare linie ca fiind ieşirea unui anumit dispozitiv (un amplificator, un senzor, etc.).
In continuare sunt prezentate câteva noţiuni generale legate de posibilitatea de
prelucrare a semnalelor oferite de Scilab.

Urmează sa cream o matrice de 5 linii si 6 coloane, formata din numere aleatoare


intre 0 si 1. Pentru aceasta, de la cursorul Scilab se scrie instrucţiunea:
 mat = rand (5,6);

Matricea creata este asociata variabilei ‚mat’. Daca s-ar fi construit o matrice cu
mai multe linii si coloane, atunci aceasta, de obicei, nu se vizualizează. Punct si
virgula de la sfârşitul instrucţiunii anterioare, transmite Scilab-ului de a nu afişa
matricea.

Daca dorim sa aflam mai multe legate de instrucţiunea ‚rand’ atunci putem scrie:
 help rand

Va apare o fereastra, figura B1.1, in care sunt explicate detaliat opţiunile funcţiei
alături de o serie de exemple.

177
Fig. B1.1 Fereastra de ajutor pentru instrucţiunea ‚rand’

Daca nu ne amintim sintaxa exacta a instrucţiunii, se poate scrie


 apropos random

si se va obţine o lista a funcţiilor disponibile conţinând ‚random’ in definiţia lor.


Ne întoarcem la variabila ‚mat’ pentru a ilustra proprietăţile acesteia. Se scrie:
 type (mat)
ans =
1.

‚ans’ este răspunsul la interogarea noastră si indica faptul ca variabila ‚mat’ este de
tipul ‚1’. Daca definim un sir de caractere si interogam tipul acesteia, vom obţine
un alt raspuns:
 str = ‚Scilab’
str =
Scilab

 type (str)
ans =
10.
Astfel, un sir de caractere reprezintă o variabila de tipul ‚10’. Mai multe detalii
legate de diferitele tipuri in Scilab, pot fi obţinute prin interogarea ‚help type’.

178
O matrice, un vector si un scalar sunt variabile ale aceluiaşi tip.
 scal = 3;

 vec = [2 3 4 5.3];

scalcomplex = 3 + 2*%i;

 type (scal)

ans =

1.

 type (vec)

ans =

1.

 type (scalcomplex)

ans =

1.

In liniile de instrucţiuni prezentate mai sus, se găsesc o serie de noutăţi, cum ar fi


construirea unui vector prin utilizarea parantezelor drepte sau definirea valorilor
complexe utilizând ‚%i’, care sunt evidente. Interesant este faptul ca Scilab tratează
o mărime scalara (reala sau complexa), un vector şi o matrice ca având acelaşi ‚tip’.

Deseori interesează numărul de linii si de coloane ale unei matrici. Pentru o astfel
de verificare putem utiliza:
 size (mat)
ans =
! 5. 6. !

Din moment ce mărimile scalare si vectoriale aparţin aceluiaşi tip precum matricele,
putem de asemenea obţine dimensiunile acestora utilizând aceeaşi comanda:

 size (vec)

ans =

! 1. 4. !

 size (scal)

179
ans =

! 1. 1. !

 size (scalcomplex)

ans =

! 1. 1. !

Uneori este mai util a obţine doar numărul liniilor sau coloanelor unei matrici:
 size (mat,1)

ans =

5.

 size (mat,2)

ans =

6.

Dacă utilizăm vectori, comanda este puţin diferită:


 length (vec)

ans =

4.

Astfel, dacă aplicăm ‚length’ unei matrici


 length (mat)

ans =

30.

obţinem produsul dintre numărul de linii si coloane ale matricei.

Am creat ‚mat’, ‚str’, ‚vec’, ‚scal’ si ‚scalcomplex’ iar acestea pot fi şterse in mod
selectiv
 clear str // sterge str

 str // str nu mai exista

!—error 4

undefined variable : str

 vec // verificam existenta vec

180
vec =

! 2. 3. 4. 5.3 !

sau putem şterge toate variabilele


 clear // sterge toate variabilele

 vec // verificam daca vec mai exista

!—error 4

undefined variable : vec

Prin aceste elemente, am exemplificat modalitatea de a diversifica ‚cunoştinţele’ în


Scilab (help) precum şi câteva metode de a definii variabile, de a obţine tipul,
dimensiunea lor şi de ştergere a acestora.

B1.1.2 Eşantionarea semnalelor

În contextul analizat, sinusoidele sunt funcţii ‚sin’ ale unui vector. După cum se
cunoaşte, aproape fiecare semnal întâlnit în practică poate fi construit din suma
diferitelor sinusoide cu diferite valori ale amplitudinii, frecvenţei şi fazei.
Vom începe prin:
--> k=1:100; vecsin = sin (2 * %pi * 0.02 * k); plot(vecsin);

Se va obţine graficul unei funcţii ‚sin’, reprezentată în colţul din stânga sus al
figurii B1.2. Aceasta este o funcţie sinus de la 0 la 100. Eşantionarea s-a realizat la
‚1’, ceea ce a fost determinat prin ‚k=1:100’. În consecinţă se poate constata că
valoarea frecvenţei de eşantionare a fost egală cu ‚1’. Frecvenţa acestui semnal este
0.02 (Hz daca privim 1 ca fiind o secunda) iar perioada este de 50 (1/0.02,
frecvenţa fiind inversa perioadei).

181
Fig. B1.2 Exemple de semnale

 k = 1:100; vecsin = sin (2 * %pi * 0.05 * k);plot(vecsin);

Cu aceeaşi valoare a perioadei de eşantionare, s-a construit un semnal sinusoidal de


frecventa 0.05 si o perioada de 20 (1/0.05). Astfel avem cinci repetări intr-un
interval de 100, aşa cum reiese din imaginea din mijloc a primei coloane din figura
B1.2. Frecventa semnalului poate fi mărită:
 k = 1:100; vecsin = sin (2 * %pi * 0.2 * k); plot(vecsin);

S-a obţinut un semnal sinusoidal cu frecvenţă de 0.2, o perioada de 5 si 20 de


repetiţii, reprezentate in coloana din stânga jos din cadrul figurii B1.2. Vom mării
frecvenţa semnalului:
 k=1:100; vecsin = sin (2 * %pi * 0.4 * k); plot(vecsin)

şi
 k=1:100; vecsin = sin (2 * %pi * 0.5 * k); plot(vecsin)

Semnalul reprezentat nu mai este unul sinusoidal, imaginea de sus a coloanei din
dreapta, figura B1.2, ci un semnal care variază în frecvenţă. Dacă verificăm scala
axei y, vom vedea că graficul nu variază între -1 si 1, ci de la -4e-14 la 4e-14, adică

182
semnalul este mai mult sau mai puţin egal cu ‚zero’. Ce se întâmplă dacă creştem şi
mai mult frecvenţă semnalului?
 k=1:100; vecsin = sin (2 * %pi * 0.8 * k); plot(vecsin)

Scala axei y este din nou de la -1 la 1, graficul din mijloc a coloanei din dreapta,
figura B2.1, dar în schimbul unei frecvenţe de 0.8, o perioada de 1.25 (1/8) şi 80 de
repetiţii, am obţinut doar 20 de repetiţii. Mai mult,
 k = 1:100; vecsin = sin (2 * %pi * 0.95 * k); plot(vecsin)

ne aşteptam la o frecvenţă de 0.95 şi o perioadă de 1.0562 (1/0.95), obţinându-se în


schimb 5 repetiţii, ceea ce implică o perioadă de 20 şi o frecvenţă de 0.05 (1/20), în
partea de jos a coloanei din dreapta, figura B1.2 Astfel, crescând frecvenţa
semnalului peste un anumit nivel, pe grafic se obţine o descreştere a frecvenţei. Ce
se întâmplă?

Ceea ce s-a putut observa este aşa numita ‘aliere’, fenomen cu importante
consecinţe practice. Dacă t este o variabilă reală, sin(6.28*f*t) este o funcţie
continuă. Pe de alta parte, vecsin=sin(2*%pi*frecventa*k), unde k este o variabila
discreta, poate fi privită ca o funcţie eşantionată. Conform teoremei de eşantionare,
pentru un semnal a cărui frecvenţă maximă fmax este eşantionat la o frecvenţă mai
mare decât 2fmax, atunci semnalul original poate fi complet reconstruit. De
asemenea conform teoremei de eşantionare, pentru frecvenţe peste valoarea din
jumătatea frecvenţei de eşantionare, vor apare frecvenţe de aliere (frecvenţe care nu
apar în semnalul original şi care pot modifica profund forma acestuia). Eşantionând
cu o frecvenţă egală cu 1 putem reconstruii semnale a căror frecvenţă maximă este
1/ (2*1) = 0.5. Dacă aplicăm aceasta expresie pentru diferite valori ale ratei de
eşantionare, se obţin valorile indicate în tabelul 1.1.

In tabelul B.1 perioada de eşantionare a semnalului este exprimată în ms sau s, iar


‚Frec. Max.’ reprezintă frecventa maxima a semnalului care poate fi recuperata fără
distorsionarea acestuia. Astfel, de exemplu eşantionarea unor semnale a căror
frecvenţă atinge valoarea maximă de 50 Hz, trebuie efectuată la o frecvenţă de
peste 100 Hz sau eşantionarea unui semnal a cărui frecvenţă atinge 1000Hz, trebuie
efectuată la o frecvenţă de peste 20000Hz.

183
Tab B.1 Raportul dintre frecventa de eşantionare şi frecvenţa maximă a semnalului
eşantionat
Perioada de Perioada de Frecventa de Frec. Max. (Hz)
eşantionare (ms) eşantionare (s) eşantionare (Hz)
1000 1.0 1.0 0.5
500 0.5 2.0 1.0
100 0.1 10.0 5.0
50 0.05 20.0 10.0
10 0.01 100.0 50.0
5 0.005 200.0 100.0
1 0.001 1000.0 500.0
0.5 0.0005 2000.0 1000.0
0.1 0.0001 10000.0 5000.0
0.05 0.00005 20000.0 10000.0
0.01 0.00001 100000.0 50000.0

Frecvenţa maximă prezentă în semnalul original trebuie să fie cel puţin la jumătate
din valoarea frecvenţei semnalului de eşantionare. Această frecvenţă este cunoscută
ca ‚frecventa Nyquist’.

Din acest motiv, trebuie sa ne asigurăm că nu există frecvenţe peste frecvenţa


Nyquist care pot perturba analiza acestuia. Metoda cea mai uzitata este de a realiza
o filtrare analogică a semnalului la o frecvenţă egală cu jumătatea frecvenţei de
eşantionare. Dacă urmează să eşantionăm un semnal la frecvenţa de 20000, iar dacă
filtrăm înainte acest semnal la 10000 cu un filtru analogic, vom putea fi siguri că
toate frecvenţele cuprinse în semnal vor fi eşantionate în mod adecvat.

B1.1.3 Accesarea elementelor unui vector

Vom pornii de la definirea unui vector

 stepvector = [zeros (1,5),ones (1,5)]


stepvector =

0. 0. 0. 0. 0. 1. 1. 1. 1. 1.

184
‘zeros(n,m)’ generează o matrice de n linii si m coloane cu zerouri, iar ‘ones(n,m)’
are aceaăi funcţie doar cu unu, ‘virgula’ pastreaza aceaşi linie, iar parantezele
pătrate construiesc vectorul.

Pentru a extrage componentele individuale ale acestuia:


--> stepvector(5)

ans =

0.

--> stepvector(6)

ans =

1.

--> stepvector(4:7)

ans =

0. 0. 1. 1.

Putem elimina câteva componente


--> length(stepvector)

ans =

10.

--> stepvector(4:7)=[ ]

stepvector =

0. 0. 0. 1. 1. 1

--> length(stepvector)

ans =

6.

sau putem insera câteva elemente noi


 stepvector = [stepvector(1:3),[2,2,2,2],stepvector(4:6)]

stepvector =

0. 0. 0. 2. 2. 2. 2. 1. 1. 1

Pentru a accesa ultima componentă a unui vector am putea utiliza instrucţiunea

185
--> stepvector (length(stepvector))

ans =

1.

De asemenea exista operatorul ‘$’


--> stepvector ($)

ans =

1.

care facilitează selectarea elementelor pornind de la capătul vectorului


--> stepvector ($-4)

ans =

2.

S-a prezentat extragerea, inserarea şi ştergerea valorilor unui vector.

Vom urmării o aplicaţie prin care se vor detecta secvenţe ale semnalului ale cărui
valori cresc. Vom începe printr-un vector aleator, utilizând un vector boolean,
cuplat cu acesta pentru a detecta secvenţele in creştere (un vector Boolean este un
vector alcătuit din valorile adevărat sau fals: %T si %F) .
--> randvector = rand (1:10) // genereaza un vector aleator

randvector =

0.2113249 0.7560439 0.0002211 0.3303271 0.6653811


0.6283918 0.8497452 0.6857310 0.8782165 0.0683740

--> checkvector = randvector(2:$)-randvector(1:$-1)

checkvector =

0.5447190 - 0.7558227 0.3301060 0.3350540 - 0.0369893


0.2213534 - 0.1640142 0.1924855 - 0.8098424

Urmează să transformăm vectorul ‘checkvector’ într-un vector Boolean


(‘checkvectorbool’), care va conţine %T daca ‘checkvector’ este pozitiv, ceea ce
indica faptul ca s-a întâlnit o secvenţă crescătoare şi %F în orice alt caz.
--> checkvectorbool = checkvector>0 //creaza vectorul
Boolean

checkvectorbool =

186
T F T T F T F T F

Din moment ce ‘checkvector’ descrie diferenţe, vom adăuga primei poziţii o


valoare falsă, deoarece desigur aceasta nu şi-a mărit valoarea. Un vector Boolean
acţionează ca un vector de ‘ones’ şi ‘zeros’ care permite extragerea valorilor dintr-
un vector
--> checkvectorbool = [%F, checkvectorbool] // adaugă %F la
început

checkvectorbool =

F T F T T F T F T F

--> result=randvector.*checkvectorbool //extragerea valorilor

result =

0. 0.7560439 0. 0.3303271 0.6653811 0.


0.8497452 0. 0.8782165 0.

--> check = [randvector;result]' // transpunere pentru o

// mai buna evidenţiere

check =

0.2113249 0.
0.7560439 0.7560439
0.0002211 0.
0.3303271 0.3303271
0.6653811 0.6653811
0.6283918 0.
0.8497452 0.8497452
0.6857310 0.
0.8782165 0.8782165
0.0683740 0.

Prima coloană din ‘check’ reprezintă vectorul original (‘randvector’), cea de-a
doua coloană conţine rezultatul. În concluzie, au fost detectate valorile care sunt
mai mari decât valorile precedente şi au fost eliminate acele valori care nu au
coincis acestei proprietăţi. Pentru a atinge acest obiectiv, a fost utilizat un vector
Boolean care se obţine prin verificarea întregului vector printr-o condiţie. Această
procedură poate fi utilizată pentru vectori de o lungime mult mai mare sau pentru
semnale reale.

187
B1.2 CONVOLUŢIA SEMNALELOR

B1.2.1 Introducere

Semnalele pot fi prelucrate in mod diferit şi asociate cu diferiţi operatori. Una din
acestea este convoluţia. Instrucţiunea utilizată în Scilab pentru implementarea
acestei operaţii este convol.

--> a = [1 2 3]
a =

1. 2. 3.

--> b = [1 0 0 0 0 1 0 0 0]
b =

1. 0. 0. 0. 0. 1. 0. 0. 0.

--> c = convol(a,b)
c =

1. 2. 3. 0. 0. 1. 2. 3. 0. 0. 0.

Se poate observa că a şi b au lungimi diferite, iar c combină informaţia conţinută


din ambele semnale. În cazul acestui exemplu, de fiecare dată în care b are valoarea
1, a este introdus în rezultat.
Convoluţia poate fi utilizată pentru a modifica un semnal. Pornim de la premisa
existenţei unui semnal, de calibrare de exemplu, căruia dorim să-i evidenţiem
schimbările:

--> a = [ 0 0 0 1 1 1 1 0 0 0]
a =
0. 0. 0. 1. 1. 1. 1. 0. 0. 0.

--> b = [1 -1]
b =

! 1. - 1. !

--> c = convol (a,b)


c =

0. 0. 0. 1. 0. 0. 0. - 1. 0. 0. 0.

188
În acest exemplu avem un semnal dreptunghiular a, asemănător unui semnal de
calibrare b. b a fost astfel proiectat pentru a detecta poziţiile în care a nu este
constant. Putem interpreta acest proces ca şi cum semnalul original ar fi fost filtrat
cu un filtru trece sus.

Depinzând de valorile lui b, se pot produce efecte diferite în a. În exemplul anterior


au fost eliminate schimbările lente, dar pot fi reduse şi schimbări rapide. In
domeniul prelucrării semnalelor se utilizează netezirea pentru eliminarea
frecvenţelor ridicate. Se va construii un vector care netezeşte semnalul, în care
fiecare punct devine media proprie, a valorii precedente şi a celei care îl umrează:

--> a = [ 0 0 0 1 1 1 1 0 0 0];

--> b = [ 1/3 , 1/3, 1/3];

--> c = convol(a,b);

--> a'
ans =

! 0. !
! 0. !
! 0. !
! 1. !
! 1. !
! 1. !
! 1. !
! 0. !
! 0. !
! 0. !

--> c'
ans =

! 0. !
! 0. !
! 0. !
! 0.3333333 !
! 0.6666667 !
! 1. !
! 1. !
! 0.6666667 !
! 0.3333333 !
! 0. !
! 0. !
! 0. !

189
În cadrul acestui exemplu au fost eliminate schimbările bruşte care caracterizau
trecerea de la 1 la 0 şi de la 0 la 1. Cu alte cuvinte, am realizat o filtrare trece jos a
semnalului.
Un exemplu, similar cu cel dinainte, care să conţină şi o reprezentare grafică, poate
fi obţinut prin următorul cod:

--> x = [0 0 0 1 1 1 1 1 1 0 0 0];

--> xsetech([0,0,1,1/3],[-1,-2,15,2])

--> plot2d(1:length(x), x, -3, "002");

--> xsetech([0,1/3,1,1/3],[-1,-2,15,2])

--> x1 = convol([1, -1], x);

--> plot2d(1:length(x1), x1, -3, "002");

--> xsetech([0,2/3,1,1/3],[-1,-2,15,2])

--> x2 = convol ([1/3, 1/3, 1/3], x);

--> plot2d(1:length(x2), x2, -3, "002");

Rezultatul

Fig. B1.3 Semnalul original, rezultatul convoluţiei cu [1 -1] şi cu [1/3 1/3 1/3]

190
B1.2.2 Mecanismul convoluţiei

Pentru a demonstra mecanismul convoluţiei, se vor urmării etapele de convoluţie în


cazul a două semnale:

Primul semnal 1 2 3
Al 2-lea semnal 2 1 3

Primul pas constă în reflectarea unui semnal:

Primul semnal (reflectat) 3 2 1


Al 2-lea semnal 2 1 3

Al doilea pas este format din deplasarea progresivă şi de a însuma produsul celor
două semnale:

Primul semnal 3 2 1
Al 2-lea semnal 2 1 3

Produs 0 0 2 0 0
Suma 2 < - - - - - - -

Primul semnal 3 2 1
Al 2-lea semnal 2 1 3
Produs 0 4 1 0
Suma 5 < - - - - - - -

Primul semnal 3 2 1
Al 2-lea semnal 2 1 3

Produs 6 2 3
Suma 11 < - - - - - - -

Primul semnal 3 2 1
Al 2-lea semnal 2 1 3

Produs 0 3 6 0
Suma 9 < - - - - - - -

Primul semnal 3 2 1

191
Al 2-lea semnal 2 1 3

Produs 0 0 9 0 0
Suma 9 < - - - - - - -

Verificarea cu Scilab:

--> convol ([1 2 3], [2 1 3])


ans =

2. 5. 11. 9. 9.

B1.2.3 Convoluţia şi produsul polinoamelor

Există o strânsă legătură dintre convoluţie şi produsul polinomial.


--> a = [1 2 3];
--> b = [2 1 3];
--> apoly = poly(a,'x','c')
apoly =
2
1 + 2x + 3x
--> bpoly = poly(b,'x','c')
bpoly =
2
2 + x + 3x
--> cpoly = apoly * bpoly
cpoly =
2 3 4
2 + 5x + 11x + 9x + 9x
--> coeff(cpoly)
ans =
2. 5. 11. 9. 9.
--> convol(a,b)
ans =
2. 5. 11. 9. 9.

Pe baza acestei forme de reprezentare, pot fi deduse o serie de aplicaţii interesante.


Prima dată se realizează polinoamele pe baza coeficienţilor conţinuţi în vectorii a şi

192
b, apoi se implementează celor două polinoame iar în final se extrag coeficienţii
acestora. Se constată că ordinul rezultatului este dat de suma ordinului factorilor.
De asemenea se poate observa că lungimea convoluţiei a două semnale este suma
lungimilor acestora minus unu.

B1.3 CORELAŢIA

B1.3.1 Introducere

O operaţie importantă între semnale este corelaţia. Corelaţia este foarte apropiată
de convoluţie, instrucţiunea pusă la dispoziţie de Scilab fiind corr. Aceasta poate fi
utilizată cu unul sau cu doi vectori. Dacă apelăm la instrucţiunea corr doar cu un
vector, se obţine corelaţia vectorului cu el însuşi, autocorelaţia. Pe de altă parte,
dacă se utilizează doi vectori, se obţine corelaţia dintre aceştia, intercorelaţia.
Corelaţia poate fi utilizată pentru a măsura gradul de asemănare între două semnale.
Spre exemplificare, vom genera un semnal compus din două sinusoide de frecvenţe
apropiate:

--> t = 0:.01:10;

--> semnal_baza=sin(2*%pi*9.7*t) + sin(2 * %pi * 10.3 * t);

Cele două instrucţiuni simulează 10 secunde dintr-un semnal eşantionat la 100 Hz.
Se va genera un semnal perturbator cu o distribuţie Gaussiană, de aceeaşi lungime.
Din moment ce acesta va conţine toate frecvenţele, el este cunoscut drept zgomot
alb. Dacă utilizăm rand cu opţiunea normal se va obţine o distribuţie a valorilor
având media 0 şi deviaţia standard 1. În momentul în care se înmulţeşte cu 2 se va
obţine o distribuţie normală, cu valori ale căror medie este 0 şi înregistrează o
deviere standard de 2.

--> rand('normal')

--> rand('seed',0)

--> zgomot = 2 * rand(semnal_baza);

--> semnal_zgomot = semnal_baza + zgomot;

193
În continuare se va analiza corelaţia semnalului şi a zgomotului. Se va începe cu
analiza semnalului:

--> xbasc()

--> corr_semnal_baza = corr (semnal_baza,1000);

--> xsetech([0,0,1,1/2])

--> plot2d(t(1:500),semnal_baza(1:500));

--> xsetech([0,1/2,1,1/2])

--> plot2d(t(1:500),corr_semnal_baza(1:500))

a.

b.
Fig. B1.4 Semnalul analizat (a) şi autocorelaţia acestuia (b)

La o primă privire, figura B1.4 a şi b, ambele semnale par a fi foarte asemănătoare.


Amplitudinea semnalului care reprezintă autocorelaţia scade are o amplitudine
descrescătoare şi de asemenea plaja de variaţie se găseşte pentru autocorelaţie în
domeniul -1 la 1, faţă de -2 la 2 la semnalul iniţial.
Autocorelaţia poate fi privită ca o modalitate de a detecta periodicitatea unui
semnal. Următoarele linii de program reprezintă doar o măsură de îmbunătăţire a
rezoluţiei reprezentării grafice, figura B1.5:

194
--> xbasc()

--> corr_semnal_baza = corr (semnal_baza,1000);

--> xsetech([0,0,1,1/2])

--> plot2d(t(1:50),semnal_baza(1:50));

--> xsetech([0,1/2,1,1/2])

--> plot2d(t(1:50),corr_semnal_baza(1:50))

a.

b.
Fig. B1.5 Reprezentarea pe o scală grafică cu o rezoluţie mărită

Se poate vedea că autocorelaţia detectează o periodicitate de 0.1 secunde, frecvenţa


de bază a semnalului. De obicei în practică se lucrează cu semnale afectate de
zgomot, urmărind în continuare modalitatea în care corelaţia unui semnal este
afectată de zgomot.

195
B1.3.2 Corelaţia zgomotului

Vom obţine autocorelaţia zgomotului, figura B1.6:

--> xbasc()

--> corr_zgomot = corr (zgomot,1000);

--> xsetech([0,0,1,1/2])

--> plot2d(t(1:500),zgomot(1:500));

--> xsetech([0,1/2,1,1/2])

--> plot2d(t(1:500),corr_zgomot(1:500))

a.

b.
Fig. B1.6 Zgomotul a şi autocorelaţia acestuia b

Rezultatul obţinut este unul foarte important. Autocorelaţia zgomotului alb este 0
cu excepţia originii a cărei valoare reprezintă varianţa semnalului. Pentru zgomotul
analizat, varianţa este în jurul valorii de 4 din moment ce deviaţia standard a
acestuia este de 2.

196
B1.3.3 Autocorelaţia unui semnal afectat de zgomot

Se va calcula autocorelaţia unui semnal afectat de zgomot. Pentru cazul analizat,


amplitudinea zgomotului este atât de ridicată încât face semnalul util foarte greu de
recunoscut:

--> corr_semnal_zgomot = corr (semnal_zgomot,1000);

--> xsetech([0,0,1,1/2])

--> plot2d(t(1:500),semnal_zgomot(1:500));

--> xsetech([0,1/2,1,1/2])

--> plot2d(t(1:500), corr_semnal_zgomot (1:500))

a.

b.
Fig. B1.7 Semnalul afectat de zgomot a şi autocorelaţia acestuia b

Se constată că autocorelaţia extrage periodicitatea semnalului, figura B1.7b,


periodicitate care nu este vizibilă în cazul semnalului util suprapus de semnal
perturbator, figura B1.7a.

197
B1.3.4 Mecanismul corelaţiei

Pentru a demonstra mecanismul corelaţiei, se vor ilustra etapele parcurse pentru


doua semnale:

Primul semnal 1 2 3
Al 2-lea semnal 2 1 3

Într-o primă etapă se va scădea valoarea medie a semnalului din acesta:

Primul semnal (minus media) -1 0 1


Al 2-lea semnal (minus media) 0 -1 1

Apoi, cel de-al doilea semnal se va deplasa progresiv, iar produsul dintre cele două
semnale se va însuma:

Primul semnal (minus media) -1 0 1


Al 2-lea semnal (minus media) 0 -1 1

Produs 0 0 1
Suma 1 <----------

Primul semnal (minus media) -1 0 1


Al 2-lea semnal (minus media) 0 -1 1

Produs 1 0
Suma 1 <----------

Primul semnal (minus media) -1 0 1


Al 2-lea semnal (minus media) 0 -1 1

Produs -1
Suma -1 <---------

Ultimul pas presupune împărţirea rezultatului la lungimea şirului:

Rezultatul anterior 1 1 -1
Împărţit la 3 (rezultatul final) 1/3 1/3 1/3

198
Rezultatul obţinut poate fi verificat cu ajutorul următorului cod:
--> a = [1 2 3]
a =

1. 2. 3.

--> b = [2 1 3 ]
b =

2. 1. 3.

--> corr(a,b,3)
ans =

0.3333333 0.3333333 - 0.3333333

Trebuie observat faptul că operaţia de corelaţie nu este comutativă:

--> corr(a,b,3)
ans =

0.3333333 0.3333333 - 0.3333333

--> corr(b,a,3)
ans =

0.3333333 - 0.3333333 0.

B1.4 TRANSFORMATA FOURIER

B1.4.1 Introducere

Se va eşantiona un semnal sinusoidal cu frecvenţa de 9 Hz şi amplitudinea de 90


Hz. Frecvenţa de eşantionare aleasă este de 100 Hz (perioada de eşantionare 0.01)
şi vor considera 2 secunde ale semnalului, adică 18 perioade, figura B1.8.

 inct = 0.01;

 N = 200;

 t = (0:N-1) * inct;

 frec = 9;

semnal = 30 * sin (2 * %pi * frec * t + 0.4 * %pi);


199
 plot2d(t,semnal);

Fig. B1.8 2s secunde ale unui semnal sinusoidal de 9 Hz

Instrucţiunea de aplicare a transformatei Fourier în Scilab este fft(input,-1).


Rezultatul este un vector de aceeaşi lungime cu cea a intrării. Din moment ce
rezultatul este un şir complex cu valori reale şi imaginare, pentru reprezentarea
grafică trebuie să ţinem cont de modulul fiecărei valori.

-> ffsemnal = fft (semnal, -1);

-> xbasc(), plot2d(abs(ffsemnal));

Figura B1.9 conţine două vârfuri, pentru un semnal alcătuit dintr-o singură
frecvenţă.

200
Fig, B1.9 Modulul transformatei Fourier. Axa x nu este exprimată în Hz

Pentru a înţelege acest fenomen, trebuie urmărită legătura dintre perioada de


eşantionare şi frecvenţă, incrementul de frecvenţă fiind inversul timpului total
considerat.
-> incf = 1 / (N*inct);

-> f = (0:N-1) * incf;

-> xbasc(), plot2d(f,abs(ffsignal));

Fig. B1.10 Modul transformatei Fourier. Frecvenţele sunt exprimate în Hz, iar cele peste 50
Hz reprezintă frecvenţe negative, de la -49 Hz la -1Hz
201
Figura B1.10 conţine în axa x frecvenţe de la 0 la 100 cu un vârf la 9 Hz. Acest
vârf reprezintă frecvenţa sinusoidei căreia i s-a aplicat transformata Fourier. În ceea
ce priveşte cel dea-l doilea vârf, nu se poate obţine nici o frecvenţă deasupra
frecvenţei Nyquist. Din moment ce semnalul a fost eşantionat la 100 Hz, nu pot
exista frecvenţe peste 50 Hz. Frecvenţele sunt de fapt de la -50 la 50 Hz. Primele
50 de valori reprezintă frecvenţe de la 0 la 49, următoarele reprezintă frecvenţe de
la -50 la -1. Astfel, valoarea pe care o vedem la frecvenţa de 91 corespunde
frecvenţei -9.
Transformata Fourier a produs două vârfuri simetrice la frecvenţa de 9 şi -9 Hz.
În continuare urmează a fi stabilită relaţia dintre amplitudinea semnalului şi
amplitudinea transformatei.

- > xbasc(), plot2d(f,abs(ffsignal/N));

Fig. B1.11 Modulul transformatei Fourier, cu amplitudinea corectată

Graficul, figura B1.11, poate fi reprezentat modificând axa x pentru a evidenţia


frecvenţele pozitive şi negative, figura B1.12:

--> f(101:200) = f(101:200)-100;

--> plot2d(f,abs(ffsignal/N));

202
Fig. B1.12 Modulul transformatei Fourier, cu evidenţierea frecvenţelor negative

S-au obţinut două vârfuri cu o amplitudine de 15. Dacă însumăm ambele vârfuri
obţinem amplitudinea de 30, amplitudinea originala a sinusoidei.

B1.4.2 Prelucrarea semnalului prin funcţia fereastra

Deseori trebuie să izolăm o parte a semnalului. Dacă avem un semnal format din
1000 de valori, dar prezintă interes pentru a fi prelucrate doar 100 de valori, vom
avea nevoie de o funcţie, implementată în Scilab prin comanda window:

--> window('re',7)
ans =

1. 1. 1. 1. 1. 1. 1.

--> window('tr',7)
ans =

0.25 0.5 0.75 1. 0.75 0.5 0.25

Instrucţiunea window, generează un set de valori cu aceeaşi formă, dar de mărimi


diferite. Cel de-al doilea parametru 7, indică lungimea şirului care urmează a fi
generat. Primul element indică forma: re – rectangular, tr – triunghiular.
Deseori prezintă interes utilizarea unor ferestre cu caracteristici speciale:

--> window('hm',7)

203
ans =

0.08 0.31 0.77 1. 0.77 0.31 0.08

--> window('hn',7)
ans =

0. 0.25 0.75 1. 0.75 0.25 0.

Instrucţiunea window cu opţiunea hm generează o fereastră Hamming iar opţiunea


hn o fereastră Hanning, ambele utilizate în analiza spectrală.

În continuare vom descrie efectul ferestrelor asupra transformatei Fourier.

--> N = 200;

--> inct = 0.01;

--> t = (0:N-1) * inct;

--> w = window('re',length(t));

--> frec = 9;

--> semnal = 30 * sin (2 * %pi * frec * t + 0.4 * %pi) .* w;

--> incf = 1 / (N*inct);

--> f = (0:N-1) * incf;

-->ffsemnal = fft (semnal, -1);

În acest exemplu s-a utilizat un semnal alcătuit din 200 de puncte. Este un semnal
sinusoidal de 9 Hz eşantionat la 0.01. Vom multiplica fereastra cu semnalul.
Pentru cazul de faţă, este echivalent cu păstrarea semnalului neschimbat, figura
B1.13:

--> xsetech([0,0,1,0.5],[0,-40,2,30])

--> plot2d(t,semnal)

--> xsetech([0,0.5,1,0.5],[0,0,100,20])

--> plot2d(f,abs(ffsemnal)/sum(w))

204
Fig. B1.13 Modulul transformatei Fourier cu o fereastră rectangulară

Vom repeta procesul utilizând o fereastră Hanning:

--> clear()

--> N = 200;

--> inct = 0.01;

--> t = (0:N-1) * inct;

--> w = window('hn',length(t));

--> frec = 9;

--> semnal = 30 * sin (2 * %pi * frec * t + 0.4 * %pi) .* w;

--> incf = 1 / (N*inct);

--> f = (0:N-1) * incf;

--> ffsemnal = fft (semnal, -1);

Singura diferenţă faţă de exemplul anterior este utilizarea ferestrei Hanning.


Ajustând rezultatul transformatei Fourier, figura B1.14, se obţine:

--> xsetech([0,0,1,0.5],[0,-40,2,30])

205
--> plot2d(t,semnal)

--> xsetech([0,0.5,1,0.5],[0,0,100,20])

--> plot2d(f,abs(ffsemnal)/sum(w))

Fig. B1.14 Modulul transformatei Fourier utilizând fereastra Hanning

Pentru a evidenţia avantajul ferestrei Hanning sau Hamming, se va modifica


frecvenţa semnalului analizat:

--> xbasc()

--> N = 200;

--> inct = 0.01;

--> t = (0:N-1) * inct;

--> w = window('re',length(t));

--> frec = 9.3;

--> semnal = 30 * sin (2 * %pi * frec * t + 0.4 * %pi) .* w;

--> incf = 1 / (N*inct);

--> f = (0:N-1) * incf;

206
--> ffsemnal = fft (semnal, -1);

--> xsetech([0,0,1,0.5])

--> plot2d(t,semnal)

--> xsetech([0,0.5,1,0.5])

--> plot2d(f,abs(ffsemnal)/sum(w))

Fig. B1.15 Modulul transformatei Fourier cu o fereastră rectangulară

Din figura B1.15 reiese fenomenul de scurgere , vârful reprezentat având o bază
mai lată. De asemenea, în realitate nu avem decât o singură frecvenţă, în timp de
vârful trece peste mai multe frecvenţe. Acest fenomen poate fi minimizat utilizând
câteva ferestre, aşa cum reiese din codul următor:

--> xbasc()

--> N = 200;

--> inct = 0.01;

--> t = (0:N-1) * inct;

--> w = window('hn',length(t));

--> frec = 9.3;

207
--> semnal = 30 * sin (2 * %pi * frec * t + 0.4 * %pi) .* w;

--> incf = 1 / (N*inct);

--> f = (0:N-1) * incf;

--> ffsemnal = fft (semnal, -1);

--> xsetech([0,0,1,0.5])

--> plot2d(t,semnal)

--> xsetech([0,0.5,1,0.5])

--> plot2d(f,abs(ffsemnal)/sum(w))

Fig. B1.16 Modulul transformatei Fourier cu o fereastră Hanning

Se poate observa, figura B1.16 o îmbunătăţire a rezoluţiei vârfului prin reducerea


scurgerii.

208
ANEXA B2 PROGRAME ÎN SCILAB

// ab_tfd.sce
// Programul implementează algoritmul de baza al transformatei Fourier digitale
// ţinând cont de scalarea in domeniul timp (t_end, T, N, n) şi domeniul
// frecvenţa (f_max, df, k). Spectrul de amplitudine calculat se vizualizează
// doar până la frecvenţa Nyquist f_max.
// Capitol 2.2.1.4, relaţiile (2.2.64) respectiv (2.2.70) precum (2.2.68) si (2.2.69)

// Stabilirea scalarii in domeniul timp

t_end=10; // alegerea duratei de observare a semnalului


T=0.2; // alegerea timpului de eşantionare

N=t_end/T; // calcularea numărului maxim al eşantioanelor


n=0:1:N-1; // variabila în domeniul timp
t=0:T:t_end-T; // axa timpului

// Alegerea semnalului temporal ce urmează a fi analizat

f=0.5; // alegerea frecvenţei de oscilaţie


u=sin(2*%pi*f*n*T); // semnal de test sinusoidal discret

xsetech([0,0,1,0.5])
plot2d3(t,u,6), xgrid(5) // 1. Reprezentare via t
// plot2d3(n,u,6), xgrid(5) // 2. Reprezentarea via n

// Transformata Fourier Digitala

U=fft(u);
Uas=abs(U); // Calcularea spectrului de amplitudine

// Calcularea rapoartelor în frecvenţă

df=1/(N*T); // rezoluţia frecventei


f_max=1/(2*T); // frecvenţă Nyquist.

209
k=0:1:N/2; // variabila în domeniul frecvenţă.
f=0:df:f_max; // axa frecvenţei

// Reprezentarea spectrului de frecvenţă


xsetech([0,0.5,1,0.5])
plot2d3(f,Uas(1:N/2+1)) // 1. Reprezentarea peste f
//plot2d3(k,Uas(1:N/2+1)) // 2. Reprezentarea peste k
xgrid(3)

// amp_stat.sce
// Programul calculează o statistica de amplitudine pentru semnale stohastice:
// funcţia de repartizare a densităţii amplitudinii, valoarea medie, medianul,
// variaţia lăţimii, varianta, devierea standard, înclinaţia şi ondulaţia unui
// semnal stohastic indicat
// Capitol 2.2.2.1, relaţiile (2.2.78) pana la (2.2.83)

// Generarea semnalului test


//
tobs=10; // durata de observaţie a semnalului
T=0.002; // timpul de eşantionare
t=0:T:tobs-T; // axa timpului
//
u=mtlb_randn(size(t)); // 1. semnal de test cu distribuţie normala
//u=rand(size(t))-0.5; // 2. semnal de test cu distribuţie egala (in jurul lui zero)
//u=abs(exp(-0.2*t).*sin(2*%pi*1*t)); // semnal cu distribuţie pe stângă

// Reprezentarea grafică a semnalului şi a repartiţie densităţii de amplitudine

xsetech([0,0,1,0.5])
plot2d(t,u,2),xgrid() // reprezentarea grafică a semnalului de test
//
xsetech([0,0.5,1,0.5])
linii=100;
histplot(linii,u,2),xgrid() // reprezentarea densităţii de distribuţiei a amplitudinii

210
// Calcularea parametrilor medii

N=(tobs/T); // numărul valorilor amplitudinilor


media=sum(u)/N; // media aritmetică
medi=median(u); // median

// Calcularea parametrilor de dispersie

vector_medie=media.*ones(u); // pt calculele care urmează e nevoie de un vector


// cu valoarea medie, de lungime u
lat_var=max(u)-min(u); // lăţimea de variaţie

varianta=(1/(N-1))*sum((u-vector_medie).^2); // varianta
// varianta=variance(u); // varianta

sigma=sqrt(varianta); // deviaţia standard

inclinatia=((1/(N))*sum((u-vector_medie).^3))/sigma^3;

ondulatia=(((1/(N))*sum((u-vector_medie).^4))/sigma^4)-3;

// aprox.sce
// Crearea modelelor matematice pentru semnale aperiodice prin
// aproximare polinomiala utilizând metoda celor mai mici pătrate
// (Capitol 2.2.1.1, relaţiile (2.2.37) pentru matricile M si u;
// relaţia (2.2.43) pentru calcularea lui p)

// Descrierea semnalului ce urmează a fi modelat:


// funcţie exponenţială afectată de zgomot

tend=10; // Interval de observare


T=0.01; // Timp de eşantionare
t=0:T:tend-T; // axa timpului
u=t^(3).*exp(-t)+ 0.5*mtlb_randn(size(t));
plot2d(t,u,-9) // valorile măsurate, indicate prin cercuri

211
plot2d(t,t^(3).*exp(-t),2) // valoarea neafectata de zgomot,
//caracteristica albastra

// Estimarea parametrilor polinomului


polygrad=6; // Alegerea gradului polinomului ce urmează a fi aproximat,
// polygrad < n-1; n: nr de măsurători.

t=t'; // transpunerea pentru algoritmul CMMP


u=u';

for i=1:polygrad // Matricea M


M(:,i+1)=t.^i;
end
M(:,1)=ones((t));

p=inv(M'*M)*M'*u; // Det. coef. polinomiali prin CMMP (2.2.43)

//for i=1:length(p) // sortarea parametrilor polinoamelor


// coef(i)=p(length(p)-i+1); // după puterea descrescătoare a lui t
//end

n=length(p);
value=p(n)*ones(t);
for i=n-1:-1:1 // calcularea valorilor funcţiei polinomiale
value=p(i)+t.*value;
end

plot2d(t,value,5),xgrid() //reprezentarea modelului polinomial


xtitle('albastru: original; cercuri: original perturbat; rosu: model polinomial')

// bode_c.sce
// Programul calculează diagrama Bode, pe o axa logaritmica, pentru o funcţie de
// transfer data a unui sistem continuu (capitolul 3.2.1.3).

// Exemplu - funcţie de transfer a unui sistem continuu

212
numarator = 1; // coeficienţii polinomului de la numărător
numitor = [1, 0.001]; // coeficienţii polinomului de la numitor

s=poly(0,'s'); // definirea funcţiei de transfer


H=syslin('c',1/(0.001*s+1));

// Ridicarea caracteristicilor de frecventa


bode(H,1,10000) // domeniul 10^0 < f < 10^4

// bode_d.sce
// Programul calculează diagrama Bode, peste o axa logaritmică, pentru o
// funcţie de transfer în z, a unui sistem în timp discret.

// Exemplul unei funcţii de transfer a unui sistem in timp discret


// Relaţia (3.2.74)

z=poly(0,'z');
h=(0.33*z+0.33)/(z-0.333); // funcţia de transfer
T=1.e-3; // timpul de eşantionare
sys=syslin(T,h); // funcţia de transfer discreta

bode(sys,1,10000) // diagrama Bode pentru intervalul


// (10^0 < f < 10^4)

// convolutie.sce
// Calcularea unui răspuns al unui sistem pe baza integralei de convoluţie.
// determinarea anterioară a funcţiei pondere din funcţia de transfer

s=poly(0,'s'); // funcţia de transfer a unui element PT2


sys = syslin('c',1/(s^2+0.4*s+1));

dt=0.01; // pasul de calcul


t=0:dt:30; // axa timpului

213
h = csim('impuls',t,sys); // calcularea funcţiei pondere h(t)

u = ones(t); // semnal treaptă unitar ca mărime de intrare

y=mtlb_conv(h,u)*dt; // procesul de convoluţie

y=y(1:length(t)); // conv calculează y peste 2*t,


// partea a 2-a este eliminata

plot2d(t,y),xgrid(2) // reprezentarea grafică a răspunsului sistemului

// dif_int.sce
// Diferenţierea şi integrarea numerică în baza relaţiilor
// (4.3.3), (4.3.8) si (4.3.14), capitol 4.3
// Algoritmii se realizează cu instrucţiunea Scilab 'rtitr'

tend=4; // durata de observare a semnalului


T=0.001; // timpul de eşantionare
t=0:T:tend;

// Generarea unui semnal pentru diferenţiere

f=1; // frecventa semnalelor


//u=squarewave(2*%pi*f*t); // 1. Dreptunghiular
u=sin(2*%pi*f*t); // 2. Sin
xsetech([0,0,1,0.25]), // reprezentarea grafică a semnalului
plot2d(t,u,2),xgrid(),xtitle('Semnal exemplu: u(t)=sin(2pi*f*t)')

// Diferenţierea semnalului
z=poly(0,'z');
num=2*z-2; den=T*z+T; // Algoritmul de diferenţiere
y_diff=rtitr(num,den,u);
//
xsetech([0,0.25,1,0.25]),

214
plot2d(t,y_diff,2,),xgrid(),xtitle('semnal diferentiat fara filtrare trece jos')

// Filtrare trece jos a semnalului diferenţiat

num=%pi*z+%pi; den=(%pi+2)*z+(%pi-2);
y_difc=rtitr(num,den,y_diff); // Algoritmul unui filtru trece jos de ordinul 1
xsetech([0,0.5,1,0.25]),xgrid() // y'=(2*pi*f)*cos(2*pi*f*t)
plot2d(t,y_difc,2); xtitle('semnal diferentiat cu filtru trece jos')

// Integrarea semnalului diferenţiat

num=T*z+T; den=2*z-2;
y_int=rtitr(num,den,y_difc); // Algoritm de integrare
xsetech([0,0.75,1,0.25]),xgrid() // Int(u(t)*dt)=-(1/(2*pi*f))*cos(2*pi*f*t)-C
plot2d(t,y_int,2), xtitle('Integrarea semnalului diferentiat')

// dig_ftj.sce
// Program pentru conceperea unui filtru digital, de tip Butterworth Trece Jos
// pe baza unui prototip de filtru analogic continuu trece jos
// Capitolul 4.4.1

// Datele de intrare ale utilizatorului

Ordinul_filtrului=5; // (număr întreg)


Frecventa_limita=0.2; // (Hz)
Timp_de_esantionare=0.2; // (sec.)
//
n=Ordinul_filtrului;
fg=Frecventa_limita;
T=Timp_de_esantionare;

// Filtru Butterworth continuu, trece jos


hz_ftj=iir(n,'lp','butt',[fg 0],[]);

// Discretizarea filtrului

215
hz_ftj=syslin(T,hz_ftj)

// Caracteristica Bode
bode(hz_ftj,0.01,10)

// dig_fts.sce
// Program pentru implementarea unui filtru digital trece sus Butterworth
// pe baza unui prototip de filtru analogic (continuu) trece jos
// Capitolul 4.4.1

// Datele de intrare ale utilizatorului


//
Ordinul_filtrului=5; // (număr întreg)
Frecventa_limita=0.2; // (Hz)
Timp_de_esantionare=0.2; // (sec.)
//
n=Ordinul_filtrului;
fg=Frecventa_limita;
T=Timp_de_esantionare;

// Filtru Butterworth continuu, trece sus


hz_fts=iir(n,'hp','butt',[fg 0],[]);

// Discretizarea filtrului
hz_fts=syslin(T,hz_fts)

// Reprezentarea diagramei Bode a filtrului digital


bode(hz_fts,0.01,10)

// dig_fob.sce
// Program pentru implementarea unui filtru digital opreşte bandă Butterworth
// pe baza unui prototip de filtru analogic (continuu) trece jos
// Capitolul 4.4.1

216
// Datele de intrare ale utilizatorului
//
Ordinul_filtrului=5; // (număr întreg)
Frecventa_limita_inferioara=0.1; // (Hz)
Frecventa_limita_superioara=0.2; // (Hz)
Timp_de_esantionare=0.2; // (sec.)
//
n=Ordinul_filtrului;
fgi=Frecventa_limita_inferioara;
fgs=Frecventa_limita_superioara;
T=Timp_de_esantionare;

// Filtru Butterworth continuu, opreşte bandă


hz_fob=iir(n,'sb','butt',[fgi fgs],[]);

// Discretizarea acestuia
hz_fob=syslin(T,hz_fob);

// Diagrama Bode
bode(hz_fob,0.01,10)

// dig_ftb.sce
// Program pentru implementarea unui filtru digital trece banda Butterworth
// pe baza unui prototip de filtru analogic (continuu) trece jos
// Capitolul 4.4.1

// Datele de intrare ale utilizatorului


//
Ordinul_filtrului=5; // (număr întreg)
Frecventa_limita_inferioara=0.1; // (Hz)
Frecventa_limita_superioara=0.2; // (Hz)
Timp_de_esantionare=0.2; // (sec)
//
n=Ordinul_filtrului;
fgi=Frecventa_limita_inferioara;

217
fgs=Frecventa_limita_superioara;
T=Timp_de_esantionare;

// Filtru Butterworth continuu, trece banda


hz_fbp=iir(n,'bp','butt',[fgi fgs],[]);

// Discretizarea acestuia
hz_fbp=syslin(T,hz_fbp);

// Diagrama Bode
bode(hz_fbp,0.01,10)

// "f_serie.sce"
// Programul realizează modelul matematic al semnalelor periodice
// prin dezvoltarea in serie Fourier si aproximarea coeficienţilor
// Fourier prin TFD.
// Paragraf 2.2.1.1, relaţiile (2.2.5), (2.2.15/16) şi (2.2.17)

// Descrierea semnalului ce urmează a fi modelat

T0=10; // Perioada semnalului continuu ce urmează a fi modelat


T=0.02; // Timp de eşantionare
t=0:T:T0-T; // Puncte de măsurare în domeniul timp
f0=1/T0; // Frecvenţa semnalului
N=T0/T; // Nr punctelor de măsurare

// Calcularea semnalului la punctele de eşantionare

u=4*ones(t)+ 3*sin(2*%pi*f0*t)+4*cos(2*%pi*f0*t); // două semnale armonice


// suprapuse

xsetech([0,0,1,0.5]), xtitle('Semnalul ce urmeaza a fi modelat'),


plot2d(t,u,2), xgrid // reprezentarea semnalului în domeniul timp

// Calcularea coeficienţilor Fourier

218
y=fft(u); // aproximarea coeficienţilor Fourier
a=(2/N)*real(y); // relaţiile (2.2.15) - (2.2.17)
a(1)=(1/N)*real(y(1));
b=(-2/N)*imag(y);
b(1)=0;

// Afişarea primilor 10 coeficienţi Fourier


a=a';
b=b';
disp([a(1:10),b(1:10)]);

// Calcularea modelului semnalului cu seria Fourier

tendM=20; // alegerea intervalului de reprezentare


tM=0:T:tendM; // al modelului

yM = ones(tM)*a(1); // Componenta a(0)

for k=2:(N/2)+1
yz=a(k)*cos(2*%pi*(k-1)*f0*tM)+b(k)*sin(2*%pi*(k-1)*f0*tM);
yM=yM+yz; // Calcularea seriei Fourier (2.2.5)
end

// Reprezentarea grafic a modelului semnalului

xsetech([0,0.5,1,0.5]), plot2d2(tM, yM,2), xgrid


xtitle('Modelul calculat al semnalului')

// f_spec.sce
// Programul calculează spectrul de amplitudine al unui semnal
// periodic prin utilizarea coeficienţilor Fourier aproximaţi,
// determinaţi prin intermediul TFD.

// Descrierea semnalului ce urmează a fi modelat

219
T0=10; // Perioada semnalului continuu ce urmează a fi modelat
T=0.01; // Timp de eşantionare
t=0:T:T0-T; // Puncte de măsurare în domeniul timp
f0=1/T0; // Frecvenţa semnalului
N=T0/T; // Nr punctelor de măsurare

//u=2*ones(t)+square(2*%pi*f0*t); // 1. Semnal dreptunghiular


u=3*sin(2*%pi*f0*t)+4*cos(2*%pi*f0*t); // 2. doua semnale armonice suprapuse

xsetech([0,0,1,0.5]), plot2d(t,u), // semnalul in domeniul timp


xgrid(), xtitle('Semnalul ce urmeaza a fi modelat')

U=fft(u); // TFD
uk=(2/N)*abs(U); // determinarea amplitudinii
spectrale
uk(1)=(1/N)*abs(U(1));

// Reprezentarea grafică a spectrului de frecvenţă


k=0:N-1;
fk=k*f0; // domeniul frecvenţă

xsetech([0,0.5,1,0.5]), plot2d3(fk(1:10),uk(1:10),5), // primele 10 linii spectrale


xgrid(),xtitle('Spectrul semnalului')
//xsetech([0,0.5,1,0.5]), plot2d3(fk,uk), xgrid // spectrul semnalului, si cel reflectat

// fir_esf.sce
// Conceperea de filtre FIR prin metoda eşantionării de frecvenţă
// Capitolul 4.4.2

T=0.001; // stabilirea timpului de eşantionare

r=[1 1 1 0 0 0 0 0 1 1]; // stabilirea caracteristicii de amplitudine


// la punctele de frecventa (TJ - pt cazul de fata)
N=length(r); // numărul punctelor de eşantionare ale frecvenţei

220
// = ordinul filtrului
delta_f=1/(N*T); // calcularea rezoluţiei de frecventa

scf(1),xsetech([0,0,1,0.5]), // vizualizarea caracteristicii de amplitudine


f=0:delta_f:N*delta_f-delta_f; // dorite
plot2d(f,r,2),plot2d(f,r,-3)

k=1:N/2; // calcularea caracteristicii de faza


phi1=-%pi*k*(N-1)/N; // 1. jumătate până la f_Nyquisit
phi2=-mtlb_fliplr(phi1); // conjuga componenta simetrica a fazei pana la f_T
phi2(1)=[];
phi=[0,phi1,phi2]; // faza totală

// Reprezentarea spectrului dorit


phi_grad=(180/%pi)*phi;
xsetech([0,0.5,1,0.5]), // împărţirea ferestrei grafice
plot2d(f,phi_grad,-9), // spectrul marcat prin 'o'
set(gca(),"auto_clear","off") // păstrează graficul curent

R=r.*cos(phi); // calcularea spectrului in structura:


I=r.*sin(phi); // H = Re{H}+jIm{H}
R(1)=1; // din amplitudinea r si faza phi
H=R+I*%i;

bk=ifft(H); // TFD inversă


b=real(bk);

[h, fr]=frmag(b,1,N*delta_f); // reprezentarea caracteristicii de


ampl=abs(h); // amplitudine a filtrului calculat (rosu)
xsetech ([0,0,1,0.5]),xgrid()
plot2d(1000*fr,ampl,5)
xtitle(' ','albastru: caracteristica dorita; rosu: caracteristica obtinuta in urma metodei
de esantionare de frecventa')

221
// int_poli.sce
// Program pentru demonstrarea interpolării polinomiale
// capitolul 4.2, relaţiile (4.2.3b) si (4.2.5)

// Generarea semnalului original ce urmează a fi interpolat

tend=10; // perioada de observare a semnalului


dt=0.1; // rezoluţia temporala maxima
t=0:dt:tend-dt; // axa timpului
u=t.^(3).*exp(-t)+3; // 1. semnal aperiodic
// u = sin(2*%pi*0.444*t); // 2. semnal periodic

plot2d(t,u,3) // reprezentarea grafica a semnalului orginal (verde)

// Eşantionarea semnalului original pentru interpolare intre aceste


// puncte de eşantionare

k=10; // alegerea timpului de eşantionare T


T=k*dt; // ca multiplii întregi de k ai distantei de calcul dt.

t_es=0:T:tend; // seria punctelor de eşantionare


u_es=t_es.^(3).*exp(-t_es)+3; // seria eşantioanelor conform exemplului 1
// u_es=sin(2*%pi*0.444*t_es); // seria eşantioanelor conform exemplului 2

plot2d(t_es,u_es,-2); // reprezentarea grafica a valorilor eşantionate

// Calcularea polinomului de interpolare

poligrad=tend/T; // determinarea gradului polinomului,


// la m puncte de eşantionare:
// n = m - 1
t_es=t_es'; // transpunerea pentru matricea M
u_es=u_es'; // transpunerea pentru matricea M
for i=1:poligrad // calcularea matricei M
M(:,i+1)=t_es.^i; // conform (4.2.3b) si (4.2.5)
end

222
M(:,1)=ones(t_es);
p=inv(M)*u_es; // calcularea vectorului parametrilor polinomului

// Calcularea polinomului de interpolare


n=length(p);
value=p(n)*ones(t);
for i=n-1:-1:1
value=p(i)+t.*value;
end

plot2d(t,value,5),xgrid() // reprezentarea grafica a polinomului de interpolare (rosu)


xtitle('verde: curba originala, x: punctele de esantionare, rosu: polinom de
interpolare');

// interpolare.sce
// Program pentru exemplificarea interpolării cu ajutorul TFD si TFDI şi completări
// cu zerouri. (capitolul 4.2, fig. 4.5, relaţia (4.2.8))
// O scurtare a timpului de eşantionare la 1/1000 din durata iniţială de eşantionare
// conduce încă la rezultate satisfăcătoare.
// (raportul dintre T_vechi si T_nou nu trebuie sa fie un număr întreg)

// Generarea semnalului original ce urmează a fi interpolat

tend=10; // perioada de observare a semnalului


T_vechi=0.1; // timpul de eşantionare iniţial
T_nou=0.037; // noul timp de eşantionare, mai scurt
//
N_vechi=(tend/T_vechi); // numărul vechilor puncte de eşantionare

// Generarea unui semnal original

t_vechi=0:T_vechi:tend-T_vechi; // vechea axa de timp

//u_vechi=t_vechi.^(3).*exp(-t_vechi)+3*ones(t_vechi); // 1. semnal aperiodic cu


// offset

223
u_vechi = sin(2*%pi*0.444*t_vechi)+3*ones(t_vechi); // 2. semnal sinusoidal cu
// offset
plot2d(t_vechi,u_vechi,2) // reprezentarea grafica a semnalului original

//Producerea semnalului interpolat

y=fft(u_vechi); // FFT a semnalului original

N_zerouri=round((T_vechi*N_vechi)/T_nou)-N_vechi; // Calcularea şi pregătirea


nulvector=zeros(1:N_zerouri); // numărului de zerouri ce urmează a
// fi completate

y_nul=[y(1:N_vechi/2),nulvector,y(N_vechi/2+1:N_vechi)]; // Introducerea
// vectorului nul la mijlocul spectrului
unz=ifft(y_nul); //inversa FFT a spectrului completat cu zerouri

u_nou=real((T_vechi/T_nou)*unz); // partea reala a IFFT reprezintă noile


// valori interpolate ale semnalului

// Reprezentarea grafică a semnalului interpolat (rosu)


t_nou=0:T_nou:tend; // noua axa de timp
plot2d(t_nou(1:max(size(u_nou))),u_nou,5),xgrid()
xtitle('albastru: semnal original; rosu: semnal interpolat');

Numarul_vechilor_valori=length(u_vechi) // Afisarea numărului de valori vechi si


// noi ale seriei de valori înainte
Numarul_noilor_valori=length(u_nou) // şi după interpolare

// tfc.sce
// Determinarea spectrului de amplitudine a semnalelor aperiodice
// prin aproximarea transformatei Fourier continue prin TFD
// Capitolul 2.2.1.2, relaţiile (2.2.51), (2.2.52) si (2.2.53)

// Alegerea intervalului de observare si a timpului de eşantionare

224
tend=100; // intervalul de observaţie
T=0.01; // timpul de eşantionare
t=0:T:tend-T; // axa timpului
N=tend/T; // valoarea maxima a eşantioanelor

// Descrierea semnalului ce urmează a fi modelat


//u=zeros((t)); // impuls Dirac
//u(1)=100;

//u=exp(-5*t); // funcţia e - cu exponent negativ

u=sin(2*%pi*2*t).*exp(-0.5*t); // funcţia (2.2.55a)

//t_high=0.05; // Semnalul impuls dreptunghiular


//u=zeros(t); // de ex 0.5-> t_high=0.5*tend
//for i=1:(tend/T)*t_high
//u(i)=1;
//end

// Reprezentarea grafică a semnalului de test


xsetech([0,0,1,0.5]), plot2d(t,u); xgrid(2)

// Transformarea Fourier a semnalului


y=T*fft(u); // înmulţirea cu T in vederea aproximării
// transformatei Fourier continue
amp=abs(y); // spectrul de amplitudine

// Reprezentarea spectrului de amplitudine


df=1/(N*T) // rezoluţia de frecventa
fmax=1/(2*T) // domeniul maxim de reprezentare in frecventa
f=0:df:fmax; // scalarea axei frecvenţă

xsetech([0,0.5,1,0.5])
plot2d(f,amp(1:N/2+1)); xgrid(2) // reprezentarea spectrului pana la fmax
//plot2d(f(1:200),amp(1:200)); xgrid(2) // reprezentarea spectrului intr-o anumita
// gama de frecventa

225
BIBLIOGRAFIE

[1] Ahmad F., Razzaghi M., Numerical method for the analysis of time varying
singular systems, IEE Proc. Control Theory Appl., Vol. 147, No.4, 2000

[2] Ambardar, A. Analog and Digital Signal processing, PWS Publishing


Company, Boston, 1995

[3] Chioncel C., Limbaje de simulare. Aplicaţii de modelare şi simulare, Ed


“E.Murgu” Resita, 2004

[4] Chioncel C., Chioncel P, Identifikationsmethode eines Systems durch


Korelationsanalyse und Parameterschaetzung, Robotica & Management, 2007

[5] Chioncel C., Chioncel P., Anghel C., Scilab application in spectral analysis, 6th
International Symposium “Young People Multidisciplinary Research”, 2004

[6] Chioncel C., Chioncel P, Gal J., Transfer element modelling and simulation,
Analele UEM, Fascicula I ,Inginerie Anul X-XI Nr.1, pg.135 – 141, 2004

[7] Chioncel C., Chioncel P, Tirian O., Utilization of a virtual simulator for Bode
Frequency Diagram, Annals of the Faculty of Engineering Hunedoara, 2006

[8] Chioncel C, Chioncel P., Gillich R-G., Analysis of time discretisation and its
effect on simulation processes, Revista de Robotică & Management, ISSN 1452-
2069, 2006

[9] Chioncel C., Chioncel P., Gillich G-R, Samoilescu G., Analiza influentei
timpului de esantionare pentru un sistem de transfer utilizand mediul Scilab, A VI-
a Conferinta Natională “Profesorul Dorin Pavel – fondatorul hidroenergeticii
romanesti”, Sebes, 2006

[10] Emmanuel C., Barrie W. Digital Signal Processing: a practical approach,


Addison-Wesley Longman, 2001

[11] Franklin, Powell, Workmann Digital Control of Dynamic Systems, Addison –


Weley Publishing Company, Massachusetts, 1990

[12] Gârlaşu Şt., Popp C., Ionel S., Introducere în analiza spectrală şi de corelaţie,
Ed. Facla, Timişoara, 1982

226
[13] Girod B., Rabenstein R., Stenger A. Einfuehrung in die Systemtheorie, Ed.
Teunbner, Stuttgart, 1997

[14] Lutz H., Wendt W., Taschenbuch der Regelungstechnik, Verlag Harri Deutsch,
Frankfurt am Main, 2005

[15] Lyons R. Understanding Digital Signal Processing. Second Edition, Prentice


Hall International, 2004

[16] Mateescu A., Dumitriu N., Stanciu L., Semnale şi sisteme, Ed. Teora,
Bucuresti, 2001

[17] Mateescu A., Ciochina S., Dumitriu N., Prelucrarea numerică a semnalelor,
Ed. Tehnică, Bucureşti, 1997

[18] Năslău P. Metode numerice, Ed. Politehnica Timişoara, 1998

[19] Olariu V., Ecuaţii diferenţiale şi cu derivate parţiale, Ed Tehnică, Bucureşti

[20] Proakis J., Manolakis D. Digital Signal Processing: Principles, Algorithms


and Applications, Prentice Hall India, 2006

[21] Rabiner L., Gold B., Theorie and Application of Digital Signal Processing,
Prentice Hall, 2004

[22] Rus I., Pavel P., Ecuaţii diferenţiale, EDP, Bucureşti, 1982

[23] Smith S. Digital Signal Processing. A practical guide for Engineers and
Scientist, Elsevier Ltd, Oxford, 2002

[24] Signal Processing Toolbox Scilab, Version 4.0 Inria, 2008

[25] Signal Processing Toolbox – Matlab, Version R2006b

227

View publication stats

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