Sunteți pe pagina 1din 197

CUPRINS

1. Lucrarea nr. 1. Introducere în Matlab..........................................4

2. Lucrarea nr. 2. Formarea semnalelor elementare


în sistemul Matlab............................................41

3. Lucrarea nr. 3. Analiza spectrală a semnalelor..........................65

4. Lucrarea nr. 4. Eșantionarea și cuantizarea semnalelor.


Interpolarea semnalelor eșantionate.................88

Bibliografie..................................................................................105

3
LUCRAREA nr. 1

INTRODUCERE ÎN MATLAB

Obiective: însușirea elementelor de bază din sistemul


MATLAB precum: definirea unei matrice, operații cu matrice,
tipuri de date, variabile, instrucțiuni, fișiere script, reprezentarea
graficelor și implementarea funcțiilor în Matlab.

1.1. Introducere

MATLAB este un pachet de programe destinat calcului


numeric şi reprezentărilor grafice. Elementul de bază cu care
operează este matricea, de aici provenind şi numele: MATrix
LABoratory. Resursele sale de calcul şi reprezentare grafică sunt
bogate, permiţând operaţii matematice fundamentale, analiza
datelor, programare, reprezentări grafice 2D şi 3D, realizarea de
interfeţe grafice etc. Din punct de vedere al construcţiei sale,
MATLAB este alcătuit dintr-un nucleu de bază în jurul căruia sunt
grupate TOOLBOX-urile. Acestea reprezintă nişte aplicaţii
specifice, fiind de fapt colecţii extinse de funcţii MATLAB care
dezvoltă mediul de programare de la o versiune la alta, pentru a
rezolva probleme din diverse domenii. În prelucrarea numerică a
semnalelor cel mai des utilizat este toolbox-ul SIGNAL
PROCESSING.

1.2. Comenzi şi funcţii principale în MATLAB

MATLAB operează cu două tipuri de ferestre:


1) fereastra de comenzi;
2) fereastra pentru reprezentări grafice.
La deschiderea programului MATLAB, pe ecranul
calculatorului va apărea fereastra de comenzi, având în partea de
sus bara de meniuri aferentă. Simbolul “>>” reprezintă prompterul
MATLAB şi se află la începutul fiecărei linii de comandă din
4
fereastra de comenzi. Ferestrele pentru reprezentări grafice vor
apărea când se va cere prin comenzi specifice afişarea unor grafice.

Atenţie: Comenzile introduse anterior pot fi readuse în linia


de comandă prin folosirea săgeţilor de la tastatură, ↑ şi ↓
(căutarea se face ca într-o “listă”).

1.2.1. Funcţii MATLAB de interes general

• help – furnizează informaţii despre MATLAB şi funcţiile


acestuia.
Sintaxă:
help nume – furnizează informaţii despre nume (poate
fi un nume de funcţie sau un nume de director).
Exemplu:
help fft – furnizează informaţii despre transformata
Fourier discretă.
• who – listează numele variabilelor din spaţiul de lucru.
• whos – furnizează informaţii suplimentare referitoare la
variabilele din spaţiul de lucru (nume, dimensiune etc.).
• format – stabileşte formatul extern de afişare al numerelor
pe ecran.
Sintaxă:
format opţiune – parametrul opţiune poate fi:
- short – 5 cifre // formatul implicit
- long – 15 cifre
- short e – 5 cifre + exp (puteri ale lui 10)
- long e – 15 cifre + exp (puteri ale lui 10)
etc.
Pentru mai multe informaţii tastaţi help format.
Exemple:
format short
x=pi → x =
3.1416
5
format long
x=pi → x =
3.14159265358979
Să se verifice şi celelalte tipuri de format, folosind aceeaşi
valoare x.

• clear – şterge din memorie una sau mai multe variabile.


Sintaxe:
clear v – şterge din memorie variabila v;
clear v1 v2 – şterge din memorie variabilele v1 şi
v2 (sintaxa e valabilă pentru oricâte variabile);
clear – şterge din memorie toate variabilele definite până
în acel moment.
• lookfor – listează toate numele de fişiere care au în prima
linie a help-ului cuvintele menţionate ca argument, precum şi
prima linie din help.
Sintaxă:
lookfor cuvânt – listează toate numele de fişiere care
conţin în prima linie a help-ului cuvânt, precum şi prima
linie din help.
Exemplu:
lookfor ifft – listează toate numele de fişiere care
conţin în prima linie a help-ului ifft, precum şi prima linie
din help.
• dir – afişează numele tuturor fişierelor din directorul curent
sau din orice alt director precizat ca argument.
Sintaxe:
dir – afişează numele tuturor fişierelor din directorul
current;
dir nume – afişează numele tuturor fişierelor din
directorul nume;
• cd – returnează numele directorului curent sau schimbă
directorul de lucru.

6
Sintaxe:
cd – returnează numele directorului current;
cd c:\matlab\nume_director – schimbă directorul
de lucru în nume_director (presupunând că MATLAB
este instalat pe c:\).

Atenţie: Un anumit program MATLAB aflat într-un anumit


director nu poate fi rulat decât dacă directorul respectiv este
directorul de lucru.

1.2.2. Variabile şi constante speciale în MATLAB

• ans – variabilă creată automat în care este returnat


rezultatul unui calcul, atunci când expresia nu a avut asignat
un nume.
Exemplu (se va tasta direct în fereastra de comenzi):
3 → ans= // nu s-a alocat niciun nume
3
X=2 → x= // s-a alocat numele x
2
• pi – valoarea π.
• Inf – reprezentarea lui +∞.
• NaN – reprezentarea lui 0/0 sau ∞/∞.
• i sau j – folosite în reprezentarea numerelor complexe.

Atenţie:
- dacă după o linie de comandă urmează semnul “ ; ”, atunci
rezultatul nu va mai fi afişat (excepţie fac comenzile grafice);
- dacă în faţa unei linii de comandă se pune semnul “ % ”,
atunci se face abstracţie de linia respectivă (este interpretată
ca o linie de comentariu);
- dacă se doreşte continuarea unei instrucţiuni pe linia
următoare, se folosesc “…” urmate de enter.

7
Verificaţi următoarele exemple (se va tasta direct în fereastra de
comenzi):
p=pi; // nu se va afişa valoarea p (dar există în memorie)
q=pi/2 // va afişa valoarea q
%r=pi/4 // nu se ia în considerare această linie
v=r/2 // va rezulta o eroare, deoarece nu îl cunoaşte pe r
s=1+2+3+... enter
4+5+6 // instrucţiunea se continuă şi pe linia următoare

1.2.3. Matricea – element de bază în MATLAB

MATLAB lucrează numai cu un singur tip de obiecte, şi


anume, matrice numerice, având elemente reale sau complexe.
Astfel, scalarii sunt priviţi ca matrice de dimensiune 1 x 1, iar
vectorii ca matrice de dimensiune 1 x n (dacă este vector linie) sau
n x 1 (dacă este vector coloană).
Reguli privind modul de definire a matricelor:
- elementele matricei sunt cuprinse între paranteze drepte [ ];
- elementele unei linii se separă prin pauză (blanc) sau virgule;
- liniile matricei se separă prin ; sau enter.
Exemplu:
1 2 3 −1
Fie matricea A= [ ] și vectorii B=[7 8 9], C=[ ]
4 5 6 −2
A=[1,2,3;4,5,6] → A =
1 2 3
4 5 6
A=[1 2 3;4 5 6] → A =
1 2 3
4 5 6
A=[1 2 3
4 5 6] → A =
1 2 3
4 5 6
B=[7 8 9] → B =
7 8 9
8
C=[-1;-2] → C =
-1
-2
Pentru o matrice M:
- M(i,j) reprezintă elementul din matricea M corespunzător
liniei i şi coloanei j;
- M(i) reprezintă elementul i din matrice, numărarea
elementelor făcându-se pe coloane.

Pentru un vector v:
- v(i) reprezintă elementul de pe poziţia i din vector.

Exemplu: Pentru A, B, C definite anterior verificaţi:


A(2,3) → ans =
6
A(4) → ans =
5
B(2) → ans =
8
C(2) → ans =
-2
Dacă dorim să schimbăm elementele unei matrice sau să mai
adăugăm alte elemente, fără a mai rescrie întreaga matrice,
procedăm ca în exemplul următor:
A(2,3)=0 → A =
1 2 3
4 5 0
A(3,3)=-3 → A =
1 2 3
4 5 0
0 0 -3
C(3)=6 → C =
-1
-2
6
9
Se pot construi matrice de dimensiuni mai mari pornind de la
matrice de dimensiuni mai reduse. Pentru exemplificare vom
folosi matricea A şi vectorii B şi C în ultima lor formă (A – 3 x 3,
B – 1 x 3, C – 3 x 1):
D=[A;B] → D =
1 2 3
4 5 0
0 0 -3
7 8 9
// s-a construit matricea D de dimensiune 4 x 3, prin adăugarea
vectorului B la matricea A (ca ultimă linie).

Atenţie: A şi B au acelaşi număr de coloane (3) pentru a fi


posibilă construcţia.

E=[A,C] → E =
1 2 3 -1
4 5 0 -2
0 0 -3 6
// s-a construit matricea E de dimensiune 3 x 4, prin adăugarea
vectorului C la matricea A (ca ultimă coloană).

Atenţie: A şi C au acelaşi număr de linii (3) pentru a fi


posibilă construcţia.

Dacă v este un vector atunci:


• v(i:k) – selectează elementele de pe poziţiile i, i + 1, i +
2, … , k ale vectorului v; dacă i > k atunci vectorul rezultat
este gol (nu are niciun element).
• v(i:j:k) – selectează elementele de pe poziţiile i, i + j, i +
2j, … până la k, ale vectorului v (selectează cu pasul j); dacă
j > 0 şi i > k sau j < 0 şi i < k atunci vectorul rezultat este gol.
• v([i,j,k]) – selectează elementele de pe poziţiile i, j şi
k.
10
• v(:) – dacă vectorul este linie, atunci el devine coloană;
dacă vectorul este coloană, atunci el rămâne nemodificat.

Dacă M este o matrice atunci:


• M(:,j) – selectează coloana j a matricei M.
• M(i,:) – selectează linia i a matricei M.
• M(:,i:j) – selectează coloanele de la i la j ale matricei M.
• M(i:j,:) – selectează liniile de la i la j ale matricei M.
• M(:,i:j:k) – selectează coloanele i, i + j, i + 2j , … până
la k ale matricei M (selectează cu pasul j).
• M(i:j:k,:) – selectează liniile i, i + j, i + 2j , … până la
k ale matricei M.
• M(i:j,k:l) – extrage submatricea formată cu elementele
aflate la intersecţia liniilor de la i la j şi coloanelor de la k la l
ale matricei M.
• M(:,[i,j,k]) – selectează coloanele i, j şi k ale matricei
M.
• M([i,j,k],:) – selectează liniile i, j şi k ale matricei M.
• M([i,j,k],[l,m,n]) – extrage submatricea formată cu
elementele aflate la intersecţia liniilor i, j şi k şi coloanelor l,
m şi n ale matricei M.
• M(:,:) – selectează întreaga matrice M.
• M(i:j) – selectează elementele de i la j ale matricei M şi
le pune sub forma unui vector linie (elementele într-o matrice
se numără pe coloane).
• M(:) – selectează toate elementele matricei M şi le
aranjează sub forma unui vector coloană (pune coloanele
matricei M una sub alta, sub forma unui vector coloană).

Verificaţi sintaxele de mai sus folosind matricea A şi vectorii B şi


C din exemplele anterioare sau construind alte matrice şi vectori.

11
1.2.4. Vectori şi matrice uzuale

• Generarea vectorilor cu pas liniar


Sintaxe:
- v=iniţial:pas:final – se generează un vector linie
v cu elementele, începând de la iniţial la final, cu
pasul egal cu pas (pasul poate fi şi negative, dar atunci
valoarea iniţială trebuie să fie mai mare decât valoarea finală);
- v=iniţial:final – se generează un vector linie v cu
elementele, începând de la iniţial la final, cu pasul
egal cu 1;
- v=linspace(minim,maxim,număr_de_elemente)
– se generează un vector linie v cu elementele, începând de la
minim la maxim, cu pas constant şi având un număr de
elemente egal cu număr_de_elemente.

Verificaţi următoarele exemple:


v=3:7:40
u=5:10 d=17:-3:4
l=linspace(17,58,4)
q=linspace(pi,-pi,6)

• Generarea vectorilor cu pas logaritmic


Sintaxe:
- v=logspace(minim,maxim)– se generează un vector
linie v, având 50 de elemente distribuite logaritmic între
10minim şi 10maxim ;
- v=logspace(minim,maxim,număr_de_elemente)–
se generează un vector linie v, având
număr_de_elemente elemente distribuite logaritmic între
10minim şi 10maxim .

Atenţie: Dacă maxim=pi, atunci elementele vor fi distribuite


logaritmic între 10minim şi π.
12
Verificaţi următoarele exemple:
g=logspace(1,2)
r=logspace(1,pi)
h=logspace(1,2,5)
k=logspace(0,pi,5)

• Matricea goală
Sintaxa:
- x=[] – generează o matrice goală (fără niciun element).

Exemplu:
x=[] → x =
[]

• ones - Matricea unitate


Sintaxe:
- ones(n) – returnează o matrice de dimensiune n x n cu
toate elementele egale cu 1;
- ones(m,n) – returnează o matrice de dimensiune m x n cu
toate elementele egale cu 1;
- ones(size(M)) – returnează o matrice de dimensiunea
matricei M cu toate elementele egale cu 1.

Verificaţi următoarele exemple:


ones(3)
ones(1,5)
ones(5,1)
ones(3,2)
ones(size(D)) // unde D este matricea definită anterior.

• zeros - Matricea zero


Sintaxe:
- zeros(n) – returnează o matrice de dimensiune n x n cu
toate elementele egale cu 0;

13
- zeros(m,n) – returnează o matrice de dimensiune m x n
cu toate elementele egale cu 0;
- zeros(size(M)) – returnează o matrice de dimensiunea
matricei M cu toate elementele egale cu 0.
Verificaţi următoarele exemple:
zeros(3) zeros(1,5)
zeros(3,2) zeros(5,1)
zeros(size(D)) // unde D este matricea definită anterior.

• eye - Matricea identitate


Sintaxe:
- eye(n) – returnează o matrice identitate de dimensiune
n x n;
- eye(m,n) – returnează o matrice de dimensiune m x n,
având elementele primei diagonale egale cu 1, iar restul
elementelor egale cu 0;
- eye(size(M)) – returnează o matrice de dimensiune
egală cu dimensiunea matricei M, având elementele primei
diagonale egale cu 1, iar restul elementelor egale cu 0.
Verificaţi următoarele exemple:
eye(3)
eye(2,3)
eye(3,2)
eye(size(D)) // unde D este matricea definită anterior.

• rand - Matricea cu numere aleatoare cu distribuţie


uniformă
Sintaxe:
- rand(n) – returnează o matrice de dimensiune n x n, având
drept elemente numere aleatoare cu distribuţie uniformă între
0 şi 1;
- rand(m,n) – returnează o matrice de dimensiune m x n,
având drept elemente numere aleatoare cu distribuţie
uniformă între 0 şi 1;

14
- rand(size(M)) – returnează o matrice de dimensiunea
matricei M, având drept elemente numere aleatoare cu
distribuţie uniformă între 0 şi 1.

Verificaţi următoarele exemple:


rand(3) rand(1,5)
rand(3,2) rand(5,1)
rand(size(D)) // unde D este matricea definită anterior.

• randn - Matricea cu numere aleatoare cu distribuţie


normală (gaussiană)
Sintaxe:
- randn(n) – returnează o matrice de dimensiune n x n,
având drept elemente numere aleatoare cu distribuţie normală
(gaussiană) de medie nulă şi varianţă unitară;
- randn(m,n) – returnează o matrice de dimensiune m x n,
având drept elemente numere aleatoare cu distribuţie normală
de medie nulă şi varianţă unitară;
- randn(size(M)) – returnează o matrice de dimensiunea
matricei M, având drept elemente numere aleatoare cu
distribuţie normală (gaussiană) de medie nulă şi varianţă
unitară.
Verificaţi următoarele exemple:
randn(3)
randn(1,5)
randn(5,1)
randn(3,2)
randn(size(D)) // unde D este matricea definită anterior.

• diag - Matricea diagonală


Sintaxe:
Dacă v este un vector (linie sau coloană) atunci:
- diag(v) – returnează o matrice pătrată diagonală cu
elementele vectorului v pe diagonala principal;

15
- diag(v,k) – returnează o matrice pătrată cu elementele
vectorului v pe diagonala k deasupra celei principale, dacă
k > 0, sau sub cea principală dacă k < 0; restul elementelor
sunt 0.
Dacă M este o matrice atunci:
- diag(M) – returnează un vector coloană ce conţine
elementele de pe diagonala principală a matricei M;
- diag(M,k) – returnează un vector coloană ce conţine
elementele din matricea M de pe diagonala k deasupra celei
principale, dacă k > 0, sau sub cea principală, dacă k < 0.
Se va defini un vector linie a şi o matrice A:
a=randn(1,5)
A=randn(5)
Verificaţi următoarele exemple:
diag(a)
diag(a,1)
diag(a,-1)
diag(a,2)
diag(a,-2)
diag(A)
diag(A,2)
diag(A,-2)
diag(diag(A))

• tril - Matricea inferior triunghiulară


Sintaxe:
- tril(M) – extrage matricea inferior triunghiulară din
matricea M (anulează toate elementele matricei M de
deasupra diagonalei principale);
- tril(M,k) – înlocuieşte cu 0 toate elementele de deasupra
diagonalei k din matricea M (raportarea se face la diagonala
principală – vezi sintaxa de la diag).
Pentru matricea A definită anterior verificaţi următoarele exemple:
tril(A) tril(A,-1)
tril(A,1)
16
• triu - Matricea superior triunghiulară
Sintaxe:
- triu(M) – extrage matricea superior triunghiulară din
matricea M (anulează toate elementele matricei M de sub
diagonala principală);
- triu(M,k) – înlocuieşte cu 0 toate elementele de sub
diagonala k din matricea M (raportarea se face la diagonala
principală – vezi sintaxa de la diag).

Pentru matricea A definită anterior verificaţi următoarele exemple:


triu(A) triu(A,1)
triu(A,-1)

1.2.5. Dimensiunea unei matrice.


Determinantul şi inversa unei matrice

• length,size – Determinarea dimensiunii variabilelor


Sintaxe:
Dacă v este un vector şi M este o matrice m x n atunci:
- length(v) – returnează numărul de elemente (lungimea)
vectorului v;
- length(M) – returnează maximul dintre numărul de linii
şi numărul de coloane al matricei M (maximul dintre m şi n);
- [l,c]=size(M) – returnează numărul de linii (l) şi
numărul de coloane (c) pentru matricea M;
- [l,c]=size(v) – în acest caz, una dintre dimensiuni va fi
egală cu 1; dacă v este un vector linie, atunci l = 1, iar dacă
este coloană atunci c = 1.

Se va defini un vector linie a, un vector coloană b şi o matrice C:


a=randn(1,5)
b=randn(5,1)
C=randn(3,4)

17
Verificaţi următoarele exemple:
length(a) size(a)
length(b) size(b)
length(C) size(C)

• det – Determinantul unei matrice


Sintaxă:
Dacă M este o matrice pătratică (numărul de linii = numărul de
coloane), atunci - det(M) – calculează determinantul matricei M.

Se vor defini două matrice:


M=randn(4)
N=randn(4,3)
Verificaţi următoarele exemple:
det(M)
det(N)

• inv – Inversa unei matrice


Sintaxă:
Dacă M este o matrice pătratică cu determinantul diferit de zero
atunci - inv(M) – calculează inversa matricei M.

Verificaţi folosind matricele M şi N definite la punctul precedent.

E 1.1. Exerciţiu:
1
Fie vectorii linie a = [0, 0.1, 0.2, … , 2] şi coloană b = [ ⋮ ]
1
a) Ce lungime trebuie să aibă b astfel, încât să aibă sens
înmulţirea (în sens matricial) a*b? Iniţializaţi în MATLAB cei
doi vectori şi efectuați înmulţirea.
b) Efectuați înmulţirea b*a.

18
1.2.6. Instrucţiuni de control logic
Operatori relaţionali şi operatori logici

• if,else,elseif – Execuţia condiţionată


Sintaxe:
- if expresie
instrucţiuni
end
// dacă expresie este adevărată, se execută instrucţiuni;
dacă expresie este falsă, se trece după end.
- if expresie
instrucţiuni_1
else
instrucţiuni_2
end
// dacă expresie este adevărată, se execută
instrucţiuni_1; dacă expresie este falsă, se execută
instrucţiuni_2.

- if expresie_1
instrucţiuni_1
else if expresie_2
instrucţiuni_2
end
// dacă expresie_1 este adevărată, se execută
instrucţiuni_1; dacă expresie_1 este falsă şi
expresie_2 este adevărată, se execută instrucţiuni_2.

• for – Repetarea unui număr de instrucţiuni de un anumit


număr de ori
Sintaxă:
- for index=iniţial:pas:final
instrucţiuni
end
19
// pentru index, parcurgând intervalul de la iniţial la
final cu pasul pas, se execută instrucţiuni.

• while – Repetarea unui număr de instrucţiuni atâta timp


cât o condiţie specificată este adevărată
Sintaxă:
- while expresie
instrucţiuni
end
// cât timp expresie este adevărată, se execută
instrucţiuni.

• Operatori relaţionali
- < - mai mic
- <= - mai mic sau egal
- > - mai mare
- >= - mai mare sau egal
- == - identic
- ~= - diferit

• Operatori logici
- & - operatorul ŞI logic
- | - operatorul SAU logic
- ~ - operatorul NU logic.

1.2.7. Crearea programelor MATLAB


(crearea fişierelor de comenzi *.m)

Pentru secvenţe lungi de comenzi se recomandă crearea şi


lansarea în execuţie a unui program MATLAB. Acesta este un
fişier “text”, având extensia .m şi conţinând succesiunea dorită de
comenzi MATLAB. După creare, fişierul devine o nouă comandă
externă MATLAB, care poate fi lansată în execuţie prin simpla
introducere de la tastatură a numelui fişierului (fără extensia .m).
20
Pentru crearea unui astfel de fişier se parcurg următorii paşi:
- în bara de meniuri a ferestrei de comenzi se selectează File, iar
în interiorul acesteia New, urmată de M-file. Se va deschide
astfel o nouă fereastră (sesiune de editare cu editorul
NOTEPAD) cu bară de meniuri proprie şi cu numele Untitled.
În acest fişier se scrie programul MATLAB droit;
- pentru a salva fişierul astfel creat sub un alt nume se selectează
din bara de meniuri a noii ferestre comanda File, urmată de
Save As…; va apărea o nouă fereastră de dialog în care vom
preciza numele fişierului (File name:) însoţit de extensia .m şi
locul unde dorim să îl salvăm (Save in:).
Atenţie:
- pentru a rula un program MATLAB trebuie ca directorul în
care a fost salvat să fie directorul de lucru (vezi comanda cd,
pagina 3);
- pentru a fi luate în considerare eventualele modificări făcute
într-un program MATLAB, înainte de o nouă rulare, fişierul
trebuie salvat (File, urmat de Save);
- denumirea fişierului nu trebuie să înceapă cu cifre sau sa fie
un cuvânt cheie (instrucţiune) Matlab. Denumiri de genul
„ex_1.m” sau „progr_2.m” sunt suficiente.

E 1.2. Exerciţiu:
Se creează un fişier nou care trebuie salvat în directorul
d:/student/pns/nrgrupa. Folosind sintaxele şi indicaţiile din
secţiunile 1.2.6 şi 1.2.7, elaborați un program MATLAB care să
genereze un vector cu elemente aleatoare cu distribuţie normală
(gaussiană) şi să afişeze elementele negative ale acestui vector.

1.2.8. Crearea funcţiilor MATLAB (crearea fişierelor funcţie)

Dacă prima linie a unui fişier MATLAB (*.m) conţine la


început cuvântul function, atunci fişierul respectiv e declarat
ca fişier funcţie. Aceste fişiere pot fi adăugate ca funcţii noi în
structura MATLAB. Forma generală a primei linii a unui fişier
21
funcţie este:
function
[parametrii_ieşire]=nume(parametrii_intrare)
cu următoarele semnificaţii:
- function – cuvânt cheie care declară fişierul ca fişier
funcţie;
- nume – numele funcţiei; reprezintă numele sub care se
salvează fişierul .m (extensia .m nu face parte din nume);
acest nume nu poate fi identic cu cel al unui fişier .m deja
existent;
- parametrii_ieşire – reprezintă parametrii de ieşire ai
funcţiei; trebuie separaţi prin virgulă şi cuprinşi între
paranteze drepte;
- parametrii_intrare – reprezintă parametrii de intrare
ai funcţiei; trebuie separaţi prin virgulă şi cuprinşi între
paranteze rotunde.

1.2.9. Operaţii aritmetice


Operaţii asupra numerelor complexe

• Operatori aritmetici:
- + - adunare;
- - - scădere;
- * - înmulţire
- .* - înmulţire între două matrice (sau vectori) element
cu element;
- / - împărţire;
- împărţire între două matrice (sau vectori) element
- ./
cu element;
- ^ - ridicare la putere;
- .^ - ridicare la putere a unei matrice (sau vector) element
cu element;
- ’ - transpunere şi conjugare;
- .’ - transpunere.
22
Să se definească următoarele elemente:

1 2 3 1−𝑖 2+𝑖 0
A= [ ], B= [ ],
4 5 6 −𝑖 3 𝑖

−1/3
a=[1 + 𝑖 3 0], b=[ ].
−22

Verificaţi şi explicaţi următoarele exemple:


A+B, A+3, B-2, B-i, a+a, A*B, A.*B, A*B.’,
a.*a, a*a, A*a, A*a’, A*a.’, A’*b, B’, A’,
A.’, A^2, A.^2, 1-b, b’*b, b*b, b.*b, b^3,
b.^3, 2/A, 2./A, 2/b, 2./b

• Operaţii asupra numerelor complexe:

- abs – calculează valoarea absolută (modulul) ;


- angle – calculează faza;
- conj – calculează complex conjugatul;
- real – extrage partea reală;
- imag – extrage partea imaginară.

Verificaţi comenzile, utilizând drept argumente elementele A, B,


a şi b definite anterior.

1.2.10. Funţii matematice uzuale

• Funcţiile radical, exponenţială şi logaritm:


- sqrt – extragere radical de ordinul 2 (rădăcina pătrată) ;
- exp – calculează exponeţiala (puteri ale numărului e) ;
- log – calculează logaritmul natural (logaritm în baza e) ;
- log2 – calculează logaritmul în bază 2;
- log10 – calculează logaritmul zecimal (logaritm în baza
10);
- pow2 – calculează puteri ale lui 2.
23
• Funcţiile trigonometrice directe:
- sin – calculează sinusul;
- cos – calculează cosinusul;
- tan – calculează tangeta;
- cot – calculează cotangenta;
- sec – calculează secanta;
- csc – calculează cosecanta.

• Funcţiile trigonometrice inverse:


- asin – calculează arcsinus;
- acos – calculează arccosinus;
- atan – calculează arctangenta;
- atan2 – calculează arctangenta dacă argumentul este
complex;
- acot – calculează arccotangenta;
- asec – calculează arcsecanta;
- acsc – calculează arccosecanta.

• Funcţiile hiperbolice directe:


- sinh – calculează sinusul hiperbolic;
- cosh – calculează cosinusul hiperbolic;
- tanh – calculează tangeta hiperbolică;
- coth – calculează cotangenta hiperbolică;
- sech – calculează secanta hiperbolică;
- csch – calculează cosecanta hiperbolică.

• Funcţiile hiperbolice inverse:


- asinh – calculează arcsinus hiperbolic;
- acosh – calculează arccosinus hiperbolic;
- atanh – calculează arctangenta hiperbolică;
- acoth – calculează arcotangenta hiperbolică;
- asech – calculează arcsecanta hiperbolică;
- acsch – calculează arccosecanta hiperbolică.

24
Pentru informaţii despre modul de utilizare al acestor funcţii
folosiţi comanda help însoţită de numele funcţiei dorite (vezi
sintaxa de la pagina 2).

1.2.11. Funţii destinate analizei de date

• sum,prod – Suma şi produsul


Sintaxe:
Dacă v este un vector şi M este o matrice atunci:

- sum(v) – calculează suma elementelor vectorului v;


- prod(v) – calculează produsul elementelor vectorului v;
- sum(M) – returnează un vector linie, având ca elemente
suma elementelor fiecărei coloane din matricea M;
- prod(M) – returnează un vector linie, având ca elemente
produsul elementelor fiecărei coloane din matricea M.

1 2 3
Se vor defini următoarele elemente: A= [ ], a=[1 3 8]
4 5 6

Să se verifice următoarele exemple:


sum(a)
sum(A)
sum(sum(A))
prod(a)
prod(A)
prod(prod(A))

• max,min – Maximul şi minimul


Sintaxe:
Dacă v este un vector şi M este o matrice atunci:
- max(v) – returnează elementul maxim al vectorului v;
- min(v) – returnează elementul minim al vectorului v;
- [m,p]=max(v) – returnează elementul maxim al
vectorului (m), precum şi indicele elementului maxim (p);
25
dacă există maxime multiple, se returnează indicele primului
dintre ele;
- [m,p]=min(v) – returnează elementul minim al
vectorului (m), precum şi indicele elementului minim (p);
dacă există minime multiple, se returnează indicele primului
dintre ele;
- max(M) – returnează un vector linie, având ca elemente
maximul elementelor din fiecare coloană a matricei M;
- min(M) – returnează un vector linie, având ca elemente
minimul elementelor din fiecare coloană a matricei M;
- [m,p]=max(M) – returnează un vector linie m, având ca
elemente maximul elementelor din fiecare coloană a matricei
M, precum şi un vector linie p ce conţine poziţia maximului
respectiv în cadrul fiecărei coloane;
- [m,p]=min(M) – returnează un vector linie m, având ca
elemente minimul elementelor din fiecare coloană a matricei
M, precum şi un vector linie p ce conţine poziţia minimului
respectiv în cadrul fiecărei coloane.

Verificaţi sintaxele anterioare, folosind matricea A şi vectorul a


definite mai sus.

• mean – Media aritmetică


Sintaxe:
Dacă v este un vector şi M este o matrice atunci:
- mean(v) – calculează media aritmetică a elementelor
vectorului v;
- mean(M) – returnează un vector linie având ca elemente
media aritmetică a elementelor fiecărei coloane din matricea
M.

Verificaţi sintaxele anterioare, folosind matricea A şi vectorul a


definite mai sus.

26
E 1.3. Exerciţiu:
Elaborați un program MATLAB care generază un vector cu
elemente complexe. Elaborați (un alt fişier) o funcţie MATLAB
care, având drept parametru de intrare vectorul cu valori
complexe, returnează ca parametri de ieşire:
- media aritmetică a părţilor reale ale elementelor vectorului;
- un vector ce conţine elementele vectorului iniţial ridicate la
pătrat;
- o matrice obţinută din înmulţirea vectorului iniţial cu
transpusul său.
Atenţie: pentru a nu se afişa rezultate intermediare din funcţie
sau elementele unor variabile se va folosi ; la sfârşitul liniei
respective de program.

1.2.12. Reprezentări grafice

• plot,stem – Reprezentări grafice în coordonate liniare


Sintaxe:
Dacă v este un vector şi M este o matrice atunci:
- plot(v) – dacă v este un vector cu elemente reale, se vor
reprezenta grafic elementele sale în funcţie de indici (primul
indice este 1, ultimul indice este egal cu lungimea vectorului);
dacă v este un vector cu elemente complexe, atunci
reprezentarea sa se va face în funcţie de partea reală (pe
abscisă) şi de partea imaginară (pe ordonată) a elementelor
sale;
- plot(M) – se vor reprezenta pe acelaşi grafic coloanele
matricei M (fiecare din coloanele matricei este privită ca un
vector şi reprezentat ca în sintaxa precedentă).
Dacă x şi y sunt doi vectori de aceeaşi lungime şi N este o matrice
de aceeaşi dimensiune cu matricea M atunci:
- plot(x,y) – se vor reprezenta grafic elementele vectorului
y în funcţie de elementele vectorului x; dacă lungimea
vectorului x nu este egală cu lungimea vectorului y,
reprezentarea nu este posibilă;
27
- plot(x,M) – dacă lungimea vectorului x este egal cu
numărul de linii al matricei M, atunci se vor reprezenta pe
acelaşi grafic coloanele matricei M în funcţie de elementele
vectorului x; dacă lungimea vectorului x este egal cu numărul
de coloane al matricei M, atunci se vor reprezenta pe acelaşi
grafic liniile matricei M în funcţie de elementele vectorului x;
dacă lungimea vectorului x nu este egală cu una din
dimensiunile matricei M, atunci reprezentarea nu este posibilă;
- plot(M,N) – se vor reprezenta pe acelaşi grafic coloanele
matricei N în funcţie de coloanele matricei M (coloana k din
matricea N va fi reprezentată funcţie de coloana k din matricea
M, unde k = 1, 2, … , numărul de coloane); dacă cele două
matrice nu au aceeaşi dimensiune, atunci reprezentarea nu
este posibilă.
Pentru reprezentarea mai multor grafice în aceeaşi fereastră
grafică, utilizând o singură comandă, folosim
- plot(x1,y1,x2,y2,...,xn,yn) - se vor reprezenta
pe acelaşi grafic y1 în funcţie de x1, y2 în funcţie de x2, …
,yn în funcţie de xn (pot fi vectori sau matrice); rămân valabile
considerentele făcute în sintaxele anterioare referitor la
cazurile când avem vectori sau matrice; dacă xi şi yi (i =1,
2,…,n) nu au aceeaşi dimensiune, atunci reprezentarea nu este
posibilă.
Atenţie: se pot folosi diverse linii, markere şi culori de
reprezentare a graficelor. Vezi help plot.

Funcţia stem realizează o reprezentare în formă “discretă” a


datelor. Pentru variantele MATLAB 5 sau MATLAB 6 se pot
folosi oricare din sintaxele prezentate la plot, exceptând ultima
sintaxă. Pentru variantele MATLAB 4 argumentele de intrare ale
funcţiei stem nu pot fi decât vectori, iar reprezentarea grafică nu
se poate face decât cu o singură culoare (se pot folosi însă mai
multe tipuri de linii şi markere).
Vezi help stem.

28
• loglog,semilogx,semilogy – Reprezentări grafice
în coordonate logaritmice
Pentru acest tip de reprezentări se folosesc funcţiile loglog,
semilogx şi semilogy. Sintaxele rămân aceleaşi ca la funcţia
plot, singura deosebire fiind modul de scalare a axelor. Astfel,
funcţia loglog scalează ambele axe (abscisa şi ordonata),
folosind logaritmul în bază 10, deci, pe axe vom avea puteri ale lui
10. Funcţia semilogx realizează acelaşi tip de scalare, însă
numai pe abscisă, iar funcţia semilogy procedează în acelaşi
mod însă numai pe ordonată.

• subplot – Divizarea ferestrei grafice


Dacă dorim ca fereastra grafică să conţină mai multe
reprezentări grafice, se poate folosi funcţia subplot care împarte
fereastra grafică în mai multe “miniferestre”, în fiecare dintre
acestea putând fi plasat câte un grafic. Fereastra grafică este astfel
privită sub forma unei matrice cu m linii şi n coloane, deci, în total
m⋅n “miniferestre”. Numărarea acestor “miniferestre” se face pe
linii. De exemplu, dacă vrem să împărţim fereastra grafică în 3⋅3
= 9 ”miniferestre” vom avea următoarea ordine:

1 2 3
4 5 6
7 8 9
Sintaxă:
- subplot(m,n,p) – împarte fereastra grafică într-o
matrice m x n (m⋅n “miniferestre”), iar p reprezintă numărul
fiecărei “miniferestre” în matricea grafică respectivă
(numărarea se face pe linii); sintaxa respectivă este urmată de
comanda propriu-zisă de afişare a graficului, care poate fi
oricare din cele prezentate până acum (stem, plot, loglog,
semilogx, semilogy).

29
• axis – Schimbarea limitelor axelor
Dacă se doreşte vizualizarea numai a unei anumite porţiuni
dintr-un grafic, corespunzătoare unor anumite intervale pe abscisă
şi ordonată, se va folosi comanda axis.
Sintaxa:
- axis([x0 x1 y0 y1]) – pe abscisa se va vizualiza între
valorile x0 şi x1, iar pe ordonată între y0 şi y1; această
sintaxă se plasează după comanda de reprezentare grafică.

• title,xlabel,ylabel,gtext,grid – Precizarea
titlului graficului şi a etichetelor axelor. Trasarea unei reţele
pe grafic. Plasarea unui text pe grafic.
Sintaxe:
- title(’text’) – plasează deasupra graficului, ca titlu,
textul text;
- xlabel(’text’) – textul text devine eticheta de pe
abscisă;
- ylabel(’text’) – textul text devine eticheta de pe
ordonată;
- grid – trasează pe grafic o reţea de linii, înlesnind astfel
citirea graficului;
- gtext(’text’) – plasează pe grafic textul text
(folosind mouse-ul). Toate aceste sintaxe urmează după
comanda de reprezentare grafică.

• hold – Suprapunerea succesivă a graficelor


Dacă dorim să reţinem graficul curent şi să adăugăm în
aceeaşi fereastră grafică următoarele reprezentări grafice se poate
folosi funcţia hold.
Sintaxă:
- hold on – reţine graficul curent şi adaugă în aceeaşi
fereastră grafică următoarele reprezentări grafice;
- hold off – dacă se doreşte în continuare reprezentarea în
ferestre grafice separate (dezactivează comanda hold on).
30
Atenţie:
Dacă se doreşte în cadrul unui program reprezentarea mai multor
grafice în ferestre separate, fiecare comandă grafică va trebui să
fie precedată de un nume de forma figure(n), unde n este
numărul figurii respective. În caz contrar, la sfârşitul execuţiei
programului va apărea numai ultima reprezentare grafică (se va
folosi o singură fereastră grafică ce va fi “ştearsă” de fiecare
dată la întâlnirea unei noi comenzi grafice).
E 1.4. Exerciţiu
Elaborați un program MATLAB în care să generaţi şi să
reprezentaţi grafic folosind funcţia stem următorii vectori:
a) z = [0,0,0,0,0,1,0,0,...,0], vectorul z, având lungimea 21.
Reprezentarea grafică se va face în două „miniferestre”
(funcția subplot), vectorul z în funcție de n=0:20, respectiv
de m=-5:15;
b) t=|10-n |, reprezentat graphic în fincție de n=0:20;
𝜋 𝜋
c) 𝑥1 = 𝑠𝑖𝑛 (17 𝑛), -15≤n≤25 și 𝑥2 = 𝑐𝑜𝑠 ( 𝑛), 0≤n≤50.
√23
Cele două secvenţe vor fi reprezentate:
- în figura 1 – în acelaşi sistem de coordonate (pe acelaşi grafic);
- în figura 2 – folosind două “miniferestre” grafice plasate una
sub alta.
Reprezentaţi cele două figure, folosind comanda plot, apoi
încercaţi reprezentarea lor, folosind comanda stem.
Cu funcţia plot se pot reprezenta grafic semnale sau funcţii
“continue”, deoarece se unesc cu linie continuă valorile care se
reprezintă. Astfel, se pot reprezenta semnale continue, alegând
variabila timp cu pasul mai mic decât variaţia semnalului
reprezentat. De exemplu, dacă perioada semnalului e 0.01 secunde
se poate alege variabila temporală cu pasul de 0.001s:
t = 0:0.001:5 (secunde).
Exemplu:
Să se reprezinte grafic cu funcţia plot un semnal sinusoidal de
frecvenţă 50 Hz, de durată 0.2 secunde şi amplitudine 2. Se va
alege rezoluţia temporală 1ms.
31
F = 50;
t = 0:0.001:0.2;
s = 2*sin(2*pi*F*t);
plot(t,s,'.-'),xlabel('Timp [s]'),grid
E 1.5. Exerciţiu:
1) Modificaţi pasul de variaţie a variabilei t la 0.01, apoi la
0.0002. Comentaţi diferenţele;
2) Măsuraţi pe grafic perioada semnalului sinusoidal în cele 3
situaţii;
3) Generaţi un semnal cosinusoidal de frecvenţă 20 Hz pe care
să-l reprezentaţi cu culoare roşie pe acelaşi grafic peste
semnalul sinusoidal.
E 1.6. Exerciţiu:
Să se genereze vectorul x conținând valorile 1, 2, 3, ..., 99,
100 și vectorul y având valorile 2, 4, 6, 8, ..., 198, 200:
a) să se reprezinte grafic y în funcție de x, folosind funcția stem;
b) să se reprezinte grafic y în funcție de x, folosind funcția plot;
c) să se reprezinte grafic în aceeași figură, în același sistem de
coordonate, y în funcție de x, folosind funcțiile plot și
stem (se vor folosi culori diferite);
d) să se reprezinte grafic în aceeași figură, în sisteme de
coordonate diferite, y în funcție de x, folosind funcția plot
și y în funcție de x, folosind funcția stem.
1.2.13. Derivare și integrare
Aproximarea derivatei unei funcţii în MATLAB se face cu
diferenţe finite (regresive, progresive sau centrate). Pentru
exprimarea formulelor diferenţelor finite, MATLAB pune la
dispoziţia utilizatorului funcţia auxiliară diff.
Funcţia MATLAB diff evaluează diferenţa elementelor
succesive ale unui vector sau coloanelor unei matrice. Sintaxa
funcţiei diff prezintă trei forme de apel:
y=diff(f)
y=diff(f,x)
y=diff(f,x,dim)
32
unde:
- f este un vector, o matrice sau o funcție reală;
- x este un întreg strict pozitiv, prin intermediul căruia se
precizează de câte ori se va apela recursiv funcţia diff;
- dim are semnificaţia de dimensiune a lui x: implicit, funcţia
diff calculează diferenţele după prima dimensiune a unei
matrice x (de exemplu, pentru o matrice bidimensională
diferenţele se determină pe coloane); specificarea unei alte
dimensiuni după care să se realizeze diferenţele se poate face prin
precizarea sa prin intermediul parametrului dim.
Fie f o funcţie reală de variabilă reală derivabilă pe intervalul
[a,b] şi {xk}k=1,2,..,n un şir strict crescător de puncte din
intervalul [a,b]. Derivata df (notaţie MATLAB) de ordinul I a
funcţiei f se poate aproxima cu diferenţe finite în modul următor,
în care x este vectorul punctelor {xk} şi y este vectorul valorilor
funcţiei f în punctele {xk}:
• în cazul utilizării diferenţelor regresive sau progresive:
df=diff(y)./diff(x)
df are lungimea cu o unitate mai mică decât vectorii x şi y.
Dacă se doreşte ca aproximarea derivatei să se facă cu
diferenţe regresive, între vectorul x şi vectorul df se va face
asocierea: x(2:n) → df, adică, aproximarea derivatei într-un
punct x(k) are valoarea df(k-1), k=2,...,n.
Dacă se doreşte ca derivata să fie aproximată cu diferenţe
progresive, între vectorii x şi df se va considera asocierea:
x(1:n-1) → df, adică, aproximarea derivatei într-un punct
x(k) are valoarea df(k), k=1,...,n-1.
• în cazul utilizării diferenţelor centrate:
dx=diff(x); dy=diff(y); k=length(dx);
df=(dy(1:k-1)+dy(2:k))./(dx(1:k-1)+dx(2:k))
Folsirea diferenţelor finite duce la obţinerea valorilor derivatei
funcţiei f în punctele şirului (cu excepţia unuia sau a ambelor
capete ale şirului).

33
Exemplu:
Fie f o funcţie reală de o variabilă reală, precizată de
următorii vectori:
x=[1 1.5 2.1 2.4 3 3.2];
y=[56 41 30 37 42 40].
Să se aproximeze derivata de ordinul I a funcţiei f în punctele
1.5, 2.1 şi 3.2, folosind diferenţe regresive.
Soluție:
% vectorii ce determina functia
x=[1 1.5 2.1 2.4 3 3.2];
y=[56 41 30 37 42 40];
% aproximarea derivatei
df=diff(y)./diff(x);
% afisarea derivatei in punctele dorite
vx=[1.5 2.1 3.2];
for i=1:length(vx)
% determinarea pozitiei pe care se afla vx(i)
in x
k=find(x==vx(i));
% afisarea derivatei cu diferente regresive
disp(['f''(' num2str(vx(i)) ') = '
num2str(df(k-1))])
end
În urma execuţiei acestei secvenţe se obţine:
f'(1.5) = -30
f'(2.1) = -18.3333
f'(3.2) = -10
Exemplu:
Să se aproximeze în punctele -2, -1, -0.5, 0.5, 1 şi 1.45
derivata de ordinul I a funcţiei f precizată de vectorul
y=[100 90 86 62 74 81] pe intervalul [-2:3]:
Soluţie: Deoarece se doreşte aproximarea derivatei funcţiei f
şi în primul punct, se va utiliza formula cu diferenţe progresive.
Această formulă va putea fi folosită pentru a calcula derivata în
punctele -2, -1 şi 1, deoarece acestea fac parte din elementele
{xi}. Pentru punctele -0.5, 0.5 şi 1.45, care nu apar în șirul de
34
valori, derivata se va aproxima prin interpolare cu funcţii spline.
Se execută următoarea secvenţă MATLAB:
% datele initiale
x=-2:3;
y=[100 90 86 62 74 81];
% aproximarea derivatei
df=diff(y)./diff(x);
% afisarea derivatei in punctele x(i) dorite
vx1=[-2 -1 1];
for i=1:length(vx1)
% determinarea pozitiei pe care se afla vx(i)
in x
k=find(x==vx1(i));
% afisarea derivatei cu diferente progresive
disp(['f''(' num2str(vx1(i)) ') = '
num2str(df(k))])
end
% afisarea derivatei in punctele -0.5, 0.5 si
1.45
vx2=[-0.5 0.5 1.45]; n=length(x);
der=spline(x(1:n-1),df,vx2);
for i=1:length(der)
disp(['f''(' num2str(vx2(i)) ')='
num2str(der(i))])
end
şi se obţin rezultatele:
f'(-2) = -10
f'(-1) = -4
f'(1) = 12
f'(-0.5)=-18.6719
f'(0.5)=-9.7344
f'(1.45)=23.3022

Exemplu:
Fie funcţia f dată prin puncte de relaţiile
𝑠𝑖𝑛(𝑥𝑖 ) 𝑖 𝜋
𝑓(𝑥𝑖 ) = 2 𝑐𝑜𝑠 ( ) , 𝑥𝑖 = 𝜋 + 𝑖 , 𝑖 = 1,2, … ,150.
𝑖 +1 𝑥𝑖 30
35
Să se reprezinte grafic derivata de ordinul I a funcţiei pe
intervalul [x2; x149], folosind diferenţe centrate.
Soluţie: Se execută următoarea secvenţă de program Matlab:
% generarea vectorilor x si y
for i=1:150
x(i)=pi+i*pi/30;
y(i)=sin(x(i))/(i^2+1)*cos(i/x(i));
end
% aproximarea derivatei cu diferente centrate
dx=diff(x); dy=diff(y); k=length(dx);
df=(dy(1:k-1)+dy(2:k))./(dx(1:k-1)+dx(2:k));
% reprezentarea grafica a derivatei
n=length(x);
plot(x(2:n-1),df)
Graficul derivatei este redat în figura 1.1.
0.16

0.14

0.12

0.1

0.08

0.06

0.04

0.02

-0.02
2 4 6 8 10 12 14 16 18 20

Fig.1.1. Graficul derivatei funcţiei

Pentru derivarea funcţiilor polinomiale, MATLAB pune la


dispoziţia utilizatorului o funcţie specială numită polyder, cu
sintaxa de apel:
dc=polyder(c)
unde:
- c reprezintă vectorul coeficienţilor funcţiei polinomiale, în
ordine descrescătoare după puterea variabilei funcţiei;
- dc reprezintă vectorul coeficienţilor funcţiei polinomiale
36
obţinute prin derivare, tot în ordine descrescătoare după puterea
variabilei funcţiei.
Observaţii:
1. Derivarea podusului a două funcţii polinomiale se poate
face tot cu funcţia MATLAB polyder, folosind sintaxa de apel:
dc=polyder(c1,c2)
c1 fiind vectorul coeficienţilor primei funcţii, iar c2 vectorul
coeficienţilor celei de a doua funcţii.
2. Funcţia polyder poate fi folosită şi pentru calculul
derivatei unei fracţii polinomiale P/Q, rezultatul fiind exprimat tot
sub forma unei fracţii polinomiale (M/N)=(P/Q)’:
[m,n]=polyder(p,q)
unde p, q, m, n sunt vectorii coeficienţilor corespunzători
polinoamelor P, Q, M, respectiv N.
Exemplu:
Fie funcţia polinomială f: f(x)=x5+7⋅x4-3⋅x2+x-1.
Să se calculeze derivata funcţiei în punctele -3, 0.2 şi 4. Să se
reprezinte grafic derivata funcţiei f pe intervalul [-4,5].
Soluţie: Se execută următoarea secvenţă de instrucţiuni
MATLAB:
% vectorul coeficientilor functiei polinomiale
c=[1 7 0 -3 1 -1];
% vectorul coeficientilor derivatei
dc=polyder(c);
% valorile derivatei in punctele -3, 0.4 si 4
vx=[-3 0.2 4];
format short g
der=polyval(dc,vx)
% reprezentarea grafica a derivatei pe [-4,5]
x=-4:0.1:5; df=polyval(dc,x);
plot(x,df)

Se obţin valorile derivatei în punctele -3, 0.4, respectiv 4:


der = -332 0.032 3049
Graficul derivatei pe intervalul [-4,5] este redat în figura 1.2

37
7000

6000

5000

4000

3000

2000

1000

-1000
-4 -3 -2 -1 0 1 2 3 4 5

Fig.1.2. Graficul derivatei funcţiei polinomiale

Pentru calculul integralelor definite prin metoda trapezelor, în


MATLAB se utilizează funcţia trapz. Această funcţie presupune
că funcţia de integrat f este precizată sub formă de valori numerice,
{yk=f(xk)},k=1,...,n, în punctele echidistante
{xk},k=1,...,n (x1=a, xn=b) ale intervalului de integrare
[a,b]. Sintaxa de apel a funcţiei trapz este:
I=trapz(x,y),
unde: - x reprezintă vectorul valorilor {xk};
- y reprezintă vectorul valorilor {yk=f(xk)};
- I reprezintă aproximarea cu metoda trapezelor a
𝑏
integralei definite ∫𝑎 𝑓(𝑥)𝑑𝑥.

Observaţie: n reprezintă aici numărul de puncte. Prin urmare,


pasul de integrare, calculat implicit, este dat de formula:
𝑏−𝑎
ℎ = 𝑛−1.
Exemplu:
6𝜋
Să se calculeze ∫𝜋+ 𝜋 𝑓(𝑥)𝑑𝑥 pentru funcția f:
30
𝑠𝑖𝑛(𝑥𝑖 ) 𝑖 𝜋
𝑓(𝑥𝑖 ) = 2 𝑐𝑜𝑠 ( ) , 𝑥𝑖 = 𝜋 + 𝑖 , 𝑖 = 1,2, … ,150.
𝑖 +1 𝑥𝑖 30

38
Soluţie: Funcţia, fiind cunoscută prin puncte, se va folosi
metoda trapezelor pentru calculul integralei cerute. Se execută
următoarea secvenţă MATLAB:
% generarea vectorilor x si y
for i=1:150
x(i)=pi+i*pi/30;
y(i)=sin(x(i))/(i^2+1)*cos(i/x(i));
end
% calculul integralei folosind metoda trapezelor
I=trapz(x,y)
Rezultând următoarea valoare a integralei:
I = -0.0025.
Funcţia MATLAB quad realizează calculul integralei
definite a unei funcţii prin metoda adaptativ-recursivă Simpson (o
variantă mai performantă a metodei lui Simpson, pasul de
parcurgere a intervalului de integrare este calculat implicit de către
funcţia MATLAB). Funcţia quad presupune că funcţia de integrat
f este cunoscută prin expresia sa analitică, y = f(x). Două
sintaxe de apel ale funcţiei quad sunt:
I=quad(nume_fisier,a,b);
I=quad(nume_fisier,a,b,precizia),
unde:
- nume_fisier reprezintă un şir de caractere ce conţine
numele fişierului-funcţie în care a fost scrisă expresia funcţiei de
integrat f;
- a şi b reprezintă limitele de integrare (capetele intervalului
[a,b] pe care se realizează integrarea);
- precizia este un argument opţional prin care se poate
modifica precizia implicită 10-6;
𝑏
- I reprezintă aproximarea integralei definite ∫𝑎 𝑓(𝑥)𝑑𝑥.
Exemplu:
𝜋
Să se calculeze integrala ∫0 ln⁡(𝑥 + 1)sin⁡(𝑥)𝑑𝑥.
Soluţie: Funcţia de integrat, având expresia cunoscută,
integrala ei va fi calculată cu ajutorul metodei lui Simpson. Se
39
defineşte expresia funcţiei de integrat într-un fişier-funcţie (de
exemplu, f.m):
function y=f(x)
y=log(x+1).*sin(x)
Pentru calculul integralei se apelează funcţia MATLAB quad:
I=quad('f',0,pi),
rezultând valoarea:
I = 1.8113.

E 1.7. Exerciţiu:
1. Fie f o funcţie reală de o variabilă reală, precizată de următorii
vectori:
x=[-2 -1.5 0 0.5 2.5 3];
y=[6 9 11 10 7 5].
Să se aproximeze derivata de ordinul I a funcţiei f în
punctele:
a) -2, 0 şi 2.5, folosind diferenţe progresive;
b) -1.5, 0 şi 3, folosind diferenţe regresive;
c) -0.75, 0.25, 0.5 şi 1, folosind diferenţe centrate.
Să se reprezinte grafic în aceeaşi fereastră grafică derivata de
ordinul I a funcţiei f, obţinută prin aproximare cu cele trei tipuri
de diferenţe finite.
2. Fie funcţia polinomială f : R → R, f(x)=x4+13⋅x3-7⋅x2+x-1.
a) Să se calculaze derivata funcţiei f pentru valorile -2, -1.3, 0.1
şi 2.45.
b) Să se reprezinte grafic derivata funcţiei f pe intervalul [-2,3].
𝜋
3. Să se calculeze ∫0 𝑓(𝑥)𝑑𝑥, unde funcţia f este dată prin
relaţiile:
𝑗∙𝑥𝑗2 2
𝑓(𝑥𝑗 ) = 𝑥 − 𝑗+1 , ⁡⁡𝑥𝑗 = −1.1 + 0.1 ∙ 𝑗,⁡⁡⁡𝑗 = 1,2, … ,11.
𝑗 −1
𝜋/2 1
4. Să se calculeze integrala ∫𝜋/3 𝑑𝑥.
sin(𝑥)+cos⁡(𝑥)

40
LUCRAREA nr. 2

FORMAREA SEMNALELOR ELEMENTARE


ÎN SISTEMUL MATLAB

Obiective: studierea posibilităților sistemului MATLAB în


modelarea diferitor forme de semnale în vederea cercetării
particularităților lor de bază.

2.1. Introducere

Se numeşte semnal o mărime fizică măsurabilă, purtătoare de


informaţie, care poate fi transmisă la distanţă, recepţionată şi/sau
prelucrată. În cele ce urmează se va aborda problema modelării
formei semnalelor, fără a ne preocupa de conţinutul în informaţie
al semnalelor.
Un semnal unidimensional, numit şi semnal 1D, este o funcţie
de timp, notată generic prin x(t), t ∈ ℜ. De regulă, mărimea fizică
variabilă, reprezentând semnalul, este o tensiune electrică. Totuşi,
în echipamentele de automatizări se utilizează şi semnale de altă
natură fizică, aşa cum sunt, de exemplu: curentul electric,
presiunea aerului instrumental, deplasarea unui corp solid. În
telecomunicaţii, semnalul 1D este întotdeauna o tensiune electrică
variabilă în timp.
Semnalele se pot aplica unor circuite sau, în general, unor
sisteme dinamice. Fie u(t) semnalul aplicat la intrarea unui sistem
şi y(t) semnalul obţinut la ieşirea acestuia, numit şi răspuns al
sistemului la semnalul de intrare (fig. 2.1). Sistemele dinamice
realizează prelucrarea semnalelor, conform cu funcţiunile realizate
de echipamentele electronice în care sunt înglobate.

u(t) y(t)
Sistem
dinamic

Fig. 2.1. Sistem dinamic


41
Exemplificăm câteva operaţii uzuale de prelucrare a
semnalelor: integrarea unui semnal, derivarea acestuia, filtrarea
(extragerea unor componente spectrale ale semnalului sau, după
caz, eliminarea componentelor parazite), modulaţia semnalelor etc.
De fapt, cele mai multe echipamente electronice sunt formate din
lanţuri de sisteme dinamice, care realizează prelucrări consecutive
ale semnalelor, conform unei „tehnologii” care determină
funcţiunile realizate de echipamentul respectiv.
Semnalele pot fi cu timp continuu şi cu timp discret. În
circuitele analogice de procesare, semnalele sunt cu timp continuu,
fiind adesea numite semnale analogice.
Semnalele numerice pot fi generate de echipamente numerice
sau se pot obţine din cele analogice prin două operaţii:
 eşantionarea semnalului, adică discretizarea timpului t cu
un pas Te, numit perioadă de eşantionare. Semnalul cu timp
discret, x(kTe ), este notat adesea cu x(k), unde k reprezintă
timpul discret, adică pasul curent de eşantionare;
 cuantizarea semnalului, adică discretizarea amplitudinii
eşantioanelor x(k). Se alege un pas de cuantizare, q, iar
rezultatul operaţiei de cuantizare este un număr întreg, N,
astfel încât produsul q⋅N să fie cât mai apropiat de
amplitudinea eşantionului cuantizat.
Cele două operaţii se realizează uzual în cadrul unui convertor
analogic/numeric (A/N). La ieşirea acestuia se obţine un şir de
valori numerice, {xk}, aferente momentelor de timp discrete k.
Acest şir reprezintă un semnal numeric. Într-un sistem numeric
(fig. 2.2), procesarea semnalului de intrare, {uk}, în vederea
obţinerii răspunsului {yk} se realizează prin mijloace software.

uk Sistem numeric yk
(realizare software)

Fig. 2.2. Sistem numeric

42
Semnalele care au o evoluţie ce nu este supusă hazardului se
numesc semnale deterministe. Alături de acestea, se întâlnesc şi
semnalele aleatoare, a căror evoluţie în timp este supusă
hazardului, aşa cum sunt perturbaţiile care afectează sistemele de
transmitere şi prelucrare a informaţiilor.
Din clasa semnalelor unidimensionale menţionăm: semnalul
vocal, semnalul radio (modulat în amplitudine sau în frecvenţă),
semnalele furnizate de traductoare ale mărimilor fizice uzuale
(temperatură, viteză ş.a.) etc.
Semnalele bidimensionale, numite şi semnale 2D, sunt, de
regulă, imagini. Fie u(x1, x2) un semnal bidimensional, în raport cu
coordonatele spaţiale x1 şi x2. Mărimea u reflectă valoarea
nivelului de gri în punctul de coordonate x1 şi x2. Ca şi în cazul
semnalelor unidimensionale, modelarea matematică a semnalelor
2D vizează facilitarea descrierii operaţiilor de prelucrare. Aceste
operaţii de prelucrare se realizează cu ajutorul sistemelor 2D
(fig. 2.3). Semnalul de ieşire din sistem, y(x1, x2), se obţine prin
aplicarea unor operaţii specifice (filtrare, extragere contur etc.)
aplicate semnalului de intrare u(x1, x2).

u ( x1 , x2 ) y ( x1 , x2 )
Sistem 2D

Fig. 2.3. Sistem 2D

Uneori este necesar să se extragă principalele proprietăţi ale


semnalelor (proprietăţile cheie) prin aplicarea, asupra acestora, a
unor algoritmi de prelucrare. Este posibil să se identifice
proprietăţile sistemului discret prin analiza semnalelor de ieşire la
aplicarea anumitor semnale de intrare ale sistemului studiat. În
acest caz, este necesar, pentru început, de a învăţa generarea unor
semnale de bază în mediul MATLAB şi de a efectua operaţii
elementare asupra lor, ceea ce determină sarcina iniţială a acestei
lucrări de laborator.
43
2.2. Formarea semnalelor impuls unitare

Funcția impuls Dirac sau funcția delta, numită și


„impuls” unitar, notată δ(x), nu este o funcție obișnuită, ci
o funcție generalizată (sau o distribuție).
Un „impuls” unitar analitic se definește astfel:
1, 𝑘 = 0,
𝛿={
0, 𝑘 ≠ 0.
Prin trecere la limită se obţine un impuls de amplitudine
infinită şi de durată nulă, notat cu δ(t). Aria impulsului este egală
cu 1 (de aceea se numeşte unitar), adică:

∫−∞ 𝛿(𝑡)𝑑𝑡 = 1,
defineşte „mărimea” impulsului.
Pentru a forma un impuls unitar, poziționat în momentul de
timp t=0, se utilizează următoarea secvență de program:
k=-1 0 : 1 0 ;
y=zeros(size(k));
y(11)=0.6;
figure; stem(k,y);
xlabel('k'); ylabel('y(k)')
0.7

0.6

0.5

0.4
y(k)

0.3

0.2

0.1

0
-10 -8 -6 -4 -2 0 2 4 6 8 10
k
Fig.2.4. Funcția „impuls” unitar
44
Impulsurile  [n  n0] pot fi folosite la construirea trenurilor
de impulsuri periodice, de amplitudine Al, perioadă P şi lungime
M*P:
𝑠[𝑛] = ∑𝑀−1
𝑙=0 𝐴𝑙 𝛿[𝑛 − 𝑙𝑃].
Următorul program generează şi reprezintă un tren periodic de
impulsuri:
P=5; M=6;
%generarea impulsului generator, de
lungime P
d=[1;zeros(P-1,1)]; y=d*ones(1,M);
%generarea trenului de impulsuri de
lungime P*M
tren=y(:);
%reprezentare grafica
n=0:M*P-1;
stem(n,tren);
xlabel('n');ylabel('Amplitudine');
title('Tren de impulsuri unitate');
axis([-2 32 0 1.2]);

Tren de impulsuri unitate

0.8
Amplitudine

0.6

0.4

0.2

0
0 5 10 15 20 25 30
n

Fig.2.5. Tren de impulsuri unitare

45
Semnalul treaptă unitară analitic se definește astfel:
1 pt. t  0
u (t )  
0 pt. t  0
În sistemul MATLAB funcția treaptă unitară poate fi formată
utilizând procedura ones.

t=-0.5:0.002:1.5;
U=[zeros(1,251),ones(1,750)];
plot(t,U);
xlabel('t,s');ylabel('Amplitudine');
title('Treapta unitara');
axis([-0.5 1.5 0 1.5]);
Treapta unitate
1.5

1
Amplitudine

0.5

0
-0.5 0 0.5 1 1.5
t,s

Fig.2.6. Semnalul treaptă unitară

Impulsul unitar dreptunghiular (rectangular) poate fi


format cu ajutorul funcției rectpuls, de forma:
y=rectpuls(t,w) - care permite a forma vectorul y al
valorilor semnalului impuls rectangular de amplitudine unitară și
durată w, centrat faţă de t=0 după vectorul dat t al momentelor de
timp. Dacă durata impulsului w nu este dată, atunci valoarea ei se
46
ia egală cu 1. În figura 2.7 se prezintă rezultatul îndeplinirii
scriptului de mai jos, care constă din trei impulsuri dreptunghiulare
consecutive de amplitudine și durată diferită.

t=0:0.01:10;
y=0.75*rectpuls(t-2.2,2)+1.4*rectpuls(t-
5.1)+0.5*rectpuls(t-8.04);
plot(t,y),grid;
xlabel('timpul(s)');ylabel('y(t)')

1.4

1.2

0.8
y(t)

0.6

0.4

0.2

0
0 1 2 3 4 5 6 7 8 9 10
timpul(s)

Fig.2.7. Impulsuri dreptunghiulare

Impulsul de formă triunghiulară și amplitudine unitară se


realizează cu ajutorul procedurii tripuls, care are forma:
y=tripuls(i,w,s). Argumentele y, t, w, au acelaşi sens
ca şi în exemplul de mai sus. Argumentul s (-1≤s≤1) determină
înclinarea triunghiului. Dacă s=0, sau dacă nu este indicat, atunci
impulsul triunghiular este simetric. Funcţia y=tripuls(t,w)
formează un impuls simetric, de amplitudine unitară și durată w,
centrat faţă de t=0. În figura 2.8 se prezintă un exemplu de
formare a unei succesiuni de semnal, alcătuită din trei impulsuri:
47
t=0:0.01:10;
y=1.1*tripuls(t-1.5,0.7,1)+1.4*tripuls(t-
5,2)+0.8*tripuls(t-8,1.5,-1);
plot(t,y); grid
xlabel('timpul(s)')
ylabel('y(t)')
1.4

1.2

0.8
y(t)

0.6

0.4

0.2

0
0 1 2 3 4 5 6 7 8 9 10
timpul(s)

Fig.2.8. Impulsuri triunghiulare


Impulsul sinusoidal modulat de funcţia Gauss se execută
prin procedura gauspuls, aceasta poate avea următoarele forme:
yi=gauspuls(t,fc,bw)
yi=gauspuls(t,fc,bw,bwr)
[yi,yq]=gauspuls(...)
[yi,yq,ye]=gauspuls(...)
tc=gauspuIs('cutoff',fc,bw,bwr,tpe)
Funcţia yi=gauspuls(t,fc,bw) formează secvenţa
eşantioanelor unui impuls, calculate în momentele de timp date de
vectorul t; fc [Hz] determină frecvenţa purtătoarei semnalului;
bw - lărgimea relativă a benzii de frecvenţă a semnalului în dB (ia
valori pozitive). Implicit, se utilizează următoarele mărimi:
fc=1000Hz şi bw=0.5 dB (bw=∆f/fc).
48
Funcţia yi=gauspuls(t,fc,bw,bwr) calculează
secvenţa eşantioanelor semnalului cu următorii parametri:
amplitudinea unitară, lăţimea relativă a benzii de frecvenţă bw,
determinată de nivelul de atenuare bwr [dB] în raport cu
amplitudinea maximală a spectrului semnalului. Parametrul bwr
trebuie să ia valori negative, deoarece determină atenuarea
necesară a funcției spectrale față de valoarea ei maximală. Implicit,
bwr=-6 dB.
Funcţia [yi,yq]=gauspuls(...) calculează doi vectori.
Vectorul yi conţine eşantioanele semnalului iniţial, iar vectorul yq
conţine eşantioanele semnalului cu un defazaj de 900 față de cel
inițial.
Funcţia [yi,yq,ye]=gauspuls(...) calculează
adăugător semnalul ye, ce reprezintă anvelopa impulsului.
Funcţia tc=gauspuls('cutoff,fc,bw,bwr,tpe)
calculează timpul tc, corespunzător momentului de timp în care
amplitudinea semnalului scade până la tpe [dB] față de valoarea
maximală. Mărimea tpe trebuie să ia valori negative, deoarece
setează atenuarea necesară a înfășuratoarei în raport cu nivelul ei
maximal. Implicit tpe=-60dB.
Construim curba impulsului Gaussian cu frecvenţa purtătoarei
50 kHz şi banda relativă de frecvenţă 60%, considerând pasul de
calcul 1 MHz. Pentru calculul şi construcţia impulsului se
utilizează intervalul de timp, pe durata căruia amplitudinea
impulsului se micşorează până la nivelul -40 dB în raport cu
valoarea lui maximală.
tc = gauspuls('cutoff', 50e3, 0.6, [], -40);
t = -tc:1e-6:tc;
yi = gauspuls(t,50e3,0.6);
plot(t,yi);
grid on
xlabel('timpul(s)')
ylabel('yi(t)')

49
1

0.8

0.6

0.4

0.2
yi(t)

-0.2

-0.4

-0.6

-0.8
-4 -3 -2 -1 0 1 2 3 4
timpul(s) -5
x 10

Fig. 2.9. Impuls Gaussian

Procedura sinc permite de a calcula valoarea funcţiei


sinc(t) față de elementele vectorului sau matricei de intrare.
Funcția este determinată de următoarea expresie:
1, 𝑡 = 0,
𝑠𝑖𝑛𝑐(𝑡) = {sin⁡(𝜋𝑡)
, 𝑡 ≠ 0.
𝜋𝑡
Această funcție reprezintă o transformare inversă Fourier a
impulsului dreptunghiular de amplitudine unitară şi durată 2π:
𝜋
1
𝑠𝑖𝑛𝑐(𝑡) = ∫ 𝑒 𝑗𝜔𝑡 𝑑𝜔.
2𝜋
−𝜋
Exemplu:

t=0:0.01:40;
yi=1.9*sinc(pi*(t-20)/5);
plot(t,yi); grid;
xlabel('timpul(s)');
ylabel('yi(t)')

50
2

1.5

1
yi(t)

0.5

-0.5
0 5 10 15 20 25 30 35 40
timpul(s)

Fig. 2.10. Funcția sinc(t)

2.3. Formarea oscilațiilor periodice

Semnalele armonice și poliarmonice pot fi generate în


MATLAB cu ajutorul operatorilor trigonometrici sin(x) şi cos(x).
Expresia analitică a semnalului sinusoidal este:
x(t)  A sin(0 t  0).
Considerând că x(t) descrie un semnal electric (tensiune sau
curent), parametrii ce-l definesc sunt următorii:
 A – amplitudinea semnalului [V] sau [A].
Observaţie: valoarea efectivă a semnalului este definită astfel:
√2
𝐴𝑒𝑓 = 𝐴 ≈ 0,707⁡𝐴;
2
  =(0 t  0) – faza [rad];
 0 - pulsaţia [rad/s].
Cum 0(2)/T=2f, se pot pune în evidenţă alţi doi
parametri:
 f - frecvenţa semnalului [Hz];
 T – perioada semnalului [s]. Observaţie: f  1/T;
 0 - faza iniţială [rad].
51
Scriptul pentru generarea semnalului sinusoidal:
clf;
t=0:0.1:40;
f=0.1;
phase=0;
A=1.5;
arg=2*pi*f*t-phase;
x=A*cos(arg);
plot(t,x);
axis([0 40 -2 2]);
grid;
title('Sinusoida');
xlabel('Timpul t');
ylabel('Amplitudinea');
axis;
Sinusoida
2

1.5

0.5
Amplitudinea

-0.5

-1

-1.5

-2
0 5 10 15 20 25 30 35 40
Timpul t

Fig. 2.11. Semnal sinusoidal

Formarea unui semnal poliarmonic în intervalul de timp


0≤t≤1s care constă din suma unei oscilaţii armonice cu
amplitudinea de 1V şi frecvenţa 50Hz și a unei oscilaţii cu
amplitudinea de 2V şi frecvenţa de 120Hz, afectat de un semnal de

52
zgomot cu distribuție normală, valoarea medie zero şi varianța
0.5V, folosind o frecvenţă de discretizare de 1000Hz, adică
intervalul de discretizare T=0.001s.
Setul de comenzi necesar pentru crearea unui astfel de semnal
este următorul:

t=0:0.001:1;
y=sin(2*pi*50*t)+2*sin(2*pi*120*t);
randn('state',0);
yn=y+0.5*randn(size(t));
plot(t(1:50), yn(1:50));grid

-1

-2

-3
0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.05

Fig.2.12. Semnal poliarmonic afectat de zgomot

Generarea unei secvenţe periodice de impulsuri


dreptunghiulare se efectuează cu ajutorul procedurii square.
Adresarea către ea are forma:
y=square(t);
y=square(t,duty).
Funcţia square(t) formează oscilaţii dreptunghiulare de
perioadă 2π şi amplitudine ±1.

53
Funcţia y=square(w*t,duty) formează o secvenţă de
impulsuri dreptunghiulare cu durata semiundei pozitive,
determinată de parametrul duty (coeficient de umplere) în
procente față de perioadă și frecvența unghiulară determinată de
parametrul w. De regulă se ia duty=50.
t=-20:0.1:20;
y=square(t,50);
plot(t,y);
axis([min(t),max(t),-1.5,1.5]),grid
1.5

0.5

-0.5

-1

-1.5
-20 -15 -10 -5 0 5 10 15 20

Fig.2.13. Secvenţă periodică de impulsuri rectangulare


Formarea semnalelor "dinte de ferestrău" şi triunghiulare
de amplitudine ±1 şi perioadă 2π se efectuează prin procedura
sawtooth:
Funcţia x=sawtooth(t) formează semnalul de forma
"dinte de ferestrău", care ia valoarea -l în momentele de timp
multiple cu 2π şi crescând liniar pe intervalul 2π cu panta 1/π.
Funcţia x=sawtooth(t,width) formează semnalul "dinte
de ferestrău" modificat. Parametrul width ia valori în limitele de
la 0 la 1 şi determină o parte a perioadei în care semnalul creşte.
Semnalul creşte de la -l până la 1, pe intervalul de la 0 până la
54
2π*width, iar pe urmă scade de la 1 până la -l pe intervalul de la
2π*width până la 2π. Dacă width=0.5, atunci se formează o
undă simetrică.
Funcţia sawtooth(w*t) formează semnalul de forma
"dinte de ferestrău" cu frecvența unghiulară determinată de
parametrul w. Prezentăm un exemplu de generare a unui semnal de
tip „dinte de ferestrău" pe intervalul 0-6π (fig. 2.14):
t=0:0.1:6*pi;
x=sawtooth(t);
plot(t,x); grid
1

0.8

0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8

-1
0 2 4 6 8 10 12 14 16 18 20

Fig.2.14. Secvență periodică de impulsuri "dinte de ferestrău"


Procedura pulstran permite a forma oscilaţii care sunt
secvenţe ale impulsurilor rectangulare, triunghiulare sau gaussiene.
Adresarea către ea are forma:
y=pulstran(t,d,'func');
y=pulstran(t,d,'func',p1,p2,...);
y=pulstran(t,d,p,Fs);
y=pulstran(t,d,p).
Aici parametrul d determină valoarea vectorului momentelor
de timp corespunzătoare axei de simetrie a impulsurilor;
parametrul func determină forma impulsului şi poate avea una
55
din următoarele sensuri: rectpuls (pentru impuls dreptunghiular),
tripuls (pentru impuls triunghiular), gauspuls (sinusoidă modulată
cu funcţia Gauss). Semnalul de ieşire y se calculează pentru
valorile argumentului, date de vectorul t, după formula:
y=func(t-d(1))+func(t-d(2))+... Numărul impulsurilor în
diapazonul dat al argumentelor este length(d). Parametrii p1, p2...
determină parametrii necesari ai impulsului în funcție de forma de
adresare către procedura, care determină acest impuls.
Funcţia y=pulstran(t,d,p,Fs) permite a determina
impulsul cu secvenţa eşantioanelor date în vectorul p. Frecvenţa de
discretizare este dată de parametrul Fs. La folosirea funcţiei
y=pulstran(t,d,p), frecvenţa de discretizare se ia egală cu
1Hz. Mai jos sunt prezentate trei exemple de utilizare a procedurii
pulstran:
Pentru o succesiune de impulsuri dreptunghiulare:
t=0:0.01:50;
d=[0:10:50];
y=0.6*pulstran(t,d,'rectpuls',5);
plot(t,y), grid
0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
0 5 10 15 20 25 30 35 40 45 50

Fig. 2.15. Utilizarea funcţiei pulstran


în cazul impulsurilor dreptunghiulare
56
Pentru o succesiune de impulsuri triunghiulare:
t=0:0.01:50;
d=[0:10:50];
yl=0.8*pulstran(t,d,'tripuls',5);
plot(t,yl),
grid

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
0 5 10 15 20 25 30 35 40 45 50

Fig. 2.16. Utilizarea funcţiei pulstran


pentru o succesiune periodică de impulsuri triunghiulare

Pentru o succesiune periodică de impulsuri gaussiene:

t=0:0.01:50;
d=[0:10:50];
y2=0.7*pulstran(t,d,'gauspuls',1,0.5);
plot(t,y2),
grid

57
0.8

0.6

0.4

0.2

-0.2

-0.4

-0.6
0 5 10 15 20 25 30 35 40 45 50

Fig. 2.17. Utilizarea funcţiei pulstran


pentru o succesiune periodică de impulsuri gaussiene.

O cosinusoidă, frecvenţa căreia variază liniar în timp, se


generează cu ajutorul procedurii chirp:
y=chirp(t,f0,t1,f1).

Aceasta formează eşantioanele semnalului cosinusoidal,


frecvenţa căruia crește liniar pentru momentele de timp date de
vectorul t; f0 - frecvenţa instantanee în momentul de timp t=0; f1
- frecvenţa instantanee în momentul de timp t=l. Frecvenţele f0 şi
f1 se dau în Hz. De exemplu, pentru f0=0, t1=l, f1=100, utilizăm
următorul script:

t=0:0.001:1;
y=0.8*chirp(t);
plot(t,y);
grid

58
0.8

0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Fig. 2.18. Formarea unei cosinusoide cu frecvenţa variabilă în timp

2.4. Formarea semnalelor exponențiale

Unul dintre principalele tipuri de semnale elementare este


semnalul exponeţial. Acest semnal poate fi generat cu ajutorul
următorilor operatori MATLAB: .^ şi exp.
Funcția v=exp(Z) calculează exponenta mărimilor
elementelor vectorului Z. Pentru mărimi complexe z=x+iy este
adevărată expresia Euler:
ez=ex(cos(y)+i sin(y)),
care reprezintă un semnal cosinusoidal, amplitudinea căruia
variază după o exponentă.
Dacă elementele vectorului Z sunt mărimi reale, atunci se
obține un semnal exponențial.
Calculul valorilor exponențiale ale elementelor unei matrice Z
se realizează cu ajutorul unei funcții speciale expm(Z).
Generarea unui semnal exponenţial complex poate fi efectuată
cu ajutorul următorului script:
59
clf;
c=-(1/12)+i*(pi/6);
K=2;
t=0:0.1:40;
x=K*exp(c*t);
subplot(2,1,1);
plot(t,real(x));
xlabel('Timpul t');
ylabel('Amplitudinea');
title('Partea reala'); grid;
subplot(2,1,2);
plot(t,imag(x));
xlabel('Timpul t');
ylabel('Amplitudinea');
title('Partea imaginara'); grid
Partea reala
2

1
Amplitudinea

-1

-2
0 5 10 15 20 25 30 35 40
Timpul t
Partea imaginara
2
Amplitudinea

-1
0 5 10 15 20 25 30 35 40
Timpul t
Fig. 2.19. Semnal exponenţial complex

60
Un semnal sinusoidal, variind exponențial, poate fi realizat
și în urma utilizării următoarei funcții analitice:

y=ext sin(0 t  0).

Exemplu:
t=0:0.001:1.223;
T=0.001;
k=101:1224;
Z=zeros(1,100);
x=[Z,exp(-(k*T-0.1)/0.2).*sin(2*pi*(k*T-
0.1)/0.16)];
plot(t,x); grid on;
title('Proces tranzitoriu');
xlabel('Time(s)');
ylabel('Amplitudine')
Proces tranzitoriu
1

0.8

0.6

0.4
Amplitudine

0.2

-0.2

-0.4

-0.6
0 0.2 0.4 0.6 0.8 1 1.2 1.4
Time(s)

Fig. 2.20. Semnal sinusoidal variind exponențial

O secvență exponențială definită real se descrie prin


următoarea funcție analitică y=kax.

61
Exemplu:
clf;
t = -10:10;
a = 1.2;
K = 2;
x = K*a.^t;
plot(t,x);
title('Secventa exponentiala reala');
xlabel('n');ylabel('Amplitudine');
grid
Secventa exponentiala reala
14

12

10
Amplitudine

0
-10 -8 -6 -4 -2 0 2 4 6 8 10
n
Fig. 2.21. Secvență exponențială reală

E 2.1. Exerciţii:

1. Să se genereze şi să se reprezinte următoarele secvenţe.


x1[n]=0.8 δ[n], -15≤n≤15
x2[n]=0.9 δ [n-5], 1≤n≤20
x3[n]=1.5 δ [n-333], 300≤n≤350
x4[n]=4.9 δ [n+7], -10≤n≤0
x5[n]=4 u[n], -10≤n≤10

62
x6[n]=1.4 u[n-7], -5≤n≤20
x7[n]=2.3 u[n+5], -15≤n≤10
Pentru trei cazuri să se construiască un tren de impulsuri unitare
periodice.
2. Să se genereze în MATLAB următorul semnal sinusoidal.

3. Să se genereze în MATLAB următorul semnal dreptunghiular.

4. Să se genereze în MATLAB următorul semnal triunghiular.

5. Să se creeze în intervalul 0s≤t≤256s o oscilaţie armonică cu


amplitudinea unitate, perioada T=50 sec și faza inițială 𝜋/3.

63
6. Să se creeze în intervalul 0s≤t≤ls următoarele semnale
exponenţiale:
a) 5exp(-6t);
b) exp(5t),
folosind frecvenţa rezoluției temporale fd=1000Hz.
7. Să se creeze în intervalul -10s≤t≤10s un impuls exponenţial
descris de următoarea expresie x(t)=Brt, unde B=l, r=0.8.
8. Să se creeze în intervalul -10s≤t≤10s un semnal sinusoidal dat
de expresia:
2𝜋
𝑥(𝑡) = 2𝑠𝑖𝑛 ( 𝑡).
12
9. Să se creeze un semnal sinusoidal atenuat, pe baza înmulţirii
exponentei atenuatoare formate în punctul 7 şi a semnalului
sinusoidal creat în punctul 8, ambele obținute pentru intervalul -
10s≤t≤10s.
10. Să se creeze un impuls dreptunghiular de amplitudine unitate şi
durata 1s, amplasat simetric față de originea de coordonate t=0
(-0.5s≤𝜏≤0.5s) descris în intervalul de timp -1s≤t≤1s, utilizând
rezoluția temporală t=2ms.
Sugestie: impulsul dreptunghiular poate fi creat cu ajutorul
diferenţei a două funcţii de tip "treaptă unitară" deplasate în
timp cu un interval egal cu durata impulsului.
11. A forma o succesiune periodică de impulsuri dreptunghiulare
cu amplitudinea A=±l, viteza unghiulară ω=π/4 și coeficientul
de umplere 30% în intervalul -10s≤t≤10s.
12. Pe intervalul -10s≤t≤10s să se reprezinte grafic în aceeași
figură, în sisteme de coordonate diferite un semnal exponenţial
complex x(t)=exp((-0.1+j0.3)t).

64
LUCRAREA nr. 3

ANALIZA SPECTRALĂ A SEMNALELOR

Obiective: analiza spectrală a semnalelor periodice prin


dezvoltare în serie Fourier şi a semnalelor neperiodice prin
aplicarea transformatei Fourier.

3.1. Introducere

Pentru a înțelege cât mai bine modul în care circuitele


electronice prelucrează semnalele electrice (de tensiune sau de
curent), este importantă în primul rând studierea semnalelor.
Studierea semnalelor în domeniul timp, de exemplu cu ajutorul
osciloscopului, poate fi completată cu o metodă absolut diferită:
studiul în domeniul frecvențelor (analiza spectrală). Studiul în
frecvenţă a semnalelor și circuitelor s-a dovedit a fi o abordare
foarte productivă în electronică și automatizări. Metoda are ca
punct de pornire constatarea că semnalele periodice pot fi
descompuse în sume de componente armonice cu ajutorul
dezvoltării în serie Fourier.

3.2. Semnale periodice. Serii Fourier

Semnale periodice sunt acele semnale pentru care

𝑥(𝑡) = 𝑥(𝑡 + 𝑘𝑇), (∀)⁡𝑡 ∈ 𝑅,

unde k este un număr natural: k=0, 1, 2, …, iar T reprezintă


perioada semnalului.
Un semnal periodic x(t) de perioadă T poate fi dezvoltat în
serie Fourier dacă satisface condițiile lui Dirichlet: să fie uniform,
finit și să aibă un număr finit de discontinuități și de maxime pe
durata unei perioade.
Seria Fourier are următoarele forme.
65
Forma trigonometrică
𝑎
𝑥(𝑡) = 20 + ∑∞
𝑛=1[𝑎𝑛 cos⁡(𝑛𝜔0 𝑡) + 𝑏𝑛 sin⁡(𝑛𝜔0 𝑡)], (3.1)
1 0
unde f 0   reprezintă frecvenţa de repetiţie a semnalului
T 2
periodic (frecvenţa fundamentală).
Frecvența de repetiție a unui semnal constituit dintr-o sumă de
semnale sinusoidale se determină ca cel mai mic divizor comun al
frecvențelor componentelor sinusoidale.
Coificienții a0 , an , bn se calculează prin relațiile
𝑡 +𝑇
𝑎0 = ∫𝑡 0 𝑥(𝑡)𝑑𝑡; (3.2)
0
2 𝑡 +𝑇
𝑎𝑛 = 𝑇 ∫𝑡 0 𝑥(𝑡)cos⁡(𝑛𝜔0 𝑡)𝑑𝑡; (3.3)
0
2 𝑡 +𝑇
𝑏𝑛 = 𝑇 ∫𝑡 0 𝑥(𝑡)sin⁡(𝑛𝜔0 𝑡)𝑑𝑡. (3.4)
0

Forma armonică Este o formă mai compactă, utilizând numai


funcţii cosinusoidale:
𝑎
𝑥(𝑡) = 20 + ∑∞𝑛=1 𝐴𝑛 cos⁡(𝑛𝜔0 𝑡 + 𝜑𝑛 ); (3.5)
b
An  an2  bn2 ;  n  arctg n . (3.6)
an
Deci, seria Fourier armonică dă o descompunere a semnalului
periodic x(t) într-o sumă de semnale cosinusoidale ale căror
frecvenţe sunt multipli frecvenţei de repetiţie a semnalului
periodic. Aceste componente se mai numesc armonici.

Forma complexă sau exponenţială



x(t )   Cne jn t ; 0 (3.7)
n  
t0 T
1
 x(t ) e
 jn0t
Cn  dt . (3.8)
T t0

Coeficienţii C n sunt mărimi complexe şi, deci, pot fi


reprezentaţi prin modul şi fază:
66
C n  C ( n  0 )  C n e j n . (3.9)
Relaţiile de legătură dintre coeficienţii C n şi coeficienţii
seriilor trigonometrică şi armonică sunt:
a  jbn
C n  C ( n 0 )  n ;
2
a  jbn
C  n  C (  n 0 )  n ; (3.10)
2
A a
Cn  C n  n ; C 0  0 ;
2 2
bn
 n  n   arctg .
an
Alegerea limitelor de integrare în evaluarea coeficienţilor
seriilor Fourier este arbitrară, esenţial este ca integrarea să se se
facă pe durata unei perioade (de la  T / 2 la T / 2 sau de la 0 la T
etc.). Pentru semnale pare seria trigonometrică coincide cu cea
armonică, deoarece bn  0 . Pentru semnale impare, respectiv
a0  an  0 .
Caracterizarea în domeniul frecvenţă a semnalului periodic se
face prin reprezentarea spectrelor de amplitudini şi faze. Se pot
reprezenta fie diagramele spectrale asociate seriei armonice,
An (n0 ) şi n (n0 ) , fie diagramele spectrale asociate seriei
complexe, C n ( n 0 ) şi n (n0 ) . Deoarece semnalele periodice
sunt exprimate prin sume discrete de semnale elementare, rezultă
că spectrele de amplitudini şi faze vor fi discrete. La spectrele
asociate seriei armonice, liniile spectrale vor fi localizate la
frecvenţele: 0, 0 , 20 , 30 , ... etc., în timp ce la spectrele
asociate seriei exponenţiale liniile spectrale vor fi localizate la
0,  0 ,  20 ,  30 , ... Semnificaţia frecvenţelor negative
rezultă din funcţia:
2𝐴cos(𝜔𝑡) = 𝐴𝑒 𝑗𝜔𝑡 + 𝐴𝑒 −𝑗𝜔𝑡 .
Două componente exponenţiale, localizate simentric faţă de
67
axa ordonatelor, se însumează şi dau o componentă cosinusoidală
de frecvenţă pozitivă. În figura 3.1 sunt reprezentate diagramele
spectrale de amplitudine ale semnalului periodic x(t), determinate
în conformitate cu a) SFA şi b) SFC.

Fig.3.1. Diagramele spectrale de amplitudine


ale semnalului x(t) - a) SFA, b) SFC

Teoretic, spectrele semnalelor periodice se întind de la f  0


la f   . Practic, spectrele sunt limitate din cauza descreşterii
amplitudinilor componentelor, ceea ce permite limitarea seriei la
un termen, începând cu care amplitudinea componentelor este
neglijabilă. Trunchierea seriei la un anumit termen depinde de
cerinţele impuse tipului de comunicaţie care utilizează semnalul
respectiv. Prin urmare, analiza spectrală a unui semnal permite a
stabili lăţimea benzii de frecvenţe efectiv ocupată de semnal.
68
3.3. Semnale neperiodice. Transformata Fourier

Din analiza formei spectrului semnalului periodic în funcție de


perioada sa T, se observă că pe măsură ce T crește, componentele
din spectrul semnalului se “îndesesc”. Acest lucru este natural,
întrucât creșterea lui T este echivalentă cu scăderea frecvenței
fundamentale 𝜔0 =2π/T, deci, cu scăderea intervalului de frecvențe
dintre două componente successive. Evident, la limită, când T→
∞, componentele frecvențiale se “contopesc”, iar spectrul
semnalului devine de natură continuă. Astfel, trecerea la limită,
când T   , aduce relația (3.8) la forma:

 jt
F{x(t )}  X ( )   x(t )e dt , (3.11)

cunoscută ca transformata Fourier directă în timp continuu a sem-
nalului x(t), de data aceasta neperiodic. Integrala este convergentă
dacă semnalul satisface condițiile Dirichlet pe orice interval finit.
Există și transformarea Fourier inversă, analogă seriilor
Fourier pentru semnalele periodice (3.7):

1
1
F { X ( )}  x(t )   X ( )e jt d , (3.12)
2  
care reconstituie semnalul în domeniul timp x(t), din exprimarea
lui absolută, echivalentă informațional, din domeniul frecvențelor
X ( ) .
Atât pentru semnalele periodice, cât și pentru cele neperiodice,
prin tratarea Fourier se obțin spectrele semnalelor, care sunt
proiecții ale acestor semnale pe baze în spațiul semnalelor alcătuite
din sinusoide.
Este important, pentru înțelegerea noțiunilor, să observăm
similitudinile și diferențele dintre relațiile (3.11) și (3.12) și cele
care descriu descompunerea în serie Fourier complexă a unui
semnal periodic, respectiv (3.7) și (3.8). Se observă că semnificația
valorilor X ( ) este similară cu cea a coeficienților Cn, cu singura
diferență că, în cazul transformatei Fourier, numărul de
69
cosinusoide în care se descompune semnalul devine infinit
nenumărabil. În rest, semnificația valorilor X ( ) este aceeași -
modulul | X ( ) | și faza φ(ω) ale cantității complexe
X(ω) = |X(ω)| exp(jφ(ω)) (3.13)
sunt amplitudinea, respectiv faza cosinusoidei de frecvență ω ce
intră în descompunerea spectrală a semnalului x(t). Într-adevăr,
observând că, în ipoteza unui semnal x(t) cu valori reale, valorile
transformatei Fourier situate simetric față de 0 sunt complex
conjugate:
|𝑋(−𝜔)| = |𝑋(𝜔)|,
𝑋(−𝜔) = 𝑋 ∗ (𝜔) ⁡ ↔ ⁡ { (3.14)
𝜑(−𝜔) = −𝜑(𝜔).
Transformata Fourier în timp discret (DTFT – Discrete Time
Fourier Transform) a unei secvenţe x[n] este dată prin relaţia:
𝑋(𝑒 𝑗𝜔 ) = ∑𝑛 𝑥[𝑛]𝑒 −𝑗𝜔𝑛 , (3.15)
unde ω este pulsaţia normată:
𝐹
𝜔 = 2𝜋 𝐹 ,
𝑠
F este frecvenţa nenormată (exprimată în Hz), iar FS - frecvenţa de
eşantionare.
Similar, frecvenţa normată este:
𝐹
𝑓 =𝐹.
𝑠
Funcţia 𝑋(𝑒 𝑗𝜔 ) este periodică de perioadă 2π. Deci, este
suficient să cunoaştem comportarea sa în intervalul [-π, π)
(interval de bază). Datorită faptului că această funcţie este
continuă, variabila ω putând lua o infinitate de valori, nu este
posibilă o implementare pe o maşină de calcul.
Pentru a realiza totuşi o analiză în frecvenţă se utilizează
transformata Fourier discretă TFD (DFT – Discret Fourier
Transform), obţinută prin discretizarea variabilei ω pe intervalul
[0, 2π) în N puncte:
𝑘
𝜔𝑘 = 2𝜋 𝑁 , 𝑘 = 0, 1, … , 𝑁 − 1⁡.
Astfel, transformata Fourier discretă a unei secvenţe x[n] este
dată de relaţia:

70
2𝜋
𝑋(𝑘) = ∑𝑛 𝑥[𝑛] 𝑒 −𝑗 𝑁 𝑘𝑛 . (3.16)
Există și TFD inversă, care permite a determina valorile
eșantioanelor 𝑥[𝑛] din valorile coeficienților 𝑋(𝑘):
2𝜋
𝑥[𝑛] = ∑𝑛 𝑋(𝑘) 𝑒 𝑗 𝑁 𝑘𝑛 . (3.17)
În figură 3.2 se reprezintă spectrul unui semnal în funcţie de
pulsaţie sau frecvenţă normată şi corespondenţa cu frecvenţa
analogică. De asemenea, se observă corespondenţa dintre
componentele spectrale de indice k calculate cu TFD şi spectrul
reprezentat în pulsaţii normate.

Fig.3.2. Spectrul unui semnal determinat în baza transformatei Fourier


analogice în timp discret și a transformatei Fourier discrete

71
În MATLAB, pentru calculul transformatei Fourier discrete se
foloseşte funcţia fft. Denumirea sa reprezintă prescurtarea de la
Fast Fourier Transform (transformata Fourier rapidă) şi că
folosește pentru calcul un algoritm rapid.

Sintaxe:
y = fft(x)
 dacă x este un vector, se returnează un vector y de aceeaşi
dimensiune cu vectorul x ce conţine valorile transformatei
Fourier discrete aplicată elementelor vectorului x; lungimea
transformatei Fourier (numărul de puncte N în care se
calculează transformata) este egală în acest caz cu lungimea
vectorului x;
 dacă x este o matrice se va returna matricea y de aceeaşi
dimensiune cu matricea x; coloana i din matricea y va
conţine valorile transformatei Fourier discrete aplicată
elementelor coloanei i din matricea x.
y = fft(x,N)
 aceleaşi considerente ca în sintaxa precedentă cu deosebirea
că în acest caz se specifică şi numărul de puncte N în care se
calculează transformata. Dacă length(x)<n, elementele
masivului x se completează cu zerouri. Dacă
lenglh(x)>n, elementele în plus se şterg.
x = ifft(y)
 calculează transformata Fourier inversă consecutivităţii date
în vectorul y. Dacă y este matrice, atunci fiecare coloană se
transformă separat.
x = ifft(y,N)
 efectuează transformata Fourier inversă din N puncte. Dacă
length(y)<N, elementele ce lipsesc ale masivului se
completează cu zerouri. Dacă length(y)>N, elementele
de prisos se elimină.
y = fftshift(x)
 efectuează regruparea masivului de ieşire al transformatei
72
Fourier pentru construirea graficelor speclrelor semnalelor în
formă obişnuită, cu deplasarea frecvenţei nule în centrul
spectrului.

Pentru a folosi procedura fft cu scopul de a obţine


prezentarea semnalului în domeniul frecvenţă, reieşind din
reprezentarea lui în domeniul timp, este necesar a efectua următorii
pași:
1. După valoarea aleasă a perioadei de eșantionare Ts, să se
calculeze mărimea Fmax a gamei de frecvenţe (în Hz) conform
formulei:
Fmax=1 / Ts.
2. În conformitate cu durata procesului T, să se calculeze df după
formula:
df=l/T.
3. După valorile calculate să se formeze vectorul valorilor
frecvenţelor în care se va calcula imaginea Fourier, de
exemplu:
f=0:df:Fmax
Ca rezultat al utilizării procedurii fft se va obţine valoarea
vectorului yk, adică TFD a succesiunii xn dată în domeniul
timp.
Pentru a obţine spectrul semnalelor în formă obişnuită, cu
deplasarea frecvenţei nule în centrul spectrului, este necesar a mai
efectua următorii paşi:
1. Rezultatele acţiunii procedurii fft se înmulţesc cu factorul Ts şi
se supun acţiunii procedurii fftshift, care schimbă cu
locurile prima şi a doua jumătate a vectorului obţinut.
2. Vectorul frecvenţelor se reconstruieşte după algoritmul:
f=-Fmax/2:df:Fmax/2.

Afişarea graficelor spectrelor discrete ale semnalelor


periodice se recomandă a fi efectuată cu comanda stem, iar a
spectrelor continue ale semnalelor neperiodice cu comanda plot.

73
3.4. Spectrele semnalelor periodice

Exemplul 3.1:
Se propune descompunerea unui semnal periodic s(t) în serie
Fourier armonică. Se vor analiza mai multe semnale:
 semnale armonice și combinații liniare de semnale
armonice:
 semnale dreptunghiulare;
 semnale de tip „dinte de ferestrău”.
La execuţie, programul cere următoarele argumente: T -
perioada, N - numărul de armonici pentru aproximare, precum şi
tipul semnalului s(t): sinusoidal, dreptunghiular sau „dinte de
ferestrău”. Timpul este modelat printr-un vector de dimensiunea
1024.
Rezultatele se obțin prin intermediul a patru diagrame:
 semnalul s(t);
 descompunerea în armonici;
 fazele fiecărei armonici;
 recompunerea semnalului s(t) prin însumarea armonicilor
calculate. Această diagramă permite compararea semnalului
recompus cu cel inițial și validarea rezultatelor obținute.

%Descompunerea unui semnal periodic s(t) in


serie Fourier:
%T=perioada [sec], N=nr. de armonici
T = input('Setati perioada T [sec]: ');
N = input('Setati nr. de armonici: ');
tip = input('Alegeti tipul semnalului (sin[s],
dreptunghiular[d], sau ferestrau[f]): ', 's');
W=2*pi/T; %pulsatia fundamentala
t=0:T/1022:T+T/1022;
if strcmp(tip,'s')
s=sin(W*t); % semnal s(t) sinusoidal
else
for j=1:1024
if strcmp(tip,'d')
74
if j<512 %semnal dreptunghiular
s(j)=1;
else
s(j)=-1;
end
elseif strcmp(tip,'f')
%semnal dinte de ferestrau
s(j)=j/500-1;
end
end
end
%valoarea medie
val_medie=trapz(t,s)/T;
%valoarea efectiva
val_efectiva=sqrt(trapz(t,s.^2)/T);
timp=t-T/2;
for i=1:N
%primii N coef. trigonometrici
a(i)=2*trapz(t,s.*cos(i*W*t))/T;
b(i)=2*trapz(t,s.*sin(i*W*t))/T;
%coeficientii formei armonice
A(i)=sqrt(a(i)^2+b(i)^2);
%defazajele formei armonice
F(i)=atan2(b(i),a(i));
f(i)=i/T;
end
r=val_medie;
for j=1:N
r=r+A(j)*cos(j*W*t-F(j));
end
subplot(223); plot(t,r);
title('semnalul reconstruit (verificare)');
xlabel('t [sec]');
axis([min(t) max(t) (min(r)-0.02*(max(r)-
min(r))) (max(r)+0.02*(max(r)-min(r)))]);
grid;
subplot(221); plot(t,s);
title('semnalul s(t)'); xlabel('t [sec]'); grid;

75
axis([min(t) max(t) (min(r)-0.02*(max(r)-
min(r))) (max(r)+0.02*(max(r)-min(r)))]);
subplot(222); stem(f,A);
title('Armonicile A(n)*cos[n*2*pi*f*t-Fi(n)]');
xlabel('f [Hz]'); grid;
subplot(224); stem(f,F/(pi));
title('defazajele Fi(f)'); xlabel('f [Hz]');
ylabel('x pi [rad]');
grid;
Pentru exemplificarea execuției programului au fost construite
reprezentările grafice pentru semnalul exprimat printr-o succesiune
de impulsuri dreptunghiulare de perioadă T=7s, aproximat prin 20
armonici (fig. 3.3).
semnalul s(t) Armonicile A(n)*cos[n*2*pi*f*t-Fi(n)]
1.5
1

0.5 1
0

-0.5 0.5

-1
0
0 2 4 6 0 1 2 3
t [sec] f [Hz]
semnalul reconstruit (verificare) defazajele Fi(f)
0.5
1

0.5
x pi [rad]

0
0

-0.5 -0.5

-1
-1
0 2 4 6 0 1 2 3
t [sec] f [Hz]
Fig.3.3. Descompunerea în serie Fourier a unui semnal
dreptunghiular aproximat prin 20 de armonici
76
E3.1. Exerciţiu:
Utilizând scriptul din Exemplul 3.1, să se efectueze
descompunerea în serie Fourier a trei tipuri de semnale periodice:
armonic, dreptunghiular și dinte de ferestrău, pentru două valor ale
numărului de armonici de aproximare N1 și N2, unde N2≈3N1. Să se
explice rezultatele obținute.

Exemplul 3.2:
Se propune descompunerea unui tren de impulsuri
dreptunghiulare în serie Fourier complexă.
La execuţie, programul cere introducerea următorilor parametri
ai semnalului: perioada T, durata τ, amplitudinea A și numărul de
armonici pentru aproximare N.
Rezultatele se obțin prin intermediul a trei diagrame:
 spectrul de amplitudine;
 spectrul de faze;
 recompunerea semnalului x(t) prin însumarea
componentelor spectrale calculate.

%parametrii trenului de impulsuri


T = input('Setati perioada T [sec]: ');
tau = input('Setati durata impulsului tau [sec]:
');
Amplit = input('Setati amplitudinea A [V]: ');
Ni = input('Setati nr. de armonici N: ');
% Pasul de selectare a numarului de armonici
n=Ni;
% numarul de armonici pentru aproximarea finala
Nf=3*n;
w0=2*pi/T;
f0=1/T;
B=Nf+1;
% calculul parametrilor modelului spectral
A=zeros(1,B);phi=zeros(1,B);
for i=1:B,
alf=(i-1)*w0*tau/2;

77
alf=alf/pi;
A(1,i)=abs(Amplit*tau*sinc(alf)/T);
phi(1,i)=-angle(sinc(alf));
end;
%se calculeaza vectorul ind, necesar in
reprezentarea grafica a spectrului
for i=1:B,
ind(i)=(i-1)*f0;
end;
%reprezentarea spectrului SFC (numai pentru
frecvente pozitive)
subplot(221);
stem(ind,A(1,:));
title('spectrul SFC al trenului de impulsuri');
xlabel('f [Hz]');
grid;
subplot(222);
stem(ind,phi(1,:));
title('defazajele Fi(f)');
xlabel('f [Hz]'); ylabel('x pi [rad]');
grid;
%generarea trenului de impulsuri si
reprezentarea lui grafica
x1=zeros(1,((T*1000/2)-(tau*1000/2)));
x2=Amplit*ones(1,(tau*1000));
x3=zeros(1,((T*1000/2)-(tau*1000/2)));
x=[x1 x2 x3];
dt=0.001;t=[-T/2+dt:dt:T/2];
subplot(223);
h=plot(t,x); %set(h,'LineWidth',T);
axis([-T/2 T/2 -1.5 1.2*Amplit]);grid;hold on;
%calculul semnalelor deduse pe baza spectrului
determinat
%se utilizeaza Ni, 2*Ni si 3*Ni armonici in
spectru;
%aceste semnale se reprezinta pe un grafic comun
%cu cel al trenului de impulsuri
for j=Ni:n:Nf,
xy=A(1)*ones(1,(T*1000));
78
for i=1:j,
xy=xy+2*A(1,i+1)*cos(i*w0*t+phi(1,i+1));
end;
end;
plot(t,xy,'k');grid;
title('semnalul initial si reconstruit');
xlabel('t [sec]');
axis([-T/2 T/2 -1.5 1.2*Amplit]);grid;

Pentru exemplificarea execuției programului au fost construite


reprezentările grafice pentru semnalul exprimat printr-o succesiune
de impulsuri dreptunghiulare de perioadă T=3s, durata τ=0,5s,
amplitudinea A=5V (fig. 3.4).
spectrul SFC al trenului de impulsuri defazajele Fi(f)
1 0

-1
x pi [rad]

0.5 -2

-3

0 -4
0 2 4 6 8 0 2 4 6 8
f [Hz] f [Hz]
semnalul initial si reconstruit
6

-1 0 1
t [sec]
Fig.3.4. Descompunerea în serie Fourier complexă
a unui tren de impulsuri dreptunghiulare
79
E3.2. Exerciţiu:
Utilizând scriptul din Exemplul 3.2, studiaţi spectrul unui tren
de impulsuri dreptunghiulare pentru diverse valori ale parametrilor
semnalului: perioada T, durata τ și amplitudinea A. Să se analizeze
și să se explice rezultatele obținute.

Exemplul 3.3:
Să se analizeze spectrul semnalului poliarmonic, alcătuit din
trei oscilaţii armonice cu frecvenţele 1, 2 şi 3 Hz şi amplitudinile
respectiv 3, 1 şi 4:
𝑦(𝑡) = 3 cos(2𝜋𝑡) + sin(4𝜋𝑡) + 4cos⁡(6𝜋𝑡).
Să se afișeze graficele semnalului, spectrului de amplitudine
(modulul spectrului) şi a părţilor reale şi imaginare ale spectrului.

Soluție:
Ts=0.01;T=10; t=0:Ts:T;
y=3*cos(2*pi*t)+sin(4*pi*t)+4*cos(6*pi*t);
subplot(211); plot(t,y); grid
df=1/T; Fm=1/Ts; len=length(t);
f=-Fm/2:df:Fm/2;
x=fft(y)/len;
xs=fftshift(x);
A=abs(xs);
s1=len/2-50; s2=len/2+50;
subplot(212); stem(f(s1:s2), A(s1:s2)); grid
xlabel('frecventa(Hz)'); ylabel('Modulul')

Graficele semnalului şi spectrului de amplitudine sunt


reprezentate în figura 3.5.
Pentru construcţia spectrului de faze este suficient ca să
înlocuim operatorul calculului modulului A=abs(xs) cu
operatorul calculului unghiului de fază P=angle(xs), cu
schimbările corespunzătoare în operatorii de afişare a graficelor
stem şi ylabel.

80
10

-5

-10
0 1 2 3 4 5 6 7 8 9 10

1.5
Modulul

0.5

0
-5 -4 -3 -2 -1 0 1 2 3 4 5
frecventa(Hz)
Fig.3.5. Modulul spectrului semnalului poliarmonic
corespunzător seriei Fourier complexe

Vom evidenţia partea reală şi cea imaginară ale spectrului


compiex:
Ts=0.01;T=10; t=0:Ts:T;
y=3*cos(2*pi*t)+sin(4*pi*t)+4*cos(6*pi*t);
subplot(311); plot(t,y); grid
df=1/T; Fm=1/Ts; len=length(t);
f=-Fm/2:df:Fm/2;
x=fft(y)/len;
xs=fftshift(x);
Re=real(xs); Im=imag(xs);
s1=len/2-50; s2=len/2+50;
subplot(312)
plot(f(s1:s2),Re(s1:s2));grid
ylabel('Partea reala')
subplot(313)
plot(f(s1:s2),Im(s1:s2));grid
ylabel('Partea imaginara')

81
10

-10
0 1 2 3 4 5 6 7 8 9 10
2
Partea reala

-1
-5 -4 -3 -2 -1 0 1 2 3 4 5
0.5
Partea imaginara

-0.5
-5 -4 -3 -2 -1 0 1 2 3 4 5

Fig. 3.6. Partea reală şi cea imaginară ale spectrului complex


al semnalului poliarmonic.

E3.3. Exerciţiu:
Să se calculeze și să se construiască caracteristicile spectrale
de amplitudini și de faze ale unor semnale periodice, recomandate
de profesor, pentru diverse valori ale parametrilor ce
caracterizează aceste semnale. Să se analizeze și să se explice
rezultatele obținute.

3.5. Spectrele semnalelor neperiodice

Exemplul 3.4:
Scriptul următor calculează transformata Fourier analogică,
utilizând expresia (3.11) a semnalului impuls rectangular, simetric
față de origine, de durată tau și de arie unitară:
82
%parametrii impulsului rectangular
tau=1;Amplit=1/tau;
%generarea impulsului rectangular
a=tau;
tm=6;
x1=zeros(1,((tm*1000/2)-(tau*1000/2)));
x2=Amplit*ones(1,(tau*1000));
x3=zeros(1,((tm*1000/2)-(tau*1000/2)));
x=[x1 x2 x3];
dt=0.001;t=[-tm/2+dt:dt:tm/2];
subplot(211);
h=plot(t,x); %set(h,'LineWidth',T);
title('impuls rectangular x(t)');
xlabel('t [sec]');
axis([-tm/2 tm/2 -0.1 1.2*Amplit]);
grid;hold on;
% sunt declarate variabilele simbolice
syms x w
% se calculeaza integrala Fourier
wmax=30;
int(Amplit*exp(-j*w*x),-a/2,a/2);
subplot(212);
% se reprezinta grafic
ezplot(ans,[-wmax wmax])
title('transformata Fourier a impulsului
rectangular X(w)');
xlabel('w');
axis([-wmax wmax -0.5 1]);
grid;hold on
u=-wmax:wmax:wmax;
y=0.0*u;
% se traseaza orizontala y=0
plot(u,y)
hold off;

83
Reprezentările grafice ale semnalului şi funcția de densitate
spectrală corespunzătoare sunt date în figura 3.7.
impuls rectangular x(t)

0.5

0
-3 -2 -1 0 1 2 3
t [sec]
transformata Fourier a impulsului rectangular X(w)
1

0.5

-0.5
-30 -20 -10 0 10 20 30
w
Fig. 3.7. Forma de undă și spectrul de frecvențe
ale semnalului impuls dreptunghiular

Exemplul 3.5:
Utilizând procedura fft, să se construiască funcția de
densitate spectrală a unui semnal impuls unitar dreptunghiular
centrat în originea de coordinate, cu amplitudinea A=0.8 şi durata
w=0.5s. Aplicăm pasul de discretizare Ts=0.01s, iar durata analizei
T= 1s:

%Generarea semnalului impuls unitar


dreptunghiular
Ts=0.01; T=1; A=0.85; w=0.5;
N=T/Ts;t=-T/2:Ts:T/2;
84
y=A*rectpuls(t,w);
subplot(311); plot(t,y); grid;
title('Impuls unitar dreptunghiular');
xlabel('Timpul,sec.');
%Aplicarea procedurii fft
x=fft(y)/N; df=1/T; Fm=1/Ts;
a=abs(x);f=0:df:Fm;
subplot(312); plot(f,a);grid;
title('Functia de densitate spectrala
(procedura fft)');
xlabel('Frecventa,Hz');
ylabel('Modulul')
%Aplicarea procedurii fftshift
xp=fftshift(x);
a=abs(xp);f1=-Fm/2:df:Fm/2;
subplot(313);plot(f1,a),grid;
title('Functia de densitate spectrala
(procedura fftshift)');
xlabel('Frecventa,Hz');
ylabel('Modulul')

Reprezentările grafice ale semnalului şi spectrului de


amplitudini sunt date în figura 3.8.

Pentru construcţia spectrului de faze este suficient ca să


înlocuim operatorul calculului modulului abs(.)cu operatorul
calculului unghiului de fază angle(.), cu schimbările
corespunzătoare în operatorii de afişare a graficelor stem şi
ylabel.

85
Impuls unitar dreptunghiular
1

0.8

0.6

0.4

0.2

0
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5
Timpul,sec.
Functia de densitate spectrala (procedura fft)
0.5

0.4

0.3
Modulul

0.2

0.1

0
0 10 20 30 40 50 60 70 80 90 100
Frecventa,Hz
Functia de densitate spectrala (procedura fftshift)
0.5

0.4

0.3
Modulul

0.2

0.1

0
-50 -40 -30 -20 -10 0 10 20 30 40 50
Frecventa,Hz

Fig. 3.8. Forma de undă și spectrul de frecvențe


ale semnalului impuls dreptunghiular
86
E3.4. Exerciţiu:
Să se calculeze și să se construiască caracteristicile spectrale
de amplitudini și de faze ale unor semnale neperiodice,
recomandate de profesor, pentru diverse valori ale parametrilor ce
caracterizează aceste semnale și, de asemenea, pentru cazul
deplasării semnalului în timp și în frecvență. Să se analizeze și să
se explice rezultatele obținute.

Întrebări de control
1. Cum apare noţiunea de frecvenţă negativă?
2. Cum se schimbă spectrul unei succesiuni periodice de impulsuri
la schimbarea perioadei impulsurilor?
3. Cum se schimbă spectrul unei succesiuni periodice de impulsuri
la schimbarea duratei impulsurilor?
4. Ce caracter are spectrul semnalului neperiodic?
5. Ce particularităţi are densitatea spectrală a semnalului real?
6. Care este legătura dintre durata impulsului şi lărgimea
spectrului său?
7. Cum se calculează amplitudinile şi fazele spectrelor semnalelor
neperiodice?
8. În ce constă asemănarea şi deosebirea spectrelor semnalelor
discrete şi analogice?
9. În ce constă şi cum se manifestă suprapunerea spectrelor la
discretizarea semnalului?

87
LUCRAREA nr. 4

EŞANTIONAREA ŞI CUANTIZAREA SEMNALELOR.


INTERPOLAREA SEMNALELOR EȘANTIONATE

Obiective: înțelegerea conceptelor de eșantionare, cuantizare, de


zgomot de cuantizare și interpolare a semnalelor eșantionate.

4.1. Semnale analogice și procesarea digitală

Semnalele analogice sunt semnale continue ce pot fi


reprezentate din punct de vedere matematic ca funcții reale
continue în timp. Pentru a putea procesa un semnal cu ajutorul
unui procesor de uz general sau cu a unuia specializat, semnalele
continue trebuie convertite într-un format potrivit cu reprezentarea
datelor dintr-un procesor.
Pentru conversia unui semnal analogic într-un semnal digital,
trebuie realizate două operații de bază: discretizarea în timp și
discretizarea în amplitudine a semnalului.
Discretizarea în timp poartă numele de eșantionare și se
realizează cu ajutorul unui bloc de eșantionare-memorare (vezi
figura 4.1). Discretizarea în amplitudine se numește cuantizare și
este realizată cu un circuit de tip convertor analog-digital (CAD).

Fig. 4.1. Discretizarea semnalelor analogice

Circuitul de eșantionare-memorare va preleva valorile


semnalului de intrare în anumite momente discrete de timp, iar

88
convertorul analog-digital va converti aceste valori reale în
reprezentarea lor numerică.

4.2. Eșantionarea

Eșantionarea reprezintă discretizarea în timp a unui semnal


continuu. În urma eșantionării, semnalul este definit doar în
anumite momente ale domeniului de definiție, iar amplitudinea
poate lua orice valoare reală în domeniul de valori. Un eșantion
reprezintă valoarea semnalului la un moment dat, bine precizat.
Rezultatul eșantionării unui semnal continuu x(t) este un șir de
eșantioane x[nTs], unde Ts este intervalul de timp dintre două
eșantioane și se numește perioadă de eșantionare, în cazul unei
eșantionări uniforme (figura 4.2).

Fig. 4.2. Semnal eșantionat cu perioada de eșantionare Ts

Teorema eşantionării uniforme (Shannon) stabileşte că un


semnal de bandă limitată este univoc determinat de valorile sale
considerate la momente de timp echidistante, dacă distanţa Ts
dintre două momente succesive satisface relaţia:
1
Ts  ,
2 fm
unde f m reprezintă frecvenţa maximă din spectrul semnalului.
Frecvența de eșantionare fs = 1/Ts reprezintă frecvența cu
care sunt prelevate eșantioanele semnalului analogic. Pentru ca un
89
semnal să poate fi refăcut complet din eșantioanele sale, conform
teoremei eșantionării, trebuie satisfăcut criteriul Nyquist și anume
că frecvența de eșantionare trebuie să fie cel puțin dublul
frecvenței maxime fm din spectrul semnalului:
fs ≥ 2 · fm (4.1)
O condiție suplimentară constă în faptul ca spectrul semnalului
să fie mărginit (de bandă limitată), de forma celui din figura 4.3.

Fig. 4.3. Exemplu de spectru mărginit

Observații:
 dacă dorim ca semnalul eșantionat să se apropie cât mai
mult de semnalul real, atunci trebuie să luăm un număr cât
mai mare de eșantioane, deci, să creștem frecvența de
eșantionare fs. Dezavantajul constă în spațiul mare de
memorie ocupat;
 dacă dorim un număr mai mic de eșantioane (spațiu de
memorie ocupat mai mic, dar și o posibilă pierdere de
informație), atunci putem scădea frecvența de eșantionare
fs. Însă pentru a putea reface semnalul real din eșantioanele
sale, frecvența de eșantionare nu poate fi scăzută oricât, ea
trebuie să respecte teorema eșantionării.
Exemplul 4.1:
Fie un semnal sinusoidal x(t) având frecvența f = 9Hz (figura
4.4, a). Acest semnal a fost eșantionat cu fs1=90Hz (figura 4.4, b).
Se observă că din eșantioanele rezultate poate fi refăcut x(t). În
figura 4.4, c, semnalul x(t) a fost eșantionat cu fs2 = 8Hz (nu se
respectă teorema eșantionării) și se poate observa că aceleași
eșantioane rezultă atât prin eșantionarea semnalului x(t), cât și prin
eșantionarea unei alte sinusoide cu frecvență mai mică, de 1Hz. În

90
acest caz, semnalul x(t) nu mai poate fi refăcut, formula de
reconstituire generând sinusoida de 1Hz.

a) semnalul x(t) cu frecvența f = 9Hz

b) semnalul x(t) eșantionat cu fs1 = 90Hz

c) semnalul x(t) eșantionat cu fs2 = 8Hz

Fig. 4.4. Semnalul x(t) (figura 4.4, a), eșantionat respectând


teorema eșantionării (figura 4.4, b) și eșantionat nerespectând
teorema eșantionării (figura 4.4, c).

Șirul de eșantioane este echivalent unui vector în MATLAB,


ale cărui elemente sunt valorile semnalului luate la momentele de
timp corespunzătoare eșantionării. Trebuie menționat că informația
despre frecvența de eșantionare nu este stocată în vector, ci numai
se presupune cunoscută pentru calcule. Astfel, orice vector din
91
MATLAB poate fi considerat un semnal eșantionat presupunând
că i se face corespondența cu un set de parametri de eșantionare.
Pentru a genera un semnal știind funcția care descrie semnalul
analogic, se va genera în prealabil un vector de timp care
reprezintă momentele de timp la care se va realiza practic
eșantionarea:
t = 0 : 1/fs : 1;
x = sin (2*pi*f*t);
În acest caz, x va conține eșantioanele unui semnal sinusoidal,
dar pentru a cunoaște semnalul căruia acest vector corespunde,
trebuie să cunoaștem unitatea metrică pentru t și frecvența de
eșantionare fs. Pentru reprezentarea grafică a unui semnal discret se
utilizează funcţia stem.
E4.1. Exerciţiu:
1. Reprezentați grafic 1024 de eșantioane ale unui semnal
alcătuit din 2 sinusoide (una cu frecvența de 50 Hz, defazajul 0 și
amplitudinea 0.5 V, iar cealaltă cu frecvența de 230 Hz, defazajul
π/3 și amplitudinea 0.2 V), folosind o frecvență de eșantionare de
8 kHz.
2. Să se genereze în MATLAB semnalul din figura de mai jos.
Indiciu: pornind de la figură, trebuie să se identifice toți
parametrii sinusoidei (amplitudine, frecvență, frecvență de
eșantionare, durată, fază inițială). Frecvența fs a fost aleasă astfel,
încât să fie 30 de eșantioane într-o perioadă.

92
3. Fie semnalul:
𝜋 𝜋
𝑥(𝑡) = 10 sin (200𝜋𝑡 + ) + 20 sin(100𝜋𝑡) − 40sin (300𝜋𝑡 − ).
2 4
Cerințe:
 care este frecvența minimă de eșantionare astfel încât să se
respecte teorema eșantionării;
 alegând o frecvență de eșantionare de 10 ori mai mare
decât cea determinată la punctul anterior, să se eșantioneze
semnalul x(t) și să se reprezinte graphic;
 care este frecvența de repetiție a semnalului x(t)?
4. Fie semnalul sinusoidal 𝑥(𝑡) = 3sin⁡(2𝜋 ∙ 5𝑡). Să se
eșantioneze acest semnal cu fs1 = 4Hz și cu fs2 = 50Hz și să se
reprezinte grafic. În care dintre cele două cazuri poate fi
reconstituit semnalul x(t) din eșantioanele sale?
5. Să se genereze și să se prezinte în MATLAB, în două feres-
tre separate, semnalul din figura următoare și semnalul discretizat.

Indiciu: pornind de la figură, trebuie să se identifice toți


parametrii semnalului triunghiular (amplitudine, frecvență,
frecvență de eșantionare, durată). Frecvența fs se alege astfel încât
să fie 30 de eșantioane într-o perioadă.

4.3. Cuantizarea

În urma eșantionării unui semnal continuu se obține un


semnal definit doar în anumite momente ale domeniului de
definiție, dar amplitudinea poate lua orice valoare reală în
domeniul de valori. Însă sistemele digitale nu pot prelucra semnale
93
cu valori într-un domeniu continuu. De aceea, este nevoie de o
nouă procesare, și anume, de cuantizare.
Prin cuantizare, fiecărui eşantion i se alocă o valoare dintr-un
set finit de valori. Distanţa dintre două niveluri consecutive de
cuantizare se numește pas de cuantizare. În funcție de valoarea
pasului de cuantizare, cuantizarea poate fi:
 cuantizare neuniformă: dacă pasul de cuantizare variază;
 cuantizare uniformă: dacă pasul de cuantizare este
constant. Acestă variantă de cuantizare este întâlnită la
majoritatea convertoarelor A/D. Cele mai des folosite două
metode pentru cuantizarea uniformă sunt cuantizarea prin
rotunjire și cuantizarea prin trunchiere.

Cuantizarea prin rotunjire (round)

Dacă notăm cu q distanţa dintre două niveluri de cuantizare


consecutive, atunci valoarea unui eşantion analogic ce va fi
cuantizat, folosind cuantizarea prin rotunjire, va fi cel mai apropiat
nivel de cuantizare disponibil. Pentru a genera în MATLAB un
semnal cuantizat prin rotunjire, se utilizează funcția round(x).
Observație: când semnalul de intrare (eşantionul analogic) se
află în domeniul de lucru al cuantizorului, eroarea de reprezentare
variază în intervalul -q/2÷q/2. Acest tip de eroare, denumită eroare
de cuantizare, apare când valoarea eşantionului analogic este
situată între două niveluri disponibile de cuantizare.

Cuantizarea prin trunchiere (floor)

Dacă notăm cu q distanţa dintre două niveluri de cuantizare


consecutive, atunci valoarea unui eşantion analogic ce va fi
cuantizat, folosind cuantizarea prin trunchiere, va fi cel mai
apropiat nivel de cuantizare disponibil, care este valoric inferior
eșantionului. Pentru a genera în MATLAB un semnal cuantizat
prin trunchiere, se utilizează funcția floor(x).

94
Observație: când semnalul de intrare (eşantionul analogic) se
află în domeniul de lucru al cuantizorului, eroarea de reprezentare
variază în intervalul –q ÷ 0.
Pentru ambele tipuri de cuantizare, când semnalul de intrare
se află în afara domeniului de cuantizare, toate eşantioanele care
depăşesc limita maximă a intervalului (Lmax) vor lua valoarea Lmax,
iar eşantioanele care au valori mai mici decât limita minimă a
intervalului (Lmin) vor lua valoarea Lmin. Această eroare se numeşte
eroare de depăşire și creşte nelimitat în funcție de semnalul de
intrare.
Exemplul 4.2:
Fie următoarele niveluri de cuantizare disponibile {-6, -5, -4, -
3, -2, -1, 0, 1, 2, 3, 4}. În tabelul 4.1 sunt incluse valorile obținute
în urma cuantizării prin rotunjire și prin trunchiere pentru diverse
valori ale unui semnal analogic.

Tabel 4.1. Cuantizarea prin rotunjire și prin trunchiere

Valoare Cuantizare prin Cuantizare prin


eșantion rotunjire (round) trunchiere (floor)
analogic Valoare Eroare Valoare Eroare

- 1.2 -1 0.2 -2 - 0.8


2.63 3 0.37 2 - 0.63
2 2 0 2 0
- 2.61 -3 - 0.39 -3 - 0.39
3.5 4 0.5 3 - 0.5
6 4 -2 4 -2
- 10 -6 4 -6 4

Exemplul 4.3:
Dacă se dorește cuantizarea uniformă cu pasul de cuantizare
q = 0.2, în intervalul Lmin = -1 și Lmax = 1, nivelurile de cuantizare
posibile sunt {-1, -0.8, -0.6, -0.4, -0.2, 0, 0.2, 0.4, 0.6, 0.8, 1}.
În urma cuantizării unui semnal sinusoidal (de amplitudine unitară,

95
fază inițială nulă, eșantionat cu Ts = 0.05s) se obține semnalul
din figura 4.5, c (cuantizare prin rotunjire) și semnalul din
figura 4.5, d (cuantizare prin trunchiere).

a) Semnal analogic b) Semnal eșantionat

c) Semnal eșantionat și cuantizat d) Semnal eșantionat și cuantizat


folosind cuantizarea folosind cuantizarea
prin rotunjire (round) prin trunchiere (floor)

Fig.4.5. Cuantizarea prin rotunjire și trunchiere

Zgomotul de cuantizare este un semnal obținut prin diferența


dintre semnalul rezultat în urma cuantizării și semnalul original.

Exemplul 4.4:
Fie un semnal sinusoidal cuantizat, folosind metoda prin
rotunjire (figura 4.6, a). Dacă prin N se notează numărul de
niveluri de cuantizare, atunci semnalul din figura 4.6, a se
generează cu ajutorul următorului script:
96
N=6;
t = 0:0.001:2;
x=sin(2*pi*t);
y = round((N-1)*x)/(N-1);
plot(t,y,t,x);
grid

Zgomotul de cuantizare este dat în figura 4.6, b.

Fig.4.6, a. Semnal cuantizat folosind metoda prin rotunjire

Fig.4.6, b. Zgomotul de cuantizare

În urma cuantizării, fiecare eșantion al semnalului are o


valoare din setul finit de valori al nivelelor de cuantizare. Astfel,
pentru descrierea unui eșantion este suficientă precizarea nivelului
de cuantizare corespunzător.

Exemplul 4.5:
Fie următoarele niveluri de cuantizare disponibile: {0, 1/3,
2/3, 1}.
Nivel 0 = 0 Nivel 2 = 2/3
Nivel 1 = 1/3 Nivel 3 = 1
97
În tabelul 4.2 sunt incluse valorile obținute în urma cuantizării
prin rotunjire pentru 10 eșantioane ale semnalului:
𝑛
𝑥[𝑛] = .
𝑛 + 1.5
Tabel 4.2. Cuantizarea prin rotunjire
Cuantizare
Valoare Valoare Nivel Nivel
prin
indice eșantion cuantizare cuantizare
rotunjire
n analogic (explicit) (binar)
(round)
0 0.000 0 Nivel 0 00
1 0.400 1/3 Nivel 1 01
2 0.571 2/3 Nivel 2 10
3 0.667 2/3 Nivel 2 10
4 0.727 2/3 Nivel 2 10
5 0.769 2/3 Nivel 2 10
6 0.800 2/3 Nivel 2 10
7 0.823 2/3 Nivel 2 10
8 0.842 1 Nivel 3 11
9 0.857 1 Nivel 3 11
Așa cum se poate observa în tabelul 4.2, nivelul de cuantizare
poate fi indicat cu un număr mic de biți (2 biți în cazul
exemplului), astfel încât întregul semnal poate fi stocat într-un
spațiu mic de memorie.
Numărul (minim) de biți prin care trebuie indicat nivelul de
cuantizare se calculează prin formula:
𝑏 = ⌈𝑙𝑜𝑔2 𝑁⌉,
unde:
 b = numărul de biți necesari indicării nivelului de
cuantizare;
 N = numărul de niveluri de cuantizare;
 ⌈ ⌉= rotunjire spre infinit = cel mai mic întreg mai mare
sau egal cu valoarea dintre paranteze. Rotunjirea este
necesară, deoarece numărul de biți b trebuie să fie număr
natural.
98
Deoarece pentru indicarea fiecărui nivel este nevoie de b biți,
iar valoarea fiecărui eșantion este unul dintre niveluri, b este
totodată și numărul de biți per eșantion, folosit pentru stocarea
semnalului.

Exemplul 4.6:
Care ar trebui să fie numărul minim de biți per eșantion
pentru stocarea semnalului din Exemplul 4.3?
Soluție: în Exemplul 4.3 sunt N=11 niveluri de cuantizare,
deci, numărul minim de biți per eșantion necesar este 𝑏 =
⌈𝑙𝑜𝑔2 11⌉ = 4.

E4.2. Exerciţiu:
1. Un semnal cu durata de 2 minute este eșantionat cu
frecvența de eșantionare de 4kHz. Câte eșantioane vor rezulta?
Dacă fiecare eșantion este stocat pe 2 octeți, ce memorie vor ocupa
toate eșantionale generate?
17 17
2. Să se cuantizeze semnalele 𝑥[𝑛] = 𝑛 și 𝑦[𝑛] = − 𝑛 ,⁡⁡⁡⁡⁡
𝑛 = 1 … 40, folosind metodele floor și round. Se cunosc nivelurile
de cuantizare {0, ±1, ±2, … , ±17}. Să se reprezinte grafic
semnalele originale 𝑥[𝑛] și 𝑦[𝑛], precum și semnalele obținute în
urma cuantizării. Să se calculeze și să se reprezinte grafic
zgomotul de cuantizare.
3. Să se genereze 15 eșantioane de zgomot alb gaussian cu
media zero și dispersia 0,2. Indiciu: pentru a genera zgomot alb
gaussian se poate folosi funcția randn:
z = 0.2*randn(1,15).
Să se cuantizeze semnalul z folosind un cuantizor uniform cu
1 2 3
nivelurile {0, ± 4 , ± 4 , ± 4 , ±1}.
4. Cuantizați semnalul din Exercițiul 4.1.1 pe 8 respectiv, 16
biți. Reprezentați semnalul cuantizat alături de zgomotul de
cuantizare.

99
4.4. Interpolarea semnalelor eșantionate

Reconstrucția semnalului 𝑥(𝑡) în domeniul timp din


eșantioanele 𝑥[𝑛] se realizează prin relaţia de interpolare:

x(t )   x[nT ] s i n c[m (t  nT )] ,
n  
unde funcţia sinc se defineşte astfel:
sin( x )
s i n c ( x) 
x
cu argumentul x  m (t  nT ) . Graficul acestei funcţii este
reprezentat în figura 4.7.

Fig.4.7. Reprezentarea grafică a funcţiei s i n c (x )

Figura 4.8 este o ilustrare a modului cum se poate recupera un


semnal rectangular din eşantioanele sale prelevate cu o anumită
periodicitate.

Fig.4.8. Reconstituirea unui impuls rectangular


din eşantioanele sale
100
Sunt luate în considerare cinci eşantioane nenule prelevate pe
durata semnalului, alte eşantioane fiind, evident, nule deoarece
sunt situate în afara suportului compact al semnalului rectangular.
Însumarea celor cinci funcţii sinc multiplicate cu valorile
eşantioanelor [...,0,1,1,1,1,1,0,...] formează curba cu linie plină din
figură a semnalului rectangular eşantionat. Semnalul “reconstituit”
este nenul acolo und ar trebuie să fie nul, este ondulat acolo unde
ar trebuie să fie constant, are creşteri şi descreşteri în timp finit
acolo unde ar trebui să varieze brusc. Dar această aproximare sau
una întrucâtva mai bună ar putea fi satisfăcătoare sub aspect
practic-ingineresc sau ar putea fi corectată pentru a fi utilizată
practic.
Dincolo de aspectul aproximativ comentat mai este de discutat
non-cauzalitatea funcţiilor sinc din formula de interpolare. Funcţia
sinc ataşată unui eşantion “există” prin valori nenule încă înainte
ca eşantionul să fie prelevat/măsurat. Ceea ce este, desigur, absurd.
De aceea, în operaţiile practice de reconstituire a unui semnal din
eşantioanele sale există o lipsă de informaţie la începutul secvenţei
de eşantioane şi la finalul ei, lipsă care aduce la aproximări şi mai
grosiere în zonele apropiate capetelor intervalului finit pe care
semnalul este evaluat. Erorile de aproximare pentru zonele
extreme se numesc: “efecte de capăt”.

Exemplul 4.7:
În script-ul următor se propune eşantionarea, apoi reconstrucția
unui semnal, sumă a doua sinusoide:
s(t )  a1 cos(1t )  a2 cos(2t   ) ,
care este, evident, de bandă limitată.
Introduceți în calculator, cu editorul Matlab, script-ul care
urmează:

% optiune de reprezentare (rep=0) grafic unic,


(rep>0) grafice separate
tmax=10; % timpul maxim de reprezentare
fi=pi/2; % faza componentei secundare

101
f1=1; % frecventa componentei primare
f2=2; % frecventa componentei secundare
% pasul utilizat la reprezentarea grafica
pasmic=0.001;
fes=4.1; % frecventa de esantionare
rep=1;
tes=1/fes; % perioada esantioanelor
a1=2;
a2=1;
t=0:pasmic:tmax;
% pregatirea graficului 1 (semnal original)
y=a1*cos(2*pi*f1*t)+a2*cos(2*pi*f2*t-fi);
t1=0:tes:tmax;
n=round(tmax/tes)+1;
% pregatirea graficului 2 (esantionarea)
y1=a1*cos(2*pi*f1*t1)+a2*cos(2*pi*f2*t1-fi);
% pregatirea graficului 3 (reconstituire)
y2=y1(1)*sinc(t/tes);
for k=1:(n-1)
y2=y2+y1(k+1)*sinc(t/tes-k);
end
if rep>0
subplot(4,1,1)
plot(t,y) % trasarea graficului 1 (semnal)
hold on
ylabel('Original')
title('ESANTIONAREA SEMNALELOR')
plot([0 tmax],[0 0])
for i=1:n
subplot(4,1,2)
% trasarea graficului 2 (esantionarea)
plot([t1(i) t1(i)],[0 y1(i)],'b:')
hold on
ylabel('Esantionat')
plot([0 tmax],[0 0])
end
subplot(4,1,3)
% trasarea graficului 3 (reconstituire)
plot(t,y2,'k')
102
hold on
plot([0 tmax],[0 0])
for i=1:n
plot([t1(i) t1(i)],[0 y1(i)],'b:')
end
ylabel('Reconstituire')
subplot(4,1,4)
% trasarea graficului 4 (diferente)
plot(t,y-y2,'r')
hold on
plot([0 tmax],[0 0])
ylabel('Diferente')
xlabel('Timp(s)')
else
plot(t,y) % trasarea graficului 1 (semnal)
hold on
plot([0 tmax],[0 0])
for i=1:n
% trasarea graficului 3 (reconstituire)
plot([t1(i) t1(i)],[0 y1(i)],'b:')
end
plot(t,y2,'k')
% trasarea graficului 4 (diferente)
plot(t,y-y2,'r')
plot([0 tmax],[0 0])
title('ESANTIONAREA SEMNALELOR')
ylabel('Semnal(albastru)/Reconstituire(negru)/
Diferente(rosu)')
xlabel('Timp(s)')
end

103
ESANTIONAREA SEMNALELOR
2
Semnal(albastru)/Reconstituire(negru)/Diferente(rosu)
1.5

0.5

-0.5

-1

-1.5

-2
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Timp(s)

Fig.4.9. Eşantionarea şi reconstrucția unui semnal,


sumă a doua sinusoide

E4.3. Exerciţiu:
Chestiuni de studiu în baza Exemplului 4.7.
a) Executarea calculelor cu valorile recomandate în antetul
script-ului, reprezentarea semnalelor în formă originară şi
după reconstrucție, precum şi a diferenţelor dintre ele, în
spaţii grafice diferite sau în acelaşi spaţiu.
b) Executarea de calcule cu valorile diferite pentru frecvenţele
f1 şi f 2 , eventual pentru amplitudini diferite ale
sinusoidelor componente, utilizând pentru fiecare caz trei
valori ale frecvenţei de eşantionare: mai mică, egală şi mai
mare (de 10 ori) ca frecvenţa Nyquist.
c) Aprecierea vizuală şi/sau cantitativ a modificărilor
semnalului reconstituit, calitatea reconstrucției semnalului în
zona de început şi de final a intervalului de timp observat.
d) Studierea şi a altor semnale de bandă limitată, recomandate
de profesor.

104
Bibliografie

1. Strîmbu C. Semnale și circuite electronice – Analiza și


prelucrarea semnalelor. Brașov: Academia Forțelor Aeriene
„Henri Coandă”, 2007. – 120 p.
2. Ceangă E.; Munteanu Iu.; Bratcu Antoneta, Culea M.
Semnale, circuite și sisteme. Partea I: Analiza semnalelor.
Galați: Editura „Academica”, 2001. – 201 p.
3. Idriceanu S. Teoria informației și transmisiuni de date. Ciclu
de prelegeri. Partea I. Chișinău: Editura „Tehnica-UTM”,
1996. – 151 p.
4. Dumitrescu B. Prelucrarea semnalelor: breviar teoretic,
probleme rezolvate, ghid MatLab. București: Universitatea
”Politehnica” București, 2006. – 182 p.
5. Mihu I.; Neghină Cătălina Prelucrarea digitală a semnalelor:
aplicaţii didactice în MatLab. Sibiu: Editura Universităţii
"Lucian Blaga", 2014. – 139 p.
6. Kertesz Csaba-Zoltán; Ivanovici Laurențiu-Mihail Procesarea
digitală a semnalelor. Îndrumar de laborator. Brașov: Editura
Universitatea Transilvania, 2009. – 73 p.
7. Chițul I.; Bejan N.; Nistiriuc P. Teoria transmisiunii
informației. Îndrumar de laborator. Partea 1. Chișinău:
Editura „Tehnica-UTM”, 2003. – 64 p.
8. Kalechman M. Practical Matlab Applications for Engineers.
CRC Press, Boca Raton, FL, 2008.

105
MINISTERUL EDUCAŢIEI al REPUBLICII MOLDOVA

UNIVERSITATEA TEHNICĂ A MOLDOVEI

Catedra Automatică şi Tehnologii Informaţionale

Îndrumar pentru lucrări de laborator


la disciplina

Prelucrarea semnalelor folosind MATLAB

Chişinău 2011
Elaborat dr.conf. Romanenko Alexandru
dr.conf. Fiodorov Ion
dr.conf Ciorba Dumitru
lect.sup.magistr. Melnic Radu

2
Cuprins
Introducere .......................... Ошибка! Закладка не определена.
Lucrare de laborator Nr.1 ....Ошибка! Закладка не определена.
Lucrare de laborator Nr.2 ............................................................... 4
Lucrare de laborator Nr.3 ....Ошибка! Закладка не определена.
Lucrare de laborator Nr.4 ............................................................. 15
Lucrare de laborator Nr.5 ............................................................. 21
Lucrare de laborator Nr.6 ............................................................. 27
Bibliografia .................................................................................. 30

3
Lucrare de laborator Nr.5
Tema: Sisteme discrete în timp continuu sau discret
Scopul lucrării: De a învăţa cum să creăm diferite sisteme în conformitate cu sistemul iniţial.

Noţiuni teoretice
Sistemele discrete în timp convertesc semnalul de intrare în domeniul de timp cu scopul de a obţine
la ieşire un semnal cu proprietăţi dorite. Asupra semnalului de intrare se aplică diferiţi, care constau în
operaţii simple. Scopul acestei lucrări de laborator constă în prezentarea cîtorva tipuri simple de discrete,
cu prorprietăţile lor.
Într-un sistem liniar în timp discret pentru un semnal de intrare x[n]=αx1[n]+βx2[n] ca răspuns vom
avea y[n]=αy1[n]+βy2[n] unde y1[n] şi y2[n] sunt răspunsuri la secvenţele corespunătoare x1[n] и x2[n].
Într-un sistem discret în timp continuu ca răspuns la semnalul de intrare x[n]=x 1[n-n0] va fi
semnalul y[n]=y1[n-n0] unde n0 –număr intreg nenul şi y1[n] raspuns la x1[n].
Sistemul continuu după valori şi în timp cotinuu (system continuu ,Linear Time-Invariant-LTI)
satisfice ambele criterii de liniaritate şi continuitate.
Dacă y1[n] şi y2[n] sunt răspunsuri ale unui sistem discret cauzal la intrările corespunzătoare u1[n] şi
u2[n], atunci u1[n]= u2[n] cînd n<N, implică y1[n]=y2[n] cînd n<N.

Comenzile MATLAB utilizate:


Comenzi de uz general
disp
Operatori şi simboluri speciale
: . + - * / ; %

Construcţii sintactice
break end for if input

Matrici elementare şi operaţiile asupra lor


ones pi zeros

Funcţii elementare
cos abs

Funcţii de interpolare şi poliomiale


conv

Grafică bidimensională
axis plot stem title xlabel ylabel

Funcţii grafice de uz general


clf subplot

Funcţii de lucru cu şirui


num2str
Funcţii pachetului de prelucrare a semnalelor
filter impz

4
Programul 5_1
Prezentarea unui filtru simplu cu M-vîrfuri, numărul cărora se introduce de către utilizator.
% Programul P2_1
% Simularea filtrului FIR de o lungime arbitrara
% generarea semnalului de intrare
clf; n=0:100;
s1=cos(2*pi*0.05*n); % semnal de o frecventa joasa
s2=cos(2*pi*0.47*n); % semnal de o frecventa inalta
x=s1+s2;
% Realiyarea filtrului FIR
M=input('Lungimea dorita a filtrului = ');
num=ones(1,M);
y=filter(num,1,x)/M;
% Afisarea semnalelor de intare si de isire
subplot(2,2,1);
plot(n,s1);
axis([0, 100, -2, 2]);
xlabel('Timpul n'); ylabel('Amplituda');
title('semnal #1');
subplot(2,2,2);
plot(n,s2);
axis([0, 100, -2, 2]);
xlabel('Timpul n'); ylabel('Amplituda');
title('semnal #2');
subplot(2,2,3);
plot(n,x);
axis([0, 100, -2, 2]);
xlabel('Timpul n'); ylabel('Amplituda');
title('Semnalul de intrare');
subplot(2,2,4);
plot(n,y);
axis([0, 100, -2, 2]);
xlabel('Timpul n'); ylabel('Amplituda');
title('Semnalul de iesire');
axis;

5
semnal #1 semnal #2
2 2

1 1

Amplituda

Amplituda
0 0

-1 -1

-2 -2
0 50 100 0 50 100
Timpul n Timpul n
Semnalul de intrare Semnalul de iesire
2 2

1 1
Amplituda

Amplituda
0 0

-1 -1

-2 -2
0 50 100 0 50 100
Timpul n Timpul n

Programul 5_2
Programul de mai jos poate fi folosit pentru generarea semnalului de intrare x[n], compus ditr-o
secenta sinusoidala.
% Programul P2_2
% generarea semnalului sinusoidal de intrare
clf;
n=0:200;
x=cos(2*pi*0.05*n);
% Calcularea semnalului de iesire
x1 = [x 0 0]; % x1[n] = x[n+1]
x2 = [0 x 0]; % x2[n] = x[n]
x3 = [0 0 x]; % x3[n] = x[n-1]
y=x2.*x2 + x1.*x3;
y=y(2:202);
% Vizualizarea semnalului de intre si a celui de iesire subplot(2,1,1);
plot(n,x);
xlabel(‘Timpul n’); ylabel(‘Amplituda’);
title(‘semnalul de intrare ‘);
subplot(2,1,2);
plot(n,y);
xlabel(‘Timpul n’); ylabel(‘Amplituda’);
title('Semnalul de iesire');

6
semnalul de intrare
1

0.5

Amplituda 0

-0.5

-1
0 20 40 60 80 100 120 140 160 180 200
Timpul n
Semnalul de iesire
2

1.5
Amplituda

0.5

-0.5
0 20 40 60 80 100 120 140 160 180 200
Timpul n

Programul 5_3
În programul acesta este realizat sistemul reprezentat prin următoarea expresie:
y[n]-0.4y[n-1]+0.75y[n-2]=2.2403x[n]+2.4908x[n-1]+2.2403x[n-2].
Se generează trei secvenţe de intrare x1[n], x2[n] и x[n]=a*x1[n]+b*x2[n]. Se calculează trei
secvenţe de ieşire y1[n], y2[n] и y[n], cu reprezentarea lor grafică.

% Programul P2_3
% Generarea secvenţelor de iesire
clf;
n=0:40;
a=2; b=-3;
x1=cos(2*pi*0.1*n);
x2=cos(2*pi*0.4*n);
x=a*x1+b*x2;
num=[2.2403 2.4908 2.2403];
den=[1 -0.4 0.75];
ic=[0 0]; % initializarea
y1=filter(num,den,x1,ic); % Calcularea semnalului de iesire y1[n]
y2=filter(num,den,x2,ic); % Calcularea semnalului de iesire y2[n]
y=filter(num,den,x,ic); % Calcularea semnalului de iesire y[n]
yt=a*y1+b*y2;
d=y-yt; % calcularea abaterii d[n]
%Vizualizarea semnalelor de iesire si a semnalului de abatere
subplot(3,1,1);
stem(n,y);
ylabel('Amplituda ');
title('Semnalul de iesire, conform semnalului de intrare incarcat : a
\cdot x_{1}[n] + b \cdot x_{2}[n]');
subplot(3,1,2);
stem(n,yt);
ylabel('Amplituda');
title('semnalul de iesire incarcat : a \cdot y_{1}[n] + b \cdot y_{2}[n]');
subplot(3,1,3);

7
stem(n,d);
xlabel('Timpul n'); ylabel('Amplituda');
title('semnalul diferential ');

Semnalul de iesire, conform semnalului de intrare incarcat : a  x 1[n] + b  x 2[n]

Amplituda 20

-20

-40
0 5 semnalul
10 de iesire 20 : a  y25
15 incarcat 1
[n] + b 30
y 2[n] 35 40
20
Amplituda

-20

-40
0 -15 5 10 15
semnalul20
diferential25 30 35 40
x 10
5
Amplituda

-5
0 5 10 15 20 25 30 35 40
Timpul n

Programul 5_4
Pentru această expresie se crează sistemul ce o simulează:
y[n]-0.4y[n-1]+0.75y[n-2]=2.2403x[n]+2.4908x[n-1]+2.2403x[n-2]. Două secvenţe de intrare
diferite x[n] şi x[n-D]. Se calculează şi se vizualizează corespunzător doua secvenzede ieşire şi abaterea
y1[n] – y2[n+D].
% Programul P2_4
% Generarea secventelor de intrare
clf; n=0:40; D=10; a=3.0; b=-2;
x=a*cos(2*pi*0.1*n)+b*cos(2*pi*0.4*n);
xd=[zeros(1,D) x];
num=[2.2403 2.4908 2.2403]; den=[1 -0.4 0.75];
ic=[0 0]; % setarea conditiilor initiale
%Calcularea semnalului de iesire y[n]
y=filter(num,den,x,ic);
% Calcularea semnalului de iesire yd[n]
yd=filter(num,den,xd,ic);
% Calcularea semnalului deabatere d[n]
d=y-yd(1+D:41+D);
%Afisarea graficelor semnalelor de iesire
subplot(3,1,1);
stem(n,y);
ylabel('Amplituda');
title('Semnalul de iesire y[n]'); grid;
subplot(3,1,2);
stem(n,yd(1:41));
ylabel('Amplituda');

8
title(['iesirea,la intirzierea semnalului la intrare
x[n',num2str(D),']']); grid;
subplot(3,1,3);
stem(n,d);
xlabel('Timpul n'); ylabel('Amplituda');
title('semnalul de abatere'); grid;

Semnalul de iesire y[n]


20
Amplituda

-20

-40
0 5 10 15 20 25 30 35 40
iesirea, la intirzierea semnalului la intrare x[n 10]
20
Amplituda

-20

-40
0 5 10 15 20 25 30 35 40
semnalul de abatere
1
Amplituda

-1
0 5 10 15 20 25 30 35 40
Timpul n

Programul 5_5
Aici se calculează şi se afişează la ecran impulsul răspunsului sistemului, corespunzător expresiei:
y[n]-0.4y[n-1]+0.75y[n-2]=2.2403x[n]+2.4908x[n-1]+2.2403x[n-2].
% Programul P2_5
% calcularea impulsului de raspuns y
clf;
N=40;
num=[2.2403 2.4908 2.2403];
den=[1 -0.4 0.75];
y=impz(num,den,N);
% Reprezentareagrafică a impulsului de raspuns
stem(y);
xlabel('Timpul n'); ylabel('Amplituda');
title('Impulsul de raspuns'); grid;

9
Impulsul de raspuns
4

1
Amplituda

-1

-2

-3
0 5 10 15 20 25 30 35 40
Timpul n

Programul 5_6
Programul acesta realizează sistemul de 4 conditii: y[n]+1.6y[n-1]+2.28y[n-2]+1.325y[n-
3]+0.68y[n-4] = 0.06x[n]-0.19x[n-1]+0.27x[n-2]-0.26x[n-3]+0.12x[n-4] şi Sisteme cascade :
Etapa 1: y1[n]+0.9y1[n-1]+0.8y1[n-2]=0.3x[n]-0.3x[n-1]+0.4x[n-2];
Etapa 2: y2[n]+0.7y2[n-1]+0.85y2[n-2]=0.2y1[n]-0.5y1[n-1]+0.3y1[n-2];

% Programul P2_6
% Realizarea cascadelor
clf;
x=[1 zeros(1,40)]; % Generarea semnalului de intrare
n=0:40;
% Coeficientii sistemului de gradul 4
den=[1 1.6 2.28 1.325 0.68];
num=[0.06 -0.19 0.27 -0.26 0.12];
% calcularea semnalului de ieasire asistemului de gradul 4 y=filter(num,den,x);
% Coefocoentii sistemelordegradul 2
num1=[0.3 -0.2 0.4]; den1=[1 0.9 0.8];
num2=[0.2 -0.5 0.3]; den2=[1 0.7 0.85];
% Semnalul de iesire y1[n] a primei etape a cascadei
y1=filter(num1,den1,x);
% Semnalul deiesire y2[n] etapei a doua a cascadei
y2=filter(num2,den2,y1);
% abaterea dintre y[n] si y2[n]
d=y-y2;
% Graficele semnalelor de iesire si a abaterii
subplot(3,1,1);
stem(n,y);
ylabel('Amplituda');
title('afisarea realizării de gradul 4'); grid;
subplot(3,1,2);
stem(n,y2);
ylabel('Amplituda');
title('Afisarea realizarii cascada'); grid;
subplot(3,1,3);

10
stem(n,d);
xlabel('Timpul n'); ylabel('Amplituda ');
title('semnalul abaterii'); rid;

afisarea realizarii de gradul 4


1

Amplituda 0.5

-0.5
0 5 10 15
Afisarea 20 cascada
realizarii 25 30 35 40
1
Amplituda

-1
0 5 10 15semnalul
20abaterii25 30 35 40
1
Amplituda

-1
0 5 10 15 20 25 30 35 40
Timpul n

Programul 5_7
Operaţiunea de convoluţie se realizează în MATLAB cu comanda conv. Pentru aceasta se folosesc
două secvenţe finite şi de aceeaşi lungime.

% Programul P2_7
clf;
h=[3 2 1 -2 1 0 -4 0 3]; % raspuns de impuls
x=[1 -2 3 -4 3 2 1]; % secventa deintrare
y=conv(h,x);
n=0:14;
subplot(2,1,1);
stem(n,y);
xlabel('Timpul n'); ylabel('Amplituda');
title('Semnalul de iesire,obtinut in urma convolutiei'); grid;
x1=[x zeros(1,8)];
y1=filter(h,1,x1);
subplot(2,1,2);
stem(n,y1);
xlabel('Timpul n'); ylabel('Amplituda');
title('Semnalul de iesire obtinut in urma filtrarii'); grid;

11
Semnalul de iesire,obtinut in urma convolutiei
20

10

Amplituda
0

-10

-20
0 2 4 6 8 10 12 14
Timpul n
Semnalul de iesire obtinut in urma filtrarii
20

10
Amplituda

-10

-20
0 2 4 6 8 10 12 14
Timpul n

Programul 5_8
Programul calculează suma valorilor absolute ale raspunsului inpuls
% Programul P2_8
% Testarea stabilitatii bazat pe suma valorilor absolute ale elementelor
raspuns impuls
clf;
num=[1 -0.8]; den=[1 1.5 0.9];
N=200;
h=impz(num,den,N+1);
parsum=0;
for k=1:N+1;
parsum=parsum+abs(h(k));
if abs(h(k))<10^(-6), break, end
end
% Afisarea răspuns impuls
n=0:N;
stem(n,h);
xlabel('Timpul n'); ylabel('Amplituda');
disp('Valoarea='); disp(abs(h(k))); %Afisarea valorilor

12
3

1
Amplituda

-1

-2

-3
0 20 40 60 80 100 120 140 160 180 200
Timpul n

Programul 5_9
Aici se prezintă două sisteme:
y[n] = 0.5x[n]+0.27x[n-1]+0.77x[n-2]
şi y[n] = 0.45x[n] +0.5x[n-1]+0.45x[n-2]+0.53y[n-1]-0.46y[n-2].

% Programul P2_9
% Generarea semnalului deintare
clf;
n=0:299;
x1=cos(2*pi*10*n/256);
x2=cos(2*pi*100*n/256);
x=x1+x2;
% Calcularea secvenţelor de iesire
num1=[0.5 0.27 0.77];
y1=filter(num1,1,x); % Iesirea sistemului #1
den2=[1 -0.53 0.46];
num2=[0.45 0.5 0.45];
y2=filter(num2,den2,x); % Iesirea sistemului #2
% Graficele secventelor de iesire
subplot(2,1,1);
plot(n,y1); axis([0 300 -2 2]);
ylabel('Amplituda');
title('semnalul de iesire #1'); grid;
subplot(2,1,2);
plot(n,y2); axis([0 300 -2 2]);
xlabel('Timpul n'); ylabel('Amplituda');
title(semnalul de iesire#2'); grid;

13
semnalul de iesire #1
2

Amplituda 0

-1

-2
0 50 100 150 200 250 300

semnalul de iesire#2
2

1
Amplituda

-1

-2
0 50 100 150 200 250 300
Timpul n

14
Lucrare de laborator Nr.6
Tema: Sisteme discrete liniare în timp continuu cercetate în domeniul de frecvenţă
Scopul lucrăii: De studiat proprietăţile de bază ale sistemelor discrete în timp continuu în domeniul
de frecvenţă.

Noţiuni teoretice
Orice sistem discret liniar în timp continuu este complet caracterizat de domeniul de frecvenţă în
secvenţa de impulsuri de raspuns. Astfel semnalul de ieşire poate fi obţinut pentru orice sistem de aşa tip
prin convoluţia secvenţei de intrare cu secvenţa impulsului de raspuns al ei. Anumite categorii de astfel de
sisteme, de asemenea, pot fi caracterizate printr-o ecuaţie (de diferenţiere) liniară cu coefcienţi constanţi.
Pentru aceste categorii de sisteme semnalul de ieşire poate fi calculat recursiv pentru orice secvenţă de
intrare. Aplicînd DTFT sau transformata-z la rezultatul convolutiei sau la ecuaţia de diferenţiere,
sistemele discrete liniare şi continue în timp pot fi carcterizate şin domeniul de frecvenţă. Acest tip de
specificarea sistemelor furnizează informaţii suplimentare despre comportamentul sistemului, pe lîngă
faptul că o astfel de specificare a sistemelor acordă posibilităţi mai uşoare de proiectări, realizări şi
utilizări în diferite aplicaţii.

Comenzile MATLAB utilizate:


Comenzi de uz general
disp
Operatori şi simboluri speciale
: . + - * / ; %

Construcţii sintactice
function pause

Matrici elementare şi operaţiile asupra lor


fliplr pi

Funcţii elementare
cos abs angle imag log10 real

Grafică bidimensională
axis plot stem title xlabel ylabel grid

Funcţii grafice de uz general


clf subplot

Funcţii pachetului de prelucrare a semnalelor


filter impz filtfilt fregz grpdelay poly2rc sinc zplane

Programul 6_1
În acestprogram se calculează aproximarea de sus. Se foloseşte funcţia sinc din sistemul MATLAB
%Programul P4_1
% raspunsul impuls filtrului ideal
clf;
fc=0.25;
n=[-6.5:1:6.5];
y=2*fc*sinc(2*fc*n);
k=n+6.5;
stem(k,y); title('N=13'); axis([0 13 -0.2 0.6]);

15
xlabel('Timpul n'); ylabel('Amplituda'); grid
Rezultatul programului:
N=13
0.6

0.5

0.4

0.3
Amplituda

0.2

0.1

-0.1

-0.2
0 2 4 6 8 10 12
Timpul n

Programul 6_2
Programul calculează răspunsul propriu al filtrului de frecvenţă joasă.

% Programul P4_2
% Rspunsul propriu al filtrului de frecvenţă joasă.
clf;
M=2;
num=ones(1,M)/M;
w=0:pi/255:pi;
h=freqz(num,1,w);
g=20*log10(abs(h));
plot(w/pi,g); grid
axis([0 1 -50 0.5]);
xlabel('\omega /\pi'); ylabel('Adaugare');
title(['M = ',num2str(M)]);

16
Rezultatul programului:
M=2
0

-5

-10

-15

-20
Adaugare

-25

-30

-35

-40

-45

-50
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
 /

Programul 6_3
Cu ajutorul programul dat putem analiza proprietăţile celor patru tipuri de funcţii de transfer care
caracterizează filtrele:
Tipul 1: Răspunsul impuls simetric de lungime impară;
Tipul 2: Răspunsul impuls simetric de lungime pară;
Tipul 3: Răspunsul impuls asimetric de lungime impară;
Tiplu 4: Răspunsul impuls asimetric de lungime pară.
% Programul P4_3
% Punctele zero FIR filtrelor in faza liniara
clf;
b=[1 -8.5 30.5 -63];
num1=[b 81 fliplr(b)];
num2=[b 81 81 fliplr(b)];
num3=[b 0 -fliplr(b)];
num4=[b 81 -81 -fliplr(b)];
n1=0:length(num1)-1;
n2=0:length(num2)-1;
subplot(2,2,1); stem(n1,num1);
xlabel('Timpul n'); ylabel('Amplituda'); grid
title('Tipul 1 FIR filtrului');
subplot(2,2,2); stem(n2,num2);
xlabel('Timpul n'); ylabel('Amplituda'); grid
title('Tip 2 FIR filtrului');
subplot(2,2,3); stem(n1,num3);
xlabel('Timpul n'); ylabel('Amplituda'); grid
title(' Tip 3 FIR filtrului ');
subplot(2,2,4); stem(n2,num4);
xlabel('Timpul n'); ylabel('Amplituda'); grid

17
title('Tip 2 FIR filtrului');
pause
subplot(2,2,1); zplane(num1,1);
title(' Tip 1 FIR filtrului ');
subplot(2,2,2); zplane(num2,1);
title(' Tip 2 FIR filtrului ');
subplot(2,2,3); zplane(num3,1);
title('Tip 3 FIR filtrului');
subplot(2,2,4); zplane(num4,1);
title('Tip 4 FIR filtrului');
disp('Zeroul FIR filtrului de Tip 1');
disp(roots(num1));
disp(' Zeroul FIR filtrului de Tip 2');
disp(roots(num2));
disp(' Zeroul FIR filtrului de Tip 3');
disp(roots(num3));
disp(' Zeroul FIR filtrului de Tip 4');
disp(roots(num4));

Rezultatul programului:
Tipul 1 FIR filtrului Tip 2 FIR filtrului
100 100

50 50
Amplituda

Amplituda

0 0

-50 -50

-100 -100
0 2 4 6 8 0 5 10
Timpul n Timpul n
Tip 3 FIR filtrului Tip 2 FIR filtrului
100 100

50 50
Amplituda

Amplituda

0 0

-50 -50

-100 -100
0 2 4 6 8 0 5 10
Timpul n Timpul n

18
Tip 1 FIR filtrului Tip 2 FIR filtrului

1 2

Imaginary Part

Imaginary Part
1
8 9
0 0
-1
-1 -2

-1 0 1 2 3 -2 0 2 4
Real Part Real Part
Tip 3 FIR filtrului Tip 4 FIR filtrului

2 1
Imaginary Part

Imaginary Part
8 9
0 0

-2 -1

-2 0 2 4 6 -1 0 1 2 3
Real Part Real Part

b = 1.0000 -8.5000 30.5000 -63.0000

Zeroul FIR filtrului de Tip 1 Zeroul FIR filtrului de Tip 3


2.9744 4.7627
2.0888 1.6279 + 3.0565i
0.9790 + 1.4110i 1.6279 - 3.0565i
0.9790 - 1.4110i -1.0000
0.3319 + 0.4784i 1.0000
0.3319 - 0.4784i 0.1357 + 0.2549i
0.4787 0.1357 - 0.2549i
0.3362 0.2100
Zeroul FIR filtrului de Tip 2
3.7585 + 1.5147i Zeroul FIR filtrului de Tip 4
3.7585 - 1.5147i 3.4139
0.6733 + 2.6623i 1.6541 + 1.5813i
0.6733 - 2.6623i 1.6541 - 1.5813i
-1.0000 -0.0733 + 0.9973i
0.0893 + 0.3530i -0.0733 - 0.9973i
0.0893 - 0.3530i 1.0000
0.2289 + 0.0922i 0.3159 + 0.3020i
0.2289 - 0.0922i 0.3159 - 0.3020i
0.2929

19
Programul 6_4
Acest program prezintă cercetarea stabilităţii a filtrului numeric IIR. Stabilitatea filtrului−
ereprezintă o calitate foarte importantă a filtrului. Filtrul numeric IIR este stabil dacă polii funcţiei de
transfer se află în interiorul cercului unitate.

% Programul P4_4
% Test de verificare a stabilitatii
clf;
den=input('Introduceti coeficientii de numitor:');
ki=poly2rc(den);
disp('Parametrii testului de stabilitate: ');
disp(ki);

Exemplu:
Introduceti coeficientii de numitor:10
Parametrii testului de stabilitate:
>>

20
Lucrare de laborator Nr.7
Tema: Prelucrarea digitală a semnalelor continue în timp.
Sarcina: De a studia restabilirea unui semnal continuu dintr-un semnal discret dat, cu o cantitate
minimă de pierderi.

Consideraţii teoretice
Algoritmii de prelucrare a semnalelor discrete sunt adesea aplicate asupra semnalelor continue în
timp. Această lucrare de laborator permite studierea algoritmilor principali de transformare a
semnalelor continue în semnale discrete, mai apoi, după aplicarea corespunzătoare a algoritmilor de
transformare, va avea loc transformarea semnalului într-un semnal continuu echivalent lui, după
posibilitate cu cantităţi minime de cheltuieli.
Restabilirea semnalului discret: sarcina – de găsit condiţiile necesare, cu ajutorul cărora semnalul
poate fi restabilit conform eşantioanului discret. Înainte de toate:
cos(2 w0 t )  [ (w  w0 )   (w  w0 )] / 2 .
Transformata Fourier a secvenţei
Fie avem un semnal x(t), şi este ales un pas de discretizare S. Funcţia este înlocuită printr-o
secvenţă y[n]  x(nS ) .
Definiţie. Transformata Fourier a unei secvenţe este numită funcţia

Y ( w)   y[n]e
n  
 2 wiSn
(4).
Funcţia Y (w) este o funcţie periodică. Deseori, pentru simplitate, vom presupune S=1, şi în acest
caz perioada funcţiei este egală cu 1. Aceasta este diferenţa fundamentală între transformatele Fourier
a funcţiilor şi a secvenţelor. În acelaşi timp, ambele transformate sunt strîns legate între ele. Fie avem
 
u (t )    (t  nS ) , atunci Y (w)   u(t ) x(t )e 2 wit dt
n  
(5),

adică, este transformata Fourier a produsului a două funcţii, dintre care una este funcţie
generalizată. Conform teoriei generale, transformata Fourier a produsului a două funcţii este egală cu
convoluţia de imagini ale factorilor. Pentru simplificarea notaţiilor S=1. Găsim
  N N
U (w)   u(t )e
 2 wit
dt . Punem U N (w)    (t  n)e
 2 iwt
dt = e
n N
 2 iwn
. Atragem atenţia la
 n   N
faptul că, aceasta este o funcţie periodică cu perioada egală cu 1, prezentată ca suma progresiei
geometrice.
e 2 iNw  e 2 i ( N 1) w
Avem U N ( w)  2 iw
. Înmulţim numărătorul şi numitorul la e iw .
1 e
sin(2 ( N  1 / 2) w)
Obţinem U N ( w)  .
sin(w)
c c
 ( w) sin(2 ( N  1 / 2) w)
În apropierea la   (w)U N (w)dw 
c

c
iw
dw se pretinde către N   la

n
 (0) . Pentru orice S se poate de scris formula:   (t  Sn)    (w  S ) / S (6).
Relaţiile dintre transformatele Fourier de tip discret şi continue. Frecventa Nyquist.
Utilizînd formulele (5) şi (6) şi, presupunînd adevărată declaraţia despre transformarea Fourier de
la produsul a două funcţii, primim relaţiile:
Y (w)  U (w) * X (w)
unde x(t )  X (w) ,
de unde reiese:

21
n
Y ( w)   X ( w  ) / S (7)
S
Această formulă stabileşte legătura între transformata Fourier de tip continuu şi cea de tip discret.
După cum urma de aşteptat, Y (w) are perioada 1 / S , ceea ce este în concordanţă cu (4).

Comenzile MATLAB utilizate


Comenzi de uz general
Length size
Operatori şi simboluri speciale
: . + - * / ; % == ~ & |
Matrici elementare şi operaţiile asupra lor
ones linspace pi
Funcţii elementare
abs cos exp
Grafică bidimensională
axis grid plot stem title xlabel ylabel
Funcţii grafice de uz general
clf grid plot stem subplot
Funcţii ale pachetului de prelucrare a semnalelor
butter buttord cheb1ord cheb2ord cheby1 cheby2 ellip
ellipord freqz sinc

22
Program 7_1
Aici vom transforma condiţionat un semnal continuu într-un semnal discret corespunzător, cu
redarea ambelor grafice.
% Program P5_1
% Ilustrarea procesului de discretizare în domeniul de timp
clf;
t=0:0.0005:1;
f=13;
xa=cos(2*pi*f*t);
subplot(2,1,1);
plot(t,xa); grid;
xlabel('Timpul, msec');
ylabel('Amplitudinea');
title('Semnal continuu în timp x_{a}(t)');
axis([0 1 -1.2 1.2]);
subplot(2,1,2);
T=0.1;
n=0:T:1;
xs=cos(2*pi*f*n);
k=0:length(n)-1;
stem(k,xs); grid;
xlabel('Timpul n');
ylabel('Amplitudinea');
title('Semnal discret în timp x[n]');
axis([0 (length(n)-1) -1.2 1.2]);

Rezultatul programului:
Semnal continuu în timp x a(t)

1
Amplitudinea

0.5

-0.5

-1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Timpul, msec
Semnal discret în timp x[n]
1
Amplitudinea

0.5

-0.5

-1
0 1 2 3 4 5 6 7 8 9 10
Timpul n

Program 7_2
Aici vom restabili semnalul continuu din semnalul discret deja existent. În ambele cazuri vom
primi o secvenţă cu o valoare finită de elemente, dar secvenţa semnalului continuu rezultată va fi mai
aproape de continuitate. Restabilirea are loc în timp.

23
%Program P5_2
% Demonstrarea efectului de „imaginaţie” în domeniul de timp
clf;
T=0.1; f=13;
n=(0:T:1)';
xs=cos(2*pi*f*n);
t=linspace(-0.5,1.5,500)';
ya=sinc((1/T)*t(:,ones(size(n))) - (1/T)*n(:,ones(size(t)))')*xs;
plot(n,xs,'o',t,ya);
grid;
xlabel('Timpul, msec');
ylabel('Amplitudinea');
title('Semnalul continuu restabilit y_{a}(t)');
axis([0 1 -1.2 1.2]);

Rezultatul programului:
Semnalul continuu restabilit y a(t)

0.8

0.6

0.4
Amplitudinea

0.2

-0.2

-0.4

-0.6

-0.8

-1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1


Timpul, msec

Program 7_3
Programul dat deasemenea restabilişte semnalul continuu dintr-un semnal discret existent, dar
utilizează alt algoritm care lucrează cu frecenţa.
% Program P5_3
% Demonstrarea efectului de „imaginaţie” în domeniul de frecvenţă
clf;
t=0:0.005:10;
xa=2*t.*exp(-t);
subplot(2,2,1);
plot(t,xa); grid;
xlabel('Timpul, msec');
ylabel('Amplitudinea');
title('Semnal continuu x_{a}(t)');
subplot(2,2,2);
wa=0:10/511:10;
ha=freqs(2,[1 2 1],wa);
plot(wa/(2*pi),abs(ha)); grid;

24
xlabel('Frecvenţa, KHz');
ylabel('Amplitudinea');
title('|X_{a}(j/Omega)|');
axis([0 5/pi 0 2]);
subplot(2,2,3);
T=1;
n=0:T:10;xs=2*n.*exp(-n);
k=0:length(n)-1;
stem(k,xs); grid;
xlabel('Timpul n');
ylabel('Amplitudinea');
title('Semnal discret în timp x[n]');
subplot(2,2,4);
wd=0:pi/255:pi;
hd=freqz(xs,1,wd);
plot(wd/(T*pi),T*abs(hd)); grid;
xlabel('Frecvenţa, KHz');
ylabel('Amplitudinea');
title('|X(e^{j/omega})|');
axis([0 1/T 0 2]);

Rezultatul programului:
Semnal continuu x a(t) |Xa(j/Omega)|
0.8 2

0.6 1.5
Amplitudinea

Amplitudinea

0.4 1

0.2 0.5

0 0
0 5 10 0 0.5 1 1.5
Timpul, msec Frecvenţa, KHz
Semnal discret în timp x[n] |X(ej/omega)|
0.8 2

0.6 1.5
Amplitudinea

Amplitudinea

0.4 1

0.2 0.5

0 0
0 5 10 0 0.5 1
Timpul n Frecvenţa, KHz

Program 7_4
Aici se demostrează lucrul filtrului analogic, utilizat la restabilirea semnalului continuu.
% Program P5_4
% Proiectarea filtrului analogic
clf;
Fp=3500; Fs=4500;
Wp=2*pi*Fp; Ws=2*pi*Fs;
[N,Wn]=buttord(Wp,Ws,0.5,30,'s');
[b,a]=butter(N,Wn,'s');
wa=0:(3*Ws)/511:3*Ws;
h=freqs(b,a,wa);

25
plot(wa/(2*pi),20*log10(abs(h))); grid;
xlabel('Frecvenţa, Hz');
ylabel('Adăugare');
title('Răspunsul de creştere');
axis([0 3*Fs -60 5]);

Rezultatul programului:
Răspunsul de creştere

-10

-20
Adăugare

-30

-40

-50

-60
0 2000 4000 6000 8000 10000 12000
Frecvenţa, Hz

26
Lucrare de laborator Nr.8
Tema: Structura filtrelor numerice
Scopul lucrării: De a învăţa cum se construiesc diferite structuri a filtrelor în dependenţă de
proprietăţile dorite a viitoarelor structuri.

Noţiuni generale
În această lucrare de laborator se analizează diferite structuri de filtre (paralelă şi cascadă).
Structura definită a filtrelor permite căpătarea relaţiilor corespunzătoare (convenabile ) între
variabilele interne, şi, în consecinţă, semnalul de ieşire corespunzător.
Orice cauzalitate IIR(Infinite Impulse Response – filtru cu caracteristică infinită a impulsului)
filtrul se caracterizează prin funcţia de transformare:

Filtrele numerice sunt cazuri particulare ale sistemelor liniare invariante. Limitarea semnificativă
datorată realizării fizice a sistemului.
Definiţie: Sistema este numită fizic realizabilă, dacă semnalul la ieşire în momentul de timp t
depinde de semnalul de intrare în momentul de timp ≤ t .
Fie un SLI (sistem liniar invariant) T. Să analizăm întrun punct al secvenţei
 : [0]  1, [t ]  0, t  0 .
Fie T{}  {h[n]} , şi prin definiţie  k [t ]  [t  k ] . Pentru secvenţa arbitrară {x[n]} este validă
extinderea {x[n]}   x[k ] k . De liniaritate T {x[n]}   x[k ]T { k }, iar de invariantităţii
k k

T{ k }  {h[n  k ]} . În cele din urmă, în cazul în care { y[n]}  T{x[n]} , atunci y[n]   x[k ]h[n  k ]
k
(9).
Cu alte cuvinte, reacţia la orice secvenţă se obţine prin convoluţia acestei secvenţe şi secvenţa
{h[n]} , numită impuls de raspuns sau funcţia de răspuns.

Comenzile MATLAB utilizate:


Comenzi de uz general
Disp length
Operatori şi simboluri speciale
: . + - * / ; %

Matrici elementare şi operaţiile asupra lor


ones pi

Funcţii pachetului de prelucrare a semnalelor


residue latc2tf poly2rc residuez tf2latc zp2sos
Programul 8_1
Cu ajutorul funcţiei din MATLAB zp2sos programul calculează coeficienţii H(z) apelînd funcţia
de tranziţie.
% Programul P6_1
% Tratarea funcţiei de tranziţie în forma coeficienti

27
num=input('Vectorul coeficientilor numaratorului:');
den=input('Vectorul coeficientilor numitorului: ');
[z,p,k]=tf2zp(num,den); sos=zp2sos(z,p,k);
Exemplu:
Vectorul coeficientilor numaratorului:[10,20,30]
Vectorul coeficientilor numitorului: [12,34,45]
sos = 0.8333 1.6667 2.5000 1.0000 2.8333 3.7500

Programul 8_2
Există două forme paralele de realizare funcţiei de conversie cauzale IIR. Prima forma se bazează
pe porţiuni de spaţiu dat, în funcţie de z-1. Ea se realizează cu ajutorul funcţiei MATLAB residuez. Iar
forma a doua depinde de z şi se realizează cu ajutorul funcţiei MATLAB residue.

% Programul P6_2
% Realizarea in forma paralela a functiei de tranzitie IIR
num=input('Vectorul coeficientilor numaratorului ');
den=input('Vectorul coeficientiloe numitorului ');
[r1,p1,k1]=residuez(num,den);
[r2,p2,k2]=residue(num,den);
disp('Forma paralela 1')
disp('Ramasite: '); disp(r1);
disp('Polii: '); disp(p1);
disp('Constanta: '); disp(k1);
disp('Forma paralela 2')
disp('Ramasite: '); disp(r2);
disp('Polii: '); disp(p2);
disp('Constanta: '); disp(k2);

Rezultatul rularii programului:


Vectorul coeficientilor numaratorului [10,20,30]
Vectorul coeficientiloe numitorului [12,34,45]
Forma paralela 1 Forma paralela 2
Ramasite: Ramasite:
0.0833 + 0.1736i -0.3472 - 0.1359i
0.0833 - 0.1736i -0.3472 + 0.1359i

Polii: Polii:
-1.4167 + 1.3202i -1.4167 + 1.3202i
-1.4167 - 1.3202i -1.4167 - 1.3202i

Constanta: Constanta:
0.6667 0.8333

Programul 8_3
În acest program se realizează algoritmul Gray-Markel. Realizarea grilaj cascadă Gray-Markel
funcţiei de taranziţie H(z) de ordinul – N, se bazează pe realizarea grilaj cascadă funcţiei intermediare
de tranzacţie AN(z), avînd acelaşi numitor, ca şi funcţia H(z).
% Programul P6_3
% Structura grilaj cascada Gray-Markel
% k – vectorul parametrilor grilajului
% alpha – vectorul mutiplicatorilor de legatura directa
format long
% introducerea coeficientilor
num=input('Vectorul coeficientilor numaratorului: ');
den=input('Vectorul coeficientilor numitorului: ');

28
N=length(den)-1; % Gradul polinomului de la numitor
k=ones(1,N);
a1=den/den(1);
alpha=num(N+1:-1:1)/den(1);
for ii=N:-1:1,
alpha(N+2-ii:N+1)=alpha(N+2-ii:N+1)-alpha(N-ii+1)*a1(2:ii+1);
k(ii)=a1(ii+1);
a1(1:ii+1)=(a1(1:ii+1)-k(ii)*a1(ii+1:-1:1))/(1-k(ii)*k(ii));
end
disp('Parametrii grilajului: '); disp(k)
disp('Multiplicatorii legaturii directe: '); disp(alpha)
subplot(1,2,1); title('Parametrii grilajului');
bar(k);
subplot(1,2,2); title('Multiplicatorii legaturii directe');
bar(alpha);

Rezultatul rulării programului:


Vectorul coeficientilor numaratorului: [10,20,30]
Vectorul coeficientilor numitorului: [12,34,45]
Parametrii grilajului:
0.596491228070175 3.750000000000000

Multiplicatorii legaturii directe:


2.500000000000000 -5.416666666666667 -5.310672514619883

4 3

3.5 2

1
3

0
2.5
-1
2
-2
1.5
-3

1
-4

0.5 -5

0 -6
1 2 1 2 3

29
Bibliografia
1. Сергиенко A. Б. , Цифровая обработка сигналов, изд. Питер, 2003
2. S.Haykin, B.V. Veen, Signals and Sistems, New Yorc, 1999
3. D.M.Etter, Engineering Problem Solving with MATLAB, Matlab Curriculum Series, 1996

30
1. ANALIZA SEMNALELOR

1.1 Noțiuni de semnal. Caracteristici generale ale semnalelor

Se numeşte semnal o mărime fizică măsurabilă, purtătoare de informaţie, care poate fi transmisă
la distanţă, recepţionată şi/sau prelucrată. Cu alte cuvinte, semnalele sunt mărimi fizice cu ajutorul
cărora se transmit mesaje. Clasa semnalelor ce transmit mesaje este foarte largă, în practică
întâlnindu-se o varietate aproape infinită de semnale. În cele ce urmează, se va aborda problema
modelării formei semnalelor, fără a ne preocupa de conţinutul în informaţie al semnalelor.
Un semnal unidimensional, numit şi semnal 1D, este o funcţie de timp, notată generic prin s(t),
t ∈ℜ . De regulă, mărimea fizică variabilă reprezentând semnalul este o tensiune electrică. Totuşi, în
echipamentele de automatizări se utilizează şi semnale de altă natură fizică, aşa cum sunt, de
exemplu: curentul electric, presiunea aerului instrumental, deplasarea unui corp solid etc. În
telecomunicaţii, semnalul 1D este întotdeauna o tensiune electrică variabilă în timp.
Semnalele se pot aplica unor circuite sau, mai general, unor sisteme dinamice. Fie u(t) semnalul
aplicat la intrarea unui sistem şi y(t) semnalul obţinut la ieşirea acestuia, numit şi răspuns al
sistemului la semnalul de intrare (fig. 1.1).

Fig. 1.1. Sistem dinamic.

Sistemele dinamice realizează prelucrarea semnalelor, conform cu funcţiunile realizate de


echipamentele electronice în care sunt înglobate. Exemplificăm câteva operaţii uzuale de prelucrare
a semnalelor: integrarea unui semnal, derivarea acestuia, filtrarea (extragerea unor componente
spectrale ale semnalului sau, după caz, eliminarea componentelor parazite), modulaţia semnalelor
etc. De fapt, cele mai multe echipamente electronice sunt formate din lanţuri de sisteme dinamice,
care realizează prelucrări consecutive ale semnalelor, conform unei „tehnologii” care determină
funcţiunile realizate de echipamentul respectiv.
Semnalele pot fi: cu timp continuu şi cu timp discret. În circuitele analogice de procesare,
semnalele sunt cu timp continuu, fiind adesea numite semnale analogice.
Semnalele numerice pot fi generate de echipamente numerice sau se pot obţine din cele
analogice prin două operaţii:
• eşantionarea semnalului, adică discretizarea timpului t cu un pas Te, numit perioadă de
eşantionare. Semnalul cu timp discret, s(kTe ), este notat adesea cu s(k), unde k reprezintă timpul
discret, adică pasul curent de eşantionare;
• cuantizarea semnalului, adică discretizarea amplitudinii eşantioanelor s(k). Se alege un pas
de cuantizare, Δ, iar rezultatul operaţiei de cuantizare este un număr întreg, q, astfel încât produsul
q⋅Δ să fie cât mai apropiat de amplitudinea eşantionului cuantizat.
Cele două operaţii se realizează uzual în cadrul unui convertor analogic/numeric (A/N). La
ieşirea acestuia se obţine un şir de valori numerice, {sk}, aferente momentelor de timp discrete k.
Acest şir reprezintă un semnal numeric. Într-un sistem numeric (fig. 1.2), procesarea semnalului de
intrare, {uk}, în vederea obţinerii răspunsului {yk} se realizează prin mijloace software.

Fig. 1.2. Sistem dinamic.

Semnalele care au o evoluţie ce nu este supusă hazardului se numesc semnale deterministe și


pot fi exprimate prin funcții analitice de timp cu un număr finit de parametri. Alături de acestea, se
întâlnesc şi semnalele aleatoare, a căror evoluţie în timp este supusă hazardului, aşa cum sunt
perturbaţiile care afectează sistemele de transmitere şi prelucrare a informaţiilor.
Semnalele transmise în sistemele de telecomunicaţii, în scopul realizării schimbului de mesaje
între doi sau mai mulţi corespondenţi au caracter aleator (întâmplător). Pentru verificarea şi reglarea
funcţionării subansamblurilor constitutive ale sistemelor se transmit semnale deterministe, aşa
numitele semnale test. Cunoscând parametrii caracteristici ai semnalului test introdus într-un
echipament sau sistem electronic, precum şi funcţiile subansamblurilor acestuia, se măsoară
parametrii oscilaţiilor de la ieşire stabilindu-se dacă funcţionarea este corectă.
Din clasa semnalelor unidimensionale menţionăm: semnalul vocal, semnalul radio (modulat în
amplitudine sau în frecvenţă), semnalele furnizate de traductoare ale mărimilor fizice uzuale
(temperatură, viteză ş.a.) etc.
Semnalele bidimensionale, numite şi semnale 2D, sunt, de regulă, imagini. Fie u(x1, x2) un
semnal bidimensional, în raport cu coordonatele spaţiale x1 şi x2. Mărimea u reflectă valoarea
nivelului de gri în punctul de coordonate x1 şi x2.
Analiza semnalelor stabilește posibilitățile de a reprezenta semnalele prin sume discrete sau
continue de funcții elementare (sinusoidale, exponențiale etc.). Această reprezentare este extrem de
utilă în următoarele scopuri practice:
a) analiza spectrală a semnalului în scopul determinării intervalului de frecvențe (banda de
frecvență) ce trebuie alocat canalului de telecomunicații afectat pentru transmiterea lui.
b) determinarea răspunsului circuitelor liniare la un semnal dat. Aceasta se realizează prin
determinarea răspunsului circuitului analizat la un semnal elementar și apoi, aplicând principiul
superpoziției, se determină răspunsul circuitului la suma de semnale elementare care exprimă
semnalul dat.
Analiza semnalelor se simplifică într-o oarecare măsură dacă funcțiile de timp prin care se
exprimă au anumite proprietăți, cum ar fi: periodicitatea, simetria și continuitatea. Vom defini în
continuare aceste noțiuni.
Periodicitatea. Un semnal s(t) este periodic dacă funcția de timp care îl descrie satisface relația:
s(t) = s(t ± kT), (1.1)
unde k este un număr natural: k = 0, 1, 2, ... , iar T reprezintă perioada semnalului (intervalul minim
după care s(t) își repetă variația în timp).
În figura 1.3 (a, b) și (c, d) sunt reprezentate formele de undă (variațiile în timp) ale unor semnale
periodice, respectiv neperiodice.

Fig. 1.3. Semnale periodice (a, b) și neperiodice (c, d).

Din aceste reprezentări se observă că semnalul neperiodic poate fi considerat un caz limită al
semnalului periodic, la care perioada tinde la infinit. Această afirmație poate fi generalizată pentru
orice semnal periodic.
Clasificarea semnalelor în semnale periodice și semnale neperiodice este utilă din punct de
vedere teoretic, întrucât instrumentul matematic de analiză a semnalelor diferă în funcție de
apartenența lor la una din categoriile menționate mai sus. Astfel, după cum se va vedea ulterior,
pentru analiza semnalelor periodice, se utilizează seriile Fourier, iar pentru analiza semnalelor
neperiodice transformata Fourier.
Simetria. Conform acestei proprietăți o mare parte a semnalelor poate fi clasificată în semnale
pare și semnale impare. Un semnal este par sau impar, după cum funcția de timp prin care este definit
satisface relația:
s(−t) = s(t); (1.2)
respectiv:
s(−t) = −s(t). (1.3)
Evident, există semnale care nu pot fi incluse în aceste două categorii. Semnalele din figura 1.3 (a,
c) sunt pare, iar cele din figura 1.3 (b, d) sunt impare.
Notând un semnal par cu sp(t) și unul impar cu si(t) se pot demonstra următoarele relații:
𝑡0 0 𝑡
∫−𝑡0 𝑠𝑝 (𝑡)𝑑𝑡 = 2 ∫0 𝑠𝑝 (𝑡)𝑑𝑡 (1.4)
𝑡0
∫−𝑡0 𝑠𝑝 (𝑡)𝑑𝑡 = 0 (1.5)

Vom demonstra relația (1.4):


0 𝑡 0 0 𝑡
∫−𝑡0 𝑠𝑝 (𝑡)𝑑𝑡 = ∫−𝑡0 𝑠𝑝 (𝑡)𝑑𝑡 + ∫0 𝑠𝑝 (𝑡)𝑑𝑡.

Făcând substituția t = -t’ în prima integrală a membrului drept, aceasta devine:


0 0 0
∫−𝑡 𝑠𝑝 (𝑡)𝑑𝑡 = ∫𝑡 𝑠𝑝 (−𝑡 , )(−𝑑𝑡 , ) = − ∫𝑡 𝑠𝑝 (−𝑡 , )𝑑𝑡 , .
0 0 0

Folosind relația (1.2) și inversând limitele de integrare, obținem succesiv:


0 0 𝑡0 𝑡0
− ∫ 𝑠𝑝 (−𝑡 , )𝑑𝑡 , = − ∫ 𝑠𝑝 (𝑡 , )𝑑𝑡 , = ∫ 𝑠𝑝 (𝑡 , )𝑑𝑡 , = ∫ 𝑠𝑝 (𝑡)𝑑𝑡
𝑡0 𝑡0 0 0

și deci:
𝑡0 0 𝑡
∫−𝑡0 𝑠𝑝 (𝑡)𝑑𝑡 = 2 ∫0 𝑠𝑝 (𝑡)𝑑𝑡.

Relația (1.5) se demonstrează în mod similar.


În analiza spectrală a semnalelor intervine deseori calculul unor integrale de forma (1.4) sau
(1.5). Ca atare, clasificarea unor semnale în pare și impare aduce o simplificare substanțială a
calculului lor.
Continuitatea. Un semnal s(t) este continuu la momentul t = t0, dacă:
lim 𝑠(𝑡0 − 𝜀) = lim 𝑠(𝑡0 + 𝜀), (1.6)
𝑠→0 𝑠→0

unde ɛ este o valoare pozitivă.


Conform acestei definiții, semnalele din figura 1.3 (c, b) sunt continue pe tot domeniul lor de
τ
definiție, în timp ce semnalul din figura 1.3 (a), prezintă discontinuități la t = ± 2 + kT, iar cel din
τ τ
figura 1.3 (c), are două discontinuități la − 2 și + 2.

Mărimea discontinuității în punctul t0 este definită prin relația :


𝐷 = lim 𝑠(𝑡0 − 𝜀) − lim 𝑠(𝑡0 + 𝜀). (1.7)
𝜀→0 𝜀→0
τ τ
Pentru semnalul din figura 1.3 (c), D =-A la t = − 2 și D =A la t = 2.
1.2 Reprezentarea semnalelor în domeniul timp și în domeniul frecvență

Orice semnal s(t) poate fi caracterizat prin două reprezentări:


a) reprezentarea în domeniul timp;
b) reprezentarea în domeniul frecvență.
Aceste reprezentări mai sunt denumite în mod curent și formă de undă a semnalului, respectiv
spectrul de frecvențe al semnalului. Oricare din aceste două reprezentări caracterizează în mod univoc
semnalul. Altfel spus, unei reprezentări în domeniul timp îi corespunde o singură reprezentare în
domeniul frecvență și, invers, unei reprezentări în frecvență îi corespunde o singură reprezentare în
timp.
Trecerea de la o reprezentare la alta se face cu ajutorul seriilor Fourier pentru semnalele
periodice, respectiv a transformatei Fourier sau a transformatei Laplace pentru semnalele neperiodice
(atunci când seria Fourier, respectiv transformata Fourier sau Laplace există).
Pentru a înțelege această dublă reprezentare a semnalelor, să considerăm un semnal sinusoidal:
s(t) = A0 sin(ω0 t + φ0 ), (1.8)
unde A0 , ω0 , și φ0 reprezintă în ordine: amplitudinea semnalului, frecvența unghiulară sau pulsația,
respectiv faza inițială.
Considerând că semnalul descris prin (1.8) este un semnal electric, parametrii ce-l definesc sunt
următorii:
• A0 – amplitudinea semnalului [V] sau [A].
Observaţie:
În practică este des utilizată valoarea efectivă a semnalului, definită astfel:
√2
Aef = A = 0,707 ∙ A0 .
2 0
• ω0 - pulsaţia [rad /s]
Cum
2𝜋
ω0 = 2𝜋𝑓 = ,
𝑇
se pot pune în evidenţă alţi doi parametrii:
• 𝑓 - frecvenţa semnalului [Hz];
• 𝑇 – perioada semnalului [s].
Relaţia matematică dintre frecvenţă şi perioadă este următoarea:
1
𝑓= .
𝑇
• φ0 - faza iniţială [rad].
Utilizând parametrii electrici asfel definiţi, expresia analitică (1.8) a semnalului sinusoidal are forma:
2𝜋
𝑠(𝑡) = √2𝐴𝑒𝑓 sin(2𝜋𝑓𝑡 + 𝜑0 ) = √2𝐴𝑒𝑓 sin ( 𝑡 + 𝜑0 ).
𝑇
Forma de undă a semnalului și semnificația parametrilor A0 , ω0 , și φ0 sunt ilustrate în figura
1.4. În această reprezentare variabila independentă este t.

Fig. 1.4. Forma de undă a unui semnal sinusoidal.

Reprezentarea în domeniul frecvență se obține prin considerarea pulsației ω ca variabilă


independentă.
Semnalul s(t) este considerat în domeniul frecvență prin parametrii A0 , ω0 , φ0 . Reprezentările
grafice corespunzătoare sunt date în figura 1.5.

Fig. 1.5. Reprezentarea unui semnal sinusoidal în domeniul frecvență.

În cazul unui semnal exprimat printr-o sumă de semnale sinusoidale:


s(t) = ∑𝑁
𝑖=1 Ai sin(ωi t + φi ) (1.9)
se obțin reprezentările în frecvență din figura 1.6.

Fig. 1.6. Diagramele spectrale de amplitudini și faze.


Reprezentările grafice din figura 1.5 (a) și 1.6 (a) se numesc spectre de amplitudini, iar cele
din figura 1.5 (b) și 1.6 (b) se numesc spectre de faze. Se remarcă faptul că fiecărui semnal
sinusoidal îi corespunde câte o linie spectrală în cele două diagrame. Din acest motiv, aceste
diagrame spectrale se numesc spectre discrete.
Dacă în expresia (1.9) N tinde la infinit, iar (ωi+1– ωi) tinde la zero, atunci în diagramele
spectrale de amplitudini și faze, liniile spectrale devin atât de dense încât nu se poate face nicio
distincție între două linii succesive. În acest sens, spectrele discrete Ai (ωi ) și φi (ωi ) se transformă
în spectrele continue A(ω) și φ(ω).

1.3. Semnale elementare


Determinarea răspunsului unui circuit liniar la o excitație oare care este mult simplificată
dacă semnalul ce constituie excitația poate fi descompus într-o sumă de semnale elementare.
Conform principiului superpoziției răspunsul circuitului la excitația dată va fi suma răspunsurilor
la semnalele elementare ce formează excitația. Semnalele elementare trebuie să îndeplinească
două cerințe esențiale:
a) Să fie exprimate prin funcții de timp cât mai simple pentru a simplifica calculul
răspunsului circuitului la semnalul elementar;
b) Funcțiile prin care sunt reprezentate să aparțină unei clase de funcții care să permită
descompunerea oricărui semnal într-o sumă convergentă de funcții aparținând acelei clase.
Există un număr de clase de funcții care satisfac aceste cerințe. Dintre acestea cele mai
importante sunt funcțiile exponențiale, treaptă unitate și impuls unitate.
Vom prezenta în continuare cele trei tipuri de funcții.
Funcția exponențială este definită prin expresia:
f(t) = Aest pentru −∞ < t < ∞, (2.10)
unde s este în general o mărime complexă, cunoscută sub denumirea de frecvență complexă.
s = σ + jω. (2.11)
Următoarele funcții se pot exprima cu ajutorul funcției exponențiale, dând valori diferite părților
reală și imaginară ale lui s:
a) Constanta, A = Ae0t , se obține pentru σ = 0, ω = 0;
b) Exponențială reală, Aeσt , se obține pentru σ ≠ 0, ω = 0;
c) Funcția cosinusoidală, 2𝐴 cos 𝜔𝑡 = 𝐴𝑒 𝑗𝜔𝑡 + 𝛼𝑒 −𝑗𝜔𝑡 , se obține pentru σ = 0, ω ≠ 0;
d) Cosinusoidală variind exponențial, 2𝐴𝑒 𝜎𝑡 cos 𝜔𝑡 = 𝐴𝑒 (𝜎+𝑗𝜔𝑡) + 𝐴𝑒 (𝜎−𝑗𝜔𝑡) , se obține
pentru σ ≠ 0, ω ≠ 0.
Varietatea de funcții descrise prin exponențiala Aest justifică de ce aceasta stă la baza
descompunerii oricărui semnal într-o sumă (discretă sau continuă) de funcții exponențiale.
Instrumentul matematic care realizează această descompunere este transformata Laplace.
Clasa funcțiilor ce pot fi reprezentate prin exponențiala descrisă prin relația (2.10) este destul
de largă, cuprinzând toate formele de undă reprezentate în figura 2.5.

Fig.2.5. Formele de undă descrise de funcția exponențială Aest .


Funcția treaptă unitate reprezentată în figura 2.76 este definită astfel:
0, pentru t < 0
𝑢(𝑡) = { (2.12)
1, pentru t > 0.
Prin schimbarea amplitudinii și deplasarea în timp, funcția treaptă servește la descompunerea
unui semnal într-o sumă de funcții treaptă sau la compunerea unui semnal din funcții treaptă.
Astfel, impulsul din figura 2.7, a, poate fi constituit din două trepte unitate, conform relației:
𝑠(𝑡) = 𝐴𝑢(𝑡 − 𝑇) − 𝐴𝑢(𝑡 − 2𝑇)
Formarea grafică a impulsului este ilustrată în figura 2.7,
b.
Funcția impuls unitate sau impulsul Dirac δ(t). Funcția
δ(t) poate fi definită prin relațiile următoare:

𝛿(𝑡) = 0 pentru t ≠ 0 și ∫−∞ 𝛿(𝑡) = 1 (2.13)

Se observă că δ(t) nu este definit printr-o funcție de


timp în sensul matematic. δ(t) poate fi considerat ca o
limită a succesiunii de impulsuri dreptunghiulare de durata τk și înălțime 1/τk, când τk tinde la zero
(fig.2.8).
Într-adevăr, pe măsură ce τk tinde la zero, impulsul dreptunghiular se îngustează din ce în ce
mai mult, la limită localizându-se la t = 0. În tot acest proces de trecere la limită suprafața
impulsului dreptunghiular se păstrează constantă și egală cu unitatea, pe seama creșterii
amplitudinii, care tinde la ∞ când τk tinde la zero:
lim 𝑝𝜏𝑘 (𝑡) = 𝛿(𝑡).
𝜏𝑘 →0

Exprimând impulsul dreptunghiular cu ajutorul funcțiilor treaptă, obținem:


1
𝑝𝜏𝑘 = 𝜏 [𝑢(𝑡) − 𝑢(𝑡 − 𝜏𝑘 )] (2.14)
𝑘

deci:
𝑢(𝑡)−𝑢(𝑡−𝜏𝑘 )
𝛿(𝑡) = lim 𝑝𝜏𝑘 (𝑡) = lim (2.15)
𝜏𝑘 →0 𝜏𝑘 →0 𝜏𝑘
În membrul drept al relației (2.15) recunoaștem derivata funcției treaptă unitate. Așadar:
𝛿(𝑡) = 𝑢, (𝑡), (2.16)
Derivata treptei unitate este zero pe tot domeniul, cu excepția punctului de discontinuitate t=0
unde, riguros matematic, derivata nu ar trebui să existe. Totuși, utilizând această funcție improprie
care este impulsul Dirac, am găsit că derivata treptei unitate în punctul de discontinuitate t = 0
este un impuls Dirac localizat în t = 0. Dacă am mări treapta unitate de A ori, derivata va fi evident
Aδ(t). Pe de altă parte, mărimea discontinuității acestei noi funcții în punctul t = 0 este, conform
relației (2.7):

D = 𝐴 [lim 𝑢(0 + 𝜏) − lim 𝑢(0 − 𝜏)] = 𝐴.


𝜏→0 𝜏→0

Putem deci concluziona că derivata unei funcții într-un punct de discontinuitate t0 este un
impuls Dirac localizat în acel punct ponderat cu mărimea discontinuității funcției în punctul
respectiv, adică Dδ(t – t0).
Astfel, pentru semnalul din figura 2.1, c, derivata în t = -τ/2 este Aδ(t + τ/2), iar în punctul t
= τ/2, derivata este -Aδ(t - τ/2). Această proprietate conduce la calcule mult mai simplificate în
analiza spectrală a semnalelor cu discontinuități.
O proprietate importantă a funcției δ(t) este exprimată de integrala:

∫−∞ s(t)δ(t − 𝑡0 )dt = s(t). (2.17)
Această integrală se poate evalua simplu, ținând seama de faptul că δ(t − 𝑡0 ) = 0 pentru orice t
≠ 0. Relația (2.17) exprimă proprietatea de eșantionare a funcției impuls unitate. Evident, dacă
t0=0, obținem conform relației (2.17):

∫−∞ s(t)δ(t)dt = s(0). (2.18)
1.4. Semnale periodice. Reprezentarea semnalelor periodice prin serii Fourier
Descompunerea semnalelor periodice în funcții elementare se realizează cu ajutorul
seriilor Fourier. Un semnal periodic s(t) de perioadă T poate fi dezvoltat în serie Fourier dacă
satisface condițiile lui Dirichlet, și anume:
a) s(t) să fie o funcție de modul integrabil pe interval, adică
t0 +T
∫t0 |𝑠(𝑡)|𝑑𝑡 să fie finită; (2.19)

b) să aibă un număr finit de discontinuități finite în intervalul unei perioade;


c) să aibă un număr finit de maxime și minime în interiorul unei perioade.
Îndeplinirea acestor condiții asigură convergența uniformă a seriilor.
Dezvoltarea în serie Fourier poate să ia următoarele forme:
Forma trigonometrică:
𝑎0
s(t) = + ∑∞
𝑛=1(𝑎0 cos 𝑛𝜔0 𝑡 + 𝑏0 sin 𝑛𝜔0 𝑡) (2.20)
2
1 𝜔0
unde 𝑓0 = 𝑇 = reprezintă frecvența de repartiție a semnalului periodic ( i se mai spune
2𝜋

frecvență fundamentală ).
Coeficienții 𝑎0 , 𝑎𝑛 , 𝑏𝑛 se calculează cu relațiile:
2 t +T
a0 = 𝑇 ∫𝑡 0 𝑠(𝑡)𝑑𝑡; (2.21)
0

2 t +T
an = 𝑇 ∫𝑡 0 𝑠(𝑡) cos 𝑛𝜔0 𝑡 𝑑𝑡; (2.22)
0

2 t +T
bn = 𝑇 ∫𝑡 0 𝑠(𝑡) sin 𝑛𝜔0 𝑡 𝑑𝑡; (2.23)
0

Seria trigonometrică poate fi reprezentată într-o formă mai compactă, denumită formă
armonică, utilizând numai funcții cosinusoidale.

Forma armonică a seriei Fourier este:


𝑎0
s(t) = + ∑∞
𝑛=1 𝐴𝑛 cos(𝑛𝜔0 𝑡 + 𝜑𝑛 ), (2.24)
2

unde:
𝑏
An = √𝑎𝑛2 + 𝑏𝑛2 și 𝜑𝑛 = −𝑎𝑟𝑐𝑡𝑔 𝑎𝑛 (2.25)
𝑛

Deci, seria Fourier armonică dă o descompunere a semnalului periodic s(t) într-o sumă de
semnale cosinusoidale ale căror frecvențe sunt multipli ai frecvenței de repetiție a semnalului
periodic. Aceste componente se mai numesc armonici. Atunci când determinăm analitic
amplitudinile An, sau le măsurăm experimental, spunem că facem analiza armonică a semnalului.
Forma complexă sau exponențială a seriei Fourier este dată de expresia:
s(t) = ∑∞
𝑛=−∞ 𝐶𝑛 𝑒
𝑗𝑛𝜔0 𝑡
(2.26)
și se obține din seria trigonometrică prin exprimarea funcțiilor sinus și cosinus, sub formă
exponențială, utilizând relațiile lui Euler. Coeficienții seriei Fourier complexe se calculează cu
relația:
1 t +T
𝐶𝑛 = 𝑇 ∫𝑡 0 s(t)𝑒 −𝑗𝑛𝜔0 𝑡 𝑑𝑡. (2.27)
0

Coeficienții 𝐶𝑛 sunt mărimi complexe și deci pot fi reprezentați prin modul și fază:
𝐶𝑛 = |𝐶𝑛 |𝑒 𝑗𝜙𝑛 . (2.28)
Relațiile de legătură dintre coeficienții 𝐶𝑛 și coeficienții seriilor trigonometrică și armonică sunt:
𝑎𝑛 −𝑓𝑏𝑛
𝐶𝑛 = 𝐶(𝑛𝜔0 ) = ; (2.29)
2
𝑎𝑛 +𝑓𝑏𝑛
𝐶𝑛 = 𝐶(−𝑛𝜔0 ) = ; (2.30)
2
𝐴𝑛 𝑎0
|𝐶𝑛 | = |𝐶−𝑛 | = ; 𝐶0 = ; (2.31)
2 2
𝑏𝑛
𝜙𝑛 = 𝜑𝑛 = −𝑎𝑟𝑐𝑡𝑔 . (2.32)
𝑎𝑛

Alegerea limitelor de integrare în evaluarea coeficienților seriilor Fourier este arbitrară;


esențial este ca integrarea să se facă la o perioadă (de la -T/2 la +T/2, de la zero la T etc.)
Pentru semnalele pare, seria trigonometrică coincide cu cea armonică, deoarece bn =0
conform relațiilor (2.23) (în care se ia t0 = -T/2) și (2.5). Similar, pentru semnalele impare, a0 =
an = 0 în baza relațiilor (2.21), (2.22) (cu t0 = -T/2) și (2.5). Se obține astfel o sumă de funcții
sinusoidale, care poate fi pusă în forma (2.24).
Caracteristica în domeniul frecvență a semnalelor periodice se face prin reprezentarea
diagramelor spectrale de amplitudini și așa cum este menționat în paragraful 2.2 se pot reprezenta
fie diagramele spectrale asociate seriei armonice, 𝐴𝑛 (𝑛𝜔0 ) și 𝜙𝑛 (𝑛𝜔0 ), fie diagramele spectrale
asociate seriei complexe |𝐶𝑛 (𝑛𝜔0 | și 𝜙𝑛 (𝑛𝜔0 ).
Deoarece semnalele periodice sunt exprimate prin sume discrete de semnale elementare de
tip cosinusoidal, respectiv exponențial, rezultă că spectrele de amplitudini și cele de faze vor fi
discrete, liniile spectrale asociate fiecărei componente existând numai la multiplii frecvenței de
repetiție.
La spectrele asociate seriei armonice, liniile spectrale vor fi localizate la frecvențele: 0, 𝜔0 ,
2𝜔0 , 3𝜔0 , ... etc., în timp ce la spectrele asociate seriei exponențiale liniile spectrale vor fi
localizate la: 0, ±𝜔0 , ±2𝜔0 , ±3𝜔0 , ... etc. Semnificația frecvențelor negative rezultă din funcția
cosinusoidală:
2𝐴 cos 𝜔𝑡 = 𝐴𝑒 𝑗𝜔𝑡 + 𝐴𝑒 −𝑗𝜔𝑡
două componente exponențiale localizate simetric față de ordonată se însumează și dau o
componentă cosinusoidală de frecvență pozitivă. Frecvențele negative sunt introduse de acest
instrument matematic de analiză, care este seria Fourier complexă, și care operează cu semnale
exponențiale. Acestea nu au semnificație fizică luate individual, ci numai în perechi de
componente de frecvențe ±𝑛𝜔0 . Ca atare, atunci când se analizează spectrul unui semnal periodic
utilizând seria exponențială, trebuie să se țină seama că frecvențele componentelor cu existență
reală sunt pozitive, iar amplitudinile acestor componente sunt duble față de cele date de seria
complexă. Seria complexă este preferată celei armonice datorită simplității operațiilor (derivare,
integrare) cu funcții exponențiale, precum și datorită caracterului mai general al acestei
reprezentări. Transformatele Fourier și Laplace utilizate în analiza semnalelor neperiodice
operează tot cu funcții exponențiale.
În majoritatea cazurilor coeficienții 𝐶𝑛 sunt fie reali, fie pur imaginari. În aceste cazuri
descriem funcția numai printr-un spectru, luând pe ordonată valorile reale ale amplitudinilor și
nu valorile lor în modul. Acest spectru îi numai spectru de frecvențe.
Banda de frecvențe ocupată de un semnal periodic. Teoretic, spectrele semnalelor periodice
se întind de la ω = 0 la ω = ∞. Practic spectrele sunt limitate. Reprezentarea diagramei spectrale
de amplitudini pune în evidență legea de descreștere a amplitudinilor, permițându-ne să limităm
seria la un termen de la care începând amplitudinea componentelor este neglijabilă. Trunchierea
seriei la un anumit termen depinde de cerințele impuse tipului de comunicație care utilizează
semnalul respectiv. Astfel, analiza spectrală a unui semnal ne permite să stabilim lățimea benzii
de frecvențe efectiv ocupată de acel semnal.
Exemplul 2.1. Să se determine seria Fourier complexă a semnalului periodic reprezentat prin
succesiunea de impulsuri dreptunghiulare din figura 2.9 și să se reprezinte spectrul de frecvențe
luând pe abscisă frecvența f în Hz. Reprezentarea spectrului se va face pentru următoarele cazuri:
a) A = 1V, T = 40 ms, τ = 20 ms;
b) A = 1V, T = 100 ms, τ = 20ms.

Fig.2.9. Semnal periodic dreptunghiular.


Soluție

s(t) = ∑ 𝐶𝑛 𝑒 𝑗𝑛𝜔0𝑡
𝑛=−∞
s(t) poate fi scris analitic pe o perioadă T astfel:
τ 𝜏
𝐴 pt. (− 2 < 𝑡 < 2)
s(t) = { τ 𝜏 (2.33)
0 pt. (2 < 𝑡 < 𝑇 − 2)

Coeficienții C îi determinăm cu relația (2.27):


1 t0+T
𝐶𝑛 = ∫ s(t)𝑒 −𝑗𝑛𝜔0𝑡 𝑑𝑡
𝑇 𝑡0

𝜏 𝜏 𝜏 𝜏
𝑗𝑛𝜔0 −𝑗𝑛𝜔0
1 𝐴 2𝐴 𝑒 2 −𝑒 2
𝐶𝑛 = − ∫ 𝐴𝑒 −𝑗𝑛𝜔0 𝑑𝑡 = −
2
𝜏 𝑒 −𝑗𝑛𝜔0 𝑡 | 2
𝜏 = ∙ ==
𝑇 − 𝑗𝑛𝜔0 𝑇 − 𝑛𝜔0 𝑇 2𝑗
2 2
𝜏 𝑛𝜔0 𝜏
2𝐴 𝑛𝜔0 𝐴𝜏 sin
2 2
∙ sin
𝜏 = ( 𝑛𝜔0 𝜏 ). (2.34)
𝑛𝜔0 𝑇 2 𝑇
2 2

Funcția din paranteză este de forma (sin x) / x. Această funcție are un rol important în teoria
semnalelor.
Notăm: sinc x = (sin x) / x. (2.35)
Reprezentarea grafică a acestei funcții pare este arătat în figura 2.10.
Trecerea prin zero ale funcției sinc se obțin pentru sin x = 0, adică x = ±kπ. Cu notația (2.35),
relația (2.34) pentru C se scrie:
𝐴𝜏 𝑛𝜔0 𝜏 𝑛𝜔0 𝜏 𝐴𝜏
𝐶𝑛 = sinc = 𝐴𝛿sinc = sinc nπτ𝑓0 (2.36)
𝑇 2 2 𝑇

Fig.2.10. Reprezentarea grafică a funcției sinc x.

Raportul δ = τ/T poartă denumirea de coeficient de umplere. Seria exponențială a semnalului s(t)
dat în figură este:
𝑛𝜔0 𝜏
s(t) = Aδ ∑∞
𝑛=−∞ sinc 𝑒 𝑗𝑛𝜔0𝑡 . (2.37)
2

Din relația (2.36) se observă că Cn este real, deci reprezentarea în domeniul frecvență constă dintr-
un singur spectru: Cn(nω0). Deoarece sinc x este funcție pară, rezultă că Cn = - Cn.
Frecvența fundamentală (de repetiție) este ω0 = ± (2π)/T. Spectrul de frecvențe este o funcție
discretă și există numai la ω = ± ω0; 2ω0; ... etc. Amplitudinile corespunzătoare se obțin din relația
𝑛𝜔0 𝜏
(2.36) în care n = 0, 1, 2, ... etc. și descresc după o înfășurătoare dată de funcția 𝐴𝛿sinc .
2
𝑛𝜔0 𝜏
Trecerile prin zero ale acestei funcții au loc la sinc = 0, adică:
2
𝑛𝜔0 𝜏 2𝑘𝜋
= ±𝑘𝜋, sau 𝑛𝜔0 = ± (2.38)
2 2

Reprezentarea spectrului în cazul general (fără particularizările din enunț) este dată în figura 2.11,
a și b, am reprezentat Cn(nf0) care diferă de Cn(nω0) doar printr-o raportare a axei frecvențelor la
2π, astfel încât trecerile prin zero ale înfășurătoarei devin:
𝑘
𝑛𝑓0 = ± 𝜏 , (2.39)

iar componentele spectrale sunt localizate la f = 0, ±f0, ±2f, ..., etc. unde f0 = 1/T.

Fig.2.11. Spectrul de amplitudini al semnalului periodic dreptunghiular


în funcție de pulsația ω, respectiv frecvența f.

𝐴𝑛 𝑎0
|𝐶𝑛 | = |𝐶−𝑛 | = ; 𝐶0 =
2 2
Să particularizăm acum spectrul din figura 2.11, b, pentru care cele două cazuri din enunț.
Conform relațiilor (2.36) și (2.32) coeficienții 𝐶𝑛 și 𝐴𝑛 sunt egali: 𝐶0 =0.5, 𝐶1 =0.318, 𝐶2 =0, 𝐶3 =-
0.106, 𝐶4 =0, etc., corespunzător amplitudinile 𝐴0 =0.5, 𝐴1 =0.637, 𝐴2 =0, 𝐴3 =-0.212, 𝐴4 =0, etc. în
cazul a) și 𝐶0 =0.2, 𝐶1 =0.187, 𝐶2 =0.151, 𝐶3 =0.101, 𝐶4 =0.047, 𝐶5 =0, 𝐶6 =-0.031, 𝐶7 =-0.043, 𝐶8 =-
0.037, 𝐶9 =-0.021, 𝐶10 =0, etc. corespunzător amplitudinile 𝐴0 =0.2, 𝐴1 =0.374, 𝐴2 =0.302, 𝐴3 =
0.202, 𝐴4 = 0.094, 𝐴5 =0, 𝐴6 =-0.062, 𝐴7 =-0.086, 𝐴8 =-0.074, 𝐴9 = -0.042, 𝐴10 = 0, etc. în cazul b).
Observăm că în ambele cazuri lățimea τ a impulsului este aceeași, τ = 20 ms. Rezultă:
1 1
= = 50 Hz.
𝜏 20 ∙ 10−3
În ambele cazuri trecerile prin zero au loc la ± 50 Hz. Perioada diferă de la un caz la altul.
1
Frecvența fundamentală 𝑓0 = 𝑇 este: 25 Hz în cazul a); 10 Hz în cazul b). Deci, componentele se
îndesesc pe măsură ce perioada crește. În banda de frecvențe [0, 1/𝜏] apare o singură componentă
în cazul a) lipsesc armonicile 2𝑓0 , 4𝑓0 , 5𝑓0 etc., care coincid cu trecerile prin zero. Similar, în
cazul b) lipsesc armonicile 5𝑓0 , 10𝑓0 , 15𝑓0 etc.
Înălțimile lobului central 𝐴𝛿, care este chiar mărimea componentei continuie (ω = 0) scade
pe măsură ce perioada crește. Coeficientul de umplere 𝛿 are, în ordine, valorile 0,5 și 0,2.
Spectrele de frecvențe 𝐶𝑛 (𝑓) și 𝐴𝑛 (𝑓) corespunzătoare celor două cazuri din enunț sunt
reprezentate în figurile 2.12, a, b, c, d.
Se observă că pe măsură ce perioada crește, componentele se îndesesc dar scad în
amplitudine. Astfel, în cazul b), componentele sunt de 2,5 ori mai dese, dar amplitudinile sunt de
2,5 ori mai mici. Aceasta este o observație importantă pentru înțelegerea trecerii de la semnalul
periodic la cel neperiodic.

Fig.2.12. Spectrul de amplitudini asociate seriei Fourier exponențiale și armonice


în funcție de frecvență.
Banda de frecvențe ocupată de un astfel de semnal se consideră practic B = 1/τ. Constatăm
că banda nu depunde de perioadă ci de lățimea impulsurilor și va fi cu atât mai mare, cu cât
impulsurile sunt mai înguste.
Exemplul 2.2. Să se calculeze coeficienții seriei Fouriei complexe a semnalului din figura
2.9 prin utilizarea funcției impuls unitate.
Soluție
În prezentarea funcției impuls unitate s-a arătat că la
derivarea unei funcții ce prezintă discontinuitate finită de
mărime D în punctul t0 se obține impulsul 𝐷𝛿(𝑡 − 𝑡0 ).
Aplicând această proprietate pentru semnalul s(t) din figura
2.9, se obține s’(t) reprezentat pe o perioadă în figura 2,13m
și exprimat prin expresia:
𝜏 𝜏
𝑠 ′ (𝑡) = 𝐴𝛿 (𝑡 + 2) − 𝐴𝛿(𝑡 − 2) (2.40)

Derivând ambii membri ai expresiei ce reprezintă seria Fouriei complexă (relația 2.26), se
obține:
𝑠 ′ (𝑡) = ∑∞
𝑛=−∞ 𝑗𝑛𝜔0 𝐶𝑛 𝑒
𝑗𝑛𝜔0 𝑡
(2.41)
Din (2.41) rezultă relația pentru coeficienții Dn ai seriei complexe a lui 𝑠 ′ (𝑡):
𝐷𝑛 = 𝑗𝑛𝜔0 𝐶𝑛 (2.42)
Deci coeficienții 𝐷𝑛 vor fi:
𝜏 𝑇 𝑇
1 ′ (𝑡)𝑒 −𝑗𝑛𝜔0 𝑡 𝐴 𝜏 −𝑗𝑛𝜔0 𝑡 𝜏
𝐷𝑛 = 𝑇 ∫ 𝑠2
𝜏
2
𝑑𝑡 = 𝑇 [∫ 𝛿 (𝑡 + 2) 𝑒
𝑇 𝑑𝑡 − ∫ 𝛿 (𝑡 − 2) 𝑒 −𝑗𝑛𝜔0𝑡 𝑑𝑡]. (2.43)
2
𝑇
− − −
2 2 2

Aplicând proprietatea de eșantionare a impulsului (2.17) se obține:


𝜏 𝜏
𝐴
𝐷𝑛 = (𝑒 +𝑗𝑛𝜔0∙2 − 𝑒 −𝑗𝑛𝜔0∙2 ) (2.44)
𝑇

dar din (2.42) și (2.44) rezultă:


𝜏 𝜏
𝐷 𝐴 𝐴∙𝜏 𝑛𝜔0 𝜏
𝐶𝑛 = 𝑗𝑛𝜔𝑛 = 𝑗𝑛𝜔 𝑇 (𝑒 𝑗𝑛𝜔0∙2 − 𝑒 −𝑗𝑛𝜔0∙2 ) = sinc (2.45)
0 0 𝑇 2

Calculul coeficienților seriei Fouriei a unui semnal exprimat cu ajutorul impulsurilor unitate este
foarte simplu, de aceea metoda prezentă este indicată pentru acele semnale care prin derivări
succesive conduc la impulsuri Dirac. De exemplu, pentur semnalul din fig. 2.1, b, prin două
derivări succesive se ajunge la impulsuri unitate evitând astfel calculul unor integrale prin părți
la care se ajunge pe calea generală.

1.5. Semnale neperiodice


1.5.1. Transformata Fourier

Așa cum s-a arătat în paragraful 2.1. semnalele neperiodice pot fi considerate un caz limită
al semnalelor periodice și anume cazul când perioada T tinde la infinit. Această trecere la limită
poate fi concepută și în modul următor: fiind dat semnalul neperiodic S(t) limitat pe axa
timpulului, facem o prelungire periodică ST(t) a acestui semnal, de perioada T, ca în figura 2.14.
La limită făcând pe T să tindă la infinit, semnalul periodic va avea doar o perioadă pe întreg
domeniul de timp (- ∞ < t < ∞) și va fi reprezentat prin s(t). Semanlul sT(t) poate fi dezvoltat în
serie Fourier complexă. Această serie îl reprezintă pe sT(t) pe tot intervalul iar pe s(t) numai pe
intervalul [-T/2, T/2]. La limită, când T tinde la infinit, seria corespunzătoare lui sT(t) îl reprezintă
pe s(t) pe întreg intervalul (- ∞ < t < ∞).

Fig. 2.14. Periodicizarea unui semnal neperiodic.


Seria Fouriei exponențială pentru sT(t) este:
𝑠𝑇 (𝑡) = ∑∞
𝑛=−∞ 𝐶𝑛 𝑒
𝑗𝑛𝜔0 𝑡
, (2.46)
unde:
𝑇
1
𝐶𝑛 = 𝑇 ∫ 𝑠𝑇 (𝑡)𝑒 𝑗𝑛𝜔0𝑡 𝑑𝑡.
2
𝑇 (2.47)

2

În exemplul 2.1 s-a constatat că cu cât T devine mai mare, frecvența fundamentală 𝜔0 devine
tot mai mică, spectrul tot mai dens, iar amplitudinile componentelor spectrale din ce în ce mai
mici. La limită nu se mai poate face o discriminare între două componente succesive, spectrul
existând pentru orice ω ca rezultat spectrul discret devine un spectru continuu.
Să demonstrăm analitic acest lucru. Să facem subtituția
𝑛𝜔0 = 𝜔𝑛 (2.48)
În relațiile (2.46 – 2.47). Notând Cn(nω0) = Cn(nωn), obținem:
𝑠 𝑇 = ∑∞
𝑛=−∞ 𝐶𝑛 (𝜔𝑛 )𝑒
𝑗𝜔𝑛
𝑑𝑡 (2.49)
𝑇
1
𝐶𝑛 = 𝑇 ∫2𝑇 𝑠𝑇 (𝑡)𝑒 −𝑗𝜔𝑛 𝑑𝑡. (2.50)

2

Utilizând funcția s(ωn), definită prin relația:


2𝜋𝐶𝑛 (𝜔𝑛 )
𝑇𝐶𝑛 (𝜔𝑛 ) = = 𝑠(𝜔𝑛 ) (2.51)
𝜔0

din expresiile (2.49) și (2.50) se obține:


1
𝑠𝑇 (𝑡) = 2𝜋 ∑∞
𝑛=−∞ 𝑠(𝜔𝑛 ) 𝑒
−𝑗𝜔𝑛 𝑡
𝜔0 ; (2.52)
𝑇
𝑠(𝜔𝑛 ) = ∫2𝑇 𝑠𝑇 (𝑡)𝑒 −𝑗𝜔𝑛𝑡 𝑑𝑡. (2.53)

2
La limită, când T tinde la infinit, ω0 devine infinit mic și se poate reprezenta prin dω; ωn
parcurge toată axa frecvențelor, devenind variabila ω; suma discretă dată de (2.52) devine o sumă
continuă (o integrală), iar
lim 𝑠𝑇 (𝑡) = 𝑠(𝑡). (2.54)
𝑇→∞

Cu aceste specificări, relațiile (2.52) și (2.53) iau forma:


1 ∞
𝑠(𝑡) = 2𝜋 ∫−∞ 𝑠(𝜔)𝑒 𝑗𝜔𝑡 𝑑𝜔 (2.55)

𝑠(𝜔) = ∫−∞ 𝑠(𝑡)𝑒 −𝑗𝜔𝑡 𝑑𝑡 (2.56)
Relația (2.55) exprimă semnalul s(t) ca o sumă continuă de funcții exponențiale având
frecvențiale ω ϵ (-∞, ∞) și amplitudinile infinit mici: S(ω)dω/2π.
Amplitudinile sunt proporționale cu funcția S(ω) care este denumită funcție de densitate
spectrală sau spectru de frecvențe. Această funcție este continuă existând pentru orice ω.
Relația (2.56) reprezintă transformata Fourier directă notată simbolic 𝑠(𝜔) = ℱ{𝑠(𝑡)}.
Relația (2.55) reprezintă transformata Fourier inversă ce se notează simbolic: 𝑠(𝑡) = ℱ −1 {𝑆(𝜔)}.
Aceste două transformate exprimă corespondența între reprezentările în timp și ăn frecvență
ale semnalului neperiodic.
În general S(ω) este o funcție complexă și poate fi scrisă sub formă de modul și fază:
𝑆(𝜔) = |𝑆(𝜔)|𝑒 𝑗𝜑(𝜔) . (2.57)
|S(ω)| reprezintă spectrul de amplitudini al semnalului, iar φ(ω) reprezintă spectrul de faze. Dacă
S(ω) este o funcție reală sau una pur imaginară se face o singură reprezentare spectrală: S(ω),
respectiv: S(ω)/j. Vom ilustra în continuare printr-un exemplu utilitatea analizei spectrale a
semnalelor neperiodice.
Exemplul 2.3. Să se determine și să se reprezinte grafic funcțiile de densitate spectrală ale
semnalelor din figura 2.15.

Fig.2.15.
Soluție
Se aplică relația (2.56) pentru semnalele din figurile 2.10, a, b, corespunzptor:

𝑎) ℱ{𝛿(𝑡)} = ∫ 𝛿(𝑡)𝑒 −𝑗𝜔𝑡 𝑑𝑡.
−∞

Utilizând proprietatea de eșantionare a impulsului unitate exprimată prin relația (2.17), se obține:
ℱ{𝛿(𝑡)} = 𝑒 0 = 1. (2.58)
b) Semnalul s1(t) este definit prin relațiile:
0 pt. 𝑡 ≤ 0
𝑠1 (𝑡) = { −𝛼𝑡
𝑒 pt. t > 0
Deci:

1 ∞ 1 𝛼 − 𝑗𝜔 𝛼 − 𝑗𝜔
S1 (𝜔) = ∫ 𝑒 −𝛼𝑡 𝑒 −𝑗𝜔𝑡 𝑑𝑡 = − 𝑒 −(𝛼+𝑗𝜔)𝑡 | = + ∙ =+ 2
0 𝛼 + 𝑗𝜔 0 𝛼 + 𝑗𝜔 𝛼 − 𝑗𝜔 𝛼 + 𝜔2
𝛼 𝜔
=+ 2 2
− 2 𝑗
𝛼 +𝜔 𝛼 + 𝜔2
S1(ω) este o funcție complexă. Vom determina atât spectrul de amplitudini, cât și cel de faze.

𝛼2 𝜔2 𝛼2 + 𝜔2 1
|S1 (𝜔)| = +√ 2 2 2
+ 2 2 2
= + √ 2 2 2
=+ ; (2.60)
(𝛼 + 𝜔 ) (𝛼 + 𝜔 ) (𝛼 + 𝜔 ) √𝛼 2 + 𝜔 2
𝜔
𝜑1 (𝜔) = −𝑎𝑟𝑐𝑡𝑔 𝛼 (2.61)

c) Semnalul s2(t) este definit astfel:


1
pt. |𝑡| ≤ 𝜏/2
s2 (𝑡) = { 𝜏
0 pt. |𝑡| ≥ 𝜏/2
Aplicând transformata Fourier se obține:
𝜔𝜏 𝜔𝜏
1 𝜏/2 1 2 𝜔𝜏 𝜔𝜏
𝑆2 (𝜔) = 𝜏 ∫−𝜏/2 𝑒 −𝑗𝜔𝑡 𝑑𝑡 = 𝑗𝜔𝜏 (𝑒 𝑗 2 − 𝑒 −𝑗 2 ) = 𝜔𝜏 sin = 𝑠𝑖𝑛𝑐 . (2.62)
2 2

Funcțiile de densitate spectrală corespunzătoare celor trei semnale analizate sunt reprezentate
în figura 2.16.
Se observă că impulsul unitate are o densitate spectrală uniformă pe toată axa frecvențelor.
Funcția impuls unitate conține toate cmponentele de la ω = 0 la ω = ∞ cu aceeași amplitudine
relativă. Banda de frecvențe ocupată de semnal este infinită.
a) b) c)
Fig.2.16. Funcțiile de densitate spectrală ale semnalelor din figura 2.15.
Impulsul dreptunghiular de lățime finită τ conține cea mai mare parte a energiei sale în
intervalul 0 < ω < 2π/τ, adică 0 < f < 1/τ. Această concluzie este utilă la stabilirea lățimii de bandă
a sistemului de transmisiune pentru impulsurile de tipul considerat.
Exemplul 2.4. Să se determine semnalele s(t) ale căror funcții de densitate spectrală S(ω)
sunt reprezentate în figura 2.16.

Fig.2.17. Funcțiile de densitate Fig.2.18. Formele de undă ale semnalelor din


spectrală din exemplul 2.4. exemplul 2.4.
Soluție:
Aplicând transformata Fourier inversă obținem:
𝐶 𝐶
𝑎) ℱ −1 {𝐶𝛿(𝜔)} = 2𝜋 𝑒 𝑗0𝑡 = 2𝜋. (2.64)

Dacă s(t) este constantă, spectrul de frecvențe corespunzător conține numai o componentă cu
frecvență ω = 0. Aceasta este un rezultat firesc, deoarece s(t) = C reprezintă un semnal continuu
(ω = 0).
Din această transformare mai rezultă că dacă s(t) conține o constantă:
𝑠(𝑡) = 𝑠1 (𝑡) + 𝐶. (2.65)
atunci transformata Fourier va conține un impuls unitate
𝑆(𝜔) = 𝑆1 (𝜔) + 2𝜋𝐶𝛿(𝜔). (2.66)
b) 𝑆1 (𝜔) este defini astfel:
𝜔0
1 pt. |𝜔| <
𝑆1 (𝜔) = { 2
𝜔0
0 pt. . |𝜔| ≥
2
Utilizând relația (2.55) se obține:
1 𝜔 /2 1 𝜔0 /2 𝜔0 𝜔0 𝑡
𝑠1 (𝑡) = ℱ −1 {𝑆1 (𝜔)} = 2𝜋 ∫−𝜔0 1 ∙ 𝑒 𝑗𝜔𝑡 𝑑𝜔 = 2𝜋𝑗𝜏 𝑒 𝑗𝜔𝑡 | −𝜔0 /2
= 𝑠𝑖𝑛𝑐 . (2.67)
0 /2 2𝜋 2

Reprezentările grafice corespunzătoare în domeniul timp sunt date în figura 2.18.


Exemplele date pun în evidență proprietatea de simetrie a transformatei Fourier. Astfel, unui
impuls unitate în domeniul timp îi corespunde un spectru uniform (o constantă) în domeniul
frecvență și invers; unei constante în timp îi corespunde un impuls Dirac în frecvență.
De asemenea, se remarcă faptul că unui semnal finit în timp îi corespunde un spectru infinit
și invers. Rezultă că, un semnal finit în timp este infinit în frecvență și invers. Aceasta este
proprietatea care stă la baza transmiterii simultane a mai multor semnale pe un același canal de
telecomunicații: semnalele fiind finite fie în timp, fie în frecvență, pot fi separate astfel încât să
nu apară suprapuneri în domeniul respectiv. Transformatele Fourier, stabilind o corespondență
binivocă între cele două domenii, rezultă că un semnal este unic determinat de oricare din aceste
două reprezentări în timp sau în frecvență.

1.5.2. Proprietăți ale transformatei Fourier


Calculul tranformatelor Fourier pentru multe situații ce intervin în practică se simplifică
substanțial dacă se ține seama de următoarele proprietăți:
1. Liniaritatea. Transformata Fourier a sumei dintre două semnale s1(t) și s2(t) este suma
transformatelor Fourier individuale:
ℱ{𝑐1 𝑠1 (𝑡) + 𝑐2 𝑠2 (𝑡)} = 𝑐1 𝑆1 (𝜔) + 𝑐2 𝑆2 (𝜔). (2.68)
Egalitatea (2.68) este evidentă pornind de la definiția (2.56).
2. Simetria. Transformatele Fourier directă și inversă sunt simetrice în raport cu funcțiile ce
se trasnformă.
Dacă
ℱ{𝑠(𝑡)} = 𝑆(𝜔),
atunci
ℱ{𝑆(𝑡)} = 2𝜋 𝑠(−𝜔). (2.69)
Demonstrație: Conform definițiilor (2.55) și (2.56) rezultă:

2𝜋 𝑠(−𝑡) = ∫−∞ 𝑆(𝜔)𝑒 −𝑗𝜔𝑥 𝑑𝜔.
Deoarece varibila ω, în această integrală, este o variabilă arbitrară ea poate fi înlocuită cu variabila
x. De aceea

2𝜋 𝑠(−𝑡) = ∫−∞ 𝑆(𝑥)𝑒 −𝑗𝜔𝑡 𝑑𝑥.
Înlocuind variabila t prin ω obținem

2𝜋 𝑠(−𝜔) = ∫−∞ 𝑆(𝑥)𝑒 −𝑗𝑥𝜔 𝑑𝑥.
Trecînd de la variabila arbitrară x la variabila t obținem

2𝜋 𝑠(−𝜔) = ∫−∞ 𝑆(𝑡)𝑒 −𝑗𝜔𝑡 𝑑𝑡 = ℱ{𝑆(𝑡)}.
Dacă funcția s(t) este o funcție pară, atunci s(-t) = s(t) și
ℱ{𝑆(𝑡)} = 2𝜋 𝑠(𝜔). (2.70)
Această proprietate este ilustrată în figura 2.19, de unde rezultă că transformata Fourier a
funcției de declanșare (astfel poate fi numit impuls dreptunghiular) este funcția de pondere și
invers transformata Fourier a funcției de pondere este funcția de declanșare. Particularitatea de
simetrie este valabilă pentru toate funcțiile pare sau impare. Dacă funcția este impară simetria nu-
i atât de evidentă însă ea există, după cum reiese din relația (2.70).

Fig.2.19. Proprietatea de simetrie a transformatei Fourier.

3. Schimbarea scărilor. O dilatare a scării timpului pentru s(t) se reduce la o comprimare a


scării frecvențelor pentru S(ω) și reciproc. Exprimarea analitică a acestei proprietăți este:
1
ℱ{𝑠(𝛼𝑡)} = |𝛼| 𝑆(𝜔/𝛼). (2.70)
Demonstrație: Fie s(t) semnalul și S(ω) transformata Fourier a lui. Pentru un număr real
pozitiv α la care se multiplică argumentul funcției s(t) transformata Fourier se determină cu
relația:

ℱ{𝑠(𝛼𝑡)} = ∫ 𝑠(𝛼𝑡)𝑒 −𝑗𝜔𝑡 𝑑𝑡.
−∞

Fie x = αt. Atunci


1 ∞ 1
ℱ{𝑠(𝛼𝑡)} = ∫ 𝑠(𝑥)𝑒 −𝑗𝜔𝑥/𝛼 𝑑𝑥 = 𝑆(𝜔/𝛼).
𝛼 −∞ 𝛼
1
Deci semnalului 𝑠(𝛼𝑡) îi corespunde transformata Fourier 𝛼 𝑆(𝜔/𝛼).

Similar se poate de arătat că pentru 𝛼 < 0


1 𝜔
ℱ{𝑠(𝛼𝑡)} = 𝑆 ( ).
−𝛼 𝛼
Proprietatea (2.71) este demonstrată.
Semnalul comprimat în domeniul timpului se schimbă în timp de α ori mai repede și, ca
urmare, frecvențele componentelor lui trebuie să se măsoare de α ori. Exprimarea analitică a
acestei proprietați este:
ℱ{𝑠(𝑡/𝛼)} = |𝛼|𝑆(𝛼𝜔). (2.72)
Proprietatea schimbării scărilor este ilustrată în figura 2.20.
4. Întârzierea semnalului. Întârzierea în domeniul timp a lui s(t) cu t0 conduce la o
multiplicare a transformatei Fourier S(ω) cu 𝑒 −𝑗𝜔𝑡𝑜 .
ℱ{𝑠(𝑡 − 𝑡0 )} = 𝑒 −𝑗𝜔𝑡𝑜 𝑆(𝜔). (2.73)
Demonstrație:

Fig.2.20. Ilustrarea procesuluide comprimare a funcției în timp: a) funcția de durata 2τ și


transformata ei Fourier; b) funcția de durata τ și transformata ei Fourier.

𝓕{𝒔(𝒕 − 𝒕𝟎 )} = ∫ 𝒔(𝒕 − 𝒕𝒐 )𝒆−𝒋𝝎𝒕 𝒅𝒕.
−∞

Notând 𝑡 − 𝑡𝑜 = 𝜏 rezultă că 𝑑𝑡 = 𝑑𝜏 și înlocuind în integrala precedentă se găsește:


∞ ∞
ℱ{𝑠(𝑡 − 𝑡0 )} = ∫ 𝑠(𝜏)𝑒 −𝑗𝜔(𝜏+𝑡𝑜 ) 𝑑𝜏 = 𝑒 −𝑗𝜔𝑡𝑜 ∫ 𝑠(𝜏)𝑒 −𝑗𝜔𝜏 𝑑𝜏.
−∞ −∞

Ultima integrală este tocmai 𝑆(𝜔), deci relația (2.73) este demonstrată.
Această însușire ne demonstrează că deplasarea în timp a funcției semnalului cu t o nu
schimbă spectrul de amplitudini |𝑆(𝜔)|. Schimbările intervin numai în spectrul de faze care se
multiplică cu −𝜔𝑡𝑜 a fiecărei componente ale semnalului păstrând forma lor inițială.
5. Deplasarea spectrului (modularea). Orice deplasare a funcției de densitate spectrală S(ω)
cu ω0 conduce la o multiplicare a semnalului s(t) cu 𝑒 𝑗𝜔𝑜 𝑡 . Expresia analitică a acestei
proprietăți este dată prin relația:
ℱ −1 {𝑆(𝜔 − 𝜔𝑜 )} = 𝑒 𝑗𝜔𝑜 𝑡 𝑠(𝑡). (2.74)
Demonstrație: Fie S(ω) transformata Fourier și S(ω – ωo) funcția deplasată cu ωo. Vom zice:
1 ∞
ℱ −1 {𝑆(𝜔 − 𝜔𝑜 )} = ∫ 𝑆(𝜔 − 𝜔𝑜 )𝑒 𝑗𝜔𝑡 𝑑𝜔.
2𝜋 −∞
Notând 𝜔 − 𝜔𝑜 = 𝜆, găsim:

−1 {𝑆(𝜔
1 𝑗𝜔 𝑡 ∞
ℱ − 𝜔𝑜 )} = 𝑒 𝑜 ∫ 𝑆(𝜔 − 𝜔𝑜 )𝑒 𝑗𝜆𝑡 𝑑𝜆,
2𝜋 −∞

de unde decurge relația (2.74).


Necesitatea deplasării spectrului de frecvențe a semnalelor apare în sistemele de
telecomunicații. De obicei, deplasarea spectrului se realizează în rezultatul înmulțirii semnalului
s(t) cu un semnal sinusoidal. Această procedură este cunoscută sub denumirea de modulație.
Deoarece semnalul sinusoidal poate fi exprimat printr-o sumă de exponente, evident, înmulțirea
s(t) cu semnalul sinusoidal va deplasa tot spectrul semnalului. Să demonstrăm această afirmație
pornind de la următoarea identitate:
1
𝑠(𝑡) cos 𝜔𝑜 𝑡 = [𝑠(𝑡)𝑒 𝑗𝜔𝑜 𝑡 + 𝑠(𝑡)𝑒 −𝑗𝜔𝑜 𝑡 ].
2
Dacă semnalului s(t) îi corespunde transformata Fourier S(ω), atunci în baza proprietății
deplasării spectrului obținem:
1
ℱ{𝑠(𝑡) cos 𝜔𝑜 𝑡} = 2 [𝑆(𝜔 − 𝜔𝑜 ) + 𝑆(𝜔 + 𝜔𝑜 )]. (2.75)

Similar se poate de demonstrat că:


𝑗
ℱ{𝑠(𝑡) sin 𝜔𝑜 𝑡} = 2 [𝑆(𝜔 − 𝜔𝑜 ) − 𝑆(𝜔 + 𝜔𝑜 )]. (2.76)

Deci, în procesul de modulație se produce deplasarea spectrului cu ±𝜔𝑜 . Acest rezultat este foarte
important pentru teoria telecomunicațiilor. În figura 2.21 se ilustrează deplasarea spectrului în
rezultatul modulației.
6. Derivarea în domeniul timp. Transformata Fourier a derivatei unui semnal s(t) este de jω
ori transformata Fourier a semnalului.
ℱ{𝑠 ′ (𝑡)} = 𝑗𝜔 𝑆(𝜔). (2.77)
Pentru o derivare de n ori în timp se obține relația:
ℱ{𝑠 𝑛 (𝑡)} = (𝑗𝜔)𝑛 𝑆(𝜔). (2.78)
Demonstrație:

′ (𝑡)
𝑑 1 ∞
𝑠 = ∫ 𝑆(𝜔)𝑒 𝑗𝜔𝑡 𝑑𝜔.
𝑑𝑡 2𝜋 −∞

a)

b)

Fig.2.21. Deplasarea spectrului prin modulare:


a) impulsul dreptunghiular și spectrul său; b) semnalul modulat și spectrul său.

Derivând sub integrală se găsește

′ (𝑡)
1 ∞
𝑠 = ∫ 𝑗𝜔 𝑆(𝜔)𝑒 𝑗𝜔𝑡 𝑑𝜔,
2𝜋 −∞
deci,
ℱ{𝑠 ′ (𝑡)} = 𝑗𝜔 𝑆(𝜔).
7. Integrarea în domeniul timp. Transformata Fourier a integralei unui semnal s(t) este
transformata Fourier a semnalului împărțit cu jω:
𝑡 𝑆(𝜔)
ℱ {∫−∞ 𝑠(𝜏)𝑑𝜏} = . (2.79)
𝑗𝜔

Demonstrație:
𝑡
𝑡
1 ∞ 𝑗𝜔𝑡
1 ∞ 𝑆(𝜔) 𝑗𝜔𝑡
∫ 𝑠(𝜏)𝑑𝜏 = ∫ ∫ 𝑆(𝜔)𝑒 𝑑𝜔 𝑑𝜏 = ∫ 𝑒 𝑑𝜔 ,
−∞ 2𝜋 −∞ 2𝜋 −∞ 𝑗𝜔
−∞

deci relația (2.79) este demonstrată.


Teoremele de derivare și integrare în timp (2.77) și (2.79) pot fi demonstrateîn baza unei
judecăți logice. Transformata Fourier exprimă funcția s(t) printr-o sumă infinită de funcții
exponențiale de tipul 𝑒 𝑗𝜔𝑡 . De aceea derivata funcției s(t) este egală cu o sumă continuă de
derivate ale funcțiilor exponențiale componente. Însă derivata funcției 𝑒 𝑗𝜔𝑡 este 𝑗𝜔 𝑒 𝑗𝜔𝑡 , deci
procesul de derivare a funcției s(t) este echivalentă înmulțirii cu 𝑗𝜔 a fiecărei componente
exponențiale. Deci,
ℱ{𝑠 ′ (𝑡)} = 𝑗𝜔 𝑆(𝜔).
Similar se poate de procedat în cazul integrării.
Concluzionăm că, derivării în domeniul timp îi corespunde înmulțirii cu 𝑗𝜔 în domeniul
frecvență și integrării în domeniul timp îi corespunde împărțirea cu 𝑗𝜔 în domeniul frecvență.
În baza proprietății de derivare în domeniul timp pot fi simplu determinate transformatele
Fourier a unor funcții continue pe porțiuni. Un atare procedeu este demonstrat în exemplul 2.5.
Exemplul 2.5. Se dă semnalul din figura 2.22. Să se găsească densitatea spectrală a acestui
semnal.
Soluție
Derivînd de două ori această funcție obținem o consecutivitate de
impulsuri unitate (fig.2.22, c). Transformata Fourier a impulsului
unitate, determinată anterior, este egală cu unitatea. Din figura 2.22
reiesă că
d2 𝑠(𝑡) 𝐴
= 𝑏−𝑎 [𝛿(𝑡 + 𝑏) − 𝛿(𝑡 − 𝑎) + 𝛿(𝑡 − 𝑏)]. (2.80)
d𝑡 2

În baza proprietății deplasării în domeniul timp funcției 𝛿(𝑡 − 𝑎) îi


corespunde transformata Fourier 𝑒 −𝑗𝜔𝑎 . În baza acestui rezultat și a
proprietății de derivare în domeniul timp, transformata Fourier a funcției
(2.80) va fi:
𝐴
(𝑗𝜔)2 𝑆(𝜔) = [𝑒 𝑗𝜔𝑏 − 𝑒 𝑗𝜔𝑎 − 𝑒 −𝑗𝜔𝑎 − 𝑒 −𝑗𝜔𝑏 ],
𝑏−𝑎
de unde urmează:
2𝐴 cos 𝑎𝜔 − cos 𝑏𝜔
𝑆(𝜔) = .
𝑏−𝑎 𝜔2
Acest exemplu ne indică o metodă numerică de calcul a
transformatei Fourier. Orice funcție continuie poate fi aproximată cu segmente de drepte. Precizia
aproximării se determină de numărul de segmente utilizate în aproximare. Derivata a doua a
funcției aproximate are forma unei succesiuni de impulsuri unitate transformata Fourier a căror
se determină simplu. Transformata 𝑆(𝜔) a funcției date este egală cu produsul transformatei
Fourier a derivatei a doua la 1 / (𝑗𝜔)2 .
8. Derivarea în domeniul frecvenței. Dacă funcției s(t) îi corespunde transformata 𝑆(𝜔),
atunci
𝑑𝑆(𝜔) / 𝑑𝜔 = ℱ{(−𝑗𝑡)𝑠(𝑡)}. (2.81)
Pentru a demonstra aceată proprietate folosim definiția (2.56) pe care o derivăm în domeniul
frecvenței:
𝑑𝑆(𝜔) 𝑑 ∞
= ∫ 𝑠(𝑡)𝑒 −𝑗𝜔𝑡 𝑑𝑡.
𝑑𝜔 𝑑 𝜔 −∞
Schimbînd ordinea de derivare și integrare obținem:


𝑑𝑆(𝜔)
= ∫ (−𝑗𝑡)𝑠(𝑡)𝑒 −𝑗𝜔𝑡 𝑑𝑡.
𝑑𝜔 −∞

Evident că funcția [−𝑗𝑡 𝑠(𝑡)] îi corespunde transformata 𝑑𝑆(𝜔) / 𝑑𝜔. Pentru derivatele de ordin
superior a funcției 𝑆(𝜔) se obține:
𝑑𝑛 𝑆(𝜔) / 𝑑𝜔𝑛 = ℱ{(−𝑗𝑡)𝑛 𝑠(𝑡)}.
Deci, derivarea în domeniul frecvențelor este echivalentă înmulțirii cu −𝑗𝑡 în domeniul
timpului.
9. Teorema convulției. Teorema convulției este una din cele mai eficiente metode pentru
analiza semnalelor în domeniul frecvențelor.
Fiind date două semnale 𝑠1 (𝑡) și 𝑠2 (𝑡), se numește funcție de convulție sau produs de
convulție integrala:

𝑓(𝑡) = ∫−∞ 𝑠1 (𝜏)𝑠2 (𝑡 − 𝜏) 𝑑𝜏. (2.82)

Această integrală se notează simbolic astfel:


𝑓(𝑡) = 𝑠1 (𝑡) ∗ 𝑠2 (𝑡). (2.83)
Se poate demonstra proprietatea de comutativitate a integralei de convulție:
𝑠1 (𝑡) ∗ 𝑠2 (𝑡) = 𝑠2 (𝑡) ∗ 𝑠1 (𝑡). (2.84)
Într-adevăr, dacă în (2.82) se notează 𝑡 − 𝜏 = 𝑡 ′ , se obține:

𝑓(𝑡) = ∫ 𝑠2 (𝑡 ′ )𝑠1 (𝑡 − 𝑡 ′ ) 𝑑𝑡 ′ = 𝑠2 (𝑡) ∗ 𝑠1 (𝑡).
−∞

Teorema convulției în timp. Fiind date două semnale 𝑠1 (𝑡) și 𝑠2 (𝑡), ale căror transformate
Fourier 𝑆1 (𝜔) și 𝑆2 (𝜔), rezultă:
ℱ{𝑠1 (𝑡) ∗ 𝑠2 (𝑡)} = 𝑆1 (𝜔)𝑆2 (𝜔). (2.85)
Demonstrație:
∞ ∞
ℱ{𝑠1 (𝑡) ∗ 𝑠2 (𝑡)} = ∫ 𝑒 𝑗𝜔𝑡 [∫ 𝑠1 (𝜏) 𝑠2 (𝑡 − 𝜏)𝑑𝜏] 𝑑𝑡.
−∞ −∞

Inversînd mai întîi ordinea de integrare și apo notînd 𝑡 − 𝜏 = 𝑡 ′ , se obține:


ℱ{𝑠1 (𝑡) ∗ 𝑠2 (𝑡)}
∞ ∞
=∫ 𝑠1 (𝜏) [∫ 𝑒 𝑗𝜔𝑡 𝑠2 (𝑡 − 𝜏)𝑑𝑡] 𝑑𝜏
−∞ −∞
∞ ∞ ∞
−𝑗𝜔𝑡 (𝑡 ′ ) −𝑗𝜔𝑡 ′ ′
= ∫ 𝑠1 (𝜏) [∫ 𝑒 𝑠2 𝑒 𝑑𝑡 ] 𝑑𝜏 = ∫ 𝑠1 (𝜏) 𝑒 −𝑗𝜔𝜏 𝑆2 (𝜔)𝑑𝜏
−∞ −∞ −∞

= 𝑆2 (𝜔) ∫ 𝑠1 (𝜏) 𝑒 −𝑗𝜔𝜏 𝑑𝜏 = 𝑆1 (𝜔)𝑆2 (𝜔).
−∞

Deci convulției semnalelor în domeniul timp îi corespunde în domeniul frecvență produsul


transformatelor Fourier.
Teorema convulției în frecvență este exprimată prin următoarea relație:
1
ℱ{𝑠1 (𝑡)𝑠2 (𝑡)} = 2𝜋 𝑆1 (𝜔)𝑆2 (𝜔), (2.86)

unde integrala de convulție în frecvență este similară cu cea definită în timp:


1 ∞
𝑆1 (𝜔) ∗ 𝑆2 (𝜔) = 2𝜋 ∫−∞ 𝑆1 (𝜆)𝑆2 (𝜔 − 𝜆)𝑑𝜆. (2.87)

Derivarea produsului de convulție. Această proprietate se exprimă analitic astfel:


𝑠1 (𝑡) ∗ 𝑠2 ′ (𝑡) = 𝑠1 ′ (𝑡) ∗ 𝑠2 (𝑡). (2.88)
Cele două teoreme de convulție pot fi exprimate sintetic astfel: fiind date două semnale 𝑠1 (𝑡)
și 𝑠2 (𝑡), convulției lor în timp îi corespunde produsul transformatelor Fourier, iar produsul în
timp îi corespunde convulția transformatelor Fourier: produsului într-un domeniu îi corespunde
convulția în celălalt domeniu.
Aceste teoreme de convulție prezintă o mare utilitate, permițînd obținerea cu ușurință a unor
rezultate practice foarte importante în analiza circuitelor și a semnalelor.
Reprezentarea grafică a convulției. Reprezentarea grafică a convulției semnalelor este
extrem de utilizată în teoria telecomunicațiilor, cît și în teoria circuitelor, mai ales, pentru analiza
circuitelor liniare cînd semnalul de la intrare s(t) și funcția de pondere k(t) sînt date numai sub
formă grafică. Pentru a ilustra această afirmație să presupunem că semnalele 𝑠1 (𝑡) și 𝑠2 (𝑡) au
forma unui impuls dreptunghiular și triunghiular (fig.2.23). Să determinăm convulția acestor
semnale. După definiție

𝑠1 (𝑡) ∗ 𝑠2 (𝑡) = ∫ 𝑠1 (𝜏)𝑠2 (𝑡 − 𝜏)𝑑𝜏.
−∞

În această integrală 𝜏 este o variabilă independentă. În


figura 2.23, b, sunt arătate funcțiile 𝑠1 (𝜏) și 𝑠2 (−𝜏).
Remcarăm că 𝑠2 (−𝜏) s-a obținut prin rotirea funcției
𝑠2 (𝜏) față de axa ordonatei. Graficul funcției 𝑠2 (𝑡 − 𝜏)
reprezintă funcția 𝑠2 (−𝜏) deplasată cu t s, în direcția axei
pozitive (fig.2.23, c). Valoarea integralei convulției pentru
t = t1 este determinată de suprafața funcției de produs
𝑠1 (𝜏)𝑠2 (𝑡 − 𝜏). Aceasta este suprafața hașurată pe figura
2.23, d, și indicată cu o linie punctată, pentru t = t1, pe
figura 2.23, e.
Pentru a construi graficul convulției ca o funcție în
timp atribuim diferite valori lui t, deplasăm corespunzător
funcția 𝑠2 (−𝜏) și determinăm suprafața funcției
produsului. În rezultat obținem graficul funcției de
convulție, indicat în figura 2.23, e.

Fig.2.23.Interpretarea grafică a
convulției semnalelor.
Observăm că, în timpul determinării funcției de convulție 𝑠(𝑡) = 𝑠1 (𝑡) ∗ 𝑠2 (𝑡), funcția
𝑠2 (−𝜏) se deplasează în direcția pozitivă a axei τ pentru valori pozitive a timpului t și invers.
10. Convulția funcției cu impulsul unitate. Convulția funcției s(t) cu impulsul unitateeste
însuși funcția s(t). Conform teoremei convulției în timp se obține:
ℱ{𝑠(𝑡) ∗ 𝛿(𝑡)} = 𝑆(𝜔) ∙ 1 = 𝑆(𝜔). (2.89)
Relația în timp, echivalentă celei în frecvență, exprimată prin (2.89) este:

∫−∞ 𝑠(𝜏)𝛿(𝑡 − 𝜏)𝑑𝜏 = 𝑠(𝑡). (2.90)
Relația (2.90) realizează descompunerea unui semnal într-o sumă de funcții impuls unitate.
Această descompunere prezintă o mare însemnătate în analiza circuitelor deoarece permite
determinarea prin superpoziție a răspunsului unui circuit la orice semnal s(t) atunci cînd se
cunoaște răspunsul lui la impuls unitate.
Transformata Fourier poate fi aplicată semnalelor periodice, ceea ce permite o tratare unică
atît a semnalelor periodice, cît și și a celor neperiodice, facilitînd soluționarea problemelor de
analiză a semnalelor și a circuitelor în care intervin ambele tipuri de semnale. În mod riguros,
transformata Fourier a unui semnal periodic nu există deoarece semnalul periodic nu satisface

condiția de integrabilitate ∫−∞|𝑠(𝑡)|𝑑𝑡 < ∞. Această condiție este satisfăcută numai pe un
interval finit. Transformata Fourier a semnalului periodic se obține totuși printr-o trecere la limită.

1.5.3. Transformata Laplace


După cums-a arătat în paragraful 2.3, semnalul exponențial 𝑒 𝑠𝑡 poate descrie o varietate de
forme de undă. Transformata Fourier descompune un semnal neperiodic într-o sumă de semnale
exponențiale de forma 𝑒 𝑗𝜔𝑡 . Această formă este un caz particular al semnalului 𝑒 𝑠𝑡 și anume,
cazul σ = 0, ω ≠ 0.
Descompunerea semnalelor în sume de semnale exponențiale de forma 𝑒 𝑠𝑡 este dată de
transformata Laplace. Evident, clasa semnalelor care au transformata Fourier, deoarece
transformata Laplace operează cu funcția 𝑒 𝑠𝑡 , care este mai generală decît 𝑒 𝑗𝜔𝑡 . Prin definiție,
transformata Laplace G(s) a unui semnal g(t) este:

𝐺(𝑠) = ∫−O 𝑔(𝑡)𝑒 −𝑠𝑡 𝑑𝑡. (2.91)
Semnalul g(t) este presupus nul la t < 0. Limita inferioară t = - 0 este introdusă pentru a se lua în
considerație și impulsul unitate sau derivatele sale care pot să apară în origine. Notația simbolică
a relației (2.91) este:
𝐺(𝑠) = 𝐿{𝑔(𝑡)}.
Condiția de existență a transformatei Laplace este:

∫0 |𝑔(𝑡)|𝑒 −𝜎𝑡 𝑑𝑡 < ∞. (2.92)
Transformata Laplace inversă 𝐿−1 {𝐺(𝑠)} este:
1 𝜎−𝑗∞
𝑔(𝑡) = 2𝜋𝑗 ∫𝜎−𝑗∞ 𝐺(𝑠)𝑒 𝑠𝑡 𝑑𝑠. (2.93)

Limitele de integrare din expresia (2.93) arată că integrarea se face pe un contur paralel cu axa
imaginară jω, astfel încît integrala (2.93) să fie convergentă.
Utilizarea transformatelor Laplace ale semnalelor în studiul circuitelor electrice conduce la
transformarea ecuațiilor diferențiale în ecuații operaționale.
2. SEMNALE EȘANTIONATE
2.6.1. NECESITATEA EȘANTIONĂRII SEMNALELOR ÎN TIMP
După cum s-a arătat în paragraful 2.2, un semnal este complet determinat fie prin specificarea
sa în domeniul timp, fie prin specificarea sa în domeniul frecvență. Acesta este conceptul
fundamental pe care se bazează transmiterea simultană a mai multor semnale pe același canal de
telecomunicații. Astfel, N semnale pot fi transmise simultan pe același canal de telecomunicații
dacă pot fi separate fie în domeniul frecvență, fie în domeniul timp. Aceasta înseamnă că
semnalele trebuie să ocupe fie benzi de frecvență diferite, fie intervale de timp diferite.
Transmiterea simultană a mai multor semnale pe un același canal fizic, prin separarea lorîn
domeniul frecvență este denumită multiplexare în frecvență, iar transmiterea simultană a mai
multor semnale prin separarea lor în domeniul timp se numește multiplexare în timp.
În capitolul precedent s-a mai arătat că un semnal finit în timp este infinit în frecvență și
invers. Prin urmare, la multiplexarea în frecvență, semnalele ce se transmit simultan, avînd
spectre de frecvențe diferite, dar finite, sunt infinite în domeniul timp, deci apar mixate în
domeniul timp. Similar, la multiplexarea în timp, semnalele ce se transmit sînt mixate în frecvență
(spectrele lor se întind, teoretic, de la ω = 0 la ω = ∞).
Separarea semnalelor la recepție se face pe baza identității păstrate în domeniul frecvență,
respectiv în domeniul timp.
Multiplexarea în timp se bazează pe eșantionarea semnalelor și transmiterea eșantionelor la
momente de timp diferite, astfel încît eșantioanele diferitelor semnale să nu se suprapună
(fig.2.24).
Identificarea fiecărui semnal este dată de durata τi față de anumite momente de referință
marcate prin impulsuri de sincronizare (fig.2.24). La recepție, eșantionaele diferitelor semnale se
repară prin detecția sincronă.
Fig.2.24. Principiul multiplexării în timp.
Din cele arătate rezultă că multiplexarea în timp este realizabilă în principiu. Mai trebuie să
demonstrăm și cum se poate aplica. Demonstrația constă în a arăta că semnalul ce se eșantionează
poate fi reconstruit numia din cunoașterea ascestor eșantioane, sau, altfel spus, că semnalul este
unic determinat de eșantioanele sale. Aceasta formează obiectul teoremei eșantionării:
Teorema eșantionării uniforme stabilește următoarele:
Un semnal de bandă limitată este univoc determinat de valorile sale considerate la momentele de
timp echidistante, dacă distanța T dintre două momente succesive satisface relația:
1
T ≤ 2𝑓 , (2.94)
𝑚

unde 𝑓𝑚 reprezintă frecvența maximă din spectrul semnalului.


Semnalul de bandă limitată este definit de relația:
𝑆(𝜔) = 0 pentru |𝜔| ≥ 𝜔𝑚 . (2.95)
Reprezentările grafice în timp și în frecvență ale unui astfel de semnal sunt date în figura
2.25.
Fig.2.25. Semnal de bandă limitată.
Valorile semnalului la momentele KT se numesc valori de analiză sau eșantionare. T se
numește perioadă de eșantionare, iar Ω = 2π/T reprezintă frecvența de eșantionare.
Conform teoremei eșantionării, informația completă asupra lui s(t) este conținută în
valorile de analiză s(kT), luate uniform la distanța T una față de cealaltă. Teorema
eșantionării poate fi demonstrată cu ajutorul teoremei convoluției în frecvență.
Considerăm un semnal de bandă limitată s(t) și funcția impuls periodică 𝛿𝑇 (𝑡).
Produsul 𝑠(𝑡)𝛿𝑇 (𝑡) reprezintă o succesiune de impulsuri localizate la intervale echidistante
cu T și având suprafețele egale cu valorile lui s(t) la momentele corespunzătoare (fig.2.26).
Acest produs reprezintă semnalul s(t) eșantionat uniform, pe care îl notăm s*(t):
𝑠 ∗ (𝑡) = 𝑠(𝑡)𝛿𝑇 (𝑡) = 𝑠(𝑡) ∑∞ ∞
𝑛=−∞ 𝛿(𝑡 − 𝑛𝑇) = ∑𝑛=−∞ 𝑠(𝑛𝑇)𝛿(𝑡 − 𝑛𝑇). (2.96)

Seria Fourier exponențială a semnalului periodic 𝛿𝑇 (𝑡) este:


1
𝛿𝑇 (𝑡) = ∑∞
𝑛=−∞ 𝐶𝑛 𝑒
𝑗𝑛Ω𝑡
= 𝑇 ∑∞
𝑛=−∞ 𝑒
𝑗𝑛Ω𝑡
, (2.97)

2
unde  = .Transformatei Fourier a semnalului  T (t ) va fi: F{  T (t ) }=
T

1  jnt − jnt 1  


 T n=−e e dt = 
T n =−
2 ( w − n ) =  
n = −
 ( w − n) .
−

Funcţia S*(w) poate fi determinata utilizând teorema de convoluţie in domeniul frecvenţa: S*(w)=
 
1 1
F{S(t)  T (t ) }= [ S ( w) *    ( w − n)] = [ S ( w) *   ( w − n)] ;
2 n = − T n = −

 
1 
S(w)*   (w − n) =
n = −
 S (w − n) ; S*(w)=
n = −
 S (w − n) .
T n =−

Aceasta expresie arata ca spectrul unui semnal eşantionat S*(t) este o repetare periodica a
spectrului semnal s(t) cu periodicitatea după frecvenţă  .
S () cazul cind  2m 1/T S  ( )

 
− m − − m  m 

 2m cazul cind  2m S  ( )

− m m 1/T

− 0  2  2
Se observa ca spectrul e ce se repeta a semnal eşantionat nu se suprapun p\u cazul când w  2 wn

1
,adică când se respectă condiţia ca T  care se numeşte condiţia lui Naqiust,T se numeşte
2f
1 1
perioada lui Nyquist ,iar f= = se numeşte frecvenţa Nyquist.
T 2 fm

1
𝑆(𝜔)𝐻(𝜔) = T 𝑆(𝜔), (2.103)

unde 𝐻(𝜔) este funcția FTJ reprezentată în figura 2.27, a.


În domeniul timp, operația echivalentă produsului exprimat în frecvență prin relația (2.103)
este convoluția. Așadar,
𝑠(𝑡) = T𝑠 ∗ (𝑡) ∗ ℎ(𝑡) (2.104)
1 𝜔 1 𝜔𝑚 1 𝜔𝑚 sin 𝜔𝑚 𝑡
Dar ℎ(𝑡) = ℱ −1 {𝐻(𝜔)} = 2𝜋 ∫−𝜔𝑚 1 ∙ 𝑒 𝑗𝜔𝑡 𝑑𝜔 = 2𝜋𝑗𝑡 𝑒 𝑗𝜔𝑡 | −𝜔 = 𝜋𝑡 sin 𝜔𝑚 𝑡 = =
𝑚 𝑚 𝜋 𝜔𝑚 𝑡
𝜔𝑚
= sinc 𝜔𝑚 𝑡, astfel încât:
𝜋
𝜔𝑚
𝑠(𝑡) = T ∑∞
𝑛=−∞ 𝑠[𝑛𝑇]𝛿(𝑡 − 𝑛𝑡) ∗ sinc 𝜔𝑚 𝑡 = ∑∞
𝑛=−∞ 𝑠[𝑛𝑇] sinc 𝜔𝑚 (𝑡 − 𝑛𝑡) . (2.105)
𝜋

În obținerea expresiei (2.105) s-au utilizat relațiile:


𝛿(𝑡 − 𝜏) ∗ 𝑠(𝑡) = 𝑠(𝑡 − 𝜏)
2𝜋 𝜋
T= = .
Ω 𝜔𝑚
Relațiile (2.105) exprimă modul de reconstruire în domeniul timp a semnalului s(t) din eșantioanele
sale. Pentru aceasta se ponderează fiecare funcție sinc centrată la nT cu valoarea de analiză
corespunzătoare s[nT] și apoi se face sumarea. Ponderea intervine numai asupra funcției sinc trecând
prin zero la momentul respectiv. Construirea lui s(t) pe baza descompunerii dată de (2.105) este
ilustrată în figura 2.28.
Fig.2.27. Funcția de transfer H(ω) a unui FTJ ideal (a) și
funcția de pondere h(t) corespunzătoare (b).
Teorema eșantionării are o mare importanță practică, deoarece arată că un semnal continuu de
bandă limitată poate fi înlocuit într-o succesiune de eșantionare fără a se pierde din informație, în
felul acesta problema transmiterii unui astfel de semnal se reduce la transmiterea unui număr finit de
valori de analiză.

Fig.2.28. Reconstruirea semnalului continuu s(t) din valorile sale de analiză.


Pentru ca un semnal să fie de bandă limitată el trebuie să existe pe un interval infinit de timp.
Semnalele întâlnite în telecomunicații nu respectă această cerință. Totuși, din punct de vedere practic,
majoritatea semnalelor de telecomunicații pot fi considerate de bandă limitată, deoarece cea mai mare
parte a energiei lor este conținută în componentele localizate în interiorul unui interval finit de
frecvență. În afara intervalului, funcția de densitate spectrală scade foarte mult, tinzând rapid la zero.

2.6.2. Cuantizarea semnalelor eșantionate


După cum s-a arătat în paragraful 2.6.1., semnalul este discretizat în timp obținându-se în felul
acesta valorile de analiză la momente discrete de timp. Valorile de analiză variază în mod continuu,
adică pot lua orice valoare între amplitudinea minimă și amplitudinea maximă. Eșantionarea
semnalelor în amplitudine, numită cuantizare, realizează o discretizare în amplitudine, adică o
discretizare a valorilor de analiză. Pentru aceasta, intervalul continuu de variație a amplitudinilor
semnalului este împărțit într-un număr finit de intervale de cuantizare denumite trepte de cuantizare,
așa cum este arătat în figura 2.29.
S-a notat cu q mărimea treptei de cuantizare, iar cu N numărul maxim de trepte de cuantizare
necesare pentru eșantionarea în amplitudine. Este evident că N va fi cu atât mai mare cu cât q este
mai mic.
Valorile de analiză sunt aproximate prin numere întregi de trepte de cuantizare. Tuturor
amplitudinilor care se găsesc în intervalul kq – q/2, kq + q/2 li se atribuie în urma cuantizării valoarea
kq. În felul acesta reducem transmisia la transmiterea unor numere întregi egale cu valorile de analiză
exprimate în trepte de cuantizare.

Fig.2.29. Eșantionarea și cuantizarea semnalului s(t).


Spre deosebire de eșantionare, care ne duce la pierderea informației atâta timp cât sunt
îndeplinite condițiile teoremei eșantionării, la cuantizare se pierde din informație prin aproximarea
valorilor de analiză. Eroarea maximă de aproximare este q/2. Datorită erorilor introduse de
cuantizare, semnalul continuu s(t) refăcut la recepție nu va mai fi identic cu cel de la emisie. Semnalul
diferență are caracterul statistic al unui zgomot suprapus peste semnalul original și se numește
zgomot de cuantizare. Zgomotul de cuantizare depinde de q, ceea ce conduce la mărirea lui N care
totuși nu poate fi făcut oricât de mare (limitare tehnologică). Eșantioanele exprimate în numere
întregi de trepte de cuantizare nu se transmit ca atare, ci se exprimă numărul întreg respectiv în cadrul
unui anumit sistem de numărare (binar, ternar, zecimal, etc.) și apoi se transmit câte un impuls pentru
fiecare poziție a sistemului de numărare.
Modulaţia semnalelor

Multiplexarea în frecvenţă a semnalelor se bazează pe deplasarea spectrelor de frecvenţă ale


diverselor semnale astfel încât ele sa ocupe benzi de frecvenţă diferite. Procedura de deplasare a
spectrelor semnalelor poate fi realizată prin modulare. In procesul de modulare intervin urmatoarele
semnale:
1) S(t) ce contine informatia numita semnal modulator
2) Semnalul P(t) asupra caruia se transfera informatia numita semnal purtator
3) Semnalul SM (t) – rezultat prin actiunea semnalului modulator S(t) asupra semnaluli purtator P(t)
denumit semnal modulat.
4) Modulatia consta in modificarea unui parametru al purtatorului P(t) de catre semnalul modulator
S(t) ce necesita de a fi transmis.
In conformitate cu natura semnalului purtator putem destinge:
1) Modulatii cu purtatori sinusoidali
Purtatorul P(t) cu oscilatie armonica poate fi descris de urmatoarea relatie:
P(t ) = A0  cos(w0  t +  0 ) ;
Unde:
Ao – amplitudinea oscilatiei
0 - frecventa oscilatiei
 0 – faza initiala

Acest semnal poate fi reprezentat in planul complex cu un vector de lungimea Ao


j

A0

0
0 t1

A(t)

Acest vector se roteste cu viteza unghiulara 0 si in momentul initial cit t=0 are unghiul  0 fata de
axa reala. Iar in alte momente de timp unghiul  = wo  t +  o ;
Proectia acestui vector pe axa reala in orce moment de timp va fi egala cu valoarea instantaneie a
amplitudinei.
A modula inseamna a stabili o dependenta intre un parametru al purtatorului P(t) si semnalul
modulator S(t). Este indicat ca aceasta dependenta sa fie liniara fiecare dintre cei 3 parametri ce
definesc purtatorul poate prelua variatia semnalului modulator S(t) astfel putem obtine urmatoarele
tipuri de modulatii:

1) Modulatii de amplitudinea MA
2) Modulatii de frecventa MF
3) Modulatii de faza Phaze
1
In cazul modulatiei de amplitudine :
Amplitudinea instantaneie A(t) a semnaluli modulat in amplitudine trebue sa fie intr-o relatie de
dependenta liniara fata de semnalul S(t) in acest caz :
A(t ) = A0 + KS (t ) ;
Expresia in domeniul timp a semnaluli modulat in amplitudine va fi :
S MA (t ) = A(t )  cos(w0  t +  0 ) = A0  t + K  S (t ) cos(w0  t +  0 ) ;
Sa reprezentam formele de unda a unui semnal modulator S(t) purtator P(t) si modulat in
amplitudine SMA (t )
S(t)

P(t)
A0

− A0
S MA (t )

A0 t

− A0

2
T=
0

Curba reprezinta punctat in figura poarta denumirea de infasuratoare sau anvelopa a


semnalului modulat in amplitudine si reproduce forma semnalului modulator S(t). Pentru a defini
celelalte tipuri de modulatii in frecventa si in faza sa definim mai inti notiunea de „functie
sinusoidala generalizata” astfel in modul obisnuit functia sinusoidala se caracterizeaza prin
intermediul a 3 parametri: amplitudine frecventa si faza care sunt constante in timp. In cazul
functii sinusoidale generalizate acesti 3 parametri pot sa fie variabile in timp.
In cei ce priveste semnalul sinusoidal generalizat el poate fi exprimat prin urmatoarele expresii:
P(t ) = A(t )  cos (t ) ; θ(t) – faza semnaluli la un moment dat si se numeste faza instantaneie
a semnalului

Frecventa instantaneie:
d (t )
wi (t ) = ;
dt

2
Care in cazul semnalului sinusoidal generalizat variaza in timp
Din aceste considerente reatia de determinare a lui θ(t)=f i (t )dt ;
2) Modulatii cu purtatori in impulsuri

Modulaţia de frecvenţă. A modula în frecvență purtătorului P(t) înseamnă a crea o dependență


liniară între frecvența instantanee a purtătorului modulat și semnalul modulator S(t) în
conformitate cu următoarea relație:
wi (t ) = wo + ks(t ) de aici putem determina faza instantanee a semnalului modulat.
 (t ) =  wi (t )dt = w0 t + k  S (t )dt +  0
Expresia analitică a semnalului modulat în frecvență în forma cea mai generală se reprezintă în
felul următor :

S MA (t ) = A0 cos  (t ) = A0 cos w0 t + k  S (t )dt +  0
unde este o constantă arbitrară și poate fi luată=0.

Modulatia in faza. A modula in faza inseamna a stabili o relatie de dependenta liniara intre faza
instantanee a purtatorului modulat si semnal modulat S (t ). (t ) = 0 t + 0 + kS (t ) .Expresia analitica
in forma cea mai generala a unui semnal modulat in faza are urmatoarea
forma: S MP (t ) = A0 cos (t ) = A0 cos[0 t + 0 + kS (t )] .P\ u a sublinia diferenta intre modulat de
fregventa si cea de faza construim graficele reprezentarii in timpale semnalelor modulate cu unu si
acelas semnal modulat S(t).Presupunem S(t)=at si faza initiala a purtatorului ϕ0=0,t0=0 deci:

S(t)

t0

In cazul modulat in fregventa valoarea instantanee a semnal modulat se descrie astfel:

  
S MF = A0 cos w0 t + k  atdt = A0 cos w0 t +
kat 2 

 
2
kat
unde [ 0 t + ] se înscrie faza semnal modulat in orice moment de timp .P\u a construi
2
kat 2
reprezentarea in timp a semnal modulat gasim fregv instantanee:  (t ) = wo t + ;
2
d(t )
i (t ) = =  0 + kat .Se observa ca fregventa semnal modulat creste liniar incepind cu
dt
moment de timp t0.

3
0
P(t) S MP
2
A0
t0

t 2A0

− A0

In cazul modulat in faza semnal modulat e determinat de urmatoarea


d(t )
expresie: S MP (t ) = A0 cos[ o t + kat], i (t ) = =  o + ka = const .Se observa ca-n momentu
dt
de timp t0 fregventa se schimba cu valoarea lui ka si mai departe ramine constant.

const

t0

Spectrele semnalelor modulate în amplitudine


Examinam reprezentarea semnal modulat in amplitudine in domeniul fregventa p\u 3 cazuri
diferite a formei de unda a semnal modulat S(t).
1)Presupunem ca semnal modulator S(t) e un semnal sinusoidal de urmatoarea forma
S (t ) = A0 cos( 0 t + 0 ) − 1 .
Amplitudinea instantanee a semnal modulat in amplitudine se descrie
A(t ) = A0 + ks(t ) = A0 + ka0 cos(0 t + 0 ) = A0 [1 + m cos(0 t + 0 ) − 2 .
Expresia analitica a semnal modulat in amplitudine:
S MA (t ) = A0 [1 + m cos( 0 t + 0 )] cos(0 t + 0 ) − 3 ,
ka
unde m= 0 reprezinta gradul de modulatie ,se observa ca el e proportional cu amplitudinea semnal
A0
modulator S(t).Din 2 putem determina amplitudinea maxima AM si amplitudinea Amin a semnal
modulat in amplitudine,deci
AM = A0 (1 + m) Amin = A0 (1 − m) -4.
A − A0 A0 − Am AM − Am
Din relatia 4 putem scrie ca:m= M = = -5;
A0 A0 AM + Am
Formele de unda a semn S(t),P(t)si SMA(t) p\u cazul dat vor avea urmatoarea reprezentare:

4
S(t)
a0

− a0

2
0
P(t)
A0

− A0
S MA (t )
AM
mA0
Am

t
− Am
m<1
AM

Se presupune conditia ca gradul de modulatie m  1,daca m>1 atunci infasuratoarea semnal modulat
in amplitud nu mai produce forma semnal modulat S(t) si aceasta nu poate fi obtinut prin
demodulare.Din expresia 3 se obtine urmatoarea reprezentare a semnal modulat in
amplitudine.
mA0 mA0
S MA (t ) = A0 cos( o t + 0 ) + cos[( 0 +  0 )t + 0 − 0 ] + cos[( 0 +  0 )t + 0 + 0 ] − 6
2 2
Expresia 6 pune in evidenta componentele spectrale ale semnal modulat in amplitudine. Sa
reprezentam spectrele de amplitudine a semnal modulator S(t) purtator P(t) si modulat in
amplitudine SMA(t).

5
A
A A A0 A0
mA0 mA0
2 2
S(t)

a0 0  0  0 − 0 0 0 + 0 

Observam ca semnal modulat in amplitudine contine 3 elemente spectrale ,una cu fregventa de ω 0


si amplitudinea A0 care e insusi purtator si 2 componente laterale le fregventele ω0+Ω0 si ω0-Ω0 de
mA0
amplitudine ce se numeste component lateral superioara si inferioara.Banda de fregventa a
2
semnal in amplitudine B = 2 .

Reprezentarea fazoriala a semnalului modulat. Cele 3 componente din spectru de amplitudine


din spectru modulat se reprezinta sub forma de vectori rotitori de amplitudine A0 si
mA0
respectiv cu fregventele respective ω0 si (0 + 0 ) si (0 − 0 ) ,insumarea acestori 3
2
vectori se face plasind in virful vectorului aferent purtatoare cele 2 componente laterale ce se
rotesc cu fregventele +Ω0 si -Ω0 in raport cu vectorul purtator ,insumarea acestor 3 vectori
conduce la un vector rezultant cu lungimea periodic variabila de perioada ω0 ce se roteste in jurul
centrului de coordonate incepind cu faza initiala ϕ0.
mA0 mA0
S MA (t ) = A0 co( 0 +  0 ) + cos[( 0 +  0 )t +  0 +  S + cos[( 0 −  0 )t +  0 −  0 ]
2 2
mA0
Im
2
0
−

A0

0 Re

2) Semnal modulator e o suma de componente sinusoidale:


m
S (t ) =  a k cos( k t + k ) , P(t ) = A0 cos(0 t + 0 )
k =1
Amplitudinea instantaneee in acest caz va fi:
m
A(t ) = A0 [1 +  mk cos( k t + k ) .
k =1
Semnal modulat in amplitudine :

6
m
mk A0
S MA (t ) = A(t ) cos( 0 +  0 ) ; S MA (t ) = A0 cos( 0 t +  0 ) +  cos[( 0 +  k )t +  0 +
k =1 2
m
mk A0
Φk]+  cos[( 0 −  k )t +  0 − Φk ].
k =1 2
Spectrele de amplitudine ale semnal S(t) si SMA(t) pot fi reprezentate astfel:

Ak ( )

0 0
m2 A0 m2 A0
a2 a3
2 2
a1 a4
m3 A0 m1 A0 m1 A0 m3 A0
2 2 2 2
mn A0 mn A0
an
2 2
... ... ... t

1 2 3  n m  0 n  0 2  0 1  0 0
B = m 0

Din aceste diagrame se observa ca e necesar sa se indeplineasca urmatoarea conditie


(o −  m )  m sau ω0>2 Ωm p\u ca diagram spectrale ale semnal S(t) si SMA(t) sa nu se suprapuna
,de asemenea se mai observa ca semnal modulat in amplitudine in acest caz contine nu 2
componente laterale ci 2 benzi laterale ,banda laterala superioara si inferioara.Banda de fregventa
modulata in amplitudine e de 2 ori mai mare decit banda semnal modulat S(t) ,
BMA = 2b = 2 m , B =  m .
3) Semnalul modulat S(t) e o functie de timp arbitrara neperiodica.
Daca semnal modulat S(t)admite transformata Fourie care o notam S(ω) atunci se poate calcula f-tia
de densitate spectrala a semnalului modulat SMA(ω),
e 0 +0 ) + e − j (0 +0 ) A
S MA ( ) = F{[ A0 + Ks(t )] cos( 0 +  0 )} = F{[ A0 + ks(t )] } = 0 e j0 F{e j0t } +
2 2
A0 − j0
e F{e − j0t s (t )};
2
Utilizind proprietatile deplasarii infregventa a transformatei Fourie obtinem ca:
F {e j0t s (t )} = S ( −  0 ), F { j0t } = 2 ( −  0 ) atunci functia de densitate spectrala a semnalului
in amplitudine va fi:
k
S MA ( ) = A0 [e j0  ( −  0 ) + e − j0  ( +  0 )] + [e j0 S ( −  0 ) + e − j0 S ( +  0 )]
2

7
S ()

− m Bm  m

S MA ( ) A0

 − m   + m

. Reprezentarea grafica a f-tiei de densitate spectrala a semnalelor S(t) si SMA(t) luate in cadrul
cind ϕ0=0 pot fi urmatoarele:
1)Dupa cum se observa modulat de amplitud translat functia de densitate spectrala S( ω) a semnal
modulat cu +/- ω0,in plus functia SMA(ω) contine 2 impulsuri localizate la fregventele +/- ω0 a caror
integrami =πA0.
Ca si în cazul precedent sedefinesc 2 benzi inferioare si superioara.In practica transmiterii semnal
modulate-n amplitudine se poate efectua prin mai multe metode rezultind astfel mai multe tipuri de
modulati in amplitudine:
1)cu purtator si ambele benzi laterale,
2)cu purtator suprimat si ambele benzi laterale
3)cu banda laterala unica.Avantaje si dezavantaze:1)in cazul modulatde amplitud cu purtator si
ambele benzi laterale avem avantajul unei reconstructii simple a mesaj la receptie .Acest tip de
modulatie e indicat atunci cind echipament de receptie trebuie sa fie cit mai simplu in schimb semnal
modulat ocupa o banda de fregventa dubla fata de semnal modulator,iar emitatorul necesita o putere
mare p\u a transmite atit purtatorul cit si ambele benzi laterale.
2)Sistemele cu modulat in amplitudine cu modul suprimat prezinta avantaj unei puteri mai mici la
emisie eficienta fiind 100%,banda de fregventa e aceiasi ca si-n caz precedent,iar primul dezavantaj
il constituie complicarea detectiei,deoarece la receptie e necesar de a genera un purtator sincron si
sinfazic cu purtator de la emisie.
3)Sistemele cu modulatie in amplitudine cu banda laterala unica au avantaj ca se reduce de 2 ori
banda de fregventa necesara p\u transmiterea fata de primele cazuri,de asemenea si puterea
emitatorului e mai mica insa receptorul e mult maicomplicat deoarece e necesar de a genera purtatori
la receptie.

8
Spectrele semnalelor modulate în frecvenţă

Fie un semnal modulator s(t) şi un purtător sinusoidal P(t ) = A0 cos(0 t + O  0 ) . A modula în


frecvenţă purtătorul P(t), înseamnă a crea o dependenţă liniară între frecvenţa instantanee a
purtătorului modulat şi semnalul modulator s(t), conform relaţiei
i (t ) =  0 + ks(t ) (2.48)
Utilizând relaţiile (2.47) şi (2.42) se determină faza instantanee a semnalului modulat si expresia
analitică a semnalului MF
(t ) =   i (t )dt =  0 t + k  s (t )dt +  0 (2.49)

S MF (t ) = A0 cos (t ) = A0 cos[ 0 t + k  s (t )dt +  0 ] (2.50)

Expresia (2.50) reprezintă în forma cea mai generală un semnal MF în domeniul timp. 0 este o
constantă arbitrară şi poate fi luată zero. Dacă s(t) este nul la t<0, atunci limitele de integrare sînt 0
şi t. Notând:
t
g (t ) =  s (t )dt (2.51)
0

expresia (2.50) devine:

SMF (t ) = A0 cos[0t + kg(t )] = A0 cos 0t cos[kg(t )] − A0 sin 0t sin[ kg(t )] (2.52)
Evaluarea spectrului de frecvenţe al semnalului MF este complicată din punct de vedere
matematic din cauză că g(t) apare în argumentul funcţiilor trigonometrice. Dacă este însă satisfăcuta
condiţia:

k g (t ) max  (2.53)
2
atunci expresia (2.52) se simplifica mult şi spectrul SMF() se determină foarte simplu.
În cazul în care:

k g (t ) max  (2.54)
2
analiza spectrală pentru un s(t) oarecare devine dificilă. Prin considerarea semnalului modulator s(t)
ca un simplu semnal sinusoidal, analiza se simplifică. Rezultatele obţinute în această ipoteză
simplificatoare sînt însă concludente pentru proprietăţile MF.
Relaţiile (2.53) şi (2.54) definesc modulaţia de frecvenţă de bandă îngustă, respectiv modulaţia de
frecvenţă de bandă largă.
MF de bandă îngustă. Ţinând seama de condiţia (2.53) se pot face aproximările:
cos[kg (t )]  1
(2.55)
sin[ kg (t )]  kg (t )
Introducând (2.55) în (2.52) se obţine:
S MF (t ) = A0 cos 0 t − kA0 g (t ) sin 0 t (2.56)
Spectrul semnalului MF de bandă îngustă se determină foarte simplu, aplicând proprietatea de
deplasare în frecvenţă a transformatei Fourier. Obţinem:

9
e j 0 t + e − j  0 t e − j 0 t − e − j  0 t
S MA ( ) = A0 F{ } − kA0 F{ g (t )} =
2 2j
(2.57)
kA
= A0 [ ( − 0 ) +  ( + 0 )] + j 0 [G ( − 0 ) − G ( + 0 )]
2
Deoarece:
t
g (t ) =  s (t )dt (2.58)
0

pe baza proprietăţii de integrare în timp, rezultă că:

kA0 S ( − 0 ) S ( + 0 )
S MF ( ) = A0 [ ( − 0 ) +  ( + 0 )] + [ − ] (2.58)
2  − 0  + 0
Se observă că spectrul semnalului MF de bandă îngustă este similar cu cel al semnalului MA
(relaţia 2.19), obţinându-se şi în acest caz purtătorul şi cele două benzi laterale. Deci, lăţimea de
bandă a semnalului MF este ca şi la MA : B = 2m (în ipoteza că semnalul modulator s(t) are
spectrul limitat la m. Deosebirea esenţială între spectrele MA şi MF de bandă îngustă constă în
faptul că, în timp ce la MA, cele două benzi laterale sînt în fază, la MF acestea sînt în opoziţie de
fază. Din punct de vedere matematic, acest lucru este evidenţiat prin împărţirea lui S(-0) la (-
0), împărţire care schimbă sau nu semnul lui S(-0), după cum <0, respectiv >0.
Deşi din punct de vedere al spectrelor semnalele MA şi MF de bandă îngustă au multe asemănări,
formele lor de undă sînt totuşi foarte diferite. La un semnal MA, frecvenţa

Fig. 2.19. Variaţia frecvenţei instantanee


a semnalului MF.
este constantă şi amplitudinea variază în timp, iar la un semnal MF, amplitudinea este constantă şi
frecvenţa variază în timp.
MF de bandă largă. S-a afirmat anterior că analiza spectrală a semnalului MF de bandă largă se
poate face cu relativă uşurinţă dacă semnalul modulator este un semnal sinusoidal:
s(t ) = a0 cos0t (2.60)
înlocuind pe s(t) în (2.48) se obţine frecvenţa instantanee a semnalului MF:
i (t ) = o + kao cosot = 0 +  cos0t (2.61)

unde =ka0 poartă denumirea de deviaţie de frecvenţă s. semnalului MF, măsurând depărtarea
maximă a frecvenţei instantanee i(t) faţă de 0.
În figura 2.19 este reprezentată variaţia în timp a lui i(t).
Faza instantanee şi semnalul MF, determinate cu relaţiile (2.49) şi (2.50) devin:

(t ) = 0t + sin 0t = 0t +  sin 0t (2.62)
0
SMF (t ) = A0 cos(0t +  sin 0t ) (2.63)

10
unde

= (2.64)
0
poartă denumirea de indice de modulaţie de frecvenţă. Se observă că p variază invers proporţional cu
frecvenţa semnalului modulator. Relaţia (2.63) se mai poate scrie:
SMF (t ) = A0 cos0t cos( sin 0t ) − A0 sin 0t sin(  sin 0t ) (2.65)
2
Funcţiile: cos(sin0t) şi sin(sin0t) sînt funcţii periodice, de perioadă Prima este o funcţie
0
pară, iar a doua este o funcţie impară. Aceste funcţii se pot dezvolta în serii Fourier. Se obţine:
 
cos( sin 0t ) = J 0 (  ) + 2 J 2 k (  ) cos 2k0t sin(  sin 0 ) − 2 J 2 k +1 (  ) sin( 2k + 1)0t (2.66)
k =1 k =0

Coeficienţii Jk() reprezintă valorile funcţiilor Bessel. Jk(x) de speţa întâi şi ordinul k, calculate
pentru x = .
Introducând dezvoltările (2.66) în relaţia (2.65) şi transformând produsele de funcţii
trigonometrice în sume de funcţii trigonometrice, se obţine:

sMF (t ) = A0 J 0 (  ) cos 0t + [ A0 J n (  ) cos(0 + n0 )t + (−1) n A0 J n (  ) cos(0 − n0 )t ] (2.67)
n =1

Expresia (2.67) pune în evidenţă componentele spectrale ale semnalului MF. Se constată că
semnalul MF conţine un număr infinit de componente nu numai trei cum avea semnalul MA.
Teoretic, lăţimea de bandă ocupată de semnalul MF este infinită. Practic, amplitudinile
componentelor spectrale depărtate de 0 devin neglijabile; aproape toată energia semnalului MF este
conţinută în componentele spectrale localizate în interiorul unei benzi finite.
Acest fapt se explică dacă examinăm reprezentările grafice ale funcţiilor Bessel de speţa I, ordinul k
şi argument  (fig. 2.20).

Pentru β  (practic  <0,5), numai J0() şi J1() au o amplitudine semnificativă. Toate
2
celelalte funcţii: J2(), J3() ...sînt neglijabile. în acest caz semnalul MF este asemănător semnalului
M A,
SMF (t ) = A0 J 0 ( ) cos 0t + A0 J1 ( ) cos(0 + 0 )t − A0 J1 ( ) cos(0 − 0 )t având
expresia:
(2.68)

Acesta este desigur semnalul MF de bandă îngustă;  este tocmai acel parametru kg(t)max.
prezentat anterior, pe baza căruia s-au clasificat semnalele

11
Fig. 2.20. Reprezentarea
grafică a funcţiilor Bessel
de speţa 1 şi ordinul k.
MF în semnale de bandă îngustă şi de bandă largă. Se remarcă din relaţia (2.68) că la componenta
laterală inferioară apare un defazaj de n faţă de componenta corespunzătoare a semnalului MA, ceea
ce de fapt a fost demonstrat în cazul general [s (t) oarecare] al semnalului MF de bandă îngustă.
Pentru (=2, coeficienţii J5 (2), J6 (2) etc., sînt neglijabili, funcţiile J5 (), J6 () etc., încă
„nedesprinzându-se" de abscisă. Componentele spectrale semnificative sânt: 0, 0 ± >, 0 ± 2>,
0 ± 3, 0± 4, iar lăţimea de bandă ocupată: B == 0 + 4 — (0 — 4) = 8.
Pe măsură ce  creşte, componentele laterale de ordin mai mare devin semnificative. Numărul de
componente laterale N care trebuie luate în consideraţie se determină din considerentul ca ele să
conţină 99% din puterea semnalului MF. Considerând puterile debitate pe o rezistenţă de 1 ,
rezultă:
N
A02  ( ) = 0,99
k =− N

Prin urmare, N se poate determina din relaţia:


N

J
k =− N
2
k (  ) = 0,99 (2.69)

Soluţia aproximativă a ecuaţiei transcendente (2.69) este /ST/:


N   +1 (2.70)
ceea ce conduce la o bandă efectivă:
B = 2 N0 = 2( + 1)0 (2.71)

Se observă că pentru <<l, banda semnalului MF este B =20, iar pentru >>l:
B  20  2 = 2ka0 (2.72)
Banda necesară pentru transmiterea unui semnal MF de bandă largă este aproximativ de două ori
deviaţia maximă de frecvenţă a purtătorului. Aceasta înseamnă că pentru  suficient de mare, banda
efectivă a semnalului MF nu depinde de frecvenţa mesajului.
Din reprezentările grafice ale funcţiilor Bessel (fig. 2.20) se observă că purtătorul conţinut în
semnalul modulat, de amplitudine A0J0(), nu mai are totdeauna cea mai mare amplitudine, ca în
cazul MA.

12
Mai mult, pentru valorile lui  la care J0() intersectează abscisa, purtătorul lipseşte din semnalul
MF. Se mai remarcă faptul că pentru orice , amplitudinele componentelor relativ depărtate de 0,
descresc tinzând către zero, adică se află în relaţia:
J k ( ) J k +1 ( ) J k + 2 ( )..., (2.73)

unde k depinde de valoarea lui .


Relaţia de monotonie (2.73) nu este valabilă pentru componentele apropiate de 0.
Cu aceste precizări se poate reprezenta spectrul de amplitudini al unui semnal MF de bandă largă
(fig. 2.21).

Fig. 2.21. Spectrul de amplitudini al semnalului MF.

Spectrele semnalelor modulate in faza


Modulaţia de fază (M).A modula în fază înseamnă a stabili o relaţie de dependenţă liniară
între faza instantanee a purtătorului modulat şi semnalul modulator s (t):
(t ) = 0t + 0 + ks(t ) (2.74)

Expresia cea mai generală a unui semnal M în domeniul timp este dată analitic de:
SM (t ) = A0 cos[0t + 0 + ks(t )] (2.75)
întrucât s(t) intră în argumentul funcţiei cosinus, analiza în domeniul frecvenţă (analiza spectrală)
este dificilă pentru s(t) oarecare. Ne rezumăm la cazul:
s(t ) = a0 sin(0t + 0 ) (2.76)
Pentru acest mesaj, faza instantanee (t) şi semnalul modulat sM(t) sînt date de relaţiile:
(t ) = 0t + 0 + ka0 sin 0t = 0t + 0 +  sin(0t + 0 ) (2.77)

unde =ka0 reprezintă deviaţia de fază, analog cu deviaţia de frecvenţă  de la modulaţia de


frecvenţă.
Considerând, pentru simplificarea calculelor 0=0=0, relaţia (2.78) devine:
SM (t ) = A0 cos(0t +  sin 0t ) (2.79)

Se observă că sM(t) are aceeaşi expresie ca sMF(t) dat de relaţia (2.63), singura deosebire fiind
înlocuirea lui  cu . În consecinţă, dezvoltarea lui sM(t), care pune în evidenţă componentele
spectrale, este aceeaşi cu cea de !a MF (relaţia (2.67) ), dacă se înlocuieşte  cu :

S M (t ) = Ao J 0 ( ) cos 0t +  A0 J n ( )[cos(0 + n0 )t + (−1) n cos(0 − n0 )t ] (2.79)
n =1

Toate consideraţiile făcute la MF asupra spectrelor semnalelor MF de bandă îngustă ( < 0,5) şi
de bandă largă ( > 5), rămân valabile şi la M.
Relaţia aproximativă pentru determinarea benzii de frecvenţe ocupată de semnalul M- este:
13
B  2( + 1)0 (2.80)

Pentru << 1 rezultă B= 20, astfel că spectrul de amplitudini al semnalului M de bandă


îngustă este similar cu cel pentru MA.
Pentru >>1 se obţine:
B = 20 = 2ka00 ( 2.81)

14
15
16
17
18
19
20
21
22
23
24
25
26
27

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