Sunteți pe pagina 1din 29

Capitolul 1 - Semnale şi sisteme discrete. Secvenţe unidimensionale.

Operaţii cu
secvenţe: convoluţia şi corelaţia. Sisteme discrete liniare şi invariante în timp (LIT)

1 Semnale şi sisteme discrete. Secvenţe unidimensionale.


Operaţii cu secvenţe: convoluţia şi corelaţia. Sisteme discrete
liniare şi invariante în timp (LIT)
Obiectivele capitolului
Lucrarea realizează o scurtă introducere în programarea MATLAB prin
enumerarea unor facilităţi oferite pentru prelucrarea digitală a semnalelor.
Dobândirea noţiunilor fundamentale despre semnale şi sisteme discrete, operaţii cu
secvenţe (convoluţie şi corelaţie liniară/ periodică/ circulară), reprezentarea
sistemelor discrete în timp (funcţia pondere, ecuaţia cu diferenţe finite), cauzalitatea
şi stabilitatea acestora.
1.1 Introducere în Matlab. Semnale şi sisteme discrete

1.1.1 Prezentarea programului MATLAB


Mediul de programare MATLAB este destinat în special algoritmilor
(matematici), bazându-se mult pe calculul matriceal. Este foarte util în inginerie şi
îndeosebi în domeniul prelucrării digitale a semnalelor (DSP – Digital Signal
Processing) , punând la dispoziţia utilizatorului cei mai cunoscuţi algoritmi din
literatura de specialitate, sub forma unor pachete de programe specializate (tools).
De exemplu, pentru domeniul PDS există toolbox-ul signal. MATLAB acceptă
următoarele tipuri esenţiale de fişiere:

· fişiere de tip "script" (extensie .m): conţin text (caractere ASCII) şi sunt folosite
pentru a scrie un program, o funcţie sau pentru a defini o clasă în Matlab;

· fişiere de tip "figură" (extensie .fig): sunt utilizate pentru a salva figurile şi interfaţa
grafică a programelor Matlab, GUI (Graphic User Interface) (programe
complexe, cu elemente de interfaţare grafica precum meniuri, butoane, etc.,
realizate în mediul guide);

· fişiere de tip "date binare" (extensie .mat), care conţin date binare, respectiv
fişiere de date de tip text (fişiere ASCII, cu extensie .txt), care conţin datele
salvate sub formă de text (valori numerice);

· fişiere specifice mediului de modelare SIMULINK (extensie .mdl, .slx, .mdlp,


.slxp)

· fişiere de cod Matlab protejate (extensie .p)

· fişiere dezvoltate în/pentru alte medii de programare (extensii .mex: .mex64,


.mexmaci64, .mexw32, .mexw64, pentru Linux® 64-biţi, Apple Mac 64-biţi,
Microsoft® Windows® 32-biţi, Windows 64-biţi).
Cu ajutorul compilatorului mex pot fi utilizate în MATLAB fişiere generate de
programele C, Pascal, etc.

4
Capitolul 1 - Semnale şi sisteme discrete. Secvenţe unidimensionale. Operaţii cu
secvenţe: convoluţia şi corelaţia. Sisteme discrete liniare şi invariante în timp (LIT)

Există posibilitatea de a afla informaţii despre funcţiile Matlab disponibile


folosind comanda:
>>help <nume_funcţie>
unde <nume_funcţie> este funcţia despre care se doresc informaţii suplimentare, iar
>> este prompter-ul curent al ferestrei de comandă. Fiecare funcţie este
implementată sub forma unui fişier cu extensia .m şi poate fi apelată direct în
program. Fişierul .m asociat unei funcţii conţine în primele linii descrierea funcţiei,
sub formă de comentarii (linii care încep cu simbolul %).
MATLAB-ul integrează în toolbox-ul signal analiza numerică, calculul
matriceal, prelucrarea semnalelor şi reprezentările grafice, într-un mediu uşor de
utilizat.
O caracteristică importantă a programului MATLAB este uşurinţa cu care
acesta poate fi extins prin crearea de noi funcţii sau proceduri pe baza celor
existente. Toolbox-urile includ pachete de funcţii sau proceduri Matlab. Acestea sunt
pachete de funcţii (fişiere .m) grupate după anumite domenii. Există de exemplu
următoarele toolbox-uri: Signal Processing (signal) - pentru prelucrarea
semnalelor şi analiza seriilor temporale, Image Processing (images) - pentru
prelucrarea imaginilor şi a semnalelor bidimensionale, Symbolic Math (symbolic) -
pentru calculul simbolic matematic, Neural Networks (nnet) - pentru proiectarea şi
simularea reţelelor neurale, Statistics (stats) - pentru analiza şi modelarea statistică,
Spline (splines) - pentru aproximare şi modelare pe baza funcţiilor spline, Control
System Design (control) - pentru analiza şi proiectarea sistemelor automate de
control, Robust Control (robust) - pentru control robust (în prezenţa incertitudinii),
System Identification (ident) - pentru modelare parametrică, identificarea sistemelor,
analiza spectrală, Optimization (optim) - pentru optimizarea liniară şi neliniară,
Genetic Algorithms (ga) - pentru optimizare cu algoritmi genetici, Fuzzy (fuzzy) -
pentru implementarea sistemelor bazate pe mulţimi vagi, Bioinformatica (bioinfo),
simulink – pentru modelare/analiza de semnale/sisteme (asemănător LabView).

1.1.2 Semnale discrete. Operaţii cu secvenţe. Convoluţia şi corelaţia


1.1.2.1 Semnale discrete în timp

Definiţie
Un semnal s se numeşte discret în timp dacă poate fi reprezentat printr-o
secvenţă ordonată de numere {s (t n )} , definită pentru un set de momente de timp
discrete t1, t 2 ,..., t n ,... .. Prin urmare semnalul discret este o funcţie discretă în timp şi
continuă în amplitudine. Discretizarea în domeniul timp se numeşte eşantionare,
aceasta putând fi:

· uniformă, cu pasul de discretizare, T , constant: t n = nT , n Î Z ;

· neuniformă: cu un pas de discretizare T variabil.


5
Capitolul 1 - Semnale şi sisteme discrete. Secvenţe unidimensionale. Operaţii cu
secvenţe: convoluţia şi corelaţia. Sisteme discrete liniare şi invariante în timp (LIT)

0.
Observaţie
1
1. T se numeşte perioadă de eşantionare, iar este frecvenţa (rata)
T
de eşantionare. În continuare ne vom referi numai la eşantionarea uniformă,
pentru care s-a dezvoltat domeniul prelucrării digitale a semnalelor. În mod uzual
perioada de eşantionare T se consideră 1, dacă nu se specifică o altă valoare.

2. Pentru reprezentarea semnalelor discrete se folosesc notaţiile: {x [n ]} ,


{x (nT )} , x [n ] , x (nT ) , x (t ) t =nT .

Exemplu
Semnalul discret în timp x [n ] = a n , n ³ 0 este reprezentat grafic în Fig. 1.1:

a>1 0<a<1
x(n)
x(n) 1

1
n n
0 1 2 3 4 5 6 0 1 2 3 4 5 6
Fig. 1.1. Exponenţiala discretă, reprezentată ca secvenţă cauzală. De observat că
exponenţiala discretă este convergentă pentru o bază subunitară în modul.

Definiţii
1. Secvenţa {x[n ]} poate fi finită sau infinită. Secvenţele infinite pot fi
0.

periodice sau aperiodice. O secvenţă periodică, x p [n ] , de perioadă N , este


complet definită dacă se cunosc valorile sale pentru o perioadă (de exemplu, se
cunosc valorile eşantioanelor sale pentru 0 £ n £ N - 1 sau 1 £ n £ N ) ceea ce
înseamnă că putem scrie:

x p [n ] = x (n mod N ), n Î Z .

6
Capitolul 1 - Semnale şi sisteme discrete. Secvenţe unidimensionale. Operaţii cu
secvenţe: convoluţia şi corelaţia. Sisteme discrete liniare şi invariante în timp (LIT)

Un semnal discret poate fi generat direct la momente discrete de timp de către


surse de semnale discrete, sau poate proveni din eşantionarea unui semnal continuu
în timp.
2. Două secvenţe sunt egale dacă şi numai dacă au aceeaşi lungime şi
valorile eşantioanelor sunt egale:

{x [n ]} = {y [n ]} dacă x [n ] = y [n ] , pentru toate valorile n luate în considerare.

Exemple de secvenţe
)

a) secvenţa impuls unitate (impuls Dirac discret)

ì1, n = 0
d [n ] = í
î0, n ¹ 0

respectiv secvenţa impuls unitate întârziată, întârzierea fiind de k perioade de


eşantionare:

ì1, n = k
d [n - k ] = í
î0, n ¹ k

b) secvenţa treaptă unitate

ì1, n ³ 0
u [n ] = í
î0, n < 0
1.1.2.2 Operaţii cu secvenţe
1.1.2.2.1 Operaţii elementare
Denumirea operaţiei Operaţia

Adunare {y[n]}, cu y[n] = x1[n] + x2 [n], "n


Înmulţire cu număr scalar {y[n]} = a × {x[n]} = {ax[n]}, "n
Deplasare în timp {y[n]} = {x[n - n0 ]}, "n
Înmulţire {y[n]}, cu y[n] = x[n]× y[n], "n

Operaţii liniare
{y[n]} = {a × x1[n]} + {b × x2 [n]} = a{x1[n]} + b{x2 [n]}, "n

1.1.2.2.2 Convoluţia

7
Capitolul 1 - Semnale şi sisteme discrete. Secvenţe unidimensionale. Operaţii cu
secvenţe: convoluţia şi corelaţia. Sisteme discrete liniare şi invariante în timp (LIT)

Convoluţia liniară

Definiţie
Convoluţia liniară (aperiodică) este un operator care acţionează asupra a două
secvenţe x1 [n ] şi x 2 [n ] , pentru a genera secvenţa y[n ] definită astfel:
¥
y[n ] = x [n] * x [n] = å x [m]× x [n - m] (1.1)
1 2 m = -¥ 1 2

Exemplu
Fie secvenţele: {x1 [n ]} = {3, 2, 1} , {x 2 [n ]} = {3, 2, 1}; secvenţa obţinută prin
convoluţie liniară este y[n] = {x1[n] * x2 [n]} = {9, 12, 10, 4, 1}.

x1[n ] = x 2 [n ]
4

0 1 2 n

x1[n ] * x 2 [n ]
12
10

0 n
1 2 3 4

Fig. 1.2. Convoluţia liniară a două secvenţe

Proprietăţi
)

a) comutativitate
8
Capitolul 1 - Semnale şi sisteme discrete. Secvenţe unidimensionale. Operaţii cu
secvenţe: convoluţia şi corelaţia. Sisteme discrete liniare şi invariante în timp (LIT)

x1 [n ] * x 2 [n ] = x 2 [n ] * x1 [n ], "x1, x 2 (1.2)

b) asociativitate

(x1 [n ]* x 2 [n ]) * x 3 [n ] = x1[n ] * (x 2 [n ] * x 3 [n ]), "x1, x 2 , x 3 (1.3)

c) distributivitate

x1 [n ] * (x 2 [n ] + x 3 [n ]) = x1 [n ] * x 2 [n ] + x1 [n ] * x 3 [n ], "x1, x 2 , x 3 (1.4)

d) liniaritate

(a × x1[n] + b × x2 [n]) * x3 [n] = a × x1[n] * x3 [n] + b × x2 [n]* x3 [n], "x1, x2 , x3 , a, b (1.5)

)
Observaţii
a) convoluţia liniară a două secvenţe având N1 , respectiv N 2 eşantioane,
generează o secvenţă cu N1 + N 2 - 1 eşantioane; deci rezultatul este o secvenţă cu
valori nenule în intervalul:

0 £ n £ N1 + N 2 - 2

b) convoluţia liniară poate fi calculată în două moduri: 1) direct, folosind


definiţia, sau 2) efectuând transformata Fourier în timp discret inversă (TFTDI) a
produsului transformatelor Fourier în timp discret (TFTD) a celor două secvenţe.
Atunci când convoluţia liniară şi cea circulară conduc la acelaşi rezultat, convoluţia
liniară poate fi determinată aplicând transformata Fourier discretă inversă (TFDI) a
produsului transformatelor Fourier discrete (TFD) corespunzătoare secvenţelor.
Convoluţia periodică

Definiţie
Pentru două secvenţe periodice x1,p [n ] , x 2,p [n ], cu aceeaşi perioadă N ,
convoluţia periodică este o secvenţă periodică definită de formula:

N -1
x [n] = å x [l ] × x [n - l ] = x1, p Ä x2, p , n = 0, N - 1 (1.6)
3, p 1, p 2, p
l=0

Exemplu
Fie secvenţele: {x 2,p [n ]} = {x1,p [n ]} = {3, 2, 1, 3, 2, 1, ....}, atunci:

9
Capitolul 1 - Semnale şi sisteme discrete. Secvenţe unidimensionale. Operaţii cu
secvenţe: convoluţia şi corelaţia. Sisteme discrete liniare şi invariante în timp (LIT)

{x [n] Ä x [n ]} = {13, 13, 10, 13, 13, 10,...}


1, p 2, p

x1,p [n ] = x 2,p [n ]

3
2
1

0 1 2 n

13 13

10

0 1 2 n

Fig. 1.3. Convoluţia periodică a două secvenţe

)
Observaţii
a) Conform definiţiei se observă că în calculul convoluţiei periodice se
consideră doar o perioadă a secvenţelor periodice;
b) Operaţia de convoluţie periodică a două secvenţe periodice de perioadă N
este la rândul ei o secvenţă periodică de perioadă N ;

c) Convoluţia periodică poate fi determinată pe două căi: direct, în domeniul


N -1
timp, cu ajutorul relaţiei x [n] = å x [l ] × x [n - l ] = x1, p Ä x2, p , n = 0, N - 1
3, p 1, p 2, p
l =0
(1.6), sau indirect, calculând întâi seriile Fourier discrete (SFD) corespunzătoare
secvenţelor periodice şi apoi efectuând transformarea Fourier inversă a produsului
acestora (dacă X 1,p şi X 2,p sunt SFD ale secvenţelor x1,p , respectiv x 2,p , atunci
avem x1,p Ä x 2,p ¬¾®
F
X 1,p × X 2,p ).

10
Capitolul 1 - Semnale şi sisteme discrete. Secvenţe unidimensionale. Operaţii cu
secvenţe: convoluţia şi corelaţia. Sisteme discrete liniare şi invariante în timp (LIT)

Convoluţia circulară

Definiţie
Fie două secvenţe finite {x1 [n ]}, {x 2 [n ]} cu durata N . Convoluţia lor circulară
notată {y [n ]} poate fi definită astfel:
)

i) în domeniul timp:

Dacă x1 [n ] corespunde unei perioade a secvenţei periodice x1,p [n ] şi x 2 [n ]


conţine eşantioanele corespunzătoare unei perioade a secvenţei periodice x 2,p [n ],
éN -1 ù
atunci y [n ] = x1 [n ] Ä x 2 [n ] este o perioadă a secvenţei êå x1,p [n ] × x 2,p [n ]ú , şi deci o
ë l =0 û
perioada a secvenţei x1,p [n ] Ä x 2,p [n ] .

N -1
y [(n )] = å x [m]× x [(n - m )
1 2 mod N ] = x1[n ] Ä N x 2 [n] (1.7)
m =0

unde Ä N marchează operaţia de convoluţie circulară.

ii) în domeniul frecvenţă:

Fie X 1 [k ] şi X 2 [k ] TFD ale secvenţelor {x1 [n ]} , respectiv {x 2 [n ]}. Notăm cu


Y [k ] = X 1 [k ] × X 1 [k ] . Atunci TFDI a lui Y [k ] este secvenţa {y [n ]} care reprezintă
convoluţia circulară a secvenţelor {x1 [n ]} , {x 2 [n ]}.

Exemplu
Pentru cazul particular N = 4 avem:

y[0] = x1[0] × x2 [0] + x1 [1] × x2 [((- 1))mod N ] + x1[2] × x2 [((- 2))mod N ] + x1 [3] × x2 [((- 3))mod N ]

y[1] = x1[0] × x2 [1] + x1[1] × x2 [0] + x1 [2] × x2 [((- 1))mod N ] + x1[3] × x2 [((- 2 ))mod N ]

y[2] = x1 [0] × x2 [2] + x1[1] × x2 [1] + x1 [2] × x2 [0] + x1 [3] × x2 [((- 1))mod N ]

y[3] = x1[0] × x2 [3] + x1[1] × x2 [2] + x1[2] × x2 [1] + x1[3] × x2 [0]

Dacă secvenţa este periodică de perioadă 4, atunci:

11
Capitolul 1 - Semnale şi sisteme discrete. Secvenţe unidimensionale. Operaţii cu
secvenţe: convoluţia şi corelaţia. Sisteme discrete liniare şi invariante în timp (LIT)

x2 [((- 1))mod N ] = x2 [4 - 1] = x2 [3]


x2 [((- 2 ))mod N ] = x2 [4 - 2] = x2 [2]
x2 [((- 3))mod N ] = x2 [4 - 3] = x2 [1]

Relaţiile se pot scrie matriceal:

é y[0]ù é x1 [0] x1[3] x1[2] x1[1]ù é x2 [0]ù


ê y[1]ú ê x [1] x1 [0] x1[3] x1[2]úú êê x2 [1]úú
ê ú=ê 1 ×
ê y[2]ú ê x1[2] x1[1] x1 [0] x1[3]ú ê x2 [2]ú
ê ú ê ú ê ú
ë y[3]û ë x1 [3] x1[2] x1 [1] x1[0]û ë x2 [3]û

Exemplu
Fie secvenţele {x1 [n ]} = {3, 2, 1} , {x 2 [n ]} = {3, 2, 1}; convoluţia circulară a
acestora este y = x1 [n ] Ä x 2 [n ] = {13, 13, 10}.

x1 [n ] = x 2 [n ]

3
2
1

0 1 2 n

x1 [n ] * x 2 [n ]
12
10
x1 [n ] Ä x 2 [n ] 9
1 1
4
1
1
n
0 1 2 0 1 2 3 n
a) b)

Fig. 1.4. Convoluţia circulară (a) şi liniară (b), pentru două secvenţe, {3,2,1}.

12
Capitolul 1 - Semnale şi sisteme discrete. Secvenţe unidimensionale. Operaţii cu
secvenţe: convoluţia şi corelaţia. Sisteme discrete liniare şi invariante în timp (LIT)

)
Observaţii
a) se constată că valorile numerice şi lungimea secvenţei rezultate prin
convoluţia liniară şi circulară a aceloraşi secvenţe x1 [n ] şi x 2 [n ] sunt diferite. Se
pune problema calculării convoluţiei astfel încât rezultatul să fie acelaşi.

b) Se observă că adăugarea a N 2 - 1 zerouri la secvenţa de lungime N1 şi a


N1 - 1 zerouri la secvenţa de lungime N 2 conduce la secvenţe de lungime egală,
N1 + N 2 - 1 , care prin convoluţie circulară vor conduce la acelaşi rezultat cu
convoluţia liniară.

Exemplu
Fie x1¢,p [n ] = x 2¢ ,p [n ] = {3, 2, 1, 0, 0, 3, 2, 1, ...}

x1¢,p [n ] = x 2¢ ,p [n ]'

3 3
2 2
1 1
.....

0 1 2 3 4 5 6 7 n
a)

y ¢[n ]
12 10
9
4
1
.....

0 1 2 3 4 n

Fig. 1.5. Secvenţele periodice extinse (a), şi convoluţia lor periodică (b) (identică cu
secvenţa rezultată în urma calculării convoluţiei liniare)

O perioadă din secvenţa convoluţie periodică este y ¢[n ] = x1¢ [n ] * x 2¢ [n ] este {9,
12, 10, 4, 1}, reprezentând convoluţia circulară (rezultat identic celui obţinut prin
convoluţie liniară):

13
Capitolul 1 - Semnale şi sisteme discrete. Secvenţe unidimensionale. Operaţii cu
secvenţe: convoluţia şi corelaţia. Sisteme discrete liniare şi invariante în timp (LIT)

1.1.2.2.3 Corelaţia

Corelaţia liniară
Este o altă operaţie folosită adesea în prelucrarea digitală (numerică) a
semnalelor, arătând gradul de asemănare dintre două secvenţe.

Definiţie
Corelaţia a două secvenţe finite x1 [n ] , x 2 [n ] este o secvenţă definită astfel:
¥
Rx x [n] = å x1[m] ×x [m - n], - ¥ < n < ¥ (corelaţie mutuală) (1.8)
1 2 m = -¥ 2
¥
Rxx [n] = å x[m] ×x[m - n], - ¥ < n < ¥ (autocorelaţie) (1.9)
m =-¥

)
Exemplu
a) Fie x1 [n ] = {0, 0, 1, 1, 1, 1, 1, 1} , x 2 [n ] = {0, 0, 5, 4, 3, 2, 1, 0} , n = -2,5

R
x x
[n ] = {0, ,0 ,0, 1, 3, 6, 10, 15, 15, 14, 12, 9, 5, 0, 0}, n = -6,-5,...,4,5
1 2

b) Fie secvenţele: {x1 [n ]} = {x 2 [n ]} = {3, 2, 1}. Secvenţa de autocorelaţie liniară


este: {3, 8, 14, 8, 3}

x1 [n ] = x 2 [n ]

3
2
1

0 1 2 n

14
Capitolul 1 - Semnale şi sisteme discrete. Secvenţe unidimensionale. Operaţii cu
secvenţe: convoluţia şi corelaţia. Sisteme discrete liniare şi invariante în timp (LIT)

R x1x2 [n ]

14

8 8

3 3

-2 -1 0 1 2 n

Fig. 1.6. Corelaţia liniară a două secvenţe

Proprietăţi ale corelaţiei


)

a) autocorelaţia este o secvenţă pară:

R x x [n ] = R x x [- n ]
11 11

b) corelaţia mutuală satisface relaţia:

R x x [n ] = R x x [- n ]
12 2 1
c) corelaţia poate fi realizată cu ajutorul operaţiei de convoluţie, astfel:

R x x [n ] = x [- n ] *x [n ] = x [n ] *x [- n ]
12 1 2 1 2

Corelaţia mutuală şi autocorelaţia sunt operaţii folosite de multe ori în analiza


semnalelor şi a sistemelor. De exemplu, pe baza secvenţei de corelaţie se poate
detecta prezenţa unui semnal util (cunoscut) într-un semnal cu zgomot sau poate fi
determinată funcţia pondere a unui sistem.
Corelaţia circulară
Este similară convoluţiei circulare.

Definiţie
Pentru două secvenţe de lungimi egale, corelaţia circulară este:

15
Capitolul 1 - Semnale şi sisteme discrete. Secvenţe unidimensionale. Operaţii cu
secvenţe: convoluţia şi corelaţia. Sisteme discrete liniare şi invariante în timp (LIT)

N -1 N -1
~
Rx x [n] = å x1 p [m] ×x2 p [m - n]= å x [m]× x ((m - n ))mod N
1 2
[ ] (1.10)
1 2 m =0 m=0
n = 0 ,1,...,N - 1

unde, ca şi în cazul convoluţiei circulare, folosim extensia periodică a secvenţelor şi


păstrăm o singură perioadă a rezultatului

Exemplu
Fie secvenţele {x1 [n ]} = {x 2 [n]} = {3, 2, 1}. Rezultatul corelaţiei circulare este
{14, 11, 11} .

R x1x2 [n ]
~
x1 [n ] = x 2 [n ]

3 14
2 11 11
1

0 1 2 n n
0 1 2

Fig. 1.7. Corelaţia circulară a două secvenţe

Exemplu
Pentru cazul particular N = 4 ( x1[n ], x2 [n] având 4 eşantioane), corelaţia
circulară se calculează astfel:

r [0] = x1[0] × x2 [0] + x1 [1] × x2 [1] + x1[2] × x2 [2] + x1[3] × x2 [3]

r [1] = x1[0] × x2 [((- 1))mod 4 = 3] + x1[1] × x2 [0] + x1[2] × x2 [1] + x1[3] × x2 [2]

r [2] = x1 [0] × x2 [((- 2 ))mod 4 = 2] + x1[1] × x2 [((- 1))mod 4 = 3] + x1[2] × x2 [0] + x1[3] × x2 [1]

r [3] = x1[0] × x2 [((- 3))mod 4 = 1] + x1 [1] × x2 [((- 2))mod 4 = 2] + x1[2] × x2 [((- 1))mod 4 = 3] + x1[3] × x2 [0]

Pentru obţinerea relaţiilor anterioare considerăm că x2 [n] = x2 [(( N + m ))N ] ,


respectiv: x2 [((- 1))mod 4 = 3] , x2 [((- 2 ))mod 4 = 2] , x2 [((- 3))mod 4 = 1] .

Forma matricială :

16
Capitolul 1 - Semnale şi sisteme discrete. Secvenţe unidimensionale. Operaţii cu
secvenţe: convoluţia şi corelaţia. Sisteme discrete liniare şi invariante în timp (LIT)

é r [0]ù é x2 [0] x2 [1] x2 [2] x2 [3]ù é x1[0]ù


ê r [1]ú ê x [3] x2 [0] x2 [1] x2 [2]úú êê x1[1]úú
ê ú=ê 2 ×
êr [2]ú ê x2 [2] x2 [3] x2 [0] x2 [1]ú ê x1 [2]ú
ê ú ê ú ê ú
ë r [3]û ë x2 [1] x2 [2] x2 [3] x2 [0]û ë x1 [3]û

Observaţie
Se observă că rezultatul corelaţiei circulare este diferit de rezultatul corelaţiei
liniare, pentru aceleaşi secvenţe. Completarea secvenţelor cu zerouri pentru a obţine
acelaşi rezultat în cazul convoluţiei circulare şi liniare funcţionează şi în cazul
calculului corelaţiei: dacă secvenţa x1 [n ] are lungimea N1 iar x 2 [n ] are lungimea N 2 ,
corelaţia lor are lungimea N1 + N 2 - 1, deci se adaugă N 2 - 1 zerouri secvenţei x1 [n ] ,
respectiv N1 - 1 zerouri secvenţei x 2 [n ] .

1.1.3 Sisteme liniare şi invariante în timp. Cauzalitate. Stabilitate.


1.1.3.1 Cauzalitate. Stabilitate.

Definiţie
Un sistem discret este descris de un operator T care transformă un semnal
discret de intrare x [n ] (excitaţie), generând un semnal discret de ieşire, y [n ]
(răspuns): T (x [n ]) = y [n ] .

Definiţie
Un sistem discret este invariant în timp sau invariant la translaţie dacă
secvenţei de intrare x [n - n 0 ] îi corespunde răspunsul sistemului y [n - n 0 ] , unde
T (x [n ]) = y [n ] .

Definiţie
Un sistem discret este liniar dacă la secvenţa de intrare a × x1 [n ] + b × x 2 [n ]
corespunde răspunsul a × y 1 [n ] + b × y 2 [n ] , unde T (x1 [n ]) = y 1 [n ] şi T (x 2 [n ]) = y 2 [n ] ,
"a, b Î C .

Definiţie
Se numeşte funcţia pondere a unui sistem discret secvenţa {h[n ]} de
răspuns a sistemului la o excitaţie impuls unitate d [n ] .

17
Capitolul 1 - Semnale şi sisteme discrete. Secvenţe unidimensionale. Operaţii cu
secvenţe: convoluţia şi corelaţia. Sisteme discrete liniare şi invariante în timp (LIT)

Definiţie
Semnalul x [n ] este cauzal dacă x [n ] = 0 pentru n < 0 .

Observaţie
Un sistem liniar invariant în timp este caracterizat în domeniul timp de funcţia
pondere.

Definiţie
Un sistemul LIT caracterizat de funcţia pondere h[n ] este un sistem cauzal
dacă h[n ] = 0 , pentru n < 0 .

Definiţie
Un sistem liniar invariant în timp LIT poate fi:
)

a) recursiv, dacă este descris de ecuaţia:

N L
y [n ] = å a × y [n - k ] + å b × x [n - k ] , sau
k =1 k k =0 k

N L ì a' k = 1, pt.k = 0,
å ak¢ ×y [n - k ] = å bk × x [n - k ] cu í (1.11)
k =0 k =0 îa' k = -ak , pt.k = 1,K, N

b) nerecursiv, dacă este descris de o ecuaţie de forma:

L
y [n ] = å b × x [n ] (1.12)
k
k =0
Ecuaţiile (1.11) şi (1.12) se numesc ecuaţii cu diferenţe finite ale
sistemului şi sunt echivalente cu ecuaţiile diferenţiale folosite pentru caracterizarea
sistemelor continue. După forma funcţiei pondere sistemele discrete pot fi:
)

i) cu răspuns finit la impulsul unitate – RFI;


ii) cu răspuns infinit la impulsul unitate – RII.

Definiţie
Un sistem discret LIT este stabil în sens Intrare mărginită - Ieşire
mărginită dacă unei secvenţe de intrare mărginite ( x [n ] £ M1, "n Î N, M1 finit ) îi

18
Capitolul 1 - Semnale şi sisteme discrete. Secvenţe unidimensionale. Operaţii cu
secvenţe: convoluţia şi corelaţia. Sisteme discrete liniare şi invariante în timp (LIT)

corespunde o secvenţă de ieşire mărginită ($M 2 finit astfel încât y [n ] £ M 2 , "n Î N )


(Bounded Input - Bounded Output: BIBO).

)
Observaţii
a) Convoluţia este o metodă de aflare a răspunsului sistemului discret LIT la
secvenţa de intrare x [n ] când se cunoaşte funcţia pondere a sistemului.

Dacă ţinem cont că pentru un sistem LIT sunt valabile următoarele:

- d [n ] determină răspunsul h[n ] (în condiţii iniţiale nule)

- d [n - m ] determină răspunsul h[n - m ]

- x [m ] × d [n - m ] determină răspunsul x [m ] × h[n - m ]


¥ ¥
- å x [m ] ×δ [n - m ] determină răspunsul å x [m ] ×h[n - m ]
m =-¥ m=-¥

obţinem pentru răspunsul generat la ieşirea sistemului discret LIT expresia:


¥ ¥
y [n ] = å h[m ] × x [n - m ] = å x [m]× h[n - m] (1.13)
m = -¥ m = -¥

unde x [n ] este semnalul de intrare iar h[n ] este funcţia pondere a sistemului.
Relaţiile (1.11) şi (1.13) pot fi utilizate pentru calculul răspunsului doar în cazul
sistemelor LIT.
b) Se poate arăta că analiza stabilităţii în sens BIBO pentru sisteme LIT este
echivalentă cu verificarea condiţiei că funcţia pondere h[n ] este absolut sumabilă:
¥ ¥

å h[n ] < ¥ , iar pentru sisteme cauzale:


n = -¥
å h[n ] < ¥
n =0

1.1.3.2 Folosirea convoluţiei pentru calculul răspunsului sistemelor LIT


Pentru sisteme cauzale LIT şi secvenţe de intrare cauzale avem:
¥
y [n ] = å h[m] × x[n - m] = x[n ]* h[n ],
m =0

unde operaţia desemnată prin simbolul „*” este convoluţia liniară.

19
Capitolul 1 - Semnale şi sisteme discrete. Secvenţe unidimensionale. Operaţii cu
secvenţe: convoluţia şi corelaţia. Sisteme discrete liniare şi invariante în timp (LIT)

Presupunem că secvenţele {x [n ]} şi {h[n ]} sunt de lungime finită, N1 ,


respectiv N 2 ; o metodă eficientă de calcul a convoluţiei liniare este bazată pe
folosirea transformatei Fourier discrete, astfel:
- se calculează TFTD/TFD a celor două secvenţe (TFD se aplică după
completarea corespunzătoare cu 0 a celor doua secvenţe, astfel încât rezultatul
convoluţiei liniare să fie identic cu cel al convoluţiei circulare);
- se efectuează produsul acestor transformate;
- se calculează transformata Fourier în timp discret inversă, sau transformata
Fourier discretă inversă pentru obţinerea secvenţei de ieşire.

x [n ]¬¾®
F
( )
X e jω üï
( ) ( ) ( ) ¾® y [n ]
F -1
ÞY e jω = X e jω × H e jω ¬¾
jω ý
(1.14)
( )
h[n ]¬¾® H e ïþ
F

Transformata Fourier discretă poate fi determinată cu ajutorul unor algoritmi


eficienţi de calcul (algoritmi pentru calculul transformatei Fourier rapide - TFR).

1.1.4 Funcţii MATLAB folosite în acest capitol


Funcţiile MATLAB folosite în acest capitol sunt centralizate în Tabel 1.1.
Tabel 1.1. Funcţii MATLAB folosite în lucrarea 1
Desenare

figure Generare figură nouă

subplot Partajare suprafata de desenare

suptitle Titlu figură

title Titlu desen

xlabel, ylabel Etichetă axa x/y

Funcţii matematice

all Verificare dacă toate elementele sunt nenule

any Identificare elemente nenule

find Identificare elemente, pe baza unei condiţii

Identificare valoare minimă/ maximă/ medie/ mediană,


min/max /mean/median/std
abatere standard

20
Capitolul 1 - Semnale şi sisteme discrete. Secvenţe unidimensionale. Operaţii cu
secvenţe: convoluţia şi corelaţia. Sisteme discrete liniare şi invariante în timp (LIT)

Operaţii cu secvenţe

circshift Rotire secvenţă

conv Convoluţia

xcorr Corelaţia mutuală

Funcţii diverse

boxplot Analiza statistică

clock Identificare oră

disp Afişare text

etime Estimare timp calcul

shiftdin, squeeze Eliminare dimensiuni

timeseries Generare serie de timp

vander Generare matrice Vandermonde

1.2 Aplicaţii Matlab: toolbox-ul signal şi secvenţe şi sisteme discrete

1.2.1 Demo şi Help


)

a) Se lansează în execuţie programul MATLAB.


Utilizatorul poate accesa programele demonstrative demo şi help.
b) Programele demonstrative disponibile, în mod scrip, pot fi parcurse pas cu
pas, pentru a vedea facilităţile oferite de mediul de programare MATLAB.
Utilizând help numeFuncţie se pot obţine informaţii despre funcţia
numeFuncţie. Utilizaţi help pentru a identificamodul de folosire al următoarelor
comenzi: load, save, plot, subplot, axis, xlabel, ylabel, title.
Comentaţi în scris, folosind informaţiile obţinute, programul prezentat în
exemplul 1, reţinând faptul că în MATLAB, comentariile se introduc precedate de
semnul %.
%Exemplul 1
t=0:0.1:20;
figure;
plot(t,sin(5*t)+0.2*sin(t)),title('y=sin(5*t)+0.2*sin(t)');grid on
xlabel('timpul t');
21
Capitolul 1 - Semnale şi sisteme discrete. Secvenţe unidimensionale. Operaţii cu
secvenţe: convoluţia şi corelaţia. Sisteme discrete liniare şi invariante în timp (LIT)

ylabel('y');
axis([-1 21 -1.3 1.3]); %Scalare

figure;
subplot(221),plot(t,sin(5*t)),title('Desen 1: Fereastra stanga sus');grid on
xlabel('s');
ylabel('y=sin(5*t)');ylim([-1.5 1.5]);

subplot(222),plot(t,0.2*sin(t));grid on
xlabel('s');
ylabel('y=0.2*sin(t)');ylim([-1.5 1.5]);
title('Desen 2: Fereastra dreapta sus');

subplot(223);%sau subplot(2,2,3);
plot(t,sin(5*t)+0.2*sin(t));title('Desenul 3: Fereastra stanga jos');grid on
xlabel('s');
ylabel('sin(5*t)+0.2*sin(t)');ylim([-1.5 1.5]);
title('Desen 3: Fereastra stanga jos');

subplot(224),plot(t,sin(5*t)-0.2*sin(t));grid on
xlabel('s');
ylabel('sin(5*t)-0.2*sin(t)');ylim([-1.5 1.5]);
title('Desen 3: Fereastra dreapta jos');
suptitle('Figura cu spatiul de desenare impartit intr-o matrice 2x2');
c) Desenaţi graficul funcţiei Bessel pentru a = 0 şi a = 1, cu x în intervalul
[0,10] (pasul 0.30). Graficele se vor realiza în fereastra corespunzătoare jumătăţii
superioare a ecranului.
%d
figure;
x=0:.25:30;
alpha=0;
subplot(411),plot(x,besselj(alpha,x)),title('alpha = 0');grid on
subplot(412),plot(x,besselj(1,x));title('alpha = 1');grid on
subplot(413),plot(x,besselj(2,x));title('alpha = 2');grid on
subplot(414),plot(x,(1/2)*(besselj(0,x)-besselj(2,x)));title('J^''_1(x) = (1/2)*(J_0(x)-
J_2(x))');xlabel('x');grid on
d) Fie vectorul v = [0 1 2 3 4 5 6 7 8 9]. Precizăm că indexul elementelor
vectorilor în MATLAB începe cu 1, spre deosebire de alte medii de programare unde
indicele începe cu 0 (C++ de ex.).
- Testaţi dacă el conţine cel puţin un element diferit de zero, folosind funcţia
any(v);

22
Capitolul 1 - Semnale şi sisteme discrete. Secvenţe unidimensionale. Operaţii cu
secvenţe: convoluţia şi corelaţia. Sisteme discrete liniare şi invariante în timp (LIT)

- Testaţi dacă toate elementele vectorului sunt nenule, folosind funcţia all(v);
Notaţi definiţia funcţiei all;
- Scrieţi liniile de program necesare aflării valorilor maximă (funcţia max), minimă
(funcţia min), medie (funcţia mean), mediană (funcţia median) a vectorului v.
- Scrieţi liniile de program necesare calculului abaterii standard a valorii
elementelor vectorului (funcţia std);
e) Repetaţi punctul e), făcând modificările necesare pentru a funcţiona, pentru
matricea X, creată ca matrice Vandermonde, pornind de la vectorul v.
%e
v = [0 1 2 3 4 5 6 7 8 9];
X = vander(v)
i = 1; j = 6; k = 9;
%linia i
X(i,:)
%coloana j
X(:,j)
%primele doua coloane, citite coloana dupa coloana
X(1:20)

%primele doua linii, toate coloanele


X(1:2,:)
%coloanele de la j pana la k, toate liniile
X(:,j:k)
%toata matricea
X(:,:)
%toata matricea scrisa sub forma vectoriala (o singura coloana),
%coloana dupa coloana
X(:)
%toata matricea
X
%desenarea valorilor statistice importante, calculate pe coloane
figure,boxplot(X(:,7:end))

%f
v = [0 1 2 3 4 5 6 7 8 9], w = 1:1:9,
disp(['Exista elemente nenule in v: ' num2str(any(v)) ' si in w: ' num2str(any(w))]);
disp(['Toate elementele sunt nenule in v: ' num2str(all(v)) ' si in w: ' num2str(all(w))]);
maxv = max(v); maxw = max(w); disp(['maxv = ' num2str(maxv) ', maxw = '
num2str(maxw)]);
minv = min(v); minw = min(w); disp(['minv = ' num2str(minv) ', minw = '
num2str(minw)]);
meanv = mean(v); meanw = mean(w); disp(['meanv = ' num2str(meanv) ', meanw = '
num2str(meanw)]);
23
Capitolul 1 - Semnale şi sisteme discrete. Secvenţe unidimensionale. Operaţii cu
secvenţe: convoluţia şi corelaţia. Sisteme discrete liniare şi invariante în timp (LIT)

medianv = median(v); medianw = median(w); disp(['medianv = ' num2str(medianv) ',


medianw = ' num2str(medianw)]);
stdv = std(v); stdw = std(w); disp(['stdv = ' num2str(stdv) ', stdw = ' num2str(stdw)]);
varv = var(v); varw = var(w); disp(['varv = ' num2str(varv) ', varw = ' num2str(varw)]);

Observaţie
Matricea X va avea ca penultimă coloană vectorul v , iar elementele matricei
au valorile vander (i , j ) = v (i ) .
n- j

f) Precizaţi ce realizează comenzile de mai jos:

X (:, j ), X ( j : k ), X (i ,:), X (:, j : k ), X (:,:), X (:)

%g
v = 0:1:11;
X = vander(v(1:2:end))
disp('daca exista elemente nenule, pe coloane - any');
any(X)
disp('exista elemente nule - find');
[i,j] = find(X==0)
disp('daca toate elementele sunt nenule, pe coloane - all');
all(X)

%valori statistice pe coloane


disp(['maximul pe coloane (max) = ' num2str(max(X))]);
disp(['minimul pe coloane (min) = ' num2str(min(X))]);
disp(['valoarea medie pe coloane (mean) = ' num2str(mean(X))]);
disp(['valoarea mediana pe coloane (median) = ' num2str(median(X))]);
disp(['abaterea standard pe coloane (std) = ' num2str(std(X))]);

%valori statistice pe linii


disp(['maximul pe linii (max(X,[],1)) = ' num2str(max(X,[],1))]);
disp(['minimul pe linii (min(X,[],1)) = ' num2str(min(X,[],1))]);
disp(['valoarea medie pe linii (mean(X,1)) = ' num2str(mean(X,1))]);
disp(['valoarea mediana pe linii (median(X,1)) = ' num2str(median(X,1))]);
disp(['abaterea standard pe linii (std(X,[],1)) = ' num2str(std(X,[],1))]);
g) Cu ajutorul toolbox-ului timeseries calculaţi valoarea mediană, minimă,
maximă, etc. dintr-o secvenţă. Reprezentaţi valorile calculate utilizând boxplot.

%h
%folosirea valorilor statistice pe serii de timp
t=0:0.1:20;
TS = timeseries(sin(5*t)+0.2*sin(t),t);
TS.mean
24
Capitolul 1 - Semnale şi sisteme discrete. Secvenţe unidimensionale. Operaţii cu
secvenţe: convoluţia şi corelaţia. Sisteme discrete liniare şi invariante în timp (LIT)

TS.max
TS.min
TS.var
TS.std
TS.median
tstool(TS)%pentru analiza imediata a semnalului
figure,plot(TS),grid on
figure,boxplot(squeeze(TS.data))%pentru desenarea valorilor statistice mai
importante
figure,boxplot(shiftdim(TS.data))%renuntam la dimensiunile ce nu-s necesare, cu
squeeze sau shiftdim

1.2.2 Operaţii cu secvenţe


a) Fie vectorii x1 = x 2 = [3 2 1] , unde N = 3 este lungimea maximă a
)

secvenţei. Urmăriţi exemplul 3, care realizează convoluţia şi corelaţia vectorilor.


Notaţi rezultatele pentru convoluţia, respectiv corelaţia periodică, considerând
secvenţele x 1p = [3 2 1 3 2 1 3 2 1] , x 2 p = [3 2 1 3 2 1 3 2 1] . Folosiţi scrierea matriceală
pentru calculul convoluţiei circulare. În tabelul 1 sunt prezentate rezultatele obţinute.
% exemplul 3
x1 = [3 2 1];
x2 = [3 2 1];
% Convolutia liniara
c = conv(x2, x1);
figure
subplot(311),stem(0:2,x2);xlim([-3 3]);title('x2');grid on
subplot(312),stem(0:2,x1);xlim([-3 3]);title('x1');grid on
subplot(313),stem(-2:2,c);xlim([-3 3]);title('convolutie x1 cu x2');grid on
suptitle('Convolutia x1 cu x2');

% Convolutia periodica
x1p = repmat(x1,1,2);
x2p = repmat(x2,1,2);
d = conv(x1p, x2p);
figure
subplot(311);stem(0:5,x1p);xlim([-6 6]);grid on
subplot(312);stem(0:5,x2p);xlim([-6 6]);grid on
subplot(313);stem(-5:5,d);xlim([-6 6]);grid on
suptitle('Convolutia periodica');

% autoconvolutia circulara
% o posibilitate de calcul in acest caz
a = [1 3 2;...
circshift([1 3 2],[1 1]);...
circshift([1 3 2],[1 2])];

25
Capitolul 1 - Semnale şi sisteme discrete. Secvenţe unidimensionale. Operaţii cu
secvenţe: convoluţia şi corelaţia. Sisteme discrete liniare şi invariante în timp (LIT)

circ=a*x1';
figure
subplot(211),stem(0:2,circ);xlim([-3 3]);title('convolutia circulara calculata');grid on
%acelasi lucru il obtinem prin functia cconv
subplot(212),stem(0:2,cconv(x1,x1,3));xlim([-3 3]);title('convolutia circulara din
Matlab');grid on

% Desenarea rezultatelor convolutiei liniare si circulare


figure
subplot(211),stem(-2:2,c);xlim([-3 3]);title('Convolutie liniara');grid on
subplot(212),stem(0:2,circ);xlim([-3 3]);title('Convolutie circulara');grid on

% Corelatia mutuala
m = xcorr(x2, x1);
figure
subplot(311),stem(0:2,x2);xlim([-3 3]);title('x2');grid on
subplot(312),stem(0:2,x1);xlim([-3 3]);title('x1');grid on
subplot(313),stem(-2:2,m);title('corelatie x2 cu x1');grid on
suptitle('Corelatia a doua semnale');

% Normalizarea valorii corelatiei (cu 1/length(x))


norm = xcorr(x2, x1, 'biased');
figure
subplot(311),stem(0:2,x2);xlim([-3 3]);title('x2');grid on
subplot(312),stem(0:2,x1);xlim([-3 3]);title('x1');grid on
subplot(313),stem(-2:2,norm);xlim([-3 3]);title('Corelatia normalizata, x2 cu x1');grid
on

% Autocorelatia
x1_autocorr = xcorr(x1);
figure
subplot(311),stem(0:2,x1);xlim([-3 3]);title('x1');grid on
subplot(312),stem(0:2,x1);xlim([-3 3]);title('x1');grid on
subplot(313),stem(-2:2,x1_autocorr);xlim([-3 3]);title('Corelatie mutuala (autocorelatia
x1)');grid on

% Corelatia circulara
% Folosim scrierea matriciala
a=[x1;
circshift(x1,[1 1]);...
circshift(x1,[1 2])];
rcirc=a*x1';
figure
subplot(311),stem(0:2,x1);xlim([-3 3]);title('x1');grid on
subplot(312),stem(0:2,x1);xlim([-3 3]);title('x1');grid on
26
Capitolul 1 - Semnale şi sisteme discrete. Secvenţe unidimensionale. Operaţii cu
secvenţe: convoluţia şi corelaţia. Sisteme discrete liniare şi invariante în timp (LIT)

subplot(313),stem(0:2,rcirc);xlim([-3 3]);title('Corelatie circulara');grid on

b) Fie vectorii a = [1 2 3], b = [4 5 6] , unde N = 3 este lungimea maximă a


secvenţei.

- Realizaţi (teoretic) convoluţia vectorilor a şi b .

- Scrieţi instrucţiunile necesare în MATLAB pentru a repeta punctul a).


- Inseraţi secvenţele:
t=clock;
...operaţii...
etime(clock,t);
pentru a calcula durata operaţiilor efectuate (convoluţie/corelaţie).

c) Pentru secvenţele {x1[n ]}, {x 2 [n ]} din figură determinaţi şi desenaţi


convoluţia liniară x1 [n ] * x 2 [n ] .

x1 [n ] x 2 [n ]
3
2 2 2 2
1 1 1 1

0 1 2 3 4 5 n 0 1 2 3 4 5 n

d) Se dau două secvenţe cu duratele 6 şi 4: {0, - 3, - 2, 1, 2, 0}, {2, 3, 2, - 1}.

- Scrieţi instrucţiunile MATLAB pentru determinarea lui y 1 [n ] = x1 [n ] * x 2 [n ]


folosind operaţia de convoluţie. Reprezentaţi grafic rezultatul.

- Scrieţi instrucţiunile MATLAB pentru determinarea lui y 2 [n ] = x 2 [n ] * x1 [n ]


folosind operaţia de convoluţie. Reprezentaţi grafic rezultatul. Comparaţi
rezultatul cu rezultatul anterior.

)
Proprietăţile operaţiilor cu secvenţe
a) Verificaţi proprietăţile de comutativitate, asociativitate, distributivitate,
liniaritate ale convoluţiei, scriind în MATLAB instrucţiunile corespunzătoare. Se vor
considera secvenţele:

x1 [n ] = {1,1,1,0,0,0}, n = 0,5

27
Capitolul 1 - Semnale şi sisteme discrete. Secvenţe unidimensionale. Operaţii cu
secvenţe: convoluţia şi corelaţia. Sisteme discrete liniare şi invariante în timp (LIT)

x 2 [n ] = {1,2,0,-3,4,2,-1,1,-2,3,2,1,-3}

x 3 [n ] = {1,0,1,0,1}

b) Pornind de la definiţia convoluţiei discrete:


¥
x [n ]*x [n ]= å x [m ] ×x [n - m ]
1 2 m =-¥ 1 2

arătaţi că:

- dacă x1 [n ] = 0 pentru n < 0 , atunci:


¥
x [n ]*x [n ]= å x [m ] × x [n - m ]
1 2 m=0 1 2

- dacă x 2 [n ] = 0 pentru n < 0 , atunci

n
x [n ]*x [n ]= å x [m ]× x [n - m ]
1 2 m =-¥ 1 2

- dacă x1 [n ] = 0 pentru n < 0 şi x 2 [n ] = 0 pentru n < 0 (convoluţie între secvenţe


cauzale), atunci
n
x [n ]*x [n ]= å x [m ]×x [n - m ]
1 2 m=0 1 2

Se vor considera pentru calculul numeric secvenţele:

ì 1, n = 0,1
æ pö ï
x1 [n ] = cosç n ÷, n = 0,6 , x 2 [n ] = í0, n = 2,3,4
è 2 ø ï1, n = 5
î

)
Observaţii
a) O modalitate interesantă de generare a valorii p în MATLAB este
următoarea: se calculează log(- 1) (logaritmul natural), ţinând cont că
log(z ) = log(abs (z )) + i arctan(y / x ) , unde y = 0, x = -1) . Se determină răspunsul:
0.0000 + 3.1416 i.

b) Pentru generarea secvenţelor x1 [n ] , x 2 [n ] se poate folosi secvenţa de


instrucţiuni MATLAB următoare:
x1 = cos((0:6)*pi/2);

28
Capitolul 1 - Semnale şi sisteme discrete. Secvenţe unidimensionale. Operaţii cu
secvenţe: convoluţia şi corelaţia. Sisteme discrete liniare şi invariante în timp (LIT)

x2 = [1 1 0 0 0 1];
c) Ştiind că importanţa operaţiei de convoluţie constă şi în faptul că operaţii
elementare (excepţie: operaţiile neliniare) pot fi reprezentate prin convoluţii cu
semnale elementare alese corespunzător, scrieţi instrucţiunile MATLAB necesare
pentru a demonstra că:

- operaţia de convoluţie cu secvenţa impuls unitate lasă secvenţa x [n ]


neschimbată.

- multiplicarea cu un scalar este echivalentă convoluţiei cu secvenţa ad [n ] ("a"


scalar).

- întârzierea în timp este echivalentă convoluţiei cu d [n - m ] :

{x [n - m ]} = {x [n ] * d [n - m ]}
- sumarea eşantioanelor anterioare este echivalentă convoluţiei cu secvenţa
treaptă unitate:

ì1,n ³ 0
u [n ] = í
î0,n < 0

Se va considera secvenţa x [n ] = {1,2,3,3,2,1}. Notaţi şi desenaţi rezultatul


fiecărei operaţii.

c) Fie x1,p [n ] şi x 2,p [n ] două secvenţe periodice, cu perioada N = 6 , definite


prin relaţiile:

æ πn ö
x [n ] = cosç ÷
1, p è 3 ø

ì 1, n = 0
ï
x 2,p [n ] = í0, n = 1,2,3,4
ï 1, n=5
î

Scrieţi instrucţiunile MATLAB necesare calculului convoluţiei periodice a


secvenţelor x1,p [n ] şi x 2,p [n ], notaţi şi reprezentaţi grafic rezultatul.

d) Fie două secvenţele periodice pentru care o perioadă este definită astfel:

x1 [n ] = {1,2,3,4,5,0,0} , x 2 [n ] = {1,1,1,1,0,0,0}

- Calculaţi în MATLAB convoluţia circulară în 7 puncte a acestor secvenţe.

29
Capitolul 1 - Semnale şi sisteme discrete. Secvenţe unidimensionale. Operaţii cu
secvenţe: convoluţia şi corelaţia. Sisteme discrete liniare şi invariante în timp (LIT)

- Presupunând că secvenţele sunt finite şi neperiodice, găsiţi convoluţia lor


liniară.
- Sunt rezultatele identice sau nu? Explicaţi şi indicaţi soluţia pentru obţinerea
aceluiaşi rezultat. Verificaţi cu ajutorul MATLAB soluţia propusă.
e) Calculaţi şi reprezentaţi grafic convoluţia liniară, periodică şi circulară, a
două secvenţe de lungime 4, definite astfel: x1 [n ] = {1,2,-1,0} , x 2 [n ] = {3,2,0,1} .

f) Două secvenţe de lungime N = 3 , x1 [n ] şi x 2 [n ] sunt desenate mai jos:

x1 [n ] x 2 [n ]

3 3 2

1 2
2 0 n
0 1 n -1
-2 -2

Calculaţi cu ajutorul programului MATLAB şi reprezentaţi grafic:

- convoluţia liniară x1 [n ] * x 2 [n ] .

- convoluţia circulară x1 [n ] Ä x 2 [n ] .

- corelaţia mutuală R x x [n ] .
12

- autocorelaţia secvenţei x1 [n ] , R x x [n ]
11

- autocorelaţia circulară a secvenţei x1 [n ] , R x x [n ]


~
11
1.3 Exerciţii şi probleme recapitulative
a) Fie sistemul discret cu funcţia pondere h[n ] = a n × u [n ] . Dacă la intrare se
)

n
æ 1ö
aplică secvenţa x [n ] =ç ÷ , calculaţi secvenţa de răspuns, y [n ] , folosind convoluţia.
è2ø
Realizaţi calculul teoretic şi cu ajutorul programului MATLAB.

30
Capitolul 1 - Semnale şi sisteme discrete. Secvenţe unidimensionale. Operaţii cu
secvenţe: convoluţia şi corelaţia. Sisteme discrete liniare şi invariante în timp (LIT)

b) Determinaţi răspunsul sistemului descris de funcţia pondere


n +1 æpn p ö
h[n ] = (0.707 ) × cosç - ÷, n ³ 0 la secvenţa de intrare treaptă unitate, teoretic şi
è 4 4ø
cu ajutorul mediului de programare MATLAB. Notaţi instrucţiunile folosite şi rezultatul
obţinut.

ì 1 1 1 ü
c) Răspunsul unui sistem la secvenţa d [n ] este h[n ] = í1, , , ,0,0 ý .
î 2 3 4 þ

- Reprezentaţi grafic secvenţele: d [n ] , h[n ], d [n - m ] , h[n - m ] .

- Determinaţi şi desenaţi răspunsul sistemului la secvenţa de intrare:

ì4, n ³ 0
x [n ] = í
î0, n < 0

d) Fie secvenţele h[n ] şi x [n ] din figură. Determinaţi răspunsul sistemului LIT


cu ajutorul operaţiei de convoluţie.

x [n ]
h[n ]
4 4
3 2 2
2
1 5 6 7 8
0 0 1 2 3 4 n
0 1 2 3 4 5 n

e) Răspunsul unitar al unui sistem liniar invariant în timp (LIT) este dat în
tabelul următor:

n 0 1 2 3 4 5 6

h[n ] 0.0 0.0 3.0 0.75 0.56 0.23 0.0

Semnalul de intrare în sistem este x [n ] = 5 × u [n ] , unde u [n ] este secvenţa


treaptă unitate. Folosiţi operaţia de convoluţie pentru a afla răspunsul sistemului
y [n ] , pentru n = 0,1,2,3,4 .

Bibliografie
0)

1) Ungureanu Georgeta Mihaela - Analiza şi prelucrarea semnalelor: aplicaţii în


ingineria biomedicală, MATRIX ROM, 2013;

31
Capitolul 1 - Semnale şi sisteme discrete. Secvenţe unidimensionale. Operaţii cu
secvenţe: convoluţia şi corelaţia. Sisteme discrete liniare şi invariante în timp (LIT)

2) Ungureanu G. Mihaela – Prelucrarea digitală a semnalelor, MATRIX ROM, 2008;


3) Ungureanu Mihaela, Munteanu Cristian, Dumitras Adriana, Vieru Rodica,
Coordonator: Prof.Dr.Ing. Lazarescu Vasile - Prelucrarea digitală a semnalelor.
Aplicaţii Matlab, Matrix ROM, 2003;
4) Richard A. Haddad, Thomas W. Parsons - Digital Signal Processing. Theory,
Applications and Hardware; Computer Science Press, USA, 1991;
5) Emmanuel C. Ifeachor, Barrie W. Jervis - Digital Signal Processing. A Practical
Approach; Addison - Wesley Publ. Comp., USA, 1993;
6) Vasile Lazarescu - Prelucrarea digitala a semnalelor; Amco Press, Bucuresti,
România, 1995;
7) John J. Proakis, Dimitris G. Manolakis - Digital Signal Processing. Principles,
Algorithms and Applications; Maxwell MacMillan Intl, Singapore, 1992;
8) Robert D. Strum, Donald E. Kirk - First Principles of Discrete Systems and Digital
Signal Processing; Addison - Wesley Publ. Comp., USA, 1988;
9) Alan V. Oppenheim, Roland W. Schaffer - Discrete Time Signal Processing -
Prentice-Hall International, Inc., 1988;
10) Marin Ghinea, Virgil Fireteanu - MATLAB- calcul numeric, grafica, aplicatii, Teora,
1995.

32