Sunteți pe pagina 1din 17

SISTEME DE COMUNICAŢII PENTRU TRANSPORTURI

Lucrarea de laborator nr. 2


Analiza Fourier a semnalelor aperiodice

1. Obiectivul lucrării

În această lucrare se studiază analiza semnalelor aperiodice utilizând


transformarea integrală Fourier.

2. Introducere teoretică
2.1. Transformarea integrală Fourier

La semnale aperiodice, se aplică transformarea Fourier. Fie x(t ) un


semnal aperiodic. Transformata sa Fourier este o funcţie X ( f ) de variabila
f. Dacă t semnifică timp, atunci f semnifică frecvenţă. Prin definiţie,

F  x (t )   X ( f )   x(t )e
2 ft
dt. 1


Transformata Fourier inversă este dată de



F 1
 X ( f )  x(t )   X ( f )e j 2 ft dt. 2


Dacă x(t ) este un semnal real, funcţia X ( f ) satisface simetria Hermite:


X ( f )  X *( f ). 3

Cele mai importante proprietăţi ale transformării integrale Fourier


sunt următoarele:
1. Liniaritate: Transformata Fourier a combinaţiei liniare a două sau mai
multe semnale este combinaţia liniară a transformatelor Fourier
corespunzătoare:
F   x1 (t )   x2 (t )    F  x1 (t )   F  x2 (t )  . 4

2. Dualitate: Dacă X ( f )  F  x(t )  , atunci

F  X ( f )   x( f ). 5
2

3. Deplasare în domeniul timp: O deplasare în domeniul timp are drept


rezultat o deplasare de fază în domeniul frecvenţă. Dacă X ( f )  F  x(t )  ,
atunci
F  x(t  t0 )   e2 ft0 X ( f ). 6

4. Scalare: O dilatare în domeniul timp are drept rezultat o contracţie în


domeniul frecvenţă şi vice versa. Dacă X ( f )  F  x(t )  , atunci

1  f 
F  x (at )   X   , a  0. 7
|a|  a 

5. Modulaţie: Înmulţirea cu o exponenţială în domeniul timp corespunde


unei deplasări a frecventei în domeniul frecvenţă:
 F  e j 2 f0t x(t )   X  f  f 0 

 1 8
 F  x(t ) cos  2 f 0t     X ( f  f 0 )  X ( f  f 0 )  .
 2

6. Derivare: Derivarea în domeniul timp corespunde înmulţirii cu j 2 f în


domeniul frecvenţă. Dacă X ( f )  F  x(t )  , atunci

F  x '(t )   j 2 fX ( f ) 9

 dn 
F  n x(t )   ( j 2 f ) n X ( f ). 10
 dt 

7. Convoluţie: Convoluţia în domeniul timp este echivalentă cu înmulţirea


în domeniul frecvenţă şi vice versa. Dacă X ( f )  F  x(t ) şi
Y ( f )  F  y (t ) , atunci

F  x (t )  y (t )   X ( f )Y ( f ) 11

F  x(t ) y (t )   X ( f )Y ( f ). 12
3

8. Relaţia lui Parseval: Dacă X ( f )  F  x(t ) şi Y ( f )  F  y (t ) , atunci


 

 x(t ) y *(t )dt   X ( f )Y *( f )df .


 
13

9. Relaţia lui Rayleigh:


 

 | x (t ) | d t   | X ( f ) | d f .
2 2
14
 

Prin definiţie, funcţia signum este


 1, t  0

sgn(t )   0, t  0 15
1, t  0.

Notăm cu  (t ) semnalul impuls Dirac. Fie un semnal periodic x(t ) de


perioadă T0 şi coeficienţi ai seriei Fourier notaţi cu xn :

x(t )  xe
n 
n
j 2 nt / T0
.

Transformata Fourier a lui x(t ) se obţine prin:


X ( f )  F  x(t ) 
  
 F   xn e j 2 nt / T0  
 n  

16
  x F e
n 
n
j 2 nt / T0
 


 n
  x   f Tn .
n   0 

Aşadar, transformata Fourier a unui semnal periodic constă din impulsuri în


multipli ai frecvenţei fundamentale a semnalului original, adică, în
armonicile acestuia.
4

Definim semnalul trunchiat xT0 (t ) astfel:

 T T
 x(t ),  0  t  0
xT0 (t )   2 2 17
 0, in rest

Putem exprima coeficienţii seriei Fourier în funcţie de transformata Fourier


a semnalului trunchiat astfel:
1 n
xn  X T0   . 18
T0  T0 

Transformata Fourier a unui semnal se numeşte spectrul semnalului.


În general, spectrul unui semnal este o funcţie complexă X ( f ) . De aceea,
de obicei, pentru a reprezenta grafic spectrul, realizăm două grafice: spectrul
de amplitudine | X ( f ) | şi spectrul de fază X ( f ).

2.2. Teorema eşantionării

Teorema eşantionării formează baza pentru relaţia dintre semnalele în timp


continuu şi semnalele în timp discret. Ea spune că un semnal de bandă
limitată – adică, un semnal a cărui transformată Fourier are valori
neglijabile pentru | f |  B pentru un B oarecare – poate fi descris complet
în funcţie de valorile eşantioanelor sale luate la intervale Te dacă Te  1/ 2 B.
Dacă eşantionarea se face la intervale Te  1/ 2 B , valoare denumită interval
Nyquist (sau cadenţă Nyquist), semnalul x(t ) poate fi reconstruit din
valorile eşantioanelor sale  x[ n]  x( nTe ) n  astfel:


x(t )   x(nT )sin c(2 B(t  nT )).
n 
e e 19

Forma de undă eşantionată x (t ) se defineşte prin expresia



x (t )   x(nT ) (t  nT ).
n 
e e 20

Aceasta are transformata Fourier dată de


5

1 
 n
X ( f ) 
Te
 X  f T  pentru orice f 21
n   e 

În cazul particular în care |f| < B, avem că



1
X ( f ) 
Te
 X ( f ).
n 
22

De aceea, trecând semnalul eşantionat printr-un filtru trece jos cu lărgime de


bandă de B şi un câştig de Te în banda de trecere, putem reproduce semnalul
original.
Transformata Fourier discretă (TFD) a şirului în timp discret x[n] este prin
definiţie

Xd ( f )   x[n]e
n 
 j 2 fnTe
. 23

Comparând ecuaţiile (22) şi (23), conchidem că


X ( f )  Te X d ( f ) pentru | f | B 24
ceea ce ne dă relaţia dintre transformata Fourier a unui semnal analogic şi
transformata Fourier discretă a semnalului eşantionat corespunzător.
Calculul numeric al transformatei Fourier discrete se face cu ajutorul unui
algoritm denumit transformata Fourier rapidă (TFR). În acest algoritm,
semnalul este reprezentat printr-un şir de N eşantioane ale semnalului x(t )
luate la intervale egale cu Te . Rezultatul este un şir de N eşantioane ale lui
X d ( f ) din intervalul de frecvenţă  0, f e  , unde f e  1/ Te  2 B este
frecvenţa Nyquist. Valoarea f  f e / N a diferenţei dintre frecvenţele a
două eşantioane succesive ne dă rezoluţia de frecvenţă a transformatei
Fourier ce rezultă astfel. Algoritmul TFR este eficient în ce priveşte calculul
dacă lungimea şirului de intrare, N, este o putere a lui doi. Dacă nu este o
putere a lui doi, putem adăuga zerouri atât cât este necesar pentru a realiza
această condiţie. Deoarece algoritmul TFR ne dă TFD a semnalului
eşantionat, pentru a obţine transformata Fourier a semnalului analogic,
trebuie să folosim ecuaţia (24). Aceasta înseamnă că, după ce calculăm
TFR, trebuie să o înmulţim cu Te sau, echivalent cu aceasta, să o împărţim
la f e pentru a obţine transformata Fourier a semnalului analogic original.
Funcţia MATLAB fftseq.m, dată mai jos, acceptă drept intrare un şir de
6

timp m, intervalul de eşantionare te şi rezoluţia de frecvenţă df cerută şi


returnează un şir a cărui lungime este o putere a lui 2, TFR a acestui şir M şi
rezoluţia de frecvenţă ce rezultă.

function[M,m,df]=fftseq(m,ts,df)
% [M,m,df]=fftseq(m,ts,df)
% [M,m,df]=fftseq(m,ts)
%FFTSEQ generează M, TFR a şirului m.
% Şirul este completat cu zerouri pentru a satisface rezoluţia
de
% frecvenţă cerută df. Intervalul de eşantionare este ts. Ieşirea
% df este rezoluţia de frecvenţă finală. Ieşirea m este versiunea
% completată cu zerouri a intrării m. M este TFR.
fs=1/ts;
if nargin == 2
n1=0;
else
n1=fs/df;
end
n2=length(m);
n=2^(max(nextpow2(n1),nextpow2(n2)));
M=fft(m,n);
M=[m,zeros(1,n–n2)];
Df=fs/n;

2.3. Analiza în domeniul frecvenţă a sistemelor liniare


invariabile în timp (LIT)

Ieşirea unui sistem LIT cu răspuns la impuls h(t ) dacă semnalul de intrare
este x(t ) este dată de integrala de convoluţie
7

y (t )  x(t )  h(t ) . 19


Aplicând teorema convoluţiei, obţinem
Y ( f )  X ( f )H ( f ) 20
unde

H ( f )  F  h( f )    h(t )e
 j 2 ft
dt 21


este funcţia de transfer a sistemului. Ecuaţia (20) se poate scrie şi în forma


 Y( f )  X ( f ) H( f )
 22
Y ( f )  X ( f )  H ( f ).
Ecuaţiile (22) arată relaţia dintre spectrele de amplitudine şi de fază ale
intrării şi ieşirii.

3. Probleme rezolvate cu MATLAB

Problema 1
Transformatele Fourier

Să se reprezinte grafic spectrele de amplitudine şi de fază ale semnalelor


x1 (t ) şi x2 (t ) arătate în figura 1.

x1(t) x2(t)

1 1

-1 1 t 1 2 t

Figura 1. Semnalele x1 (t ) şi x2 (t ) .
8

Rezolvare

Cele două semnale sunt similare, ele diferind printr-o deplasare în timp. De
aceea, ne aşteptăm ca ele să aibă acelaşi spectru de amplitudine. Acesta este
reprezentat grafic în figura 2.

Figura 2. Spectrul de amplitudine comun al semnalelor x1 (t ) şi x2 (t ) .

Spectrele de fază, reprezentate în acelaşi sistem de coordonate, sunt arătate


în figura 3.
9

Figura 3. Spectrele de fază ale semnalelor x1 (t ) şi x2 (t ) .


Programul MATLAB pentru această problemă este dat mai jos.
% program MATLAB pentru Problema 1.
df=0.01;
fs=10;
ts=1/fs;
t=[-5:ts:5];
x1=zeros(size(t));
x1(41:51)=t(41:51)+1;
x1(52:61)=ones(size(x1(52:61)));
x2=zeros(size(t));
x2(51:71)=x1(41:61);
[X1,x11,df1]=fftseq(x1,ts,df);
[X2,x21,df2]=fftseq(x2,ts,df);
X11=X1/fs;
X21=X2/fs;
f=[0:df1:df1*(length(x11)-1)]-fs/2;
plot(f,fftshift(abs(X11)));
figure;
plot(f(500:525),fftshift(angle(X11(500:525))),f(500:525),fftshift(angle(X21(500:52
5))),'--');

Problema 2
Deducţia analitică şi numerică a transformatei Fourier

Fie semnalul x(t ) arătat în figura 4 şi descris astfel:


 t  2, 2  t  1
 1, 1  t  1

x(t )   23
t  2, 1  t  2
 0, in rest

x(t)

-2 -1 1 2 t
10

Figura 4. Semnalul x(t ) .


1. Să se determine transformata Fourier a lui x(t ) analitic şi să se reprezinte
grafic spectrul lui x(t ) .
2. Utilizând MATLAB, să se determine transformata fourier numeric şi să
se reprezinte grafic rezultatul.

Rezolvare:
1. Semnalul x(t ) se poate scrie
t
x(t )  2     (t ) . 24
2
De aceea,
X ( f )  4sin c 2 (2 f )  sin c 2 ( f ) . 25
Am utilizat liniaritatea, scalarea şi faptul că transformata fourier a lui  (t )
este sin c 2 ( f ). Evident, transformata Fourier este reală. Spectrul de amplitu-
dine este arătat în figura 5.

Figura 5. Spectrul de amplitudine al lui x(t ) dedus analitic.


11

2. Pentru a determina transformata Fourier utilizând MATLAB, estimăm


mai întâi aproximativ lărgimea de bandă a semnalului. Deoarece semnalul
este relativ neted, lărgimea sa de bandă este proporţională cu inversul
duratei de timp a semnalului. Durata de timp a semnalului este egală cu 4.
Pentru a fi siguri, luăm lărgimea de bandă de 10 ori mai mare decât inversul
duratei de timp:
1
LB  10   2,5 . 26
4
De aceea, frecvenţa Nyquist este dublul lărgimii de bandă, adică 5. Prin
urmare, intervalul de eşantionare este Te  1/ f e  0, 2. Considerăm semnalul
pe intervalul [–4, 4] şi îl eşantionăm la intervale Te . Utilizăm apoi un
program MATLAB simplu ce foloseşte funcţia fftseq.m pentru a deduce
TFR numeric. Am ales rezoluţia de frecvenţă cerută egală cu 0,01 Hz, astfel
încât rezoluţia de frecvenţă rezultată returnată de fftseq.m este 0,0098 Hz,
care satisface cerinţele problemei. Vectorul de semnal x, care are lungimea
de 41, este completat cu zerouri până la o lungime de 256 pentru a satisface
cerinţa de rezoluţie de frecvenţă şi de a face o putere a lui 2 pentru eficienţa
calculului. O reprezentare grafică a spectrului de amplitudine al
transformatei Fourier este dată în figura 6.

Figura 6. Spectrul de amplitudine al lui x(t ) dedus numeric.


12

Programul MATLAB pentru Problema 2 este dat mai jos.


% Programul MATLAB pentru Problema 2.
echo on
ts=0.2; % stabileşte parametrii
fs=1/ts;
df=0.01;
x=[zeros(1,10),[0:0.2:1],ones(1,9),[1:–0.2:0],zeros(1,10)];
[X,x,df1]=fftseq(x,ts,df); % deduce TFR
X1=X/fs; % scalare
f=[0:df1:df1*(length(x)–1)]–fs/2; % vector frecvenţă pentru TFR
f1=[–2.5:0.001:2.5]; % vector frecvenţă pentru metoda
analitică
y=4*(sinc(2*f1)).^2–(sinc(f1)).^2; % transformata Fourier exactă
pause % apasă orice tastă pentru a vedea o reprezentare grafică a transformatei
Fourier deduse analitic.
clf
subplot(2,1,1);
plot(f1,abs(y));
xlabel('Frecventa');
title('Spectrul de amplitudine al lui x(t) dedus analitic');
pause % apasă o tastă pentru a vedea o reprezentare grafică a transformatei
Fourier deduse numeric.
subplot(2,1,2);
plot(f,fftshift(abs(X1)));
xlabel('Frecventa');
title('Spectrul de amplitudine al lui x(t) dedus numeric');
13

Problema 3
Analiza unui sistem LIT în domeniul frecvenţă

Semnalul x(t ) reprezentat grafic în figura 7 constă în câteva segmente de


dreaptă şi un segment sinusoidal.
1. Să se determine TFR a acestui semnal şi să se reprezinte grafic.
2. Dacă se trece semnalul printr-un filtru trece jos ideal cu lărgimea de
bandă de 1,5 Hz, să se găsească ieşirea filtrului şi să se reprezinte grafic.
3. Dacă se trece semnalul printr-un filtru al cărui răspuns la impuls este dat
de
 t, 0  t  1

h(t )  1, 1  t  2 . 27
0, in rest

să se reprezinte grafic ieşirea filtrului.

x(t)

-2 1 3 4 t

Figura 7. Semnalul x(t ) .

Rezolvare:
Deducem mai întâi o expresie pentru partea sinusoidală a semnalului.
Aceasta este o sinusoidă a cărei semiperioadă este egală cu 2. De aceea, ea
14

1
are o frecvenţă de f 0   0, 25 Hz. Semnalul are o amplitudine de 2 şi este
4
ridicat cu 2, astfel încât expresia sa generală este 2 cos(2  0, 25t   )  2 =
2 cos(0,5 t   )  2. Valoarea fazei θ se deduce folosind condiţia de
frontieră
2  2 cos(0,5 t   ) |t  2  0 28
de unde θ = 2. De aceea, semnalul se poate scrie
 t  2, 2  t  0
 1, 0  t 1

x(t )  2  2 cos(0,5 t ) 1  t  3 29
 1, 3t  4

 0, in rest
Având o descriere completă a semnalului, putem proceda la rezolvare.
1. Lărgimea de bandă a semnalului a fost aleasă egală cu 5 Hz. Rezoluţia de
frecvenţă cerută este de 0,01 Hz. Reprezentarea grafică a spectrului de
amplitudine al semnalului este dată în figura 8.

Figura 8. Spectrul de amplitudine al semnalului.


15

2. Frecvenţa de eşantionare este f e = 5 Hz. Fiindcă lărgimea de bandă a


filtrului trece jos este 1,5 Hz, funcţia sa de transfer este dată de
1, 0  f  1,5

H ( f )  0, 1,5  f  3,5 30
1, 3,5  f  5.

Aceasta se înmulţeşte cu X ( f ) pentru a genera Y ( f ) , transformata Fourier
a ieşirii. Utilizând această funcţie de transfer, obţinem ieşirea arătată în
figura 9.

Figura 9. Ieşirea filtrului trece jos.

3. Obţinem ieşirea filtrului printr-o simplă convoluţie. Rezultatul este arătat


în figura 10.

Programul MATLAB pentru această problemă este dat mai jos.


% Programul MATLAB pentru Problema 3.
echo on
16

df=0.01; % rezoluţia de frecvenţă


fs=5; % frecvenţa de eşantionare
ts=1/fs; % intervalul de eşantionare
t=[–5:ts:5]; % vectorul timp
x=zeros(1,length(t)); % iniţializarea semnalului de intrare
x(16:26)=t(16:26)+2;
x(27:31)=2*ones(1,5);
x(32:41)=2+2*cos(0.5*pi*t(32:41));
x(42:46)=2*ones(1,5);
% Partea I
[X,x1,df1]=fftseq(x,ts,df); % spectrul intrării
f=[0:df1:df1*(length(x1)–1)]–fs/2; % vectorul frecvenţă
X1=X/fs; % scalare
% Partea a II-a
% funcţia de transfer a filtrului
H=[ones(1,ceil(1.5/df1)),zeros(1,length(X)–2*ceil(1.5/df1)),ones(1,ceil(1.5/df1))];
Y=X.*H; % spectrul ieşirii
y1=ifft(Y); % ieşirea filtrului
% Partea a III-a
% răspunsul la impuls al sistemului LIT
h=[zeros(1,ceil(5/ts)),t(ceil(5/ts)+1:ceil(6/ts)),ones(1,ceil(7/ts)–
ceil(6/ts)),zeros(1,51–ceil(7/ts))];
y2=conv(h,x); % ieşirea sistemului LIT
pause % apasă orice tastă pentru a vedea spectrul intrării.
plot(f,fftshift(abs(X1)));
pause % apasă orice tastă pentru a vedea ieşirea filtrului trece jos
plot(t,abs(y1(1:length(t))));
pause % apasă orice tastă pentru a vedea ieşirea sistemului LIT
plot([–10:ts:10],y2);
17

Figura 10. Ieşirea sistemului LIT.

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