Sunteți pe pagina 1din 83

Curs 5–8.

Analiză Fourier
Tehnici de calcul în automatică și informatică

A. Țiclea, F. Stoican

Universitatea Politehnica Bucuresti - AIS

3 noiembrie 2020
Cuprins

1 Serii Fourier

2 Transformata Fourier

3 Extindere pentru semnale discrete

4 Studiu de caz: calculul FFT

5 Studiu de caz: modularea unui semnal radio

6 Anexe
Cuprins

1 Serii Fourier
Introducere
Forma trigonometrică
Forma exponențială
Proprietăți și observații

2 Transformata Fourier

3 Extindere pentru semnale discrete

4 Studiu de caz: calculul FFT

5 Studiu de caz: modularea unui semnal radio

6 Anexe
Serii Fourier Introducere

Introducere

Ne reamintim, din cursurile 3, 4, că:


un semnal f(t) poate fi proiectat pe o bază ortogonală de semnale:

p(t) = αi vi (t),
i

pe măsură ce numărul semnalelor din bază crește, precizia proiecției crește:

∥f(t) − p(t)∥ → 0.

Alegerea clasică: descompunerea unui semnal în serie Fourier.

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 1 / 68


Serii Fourier Forma trigonometrică

Forma trigonometrică
Considerăm baza de semnale trigonometrice:
1, cos ω0 t, cos 2ω0 t, . . . , cos nω0 t, . . . , sin ω0 t, sin 2ω0 t, . . . , sin nω0 t, . . .
O sinusoidă de frecvență nω0 este numită armonica de ordin n a sinusoidei de frecvență

fundamentală ω0 . Perioada fundamentală este definită ca T0 ≜ .
ω0
Oricare două sinusoide diferite sunt ortogonale pe orice interval de lungime T0 :

∫ 0, n ̸= m,
cos(mω0 t) cos(nω0 t)dt = T0
T0  , m = n ̸= 0,
2

∫ 0, n ̸= m,
sin(mω0 t) sin(nω0 t)dt = T0
T0  , m = n ̸= 0,
∫ 2
cos(mω0 t) sin(nω0 t)dt = 0, ∀m, n.
T0

În aceste condiții putem scrie orice semnal f(t) ca pe o sumă de sinusoide pe orice
interval de durată T0 :
∑∞
f(t) = a0 + an cos nω0 t + bn sin nω0 t, ∀t1 ≤ t ≤ t1 + T0 .
n=1
A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 2 / 68
Serii Fourier Forma trigonometrică

Coeficienții formei trigonometrice

Coeficienții seriei Fourier trigonometrice se scriu astfel:


∫ ∫
T
f(t)dt 1
a0 = ∫0 = f(t)dt,
T0
1dt T0 T0
∫ ∫
T
f(t) cos(nω0 t)dt 2
an = ∫0 = f(t) cos(nω0 t)dt, ∀n ≥ 1
T
cos2 (nω0 t)dt T0 T0
∫ 0 ∫
T
f(t) sin(nω0 t)dt 2
bn = ∫0 = f(t) sin(nω0 t)dt, ∀n ≥ 1.
T0
sin2 (nω0 t)dt T0 T0

Dacă funcţia este simetrică (pară/impară), obținem formele particulare ale coeficienților:
pentru o funcție pară, f(t) = f(−t), rezultă că bn = 0;

pentru o funcție impară, f(t) = −f(−t), rezultă că a0 = an = 0.

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 3 / 68


Serii Fourier Forma trigonometrică

Exemplu

Funcțiile cu care aproximăm pe




1, t ∈ [0, π)
1, cos t, sin t, cos 2t, sin 2t, . . . , cos nt, sin nt, . . .
f(t) = −1, t ∈ [π, 2π)


formează un sistem ortogonal pe orice interval de 0, în rest,
lungime 2π.

1

i≥1 αi vi

f(t) = 4
π
· sin t + 4

· sin 3t + 4

· sin 5t
4
+ 7π · sin 7t + 4

· sin 9t 2 4 6

−1
f(t)

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 4 / 68


Serii Fourier Forma trigonometrică

Exemplu

Funcțiile cu care aproximăm pe




1, t ∈ [0, π)
1, cos t, sin t, cos 2t, sin 2t, . . . , cos nt, sin nt, . . .
f(t) = −1, t ∈ [π, 2π)


formează un sistem ortogonal pe orice interval de 0, în rest,
lungime 2π.

f(t) = 4
π
· sin t + 4

· sin 3t + 4

· sin 5t
4
+ 7π · sin 7t + 4

· sin 9t
2 4 6

−1

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 4 / 68


Serii Fourier Forma trigonometrică

Forma compactă

Pentru armonicele diferite de zero apar de fiecare dată doi termeni („cos” şi „sin”).
Reprezentarea compactă presupune utilizarea unui singur semnal-bază pentru o anumită
frecvență. Cei doi termeni corespunzând aceleiași armonice de ordin n se pot scrie
compact folosind următoarea identitate trigonometrică:

an cos(nω0 t) + bn sin(nω0 t) = Cn cos(nω0 t + θn ),

unde

Cn = a2n + b2n ,
( )
−bn
θn = arctan , n ≥ 1.
an

Putem descompune un semnal f(t) în reprezentare trigonometrică compactă astfel:




f(t) = C0 + Cn cos(nω0 t + θn ), ∀t1 ≤ t ≤ t1 + T0 .
n=1

Pentru consistență am definit coeficientul C0 ca fiind C0 = a0 .

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 5 / 68


Serii Fourier Forma exponențială

Forma exponențială
O reprezentare alternativă este cea exponențială în care baza semnalelor fundamentale
este dată de exponențialele
ejnω0 t , unde n = 0, ±1, ±2, . . .
Oricare două semnale exponențiale sunt ortogonale:
∫ ∫ {
jmω0 t jnω0 t j(m−n)ω0 t 0, m ̸= n,
e e dt = e dt =
T0 T0 T 0 , m = n.
Similar cu reprezentările precedente descompunem semnalul f(t) în reprezentare
exponențială astfel:


f(t) = Dn ejnω0 t , ∀t1 ≤ t ≤ t1 + T0 ,
n=−∞

cu coeficienții: ∫
1
Dn = f(t)e−jnω0 t dt.
T0 T0

an
dacă f(t) este pară atunci Dn = , pentru oricare n;
2
jbn
dacă f(t) este impară atunci Dn = −(−1)n , pentru oricare n.
2
A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 6 / 68
Serii Fourier Forma exponențială

Echivalențe între reprezentări


O sinusoidă de o anumită armonică se poate reprezenta ca sumă sau diferență de
exponențiale cu aceeași armonică (formula lui Euler):
1 ( jnω0 t ) 1 ( jnω0 t )
cos nω0 t = e + e−jnω0 t , cos nω0 t = e − e−jnω0 t .
2 2j
Ajungem la următoarele echivalențe:
între coeficienții an , bn (ai reprezentării trigonometrice) și Dn (ai reprezentării
exponențiale):
an ( jnω0 t ) b ( )
+ e−jnω0 t + ejnω0 t − e−jnω0 t
n
an cos nω0 t + bn sin nω0 t = e
2 2j
an − jbn jnω0 t an + jbn j(−n)ω0 t
= e + e .
| {z 2 } | {z2 }
Dn D−n

între coeficienții Cn (ai reprezentării compacte) și Dn :


Cn [ j(nω0 t+θn ) ]
Cn cos (nω0 t + θn ) = e + e−j(nω0 t+θn )
(2 ) ( )
Cn jθn jnω0 t Cn −jθn j(−n)ω0 t
= e e + e e = Dn ejnω0 t + D−n ej(−n)ω0 t .
2 2
| {z } | {z }
Dn D−n

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 7 / 68


Serii Fourier Proprietăți și observații

Existența
Pentru ca seria Fourier care caracterizează un semnal să fie convergentă, următoarele
două condiții trebuie îndeplinite:
Condiții Dirichlet slabe:
coeficienții sunt finiți, iar condiția suficientă este ca funcția f(t) să fie integrabilă în
modul de-a lungul unei perioade:

|f(t)|dt < ∞.
T0

Nu este garantat ca seria să conveargă uniform. Pot exista o infinitate de maxime și de


minime într-o perioadă și astfel, rata de convergență poate să fie lentă.
Condiții Dirichlet tari:
funcția are un număr finit de minime și maxime de-a lungul unei perioade și un
număr finit de discontinuități de-a lungul unei perioade.
Seria converge uniform cu o rată de convergență rapidă.
Orice semnal „fizic”, obținut și măsurabil în realitate, îndeplineşte aceste condiții și atunci
admite întotdeauna o descompunere în serie Fourier.

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 8 / 68


Serii Fourier Proprietăți și observații

Continunitate și periodicitate
Continuitate:
Seria Fourier este continuă chiar dacă semnalul aproximat are discontinuități finite la
un anumit moment de timp t: f(t− ) ̸= f(t+ ).
Seria Fourier are valoarea medie (între limitele la stânga și dreapta) în punctul de
discontinuitate:
∑∞
f(t− ) + f(t+ )
Dn ejnω0 t = .
n=−∞
2

Periodicitate:
Considerăm baza de semnale generate de armonica fundamentală, ω0 care este
asociată perioadei fundamentale T0 (ω0 = 2π/T0 ). Orice semnal descris de această
bază este periodic cu perioada T0 :


f(t + T0 ) = C0 + Cn cos (nω0 (t + T0 ) + θn ) =
n=1
∑∞
= C0 + Cn cos (nω0 t + θn ) = f(t).
n=1

Dacă funcția f(t) este periodică cu perioada T0 atunci seria Fourier o descrie pentru orice
valoare a lui t (nu numai de-a lungul unui interval finit de lungime T0 ).
A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 9 / 68
Serii Fourier Proprietăți și observații

Teorema lui Parseval

Folosind proprietatea de ortogonalitate a semnalelor trigonometrice și exponențiale putem


formula următoarea teoremă de conservare a energiei.

Teoremă (Teorema lui Parseval)


Puterea unui semnal periodic este egală cu suma puterilor semnalelor sinusoidale din seria
Fourier care îl caracterizează:
(i) în reprezentare trigonometrică:


Pf = C20 + C2n ;
n=1

(ii) în reprezentare exponențială:




Pf = |Dn |2 .
n=−∞

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 10 / 68


Serii Fourier Proprietăți și observații

Spectrul asociat unei serii Fourier

În caracterizarea compactă, un semnal este descris de:

f(t) = C0 + Cn cos(nω0 t + θn ),

unde
Cn denotă amplitudinea sinusoidelor componente;

θn denotă defazajul sinusoidelor componente.


t
Exemplu: f(t) = e− 2 pe [0, π]:
f(t)
C0 = 0.504,
( ) 1 e− 2
t
2
Cn = 0.504 √ , −2π −π 0 π 2π t
1 + 16n2
θn = − tan−1 (4n). f(t)

−2π −π 0 π 2π t

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 11 / 68


Serii Fourier Proprietăți și observații

Spectrul asociat unei serii Fourier

În caracterizarea compactă, un semnal este descris de:

f(t) = C0 + Cn cos(nω0 t + θn ),

unde
Cn denotă amplitudinea sinusoidelor componente;

θn denotă defazajul sinusoidelor componente.


t
Exemplu: f(t) = e− 2 pe [0, π]:
Cn
C0 = 0.504,
( )
2
Cn = 0.504 √ , ω
1 + 16n2 0 1 2 3 4
θn = − tan−1 (4n). 1 2 3 4
ω

θn

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 11 / 68


Serii Fourier Proprietăți și observații

Analiza spectrului Fourier

semnalul f(t) poate fi recreat din informația stocată în spectrul său (amplitudine și
fază);

rata de descreștere a amplitudinii sinusoidelor (Cn ) depinde de forma semnalului:


pentru un semnal cu variații rapide (de ex., cu discontinuități), sunt necesare foarte
multe sinusoide (pentru că variațiile pot fi descrise adecvat doar de frecvențe înalte);

un semnal cu derivatele de ordin ≤ k − 1 continue și derivata de ordin k discontinuă are


1
o rată de descreștere a amplitudinii proporțională cu nk+1 (Cn ∼ nk+1
1
).

faza spectrului (θn ) are componente care permit modelarea de variații bruște: pentru
un semnal cu discontinuități, la stânga, semnalele sinusoidele sunt pozitive iar la
dreapta, sunt negative (în general).

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 12 / 68


Serii Fourier Proprietăți și observații

Analiza spectrului Fourier – exemple


Analizăm spectrul Fourier pentru un semnal cu discontinuități:

f(t)

−3π −2π π−π − π2 0


2π 3π t π
2
[ ]
1 2 1 1 1 1
f(t) = + cos t − cos 3t + cos 5t − cos 7t + cos 9t + . . .
2 π 3 5 7 9

1
C0 = , Cn
2
{ 2
0, n par, π
Cn = 2
πn
, n impar,
{ 2
3π 2 2
0, n ̸= 3, 5, 7, . . . , 5π 7π
θn =
−π, n = 3, 5, 7, . . . . ω
1 3 5 7

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 13 / 68


Serii Fourier Proprietăți și observații

Analiza spectrului Fourier – exemple


Analizăm spectrul Fourier pentru un semnal fără discontinuități:

f(t)

−2 −1 1 2 t

[ ]
8 1 1 1
f(t) = sin πt − sin 3πt + sin 5πt − sin 7πt + . . .
π2 9 25 49

Cn
8
π2

8
8 8
9π 2
25π 2 49π 2

1 3 5 7 ω

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 13 / 68


Serii Fourier Proprietăți și observații

Analiza spectrului Fourier – exemple


Analizăm spectrul Fourier pentru un semnal fără discontinuități:
f(t)

−2 −1 1 2 t

[ (
8 π) 1 ( π) 1 ( π)
f(t) = 2
cos πt − + cos 3πt + + cos 5πt −
π 2 9 2 25 2
( ]
1 π)
+ cos 7πt + + ...
49 2

Cn
C0 = 0,
{ 8
π2
0, n par,
Cn = 8
n2 π 2
, n impar,
{
−π, n ̸= 1, 5, 9, . . . . 8
θn = π 2 9π 2
8 8
2
, n = 3, 7, 11, . . . . 25π 2 49π 2

1 3 5 7 ω
A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 13 / 68
Serii Fourier Proprietăți și observații

Paradoxul lui Gibbs


Pentru semnale discontinue observăm o diferență între aproximarea prin serie Fourier și
semnalul original (care nu dispare nici atunci când numărul de armonice din reprezentare
tinde către infinit).

1 ∑
i≥1 αi vi

2 4 6

−1
f(t)

Pe măsură ce numărul de semnale trigonometrice crește, scade aria de sub perturbație ⇒


influența ei în energia seriei devine din ce în ce mai mică astfel încât la infinit dispare.
A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 14 / 68
Cuprins

1 Serii Fourier

2 Transformata Fourier
Definiții
Proprietăți

3 Extindere pentru semnale discrete

4 Studiu de caz: calculul FFT

5 Studiu de caz: modularea unui semnal radio

6 Anexe
Transformata Fourier Definiții

Justificare

Considerăm un semnal definit pe o perioadă de lungime T0 și îl prelungim prin


periodicitate:

f(t) fT0 (t)


t − T20 T0 T0 3T0 t
2 2

Seria Fourier în reprezentare exponențială este


T0
∫2
1 2π
Dn = fT0 (t)e−jnω0 t dt, ω0 = .
T0 T0
T
− 20

Ce se întâmplă când ω0 → 0, sau echivalent, când T0 → ∞?

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 15 / 68


Transformata Fourier Definiții

Justificare

Considerăm un semnal definit pe o perioadă de lungime T0 și îl prelungim prin


periodicitate:

f(t) fT0 (t)


t − T20 T0 T0 3T0 t
2 2

Seria Fourier în reprezentare exponențială este


∫∞
1 2π
Dn = fT0 (t)e−jnω0 t dt, ω0 = .
T0 T0
−∞

Ce se întâmplă când ω0 → 0, sau echivalent, când T0 → ∞?

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 15 / 68


Transformata Fourier Definiții

Justificare – II
Notăm
∫∞ Dn
F(ω) = f(t)e−jωt dt,
−∞

ceea ce permite să formulăm ω


1 Dn
Dn = F(nω0 ),
T0 ⇓T0 → T0
2

∑∞
F(nω0 ) jnω0 t
fT0 (t) = e ,
T0
n=−∞ ω
ce conduce la
1 ∑


f(t) = lim fT0 (t) = lim F(n∆ω)e(jn∆ω)t ∆ω, ω0 ≜ ∆ω =
T0 →∞ ∆ω→0 2π n=−∞ T0
∫∞
1
= F(ω)ejωt dω.

−∞

F(ω) descrie spectrul semnalului f(t) atunci când frecvența fundamentală tinde către zero.
A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 16 / 68
Transformata Fourier Definiții

Transformata Fourier
Transformata F a unui semnal este definită astfel:
∫∞
F(ω) = f(t)e−jωt dt;
−∞

cu notația
∫∞
−1 1
F(ω) = F{f(t)}(ω) și f(t) = F {F(ω)}(t) = F(ω)ejωt dω;

−∞

Corespondența între semnal și transformata sa este notată ca


f(t) ⇐⇒ F(ω);

În mod evident transformata este liniară:


αf(t) + βg(t) ⇐⇒ αF(ω) + βG(ω).

Observație:
∫∞
F(−ω) = f(t)ejωt dt, amplitudinea este o functie pară;
−∞ faza este o funcție impară.
A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 17 / 68
Transformata Fourier Definiții

Transformata Fourier – exemplu

Considerăm funcția f(t) = e−at 1(t), a > 0, a cărei transformată Fourier este:
∫∞ ∫∞ ∞
−e−(a+jω)t 1
F(ω) = e−at 1(t)e−jωt dt = e−(a+jω)t dt = = , a > 0.
a + jω 0 a + jω
−∞ 0

Scriind în forma polară, rezultă că


1 ω
F(ω) = |F(ω)|e∠[F(ω)] = √ e−j arctan( a ) .
a2 + ω 2

|F(ω)| ∠[F(ω)]
1 π
a 2

ω ω
− π2

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 18 / 68


Transformata Fourier Definiții

Existența
Conform definiției,
∫∞
F(ω) = f(t)e−jωt dt,
−∞

ceea ce conduce la

∫ ∫∞ ∫∞

|F(ω)| = f(t)e−jωt
dt ≤ |f(t)e−jωt |dt = |f(t)|dt

−∞ −∞ −∞

Validarea condiției certifică existența, dar invalidarea acesteia nu înseamnă că


transformata nu există!
sin t
Exemplu: semnalul f(t) = :
t

∫∞ sin t

sin t t
dt = +∞,
t
−∞
∫∞ ( ) ( )
sin t −jωt ω 1 ω 1 t
e dt = 1 − −1 + .
t 2π 2 2π 2
−∞

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 19 / 68


Transformata Fourier Proprietăți

Dualitate timp – frecvență


Datorită formulărilor asemănătoare:
∫∞ ∫∞
1
f(t) = F(ω)ejωt dω, F(ω) = f(t)e−jωt dt,

−∞ −∞

putem scrie următoarea proprietate de dualitate:


f(t) ⇔ F(ω) ↔ F(t) ⇔ 2πf(−ω),
folosind:
∫∞
1
f(t) = F(ω)ejωt dω,

−∞
∫∞
2πf(−t) = F(ω)e−jωt dω,
−∞
∫∞
2πf(−ω) = F(t)e−jωt dt
−∞

Aceasta arată că pentru orice proprietate demonstrată într-un domeniu (timp sau
frecvență) există o proprietate similară în domeniul complementar (frecvență sau timp).
A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 20 / 68
Transformata Fourier Proprietăți

Scalare

Dacă f(t) ⇔ F(ω), atunci, pentru orice a ∈ R avem următoarea proprietate de scalare

1 (ω)
f(at) ⇔ F ,
|a| a
obținută folosind

∫∞ ∫
sgn(a)·∞
1 ω
F{f}(ω) = f(at)e−jωt dt = f(t)e−j a t dt.
a
−∞ −sgn(a)·∞

Se observă că expansiunea semnalului în timp (|a| > 1) conduce la compresia spectrului


semnalului. Similar, o compresie în timp (|a| < 1) conduce la expansiunea spectrului.

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 21 / 68


Transformata Fourier Proprietăți

Deplasare în timp și frecvență


Dacă f(t) ⇔ F(ω), atunci, pentru orice t0 , ω0 ∈ R avem proprietățile de translație:
în timp
f(t − t0 ) ⇔ F(ω)e−jωt0 ,
obținută folosind
∫∞ ∫∞ ∫∞
F{f(t−t0 )}(ω) = f(t−t0 )e−jωt dt = f(t)e−jω(t+t0 ) dt = f(t)e−jωt dt·e−jωt0 .
−∞ −∞ −∞

Analog se arată că:


f(t − t0 ) + f(t + t0 ) f(t − t0 ) − f(t + t0 )
⇔ F(ω) cos ωt0 , − ⇔ F(ω) sin ωt0 ,
2 2j

în frecvență
f(t)ejω0 t ⇔ F(ω − ω0 ),
obținută folosind
∫∞ ∫∞
F{f(t)ejω0 t }(ω) = f(t)e−jωt ejω0 t dt = f(t)e−j(ω−ω0 )t dt.
−∞ −∞

Analog se arată că:


F(ω − ω0 ) + F(ω + ω0 ) F(ω − ω0 ) − F(ω + ω0 )
f(t) cos ω0 t ⇔ , f(t) sin ω0 t ⇔ .
2 2j
A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 22 / 68
Transformata Fourier Proprietăți

Convoluție în timp
Dacă f1 (t) ⇔ F1 (ω) și f2 (t) ⇔ F2 (ω), atunci avem proprietățile de convoluție:
în timp
f1 (t) ∗ f2 (t) ⇔ F1 (ω)F2 (ω).

Demonstraţie:
∫∞
F{f1 (t) ∗ f2 (t)}(ω) = (f1 (t) ∗ f2 (t)) e−jωt dt
−∞
 
∫∞ ∫∞
=  f1 (τ )f2 (t − τ )dτ  e−jωt dt
−∞ −∞
 
∫∞ ∫∞
= f1 (τ )e−jωτ f2 (t − τ )e−jω(t−τ ) dt dτ
−∞ −∞
∫∞
= f1 (τ )e−jωτ F2 (ω)dτ.
−∞

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 23 / 68


Transformata Fourier Proprietăți

Convoluție în frecvență
Dacă f1 (t) ⇔ F1 (ω) și f2 (t) ⇔ F2 (ω), atunci avem proprietățile de convoluție:
în frecvență
1
f1 (t)f2 (t) ⇔ F1 (ω) ∗ F2 (ω).

Demonstraţie:
{ } ∫∞ ( )
−1 1 1 1
F · F1 (ω) ∗ F2 (ω) (t) = · F1 (ω) ∗ F2 (ω) ejωt dω
2π 2π 2π
−∞
 
∫∞ ∫∞
1  1
= · F1 (τ )F2 (ω − τ )dτ  ejωt dω
2π 2π
−∞ −∞
 
∫∞ ∫∞
1 jτ t  1
= F1 (τ )e · F2 e j(ω−τ )t
dω  dτ
2π 2π
−∞ −∞
∫∞
1
= F1 (τ )ejτ t f2 (t)dτ.

−∞

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 24 / 68


Transformata Fourier Proprietăți

Diferențiere și integrare în timp


Dacă f(t) ⇔ F(ω), atunci avem proprietățile de:
diferențiere
dn
f(t) ⇔ (jω)n F(ω),
dtn
unde am folosit
∫∞
df 1
= jωF(ω)ejωt dω;
dt 2π
−∞

de integrare
∫t
F(ω)
f(τ )dτ ⇔ + πF(0)δ(ω),

−∞

unde am folosit
∫∞ ∫t
f(t) ∗ 1(t) = f(τ )1(t − τ )dτ = f(τ )dτ
−∞ −∞

și proprietatea de convoluție: f(t) ∗ 1(t) ⇔ F(ω)F{1(t)}(ω).

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 25 / 68


Transformata Fourier Proprietăți

Comportament la joasă frecvență și la înaltă frecvență


înaltă frecvență (pentru semnale integrabile, fără termeni impulsionali Dirac):
lim |F(ω)| = 0,
|ω|→∞
π
unde am folosit e−ωt = −e−jω(t+ ω ) , ceea ce permite să scriem
∫∞ ∫∞ (
π π ) −jωt
F(ω) = − f(t)e−jω(t+ ω ) dt = − f t− e dt
ω
−∞ −∞

și
∫∞ [ (
1 1 π )] −jωt
F(ω) = [F(ω) + F(ω)] = f(t) − f t − e dt;
2 2 ω
−∞

joasă frecvență:
∫∞
dk F(0)
= mk , mk = (−j)k tk f(t)dt,
dω k
−∞

unde am folosit descompunerea în serie McLaurin pentru e−jωt și F(ω):


∫∞ [∞ ]
k ∫

∑ (−jωt)k ∑




ω k dk F(0)
F(ω) = f(t) dt = (−j) tk f(t)dt, F(ω) = .
k! k! k! dω k
−∞ k=0 k=0 −∞ k=0
A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 26 / 68
Cuprins

1 Serii Fourier

2 Transformata Fourier

3 Extindere pentru semnale discrete


Serii Fourier discrete
Transformata Fourier pentru semnale discrete
Transformata Fourier discretă (DFT) pentru semnale discrete
Recuperare a semnalului

4 Studiu de caz: calculul FFT

5 Studiu de caz: modularea unui semnal radio

6 Anexe
Extindere pentru semnale discrete

Semnale sinusoidale discrete


Considerăm un semnal sinusoidal de perioadă N0 ceea ce corespunde unei frecvențe
fundamentale Ω0 = 2π/N0
Semnalele sinusoidale discrete separate prin multiplii de 2π sunt identice
ej(Ω±2π)k = ejΩk e±j·2πk = ejΩk

Exemplu: sin[ πk3


] și sin[ 7πk
3
] sunt identice în discret dar reprezentările lor în continuu
diferă (sin 3 ̸= sin 7πt
πt
3
)
f [k] = sin[ πk
3
] = sin[ 7πk
3
]

0 1 2 3 4 5 6 7 8 9 10 11 12 k

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 27 / 68


Extindere pentru semnale discrete Serii Fourier discrete

Seria Fourier a unui semnal discret

În consecință, orice semnal de perioadă N0 poate fi descris printr-un număr finit de


armonice ale frecvenței fundamentale Ω0 :
N0 −1

f[k] = Dr ejrΩ0 k
r=0

iar coeficienții sunt obținuți prin relația:


N0 −1
1 ∑
Dr = f[k]e−jrΩ0 k
N0
k=0

Seria Fourier conține N0 elemente:

D0 , D1 ejΩ0 k , . . . , DN0 −1 ej(N0 −1)Ω0 k

unde Dr denotă ponderea armonicii de ordin r. Putem folosi partea reală și


argumentul lui Dr pentru a obține spectrul de amplitudine și de fază, respectiv
(Dr = |Dr |ej∠Dr ).

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 28 / 68


Extindere pentru semnale discrete Serii Fourier discrete

Extensie prin periodicitate a spectrului Fourier

Pentru un semnal θ[r] cu perioada N0 avem


N0 −1
∑ ∑
θ[r] = θ[r]
r=0 r=<N0 >

unde r =< N0 > denotă o sumare peste intervale de coeficienți care sunt multiple ale lui
N0 , în consecință putem exprima:

f[k] = Dr ejrΩ0 k
r=<N0 >
1 ∑
Dr = f[k]e−jrΩ0 k
N0
k=<N0 >

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 29 / 68


Extindere pentru semnale discrete Serii Fourier discrete

Exemplu
Considerăm semnalul f[k] = sin 0.1πk și îi calculăm seria Fourier discretă:
perioada fundamentală este N0 = 20, cel mai mic număr natural pentru care
f[k] = f[k + N0 ], ∀k (sin 0.1π(k + N0 ) = sin(0.1πk + 0.1πN0 ))
reprezentăm seria Fourier
∑ 1 ∑ π
f[k] = Dr · ejr0.1πk , Dr = sin 0.1πk · e−jr 10 k
r=<20>
20
k=<20>

pentru simplitate alegem să sumăm pe intervalul −10 ≤ k ≤ 9 (orice interval de


lungime 20 va conduce la un rezultat echivalent):

1 ∑ 1 ∑ 1 j0.1πk
9 9
π π
Dr = sin 0.1πk · e−jr 10 k = (e − e−j0.1πk )e−jr 10 k
20 20 2j
k=−10 k=−10
[ 9 ]
1 ∑ j0.1πk(1−r) ∑ −j0.1πk(1+r)
9
= e − e
40j
k=−10 k=−10

obținem D1 = 2j 1
, D−1 = − 2j1
și toți ceilalți coeficienți sunt nuli; prin urmare, seria
Fourier asociată este:
1 ( j0.1πk )
f[k] = sin 0.1πk = e − e−j0.1πk
2j

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 30 / 68


Extindere pentru semnale discrete Transformata Fourier pentru semnale discrete

Transformata Fourier pentru semnale discrete (DTFT)


Prin trecerea la limită a perioadei (N0 → ∞ sau echivalent ∆Ω = 2π/N0 → 0) putem
caracteriza semnale discrete aperiodice:
∑ [ F(r∆Ω)∆Ω ] jr∆Ωk 1 ∑
f[k] = lim e = lim F(r∆Ω)ejr∆Ωk ∆Ω
∆Ω→0 2π ∆Ω→0 2π
<N0 > <N0 >



unde F(r∆Ω) = f[k]e−jr∆Ωk .
k=−∞
Similar cu cazul continuu, descriem:
transformata Fourier în timp discret (DTFT)


F(Ω) = f[k]e−jΩk
k=−∞

Atenție: F(Ω) este un semnal periodic, de perioadă 2π!


iar transformata inversă este

1
f[k] = F(Ω)ejΩk dΩ

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 31 / 68


Extindere pentru semnale discrete Transformata Fourier pentru semnale discrete

Proprietăți ale DTFT


translație în timp și frecvență:

f[k − k0 ] ⇔ e−jΩk0 F(Ω), e−jΩ0 k f[k] ⇔ F(Ω − Ω0 )

derivare în frecvență:
dF(Ω)
kf[k] ⇔ j
dΩ

convoluție în timp și frecvență


∫π
1
(f ∗ g)[k] ⇔ F(Ω)G(Ω), f[k]g[k] ⇔ F(τ )G(Ω − τ )dτ

−π

conservarea energiei (teorema lui Parseval)


∞ ∫π
1 1
∥f[k]∥ = ∥F(Ω)∥, unde am folosit: f[k]ḡ[k] = F(Ω)Ḡ(Ω)dΩ
2π 2π
k=−∞ −π

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 32 / 68


Extindere pentru semnale discrete Transformata Fourier discretă (DFT) pentru semnale discrete

Transformata Fourier discretă (DFT) a unui semnal discret


Nu doar semnalul în timp poate să fie discret, ci și transformata sa Fourier. Considerăm
așadar Transformata Fourier discretă F[r] a unui semnal discret f[k] pentru N0 > 0 dat:
forma directă:
N0 −1
∑ − 2πj
F[r] = f[k]e N0 kr , pentru 0 ≤ r ≤ N0 − 1
k=0

forma inversă:
N0 −1
1 ∑ 2πj
kr
f[k] = F[r]e N0 , pentru 0 ≤ k ≤ N0 − 1
N0 r=0

Putem folosi următoarele relații pentru simplificarea calculelor:


dacă ̸ ∃m ∈ Z a.î. p = mN, atunci:
dacă ∃m ∈ Z a.î. p = mN, atunci:
1 ∑ 2πj·pk
N−1

1 ∑
N−1 e N = 0.
e
2πj·pk
N = 1; N
k=0
N
k=0 {
1 ∑ 2πj(n−r)k
N−1
0, n ̸= r
e N =
echivalent, avem: N 1, altfel
k=0

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 33 / 68


Extindere pentru semnale discrete Transformata Fourier discretă (DFT) pentru semnale discrete

Relația DFT cu seria Fourier

Coeficienții seriei Fourier discrete pentru un semnal discret f[k] sunt


N0 −1
1 ∑
Dr = f[k]e−jrΩ0 k
N0
k=0

transformata Fourier discretă a unui semnal discret f[k] este


N0 −1
∑ − 2πj kr 1
F[r] = f[k]e N 0 = Dr
N0
k=0

pentru semnalul continuu fc (t) cu perioadă T > 0 considerăm pasul de eșantionare


∆t = T/N căruia îi corespunde semnalul discretizat f[k] = fc (k∆t), atunci:

1 −j2πrt
Dr = fc (t)e T dt
T
T

și F[r] este aproximarea trapezoidală a lui Dr pentru intervalul [r∆t, (r + 1)∆t].

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 34 / 68


Extindere pentru semnale discrete Transformata Fourier discretă (DFT) pentru semnale discrete

Proprietăți DFT
Pentru f[k], g[k] semnale discrete de perioadă N0 , cu transformatele Fourier discrete
F[r], G[r], avem:
translație în timp și frecvență:
− 2πj ·rk0 − 2πj ·kr0
f[k − k0 ] ⇔ e N 0 F[r], e N 0 f[k] ⇔ F[r − r0 ]

convoluția în timp și frecvență:


1
(f ∗ g)[k] ⇔ X[r]Y[r], f[k]g[k] ⇔ (F ∗ G)[r]
N0

simetrie față de operatorul de conjugare:

f[k] ⇔ F[N0 − r], f[N0 − k] = f[−k] ⇔ F[r]

conservarea energiei (teorema lui Parseval):


N0 −1 N0 −1
∑ 1 ∑
f[k]x[k] = F[r]F[r]
N0 r=0
k=0

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 35 / 68


Extindere pentru semnale discrete Recuperare a semnalului

Echivalența între DTFT și FT pentru semnale cu bandă limitată


Cât de mult se pierde în urma eșantionării unui semnal? Cum cuantificăm acest lucru?
fie semnalul fc (t) căruia îi corespunde semnalul discretizat fd [k] = f(kT), avem:
∫π ∫∞
1 1
fd [k] = Fd (Ω)ejΩk dΩ, f(t) = Fc (ω)ejωt dω
2π 2π
−π −∞

Ideea:
fd [k] ⇒ Fd (Ω) ⇒ Fc (ω) ⇒ fc (t)

dacă semnalul este limitat în bandă în frecvență (adică Fc (ω) ∈ [−b, b]), atunci:
∫∞
1
fd [k] = fc (kT) = Fc (ω)ejωkT dω

−∞

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 36 / 68


Extindere pentru semnale discrete Recuperare a semnalului

Echivalența între DTFT și FT pentru semnale cu bandă limitată


Cât de mult se pierde în urma eșantionării unui semnal? Cum cuantificăm acest lucru?
fie semnalul fc (t) căruia îi corespunde semnalul discretizat fd [k] = f(kT), avem:
∫π ∫∞
1 1
fd [k] = Fd (Ω)ejΩk dΩ, f(t) = Fc (ω)ejωt dω
2π 2π
−π −∞

Ideea:
fd [k] ⇒ Fd (Ω) ⇒ Fc (ω) ⇒ fc (t)

dacă semnalul este limitat în bandă în frecvență (adică Fc (ω) ∈ [−b, b]), atunci:
∫b ∫bT ( )
1 1 θ
fd [k] = fc (kT) = Fc (ω)ejωkT dω = Fc ejkθ dθ
2π θ=ωT 2πT T
−b −bT

alegând perioada de eșantionare T a.î. [−bT, bT] ⊆ [−π, π] rescriem fd [k] astfel:
∫π ( )
1 1 θ
fd [k] = Fc ejkθ dθ
2π T T
−π

observăm că putem recupera informația asociată semnalului continuu band-limitat


pe baza semnalului discretizat: Fc (ω) = TFd (ωT)
A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 36 / 68
Extindere pentru semnale discrete Recuperare a semnalului

Echivalența între DTFT și FT pentru semnale generice

în cazul general, avem următoarea relație între DTFT și FT:


( )
1 ∑

ω + 2πk
Fd (ω) = Fc
T T
k=−∞

pornim de la relația dedusă anterior:


∫∞ ∫∞ ( )
1 jωkT 1 θ
fd [k] = fc (kT) = Fc (ω)e dω = Fc dθ
2π 2πT T
−∞ −∞

facem notația G(θ) = T−1 Fc (θ/T) și “spargem” integrala în bucăți de lungime 2π:

∫∞ ∫
π+2πk ∫π
1 ∑ 1 ∑
∞ ∞
1
fd [k] = G(θ)ejθk dθ = G(θ)ejθk dθ= G(ϕ+2πk)ejϕk dϕ
2π 2π 2π
−∞ k=−∞−π+2πk k=−∞−π

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 37 / 68


Extindere pentru semnale discrete Recuperare a semnalului

Echivalența între DTFT și FT – interpretare geometrică

G(ω) Fd (ω)

ω ω

Fd (Ω) este o sumă infinită de copii ale lui G(ω) = T−1 Fc (ω/T), translatate cu 2πk

dacă nu există suprapuneri între componentele G(ω) atunci putem aproxima


Fc (ω) = TFd (ωT)

pentru a putea recupera semnalul continuu fc (t) impunem condiții asupra spectrului
lui Fd (ω)

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 38 / 68


Extindere pentru semnale discrete Recuperare a semnalului

Teoreme de eșantionare – I

Teorema Shannon-Nyquist de eșantionare


Pentru semnalul continuu fc (t) și semnalul fd [k] = fc (kT) obținut prin eșantionare cu
pasul de discretizare T, fc (t) poate fi recuperat pe baza lui fd [k] dacă:
fc (t) este band-limitat
frecvența de eșantionare F = T−1 > 2Fmax , unde |Fc (ω)| = 0, ∀ω > 2πFmax

Interpretări:
dacă semnalul fc (t) nu este band-limitat, coruperea reprezentării în frecvență este
inevitabilă (apare fenomenul de “aliasing”)
chiar și pentru un semnal band-limitat, pasul de eșantionare trebuie ales corect
(astfel încât T < 2F1max )

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 39 / 68


Extindere pentru semnale discrete Recuperare a semnalului

Teoreme de eșantionare – II
Teorema Shannon-Nyquist de interpolare
Semnalul fc (t), band-limitat, se recuperează din fd [k] = fc (kT) după formula:

∞ ( πt )
fc (t) = fd [k]sinc − kπ
T
k=−∞

din definiția transformatei Fourier inverse avem


∫∞ ∫
π/T
1 1
fc (t) = F(ω)ejωt dω = F(ω)ejωt dω
2π 2π
−∞ −π/T

folosind teorema Shannon-Nyquist de eșantionare avem



π/T π/T [
∫ ]
T jωt T ∑∞
−jTωk
fc (t) = Fd (ωT)e dω = fd [k]e ejωt dω
2π 2π
k=−∞
−π/T −π/T


π/T
T ∑

= fd [k] ejω(t−kT) dω

k=−∞
−π/T

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 40 / 68


Cuprins

1 Serii Fourier

2 Transformata Fourier

3 Extindere pentru semnale discrete

4 Studiu de caz: calculul FFT

5 Studiu de caz: modularea unui semnal radio

6 Anexe
Studiu de caz: calculul FFT

Transformata Fourier rapidă (FFT)

Transformata Fourier rapidă (FFT – Fast Fourier Transform) este numele generic
pentru o clasă de algoritmi rapizi de calcul al transformatei Fourier discrete (TFD),
pentru semnale cu suport finit
Primul algoritm de acest tip a fost propus de Cooley şi Tukey în 1965, dar ideea e
mult mai veche (Gauss !)
Înmulţirea matrice-vector X = FN x are o complexitate de O(N2 ) operaţii
Algoritmii FFT au complexitate O(N log2 N)
Reducerea complexităţii este semnificativă pentru valori practice ale mărimii
suportului:
Pentru N = 1024, avem N2 ≈ 106 şi N log2 N ≈ 104
Pentru N = 100 complexitatea scade de N/ log2 N > 10 ori

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 41 / 68


Studiu de caz: calculul FFT

Ideea FFT

Se presupune că N este putere a lui 2


Algoritmi FFT
cu decimare în timp
cu decimare în frecvenţă
Ideea de bază este de tip divide et impera
Calculul TFDN (·) se reduce la calculul a două transformări TFDN/2 (·)
Pentru calculul fiecărei TFD de lungime mai mică, se aplică recursiv acelaşi mod de
calcul

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 42 / 68


Studiu de caz: calculul FFT

Complexitatea FFT

Reducerea calculului TFDN (·) la calculul a două transformări TFDN/2 (·) are
complexitate αN, unde α este o constantă
Complexitatea algoritmului este
N N
αN + 2α + 4α + . . .
2 4

Numărul de termeni în suma de mai sus este log2 N,


i.e. numărul de înjumătăţiri necesare pentru a ajunge de la N la 1
Concluzie: complexitatea este αN log2 N

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 43 / 68


Studiu de caz: calculul FFT

Decimare în timp—ideea de calcul (1)

Definiţia TFD pentru un semnal cu suport 0 : N − 1


N−1
X[k] = x[n]wkn
N
n=0

Separăm două sume, una pentru indici pari, alta pentru indici impari


N−1 ∑
N−1
X[k] = x[n]wkn
N + x[n]wkn
N
n par n impar

Notație:
2πℓ
wℓN = e− N

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 44 / 68


Studiu de caz: calculul FFT

Decimare în timp—ideea de calcul (2)

Substituim n = 2m, m = 0 : N/2 − 1, în prima sumă, şi n = 2m + 1,


m = 0 : N/2 − 1, în a doua


N/2−1

N/2−1
k(2m+1)
X[k] = x[2m]w2km
N + x[2m + 1]wN
m=0 m=0

Ţinem seama că
2π 2km 2π km
−j N/2
w2km
N = e−j N =e = wkm
N/2

şi obţinem

N/2−1

N/2−1
X[k] = x[2m]wkm k
N/2 + wN x[2m + 1]wkm
N/2
m=0 m=0

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 45 / 68


Studiu de caz: calculul FFT

Decimare în timp—primul pas

Notăm xp [m] = x[2m] semnalul cu suport 0 : N/2 − 1 format din eşantioanele pare
ale semnalului iniţial
Notăm xi [m] = x[2m + 1] pentru eşantioanele impare
Transformatele Fourier discrete ale acestora sunt

U[k] = TFDN/2 (xp [m]), V[k] = TFDN/2 (xi [m])

Putem deci scrie


X[k] = U[k] + wkN V[k], k = 0 : N − 1

În această relaţie avem k = 0 : N − 1, deci apar două perioade ale transformatelor


Fourier discrete U[k], V[k]

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 46 / 68


Studiu de caz: calculul FFT

Decimare în timp—primul pas, schema de calcul

x[0] U[0]=U[4] X[0]

w0
N
x[2] U[1]=U[5] X[1]
U [k] = T F DN/2 (xp [m])

w1
N
x[4] U[2]=U[6] X[2]

w2
N
x[6] U[3]=U[7] X[3]

w3
N
wN
4
x[1] V[0]=V[4] X[4]

wN
5
x[3] V[1]=V[5] X[5]

wN
V [k] = T F DN/2 (xi [m])

6
x[5] V[2]=V[6] X[6]

wN
7
x[7] V[3]=V[7] X[7]

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 47 / 68


Studiu de caz: calculul FFT

Decimare în timp—forma recursivă

Folosind recursiv metoda de înjumătăţire de mai sus, obţinem un prim algoritm FFT
Dacă N = 1, atunci TFD este identică cu semnalul
Pentru instrucţiunile 2.3 şi 2.4 sunt necesare N adunări complexe şi N înmulţiri
complexe (constantele wkN sunt tabelate)

funcţie X = FFT(x, N)
1. dacă N = 1 atunci
1. X = x
2. altfel
1. Pune xp [m] = x[2m], xi [m] = x[2m + 1], pentru m = 0 : N/2 − 1
2. Calculează U = FFT(xp , N/2), V = FFT(xi , N/2) (apel recursiv)
3. X[k] = U[k] + wkN V[k], pentru k = 0 : N/2 − 1
4. X[k] = U[k − N/2] + wkN V[k − N/2], pentru k = N/2 : N − 1

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 48 / 68


Studiu de caz: calculul FFT

Decimare în timp—diagrama fluture

Implementările practice ale algoritmului FFT nu folosesc apelurile recursive, ci


variante iterative echivalente, care conduc la programe mai eficiente
Diagrama fluture (butterfly) din pagina următoare ilustrează toate operaţiile pentru
cazul N = 8
Liniile punctate verticale separă etapele de calcul (iteraţiile sau nivelele de recursie,
după cum interpretăm algoritmul)
Sunt log2 N etape şi în fiecare dintre ele se efectuează 2N operaţii, ceea ce conduce
la un total de 2N log2 N

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 49 / 68


Studiu de caz: calculul FFT

Decimare în timp—diagrama fluture pentru N = 8

x[0] 0
X[0]
w2

w0
w4

4
2
w1
2
x[4] X[1]

x[2] 0
X[2]
w2

w1

w4
4

3
w1
2
x[6] X[3]

0 w4
w8 8
x[1] 0
X[4]
w2
w0
w4

w5
4
1

w1 1
2 w8 8
x[5] X[5]

2 w6
w8 8
x[3] 0
X[6]
w2
w2

w4

w7
4

w1 3
2 w8 8
x[7] X[7]

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 50 / 68


Studiu de caz: calculul FFT

Ordine bit-inversă

În ce ordine se află eşantioanele semnalului de intrare ?


Înaintea ultimei etape, elementele x[n], cu n par, se află în jumătatea de sus a
diagramei (adică sunt primele), iar cele cu n impar se află în jumătatea de jos
Privind la reprezentarea binară a lui n, elementele cu ultimul bit al indicelui egal cu
zero sunt în prima jumătate
Înaintea penultimei etape, elementele cu indice par sunt separate în două; cele cu
indice par în această secvenţă, adică cele pentru care penultimul bit al lui n este
zero, se află în sfertul de sus al diagramei; celelalte, pentru care penultimul bit este
1, sunt în al doilea sfert
Concluzie: eşantioanele intrării se află în ordine bit-inversă a indicilor

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 51 / 68


Studiu de caz: calculul FFT

Diagrama fluture îmbunătăţită

Numărul de înmulţiri din diagrama fluture se poate reduce


Observăm că 2kπ −π)
= e−j(
k−N/2
wN N = −wkN

Pentru un divizor K al lui N putem scrie


mN/K
wm
K = wN

Concluzie: în diagrama fluture se pot utiliza doar constantele wkN , k = 0 : N/2 − 1


În noua diagramă sunt doar 3N/2 log2 N operaţii complexe, din care doar N/2
înmulţiri
Reducerea este datorată apariţiei constantelor −1, astfel că unele înmulţiri dispar

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 52 / 68


Studiu de caz: calculul FFT

Decimare în timp—diagrama fluture îmbunătăţită

x[0] 0
X[0]
w2

w0
−w 0

4
w4
0
2
x[4] X[1]

x[2] 0
X[2]
w2


w1
−w 0

w4
1
2
x[6] X[3]

0
−w
0
w8 8
x[1] 0
X[4]
w2
−w
w0
w4

−w 0
4
1

1 1
2 w8 8
x[5] X[5]

2
−w
2
w8 8
x[3] 0
X[6]
w2
w0

−w

4

−w 0
w4

3

3
2 w8 8
x[7] X[7]

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 53 / 68


Studiu de caz: calculul FFT

Decimare în timp—diagrama fluture îmbunătăţită

x[0] 0
X[0]
w8

w0
−w 0

8
w8
0
8
x[4] X[1]

x[2] 0
X[2]
w8


w2
−w 0

w8
2
8
x[6] X[3]

0
−w
0
w8 8
x[1] 0
X[4]
w8
−w
w0
w8

−w 0
8
2

1 1
8 w8 8
x[5] X[5]

2
−w
2
w8 8
x[3] 0
X[6]
w8
w0

−w

8

−w 0
w8

3

3
8 w8 8
x[7] X[7]

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 53 / 68


Studiu de caz: calculul FFT

Decimare în timp—forma iterativă

Calculele se pot desfăşura pe loc în vectorul x

funcţie x = FFT_decimare_timp(x, N)
1. Ordonează x în ordine bit-inversă a indicilor
2. pentru i = 1 : log2 N
1. K = 2i
2. pentru k = 0 : K : N − 1
1. pentru m = 0 : K/2 − 1
1. y = x[k + m]
mN/K
2. z = wN x[k + K/2 + m]
3. x[k + m] = y + z
4. x[k + K/2 + m] = y − z

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 54 / 68


Studiu de caz: calculul FFT

Decimare în frecvenţă—ideea de calcul (1)

Idee duală celei folosite pentru decimarea în timp


Separarea se face în transformata Fourier discretă X[k]
Considerăm întâi indicii pari, k = 2ℓ, ℓ = 0 : N/2 − 1


N−1
X[2ℓ] = x[n]wN2ℓn
n=0

Separăm primii N/2 termeni din sumă de ultimii N/2 (pentru care facem substituţia
n → n + N/2)


N/2−1

N/2−1
ℓ(n+N/2)
X[2ℓ] = x[n]wℓn
N/2 + x[n + N/2]wN/2
n=0 n=0

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 55 / 68


Studiu de caz: calculul FFT

Decimare în frecvenţă—ideea de calcul (2)

ℓN/2
Ţinând seama că wN/2 = 1, obţinem


N/2−1
X[2ℓ] = (x[n] + x[n + N/2]) wℓn
N/2
n=0

Egalitatea de mai sus este

X[2ℓ] = TFDN/2 (x[n] + x[n + N/2]), ℓ = 0 : N/2 − 1

Am exprimat jumătatea pară a transformatei X[k] printr-o TFD de lungime N/2 a


semnalului u[n] = x[n] + x[n + N/2] obţinut din semnalul iniţial x[n]

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 56 / 68


Studiu de caz: calculul FFT

Decimare în frecvenţă—ideea de calcul (3)

Pentru indicii impari, k = 2ℓ + 1, ℓ = 0 : N/2 − 1, scriem în mod analog



N−1
(2ℓ+1)n
X[2ℓ + 1] = x[n]wN
n=0

N/2−1
(2ℓ+1)n ∑N/2−1 (2ℓ+1)(n+N/2)
= x[n]wN + n=0 x[n + N/2]wN
n=0

N/2−1 ∑N/2−1 N/2
= x[n]wnN wℓn
N/2 + n=0 x[n + N/2]wnN wℓn ℓN
N/2 wN wN
n=0

N/2−1
= wnN (x[n] − x[n + N/2]) wℓn
N/2
n=0

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 57 / 68


Studiu de caz: calculul FFT

Decimare în frecvenţă—ideea de calcul (4)

Ultima relaţie este echivalentă cu

X[2ℓ + 1] = TFDN/2 (wnN (x[n] − x[n + N/2])), ℓ = 0 : N/2 − 1

Am exprimat jumătatea impară a transformatei X[k] printr-o TFD de lungime N/2 a


semnalului v[n] = wnN (x[n] − x[n + N/2])
Calculul unei TFD de lungime N se reduce la calculul a două TFD de lungime N/2,
ale unor semnale obţinute prin transformări simple ale celui iniţial

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 58 / 68


Studiu de caz: calculul FFT

Decimare în frecvenţă—primul pas, schemă de calcul

x[0] u[0] X[0]

x[1] u[1] X[2]


X[2`] = T F DN/2 (u[n])
x[2] u[2] X[4]

x[3] u[3] X[6]


−1

0
x[4] wN v[0] X[1]
−1

1
x[5] wN v[1] X[3]
−1

X[2` + 1] = T F DN/2 (v[n])


2
x[6] wN v[2] X[5]
−1

3
x[7] wN v[3] X[7]

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 59 / 68


Studiu de caz: calculul FFT

Decimare în frecvenţă—forma recursivă

funcţie X = FFT(x, N)
1. dacă N = 1 atunci
1. X = x
2. altfel
1. u[n] = x[n] + x[n + N/2], pentru n = 0 : N/2 − 1
2. v[n] = wnN (x[n] − x[n + N/2]), pentru n = 0 : N/2 − 1
3. Calculează Xp = FFT(u, N/2), Xi = FFT(v, N/2) (apel recursiv)
4. X[2ℓ] = Xp [ℓ], X[2ℓ + 1] = Xi [ℓ], pentru ℓ = 0 : N/2 − 1

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 60 / 68


Studiu de caz: calculul FFT

Decimare în frecvenţă—diagrama fluture, N = 8

x[0] X[0]
+1

1
−1

+
1
+1
x[1] w80 X[4]
+1
x[2] w80 X[2]
+1


1
−1

1
+1
x[3] w82 w80 X[6]
−+11
x[4] w80 X[1]
−1

1
−1

+
1
+1
x[5] w81 w80 X[5]
−1
x[6] w82 w80 X[3]
−1


1
−1
+

1
+1
x[7] w83 w82 w80 X[7]

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 61 / 68


Studiu de caz: calculul FFT

Decimare în frecvenţă—forma iterativă

Eşantioanele transformatei X[k] sunt în ordinea bit-inversă a indicilor


Numărul de operaţii este 3N/2 log2 N
Calculele se pot desfăşura pe loc în vectorul x

funcţie x = FFT_decimare_frecvenţă(x, N)
1. pentru i = 1 : log2 N
1. K = N/2i−1
2. pentru k = 0 : K : N − 1
1. pentru m = 0 : K/2 − 1
1. u = x[k + m] + x[k + K/2 + m]
mN/K
2. v = wN (x[k + m] − x[k + K/2 + m])
3. x[k + m] = u
4. x[k + K/2 + m] = v
2. Ordonează x în ordine bit-inversă a indicilor

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 62 / 68


Studiu de caz: calculul FFT

Calculul TFDI utilizând FFT

Se cunosc coeficienţii transformatei Fourier discrete X[k], k = 0 : N − 1, ai unui


semnal x[n] cu suport 0 : N − 1
Cum se pot calcula valorile semnalului folosind FFT ?
Din definiţia TFDI rezultă
1 ∑ ∗
N−1
x∗ [n] = X [k]wkn
N
N
k=0

Rezultă că Nx∗ [n] = TFD(X∗ [k])


O alternativa este scrierea unor algoritmi speciali pentru TFDI, care sunt obţinuţi
prin modificarea algoritmilor FFT; în diagramele fluture apar puteri negative ale
constantei wN , în locul celor pozitive.

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 63 / 68


Cuprins

1 Serii Fourier

2 Transformata Fourier

3 Extindere pentru semnale discrete

4 Studiu de caz: calculul FFT

5 Studiu de caz: modularea unui semnal radio

6 Anexe
Studiu de caz: modularea unui semnal radio

Modularea unui semnal I


Un semnal bază (“carrier”)
A cos(ωc t + θc )
poate fi modulat pentru transmiterea unui semnal:
modularea în amplitudine

A = m(t) → m(t) cos(ωc t + θc )


prin urmare:
spectrul lui m(t) este “centrat” în ωc :
M(ω − ωc ) + M(ω + ωc )
i(t) = m(t) cos ωc t ⇒
2

demodularea se face prin înmulțirea cu semnalul carrier și prin filtrarea cu un filtru


trece jos:
m(t) + m(t) cos(2ωc t)
e(t) = i(t) cos ωc t = m(t) cos2 ωc t =
2
în cazul general,
i(t) = [A + m(t)] cos ωc t

modulare de fază:

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 64 / 68


Studiu de caz: modularea unui semnal radio

Modularea unui semnal II

prin adăugarea unui termen în faza semnalului carrier


i(t) = A cos[ωc t + kψ(t)]

variația este de obicei liniară (“phase modulation”) ψ(t) = kp m(t)


demodularea se face prin derivarea semnalului:
di(t)
e(t) = = [ωc + kψ̇(t)] sin[ωc t + kψ(t) + π]
dt

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 65 / 68


Cuprins

1 Serii Fourier

2 Transformata Fourier

3 Extindere pentru semnale discrete

4 Studiu de caz: calculul FFT

5 Studiu de caz: modularea unui semnal radio

6 Anexe
Anexe

Transformate Fourier pentru funcțiile uzuale

f(t) F(ω)
−at 1
e 1(t) a+jω
, a>0
at 1
e 1(−t) a−jω
, a>0
−a|t| 2a
e a2 +ω 2
, a>0
te−at 1(t) 1
(a+jω)2
, a>0
n −at n!
t e 1(t) (a+jω)n+1
, a>0
δ(t) 1
1 2πδ(ω)
jω0 t
e 2πδ(ω − ω0 )
cos ω0 t π[δ(ω − ω0 ) + δ(ω + ω0 )]
sin ω0 t jπ[δ(ω − ω0 ) − δ(ω − ω0 )]

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 66 / 68


Anexe

Transformate Fourier pentru funcțiile uzuale – II

f(t) F(ω)
1
1(t) πδ(ω) + jω
2
sgn t jω

cos ω0 t1(t) π
2
[δ(ω − ω0 ) + δ(ω + ω0 )] + 2 −ω 2
ω0

sin ω0 t1(t) π
2j
[δ(ω − ω0 ) + δ(ω + ω0 )] + ω0
2 −ω 2
ω0

e−at sin ω0 t1(t) ω0


2
(a+jω)2 +ω0

e−at cos ω0 t1(t) a+jω


2
(a+jω)2 +ω0
∑∞ ∑

δ(t − nT) ω0 δ(ω − nω0 ), ω0 = 2π
T
n=−∞ n=−∞
2
− t 2 √ σ2 ω2
e 2σ σ 2πe− 2

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 67 / 68


Anexe

Proprietăți ale transformatei Fourier

operatie f(t) F(ω)


adunare f1 (t) + f2 (t) F1 ω + F2 (ω)
multiplicare cu un scalar kf(t) kF(ω)
simetrie F(t) 2πf(−ω)
1
( )
multiplicare cu a f(at) |a|
F ωa
deplasare în timp f(t − t0 ) F(ω)e−jωt0
deplasare în frecvență f(t)ejω0 t F(ω − ω0 )
convoluție în timp f1 (t) ∗ f2 (t) F1 (ω)F2 (ω)
convoluție în frecvență f1 (t)f2 (t) 1
F (ω)
2π 1
∗ F2 (ω)
n n
d f
diferențiere în timp dn
(jω) F(ω)
∫t F(ω)
integrare în timp f(x)dx jω
+ πF(0)δ(ω)
−∞

A. Țiclea, F. Stoican Curs 5–8. Analiza Fourier 3 noiembrie 2020 68 / 68