Sunteți pe pagina 1din 21

Capitolul 2 - Transformata Fourier. Transformata Z.

Răspunsul în frecvenţă al
sistemelor discrete

2 Transformata Fourier. Transformata Z. Răspunsul în frecvenţă


al sistemelor discrete
Obiectivele capitolului
În cadrul lucrării se studiază transformata Z, transformata Fourier discretă/în
timp discret. Se arată modul de calcul al răspunsului în frecvenţă al sistemelor
discrete. Cunoştinţelor teoretice sunt fixate prin exemple şi prin rezolvarea unor
probleme de sisteme discrete cu ajutorul programului MATLAB.
2.1 Transformate. Sisteme – Introducere teoretică

2.1.1 Analiza semnalelor continue


2.1.1.1 Analiza semnalelor continue periodice. Seria Fourier

Definiţie
Un semnal x (t ) periodic, cu perioada T0 , poate fi reprezentat prin seria Fourier
ca o sumă infinită de termeni sinusoidali/cosinusoidali la care se adaugă un termen
constant:
¥ ¥
x (t ) = a0 + å an cos(nW 0 t ) + å bn sin(nW 0 t ) (2.1)
n =1 n =1

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

2p
W0 = (2.2)
T0

este frecvenţa primei armonici (denumită şi fundamentală). (2.1) descrie


reprezentarea sub formă de serie Fourier a semnalului periodic. Coeficienţii
dezvoltării seriei Fourier se calculează cu relaţiile:
T
1 t0 + 20
T x (t )dt
T0 òt0 - 20
a0 = (2.3)

T
2 t0 + 20
T x (t ) × cos (nW 0 t )dt
T0 òt0 - 20
an = (2.4)

T
2 t0 + 20
T x (t ) × sin(nW 0 t )dt
T0 òt0 - 20
bn = (2.5)

33
Capitolul 2 - Transformata Fourier. Transformata Z. Răspunsul în frecvenţă al
sistemelor discrete

a0 reprezintă componenta continuă iar an , respectiv bn reprezintă partea reală,


respectiv imaginară a armonicii n (cosinusoida, respectiv sinusoida corespunzătoare
acesteia).
Seria (2.1) se mai poate scrie şi astfel:
¥
x (t ) = å d n × exp( jnW 0 t ) (2.6)

T0
1 t0 +
dn = ò T
2 x (t ) × exp(- jnW 0 t ) × dt (2.7)
T0 t0 - 0
2

2.1.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 ( jW ) = ò x(t ) × e - jWt dt = Re( jW ) + j × Im( jW ) = X ( jW ) e jj (W ) (2.8)

cu W = 2p × f , f fiind frecvenţă reală exprimată în Hz.

Definiţie
Transformata Fourier inversă stabileşte legătura între domeniul frecvenţă şi
domeniul timp:
¥
1
x (t ) = X ( j W )e j Wt dW
2π -ò¥
(2.9)

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.
2.1.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 ) , atunci putem scrie:
¥
x p (t ) = å x (t - nT ) 0 (2.10)
n = -¥

34
Capitolul 2 - Transformata Fourier. Transformata Z. Răspunsul în frecvenţă al
sistemelor discrete

Pentru semnalul periodic descris de relaţia (2.10) determinăm coeficienţii


seriei Fourier corespunzătoare, {d n }:
¥ ¥

å x (t - nT ) = å d

0
n = -¥
n × e - jnW 0t ,
T0
(2.11)
1 1 ¥ 1
dn = ò2
T x (t ) × e - jnW 0 t
dt = ò x (t ) × e
- jnW 0 t
dt = X ( j × nW 0 )
T0 - 0 T0 -¥ T0
2

unde W 0T0 = 2p . Se observă că valorile coeficienţilor seriei Fourier se obţin prin


1
eşantionarea lui X ( jW ) la pulsaţiile armonice nW 0 :
T0

1
dn = X ( j × nW 0 )
T0

2.1.2 Analiza semnalelor discrete


2.1.2.1 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
X e jw = - jwn
(2.12)
n = -¥

f
cu w = WTe = 2p numită frecvenţă normată/discretă, exprimată în radiani. Te şi f e
fe
reprezintă perioada, respectiv frecvenţa de eşantionare (pentru simplificarea relaţiilor
în mod curent se consideră Te = 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 jw este o funcţie continuă şi periodică în w , cu perioada 2p .

35
Capitolul 2 - Transformata Fourier. Transformata Z. Răspunsul în frecvenţă al
sistemelor discrete

2.1.2.2 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ă {x 0 , x1,..., x N -1}, TFD este secvenţa
definită de relaţia:
N -1 2p N -1
-j
X [k ] = å x [n ]× e = å x [n ]×w N- nk = TFD{x [n ]}
kn
N
(2.14)
n =0 n =0

æ 2p ö
cu k = 0,1,..., N - 1 iar w N = expç j ÷.
è N ø

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


æ 2pnk ö
1 N -1 jç ÷ 1 N -1
x [n ] = å X [k ] × e è N ø
= å X [k ] × w Nnk = TFDI -1{X [k ]} (2.15)
N k =0 N k =0

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


Tabel 2.1 - Proprietăţi ale TFD
Proprietate Semnificaţie
x [n ]¬¾ ¾® X [k ] , x1,2 [n ]¬¾
TFD
¾® X 1,2 [k ] ,
TFD

y [n ]¬¾¾®Y [k ]
TFD

0)

1) x [n ] = x [n + N ], "n Î Z , X [k ] = X [k + N ], "n Î Z Periodicitate

N -1 2p Ortogonalitate
-j
2) å w Nmk w Nnk =N× d m -n ,w = e
k =0
N

3) Fie combinaţia liniară a două secvenţe Liniaritate


y [n ] = ax1 [n ] + bx 2 [n ] , cu a, b constante. Atunci
Y [k ] = aX 1 [k ] + bX 2 [k ] .

4) Dacă x [n ]¬¾¾® X [k ] atunci:


TFD Simetrie
X [n ]¬¾¾® N × x[- k ]
TFD

36
Capitolul 2 - Transformata Fourier. Transformata Z. Răspunsul în frecvenţă al
sistemelor discrete

5) x * [n ]¬¾¾® X * [((- k ))mod N ] ,


TFD TFD secvenţă conjugată
(Hermitiană – oglindită)
x * [((- n ))mod N ]¬¾¾® X * [k ]
TFD

6) Dacă x [n ] este reală: Pentru secvenţe reale


parte reală a TFD şi
X [k ] = X [- k ]
*
spectrul de amplitudini
Re{X [k ]} = Re{X [- k ]} sunt pare iar partea
Im{X [k ]} = - Im{X [- k ]} imaginară şi faza sunt
X [k ] = X [- k ] impare

arg{X [k ]} = - arg{X [- k ]}

x1[n] + x1[- n] TFD Secvenţele pare au TFD


7) ¬¾¾® Re{X [k ]}, reală iar cele impare au
2
TFD pur imaginară
x1[n] - x1[- n] TFD
¬¾¾® j Im{X [k ]}
2

8) y [n ] = x1 [n ] Ä x 2 [n ]¬¾¾®Y [k ] = X 1 [k ] × X 2 [k ]
TFD TFD pentru convoluţia
circulară

2p TFD pentru impulsul unitar


-j
9) d [n ]¬¾¾®1, d [n - n0 ]¬¾
kn0
TFD
¾® e
TFD N

10) 1¬¾¾® d [k ]
TFD TFD pentru secvenţa
constantă

2p TFD pentru exponenţiala


l ×n
11) Fie x [n ] = e N x[n + N ] = x[n ] şi complexă
j
. Atunci
X [k ] = d [((k - l ))mod N ]

12) w N- l ×n × x[n ]¬¾¾® X [((k - l ))mod N ]


TFD Modulaţia (deplasare în
frecvenţă)

2p Deplasare
-j
13) x [n - n0 ]¬¾ X [k ]
n0 k
¾® e
TFD N

N -1
1 N -1 Teorema lui Parceval
å x [n ] = å X [k ]
2 2
14)
n =0 N k =0

37
Capitolul 2 - Transformata Fourier. Transformata Z. Răspunsul în frecvenţă al
sistemelor discrete

Legătura între TFD - TFTD. Algoritmi TFR. Rezoluţia în frecvenţă


Ţ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…2p) în N puncte
2p
echidistante pe cercul unitate la frecvenţele w k = k , cu k = [0,1,..., N ) .
N
Algoritmi rapizi pentru calculul TFD. Transformata Fourier rapidă
Am precizat anterior că pentru secvenţa:

{x [n ]} = {x (0 ), x (1), x (2),..., x (N - 1)} (2.16)

transformata TFD este dată de relaţia (2.14). 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 TFR cu decimare în
timp şi TFR cu decimare în frecvenţă (ambii algoritmi presupun că N este o putere a
lui 2), etc.
Rezoluţia în frecvenţă a TFD
În analiza TFD rezoluţia în frecvenţă discretă (pulsaţia normată) a
transformatei este:

2p
Dw = [rad] = 2p Df (2.17)
N fe

Atunci rezoluţia TFD exprimată în frecvenţe reale (Hz) este:

fe
Df = [Hz] , f e fiind frecvenţa de eşantionare (2.18)
N
Există şi alte transformări ortogonale utilizate în analiza semnalelor:, şi anume
transformata cosinus, transformata sinus, etc.
2.1.2.3 Transformata Z

Definiţie
Transformata Z bilaterală a secvenţei {x [n ]} este definită de relaţia:
¥
X (z ) = å x[n ]× z
n = -¥
-n
, cu z variabilă complexă. (2.19)

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:

38
Capitolul 2 - Transformata Fourier. Transformata Z. Răspunsul în frecvenţă al
sistemelor discrete

1
x [n ] =
2πj Cò
X(z) z n-1dz , cu C curbă situată în domeniul de convergenţă (2.20)

Integrala din (2.19) poate fi calculată cu teorema reziduurilor. Dacă secvenţa


{x[n]} este cauzală ( x[n ] = 0 , pentru n < 0 ) atunci se defineşte transformata Z
unilaterală prin scrierea formulei (2.19) astfel:
¥
X (z ) = å x [n ] × z - n (2.21)
n =0

Domeniul de convergenţă al acestei serii este cercul z > R (“convergenţă de


exterior” - pentru z în afara cercului de rază R ).

Observaţie
În formula (2.19) convergenţa de interior ( z < R 2 ) corespunde subsecvenţei
anticauzale ( x [n ] = 0 , pentru n > 0 ).

Legătura între transformata Z şi transformata TFTD


Dacă se compară relaţia (2.12) cu relaţia (2.19), 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 jw , unde e jw = 1):

( )
X e jω = X (z ) z =e jω (2.22)

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, pentru rezolvarea EDF.

2.1.3 Analiza sistemelor discrete liniar invariante în timp (sisteme LIT)


2.1.3.1 Răspunsul în frecvenţă al sistemelor discrete LIT

Definiţie
Răspunsul în frecvenţă al sistemelor discrete liniar invariante în timp (LIT),,
( )
H e jw , se poate defini în trei moduri, prin:
)

i) Calculul TFTD a funcţiei pondere


¥
( ) å h[n]× e
def
- jω n
H e jω = , (2.23)
n = -¥

39
Capitolul 2 - Transformata Fourier. Transformata Z. Răspunsul în frecvenţă al
sistemelor discrete

unde h[n ] este funcţia pondere a sistemului.

ii) Determinarea răspunsului în frecvenţă ca raport între secvenţa de


ieşire şi secvenţa de intrare, doar atunci când secvenţa de la intrarea
sistemului este exponenţiala complexă, e jω n

( ) yx[[nn]]
H e jw = , (2.24)
x [n ]= e jω n

unde w reprezintă frecvenţa discretă a semnalului de intrare.

iii) Calculul transformatei Z a funcţiei pondere a sistemului (calculând


funcţia de transfer a sistemului)
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
şi (2.25)
X (z ) N

åa
k =0
k z -k

( )
H e j w = H ( z ) z = e jw

Relaţia (2.25) 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
B(z )
transfer a sistemului discret şi este dată de o expresie raţională de forma unde
A(z )
B (z ) şi A(z ) sunt polinoame în z -1 . Rădăcinile polinomului B (z ) sunt zerourile lui
H (z ) , iar rădăcinile lui A(z ) reprezintă polii funcţiei de transfer. 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.

2.1.3.2 Stabilitatea sistemelor discrete LIT

Criteriu stabilitate
Un sistem liniar, invariant în timp şi cauzal este stabil dacă şi numai dacă
funcţia sa de transfer H (z ) are toţi polii situaţi în interiorul cercului unitate în planul z.

40
Capitolul 2 - Transformata Fourier. Transformata Z. Răspunsul în frecvenţă al
sistemelor discrete

Observaţie
Stabilitatea implică faptul că cercul unitate face parte din domeniul de
convergenţă al lui H ( z ) .

2.1.4 Funcţii MATLAB folosite în acest capitol


Funcţiile MATLAB folosite în acest capitol sunt centralizate în Tabel 2.2.
Tabel 2.2. Funcţii MATLAB folosite în capitolul II
Transformare Desenare

fft FFT compass Desenarea numerelor complexe ca vectori din origine,


directă definiţi de unghiuri şi amplitudini

ifft FFT stem Desenarea secvenţelor discrete


inversă

Interpretarea rezultatelor

angle/phase Faza, în radiani, a matricii complexe

grpdelay Întârzierea de grup

fftshift Deplasarea spectrului

Funcţii diverse

ones/ zeros Matrice de elemente unu/ zero

sin/ cos Funcţiile sinus / cosinus

conj Conjugarea complexă

mean Extragerea componentei continue

aawtooth Semnal dinte de fierăstrău

interp Interpolarea

zplane Calculul şi afişarea de zerouri şi de poli

impz Funcţia pondere

freqz Răspunsul în frecvenţă al sistemului folosind transformata Z

41
Capitolul 2 - Transformata Fourier. Transformata Z. Răspunsul în frecvenţă al
sistemelor discrete

nextpow2 Următoarea valoare putere a lui 2

randn/ rand Generator de numere aleatoare distribuite normal/ uniform

abs Modulul

2.2 Aplicaţii

2.2.1 Semnale discrete periodice


)

a) Arătaţi faptul că semnalul dreptunghiular se obţine din semnalul


sinusoidal, sumând armonicile impare.
Secvenţa MATLAB pentru rezolvarea problemei este prezentată în ex1_l2.m.
Lansaţi în execuţie exemplul şi interpretaţi rezultatele.
% Seria Fourier a semnalului dreptunghiular este constituita din
% sumarea armonicilor impare

t = 0:.1:10;
y = sin(t);
figure,suptitle('Semnalul dreptunghiular ca suma a armonicilor impare');
subplot(221),plot(t,y),title('Semnalul initial'), xlabel('timp');grid on

% 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');grid on

% 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');grid on

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


t = 0:.01:pi;
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');grid on
xlabel('timp');

42
Capitolul 2 - Transformata Fourier. Transformata Z. Răspunsul în frecvenţă al
sistemelor discrete

% Semnalul obtinut, in reprezentare tridimensionala...


figure,mesh(y), title('Semnalul obtinut');grid on
b) Semnalul analogic periodic:

x (t ) = A cos(200pt ) + B cos(600pt )

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:
Semnalul eşantionat este:

x (nTe ) = A cos(200pnTe ) + B cos(600pnTe ) ,

iar pentru frecvenţa de eşantionare de f e = 1 kHz ( Te = 0.001 s ) rezultă:

æ 2pn ö æ 6pn ö
x [n ] = x (0.001n ) = A cos(0.2pn ) + B cos(0.6pn ) = A × cosç ÷ + B × cosç ÷
è 10 ø è 10 ø

perioada secvenţei rezultante fiind 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, listat mai jos. Lansaţi în execuţie acest program.
% Transformata Fourier discreta TFD a secventei
%obtinute din A*cos(0.2*pi*t)+B*cos(0.6*pi*t), esantionare cu 1Hz
% A cos(2*pi*n/10) + B cos(6*pi*n/10), pentru
%A=B=1
fe = 10;%fmax = 0.3 Hz
%Te = 0.1; N = 100
t = 0:0.1:20;
t1 = 0:9;%perioada discreta pt esantionare cu 1 Hz
x = cos(2*pi*t/10) + cos(6*pi*t/10);
x1 = cos(2*pi*t1/10) + cos(6*pi*t1/10);
NFFT = 1024;
X = fft(x,NFFT);
X1 = fft(x1);

% Desenare spectru
figure,set(gcf,'Units','normalized', 'OuterPosition',[0 0 1 1]);
43
Capitolul 2 - Transformata Fourier. Transformata Z. Răspunsul în frecvenţă al
sistemelor discrete

suptitle('TFTD');
subplot(221), plot(t,x), title('Secventa initiala');
subplot(222), plot(fe*(0:NFFT-1)/NFFT,abs(X)), title('Modulul transformatei
TFD'),xlabel('k');
subplot(223),plot(fe*(0:NFFT-1)/NFFT,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');

figure,set(gcf,'Units','normalized', 'OuterPosition',[0 0 1 1]);


suptitle(['TFD - frecvente reale: 0, 0.1, ..., 0.9']);
subplot(221), stem(x1), title('Secventa initiala - fe = 1 Hz');
subplot(222), stem(abs(X1)), title('Modulul transformatei TFD'),xlabel('k');
subplot(223),stem(angle(X1)),title('Faza TFD'),ylabel('Radiani'),xlabel('k');
% Tot TFD, dar intr-o reprezentare vectoriala: modul + faza
subplot(224), compass(X1),title('TFD in reprezentare vectoriala');

% Simetrizez spectrul folosind functia fftshift


XX1 = fftshift(X1);
figure,set(gcf,'Units','normalized', 'OuterPosition',[0 0 1 1]);
suptitle('TFD centrat pe 0');
subplot(221),stem(0:length(x1)-1,abs(X1)),title('Modulul transformatei TFD');
subplot(222),stem(0:length(x1)-1,phase(X1)),title('Faza transformatei
TFD'),ylabel('Radiani');
subplot(223),stem(-length(x1)/2:length(x1)/2-1,abs(XX1)),title('Modulul transformatei
simetrizate');
subplot(224),stem(-length(x1)/2:length(x1)/2-1,phase(XX1)),title('Faza transformatei
simetrizate'),ylabel('Radiani');

2.2.2 Semnale discrete neperiodice


)

a) Secvenţa unitate unidimensională

a1) Calculaţi TFD a secvenţei elementare x [n ] = d [n ]. Desenaţi amplitudinea şi faza.

a2) 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.

a3) Reprezentaţi amplitudinea şi faza impulsului unitate deplasat cu n 0 intervale de


eşantionare ( n 0 = 2,-3 )

b) Secvenţa constantă
44
Capitolul 2 - Transformata Fourier. Transformata Z. Răspunsul în frecvenţă al
sistemelor discrete

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 ] = NAd [k ] .

c) Secvenţa sinus
Repetaţi calculele pentru secvenţa sinus.
d) 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.


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

é æ 2p n öù
x [n ] = 0.5 ê1-cosç ÷ú pentru n = 0, 1, 2,..., N - 1
ë è N øû

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


analogic:

2f 0 sin( 2p f0 t )
x (t ) =
2p f0 t

Reţineţi numai valorile din intervalul - 1 < t < 1 s. Frecvenţa de eşantionare este
16 kHz şi se consideră 32 de eşantioane. Găsiţi şi desenaţi amplitudinile
coeficienţilor TFD pentru frecvenţa f0 egală cu:
0.5 Hz, 1.0 Hz, 2.0 Hz, 4 Hz
Comentaţi rezultatele obţinute.

2.2.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}

2.2.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}× j


45
Capitolul 2 - Transformata Fourier. Transformata Z. Răspunsul în frecvenţă al
sistemelor discrete

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.

2.2.5 Transformata Fourier inversă


)

a) Pornind de la un semnal tip fereastră dreptunghiular să se calculeze şi să i


se reprezinte spectrul său. 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
listat mai jos. Lansaţi în execuţie programul şi interpretaţi rezultatele.
% Transformata TFD inversa (ITFD)
% Consideram fereastra dreptunghiulara
x = [zeros(1,10) ones(1,12) zeros(1,10)];
X = fft(x);

figure
subplot(221),stem(x),title('Semnalul initial'),axis([1 32 0 2]);
subplot(222),stem(abs(X)),title('TFD aplicata semnalului'),axis([1 32 0 15]);
subplot(224),stem(-16:15,abs(fftshift(X))),title('Spectrul semnalului'),axis([-16 15 0
15]);

% Transformata TFD inversa este:


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

Observaţie
Î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 x1 [n ] şi x 2 [n ] două secvenţe de lungime N. Calculaţi secvenţa


x 3 [n ] = x1 [n ] × x 2 [n ] direct şi prin transformata Fourier discretă inversă a secvenţei:

1
× X 1 [k ]Ä X 2 [k ]
N

46
Capitolul 2 - Transformata Fourier. Transformata Z. Răspunsul în frecvenţă al
sistemelor discrete

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

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

Transformatele lor TFD sunt:

ì A ü
X 1 [k ] = íA, , 0, Aý , X 2 [k ] = {0, 2.82, 2, 2.82}
î 2 þ

ì p pü
arg( X 1 [k ]) = {0, 0, 0, 0}, arg( X 2 [k ]) = í0, - , 0, ý
î 4 4þ

c1) Determinaţi valoarea lui A;

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 cu TFD dată de 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 ] ?

2.2.6 Algoritmi TFR


)

a) Calculaţi TFR a secvenţei de date {0, 0, 1, 1, 1, 1, 0} şi desenaţi amplitudinea şi


faza sa.
Soluţie:
Secvenţa scrisă în programul MATLAB, corespunzând problemei date, este
exemplul EX4_L2.m (listat mai jos). Lansaţi în execuţie programul şi interpretaţi
rezultatele.
% 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.


47
Capitolul 2 - Transformata Fourier. Transformata Z. Răspunsul în frecvenţă al
sistemelor discrete

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 calculata 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,
care se va rula pentru cele două funcţii precizate în sursa programului.
t = 0:0.001:0.255;%esantionare initiala cu Ts = 0.001 s (1000 Hz)
N = length(t);
Fs = 1000;
t1 = [0:N-1]/Fs;
factor = 4;
Fe = Fs/factor;
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 reesantionarea semnalului cu un factor (decimare)


x_dec = resample(x,1,factor);

% Urmeaza operatia inversa esantionarii: interpolarea semnalului, cu


% acelasi factor
x_interp = interp(x_dec,factor,1);

% Se deseneaza semnalul esantionat.


subplot(312),plot(t1,x),title('Semnalul esantionat'),xlabel('Timp (s)'),axis([0 0.255 -3
3]);
hold on,plot((0:(length(x_dec)-1))/Fe,x_dec,'*r');

% Se deseneaza semnalul interpolat.


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

48
Capitolul 2 - Transformata Fourier. Transformata Z. Răspunsul în frecvenţă al
sistemelor discrete

% 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_dec = abs(fft(x_dec));
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_dec(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)]);
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).

2.2.7 Rezoluţia în frecvenţă a TFD


Repetaţi problema 2.2.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.

2.2.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 jp , z 2,3 = e ±1.0375 j şi polii sunt


p1 = 0.683 , p2,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.
% Fie un sistem digital de ordinul 3.

49
Capitolul 2 - Transformata Fourier. Transformata Z. Răspunsul în frecvenţă al
sistemelor discrete

% Acest sistem este caracterizat de transformata-Z:


%
% B(z) 0.05634*(1 + z^-1)*(1 - 1.0166z^-1 + z^-2)
% H(z) = ---- = -----------------------------------------
% A(z) (1 - 0.683z^-1)*(1 - 1.4461z^-1 + 0.7957z^-2)
%
% Zerourile functiei de transfer:
%z=
% 0.5083 + 0.861180068278406i
% 0.5083 - 0.861180068278406i
% -1
% Polii functiei de transfer:
%p=
% 0.72305 + 0.522397068808774i
% 0.72305 - 0.522397068808774i
% 0.683
% castigul sistemului
%k=
% 0.05634

% 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.
NFFT = 1024;

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).
figure, zplane(B,A);

%valoarea lor
[z,p,k] = tf2zp(B,A)

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


[H, W] = freqz(B,A,NFFT);
% Se reprezinta modulul functiei de transfer |H(e^jw)|.
figure

50
Capitolul 2 - Transformata Fourier. Transformata Z. Răspunsul în frecvenţă al
sistemelor discrete

subplot(211),plot(W, abs(H)),title('Raspunsul in frecventa al sistemului


(modul)'),ylabel('Amplitudine'),xlabel('\omega (rad)');
subplot(212),plot(W, 20*log(abs(H))),title('Modulul raspunsului in frecventa in
dB'),ylabel('Amplitudine (dB)'),xlabel('\omega (rad)');
% Se reprezinta faza functiei de transfer arg[H(e^jw)] si intirzierea de grup
% grp[H(e^jw)];
figure
subplot(211),plot(W, angle(H)),title('Faza raspunsului in frecventa'),ylabel('faza
(rad)'),xlabel('\omega (rad)');
[grd,W] = grpdelay(B,A,NFFT);
subplot(212),plot(W, grd),title('Intirzierea de grup a raspunsului'),ylabel('timp grup
(esant)'),xlabel('\omega (rad)');

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


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

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 .
πp
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.
2.3 Exerciţii şi probleme recapitulative
)

a) Funcţia pondere a unui sistem este:

h[n ] = d [n ] + 0.5 × d [n - 1]

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) ?

51
Capitolul 2 - Transformata Fourier. Transformata Z. Răspunsul în frecvenţă al
sistemelor discrete

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 - 21 z -1 × 1 + 41 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 ] .

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
0)

1) Ungureanu Georgeta Mihaela - Analiza şi prelucrarea semnalelor: aplicaţii î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.
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 Lăzărescu - Prelucrarea digitală a semnalelor; Amco Press, Bucureşti,
România, 1995;
7) John J. Proakis, Dimitris G. Manolakis - Digital Signal Processing. Principles,
Algorithms and Applications; Maxwell MacMillan Intl, Singapore, 1992;
52
Capitolul 2 - Transformata Fourier. Transformata Z. Răspunsul în frecvenţă al
sistemelor discrete

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.

53

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