Sunteți pe pagina 1din 27

Capitolul 1 - Semnale i sisteme discrete. Secvene unidimensionale.

Operaii cu
secvene: convoluia i corelaia. Sisteme discrete liniare i invariante n timp (LIT)

1 Semnale i sisteme discrete. Secvene unidimensionale.


Operaii cu secvene: convoluia i corelaia. Sisteme discrete
liniare i invariante n timp (LIT)
Obiectivele capitolului
Scurt introducere n programarea MATLAB, cu prezentarea facilitilor oferite
pentru domeniul prelucrrii digitale a semnalelor. Semnale i sisteme discrete.
Operaii cu secvene: convoluie, corelaie (liniar, periodic, circular).
Reprezentarea sistemelor discrete n timp (funcia pondere, ecuaia cu diferene
finite). Cauzalitate. Stabilitate.

1.1 Prezentarea programului MATLAB


Mediul de programare MATLAB este un important instrument software
destinat n algoritmilor (matematici), bazat pe calculul matriceal. Este foarte util n
inginerie, i ndeosebi n domeniul prelucrrii digitale a semnalelor (PDS). Cei mai
cunoscui algoritmi sunt disponibili sub form de funcii grupate n pachete de
programe specializate (tools) (de ex., pentru domeniul PDS exist toolbox-ul signal).
Programul MATLAB accept urmtoarele tipuri eseniale de fiiere:

fiiere de tip "script" (extensie .m): conin text (caractere ASCII) i sunt folosite
pentru a scrie un program, o funcie sau pentru a defini o clas n Matlab;

fiiere de tip "figur" (extensie .fig): sunt utilizate pentru a salva figurile i
interfaa grafic a programelor Matlab GUI (programe complexe, cu elemente
de interfaare grafica precum meniuri, butoane, etc., realizate n mediul
guide);

fiiere de tip "date binare" (extensie .mat), care conin date binare, respectiv
fiiere de date de tip text (fiiere ASCII, cu extensie .txt), care conin datele
salvate sub form de text (valori numerice);

fiiere specifice mediului de modelare SIMULINK (extensie .mdl, .slx, .mdlp,


.slxp)

fiiere de cod Matlab protejate (extensie .p)

fiiere dezvoltate n/pentru alte medii de programare (extensii .mex: .mex64,


.mexmaci64, .mexw32, .mexw64, pentru Linux 64-bii, Apple Mac 64-bii,
Microsoft Windows 32-bii, Windows 64-bii).

Cu ajutorul compilatorului mex pot fi utilizate n MATLAB fiiere generate de


programele C, Pascal, etc.
Exist posibilitatea de a afla informaii despre funciile Matlab disponibile
folosind comanda:
>>help <nume_funcie>
1

Capitolul 1 - Semnale i sisteme discrete. Secvene unidimensionale. Operaii cu


secvene: convoluia i corelaia. Sisteme discrete liniare i invariante n timp (LIT)
unde <nume_funcie> este funcia despre care se doresc informaii, iar >> este
prompterul curent al ferestrei de comand. Fiecare funcie este implementat sub
forma unui fiier cu extensia .m i poate fi apelat direct n program. Fiierul .m
asociat unei funcii conine n primele linii descrierea funciei, sub form de
comentarii (linii care ncep cu simbolul %).
MATLAB-ul integreaz analiza numeric, calculul matriceal, prelucrarea
semnalului i reprezentrile grafice, ntr-un mediu uor de utilizat.
O caracteristic important a programului MATLAB este uurina cu care
acesta poate fi extins prin crearea de noi funcii sau proceduri pe baza celor
existente. MATLAB include pachete de funcii sau proceduri numite Toolbox-uri.
Acestea sunt pachete de funcii (fiiere .m) grupate dup anumite domenii. Exist de
exemplu urmtoarele toolbox-uri: Signal Processing (help 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 reelelor neurale, Statistics (stats) - pentru analiza i
modelarea statistic, Spline (splines) - pentru aproximare i modelare pe baza
funciilor spline, Control System Design (control) - pentru analiza i proiectarea
sistemelor automate de control, Robust Control (robust) - pentru control robust (n
prezena 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 mulimi
vagi, Bioinformatica (bioinfo), Simulink pentru modelare/analiza de
semnale/sisteme.

1.2 Semnale discrete. Operaii cu secvene. Convoluia i corelaia


1.2.1 Semnale discrete n timp
Definiie
Un semnal s se numete 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 funcie discret n timp i
continu n amplitudine. Discretizarea n domeniul timp se numete eantionare,
aceasta putnd fi:

uniform, cu pasul de discretizare, T , constant: t n nT , n Z ;

neuniform: cu un pas de discretizare T variabil.

Capitolul 1 - Semnale i sisteme discrete. Secvene unidimensionale. Operaii cu


secvene: convoluia i corelaia. Sisteme discrete liniare i invariante n timp (LIT)

Observaie
0.

1
este frecvena de
T
eantionare. n continuare ne vom referi numai la eantionarea uniform, pentru care
s-a dezvoltat domeniul prelucrrii digitale a semnalelor. n mod uzual perioada de
eantionare T se consider 1.
1. T

se numete perioad de eantionare, iar

2. Pentru reprezentarea semnalelor discrete se folosesc notaiile:


x nT , x n , x nT , x t t nT .

x n ,

Exemplu
Semnalul discret n timp x n a n , n 0 este reprezentat grafic n Fig. 1.1:

a>1

x(n)

x(n)

0<a<1

n
0

1 2

3 4 5 6

n
0

1 2

3 4 5 6

Fig. 1.1. Exponeniala discret, reprezentat ca secven cauzal

Definiii
1. Secvena xn poate fi finit sau infinit. Secvenele infinite pot fi periodice
sau aperiodice. O secven periodic, x p n , de perioad N , este complet definit
0.

dac se cunosc valorile sale pentru o perioad (de exemplu, se cunosc valorile
eantioanelor 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 .
Un semnal discret poate fi generat direct la momente discrete de timp de
ctre surse de semnale discrete, sau poate proveni din eantionarea unui semnal
continuu n timp.
3

Capitolul 1 - Semnale i sisteme discrete. Secvene unidimensionale. Operaii cu


secvene: convoluia i corelaia. Sisteme discrete liniare i invariante n timp (LIT)
2. Dou secvene sunt egale dac au aceeai lungime i valorile
eantioanelor sunt egale:

x n y n dac x n y n , pentru toate valorile

n luate n considerare.

Exemple de secvene
a) secvena impuls unitate
)

1, n 0
n
0, n 0
respectiv secvena impuls unitate ntrziat,
1, n k
0, n k

n k
b) secvena treapt unitate

1, n 0
un
0, n 0

1.2.2 Operaii cu secvene


1.2.2.1 Operaii elementare
Denumirea operaiei

Operaia

Adunare

zn , cu zn x n y n , n

nmulire cu numr scalar

zn a xn axn , n

Deplasare n timp

zn xn n0 , n

nmulire

zn , cu zn x n y n , n

Operaii liniare

zn x n y n x n y n , n

1.2.2.2 Convoluia
Convoluia liniar
Definiie
Convoluia liniar (aperiodic) este un operator care acioneaz asupra a
dou secvene x1 n i x 2 n , pentru a genera secvena:

Capitolul 1 - Semnale i sisteme discrete. Secvene unidimensionale. Operaii cu


secvene: convoluia i corelaia. Sisteme discrete liniare i invariante n timp (LIT)

x n x n x n x n m
1
2
2
m 1

(1.1)

Exemplu
Fie secvenele: x1 n 3, 2, 1 , x 2 n 3, 2, 1; secvena obinut prin
convoluie liniar este x1 n x 2 n 9, 12, 10, 4, 1 .
x1n x 2 n

4
2
0

x1 n x 2 n

12
10
8
6
4
2
0

Fig. 1.2. Convoluia liniar a dou secvene


Proprieti
a) comutativitate
)

x1 n x 2 n x 2 n x1 n , x1, x 2

(1.2)

x1 n x 2 n x 3 n x1 n x 2 n x 3 n , x1, x 2 , x 3

(1.3)

b) asociativitate

c) distributivitate
5

Capitolul 1 - Semnale i sisteme discrete. Secvene unidimensionale. Operaii cu


secvene: convoluia i corelaia. Sisteme discrete liniare i invariante n timp (LIT)
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) este o operaie liniar

x1 n x 2 n x 3 n x1 n x 3 n x 2 n x 3 n , x1, x 2 , x 3 , ,

(1.5)

Observaii
a) convoluia liniar a dou secvene de lungimi N1 , N 2 genereaz o
secven de lungime N1 N 2 1 eantioane; deci rezultatul este o secven cu valori
nenule n intervalul:
)

0 n N N 1
1
2

b) convoluia liniar poate fi calculat n dou moduri: direct, folosind definiia,


sau efectund transformata Fourier discret invers (TFDI) a produsului
transformatelor Fourier discrete (TFD) a celor dou secvene (dac convoluia liniar
i circular conduc la acelai rezultat).
Convoluia periodic
Definiie
Pentru dou secvene periodice x1,p n , x 2,p n , cu aceeai perioad N ,
convoluia periodic este definit de formula:

n
3, p

N 1
n l x1, p x 2, p
x l x
1, p
2, p
l 0

Exemplu
Fie secvenele: x 2,p n x1,p n 3, 2, 1, 3, 2, 1, ...., atunci:

x n x n 13, 13, 10, 13, 13, 10,...


1, p

2, p

(1.6)

Capitolul 1 - Semnale i sisteme discrete. Secvene unidimensionale. Operaii cu


secvene: convoluia i corelaia. Sisteme discrete liniare i invariante n timp (LIT)

x1,p n x 2,p n
3
2
1
0

13

13

10
0

Fig. 1.3. Convoluia periodic a dou secvene

Observaii
a) Conform definiiei se observ c n calculul convoluiei periodice se
consider doar o perioad a secvenelor periodice;
)

b) Operaia de convoluie periodic a dou secvene periodice de perioad N


este la rndul ei o secven periodic de perioad N ;
c) Convoluia periodic poate fi determinat pe dou ci: direct, n domeniul
N 1

n l x1, p x 2, p (1.6), sau


timp, cu ajutorul relaiei x
n x l x
3, p
1, p
2, p
l 0
indirect, calculnd nti seriile Fourier discrete (SFD) corespunztoare secvenelor
periodice i apoi efectund transformarea Fourier invers a produsului acestora
(dac X 1,p i X 2,p sunt SFD ale secvenelor x1,p , respectiv x 2,p , atunci avem
F
x1,p x 2,p
X 1,p X 2,p ).

Convoluia circular
Definiie
Fie dou secvene finite x1 n , x 2 n cu durata N . Convoluia lor circular
notat y n poate fi definit astfel:
7

Capitolul 1 - Semnale i sisteme discrete. Secvene unidimensionale. Operaii cu


secvene: convoluia i corelaia. Sisteme discrete liniare i invariante n timp (LIT)
)

i) n domeniul timp:
Dac x1 n corespunde unei perioade a secvenei periodice x1,p n i x 2 n

conine eantioanele corespunztoare unei perioade a secvenei periodice x 2,p n ,


N 1

atunci y n x1 n x 2 n este o perioad a secvenei x1,p n x 2,p n , i deci o


l 0

perioada a secvenei x1,p n x 2,p n .


y n

N 1

x m x n m

m 0

mod N

x1,p n x 2,p n N

(1.7)

unde marcheaz operaia de convoluie circular.


ii) n domeniul frecven:
Fie X 1 k i X 2 k TFD ale secvenelor x1 n , respectiv x 2 n . Notm cu
Y k X 1 k X 1 k . Atunci TFDI a lui Y k este secvena y n care reprezint
convoluia circular a secvenelor x1 n , x 2 n .

Exemplu
Pentru cazul particular N 4 avem:
c 0 x 0 y 0 x 1 y 1 x 2 y 2 x 3 y 3
c 1 x 0 y 1 x 1 y 0 x 2 y 1 x 3 y 2
c 2 x 0 y 2 x 1 y 1 x 2 y 0 x 3 y 1
c 3 x 0 y 3 x 1 y 2 x 2 y 1 x 3 y 0

Dac secvena este periodic de perioad 4, atunci:


y 1 y 4 1 y 3

y 2 y 4 2 y 2

y 3 y 4 3 y 1

Relaiile se pot scrie matriceal:

Capitolul 1 - Semnale i sisteme discrete. Secvene unidimensionale. Operaii cu


secvene: convoluia i corelaia. Sisteme discrete liniare i invariante n timp (LIT)
c 0 x 0
c 1 x 1

c 2 x 2

c 3 x 3

x 3
x 0
x 1
x 2

x 2
x 3
x 0
x 1

x 1 y 0
x 2 y 1

x 3 y 2


x 0 y 3

Exemplu
Fie secvenele x1 n 3, 2, 1 , x 2 n 3, 2, 1; convoluia circular a
acestora este y x1 n x 2 n 13, 13, 10.
x1 n x 2 n

3
2
1
0

x1 n x 2 n
12

x1 n x 2 n
1

10

1
0

1
n

a)

b)

Fig. 1.4. Convoluia circular (a) i liniar (b) dou secvene

Observaii
a) se constat c valorile numerice i lungimea secvenei rezultate prin
convoluia liniar i circular a acelorai secvene x1 n i x 2 n sunt diferite. Se
pune problema aflrii modului de alegere a punctelor de calcul ale convoluiei, astfel
nct rezultatul s fie acelai.
)

b) Se observ c adugarea a N 2 1 zerouri la secvena de lungime N1 i a


N1 1 zerouri la secvena de lungime N 2 conduce la secvene de lungime
9

Capitolul 1 - Semnale i sisteme discrete. Secvene unidimensionale. Operaii cu


secvene: convoluia i corelaia. Sisteme discrete liniare i invariante n timp (LIT)
N1 N 2 1, care prin convoluie circular vor conduce la acelai rezultat cu
convoluia 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

2
1

1
.....

a)

y n

12

10
4

1
4

.....
n

Fig. 1.5. Secvenele periodice extinse (a), i convoluia lor periodic (b)
O perioad din secvena y n x1 n x 2 n este {9, 12, 10, 4, 1} (rezultat
identic celui obinut prin convoluie liniar):

1.2.2.3 Corelaia
Corelaia liniar
Este o alt operaie des folosit n prelucrarea digital a semnalelor care ofer
o informaie despre gradul de asemnare a dou secvene.

Definiie
Corelaia a dou secvene finite x1 n , x 2 n este o secven definit astfel:

R x x n x n x n m , n (corelaie mutual)
2
m 1
12
10

(1.8)

Capitolul 1 - Semnale i sisteme discrete. Secvene unidimensionale. Operaii cu


secvene: convoluia i corelaia. Sisteme discrete liniare i invariante n timp (LIT)
R xx n

x m x n m , n (autocorelaie)
m

(1.9)

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
)

x x
1 2

n 0, ,0 ,0, 1, 3, 6, 10, 15, 15, 14, 12, 9, 5, 0, 0, n -6,-5,...,4,5

b) Fie secvenele: x1 n x 2 n 3, 2, 1. Secvena de autocorelaie liniar


este: 3, 8, 14, 8, 3
x1 n x 2 n

3
2
1
0

R x1x2 n
14

-2

-1

Fig. 1.6. Corelaia liniar a dou secvene

Proprieti ale corelaiei


a) autocorelaia este o secven par
)

11

Capitolul 1 - Semnale i sisteme discrete. Secvene unidimensionale. Operaii cu


secvene: convoluia i corelaia. Sisteme discrete liniare i invariante n timp (LIT)
R x x n R x x n
11
11

b) corelaia mutual satisface relaia


R x x n R x x n
12
2 1

c) corelaia poate fi realizat cu ajutorul operaiei de convoluie, astfel:


R x x n x n x n x n x n
1
2
1
2
12

Corelaia mutual i autocorelaia sunt operaii folosite n analiza semnalelor


i a sistemelor. De exemplu, pe baza secvenei de corelaie se poate detecta
prezena unui semnal util (cunoscut) ntr-un semnal cu zgomot sau poate fi
determinat funcia pondere a unui sistem.

Corelaia circular
Este similar convoluiei circulare.

Definiie
Pentru dou secvene de lungimi egale corelaia circular este:
N 1
N 1
~
R x x n x m x n m x m x n m mod N
2p
1
2
12
m0 1p
m0
n 0,1,...,N 1

(1.5)

unde, ca i n cazul convoluiei circulare, folosim extensia periodic a secvenelor i


pstrm o singur perioad a rezultatului

Exemplu
Fie secvenele
14, 11, 11 .

x1 n x 2 n 3, 2, 1.

12

Rezultatul corelaiei circulare este

Capitolul 1 - Semnale i sisteme discrete. Secvene unidimensionale. Operaii cu


secvene: convoluia i corelaia. Sisteme discrete liniare i invariante n timp (LIT)
~
R x1x2 n

x1 n x 2 n

14

11

11

1
0

Fig. 1.7. Corelaia circular a dou secvene

Exemplu
Pentru cazul particular N 4 ( x n , y n avnd 4 eantioane), corelaia
circular se calculeaz astfel:
r 0 x 0 y 0 x 1 y 1 x 2 y 2 x 3 y 3

r 1 x 0 y 1 x 1 y 2 x 2 y 3 x 3 y 4 mod 4 0
r 2 x 0 y 2 x 1 y 3 x 2 y 4 mod 4 0 x 3 y 5 mod 4 1
r 3 x 0 y 3 x 1 y 4 mod 4 0 x 2 y 5 mod 4 1 x 3 y 6 mod 4 2
Pentru obinerea relaiilor anterioare considerm c y n y N m N ,
respectiv: y 4 mod 4 0 , y 5 mod 4 1 , y 6 mod 4 2 .
Forma matricial :
r 0 x 0
r 1 x 3

r 2 x 2


r 3 x 1

x 1
x 0
x 3
x 2

x 2
x 1
x 0
x 3

x 3 y 0
x 2 y 1

x 1 y 2


x 0 y 3

Observaie
Se observ c rezultatul corelaiei circulare este diferit de rezultatul corelaiei
liniare, pentru aceleai secvene. Completarea secvenelor cu zerouri pentru a obine
acelai rezultat n cazul convoluiei circulare i liniare funcioneaz i n cazul
13

Capitolul 1 - Semnale i sisteme discrete. Secvene unidimensionale. Operaii cu


secvene: convoluia i corelaia. Sisteme discrete liniare i invariante n timp (LIT)
calculului corelaiei: dac secvena x1 n are lungimea N1 , x 2 n are lungimea N 2 ,
corelaia lor are lungimea N1 N 2 1, deci se adaug N 2 1 zerouri secvenei x1 n ,
respectiv N1 1 zerouri secvenei x 2 n .

1.3 Sisteme liniare i invariante n timp. Cauzalitate. Stabilitate.


1.3.1 Cauzalitate. Stabilitate.
Definiie
Un sistem discret este un operator T care transform un semnal discret de
intrare x n (excitaie), genernd un semnal discret de ieire, y n (rspuns):
T x n y n .

Definiie
Un sistem discret este invariant n timp sau invariant la translaie dac la
excitaia x n n0 corespunde rspunsul y n n 0 , unde T x n y n .

Definiie
Un sistem discret este liniar dac la excitaia a x1 n b x 2 n corespunde
rspunsul 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 .

Definiie
Se numete funcia pondere a unui sistem discret secvena
rspuns a sistemului la o excitaie impuls unitate n .

hn

de

Definiie
Semnalul x n este cauzal dac x n 0 pentru n 0 .

Observaie
Un sistem liniar invariant n timp este caracterizat n domeniul timp de funcia
pondere.

14

Capitolul 1 - Semnale i sisteme discrete. Secvene unidimensionale. Operaii cu


secvene: convoluia i corelaia. Sisteme discrete liniare i invariante n timp (LIT)

Definiie
Un sistemul LIT caracterizat de funcia pondere hn este un sistem cauzal
dac hn 0 , pentru n 0 .

Definiie
Un sistem liniar invariant n timp LIT poate fi:
)

a) recursiv, dac este descris de ecuaia:


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
k 0
k 0
a' k ak , pt.k 1,, N

(1.10)

b) nerecursiv, dac este descris de o ecuaie de forma:

L
y n b x n
k
k 0

(1.11)

Ecuaiile (1.10) i (1.11) se numesc ecuaii cu diferene finite ale sistemului


i sunt echivalente cu ecuaiile difereniale folosite pentru caracterizarea sistemelor
continue. Dup forma funciei pondere sistemele discrete pot fi:
)

i) cu rspuns finit la impulsul unitate RFI;


ii) cu rspuns infinit la impulsul unitate RII.

Definiie
Un sistem discret LIT este stabil n sens Intrare mrginit - Ieire mrginit
dac unei secvene de intrare mrginite x n M1, n N, M1 finit i corespunde o

secven de ieire mrginit M 2 finit astfel nct y n M 2 , n N (Bounded Input


- Bounded Output: BIBO).

Observaii
a) Convoluia este o metod de aflare a rspunsului sistemului discret LIT la
secvena de intrare x n cnd se cunoate funcia pondere a sistemului.
)

15

Capitolul 1 - Semnale i sisteme discrete. Secvene unidimensionale. Operaii cu


secvene: convoluia i corelaia. Sisteme discrete liniare i invariante n timp (LIT)
Dac inem cont c pentru un sistem LIT sunt valabile urmtoarele:
- n

determin rspunsul hn (n condiii iniiale nule)

- n m

determin rspunsul hn m

- x m n m

determin rspunsul x m hn m

x m n m determin rspunsul x m hn m
m
m

obinem pentru rspunsul generat la ieirea sistemului discret LIT expresia:


y n

hm x n m

xm hn m

(1.12)

unde x n este semnalul de intrare iar hn este funcia pondere a sistemului. Relaia
(1.12) poate fi utilizat pentru calculul rspunsului doar n cazul sistemelor RFI, unde
secvena pondere are lungime finit. n cazul sistemelor RII rspunsul se calculeaz
cu ecuaia cu diferene finite (1.10).
b) Se poate arta c analiza stabilitii n sens BIBO pentru sisteme LIT
este echivalent cu verificarea condiiei c funcia pondere hn este absolut
sumabil:

hn ,

iar pentru sisteme cauzale:

hn
n 0

1.3.2 Folosirea convoluiei pentru calculul rspunsului sistemelor LIT


Pentru sisteme cauzale LIT i secvene de intrare cauzale avem:
y n

hm xn m xn hn ,

m 0

unde operaia desemnat prin simbolul * este convoluia liniar.


Presupunem c secvenele x n i hn sunt de lungime finit, N 1 ,
respectiv N 2 ; o metod eficient de calcul a convoluiei liniare este bazat pe
folosirea transformatei Fourier discrete, astfel:
- se calculeaz TFTD/TFD a celor dou secvene;
- se efectueaz produsul acestor transformate;
- se calculeaz transformata Fourier n timp discret invers, sau transformata
Fourier discret invers pentru obinerea secvenei de ieire.

16

Capitolul 1 - Semnale i sisteme discrete. Secvene unidimensionale. Operaii cu


secvene: convoluia i corelaia. Sisteme discrete liniare i invariante n timp (LIT)

F
x n
X e j
F 1
j
j
j

Y
e

X
e

H
e

y n

F
hn
H e j

(1.13)

Transformata Fourier discret poate fi determinat cu ajutorul unor algoritmi


eficieni de calcul (algoritmi pentru calculul transformatei Fourier rapide - TFR).

2 Aplicaii
2.1 Demo i Help
)

a) Se lanseaz n execuie programul MATLAB.


Mesajul afiat pe ecran informeaz utilizatorul c are acces la programele
demonstrative demo i help.
b) Parcurgei pas cu pas programele demonstrative disponibile, pentru a
vedea facilitile oferite de MATLAB.
c) Utilizai help numeFuncie pentru a obine informaii despre urmtoarele
comenzi: load, save, plot, subplot, axis, xlabel, ylabel, title.
Comentai n scris, folosind informaiile obinute, programul prezentat n
exemplul 1, reinnd 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');
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');
17

Capitolul 1 - Semnale i sisteme discrete. Secvene unidimensionale. Operaii cu


secvene: convoluia i corelaia. Sisteme discrete liniare i invariante n timp (LIT)
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');
d) Desenai graficul funciei Bessel pentru 0 i 1, cu x n intervalul
0,10 (pasul 0.25). Graficele se vor realiza n fereastra corespunztoare jumtii
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)
J_2(x))');xlabel('x');grid on

(1/2)*(J_0(x)-

e) Fie vectorul v = [0 1 2 3 4 5 6 7 8 9]. Precizm c indexul elementelor


vectorilor n MATLAB aparine intervalului 1, n n loc de 0, n 1, corespunztor altor
medii de programare (C++ de ex.).
-

Testai dac el conine cel puin un element diferit de zero, folosind funcia
any(v);

Testai dac toate elementele vectorului sunt nenule, folosind funcia all(v);
Notai definiia funciei all;

Scriei liniile de program necesare aflrii valorilor maxim (funcia max),


minim (funcia min), medie (funcia mean), median (funcia median) a
vectorului v.

Scriei liniile de program necesare calculului abaterii standard a valorii


elementelor vectorului (funcia std);

f) Repetai punctul e), fcnd modificrile necesare pentru a funciona, 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)
18

Capitolul 1 - Semnale i sisteme discrete. Secvene unidimensionale. Operaii cu


secvene: convoluia i corelaia. Sisteme discrete liniare i invariante n timp (LIT)
%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)]);
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)]);

Observaie
Matricea X va avea ca penultim coloan vectorul v , iar elementele matricei
au valorile vander(i,j) = v(i)(n -j).
g) Precizai 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
19

Capitolul 1 - Semnale i sisteme discrete. Secvene unidimensionale. Operaii cu


secvene: convoluia i corelaia. Sisteme discrete liniare i invariante n timp (LIT)
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))]);
h) Cu ajutorul toolbox-ului timeseries calculai valoarea median, minim,
maxim, etc. dintr-o secven. Reprezentai valorile calculate utiliznd 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
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

2.2 Operaii cu secvene

a) Fie vectorii x1 x 2 3 2
secvenei. Urmrii exemplul 3, care
Notai rezultatele pentru convoluia,
secvenele x 1p 3 2 1 3 2 1 3 2 1 , x 2 p
)

1 , unde N 3 este lungimea maxim a


realizeaz convoluia i corelaia vectorilor.
respectiv corelaia periodic, considernd
3 2 1 3 2 1 3 2 1 . Folosii scrierea matricial

pentru calculul convoluiei circulare. n tabelul 1 sunt prezentate rezultatele obinute.


% exemplul 3
x1 = [1 2 3];
x2 = [1 1 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
20

Capitolul 1 - Semnale i sisteme discrete. Secvene unidimensionale. Operaii cu


secvene: convoluia i corelaia. Sisteme discrete liniare i invariante n timp (LIT)
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])];
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
21

Capitolul 1 - Semnale i sisteme discrete. Secvene unidimensionale. Operaii cu


secvene: convoluia i corelaia. Sisteme discrete liniare i invariante n timp (LIT)
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
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
secvenei.
-

Realizai (teoretic) convoluia vectorilor a i b .

Scriei instruciunile necesare n MATLAB pentru a repeta punctul a).

Inserai secvenele:
t=clock;
...operaii...
etime(clock,t);

pentru a calcula durata fiecreia dintre operaiile efectuate (convoluie/corelaie).


c) Pentru secvenele x1 n ,
convoluia liniar x1 n * x 2 n .

x 2 n

din figur determinai i desenai


x 2 n

x1 n

2
1

d) Se dau dou secvene cu duratele 6 i 4: 0, 3, - 2, 1, 2, 0 , 2, 3, 2, - 1.


-

Scriei instruciunile MATLAB pentru determinarea lui y 1 n x1 n * x 2 n


folosind operaia de convoluie. Reprezentai grafic rezultatul.

22

Capitolul 1 - Semnale i sisteme discrete. Secvene unidimensionale. Operaii cu


secvene: convoluia i corelaia. Sisteme discrete liniare i invariante n timp (LIT)
-

Scriei instruciunile MATLAB pentru determinarea lui y 2 n x 2 n * x1 n


folosind operaia de convoluie. Reprezentai grafic rezultatul. Comparai
rezultatul cu rezultatul anterior.

Proprietile operaiilor cu secvene


a) Verificai proprietile de comutativitate, asociativitate, distributivitate,
liniaritate ale convoluiei, scriind n MATLAB instruciunile corespunztoare. Se vor
considera secvenele:
)

x1 n 1,1,1,0,0,0, n 0,5
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 definiia convoluiei discrete:

x n x n x m x n m
1
2
2
m 1
artai c:
-

dac x1 n 0 pentru n 0 , atunci:

x n x n x m x n m
1
2
2
m0 1

dac x 2 n 0 pentru n 0 , atunci


n
x n x n x m x n m
1
2
2
m 1

dac x1 n 0 pentru n 0 i x 2 n 0 pentru n 0 (convoluie ntre


secvene cauzale), atunci
n
x n x n x m x n m
1
2
2
m0 1
Se vor considera pentru calculul numeric secvenele:
1, n 0,1

x1 n cos n , n 0,6 , x 2 n 0, n 2,3,4


2
1, n = 5

23

Capitolul 1 - Semnale i sisteme discrete. Secvene unidimensionale. Operaii cu


secvene: convoluia i corelaia. Sisteme discrete liniare i invariante n timp (LIT)

Observaii
a) O modalitate interesant de generare a valorii n MATLAB este
urmtoarea: se calculeaz log 1 (logaritmul natural), innd cont c
logz logabs z i arctany / x , unde y 0, x 1) . Se determin rspunsul:
0.0000 + 3.1416 i.
)

b) Pentru generarea secvenelor x1 n , x 2 n se poate folosi secvena de


instruciuni MATLAB urmtoare:
x1 = cos((0:6)*pi/2);
x2 = [1 1 0 0 0 1];
c) tiind c importana operaiei de convoluie const i n faptul c operaii
elementare (excepie: operaiile neliniare) pot fi reprezentate prin convoluii cu
semnale elementare alese corespunztor, scriei instruciunile MATLAB necesare
pentru a arta c:
-

operaia de convoluie cu secvena impuls unitate las secvena x n


neschimbat.

multiplicarea cu un scalar este echivalent convoluiei cu secvena a n ("a"


scalar).

ntrzierea n timp este echivalent convoluiei cu n m :

xn m xn * n m
-

sumarea eantioanelor anterioare este echivalent convoluiei cu secvena


treapt unitate:
1,n 0
un
0,n 0

Se va considera secvena x n 1,2,3,3,2,1, se va nota i se va desena


rezultatul fiecrei operaii.
c) Fie x1,p n i x 2,p n sunt secvene periodice cu perioada N 6 , date de:
n
x n cos

1, p
3

24

Capitolul 1 - Semnale i sisteme discrete. Secvene unidimensionale. Operaii cu


secvene: convoluia i corelaia. Sisteme discrete liniare i invariante n timp (LIT)
1, n 0

x 2,p n 0, n 1,2,3,4
1, n=5

Scriei instruciunile MATLAB necesare calculului convoluiei periodice a


secvenelor x1,p n i x 2,p n , notai i reprezentai grafic rezultatul.
d) Fie secvenele periodice:
x1 n 1,2,3,4,5,0,0 , x 2 n 1,1,1,1,0,0,0

Calculai cu ajutorul MATLAB convoluia circular n 7 puncte a acestor


secvene.

Presupunnd c secvenele sunt finite i neperiodice, gsii convoluia lor


liniar.

Sunt rezultatele identice sau nu? Explicai i indicai soluia pentru obinerea
aceluiai rezultat. Verificai cu ajutorul MATLAB soluia propus.

e) Calculai i reprezentai grafic convoluia liniar, periodic i circular, a


dou secvene de lungime 4, definite astfel: x1 n 1,2,1,0 , x 2 n 3,2,0,1 .
f) Dou secvene de lungime N 3 , x1 n i x 2 n sunt desenate mai jos:
x 2 n

x1 n

3
1

2
0

0
n

-1

-2

-2

Calculai cu ajutorul programului MATLAB i reprezentai grafic:


-

convoluia liniar x1 n * x 2 n .

convoluia circular x1 n x 2 n .

corelaia mutual R x x n .
12

autocorelaia secvenei x1 n , R x x n
11

25

Capitolul 1 - Semnale i sisteme discrete. Secvene unidimensionale. Operaii cu


secvene: convoluia i corelaia. Sisteme discrete liniare i invariante n timp (LIT)
-

2.3

~
autocorelaia circular a secvenei x1 n , R x x n
11

Aplicaii ale operaiilor cu secvene. Sisteme LIT

a) Fie sistemul discret cu funcia pondere hn a n un . Dac la intrare se


n
1
aplic secvena x n , calculai secvena de rspuns, y n , folosind
2
convoluia. Realizai calculul teoretic i cu ajutorul programului MATLAB.
)

b)

Determinai rspunsul sistemului descris de funcia pondere


n
n 1
hn 0.707
cos , n 0 la secvena de intrare treapt unitate, teoretic i
4 4
cu ajutorul mediului de programare MATLAB. Notai instruciunile folosite i rezultatul
obinut.

1 1 1

c) Rspunsul unui sistem la secvena n este hn 1, , , ,0,0 .


2 3 4

Reprezentai grafic secvenele: n , hn , n m , hn m .

Determinai i desenai rspunsul sistemului la secvena de intrare:

4, n 0
x n
0, n 0
-

Fie secvenele hn i x n din figur. Determinai rspunsul sistemului LIT cu


ajutorul operaiei de convoluie.
x n
hn
4

4
3

2
1

5
0

0
5

8
n

d) Rspunsul unitar al unui sistem liniar invariant n timp (LIT) este dat n
tabelul urmtor:
n

hn

0.0

0.0

3.0

0.75

0.56

0.23

0.0

26

Capitolul 1 - Semnale i sisteme discrete. Secvene unidimensionale. Operaii cu


secvene: convoluia i corelaia. Sisteme discrete liniare i invariante n timp (LIT)
Semnalul de intrare n sistem este x n 5 un , unde un este secvena
treapt unitate. Folosii operaia de convoluie pentru a afla rspunsul sistemului
y n , pentru n 0,1,2,3,4 .

Bibliografie
0)

1) Ungureanu Georgeta Mihaela - Analiza i prelucrarea semnalelor: aplicaii n


ingineria biomedical, MATRIX ROM, 2013;
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.
Aplicaii 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,
Romnia, 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

27

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