1. Semnale şi sisteme
1.1. Introducere...................................................................................1
1.2. Clasificarea semnalelor................................................................2
1.3. Clasificarea sistemelor.................................................................9
1.4. Procesare numerică versus procesare digitală ...........................10
1.5. Istoric, perspective.....................................................................14
2. Procesarea semnalelor analogice
2.1. Introducere.................................................................................15
2.2. Semnalul sinusoidal în timp continuu .......................................16
2.3. Semnalul sinusoidal funcŃie de variabilă complexă ..................19
2.4. Propagarea semnalelor sinusoidale în circuite liniare ...............21
2.5. Filtre analogice realizate cu circuite electrice liniare ................25
2.5.1. Rezolvarea circuitelor în regim sinusoidal.......................26
2.5.2. Caracteristica de frecvenŃă ...............................................28
2.5.3. Caracteristica de frecvenŃă exprimată în decibeli ............31
2.5.4. AplicaŃii............................................................................35
2.6. Teorema Fourier în timp continuu.............................................40
2.6.1. Teorema Fourier în domeniul real....................................40
2.6.2. Teorema Fourier în electronică ........................................43
2.6.3. Spectrul real al unui semnal periodic real ........................45
2.6.4. AplicaŃii............................................................................47
2.6.5. Teorema Fourier în domeniul complex............................52
2.6.6. Spectrul complex al semnalului periodic real ..................55
2.7. Transformata Fourier directă şi inversă în timp continuu .........55
2.7.1. De ce se folosesc transformări? .......................................55
2.7.2. Transformata Fourier (TF) ..............................................57
2.7.3. Legătura dintre TF şi teorema Fourier ............................58
2.7.4. De ce se folosesc transformări?........................................60
2.7.5. AplicaŃii ...........................................................................61
2.8. Bibliografie................................................................................62
IV Cuprins
5.1. Introducere
5.2. Medierea
Deşi extrem de simplu, algoritmul 5.1 produce date utile. Spre exemplu,
dacă semnalul x[n] conŃine variaŃii rapide între eşantioane apropiate, datorate
unor zgomote, prin mediere acestea vor dispărea. Acest tip de zgomote pot
fi astfel uşor înlăturate, rezultând un semnal “curat”.
t
t0
ϕ
x (nTe)
n0 n
Figura 5.1. Derivata întâi definită pentru funcŃii continue şi funcŃii discrete.
Ioan P. MIHU - Procesarea Numerică a Semnalelor 113
y[n] = x '[n] =
x [n] - x [n - 1]
n ⋅ Te - (n - 1) ⋅ Te
=
1
Te
(
x [n] - x [n - 1] ) (5.3)
x ' '[n] =
x'[n] - x'[n - 1]
=
n ⋅ Te - (n - 1) ⋅ Te Te
1
(
x [n] - x [n - 1] - ( x [n -1] - x [n - 2] ) ) (5.4)
5.4. CorelaŃia
x[n]
ECG cu zgomot
h[n]
5.5. ConvoluŃia
Este unul dintre cei mai importanŃi algoritmi utilizaŃi în procesarea numerică
a semnalelor. ConvoluŃia dintre un semnal x[k] şi un al doilea h[k] de lungime
M, se defineşte astfel:
N −1
y[n] = ∑ h [k] ⋅ x [n - k] = h [n] ∗ x [n] (5.9)
k =0
atunci când semnalul x[k] zis de intrare, reprezintă un şir de date rezultate
dintr-un proces de achiziŃie. Pentru aceasta să considerăm un exemplu
numeric şi anume N=4.
y[n] = x [n]⋅ h[0] + x [n-1]⋅h [1] + x [n-2]⋅h [2] + x [n-3]⋅h [3] (5.10)
Raportarea momentului calculului eşantionului curent la semnalul de intrare
este prezentată în figura 5.3.
nTe
Te
x[n-3] x[n-2] x[n-1] x[n]
y[n]
y[n]
nTe
În sinteză:
• La convoluŃia dintre coeficienŃii unui sistem liniar şi semnalul de
intrare, eşantionul curent de ieşire se obŃine ca sumă ponderată a
ultimelor N eşantioane ale semnalului de intrare, coeficienŃii de
pondere fiind cele N valori ale coeficienŃilor h[k] ai sistemului.
• Aceasta obligă rezervarea unei locaŃii de memorie, pentru
memorarea ultimelor N eşantioane ale semnalului de intrare.
• Pentru calculul eşantionului de ieşire sunt necesare N înmulŃiri şi
N-1 adunări.
• La sosirea unui nou eşantion al semnalului de intrare, fereastra
definită de cei N coeficienŃi se va deplasa şi ea cu un pas “spre
dreapta”, producând astfel un nou eşantion în semnalul de ieşire.
118 Procesare Numerică în Domeniul Timp
T T
y’ [n]
x’ [n] h[n]
• Distributivitatea : (h1 [n] * x[n]) + (h2 [n] * x [n] )= (h2[n] + h2 [n] )* x [n]
Permite echivalarea a două convoluŃii efectuate în paralel:
h2[n]
x [n] y [n] x [n] h2[n]+ h2[n] y [n]
⇔
h1[n]
Una dintre cele mai importante proprietăŃi ale convoluŃiei este legată
de domeniul frecvenŃă. Am văzut în capitolul precedent că
transformata Fourier se poate aplica atât sistemelor cât şi semnalelor.
120 Procesare Numerică în Domeniul Timp
Aşa cum se vede din figura 5.4, convoluŃia semnalelor x [n] şi h[n] se
poate calcula pe două căi:
• Direct, folosind definiŃia (5.9)
• O cale “mai ocolită”, implicând şi transformata Fourier, în felul
următor:
- se calculează transformatele Fourier ale lui x[n] şi h[n] ;
- se face produsul acestora;
- se calculează transformata Fourier inversă a produsului.
La prima vedere, a doua cale pare o soluŃie în care se efectuează mai
multe calcule. Cu toate acestea, vom vedea mai departe că are
numeroase aplicaŃii în care se economiseşte timp de calcul.
ConvoluŃia a două semnale în domeniul timp însemnă produsul lor în
domeniul frecvenŃă. Reciproc, convoluŃia a două semnale în domeniul
frecvenŃă reprezintă produsul lor în domeniul timp. Ea este menŃionată
în literatura de specialitate ca: teorema convoluŃiei .
N -1
x[n]
y[n] = ∑ x[k] ⋅ h[n -k] = x[n] * h[n]
k =0
h[n]
TFD TFD
Ω]
X[jΩ Ω] = X[jΩ
Y[jΩ Ω] ⋅ H[jΩ
Ω]
Ω]
H[jΩ
TFDI
Ω] ⋅ H[jΩ
y[n] = TFDI { X[jΩ Ω]}
x[n]
h[n]
F1 F2
sin (2πnFt/Fe)
∗
2πnFt/Fe
nTe f
Ft
F1
Este bine să fie amintit aici şi acest tip de prelucrări ale semnalelor
numerice. Această categorie de procesări este utilă, fiindcă oferă parametri
cu caracter global despre semnalul analizat. Aceştia pot fi utili atunci când
se doreşte aflarea unor trăsături specifice ale semnalului, identificarea
sau încadrarea acestuia într-o anume categorie.
Există şi statistici al căror rezultat poate induce în eroare, sau poate da
informaŃii în spatele cărora adevărul este altul. Spre exemplu, un ins are
două pâini iar un altul nu are nici una. Rezultatul statisticii arată că pe cap
de locuitor revine câte o pâine…
Prelucrările statistice se fac de obicei off line. Fie că este rezultatul unor
achiziŃii de date din procese fizice, fie că reprezintă rezultatul unor activităŃi
Ioan P. MIHU - Procesarea Numerică a Semnalelor 123
contabile, etc, setul de date care se procesează există la un moment dat, fiind
disponibil pe calculator şi nu mai suferă schimbări pe durata procesării.
4.6.2. DeviaŃia
1 N−1
σ2 =
N − 1 k= 0
(
⋅∑ x [k] −µ ) 2
(5.10)
4.6.3. Histograma
− Câte date de o anume valoare există într-un set de date?
− Câte date aflate într-un anumit interval de valori există într-un set de date?
La astfel de întrebări, răspunsul este dat de histograma setului de date.
n = 0; k = 0;
i = 0;
Da
X[n] = k; i = i+1;
?
n = n + 1;
Da
n ≤ Ndat HST[k] = i;
?
k = k +1; n=0;
Da
END k ≤ Kmax
?
Eşantioanele setului de date sunt x[n], iar xmax şi xmin sunt limitele între care
se găsesc cuprinse valorile secvenŃei. În fond domeniul [xmin ÷ xmax]
124 Procesare Numerică în Domeniul Timp
HST[k]
01234 255 k
Dacă setul de date este format din numere reale, atunci pentru a stabili
histograma se împarte domeniul de valori al semnalului [xmin ÷ xmax] în M
intervale egale, şi se cercetează câte valori se găsesc în fiecare interval.
O remarcă importantă referitoare la histogramă este aceea că spre deosebire
de celelalte procesări amintite, ea nu produce un singur eşantion, ci produce
un set nou de date. O astfel de procesare este o “transformare”, fiindcă
pornind de la un set de date de intrare, ea produce un alt set de date.
Prelucrările propuse în acest capitol pot fi realizate şi on line. În acest sens,
din semnalul ce soseşte secvenŃial din procesul de achiziŃie, se alege o
fereastră conŃinând ultimele M eşantioane, iar acestei ferestre i se aplică
algoritmul statistic propus, spre exemplu histograma. Evident că în acest fel
histograma devine o histogramă dinamică, fiindcă la fiecare nou eşantion,
este posibil ca ea să-şi modifice conŃinutul.
Există şi alte tipuri de procesări asupra seturilor de date provenite din
achiziŃia de semnale, procesări care produc rezultate utile pentru analiza şi
clasificarea semnalelor. Un astfel de exemplu este şi “numărul de treceri
prin zero” ale semnalului, pentru o fereastră dată din semnal.
Ioan P. MIHU - Procesarea Numerică a Semnalelor 125
5.8. AplicaŃii
Problema 5.1. Fie două fişiere conŃinând fiecare câte 1.000 de date. Valorile
acestora sunt generate prin următoarele funcŃii matematice:
a. x[n] = n
0 pt n par
b. x [n] =
1 pt n impar
Să se traseze histogramele seturilor de date din cele două fişiere.
Problema 5.2. Se dau variabilele:
h[6] = [0 0 1 2 1 -1 0];
x[6] = [0 0 0 1 2 3 1];
a. Să se calculeze “cu creionul” produsul de convoluŃie y[n] = h[n] * x[n]
pe baza relaŃiei 5.8.
b. ReprezentaŃi grafic h[6], x[6], y[6].
c. VerificaŃi rezultatul în Matlab.
Problema 5.3. În următoarea sesiune de lucru în Matlab:
a. Să se genereze şi să se afişeze două perioade ale unui semnal
sinusoidal de frecvenŃă 50 Hz, amplitudine 10 şi Fe= 1.000 Hz.
b. Să se genereze un semnal aleator cu amplitudinea 1, care să se
însumeze cu cel de la punctul a. Să se afişeze grafic suma.
c. Să se folosească un algoritm de mediere pentru înlăturarea
semnalului aleator din semnalul sumă.
d. Să se afişeze rezultatul filtrării.
e. Să se compare semnalul iniŃial cu cel procesat şi să se analizeze
efectul lungimii ferestrei de mediere asupra rezultatului.
Problema 5.4. În următoarea sesiune de lucru în Matlab:
a. Să se genereze şi să se facă graficul unui semnal sinusoidal de
frecvenŃă 50 Hz, amplitudine 10 şi având Fe= 1.000 Hz.
b. Să se folosească un algoritm de derivare de ordinul unu cu care
să fie procesat semnalul de la punctul a.
c. Să se afişeze separat rezultatul.
d. Cu ce diferă rezultatul, de cel care s-ar fi obŃinut dacă derivam
întâi semnalul analogic şi apoi îl eşantionam?
e. Să se facă derivata derivatei şi să se afişeze rezultatul.
Problema 5.5. În următoarea sesiune de lucru în Matlab:
a. Să se facă derivata unui semnal audio.
b. Să se analizeze numărul de treceri prin zero al semnalului audio
şi apoi al derivatei acestuia.
126 Procesare Numerică în Domeniul Timp
5.9. Bibliografie
FILTRE NUMERICE
6.1. Introducere
x(t) y(t)
x[n] y[n]
Te
x [ n]
1/2 1/2
y [ n]
+
nTe nTe
y [ n]
y n
1 1
nTe nTe
b). Vom aduce acum la intrarea aceluiaşi filtru secvenŃa: x [n] =1;
x [n-1] = -1; x [n-2] = 1; x [n-3] = -1; etc. Aşa cum se vede din figura 6.5,
această secvenŃă poate proveni din eşantionarea unui semnal
sinusoidal având frecvenŃa Fe/2, momentele eşantionării "căzând"
chiar în momentele de extrem ale semnalului. Aplicând algoritmul 6.1,
rezultă că la ieşire vom avea în permanenŃă y[n] =0 pentru orice
moment ales. Deci algoritmul 6.1 se comportă total diferit faŃă de
acest al doilea semnal comparativ cu primul, şi anume el nu permite
trecerea semnalului de frecvenŃă Fe/2.
Făcând o sinteză a comportării acestui algoritm faŃă de semnale de
frecvenŃe diferite şi plasând într-o caracteristică de frecvenŃă cele
două semnale exemplificate, rezultă că forma caracteristicii de
frecvenŃă a algoritmului propus este de tip filtru "trece jos" (FTJ), aşa
cum este arătat în figura 6.6.
|H|
Fe / 2
Te
X[ n ]
1/2 -1/2
Y[n]
+
nTe nTe
-1
Yn Yn
1
nTe nTe
-1
|H|
Fe / 2
a. Filtre nerecursive
Aceste filtre au specific faptul că ieşirea y[n] a filtrului depinde doar de
valoarea ultimelor N eşantioane din secvenŃa de intrare x[n] şi de valoarea
celor N coeficienŃi ai filtrului. Acest tip de filtru este definit de algoritmul
următor:
N −1
y[n] = ∑ h [k] ⋅ x[n - k] (6.3)
k =0
y [n]
+
b. Filtre recursive
La acest tip de filtre ieşirea y[n] depinde atât de valoarea ultimelor N
eşantioane din secvenŃa de intrare x[n] , cât şi de valoarea ultimelor M
eşantioane din chiar secvenŃa de ieşire.
Acest tip de filtru este definit de algoritmul următor:
N -1 M
y[n] = ∑ h [k] ⋅ x [n - k] − ∑ b [ j ] ⋅ y[n - j ] (6.4)
k =0 j=1
Aşa cum se observă, atât din relaŃia de definiŃie, cât şi din figura 6.13 în
care este ilustrat graful unui filtru recursiv, însumarea pentru termenii
recursivi (cei ce implică secvenŃa de ieşire), nu îl include şi pe y[n] , ci doar
valori anterioare ale acestuia începând cu y[n-1], deoarece este evident că
Ioan P. MIHU - Procesarea Numerică a Semnalelor 135
y [n]
+
Te Te Te
y [n- M] y [n-2] y [n-1]
Există şi alte forme în care poate fi organizată structura unui filtru recursiv.
Spre exemplu, reaşezând forma transversală din figura 6.12 ca în figura
6.13, şi observând că cele două blocuri marcate cu linie punctată sunt
comutative, se obŃine structura din figura 6.14.
136 Filtre Numerice
x [n] y [n]
h[0]
+ +
Te Te
h[1] b[1]
Te Te
h[N-2] b[M]
Te
h[N-1]
x [n] y [n]
+ h[0]
+
Te Te
b[1] h[1]
Te Te
b[M] h[N-2]
Te
h[N-1]
Te
b[1] h[1]
Te
b[M] h[N-2]
Te
h[N-1]
Filtrele stabile sunt cele care produc la ieşire valori finite, atunci când la
intrare se aduc secvenŃe de valori finite.
Filtrele instabile sunt cele care produc la ieşire valori infinite, atunci când
la intrare se aduc secvenŃe de valori finite. Iată două exemple:
a. y[n] = x[n] + x[n -1] + x[n -2] ;
KTe 0 1 2 3 4 5 6 7 ...... ∞
x[n] 1 1 1 0 0 0 0 0 0
y[n] 1 2 3 2 1 0 0 0 ...... 0
6.2.4. Filtre FIR / IIR. Criteriul avut în vedere de această clasificare este
acela al timpului în care ieşirea unui filtru revine la zero, după aplicarea
Ioan P. MIHU - Procesarea Numerică a Semnalelor 139
unui impuls unitar la intrare. Conform acestui criteriu, există două tipuri de
filtre:
• Filtre cu răspuns finit la impuls. În literatura de specialitate sunt
desemnate cu acronimul FIR (Finit Impulse Response). Filtrele de tip
FIR sunt acelea la care ieşirea revine la zero după o durată finită de
timp de la aplicarea impulsului unitar.
• Filtre cu răspuns infinit la impuls sau filtre IIR (Infinit Impulse
Response). Sunt filtrele la care ieşirea revine la zero după o durată
infinită de timp de la aplicarea impulsului unitar. Iată două exemple:
6.3. AplicaŃii
Problema 6.1. Ordinul unui filtru este egal cu numărul maxim al celulelor
de întârziere, dintre cele aflate la intrarea filtrului sau la ieşirea sa. PrecizaŃi
ordinul filtrelor următoare:
• y[n] =2 x[n] – x[n–1] + y[n–1].
• y[n] = x[n] – x[n–3] + y[n–3].
• y[n] =2 x[n] – x[n–1] + x[n–2]+ y[n–1] + y[n–2].
• y[n] =2 x[n]
• Poate avea un filtru recursiv ordinul zero ?
Ioan P. MIHU - Procesarea Numerică a Semnalelor 141
Problema 6.2. Se dă filtrul: y[n] = x[n] + y[n–1]. PrecizaŃi dacă acest filtru
este:
• cauzal / necauzal;
• recursiv / nerecursiv;
• FIR / IIR.
Problema 6.3. Se dă filtrul: y[n] = x[n] – 2x[n–1] + x[n–2]. SecvenŃa x[n] este
cea din figura 6.16:
x[n]
y[n]
x[n] 2
1
n
h[n]
1
n
y[n]
6.4. Bibliografie