Sunteți pe pagina 1din 18

Capitolul II

Analiza semnalelor în frecvenţă prin transformări ortogonale: Transformata Fourier. Transformata Z. Răspunsul
în frecvenţă al sistemelor discrete

Analiza semnalelor în frecvenţă prin transformări ortogonale:


Transformata Fourier. Transformata Z.
Răspunsul în frecvenţă al sistemelor discrete

Obiectivele capitolului
Studiul transformatei Fourier discrete. Generalizarea transformatei Fourier prin
introducerea transformatei Z. Calculul răspunsului în frecvenţă al sistemelor discrete.
Verificarea cunoştinţelor teoretice prin exemple şi probleme rezolvate cu ajutorul
programului MATLAB.

II.1. Introducere teoretică


II.1.1 Analiza semnalelor continue periodice. Seria Fourier

Definiţie
Un semnal periodic xt  poate fi reprezentat prin seria Fourier ca o sumă infinită de
termeni armonici, plus un termen constant:
 
xt   a 0   a n cosn 0 t    bn sin n 0 t  (2.1)
n 1 n 1

unde “t” este o variabilă independentă (de obicei reprezintă timpul), iar

2
0  (2.2)
T

este prima armonică (denumită şi fundamentală) şi T p este perioada semnalului. (2.1)


constituie reprezentarea sub formă de serie Fourier a semnalului periodic. Coeficienţii
dezvoltării se pot calcula cu relaţiile:
T
1
a 0   2T xt dt (2.3)
T 2
T
2 2
T x t  cosn 0 t dt
T  2
an  (2.4)
T
2 2
T x t  sin n 0 t dt
T  2
bn  (2.5)

Seria (2.1) se mai poate scrie şi astfel:



xt    d n exp jn 0 n  (2.6)


T
1
d n   2T xt  exp jn 0 nt dt (2.7)
T 2

23
Capitolul II
Analiza semnalelor în frecvenţă prin transformări ortogonale: Transformata Fourier. Transformata Z. Răspunsul
în frecvenţă al sistemelor discrete

II.1.2 Analiza în frecvenţă a semnalelor continue neperiodice. Transformata


Fourier continuă

Definiţie
Transformata Fourier continuă a semnalului xt  este dată de relaţia:


X  j    xt  exp jt dt  Re j   Im j   X  j  e j   (2.8)


cu   2f (f este frecvenţa în Hz).

Definiţie
Transformata Fourier inversă stabileşte legătura între domeniul frecvenţă şi domeniul
timp:


1
xt    X  j  e j t d (2.9)
2π 

Relaţia (2.8) reprezintă o relaţie de analiză iar relaţia (2.9) reprezintă o relaţie de sinteză
a semnalului xt  . Printre proprietăţile transformatei Fourier a semnalului xt  continuu în
timp se numără cele referitoare la liniaritate, simetrie, scalare, deplasare în timp, deplasare în
frecvenţă, diferenţiere în timp şi diferenţiere în frecvenţă, convoluţie, teorema lui Parseval.

II.1.3 Legătura dintre transformata Fourier şi seria Fourier


Dacă se notează cu x p t  semnalul periodic obţinut prin repetarea semnalului aperiodic
xt  :


x p t    xt  nT  (2.10)
n  

atunci relaţia de sumare Poisson reprezintă legătura dintre seriile Fourier pentru semnale
periodice şi transformatele Fourier pentru semnale aperiodice. Conform acestei relaţii,
coeficienţii seriei Fourier d k  se obţin prin eşantionarea lui X  j  la pulsaţiile armonice
1
k 0 şi scalarea cu :
T

1 
 xt  nT  


T k  
X  jkω0 e jk 0t (2.11)

unde  0T  2 .

24
Capitolul II
Analiza semnalelor în frecvenţă prin transformări ortogonale: Transformata Fourier. Transformata Z. Răspunsul
în frecvenţă al sistemelor discrete

II.1.4 Analiza în frecvenţă a semnalelor discrete în timp şi neperiodice.


Transformata Fourier în timp discret

Definiţie
Pentru o secvenţă periodică x(n) se defineşte transformata Fourier în timp discret
(TFTD) cu relaţia:

    xne

j  jn
X e (2.12)
n  

cu   T numită frecvenţă normată (în radiani). T este perioada de eşantionare (pentru


simplificarea relaţiilor în mod curent se consideră T  1 ).

Definiţie
Transformata Fourier în timp discret inversă (TFTDI) este:
π
xn  
1

2π  π
 
X e jω e jω n dω (2.13)

X e j  este o funcţie continuă şi periodică în  , perioada fiind 2 .

II.1.5 Transformata Fourier discretă


Noţiunea de “transformata Fourier discretă” (TFD) se referă la faptul că atât în
domeniul timp, cât şi în domeniul frecvenţă, se operează cu secvenţe (semnale discrete).

Definiţie
Fiind dată secvenţa unidimensională x0 , x1 ,..., x N 1  , TFD este secvenţa definită de
relaţia:

N 1 2 N 1
j
X k    x(n)e   x(n)W N nk  TFDxn 
kn
N
(2.14)
n 0 n 0

cu k  0,1,..., N  1 iar

 2 
W N  exp j  (2.15)
 N 

Transformata Fourier discretă inversă (TFDI) este definită de relaţia:

N 1  2nk  N 1
1 j  1
xn    X k e  N 
  X k W nk
N  TFDI 1 X k  (2.16)
N k 0 N k 0

II.1.5.1 Proprietăţi ale TFD


O parte dintre proprietăţile TFD sunt prezentate în tabelul 2.1.

25
Capitolul II
Analiza semnalelor în frecvenţă prin transformări ortogonale: Transformata Fourier. Transformata Z. Răspunsul
în frecvenţă al sistemelor discrete

Tabelul 2.1- Proprietăţi ale TFD


Proprietate Semnificaţie
N 1 Ortogonalitate
1)  WNmk WNnk  N  m  n
k 0
2) Pentru orice constante a, b Liniaritate
TFD[a x(n) +b y(n)] = a TFD[x(n)] + bTFD[y(n)]
3) Fie X(k) = TFD[x(n)]. Funcţii pare şi impare
Dacă x(N - n) = x(n), atunci X(N-k) = X(k)
Dacă x(N-n) = - x(n), atunci X(N - k) = - X(k)
4) Fie X(k) = TFD[x(n)]. Dacã {x(n)} este realã, X(N-k) = Parte reală şi parte imaginară
X ( k)
5) X(n) = TFDI[N x(- k)] Simetrie
6) Fie X(k) = TFD[x(n)], Y(k) = TFD[y(n)], atunci Convoluţie (circulară)
TFD[x(n)  y(n)]= X(k) Y(k)
7) TFD[(n)] = 1, TFD[(n-p)] = exp(-j2kp/N) Transformata funcţiei delta
8) Fie x(n) = exp(j2nf / N). Dacă f sunt întregi, atunci Transformatele funcţiilor
x(n+N) = x(n) si X(k) = (k - f) exponenţiale complexe
9) TFD[x(n – m)] = TFD[x(n)] exp(-j2mk / N) Deplasare
10) Fie X(k) = TFD[x(n)], atunci Conjugare complexă
TFD[ x(n)] X ( N k )
N 1
1 N 1 Teorema lui Parceval
 
2 2
11) x ( n)  X (k )
n 0 N k 0

II.1.5.2 Legătura între TFD şi transformata Fourier în timp discret


Ţinând cont de relaţiile (2.12), (2.14), (2.15), se constată că TFD reprezintă
transformata Fourier în timp discret, evaluată pe o perioadă [0…2) în N puncte echidistante
pe cercul unitate la frecvenţele 2k/N, cu k[0…N).

II.1.5.3 Algoritmi de calcul rapid ai TFD. Transformata Fourier rapidă


Am precizat anterior că, pentru secvenţa:

xn   x0, x1, x2,..., xN  1 (2.17)

transformata TFD este dată de relaţia (2.15). Algoritmii TFR au fost introduşi pentru
reducerea complexităţii de calcul, respectiv a numărului de operaţii aritmetice de înmulţire şi
adunare. Dintre algoritmii utilizaţi pot fi menţionaţi: decimarea în timp şi decimarea în
frecvenţă care presupun că N este o putere a lui 2, algoritmul Rader pentru N număr prim,
algoritmul Good-Thomas pentru N număr compus, algoritmul Winograd bazat pe convoluţie
ciclică, etc..

26
Capitolul II
Analiza semnalelor în frecvenţă prin transformări ortogonale: Transformata Fourier. Transformata Z. Răspunsul
în frecvenţă al sistemelor discrete

II.1.5.4 Rezoluţia în frecvenţă a TFD


Dacă ne raportăm la TFTD, atunci rezoluţia în frecvenţă a transformatei este:

2
  rad (2.18)
N

Considerând transformata Fourier a semnalului eşantionat din care provine secvenţa


discretă (vezi teorema de eşantionare), atunci rezoluţia TFD este:

fe
f  Hz , f e fiind frecvenţa de eşantionare (2.19)
N

Există şi alte transformări ortogonale: transformata cosinus, transformata sinus,


transformata Walsh, transformata Hadamard, ş.a., care prezintă interes practic.

II.1.6 Generalizarea transformatei Fourier. Transformata Z

Definiţie
Transformata Z a secvenţei xn  este definită de relaţia:


X z    xnz n
, cu z variabilă complexă. (2.20)
n  

X z  este o serie Laurent convergentă într-un inel cu razele R1  R2 , deci domeniul de


convergenţă al transformatei Z este: R1  z  R2 .
Corespunzător, transformata Z inversă este definită de relaţia:

1
2j C
x(n)  X(z) z n-1 dz , cu C în domeniul de convergenţă (2.21)

Integrala din (2.21) poate fi calculată cu teorema reziduurilor. Expresia (2.20) mai
poartă numele de transformata Z bilaterală. Dacă secvenţa xn  este cauzală ( xn   0 ,
pentru n  0 ) atunci (2.20) se rescrie astfel:

X  z    xn z  n (2.22)
n 0

Domeniul de convergenţă al acestei serii este cercul z  R . Transformata Z din relaţia


(2.22) se numeşte transformata Z unilaterală şi are o “convergenţă de exterior” (pentru z în
afara cercului de rază R ).

27
Capitolul II
Analiza semnalelor în frecvenţă prin transformări ortogonale: Transformata Fourier. Transformata Z. Răspunsul
în frecvenţă al sistemelor discrete

II.1.7 Legătura între transformata Z şi transformata TFTD


Dacă se compară relaţia (2.12) cu relaţia (2.20) se observă că transformata Fourier în
timp discret a unei secvenţe xn  este transformata Z a secvenţei evaluată pe cercul unitate
( z  e j , unde e j  1 ).

 
X e jω  X  z  z e jω (2.23)

Legătura este valabilă numai când domeniul de convergenţă al transformatei Z include


cercul unitate. Ca urmare transformata Z reprezintă o generalizare a transformatei Fourier
pentru timp discret, fiind un instrument important în analiza sistemelor discrete.

II.1.8 Răspunsul în frecvenţă al sistemelor discrete LIT

Definiţie
Răspunsul în frecvenţă al sistemelor discrete liniar invariante în timp (LIT), H e j  , se
poate defini în trei moduri:
 Răspunsul în frecvenţă ca TFTD a funcţiei pondere
H e j    hn e  jn , unde hn  este funcţia pondere
def 
(2.24)


 Răspunsul în frecvenţă ca factor de transfer al secvenţei e jn de la intrarea sistemului la


ieşire
Dacă la intrarea sistemului se aplică semnalul armonic e jn , atunci ieşirea sistemului
y n  este:

y n   H e j e jn , (2.25)

unde  reprezintă frecvenţa armonică a semnalului de intrare.

 Calculul răspunsului sistemului folosind transformata Z


Aplicând transformata Z ecuaţiei cu diferenţe finite a sistemului discret (vezi Lucrarea
1), rezultă:
M

Y z 
b z k
k

H z    k 0
(2.26)
X z  N

a z
k 0
k
k

Relaţia (2.26) caracterizează răspunsul sistemului în planul Z. X z  şi Y  z  sunt


transformatele Z ale intrării respectiv ieşirii sistemului. H  z  este funcţia de transfer a
Bz 
sistemului discret şi este dată de o expresie raţională de forma unde B  z  şi A z  sunt
A z 

28
Capitolul II
Analiza semnalelor în frecvenţă prin transformări ortogonale: Transformata Fourier. Transformata Z. Răspunsul
în frecvenţă al sistemelor discrete

polinoame în z 1 . Rădăcinile polinomului B  z  sunt zerourile lui H  z  , iar rădăcinile lui


A z  reprezintă polii acestuia. Deci funcţia de transfer a sistemului este determinată dacă se
cunosc coeficienţii {a0 , a1,... , a N , b0 , b1 ,..., bn } sau, corespunzător, polii şi zerourile.

II.1.9 Stabilitatea sistemelor liniare şi invariante în timp

Definiţie
Un sistem liniar, invariant în timp şi cauzal este stabil dacă şi numai dacă funcţia de
transfer H  z  asociată, are toţi polii situaţi în interiorul cercului unitate în planul z.
Stabilitatea implică faptul că cercul unitate face parte din domeniul de convergenţă al
lui H  z  .

II.2. Funcţii MATLAB folosite în capitolul II


Funcţiile MATLAB folosite în acest capitol sunt prezentate succint în Tabelul 2.2.

Tabelul 2.2 Funcţii MATLAB folosite în capitolul II


Transformare Desenare
fft FFT directă Desenarea unghiurilor şi
compass amplitudinilor ca vectori din
origine
ifft FFT inversă stem Desenarea secvenţelor discrete

Interpretarea rezultatelor Funcţii diverse


angle /phase Faza, în radiani, a nextpow2 Următoarea valoare putere a lui
matricii complexe 2
grpdelay Întârzierea de grup randn / rand Generator de numere aleatoare
distribuite normal / uniform
fftshift Deplasarea abs Modulul
spectrului

Funcţii diverse
ones / zeros Matrici de elemente unu / zero
sin / cos Funcţiile sinus / cosinus
conj Conjugarea complexă
mean Extragerea componentei continue
aawtooth Semnal dinte de fierestrău
interp Interpolarea
zplane Calculul şi afisarea de zerouri şi de poli
impz Funcţia pondere
freqz Răspunsul în frecvenţă al sistemului folosind
transformata Z

II.3. Aplicaţii
II.3.1 Semnale discrete periodice

29
Capitolul II
Analiza semnalelor în frecvenţă prin transformări ortogonale: Transformata Fourier. Transformata Z. Răspunsul
în frecvenţă al sistemelor discrete

a) Arătaţi faptul că semnalul dreptunghiular se obţine din semnalul sinusoidal, sumând


armonicele impare.
Soluţie: Secvenţa MATLAB pentru rezolvarea problemei este prezentată în tabelul 2.3
(exemplul ex1_l2.m). Lansaţi în execuţie exemplul şi interpretaţi rezultatele.

Tabelul 2.3 Exemplul EX1_L2.m

% Seria Fourier a semnalului dreptunghiular este constituita din


% sumarea armonicilor impare
t = 0:.1:10;
y = sin(t);
figure,subplot(221),plot(t,y),title('Semnalul initial'), xlabel('timp');

% Se adauga la fundamentala, cea de-a treia armonica


y = sin(t) + sin(3*t)/3;
subplot(222),plot(t,y),title('Semnal+armonica 3'),xlabel('timp');

% Se adauga armonicile a treia, a cincea, a saptea si a noua


y = sin(t) + sin(3*t)/3 + sin(5*t)/5 + sin(7*t)/7 + sin(9*t)/9;
subplot(223),plot(t,y),title('Semnal+arm.3,5,7,9'),xlabel('timp');

% Se poate continua, sumand armonici, pina la armonica a 19-a


t = 0:.02:3.14;
y = zeros(10,max(size(t)));
x = zeros(size(t));
for k=1:2:19
x = x + sin(k*t)/k;
y((k+1)/2,:) = x;
end

% Semnalul rezultant se aproprie de unda dreptunghiulara, dar aceasta


% nu se va putea obtine perfect.
subplot(224),plot(y(1:2:9,:)'), title('Constr.semn.dreptunghiular');
xlabel('timp');

% Semnalul obtinut, in reprezentare tridimensionala...


figure,mesh(y), title('Semnalul obtinut');

b) Semnalul analogic periodic:


xt   A cos200t   B cos600t 
este eşantionat cu frecvenţa de eşantionare de 1 kHz. Să se determine:
b1) Perioada secvenţei rezultate
b2) Coeficienţii transformatei TFD pe o perioadă
Soluţie:

30
Capitolul II
Analiza semnalelor în frecvenţă prin transformări ortogonale: Transformata Fourier. Transformata Z. Răspunsul
în frecvenţă al sistemelor discrete

Semnalul eşantionat este:


xnT   A cos200nT   B cos600nT  , iar pentru frecvenţa de eşantionare de 1 kHz
( T  0.001 s ) rezultă:

 2n   6n 
x0.001n   A cos0.2n   B cos0.6n   A cos   B 
 10   10 

deci, perioada secvenţei rezultante este egală cu 10.


Coeficienţii TFD pentru o perioadă ( N  10 ) sunt:

0,5B,0,5 A,0,5 A,0,5B,0,0 , unde n  4,3,2,...,4,5

iar secvenţa MATLAB pentru calculul acestora într-un caz particular, este exemplul
EX2_L2.m (tabelul 2.4). Lansaţi în execuţie acest program.

Tabelul 2.4 Exemplul EX2_L2.m

% Transformata Fourier discreta TFD a secventei


% A cos(2*pi*n/10) + B cos(6*pi*n/10), pentru
%A=B=1
for i=1:1:9
x(i) = cos(2*pi*i/10) + cos(6*pi*i/10);
end
X = fft(x);

% Desenare spectru
figure,subplot(221), stem(x), title('Secventa initiala');
subplot(222), stem(abs(X)), title('Modulul transformatei TFD'),xlabel('k');
subplot(223),stem(angle(X)),title('Faza TFD'),ylabel('Radiani'),xlabel('k');
% Tot TFD, dar intr-o reprezentare vectoriala: modul + faza
subplot(224), compass(X),title('TFD in reprezentare vectoriala');

% Simetrizez spectrul folosind functia fftshift


XX = fftshift(X);
figure,subplot(221),stem(abs(X)),title('Modulul transformatei TFD');
subplot(222),stem(phase(X)),title('Faza transformatei TFD'),ylabel('Radiani');
subplot(223),stem(abs(XX)),title('Modulul transformatei simetrizate');
subplot(224),stem(phase(XX)),title('Faza transformatei simetrizate'),ylabel('Radiani');

II.3.2 Semnale discrete neperiodice

c) Secvenţa unitate unidimensională

c1) Calculaţi TFD a secvenţei elementare xn    n  . Desenaţi amplitudinea şi faza.

31
Capitolul II
Analiza semnalelor în frecvenţă prin transformări ortogonale: Transformata Fourier. Transformata Z. Răspunsul
în frecvenţă al sistemelor discrete

c2) Studiaţi ce se întâmplă când modificaţi lăţimea impulsului delta iniţial, considerând,
pe rând, secvenţele:

{1, 1, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 0, 0, 0, 0, 0, 0, 0},


{1, 1, 1, 1, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 1, 1, 0, 0, 0, 0, 0}

Reprezentaţi amplitudinea şi faza TFD.


c3) Reprezentaţi amplitudinea şi faza impulsului unitate deplasat cu n0 intervale de
eşantionare ( n0  2,3 )

d) Secvenţa constantă
Repetaţi calculele de la punctul anterior pentru secvenţa:

 A pentru n0,1,...N  1
xn   
0 altfel

verificând mai întâi că X k   NA k  .

e) Secvenţa sinus
Repetaţi calculele pentru secvenţa sinus.

f) Secvenţa triunghiulară

xn   0,1,2,3,4,5,4,3,2,1,0 pentru n  5,4,...,4,5 .

Găsiţi transformata TFD în 10 puncte şi desenaţi modulul şi faza.

g) Găsiţi TFD a secvenţei:

  2 n 
xn   0.51cos  pentru n  0,1,2,..., N  1
  N 

h) Evaluaţi transformata TFD a secvenţei obţinute prin eşantionarea semnalului


analogic:

32
Capitolul II
Analiza semnalelor în frecvenţă prin transformări ortogonale: Transformata Fourier. Transformata Z. Răspunsul
în frecvenţă al sistemelor discrete

2 f 0 sin( 2 f 0 t )
xt  
2 f 0 t

Reţineţi numai valorile din intervalul  1  t  1 s. Frecvenţa de eşantionare este de 16


kHz şi se consideră 32 de eşantioane. Găsiţi şi desenaţi amplitudinile coeficienţilor TFD
pentru frecvenţa f 0 egală cu:

0.5 Hz 1.0 Hz 2.0 Hz 4 Hz

Comentaţi rezultatele obţinute.

II.3.3 Proprietăţile TFD

Verificaţi proprietăţile TFD pentru secvenţele:

x1 n   1,2,3,4,3,2,1, x 2  5,6,7,0,7,6,5

II.3.4 Legătura TFD cu convoluţia şi corelaţia

a) Transformatele TFD în 8 puncte a două secvenţe hn  şi xn  sunt:

H k   3,2.414,1,0.414,1,0.414,1,2.414
X k   0,0.707,1,0.707,0,0.707,1,0.707

pentru n  0,1,...,7 . Secvenţa H k  este reală, iar secvenţa X k  este imaginară.

a1) Găsiţi valoarea y 2  , unde y n  este convoluţia circulară a secvenţelor hn  şi


xn  .

a2) Scrieţi programul pentru calculul convoluţiei circulare şi corelaţiei a două


secvenţe de lungime N  256 , folosind transformatele TFD şi ITFD.

II.3.5 Transformata Fourier inversă


a) Pornind de la un semnal tip fereastră dreptunghiular să i se calculeze şi să i se reprezinte
spectrul. Aplicând transformata inversă spectrului calculat să se verifice că se ajunge la
semnalul iniţial.
Soluţie: Secvenţa MATLAB pentru rezolvarea problemei este exemplul EX3_L2.m
(tabelul 2.5). Lansaţi în execuţie programul şi interpretaţi rezultatele.

33
Capitolul II
Analiza semnalelor în frecvenţă prin transformări ortogonale: Transformata Fourier. Transformata Z. Răspunsul
în frecvenţă al sistemelor discrete

Tabelul 2.5 Exemplul EX3_L2.m

% Transformata TFD inversa (ITFD)


% Consideram fereastra dreptunghiulara
x=[zeros(size(1:10)) ones(size(1:12)) zeros(size(1:10))];
figure,subplot(221),stem(x),title('Semnalul initial'),axis([1 32 0 2]);
X=fft(x);
subplot(222),stem(abs(X)),title('TFD aplicata semnalului'),axis([1 32 0 15]);
subplot(224),stem(abs(X(1:16))),title('Spectrul semnalului'),axis([1 16 0 15]);

% Transformata TFD inversa este:


xx=ifft(X)
subplot(223),stem(abs(xx)),title('Secventa discreta reconstituita cu TFDI'),axis([1 32 0
2]);

În acest exemplu a fost necesară reprezentarea MODULULUI secvenţei notate


xx chiar dacă din teorie reiese că xx trebuie să fie secvenţa iniţială x (reală!). Este secvenţa
xx complexă? Explicaţi de ce.

b) Fie x 1 (n) şi x 2 (n) două secvenţe de lungime N. Calculaţi secvenţa x 3 (n) =


x 1 (n)x 2 (n) direct şi prin transformarea inversă a secvenţei:
1
X 1 (k ) X 2 (k )
N

c) Două secvenţe de lungime 4 sunt:

x1 n   2,1,0,1 , x 2  3,2,1,0.

Transformatele TFD sunt:

 A 
X 1 k    A, ,0 ,A , X 2 (k )  0,2.82,2,2.82
 2 
  
arg X 1 k   0,0,0,0, arg X 2 k   0, ,0, 
 4 4

c1) Determinaţi valoarea lui A;

34
Capitolul II
Analiza semnalelor în frecvenţă prin transformări ortogonale: Transformata Fourier. Transformata Z. Răspunsul
în frecvenţă al sistemelor discrete

c2) Dacă Y k   X 1 k X 2 k  , desenaţi Y k  (amplitudinea şi faza) ca funcţie de


indicele k şi notaţi valorile numerice;
c3) y n  este secvenţa ce corespunde lui Y k  . Găsiţi y n , n  0,1,2,3 ;
c4) Ce relaţie există între y n  , x1 n  şi x 2 n  ?

II.3.6 Algoritmi TFR


a) Calculaţi TFR a secvenţei de date 0,0,1,1,1,1,0 şi desenaţi amplitudinea şi spectrul.
Soluţie: Secvenţa scrisă în programul MATLAB, corespunzând problemei date, este
exemplul EX4_L2.m (tabelul 2.6). Lansaţi în execuţie programul şi interpretaţi rezultatele.

Tabelul 2.6 Exemplul EX4_L2.m

% Folosirea algoritmilor rapizi de calcul TFD (algoritmi FFT)


% Functia MatLab este tot fft, dar lungimea secventei trebuie
% sa fie o putere a lui 2, pentru a se aplica un algoritm rapid
% de calcul
x = [0 0 1 1 1 1 0];

% Lungimea secventei este:


size(x)

% deci nu este putere a lui 2


% Prelungim secventa pina la prima putere a lui 2, folosind functia nextpow2
% Se calculeaza fft intr-un numar de puncte egal cu nextpow2(x)
X = fft(x,2^nextpow2(length(x)));

% Se deseneaza modulul si faza transformatei TFD.


figure,subplot(211),stem(abs(X)),title('Modulul TFD calculata cu FFT'),axis([1 8 0 6]);
subplot(212),stem(phase(X)),title('Faza TFD calc. cu FFT'),ylabel('Radiani'),axis([1 8 -
4 4]);

b) Folosiţi transformata TFR (FFT) pentru a scrie un program MATLAB cu care se va


verifica teorema eşantionării. Soluţia problemei este programul EX5_L2.m (tabelul 2.7), care
se va rula pentru cele două funcţii precizate în sursa programului.

Tabelul 2.7 Exemplul EX5_L2.m

t=0:0.001:0.255;
N=length(t);
Fs = 1000;
t1=[0:N-1]/Fs;
factor=3;
Fe=Fs/factor;

35
Capitolul II
Analiza semnalelor în frecvenţă prin transformări ortogonale: Transformata Fourier. Transformata Z. Răspunsul
în frecvenţă al sistemelor discrete

n=N/factor;
f1 = [0:N/2-1]*Fs/N;
f2 = [0:n/2-1]*Fe/n;

% Semnalul continuu este:


x = sin(2*pi*50*t.^2) + cos(2*pi*70*t); % prima varianta de functie.

% a doua varianta de functie.


%x = sawtooth(50*t);
figure,subplot(311),plot(t1,x),title('Semnalul continuu'),xlabel('Timp (s)'),axis([0 0.255
-3 3]);

% Urmeaza esantionarea semnalului cu un factor.


x_dec = zeros(length(x));
for i=1:(length(x)/factor)
x_dec(factor*i)=x(factor*i);
t_esnt(i)=factor*i*1.e-3;
x_esnt(i)=x(factor*i);
end;

% Urmeaza operatia inversa esantionarii: interpolarea semnalului.


x_interp=interp(x_esnt,factor);

% Se deseneaza semnalul esantionat.


subplot(312),plot(t1,x),title('Semnalul esantionat'),xlabel('Timp (s)'),axis([0 0.255 -3
3]);
hold on,stem(t_esnt,x_esnt,'.');

% Se deseneaza semnalul interpolat.


NN=length(x_interp);
t2=[0:NN-1]/Fs;
subplot(313),plot(t2,x_interp),title('Semnalul interpolat'),xlabel('Timp (s)'),axis([0
max(t2) -3 3]);

% Se reprezinta spectrele celor trei semnale; spectrul semnalului esantionat se


% reprezinta doar de la 0 la Fe (frecventa de esantionare).
X=abs(fft(x));
X_esnt=abs(fft(x_esnt));
X_interp=abs(fft(x_interp));
figure,subplot(311),plot(f1,X(1:N/2)), title('Spectrul semnalului
continuu'),grid,ylabel('Amplitudine'),xlabel('Frecventa (Hz)'),axis([0 max(f1) min(X)
max(X)]);
subplot(312),plot(f2,X_esnt(1:n/2)), title('Spectrul semnalului esantionat [0,
Fe]'),grid,ylabel('Amplitudine'), xlabel('Frecventa (Hz)'),axis([0 max(f2)
min(X_esnt) max(X_esnt)]);

36
Capitolul II
Analiza semnalelor în frecvenţă prin transformări ortogonale: Transformata Fourier. Transformata Z. Răspunsul
în frecvenţă al sistemelor discrete

subplot(313),plot(f1,X_interp(1:N/2)), title('Spectrul semnalului interpolat [0,


Fs]'),grid,ylabel('Amplitudine'), xlabel('Frecventa (Hz)'),axis([0 max(f1)
min(X_interp) max(X_interp)]);

b1) Pentru ce valori ale parametrului factor poate fi recuperat semnalul continuu
din cel eşantionat ?

b2) Să se precizeze care este legătura între transformata Fourier a semnalului


eşantionat, transformata Fourier în timp discret (TFTD) şi transformata Fourier discretă
(TFD).

II.3.7 Rezoluţia în frecvenţă a TFD


Repetaţi problema 3.2.h completând secvenţele cu zerouri (256 zerouri). Să se verifice
că această operaţie duce la creşterea (artificială) a rezoluţiei în frecvenţă a spectrelor
reprezentate.

II.3.8 Răspunsul sistemelor în frecvenţă


a) Fie un sistem digital caracterizat de transformata Z:

B( z ) 0.05634(1  z 1 )(1  1.0166 z 1  z 2 )


H ( z)  
A( z ) (1  0.683 z 1 )(1  1.4461z 1  0.7957 z 2 )

Zerourile funcţiei de transfer sunt: z1  e j , z 2,3  e 1.0375 j şi polii sunt p1  0.683 ,


p 2,3  e 1.6257 j .
Să se scrie secvenţa de instrucţiuni MATLAB care calculează răspunsul sistemului în
frecvenţă, faza răspunsului, întârzierea de grup şi funcţia pondere.
Soluţie: Secvenţa de instrucţiuni MATLAB corespunzătoare este exemplul EX6_L2.m.
Lansaţi în execuţie programul şi interpretaţi rezultatele.

Tabelul 2.8 Exemplul EX7_L2.m

% Fie un sistem digital de ordinul 3.


% Acest sistem este caracterizat de transformata-Z:
%
% -1 -1 -2
% B(z) 0.05634*(1 + z )*(1 - 1.0166z + z )
% H(z) = ---- = -----------------------------------------

37
Capitolul II
Analiza semnalelor în frecvenţă prin transformări ortogonale: Transformata Fourier. Transformata Z. Răspunsul
în frecvenţă al sistemelor discrete

% -1 -1 -2
% A(z) (1 - 0.683z )*(1 - 1.4461z + 0.7957z )
%
%
% (j*pi) (+/-j*1.0375)
% Zerourile functiei de transfer: Z1 = 1*e , Z2,3 = 1*e
% (+/-j*0.6257)
% Polii functiei de transfer: P1 = 0.683, P2,3 = 0.892*e
%
% Sa se reprezinte raspunsul sistemului in frecventa si functia pondere.
% Sa se explice ce se intimpla daca P1 -> 1 si daca P1 > 1.
% Sa se modifice programul pentru a ilustra cele constatate.
PB1=0.05634*[1 1];
PB2=[1 -1.0166 1];
PA1=[1 -0.683];
PA2=[1 -1.4461 0.7957];
B=conv(PB1,PB2); % Inmultirea polinoamelor PB1 si PB2.
A=conv(PA1,PA2); % Inmultirea polinoamelor PA1 si PA2.

% Se reprezinta diagrama poli-zerouri pentru functia de transfer H(z).


% Daca H(z) este o functie in variabila z^-1 atunci are
% coeficientii numitorului = coef. polinomului A(z) iar
% coeficientii numaratorului = coef. polinomului B(z).
zplane(B,A);

% Raspunsul sistemului in frecventa: H(e^jw)


[H, W]=freqz(B,A,80);
% Se reprezinta modulul functiei de transfer |H(e^jw)|.
figure,subplot(211),plot(W, abs(H)),title('Raspunsul in frecventa al sistemului
(modul)'),ylabel('Amplitudine'),xlabel('omega');
subplot(212),plot(W, 20*log(abs(H))),title('Modulul raspunsului in frecventa in
dB'),ylabel('Amplitudine (dB)'),xlabel('omega');
% Se reprezinta faza functiei de transfer arg[H(e^jw)] si intirzierea de grup
% grd[H(e^jw)];
figure,subplot(211),plot(W, angle(H)),title('Faza raspunsului in
frecventa'),ylabel('Radiani'),xlabel('omega');
[grd,W]=grpdelay(B,A,80);
subplot(212),plot(W, grd),title('Intirzierea de grup a
raspunsului'),ylabel('Esantioane'),xlabel('omega');

% Se calculeaza si reprezinta functia pondere a sistemului caracterizat de H(z).


[h,t]=impz(B,A);
figure,stem(t,h), title('Functia pondere'), ylabel('Amplitudine'), xlabel('Timp');

38
Capitolul II
Analiza semnalelor în frecvenţă prin transformări ortogonale: Transformata Fourier. Transformata Z. Răspunsul
în frecvenţă al sistemelor discrete

Să se explice ce se întâmplă dacă p1  1 şi dacă p1  1 şi să se modifice


programul pentru a verifica cele explicate.

b) Să se scrie un program MATLAB care să calculeze şi să afişeze răspunsul în


frecvenţă, faza şi timpul de întârziere de grup pentru un sistem cu funcţia de transfer:
b1) H(z)=1-az -1 .
π
1 j
b2) H(z)= , cu a=r  e 2
.
1-az -1
Pentru r consideraţi valorile: r = 0.7; 0.8; 0.9; 0.99. Explicaţi ce se întâmplă cu
răspunsul în frecvenţă pe măsură ce r  1 , în ambele cazuri. Programul va desena şi
diagrama poli - zerouri.

II.4. Exerciţii şi probleme recapitulative


a) Funcţia pondere a unui sistem este:

hn    n   0.5 n  5

a1) Găsiţi răspunsul în frecvenţă al sistemului;

a2) Găsiţi expresia TFD în 10 puncte a hn  ;


a3) Desenaţi spectrul de amplitudine pentru TFD obţinut la punctul b);
a4) Care este legătura dintre frecvenţa răspunsului de la punctul a) şi cea pentru
transformata TFD de la punctul b) ?
b) Un sistem liniar, invariant în timp şi cauzal are funcţia pondere hn  pentru care
transformata sa Z este:

1  z 1
H z  
 
1  12 z 1  1  14 z 1 
b1) Care este regiunea de convergenţă a lui H(z).
b2) Este sistemul stabil ? Explicaţi.

b3) Găsiţi cu ajutorul unei secvenţe de instrucţiuni MATLAB, funcţia pondere hn  .
b4) Găsiţi expresia TFD a funcţiei pondere hn  .

39
Capitolul II
Analiza semnalelor în frecvenţă prin transformări ortogonale: Transformata Fourier. Transformata Z. Răspunsul
în frecvenţă al sistemelor discrete

c) Fie un sistem presupus cauzal şi stabil cu transformata Z:

z 1  a
H z  
1  a z 1

c1) Care din componentele unui semnal (amplitudinea sau faza) vor fi afectate de
trecerea prin acest sistem? La ce frecvenţe vor fi afectate componentele de amplitudine ale
semnalului trecut prin sistem? Cum aţi denumi acest sistem ?
c2) Pentru o valoare a parametrului a aleasă astfel încât să fie asigurată stabilitatea
sistemului, să se determine printr-o secvenţă de instrucţiuni MATLAB, amplitudinea şi faza
sistemului.

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, Bucureşti,
România, 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

40

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