Sunteți pe pagina 1din 14

PNS Lucrarea 6 Transformata Fourier Discretă

Lucrarea 6

Transformata Fourier Discretă

Scopul lucrării este acela de a defini, implementa şi de a pune în evidenţă unele


dintre proprietăţile Transformatei Fourier Discrete cu ajutorul programului MATLAB.

1. Definiţia Transformatei Fourier Discrete

Transformata Fourier discretă a unei secvenţe x[n] de durată finită L  N se


calculează cu relaţia
 2 k  L−1 N −1

  
− j 2 kn / N
X [k ] = X  = x[ n ]e = x[n ]e − j 2 kn / N , k = 0,1, , N −1 , (1)
 N  n =0 n =0

care este cunoscută sub denumirea de Transformata Fourier Discretă (TFD, acronimul
în limba engleză este DFT- Discrete Fourier Transform) a semnalului x[n] . Relaţia
N −1
1
x[n ] =
N
 X [k ]e
k =0
j 2 kn / N
, n = 0,1, , N − 1, (2)

defineşte transformata Fourier Discretă Inversă (TFDI, acronimul în engleză este


IDFT – Inverse DFT) şi permite refacerea semnalului x[n] din eşantioanele spectrului.
Dacă L  N , IDFT în N puncte va considera x[n] = 0 pentru L  n  N − 1 .
Transformata Fourier discretă este definită pe o submulţime a mulţimii
numerelor întregi cu valori în mulţimea numerelor complexe.
X [k ] =| X [k ] | e jX [ k ] , (3)
unde | X [k ] | reprezintă modulul transformatei Fourier discrete, iar X [k ] , faza sa.
Notând cu xN şi X N vectorii corespunzători valorilor semnalului, respectiv
2
−j
valorilor TFD a acestuia şi wN = e N
o rădăcină de ordin N a unităţii, DFT în N
puncte se exprimă în formă matriceală astfel:
X N = WN  xN (4)
unde WN este matricea transformării liniare, cu elementele WN (i, k ) = ( wN ) .
ik

Transformata Fourier discretă inversă se obţine cu


1 *
xN = WN  X N (5)
N
unde WN* este conjugata lui WN .

2. Câteva proprietăţi ale DFT

a) Periodicitatea. Dacă xn şi X [k ] sunt perechi DFT în N puncte, atunci

68
PNS Lucrarea 6 Transformata Fourier Discretă

x n + N  = x n ,  n  (6)
şi X [k + N ] = X [k ] ,  k  (7)
b) Liniaritatea. Dacă x j  n  şi X j [k ] sunt perechi DFT în N puncte, atunci

a j x j n ⎯DFT
⎯⎯ ⎯⎯ ⎯→
in N puncte
a j X j [k ] (8)
j j

c) Deplasarea şi simetria circulară în timp. Datorită proprietăţii de


periodicitate, transformata Fourier discretă în N puncte a unei secvenţe xn, de durată
finită L  N , este echivalentă cu transformata Fourier discretă în N puncte a unei
secvenţe periodice x p n, de perioadă N, obţinută prin repetarea periodică a lui xn

x p n =  xn − m N  (9)
m= −

Prin deplasarea lui x p  n  cu k unităţi spre dreapta ( k  0 ), se obţine secvenţa

periodică

x p ' n = x p n − k  =  xn − k − m N , k  0 (10)
m = −

Secvenţa aperiodică de lungime finită


 x ' [n], 0  n  N − 1;
x '[n] =  p
 0, în rest
se obţine din secvenţa originală xn prin deplasare circulară spre dreapta. Deplasarea
circulară spre dreapta cu k unităţi a unei secvenţe poate fi reprezentată cu indexul
modulo N
x' n = x(n − k ) modulo N  = x(n − k )N  (11)
Reflectarea sau inversarea în timp se realizează prin reflectarea eşantioanelor
faţă de punctul 0:
x ( −n ) N  = x  N − n , 0  n  N − 1 (12)

d) Multiplicarea a două DFT şi convoluţia circulară. Se presupun două


secvenţe de durată finită N, x1 n şi x2  n  , ale căror transformate Fourier discrete
sunt X 1[k ] , respectiv X 2 [k ] . Prin multiplicarea lor se obţine o secvenţă X 3 [k ] , al
cărei original este o secvenţă x3 n , tot de lungime N, dată de
N −1
x3  m  =  x1  n  x2 ( m − n ) N  , m = 0, 1, N −1, (13)
n =0

69
PNS Lucrarea 6 Transformata Fourier Discretă

relaţie care este o sumă de convoluţie, numită convoluţie circulară, datorită indexului
( m − n ) N . Convoluţia circulară a două secvenţe de lungime N se mai notează cu N
sau N .
e) Translaţia circulară în timp a unei secvenţe. Dacă xn şi X [k ] sunt
perechi DFT în N puncte, atunci
x[(n − m) N ] ⎯DFT
⎯⎯ ⎯⎯ ⎯→ e − j 2 k m N X [k ]
in N puncte (14)
f) Translaţia circulară în frecvenţă a unei secvenţe. Dacă xn şi X [k ] sunt
perechi DFT în N puncte, atunci
x[n]e j 2 n m N ⎯DFT
⎯⎯ ⎯⎯ ⎯→ X [(k − m) N ]
in N puncte (15)
g) Inversarea circulară în timp a unei secvenţe. Dacă xn şi X [k ] sunt
perechi DFT în N puncte, atunci
x ( −n ) N  = x[ N − n ] ⎯⎯⎯⎯⎯→
DFT in N puncte
X ( −k ) N  = X [ N − k ] (16)
h) Conjugarea complexă. Dacă xn şi X [k ] sunt perechi DFT în N puncte,
atunci
x*[n] ⎯DFT
⎯⎯ ⎯⎯ ⎯→ X *[(−k ) N ] = X *[ N − k ]
in N puncte (17)
i) Convoluţia circulară. Dacă x1 n şi X 1[k ] , x2 n şi X 2 [k ] , sunt perechi
DFT în N puncte, atunci
x1[n] N x2 [n] ⎯⎯⎯⎯⎯→
DFT in N puncte
X 1[ k ] X 2 [ k ] (18)
j) Proprietăţi de simetrie. Dacă
x[n] = x R [n] + jx I [n] , 0  n  N − 1 ,
X [k ] = X R [k ] + jX I [k ] , 0  k  N − 1 , (19)
unde indicii R şi I specifică partea reală, respectiv imaginară, atunci
N −1
X R [k ] =   xR [n]cos ( 2 kn / N ) + xI [n]sin ( 2 kn / N ) 
n =0
N −1
X I [k ] = −  xR [n]sin ( 2 kn / N ) − xI [n]cos ( 2 kn / N )  (20)
n =0
N −1
1
xR [ n ] =
N
  X
k =0
R [k ]cos ( 2 kn / N ) − X I [k ]sin ( 2 kn / N ) 

N −1
1
xI [ n ] =
N
  X
k =0
R [k ]sin ( 2 kn / N ) + X I [k ]cos ( 2 kn / N ) 

Cazuri particulare:
a) Secvenţe cu valori reale. Dacă x[n] este real,
X [ N − k ] = X *[k ] = X ( −k ) N  (21)
În consecinţă, | X [ N − k ] |=| X [k ] | şi X [ N − k ] = −X [k ] . Deoarece x I [n] = 0 ,
x R [n] = x[n] .
70
PNS Lucrarea 6 Transformata Fourier Discretă

a1) Secvenţe reale pare. Dacă x[n] este real şi par, adică
x[n] = x  N − n , 0  n  N − 1 , DFT se reduce la relaţia
N −1
X [k ] =  x[n]cos ( 2 kn / N ), 0  k  N − 1 (22)
n =0

care este reală şi pară. IDFT se reduce la


N −1
1
x[n] =
N
 X [k ]cos ( 2 kn / N ) ,
k =0
0  n  N −1 (23)

a2) Secvenţe reale impare. Dacă x[n] este real şi impar, adică
x[n] = − x  N − n , 0  n  N − 1 , DFT devine
N −1
X [k ] = − j  x[n]sin ( 2 kn / N ), 0  k  N − 1 (24)
n =0

care este pur imaginară şi impară. IDFT se reduce la forma


N −1
1
x[n] = j
N
 X [k ]sin ( 2 kn / N ) ,
k =0
0  n  N −1 (25)

b) Secvenţe pur imaginare. În acest caz x[n] = jx I [n]


N −1
X R [k ] =  xI [n]sin ( 2 kn / N ) (26)
n =0
N −1
X I [k ] =  xI [n]cos ( 2 kn / N ) (27)
n =0

Se observă că X R [k ] este funcţie pară şi X I [k ] impară. Dacă x I [n] este impar, atunci
X I [k ] = 0 şi X [k ] este real. Dacă x I [n] este par, atunci X R [k ] = 0 şi X [k ] este pur
imaginar.

2. Aplicaţii rezolvate

Exemplul 1. Proprietatea de periodicitate a transformatei Fourier

% Program P6_1
% Proprietatea de periodicitate a Transformatei Fourier
% Se calculeaza pulsatiile la care se evalueaza Transformata
Fourier
clear;
clc;
w = -4*pi:8*pi/511:4*pi;
x = [1 2 3 4 5 6 7 8 9];
X = freqz(x, 1, w);
% Afisarea raspunsului in frecventa
figure(1);
clf;
subplot(2,1,1)
plot(w/pi,real(X));grid

71
PNS Lucrarea 6 Transformata Fourier Discretă

title('Partea reala din X(e^{j\omega})')


xlabel('\omega /\pi');
ylabel('Amplitudine');
subplot(2,1,2)
plot(w/pi,imag(X));grid
title('Partea imaginara din X(e^{j\omega})')
xlabel('\omega /\pi');
ylabel('Amplitudine');
pause
subplot(2,1,1)
plot(w/pi,abs(X));grid
title('Spectrul de amplitudine |X(e^{j\omega})|')
xlabel('\omega /\pi');
ylabel('Amplitudine');
subplot(2,1,2)
plot(w/pi,angle(X));grid
title('Spectrul de faza arg[X(e^{j\omega})]')
xlabel('\omega /\pi');
ylabel('Faza in radiani');

Exemplul 2. Proprietatea de deplasare în timp a Transformatei Fourier


Programul P6_2 îşi propune să pună în evidenţă influenţa deplasării în timp a unei
secvenţe discrete asupra spectrului de modul şi de fază. Programul reprezintă grafic
spectrul de modul şi fază a unei secvenţe discrete (x) şi a secvenţei deplasate cu D=10
eşantioane la dreapta.

% Program P6_2
% Proprietatea de deplasare in timp a Transformatei Fourier
clear;
clc;
w = -pi:2*pi/255:pi; D = 10;
x1 = [1 2 3 4 5 6 7 8 9];
x2 = [zeros(1,D) x1]; %secventa x1 deplasata la dreapta cu D
esantioane
X1 = freqz(x1, 1, w);
X2 = freqz(x2, 1, w);
figure(1);
clf;
subplot(2,2,1)
plot(w/pi,abs(X1));grid
title('Modulul Transformatei Fourier a secventei date')
xlabel('\omega /\pi');
ylabel('Amplitudine');
subplot(2,2,2)
plot(w/pi,abs(X2));grid
title('Modulul Transformatei Fourier a secventei deplasate')
xlabel('\omega /\pi');
ylabel('Amplitudine');
subplot(2,2,3)
plot(w/pi,angle(X1));grid
title('Faza Transformatei Fourier a secventei date')
xlabel('\omega /\pi');
72
PNS Lucrarea 6 Transformata Fourier Discretă

ylabel('Faza');
subplot(2,2,4)
plot(w/pi,angle(X2));grid
title('Faza Transformatei Fourier a secventei deplasate')
xlabel('\omega /\pi');
ylabel('Faza');

Ce observaţi din punct de vedere al modulului Transformatei Fourier; dar din


perspectiva fazei? Cum explicaţi rezultatul obţinut?

Exemplul 3. Deplasarea circulară a unei secvenţe


Secvenţa discretă a este deplasată circular cu M=6 elemente. Se vor reprezenta
secvenţa iniţială a şi cea deplasată circular b.

% Program P6_3
% Reprezentarea unei secvente deplasate circular
clear;
clc;
M = 6;
a = [0 1 2 3 4 5 6 7 8 9];
b = circshift(a,[0 M]); % vezi help circshift
L = length(a);
n = 0:L-1;
figure(1);
clf;
subplot(2,1,1);
stem(n,a); axis([0,L,min(a),max(a)]); grid on;
title('Secventa initiala');
subplot(2,1,2);
stem(n,b);axis([0,L,min(a),max(a)]);
title(['Secventa obtinuta prin deplasare circulara cu
',num2str(M),' esantioane']);

Programele de mai jos ilustrează câteva proprietăţi ale DFT. Calculul DFT se face cu
funcţia fft.m

Exemplul 4. Proprietatea de deplasare (translaţie) circulară în timp a DFT


(relaţia (14))
Programul P6_4 reprezintă grafic modulul şi faza a DFT a unei secvenţe discrete x şi a
secvenţei x deplasată circular.

% Program P6_4
% Proprietatea de deplasare (translatie) circulara în timp a
DFT
clear;
clc;
x = [0 2 4 6 8 10 12 14 16];
N = length(x); n = 0:N-1;
x1 = circshift(x,[0 5]); %secventa x deplasata circular la
dreapta cu 5 esantioane
X = fft(x);
73
PNS Lucrarea 6 Transformata Fourier Discretă

X1 = fft(x1);
figure(1);
clf;
subplot(2,2,1)
stem(n,abs(X));grid
title('Modulul DFT a secventei initiale');
xlabel('k');
ylabel('Amplitudine');
subplot(2,2,2)
stem(n,abs(X1));grid
title('Modulul DFT a secventei deplasate circular');
xlabel('k');
ylabel('Amplitudine');
subplot(2,2,3)
stem(n,angle(X));grid
title('Faza DFT a secventei initiale');
xlabel('k');
ylabel('Faza');
subplot(2,2,4)
stem(n,angle(X1));grid
title('Faza DFT a secventei deplasate circular');
xlabel('k');
ylabel('Faza');
figure(2)
clf
subplot(2,1,1)
stem(n,angle(X1));grid
title('Faza DFT a secventei deplasate circular');
xlabel('k');
ylabel('Faza');
subplot(2,1,2)
stem(n,angle(X.*exp(-1i*2*pi*n*5/N)));grid
title('Faza DFT a secventei initiale, inmultita cu exp(-
j*2*\pi*k*5/9)');
xlabel('k');
ylabel('Faza');

Faceţi aceleaşi observaţii ca şi la Exemplul 2!

Exemplul 5. Proprietatea de deplasarea (translaţie) circulară în frecvenţă a DFT


(relaţia (15))
Programul P6_5 pune în evidenţă deplasarea circulară a DFT a unei secvenţe discrete
ca urmare a înmulţirii acesteia cu o secvenţă exponenţială complexă în timp e j 2 mk / N .

% Program P6_5
% Proprietatea de deplasare (translatie) circulara in
frecventa a DFT
clear;
clc;
x1 = [1 3 5 7 9 11 13 15 17];
X1 = fft(x1);
N=length(x1);
74
PNS Lucrarea 6 Transformata Fourier Discretă

k = 0:N-1;
m = 3;
x2 = exp(1i*2*pi*m*k/N).*x1; %secventa x1 modulata
X2 = fft(x2);
figure(1);
clf;
subplot(2,2,1)
stem(k,abs(X1));grid
title('Modulul TFD a secventei date')
xlabel('k');
ylabel('Amplitudine');
subplot(2,2,2)
stem(k,abs(X2));grid
title('Modulul TFD a secventei deplasate in frecventa')
xlabel('k');
ylabel('Amplitudine');
subplot(2,2,3)
stem(k,angle(X1));grid
title('Faza TFD a secventei date')
xlabel('k');
ylabel('Faza');
subplot(2,2,4)
stem(k,angle(X2));grid
title('Faza TFD a secventei deplasate in frecventa')
xlabel('k');
ylabel('Faza');

Faceţi aceleaşi observaţii ca şi la Exemplul 2!

Exemplul 6. Proprietatea de reflectare sau inversare circulară în timp a DFT


(relaţia (16))
Programul P6_6 reprezintă grafic modulul şi faza a DFT a unei secvenţe complexe
x n şi a secvenţei x reflectată circular, adică x1 n = x  −n .

% Program P6_6
% Proprietatea de reflectare sau inversare circulara in timp a
DFT
clear;
clc;
x = [1 -2 3 4 5 -6 7]+1i*[7 6 5 4 3 2 1];
N = length(x);
x1 = [x(1) x(N:-1:2)]; %secventa x inversata circular
X = fft(x);
X1 = fft(x1);
k=0:N-1;
figure(1);
clf;
subplot(2,2,1)
stem(k,abs(X));grid
title('Modulul DFT a secventei originale')
xlabel('k');
ylabel('Amplitudine');
75
PNS Lucrarea 6 Transformata Fourier Discretă

subplot(2,2,2)
stem(k,abs(X1));grid
title(' Modulul DFT a secventei reflectate')
xlabel('k');
ylabel('Amplitudine');
subplot(2,2,3)
stem(k,angle(X));grid
title('Faza DFT a secventei originale ')
xlabel('k');
ylabel('Faza');
subplot(2,2,4)
stem(k,angle(X1));grid
title('Faza DFT a secventei reflectate')
xlabel('k');
ylabel('Faza');

Următoarele două programe pun în evidenţă dualitatea timp-frecvenţă, şi anume:


- convoluţie în timp reprezintă produs în frecvenţă P6_7;
- produs în timp reprezintă convoluţie în frecvenţă P6_8.

Exemplul 7. Proprietatea de convoluţie în timp a Transformatei Fourier

% Program P6_7
% Proprietatea de convolutie in timp a Transformatei Fourier
(TF)
clear;
clc;
w = -pi:2*pi/255:pi;
x1 = [1 3 5 7 9 11 13 15 17];
x2 = [1 -2 3 -2 1];
y = conv(x1,x2);
X1 = freqz(x1, 1, w);
X2 = freqz(x2, 1, w);
Xp = X1.*X2;
Y = freqz(y,1,w);
figure(1);
clf;
subplot(2,2,1)
plot(w/pi,abs(Xp));grid
title('Modulul produsului dintre TF ale celor doua secvente')
xlabel('\omega /\pi');
ylabel('Amplitudine');
subplot(2,2,2)
plot(w/pi,abs(Y));grid
title('Modulul TF a convolutiei dintre cele doua secvente')
xlabel('\omega /\pi');
ylabel('Amplitudine');
subplot(2,2,3)
plot(w/pi,angle(Xp));grid
title('Faza produsului dintre TF ale celor doua secvente')
xlabel('\omega /\pi');
ylabel('Faza');
76
PNS Lucrarea 6 Transformata Fourier Discretă

subplot(2,2,4)
plot(w/pi,angle(Y));grid
title('Faza TF a convolutiei dintre cele doua secvente')
xlabel('\omega /\pi');
ylabel('Faza');

Exemplul 8. Proprietatea de înmulţire a doua secvenţe (sau de convolutie în


frecvenţă a transformatei Fourier)

% Program P6_8
% Proprietatea de modulatie (sau convolutie in frecventa a
Transformatei Fourier (TF))
clear;
clc;
w = -pi:2*pi/255:pi;
x1 = [1 3 5 7 9 11 13 15 17];
x2 = [1 -1 1 -1 1 -1 1 -1 1];
y = x1.*x2;
Y = freqz(y,1,w);
Xconv = zeros(1,length(w));
for ind_w = 1:length(w)
Xconv(ind_w) = 1/(2*pi)*integral(@(lambda)
(X_TFTD(x1,lambda).*X_TFTD(x2,w(ind_w)-lambda)),-pi,pi);
%vezi help integral
end
figure(1);
clf;
subplot(2,2,1)
plot(w/pi,abs(Y));grid
title('Modulul TF a produsului celor doua secvente')
xlabel('\omega /\pi');
ylabel('Amplitudine');
subplot(2,2,2)
plot(w/pi,abs(Xconv));grid
title('Modulul convolutiei TF a celor doua secvente')
xlabel('\omega /\pi');
ylabel('Amplitudine');
subplot(2,2,3)
plot(w/pi,angle(Y));grid
title('Faza TF a produsului celor doua secvente')
xlabel('\omega /\pi');
ylabel('Faza');
subplot(2,2,4)
plot(w/pi,angle(Xconv));grid
title('Faza convolutiei TF a celor doua secvente')
xlabel('\omega /\pi');
ylabel('Faza');

function X = X_TFTD(x,lambda)
N = length(x);
X = 0;
for n=0:N-1
X = X + x(n+1)*exp(-1i*lambda*n);
77
PNS Lucrarea 6 Transformata Fourier Discretă

end

Exemplul 9. Proprietatea de convoluţie circulară a DFT (relaţia (18))


Programul P6_9 pune în evidenţă faptul că se poate calcula convoluţia circulară a două
secvenţe cu ajutorul DFT-ului (Figura 1).

Figura 1

% Program P6_9
% Proprietatea de convolutie circulara a DFT
clear;
clc;
x1 = [1 2 3 4 5 6]; x2 = [1 -2 3 3 -2 1];
ycirconv = circonv(x1,x2,6);
disp('Rezultatul convolutiei circulare calculate direct =
');disp(ycirconv)
X1 = fft(x1); X2 = fft(x2);
ycfft = real(ifft(X1.*X2));
disp('Rezultatul convolutiei circulare cu ajutorul
DFT');disp(ycfft); %vezi disp.m

Exemplul 10. Obţinerea convoluţiei liniare cu ajutorul convoluţiei circulare


Se poate calcula convoluţia liniară a două secvenţe x1 şi x2 de lungime L1, respectiv
L2, cu ajutorul convoluţiei circulare. Dacă se adaugă zerouri la cele două secvenţe
până când acestea ajung la lungimea L1+L2-1, şi apoi se realizează convoluţia
circulară între secvenţele astfel formate rezultatul este identic cu cel obţinut prin
calculul direct al convoluţiei liniare a secvenţelor iniţiale. Programul P6_10 pune în
evidenţă acest aspect:

% Program P6_10
% Convolutia liniara cu ajutorul convolutiei circulare
clear;
x1 = [1 2 3 4 5 6];x2 = [2 2 0 1 1];
L1 = length(x1);L2 = length(x2);
x1e = [x1 zeros(1,L2-1)];
x2e = [x2 zeros(1,L1-1)];
X1 = fft(x1e); X2 = fft(x2e);
ylin_fft = real(ifft(X1.*X2));
disp('Convolutia liniara cu ajutorul DFT = ');disp(ylin_fft);
ylin_conv = conv(x1,x2);
disp('Convolutia liniara calculata direct =
');disp(ylin_conv); %vezi disp.m

78
PNS Lucrarea 6 Transformata Fourier Discretă

Exemplul 11. Relaţia dintre DFT a unei secvenţe reale periodice şi a părţii pare a
acesteia
Programul P6_11 reprezintă grafic partea reală şi cea imaginară a spectrului unei
1
secvenţe x[n] şi a spectrului părţii pare a acestei secvenţe: xe [n] = ( x[n] + x[−n]) .
2

% Program P6_11
% Relatia dintre DFT a unei secvente reale si a partii pare a
acesteia
clear;
clc;
x = [1 2 4 2 6 32 6 4 2 zeros(1,247)];
x1 = [x(1) x(256:-1:2)]; %secventa x inversata circular
xe = 0.5 *(x + x1);
XF = fft(x);
XEF = fft(xe);
clf;
N=length(x);
k = 0:N-1;
figure(1);
clf;
subplot(2,2,1);
stem(k,real(XF)); grid; axis([0 N-1 -80 80])
xlabel('k');ylabel('Amplitudine');
title('Re(DFT\{x[n]\})');
subplot(2,2,2);
stem(k,imag(XF)); grid; axis([0 N-1 -80 80])
xlabel('k');ylabel('Amplitudine');
title('Im(DFT\{x[n]\})');
subplot(2,2,3);
stem(k,real(XEF)); grid; axis([0 N-1 -80 80])
xlabel('k');ylabel('Amplitudine');
title('Re(DFT\{x_{e}[n]\})');
subplot(2,2,4);
stem(k,imag(XEF)); grid; axis([0 N-1 -80 80])
xlabel('k');ylabel('Amplitudine');
title('Im(DFT\{x_{e}[n]\})');

Exemplul 12. Relaţia de echivalenţă a energiilor (relaţia lui Parseval)


N −1
1 N −1
Pentru o secvenţă x[n] se demonstrează că  x  n =  X  k  .
2 2

n =0 N k =0
Programul P6_12 pune în evidenţă această relaţie.

% Program P6_12
% Echivalenta energiilor (relatia lui Parseval)
clear;
clc;
x = [(1:128) (128:-1:1)];
XF = fft(x);
disp('Energia semnalului in domeniul timp:');
E1 = sum(x.*x)

79
PNS Lucrarea 6 Transformata Fourier Discretă

disp('Energia semnalului in domeniul frecventa:');


E2 = round(sum(abs(XF).^2)/256)

3. Aplicaţii propuse

1. Fie două secvenţe:


n − 1 n = 0,7 n 2 − 1 n = 0,3
x= y=
0 în rest 0 în rest
Scrieţi un script Matlab care să calculeze:
a) convoluţia liniară a celor două secvenţe;
b) convoluţia circulară în 8 puncte a celor două secvenţe, în două moduri:
- cu ajutorul funcţiei circonv;
- cu ajutorul funcţiilor fft şi ifft. Comparaţi rezultatele.
c) convoluţia circulară într-un număr minim de puncte în care aceasta devine
egală cu cea liniară, în cele două moduri expuse la punctul b). Comparaţi cu
rezultatul de la punctul a).

2. Scrieţi un program care să pună în evidenţă relaţia (17) din lucrare. În acest
sens se va genera o secvenţă complexă x[n] , şi se vor parcurge următorii paşi:
- se va conjuga secvenţa dată şi se va calcula transformata Fourier Discretă
(vezi fft) a secvenţei rezultate;
- se va calcula transformata Fourier Discretă a secvenţei date, X  k  , după care
se va conjuga şi reflecta rezultatul, X *[ N − k ] , unde N este numărul de puncte în care
se realizează DFT-ul.

3. Generaţi şi reprezentaţi grafic următoarele semnale discrete:


- x[n] = e− an n = 0,99; a = 0.1
- h[n] = cos(2 fn) n = 0,99; f = 1/ 4
- y[n] = x[n]  h[n] n = 0,99 .
Calculaţi şi reprezentaţi modulul Transformatei Fourier Discrete pentru
secvenţele x[n] şi y[n] .

4. Calculaţi şi reprezentaţi grafic partea reală şi cea imaginară a spectrului


secvenţei
x = [1 2 4 2 6 32 6 4 2 zeros(1,247)];
şi a părţii impare a acesteia:
1
xo [n] = ( x[ n] − x[ − n]) (vezi Exemplul 11).
2
Justificați analitic (pe hârtie) rezultatul obținut.

5. Calculaţi şi reprezentaţi grafic partea reală şi cea imaginară a spectrului


secvenţei pur imaginare
x = j*[1 2 4 2 6 32 6 4 2 zeros(1,247)];
şi a părţii pare a acesteia xe [n] . Justificați apoi pe hârtie rezultatul obținut.

80
PNS Lucrarea 6 Transformata Fourier Discretă

Indicație: Scrieți semnalul x n în forma x n = j  xI n și exprimați


transformata Fourier discretă a lui x n în funcție de transformata Fourier discretă a
lui xI  n  .

6. Realizați același lucru ca la exercițiul 5 pentru partea impară xo [n] a lui


x[n] .

7. Verificaţi cu ajutorul unui program MATLAB relaţia lui Parseval în cazul


secvenţei:
n, pentru n = 0,7
x  n = 
 0, în rest

81

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