You are on page 1of 45

ANALISI SPETTRALE

Ing. Stefano Severi


Definizione

Per analisi spettrale di un segnale si intende la


determinazione del suo “contenuto armonico”, cioè la
determinazione degli intervalli di frequenze in cui il
segnale è più “ricco” di informazione e quelli in cui il
segnale lo è di meno.
Premessa (1)
Un segnale è rappresentabile mediante una funzione
del tempo x(t). Supponiamo che x(t) assuma valori
reali.

x(t) può assumere, al variare di t, o tutti i valori


appartenenti ad un certo intervallo oppure soltanto un
numero finito di questi.
t, analogamente, può variare con continuità oppure
assumere una successione numerabile di valori.

Si parla, allora, di
• funzioni continue nei valori e tempo-continue;
• funzioni discrete nei valori e tempo-continue;
• funzioni continue nei valori e tempo-discrete;
• funzioni discrete nei valori e tempo-discrete.
Premessa (2)

Le funzioni tempo discrete sono anche chiamate


serie temporali o sequenze temporali. Esse possono
rappresentare segnali che hanno già origine in tale
forma oppure possono essere ottenute da un
segnale tempo-continuo mediante campionamento,
ovvero mediante lettura dei valori assunti dal
segnale in istanti che si succedono con un intervallo
fissato, detto intervallo o periodo di campionamento.
Premessa (3)

Nel seguito, un segnale tempo discreto i cui valori si


succedono con intervallo T sull’asse dei tempi verrà
indicato con la notazione x[n] per indicare appunto
che assume valori solo in corrispondenza agli istanti
t=n—T.
Premessa (4)
Nel seguito tratteremo:
1. funzioni periodiche tempo continue
 serie di Fourier
2. funzioni aperiodiche tempo-continue
 trasformata di Fourier
3. funzioni tempo discrete
 trasformata di Fourier di serie temporali
4. trasformata discreta di Fourier (DFT) che
risponde all’esigenza di implementare al
calcolatore la trasformata di Fourier di una
funzione del tempo.
x(t + T0 ) = x(t )

Funzioni periodiche tempo-continue.


Sviluppo in serie di Fourier (1)

L’idea di fondo della serie di


Fourier è che una funzione
periodica può essere
rappresentata dalla somma di
una serie di sinusoidi la cui
frequenza è uguale o è
un’armonica (multipla) della
frequenza del segnale
originale
x(t + T0 ) = x(t )

Funzioni periodiche tempo-continue.


Sviluppo in serie di Fourier (2)

Sia x(t) una funzione continua o discreta nei valori,


periodica di periodo T0:
x(t + T0 ) = x(t )
La funzione x(t) può essere rappresentata nella
forma:
+∞

x(t ) = ∑ cn e jnω0t , ω0 = SVILUPPO IN SERIE DI
FOURIER IN FORMA
n = −∞ T0 ESPONENZIALE
x(t + T0 ) = x(t )

Funzioni periodiche tempo-continue.


Sviluppo in serie di Fourier (3)
+∞

x(t ) = ∑n ,
c e jnω0t
ω0 = SVILUPPO IN SERIE DI
FOURIER IN FORMA
n = −∞ T0 ESPONENZIALE

Cioè il segnale x(t) può essere espresso come


somma di infinite sinusoidi complesse, ognuna delle
quali ha pulsazione che è un multiplo della
pulsazione ω0 del segnale. Il coefficiente cn pesa la
sinusoide complessa
e jnω0t = cos(nω0 t ) + jsen(nω0 t )
T0 2
1
cn = ∫ x (t )e − jnω0t
dt
T0 −T0 2
x(t + T0 ) = x(t )

Funzioni periodiche tempo-continue.


Sviluppo in serie di Fourier (4)
Se x(t) è reale discendono due ulteriori formule per
lo sviluppo in serie di Fourier:
∞ ∞
a0
x(t ) = + ∑ a n cos(nω0 t ) + ∑ bn sen(nω0 t ) SVILUPPO IN SERIE
DI FOURIER DI SENI
2 n =1 n =1 E COSENI


x(t ) = A0 + ∑ An cos(nω0 t − φ n )
SVILUPPO IN SERIE
DI FOURIER DI SOLI
n =1 COSENI

a0
dove c0 = A0 = e 2c n = An e − jφn = a n − jbn
2
x(t + T0 ) = x(t )

Funzioni periodiche tempo-continue.


Sviluppo in serie di Fourier (5)
Gli insiemi dei valori An e Φn costituiscono
rispettivamente gli spettri di ampiezza e di fase di
x(t). Si tratta di spettri a righe allocati in
corrispondenza alle pulsazioni nω0.
x(t + T0 ) = x(t )

Funzioni periodiche tempo-continue.


Sviluppo in serie di Fourier (6)
Data una funzione periodica x(t), è possibile trovare un
insieme di coefficienti reali A0, An, Φn, n=1,2,3! i quali
permettono di esprimere le funzione di partenza x(t) come
somma di infinite sinusoidi. A0 rappresenta la componente
continua di x(t), che può assumere valore positivo o
negativo, mentre i coefficienti An (n>=1) assunti positivi,
rappresentano le ampiezze delle successive armoniche.
Conoscere gli spettri di ampiezza e di fase di un segnale è
del tutto equivalente a conoscere l’ andamento del segnale
x(t) nel tempo, ovvero la conoscenza di un segnale in
frequenza (analisi armonica) è del tutto equivalente alla
conoscenza del segnale nel tempo e viceversa.
x(t + T0 ) = x(t )

Funzioni periodiche tempo-continue.


Sviluppo in serie di Fourier (7)
Lo sviluppo in serie di Fourier può essere visto come
una riformulazione dell’energia del segnale nel
dominio delle frequenze anziché nel dominio del
tempo. Ci si aspetta quindi che l’energia totale del
segnale originale sia la stessa della
rappresentazione in serie di Fourier. Questa idea è
formalizzata nel Teorema di Parseval, che può
essere espresso algebricamente come:

∞ ∞ 2
1
∫−∞ f (t )dt = 2 n∑
2
cn
= −∞
Funzioni aperiodiche tempo-continue.
Trasformata di Fourier (1)
Sia x(t) una funzione aperiodica, reale, definita su tutto l’asse t. Si
definisce trasformata di Fourier di x(t) la funzione:
+∞
X (ω ) = ℑ{x(t )} = ∫ x(t )e
− jω t
dt (5)
−∞

Si noti che ω, la variabile indipendente, è un numero reale


appartenente a (-∞,∞ +∞).
∞ Per ogni valore di ω, la funzione X(ω)
assume un valore complesso. In altre parole X(ω) è una funzione
complessa di variabile reale.
La formula di antitrasformazione è:
+∞
x(t ) = ℑ−1 {X (ω )} =
1
∫ X (ω )e
jω t
dω (6)
2π −∞
Funzioni aperiodiche tempo-continue.
Trasformata di Fourier (2)
L’importanza di questa ultima formula non giace tanto nel calcolo
effettivo di x(t) dalla sua trasformata X(ω), calcolo peraltro di notevole
difficoltà, quanto nella possibilità di interpretare la trasformata di
Fourier come generalizzazione della serie di Fourier. Si noti infatti la
somiglianza di forma e di significato tra l’equazione (1) e l’equazione
(6). Il passaggio dalla sommatoria (Eq. (1)) alla somma integrale (Eq.
(6)) si rende necessario per analizzare segnali non periodici (in questo
caso non esiste una pulsazione fondamentale). Inoltre, si noti la
somiglianza tra il calcolo dei coefficienti cn della serie di Fourier e il
calcolo della trasformata di Fourier X(ω). Il coefficiente cn pesa la
sinusoide complessa e jnω0t (Eq. (1)); X(ω) pesa la sinusoide
complessa ejωt. (Eq. (6).
Se x(t) è reale risulta
+∞
1
x(t ) = ∫ X (ω ) cos(ωt + arg X (ω ))dω (7)
π 0

dove X (ω ) = X (ω ) e j arg X (ω )
Funzioni aperiodiche tempo-continue.
Trasformata di Fourier (3)
Posto V(ω )
B
X (ω )
V (ω ) = , ϕ (ω ) = − argX (ω )
π
+∞
x(t ) = ∫ V (ω )cos(ωt − ϕ (ω ))dω (8)
0

L’equazione (8) esprime x(t) come


somma di infiniti termini 0 ω1 ω2 ω
cosinusoidali, il generico dei quali ha
pulsazione ω, ampiezza V(ω)dω e φ(ω )
fase ϕ(ω).

V(ω) definisce lo spettro di ampiezza


e ϕ(ω) lo spettro di fase di x(t).

0 ω1 ω2 ω
Funzioni aperiodiche tempo-continue.
Trasformata di Fourier (4)

Lo spettro di ampiezza permette di introdurre il concetto di BANDA di


un segnale. Si definisce banda (B) del segnale x(t) l’intervallo di
frequenze (pulsazioni) all’interno del quale X(ω) assume valori diversi
da 0. Ad esempio la figura precedente si riferisce ad un segnale per
cui X(ω) è diverso da 0 solo nell’intervallo (ω1,ω2). Si dice allora che
tale intervallo rappresenta la banda di x(t) di cui B indica la larghezza.
Molto spesso X(ω è diverso da 0 da -∞ a +∞; in questo caso la banda
corrisponde all’intervallo in cui X(ω) è significativamente diverso da 0.
Funzioni aperiodiche tempo-continue.
Trasformata di Fourier (5)

Operativamente, nella definizione di banda, si considerano due classi


di segnali:
- segnali di tipo passa-basso, quando la banda è concentrata
attorno allo 0;
- segnali di tipo passa-banda, quando la banda è concentrata
attorno ad una pulsazione ω0
segnali di tipo passa-basso segnali di tipo passa-banda
V(ω ) V(ω )

0 ω0
ω ω
B B
Principali proprietà della
trasformata di Fourier (1)

- Linearità: date due funzioni x(t) e y(t), aventi come trasformate di


ax(t ) + by(t ) → aX (ω ) + bY (ω )

Fourier X(ω) e Y(ω), risulta

-Traslazione nei tempi: la trasformata di Fourier di un segnale ritardato


è uguale alla trasformata del segnale originario moltiplicata per un
esponenziale complesso x(t − t0 ) →

X (ω )e − jωt0

-Traslazione nelle frequenze: traslare in frequenza la trasformata di


Fourier di un segnale equivale a moltiplicare il segnale nei tempi per
un esponenziale complesso x(t )e jω0t →

X (ω − ω0 )

-Derivazione nei tempi: la trasformata di Fourier del segnale derivato è


uguale alla trasformata del segnale originale moltiplicata per jω
dx (t ) ℑ
→ jωX (ω )
dt
Principali proprietà della
trasformata di Fourier (2)

- Integrazione nei tempi: la trasformata di Fourier del segnale integrato


è uguale alla trasformata del segnale originale divisa per jω
X (ω )
∫ x(t )dt →

-Convoluzione nei tempi: la trasformata di Fourier della convoluzione


tra due segnali nel dominio dei tempi è uguale al prodotto delle
trasformate dei due segnali x(t ) ∗ y(t ) = +∞x(τ )y(t − τ )dτ →

X (ω )Y (ω )

−∞

- Convoluzione nelle frequenze: la trasformata di Fourier del prodotto


tra due segnali nel dominio dei tempi è uguale alla convoluzione tra le
+∞
trasformate dei due segnali
x(t ) ⋅ y (t ) = → X (ω ) ∗ Y (ω ) = ∫ X (ξ )y (ω − ξ )dξ

. −∞
Principali proprietà della
trasformata di Fourier (3)
Queste ultime due proprietà possono essere riassunte dicendo che ad
una convoluzione nel dominio dei tempi corrisponde un prodotto nel
dominio delle frequenze e viceversa.

- Relazione di Parseval: l’energia di un segnale è uguale al modulo al


quadrato della sua trasformata:
+∞ +∞
X (ω )
2

∫ x(t )
2
E= dt = ∫ π

−∞ 0

|X(ω)|2/π—dω rappresenta l’energia del segnale in ogni intervallo di


pulsazioni infinitesimo dω. Pertanto |X(ω)|2/π—viene detta densità
spettrale di energia.
Sistemi lineari e trasformata di Fourier (1)
La trasformata di Fourier di un segnale è fondamentale nello studio dei sistemi lineari.
Consideriamo un sistema lineare con funzione di trasferimento

G (ω ) = G (ω ) e − jβ (ω )

dove
β (ω ) = − arg G (ω )

x(t) y(t)
G(ω )

Se applichiamo in ingresso al sistema un segnale sinusoidale di pulsazione ῶ

x(t)=Acos(ῶt),

sappiamo che il segnale in uscita è

y(t)=A|G(ῶ)|cos(ῶt-β(ῶ)).
Sistemi lineari e trasformata di Fourier (2)
Quindi se è nota G(ω) possiamo determinare la risposta del sistema a
qualunque ingresso sinusoidale, ma anche a qualunque ingresso
dotato di trasformata secondo Fourier; infatti la trasformata di Fourier
permette di esprimere un segnale come somma di infinite sinusoidi di
ampiezza infinitesima: +∞
x(t ) = ∫ V (ω ) cos(ωt − ϕ (ω ))dω
0

Ogni sinusoide di ampiezza infinitesima costituente il segnale di


ingresso V (ω ) cos(ωt − ϕ (ω ))dω

produce in uscita la seguente risposta:


V (ω ) G (ω ) cos(ωt − ϕ (ω ) − β (ω ))dω

Per la linearità del sistema, sommando le risposte alle singole


sollecitazioni sinusoidali si ottiene:
+∞
y (t ) = ∫ V (ω ) G(ω ) cos(ωt − ϕ (ω ) − β (ω ))dω
0

che esprime la risposta del sistema all’ingresso x(t).


Sistemi lineari e trasformata di Fourier (3)
Quindi se è nota G(ω) possiamo determinare la risposta del sistema a qualunque
ingresso sinusoidale, ma anche a qualunque ingresso dotato di trasformata secondo
Fourier; infatti la trasformata di Fourier permette di esprimere un segnale come
somma di infinite sinusoidi di ampiezza infinitesima:
+∞
x(t ) = ∫ V (ω )cos(ωt − ϕ (ω ))dω
0

Ogni sinusoide di ampiezza infinitesima costituente il segnale di ingresso produce in


uscita la seguente risposta: V (ω ) cos(ωt − ϕ (ω ))dω

Per la linearità del sistema, sommando le risposte alle singole sollecitazioni


sinusoidali si ottiene: V (ω ) G (ω ) cos(ωt − ϕ (ω ) − β (ω ))dω

che esprime la risposta del sistema all’ingresso x(t).


+∞
y (t ) = ∫ V (ω ) G(ω ) cos(ωt − ϕ (ω ) − β (ω ))dω
0
X (ω )
Ricordando che V (ω ) = , ϕ (ω ) = − argX (ω ) dalla formula di antitrasformazione risulta:
π

Y (ω ) = X (ω ) G (ω ) e − j (ϕ (ω )+ β (ω )) = X (ω ) e j arg X (ω ) G (ω ) e j arg G (ω ) = X (ω )G (ω )
Segnali tempo discreti. Trasformata di
Fourier di serie temporali (1)
Consideriamo una serie temporale x[n], i cui elementi si succedono sull’asse dei
tempi con intervallo Tc, e possono essere sia continui che discreti nei valori.
Questa serie temporale può rappresentare un segnale che ha già origine in tale
forma oppure può rappresentare un segnale ottenuto mediante campionamento di
un segnale tempo continuo x(t) con intervallo di campionamento Tc:
x[n] = x(n—Tc).
La trasformata di Fourier Xs(ω) della serie temporale è definita mediante la
relazione: +∞
X s (ω ) = ∑ x[n]e − jnωTc (9)
n =−∞

Si noti l’analogia tra la formula per il calcolo della trasformata di Fourier di una
funzione tempo continua (Eq. 5) e la formula per il calcolo della trasformata di
Fourier di una funzione tempo discreta. L’integrale nell’Eq. 5 è stato sostituito da
una sommatoria, e il tempo continuo t all’esponente è stato sostituito dagli istanti
discreti n Tc.
Segnali tempo discreti. Trasformata di
Fourier di serie temporali (2)
È importante sottolineare che la funzione Xs(ω) è definita per ogni valore di ω, cioè
è una funzione continua di ω. Tuttavia è immediato verificare che è periodica con
periodo ωc = 2π/Tc, ovvero X s (ω + ω c ) = X s (ω ) . Infatti:
+∞ +∞ +∞ +∞
X s (ω + ω c ) = ∑ x[n]e − jn(ω +ωc )Tc = ∑ x[n]e − jnωTc e − jnωcTc = ∑ x[n]e − jnωTc e − jn2π = ∑ x[n]e − jnωTc = X s (ω )
n= −∞ n= −∞ n= −∞ n = −∞

essendo e − jn 2π c = 1 .

Pertanto ci si può limitare a considerarla nell’intervallo


-π/Tc ÷ π/Tc.

La formula di antitrasformazione è:
π
Tc
Tc
x[n] = ∫ X s (ω )e
jnωTc
dω , n = ... - 1,0,1... (10)
2π π

Tc
Segnali tempo discreti. Trasformata di
Fourier di serie temporali (3)
Consideriamo il caso in cui la serie temporale x[n] sia stata ottenuta per
campionamento di un segnale tempo continuo x(t) con intervallo di campionamento
Tc.

Sia X(ω) la trasformata di Fourier del segnale tempo continuo x(t), e Xs(ω) la
trasformata di Fourier della serie temporale x[n] ottenuta per campionamento di
x(t). Ci chiediamo che relazione esiste tra la trasformata X(ω) del segnale originale
tempo continuo e la trasformata Xs(ω) del segnale campionato. Si può dimostrare
che esiste la seguente relazione:
+∞
1
X s (ω ) = ∑ X (ω + kωc ) (11)
Tc k =−∞


dove ωc = ,
Tc

Tc = periodo di campionamento.
Segnali tempo discreti. Trasformata di
Fourier di serie temporali (4)
L’eq. 11 afferma che la serie dei campioni ha trasformata Xs(ω) che si ottiene
replicando infinite volte la trasformata del segnale originale, essendo ciascuna
replica centrata su una pulsazione multipla della pulsazione di campionamento ωc
= 2π/Tc.

La relazione (11) è di fondamentale importanza perché ci permette di dire se e


quando la conoscenza dei soli valori campionati consente di ricostruire l’intera
forma d’onda; cioè l’eq. 11 fornisce un criterio per la scelta del periodo di
campionamento, in modo che il processo di campionamento non faccia perdere
parte del contenuto informativo del segnale originale. Infatti, dalla conoscenza dei
solo valori campionati x[n] non è possibile risalire all’intera forma d’onda perché
esistono infinite funzioni che negli istanti nTc assumono i valori x[n].
Segnali tempo discreti. Trasformata di
Fourier di serie temporali (5)
In figura è rappresentato lo spettro |X(ω)| del segnale originale x(t) e la sua
ripetizione periodica. Il segnale originale è di tipo passa-basso; ωm è la massima
pulsazione a cui è apprezzabile lo spettro.

|X(ω)|

-ωm ωm ω
|Xs (ω)|

|X(ω+2ωc)| |X(ω-2ωc)|

-2ωc -ωc -ωm 0 ωm ωc 2ωc ω


ωc-ωm
Segnali tempo discreti. Trasformata di
Fourier di serie temporali (6)
Come evidenzia la figura precedente, la conoscenza della ripetizione periodica di
X(ω) non consente in generale di risalire ad X(ω), e quindi a x(t) a causa della
sovrapposizione tra i diversi termini della ripetizione periodica (fenomeno noto
come ALIASING nel dominio delle frequenze). È sufficiente però che si presenti la
circostanza in cui tutti i termini ripetuti occupano bande distinte (figura successiva),
per poter risalire da Xs(ω) a X(ω) e quindi ricostruire il segnale originale x(t) dalla
serie di campioni x[n].
|Xs (ω)|

ωc/2

-2ωc -ωc -ωm 0 ωm ωc-ωm ωc 2ωc ω

La separazione dei termini mostrata nella precedente figura avviene quando


ω m ≤ω c −ω m ⇔ω c ≥ 2ω m , ovvero in termini di frequenza
f c≥ 2 f m .
Segnali tempo discreti. Trasformata di
Fourier di serie temporali (7)
In conclusione, quando la frequenza di campionamento è maggiore del doppio
della massima frequenza contenuta nello spettro di x(t), la conoscenza dei valori
campionati individua in maniera univoca la funzione originaria x(t) (TEOREMA DI
SHANNON O TEOREMA DEL CAMPIONAMENTO NEL DOMINIO DEI TEMPI).
Lo spettro del segnale originale coincide, nel caso in figura, con il termine della
ripetizione periodica centrato su ω = 0, a meno della costante moltiplicativa 1/Tc:
 ω
Tc ⋅ X s (ω ), ω ≤ c
X (ω ) =  2
0, altrove |Xs (ω)|

-2ωc -ωc -ωm 0 ωm ωc-ωm ωc 2ωc ω

-ωc/2 ωc/2

Per ottenere X(ω) è sufficiente moltiplicare Xs(ω) per la funzione di trasferimento di


un filtro passa-basso ricostruttore Hr(ω):  ω
T , ω ≤ c
H r (ω ) =  c 2
. 0, altrove
Trasformata di Fourier discreta (1)

La trasformata discreta di Fourier nasce dall’esigenza di implementare al


calcolatore la trasformata di Fourier di una funzione del tempo, cioè dall’esigenza
di eseguire un’analisi spettrale usando tecniche numeriche.
Al calcolatore i segnali sono rappresentati in forma digitale (tempo discreti e
discreti nei valori), cioè sono serie temporali x[n]. Quindi, per calcolare lo spettro di
un segnale si deve considerare la trasformata di serie temporali:
+∞
X s (ω ) = ∑ x[n]e − jnωTc
n =−∞

In realtà questa formula non è implementabile al calcolatore per 2 motivi:

- considera una serie temporale di durata infinita

- è una funzione continua di ω.


Trasformata di Fourier discreta (2)

Al calcolatore viene considerata una serie temporale di lunghezza finita (N):


x[n] n=0,1,!N-1
(senza perdere di generalità assumiamo come istante t=0, l’istante di inizio
dell’acquisizione)
e la trasformata di Fourier viene processata in forma numerica, cioè anche lo
spettro del segnale viene campionato. Il calcolatore considera solo alcune righe
dello spettro, in corrispondenza alle pulsazioni ωk = ωNc k , k = 0,1,!N-1.
Poiché lo spettro si ripete identicamente ogni ωc, il campionamento viene fatto
solo nell’ intervallo (0, ωc).
|Xs (ω)|

-ωc 0 ωc ω

ωk = k
NTc
Trasformata di Fourier discreta (3)

Quindi la trasformata discreta di Fourier stabilisce una corrispondenza biunivoca


tra N-uple di numeri: a partire da una serie temporale di N valori nel dominio dei
tempi
x[n] n=0,1,!N-1

la trasformata di Fourier discreta fornisce una sequenza di N valori

X[k] k=0,1,!N-1

che rappresentano i campioni della trasformata della sequenza di partenza in


corrispondenza alle pulsazioni ω

ωk = k= ck k=0,1,!N-1.
NTc N

Si definisce trasformata discreta di Fourier della serie temporale x[n] di durata N la


sequenza 2π 2π
N −1 N −1 − jn kTc N −1 − jn k
X [k ] = ∑ x[n] ⋅ e − jnωk Tc
= ∑ x[n] ⋅ e NTc
= ∑ x[n] ⋅ e N , k = 0,1,..N - 1 (12).
n =0 n =0 n =0
Trasformata di Fourier discreta (3)

Si noti l’analogia tra l’eq. (9) per il calcolo della trasformata di Fourier Xs(ω)
(continua in ω) di una serie temporale, e l’eq. 12 per il calcolo della trasformata
discreta di Fourier: la sommatoria anziché infinita è estesa ad un numero finito di
termini, e la sinusoide complessa è calcolata solo in corrispondenza alle pulsazioni
ωk.
La formula di antitrasformazione è: 2π
1 N −1 jk n
x[n ] = ∑ X [k ] ⋅ e N , n = 0,1,....N - 1 (13)
Nk =0

La trasformata discreta di Fourier esegue un campionamento di uno spettro


continuo, dando luogo ad uno spettro a righe. Uno spettro a righe corrisponde
sempre ad un segnale periodico. Così come un campionamento nel dominio dei
tempi dà luogo ad una periodicità nel dominio delle frequenze, un campionamento
nel dominio delle frequenze dà luogo ad una periodicità nel dominio dei tempi.
Pertanto, lo spettro a righe calcolato dalla trasformata di Fourier discreta è lo
spettro della sequenza x[n] che si ripete periodicamente ogni N, ovvero è lo spettro
della ripetizione periodica xr[n] di x[n] +∞
x r [n ] = ∑ x[n + jN ] .
j = −∞
Trasformata di Fourier discreta (4)

La distanza tra due righe dello spettro calcolato mediante la trasformata discreta di
Fourier è: 2π
∆ω = ,
NTc

la risoluzione in frequenza è quindi:


1 1
∆f = = Fc
NTc N

dove Fc è la frequenza di campionamento del segnale x(t).


.
Fast Fourier Transform (FFT)

Nelle formule (12) e (13) di trasformazione ed antitrasformazione compare un


numero di moltiplicazioni pari ad N2, cioè pari al quadrato della lunghezza della
serie da processare. Poiché il tempo di calcolo è praticamente determinato da tali
moltiplicazioni, possiamo dire che esso cresce proporzionalmente ad N2.
Tuttavia esistono degli algoritmi per il calcolo della traformata discreta di Fourier e
della sua inversa che permettono di ridurre drasticamente il tempo richiesto,
rendendolo proporzionale ad N. I vantaggi sono sempre più sensibili all’aumentare
di N.
tempo di calcolo
Gli algoritmi che permettono di ottenere ∝N2
questo risultato sono molteplici; ad essi
viene attribuita la denominazione di
trasformata di Fourier veloce (FFT=Fast
Fourier Transform). ∝N
Matlab dispone di questo algoritmo.
L’istruzione per il calcolo della trasformata
discreta di Fourier mediante algoritmo
veloce è fft.
N
Calcolo e visualizzazione dello spettro di una
serie temporale in Matlab (1)
Si supponga di aver campionato ed acquisito su calcolatore un segnale per un
certo intervallo di tempo.
Sia Tc il periodo di campionamento, ed N il numero totale di campioni acquisiti. La
durata complessiva dell’acquisizione è dunque NTc.
Prima di procedere all’elaborazione del segnale, esso deve essere caricato nello
workspace di Matlab.
Indichiamo con x il segnale nell’ambiente Matlab. x è un vettore di N elementi reali
(riga o colonna).
L’istruzione
>> X = fft(x);
calcola i coefficienti X[k] della trasformata discreta di Fourier del vettore x e li
memorizza nel vettore X. X è dunque anch’esso un vettore di N elementi, in questo
caso si tratta di elementi complessi. Per determinare le righe dello spettro, devo
quindi considerare il valore assoluto degli elementi di X:
>> S=abs(X)/N;
La divisione per N (lunghezza della serie temporale x) deriva dalla presenza del
coefficiente moltiplicativo 1/N nella formula di antitrasformazione.
Calcolo e visualizzazione dello spettro di una
serie temporale in Matlab (2)
Il vettore S così ottenuto è un vettore di N elementi reali. I suoi elementi sono le
2π ω
righe dello spettro in corrispondenza alle pulsazioni ω k = NT k= ck
N
k=0,1,!N-1,
c

1 F
ovvero in corrispondenza alle frequenze fk = k= ck , k=0,1,!N-1.
NTc N

Matlab, tuttavia, non è in grado di calcolare tali frequenze in quanto non conosce la
frequenza di campionamento del segnale. Quindi l’utente deve definire il vettore
delle frequenze a cui devono essere posizionate le righe dello spettro:
>> Fc=….; % frequenza di campionamento
>> F=[0:1/N:N-1/N]*Fc;
A questo punto posso graficare lo spettro a righe:
>> plot(F,S), xlabel(‘freq (Hz)’), ylabel(‘spettro’)
spettro
Con questo istruzione si ottiene
uno spettro bilaterale
del tipo riportato in figura:

0 Fc/2 Fc freq (Hz)


Calcolo e visualizzazione dello spettro di una
serie temporale in Matlab (3)
Per ottenere uno spettro unilaterale (che è il modo più consueto per visualizzare lo
spettro di un segnale), le istruzioni da eseguire sono le seguenti:
>> S=2*abs(X)/N;
>> Fc=...;
>> F=[0:1/N:N-1/N]*Fc;
>> plot(F,S), xlabel(‘freq (Hz)’), ylabel(‘spettro’),xlim([0 Fc/2])
In questo modo si ottiene un grafico del tipo:

spettro

0 Fc/2 freq (Hz)


dove le righe sono alte il doppio rispetto al grafico precedente. La moltiplicazione
per 2 nel calcolo di S è necessaria per conservare l’energia del segnale.
HRV (1)
HRV (2)
HRV (3)
HRV (4)
HRV (5)

You might also like