Documente Academic
Documente Profesional
Documente Cultură
XL1DSP PDF
XL1DSP PDF
Lucrarea 1
Scopul lucrãrii
Scurta introducere in programarea MATLAB, cu prezentarea facilitatilor
oferite pentru domeniul prelucrarii digitale a semnalelor. Semnale si sisteme
discrete. Operatii cu secvente: convolutie, corelatie (linaira, periodica, circulara).
Reprezentarea sistemelor discrete in timp (functia pondere, ecuatia cu diferente
finite, cauzalitate, stabilitate).
1. Introducere teoreticã
1.1 Programul MATLAB
>>help <functie>
unde <functie> este subiectul despre care se doresc informatii, iar >> este
prompterul curent al programului. Fiecare dintre functiile mentionate se afla sub
forma unor fisiere cu extensia .M si pot fi apelate direct in program.
Pentru mai multe detalii referitoare la programul MATLAB poate fi
consultata Anexa 1 de la sfarsitul lucrarii. 1
Prelucrarea digitala a semnalelor
Lucrarea 1
Exemplu
Semnalul discret in timp x(n) = an, n > 0 este reprezentat grafic in figura
urmatoare:
x(n) 1
1
n n
0 1 2 3 4 5 6 0 1 2 3 4 5 6
Lucrarea 1
Operatii cu secvente:
Secvente simple:
a) secventa impuls unitate
⎧ 1, n = 0
δ ( n) = ⎨
⎩0, altfel
⎧1, n = k
δ ( n − k ) = δ nk = ⎨
⎩0, altfel
⎧ 1, n ≥ 0
u( n) = ⎨
⎩0, altfel
Lucrarea 1
∞
x1(n) ∗ x2(n) = ∑ x (m ) x 2 (n − m ) (1.1)
m=−∞ 1
Exemplu
Fie secventele: { x1(n) } = { 3, 2, 1}, { x2(n) } = {3, 2, 1}; secventa obtinuta
prin convolutie liniara este {x1(n) ∗ x2(n) } = { 9, 12, 10, 4, 1}
x1(n)*x2(n)
12
10
x1(n)= x2(n) 8
4
6
2
4
0
1 2 3 n 2
n
0
1 2 3 4 5
• Proprietãti
a) comutativitate
x1(n) ∗ x2(n) = x2(n) ∗ x1(n), ∀ x1, x2
b) asociativitate
[x1(n) ∗ x2(n) ]∗x3(n) = x1(n)∗[x2(n)∗x3(n)] , ∀ x1, x2
c) distributivitate
x1(n) * [x2(n) + x3(n)] = x1(n)∗x2(n) + x1(n)∗ x3(n), ∀ x1, x2, x3
♦ Observatii
a) convolutia liniarã a douã secvente de lungimi N1, N2 genereaza o
secventã de lungime N1 + N2 - 1 esantioane; deci rezultatul este o secventã cu4
Prelucrarea digitala a semnalelor
Lucrarea 1
n0 ≤ n ≤ n0 + N 1 + N 2 − 2
N −1
x3p(n) = ∑ x1p ( l ) x 2 p ( n − l ) = x1p © x2p (1.2)
l=0
Exemplu
Fie secventele: { x2p(n) } = { x1p(n) } = {3,2,1, 3, 2, 1,....}, atunci
{x1p(n) © x2p(n) } = { 13, 13, 10, 13, 13, 10,...}
3 3 13 13
2 2
1 1 … 10 …
…
0 1 2 n 0 1 2 n 0 1 2 n
♦ Observatii
a) Conform definitiei (1.2) se observa ca in calculul operatiei de convolutie
periodica intervine numai o perioada a secventelor periodice;
b) Operatia de convolutie periodica a doua secvente periodice de perioada N
este la rindul ei o secventa periodica de perioada N;
c) Convolutia periodica poate fi determinata pe doua cai:
- in domeniul timp, cu ajutorul relatiei (1.2);
- in domeniul frecventa, calculind intii seriile Fourier discrete (SFD)
corespunzatoare secventelor periodice, si apoi efectuind transformarea Fourier 5
Prelucrarea digitala a semnalelor
Lucrarea 1
inversa a produsului acestora. Daca X1p si X2p sunt SFD ale secventelor x1p,
respectiv x2p, atunci avem:
x1p© x2p ←⎯
F
→ X1p X2p
i) in domeniul timp:
daca:
x1(n) este o perioadã a secventei periodice x1p(n)
x2(n) este o perioadã a secventei periodice x2p(n)
atunci
N −1
x3(n) este o perioadã a secventei [ ∑ x1p ( l ) x 2 p ( n − l ) ] =
l=0
= o perioadã a [ x1p(n) © x2p(n) ] = x1(n) © x2(n) (1.3)
Exemplu de calcul
Pentru cazul particular N = 4, avem:
Lucrarea 1
iar algoritmul de calcul reprezentat mai sus se poate întelege grafic dupã cum
urmeazã:
Exemplu
Fie secventele:{x1(n)} = {3, 2, 1}, {x2(n)} = {3, 2, 1};atunci
x1(n)© x2(n) = {13, 13, 10}
3 3 13 13
2 2
1 1 10
0 1 2 n 0 1 2 n 0 1 2 n
a)convolutia circulara
7
Prelucrarea digitala a semnalelor
Lucrarea 1
x1(n)*x2(n)
12
10
9
4
1
0 1 2 3 n
b) convolutia liniara
I
J • Observatii
a) se constatã cã valorile numerice si lungimea secventei rezultate prin
convolutia liniarã si circularã a acelorasi secvente x1(n) si x2(n) sunt diferite. Se
pune problema aflãrii modului de alegere a punctelor de calcul al convolutiei,
astfel încît rezultatul sã fie acelasi.
b) Conform observatiei a) din paragraful 1.2.1.1, se observã cã: adãugarea la
secventa de lungime N1 a N2 - 1 zerouri, si la secventa de lungime N2 a N1 -1
zerouri, conduce la secvente de lungime N1 + N2 - 1, care prin convolutie circularã
vor conduce la acelasi rezultat cu convolutia liniarã.
Exemplu
Fie x1p'(n) = x2p'(n) = {3, 2, 1, 0, 0, 3, 2, 1}
x'1p(n)= x'2p(n)
3 3
2 2
1 1
.....
0 1 2 3 4 5 6 7 n
8
Prelucrarea digitala a semnalelor
Lucrarea 1
x'3p(n)
12 10
9
4
1
.....
0 1 2 3 4 n
1.2.1.4 Corelatia
Este o altã operatie des folositã în prelucrarea digitalã a semnalelor care
ofera o informatie despre gradul de asemnare a doua secvente.
∞
R x x ( p) = ∑ x1( m) x 2 ( p + m) , − ∞ ≤ p ≤ ∞ (corelatie mutualã) (1.4a)
12 m=−∞
∞
R x x ( p) = ∑ x1( m) x1( p + m) , − ∞ ≤ p ≤ ∞ (autocorelatie) (1.4b)
11 m=−∞
Exemple
a) Fie { x1(n) } = {0, 0, 1, 1, 1, 1, 1, 1}, { x2(n) } = {0, 0, 5, 4, 3, 2, 1,
0},
n = -2, -1, 0, 1, 2, 3, 4, 5
R x x ( p) = {0, 5, 9, 12, 14, 15, 15, 10, 6, 3, 2, 1}, n = -6, -5, ... 4, 5
12
b) Fie secventele:{ x1(n) } = { x2(n) } = {3, 2, 1}. Secventa de
autocorelatie liniara este: { 3, 8, 14, 8, 3}
x1(n) x1(n)
3 3
2 2
1 1
0 1 2 n 0 1 2 n
9
Prelucrarea digitala a semnalelor
Lucrarea 1
R x 1 x 2 (n )
14
8 8
3 3
-2 -1 0 1 2 n
~ N −1 N −1
R x x ( p ) = ∑ x1 p ( m) x 2 p ( p + m) =
1 2 m =0 1 ∑
x ( m) x ( p + m), p = 0,1,... N − 1 (1.5)
2
m=0
Lucrarea 1
Exemplu
Fie secventele: { x1(n) } = { x2(n) } = {3, 2, 1}. Rezultatul corelatiei
circulare este: {14, 11, 11}
~
x1(n) = x2(n) Rx1x2 ( n)
3 14
2 11 11
1
0 1 2 n 0 1 2 n
Exemplu de calcul
Pentru cazul particular N = 4:
Forma matriciala:
si forma grafica:
11
Prelucrarea digitala a semnalelor
Lucrarea 1
♦ Observatii
a) se constatã cã rezultatul corelatiei circulare este diferit de rezultatul
corelatiei liniare, pentru aceleasi secvente. Completarea cu zerouri operata pentru
obtinerea aceluiasi rezultat în cazul convolutiei circulare si liniare functioneazã si
aici.Dacã secventa x1(n) are lungimea N1, x2(n) are lungimea N2, corelatia lor are
lungimea (N1 + N2 - 1), deci se adaugã (N2 - 1) zerouri secventei x1(n), respectiv
(N1 - 1) zerouri secventei x2(n).
Lucrarea 1
N M
y( n) = ∑ a k y( n − k ) + ∑ bk x( n − k ) sau
k =1 k =0
N M ⎧ a' k = 1, pt. k = 0
∑ a' k y( n − k ) = ∑ bk x( n − k ) cu ⎨ (1.6)
k =0 k =0 ⎩a' k = − a k , pt. k = 1,K , N
L
y ( n) = ∑ b k x ( n − k ) (1.7)
k =0
♦ Observatii:
a) Convolutia este o metodã de aflare a rãspunsului sistemului discret LIT la
secventa de intrare x(n) cind se cunoaste functia pondere a sistemului.
Dacã
δ (n) determinã rãspunsul h(n) (în conditii initiale nule)
δ (n - m) determinã rãspunsul h(n - m)
x(m) δ (n - m) determinã rãspunsul x(m) h(n - m)
∞ ∞
∑ x( m) δ ( n − m) determina raspunsul ∑ x( m) h( n − m)
m=−∞ m=−∞
13
Prelucrarea digitala a semnalelor
Lucrarea 1
∞ ∞
y( n) = ∑ h( m) x( n − m) = ∑ x( m) h( n − m) (1.8)
m=−∞ m=−∞
unde x(n) este semnalul de intrare iar h(n) este functia pondere a sistemului.
Relatia (1.8) poate fi utilizata pentru calculul raspunsului doar in cazul sistemelor
RFI, unde secventa pondere are lungime finita. In cazul sistemelor RII raspunsul se
calculeaza cu ecuatia cu diferente finite (1.6)
∞ ∞
∑ h( n) < ∞ , iar pentru sisteme cauzale: ∑ h( n) < ∞
n=−∞ n= 0
∞
y( n) = ∑ h( m) x( n − m) = x( n)∗ h( n) , unde operatia desemnata prin simbolul "*"
m= 0
x( n) ⎯⎯
F
( )
→ X e jω
( ) ( ) ( )
−1
Y e jω = X e jω H e jω ⎯F⎯→ y( n)
h( n) ⎯⎯→ H( e )
F jω
Lucrarea 1
x(n ) ⎯TFD
⎯⎯→ X (k )
Y (k ) = X (k )H (k ) ⎯⎯⎯→ x(n )Θh(n ) ≠ y (n )
TFD −1
h(n ) ⎯TFD
⎯⎯→ H (k )
2. Desfãsurarea lucrãrii
2.1 Demo si Help
Lucrarea 1
% Exemplul 1
t=0:1:99;
plot(t,sin(2*t)+2*sin(t)),title(' Primul meu grafic! ');
xlabel('timpul t');
ylabel(' y=sin(2*t)+2*sin(t) ');
clg;
%Scalare
v=[0 100 -1.5 +1.5];
axis(v);
subplot(221),plot(t,sin(2*t)),title(' Fereastra stinga sus ');
xlabel('timpul t');
ylabel(' y=sin(2*t) ');
subplot(222),plot(t,sin(2*t)+sin(t)), title(' Fereastra dreapta sus ');
subplot(223),plot(t,sin(2*t)+2*sin(t));
subplot(224),plot(t,sin(2*t)+cos(2*t));
axis;
16
Prelucrarea digitala a semnalelor
Lucrarea 1
♦ Observatie:
Matricea X va avea ca penuLITma coloana vectorul v, iar elementele matricii
au valorile vander(i,j) = v(i)(n -j)
Lucrarea 1
%
% Corelatie mutuala
m = xcorr(x1, x2);
%
% Normalizarea val. corelatiei (cu
1/length(x))
%
norm = xcorr(x1, x2, 'biased');
%
% Autocorelatie
a = xcorr(x1);
t3 = 0:1:4;
Subplot(222),stem(t3,m), title('Corelatie
mutuala');
%
% Corelatie circulara
% Folosim scrierea matriciala
a = [ 3 2 1; 1 3 2; 2 1 3];
rcirc = a∗ x1';
t4 = 0:1:2;
Subplot(224),stem(t4,rcirc),title('Corel.
circ.');
18
Prelucrarea digitala a semnalelor
Lucrarea 1
x1(n) x2(n)
2 2 2
1 1 1
0 1 2 3 4 5 n 0 1 2 3 4 5 n
x1(n) = { 1, 1, 1, 0, 0 , 0}, n = 0, 1, 2, 3, 4, 5
x2(n) = { 1, 2, 0, -3, 4, 2, -1, 1, -2, 3, 2, 1, -3}
x3(n) = {1, 0, 1, 0, 1}
∞
x1 ( n ) ∗ x 2 ( n ) = ∑ x ( m ) x2 ( n − m )
m=−∞ 1
arãtati cã:
∞
x1 ( n ) ∗ x 2 ( n ) = ∑ x1 ( m ) x 2 ( n − m )
m= 0 19
Prelucrarea digitala a semnalelor
Lucrarea 1
m
x1 ( n ) ∗ x 2 ( n ) = ∑ x ( m ) x2 ( n − m )
m=−∞ 1
n
x1 ( n ) ∗ x 2 ( n ) = ∑ x1 ( m ) x 2 ( n − m )
m= 0
♦ Observatii
- Retineti faptul ca o modalitate interesantã de generare a valorii π cu
MATLAB este urmatoarea:
log(-1) (calculeazã logaritmul natural: log(z) = log(abs(z) + i atan2(y,x))
care determinã rãspunsul: 0.0000 + 3.1416 i
- Pentru generarea secventelor x1(n), x2(n) se poate folosi secventa de
instructiuni MATLAB urmatoare:
for n = 1: 7
x1(n) = cos((pi ∗ n) / 2);
end;
x2 = [1 1 0 0 0 1];
Lucrarea 1
⎧1, n ≥ 0
u(n) = ⎨
⎩0, n < 0
⎧1, n = 0
πn ⎪
xp(n) = cos ( ) r p(n) = ⎨ 0, n = 2,3,4
3 ⎪ 1, n = 5
⎩
n x1p(n) x2p(n)
0 1 3
1 2 2
2 -1 0
3 0 1
21
Prelucrarea digitala a semnalelor
Lucrarea 1
x1(n) x2(n)
3 3 2
1 2
2 0 n
0 1 n -1
-2 -2
⎧4, n ≥ 0
x(n) = ⎨
⎩ 0, n < 0 22
Prelucrarea digitala a semnalelor
Lucrarea 1
h(n)
4
3
2
1
0
0 1 2 3 4 5 n
h(n)
4
2 2
5 6 7 8
0 1 2 3 4 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 secventa
treaptã unitate. Folositi operatia de convolutie pentru a afla rãspunsul sistemului
y(n), pentru n = 0, 1, 2, 3, 4.
Anexa 1
Lucrarea 1
Bibliografie
[1] Richard A. Haddad, Thomas W. Parsons - Digital Signal Processing.
Theory, Applications and Hardware; Computer Science Press, USA, 1991;
[2] Emmanuel C. Ifeachor, Barrie W. Jervis - Digital Signal Processing. A
Practical Approach; Addison - Wesley Publ. Comp., USA, 1993;
[3] Vasile Lãzãrescu - Prelucrarea digitalã a semnalelor; Amco Press,
Bucuresti, Romania, 1995;
[4] John J. Proakis, Dimitris G. Manolakis - Digital Signal Processing.
Principles, Algorithms and Applications; Maxwell MacMillan Intl, Singapore,
1992;
[5] Robert D. Strum, Donald E. Kirk - First Principles of Discrete Systems
and Digital Signal Processing; Addison - Wesley Publ. Comp., USA, 1988;
[6] Alan V. Oppenheim, Roland W. Schaffer - Discrete Time Signal
Processing - Prentice-Hall International, Inc., 1988
[7] Marin Ghinea, Virgil Fireteanu - MATLAB- calcul numeric, grafica,24
Prelucrarea digitala a semnalelor
Lucrarea 1
25