Serie e Trasformata Di Fourier - Elaborazione Numerica Dei Segnali - Sandro Petrizzelli
Serie e Trasformata Di Fourier - Elaborazione Numerica Dei Segnali - Sandro Petrizzelli
Serie e Trasformata Di Fourier - Elaborazione Numerica Dei Segnali - Sandro Petrizzelli
RISPOSTA ALL’IMPULSO
La proprietà di linearità ha una notevole importanza, in un sistema, in quanto consente di
semplificare l’analisi del sistema stesso in base al seguente ragionamento: dato il nostro sistema,
supponiamo di avere un ingresso e(t) e di voler calcolare la corrispondente risposta; anziché ripetere
lo stesso calcolo ogni volta, cioè per ogni possibile ingresso e(t), è molto comodo rappresentare
l’ingresso e(t) come combinazione lineare di opportuni segnali elementari rispetto ai quali si
Appunti di “Elaborazione numerica dei segnali”
conosca la risposta del sistema: in questo modo, infatti, la risposta ad e(t) sarà ottenuta come
sovrapposizione delle risposte ai singoli segnali elementari.
Si pone allora il problema di quali segnali elementari scegliere. Uno di questi è sicuramente il
noto impulso di Dirac, indicato con δ(t). A tal proposito, è bene ricordare che il δ(t) non è
propriamente una funzione, ma una distribuzione; ciò significa che esso ha senso solo se si trova
all’interno di un integrale: infatti, la definizione del rigorosa δ(t) fa riferimento a quel particolare
segnale tale che
+∞
−∞
∫ δ(t ) f (t )dt = f (0)
Questa relazione deriva dal fatto che δ(t) è un impulso, centrato in t=0, di base infinitesima e di
area infinita1.
Naturalmente, possiamo anche spostare l’impulso, applicandolo, anziché in t=0, in un generico
istante τ: una diretta conseguenza di quella relazione è che
+∞
Usiamo dunque l’impulso di Dirac, applicato in un generico istante τ, come ingresso al nostro
sistema lineare e calcoliamo la corrispondente risposta2: la indichiamo genericamente con h(t,τ), per
sottolineare il fatto che essa dipende, in generale, da τ nonché ovviamente dal tempo.
δ( t − τ) Sistema h ( t , τ)
lineare
Se il sistema è tempo-invariante, è ovvio che la risposta del sistema non più dipendere dagli
istanti t e τ in modo assoluto, ma solo dalla loro distanza, per cui la risposta sarà in questo caso h(t-
τ):
δ( t − τ) Sistema h ( t − τ)
lineare
tempo-invariante
Dobbiamo ora capire come sfruttare h(t-τ) per calcolare la risposta del sistema (lineare tempo-
invariante) al generico ingresso e(t).
Se noi consideriamo un impulso δ(t-t1) applicato in ingresso al sistema in un istante t1, avremo
una risposta h(t-t1); se applichiamo un altro impulso δ(t-t2), avremo una risposta h(t-t2) e così via. La
risposta del sistema all’ingresso costituito da una combinazione (lineare) di impulsi sarà quindi una
combinazione, con gli stessi coefficienti, delle risposte ai singoli impulsi:
1
Osserviamo inoltre che quell’integrale rappresenta, per semplice definizione, il prodotto scalare tra i segnali δ(t) ed f(t).
2
che non sarà la cosiddetta risposta all’impulso del sistema, che invece è definita solo come la risposta del sistema ad un
impulso applicato in t=0, ossia come risposta a δ(t). Essa si indica con h(t)
e( t ) = αδ ( t − t 1 ) + βδ ( t − t 2 ) + γδ( t − t 3 ) + ...
→ u ( t ) = αh ( t − t 1 ) + βh ( t − t 2 ) + γh ( t − t 3 ) + ...
Il segnale di ingresso e(t) sarà composto da infiniti impulsi, applicati ognuno in un istante diverso
ed aventi area pari al valore di e(t) in quello stesso istante; la risposta complessiva sarà allora
ottenuta come somma delle infinite risposte, vale a dire come integrale3 delle risposte:
+∞
u ( t ) = ∫ e ( t − τ) h ( τ) d τ
−∞
A ben vedere, questa è la nota formula di convoluzione tra l’ingresso e(t) e la funzione di risposta
all’impulso h(t) del sistema:
u ( t ) = e( t ) * h ( t )
+∞ +∞
u ( t ) = e( t ) * h ( t ) = ∫ e( t − τ)h ( τ)dτ = ∫ e(τ) h ( t − τ)dτ = h ( t ) * e( t )
−∞ −∞
A questo punto, ha senso chiedersi se questo modo di procedere per calcolare l’uscita del generico
sistema lineare tempo-invariante sia effettivamente comodo oppure no. In effetti la risposta è no,
dato che non sempre il calcolo dell’integrale di convoluzione è agevole. Si può allora provare a dare,
del segnale generico in ingresso, un’altra descrizione, possibilmente più comoda di quella come
somma di infiniti impulsi.
Si tratta cioè di scegliere un altro tipo di funzioni elementari. Si possono ad esempio utilizzare le
cosiddette autofunzioni del sistema: si tratta di segnali con la particolarità che, entrando in
ingresso al sistema, ne escono identici, salvo un fattore di scala (reale o complesso).
autofunzione
x(t) Sistema ax(t)
lineare
tempo-invariante
3
Il fatto che ci sia un integrale da calcolare è sempre legato al fatto che il sistema presenta una memoria, per cui la risposta in un
dato istante non dipende solo dal valore dell’ingresso in quell’istante, ma anche dai valori in un certo numero di istanti
precedenti.
4
Sappiamo infatti che un sistema lineare non può generare in uscita componenti spettrali a frequenza diversa da quelle ingresso.
Questa caratteristica compete solo ai sistemi non lineari
dicendo che la risposta del sistema ad una certa frequenza è disaccoppiata dalle risposte del
sistema a tutte le altre frequenze.
• in primo luogo, per i sistemi non lineari, le sinusoidi non sono affatto delle autofunzioni:
pensiamo ad esempio ad un sistema con caratteristica quadratica;
• in secondo luogo, per i sistemi lineari, ci possono essere funzioni diverse dalle sinusoidi ma
che rappresentano ugualmente delle autofunzioni: per esempio, se consideriamo un derivatore e
gli mandiamo in ingresso il segnale eαt, ricaviamo in uscita αeαt, cioè un segnale identico
all’ingresso, salvo il fattore di scala α.
Si dimostra che questo segnale, oltre che con la sua normale rappresentazione analitica,
è esprimibile anche con il seguente sviluppo in serie, detto appunto serie di Fourier:
+∞
x(t) = ∑x
n = −∞
n e j2 πf n t
dove fn=n/T.
I coefficienti di questo sviluppo hanno la seguente espressione:
T/ 2
1
xn = ∫ x( t ) e − j2πf n t dt
T − T/ 2
In pratica, abbiamo espresso x(t), come si diceva nel paragrafo precedente, come somma di
infinite sinusoidi (ciascuna pesata da un proprio coefficiente), espresse ciascuna in termini di
esponenziale complesso (cioè come un vettore rotante). Non solo, ma tali sinusoidi non sono di
periodo qualsiasi, ma di periodo multiplo del periodo T del segnale x(t) originario.
E’ ovvio che la possibilità di usare una simile rappresentazione di x(t) presuppone la possibilità di
calcolare gli xn, ossia di risolvere l’integrale riportato nell’ultima formula.
Inoltre, trattandosi di una serie, la serie di Fourier può convergere o meno. Noi riterremo sempre
verificata la convergenza, il che equivale a dei requisiti tutt’altro che stringenti per il segnale x(t)
(che può essere, in generale, sia reale sia complesso).
Per quanto riguarda specificamente i coefficienti dello sviluppo, generalmente sono
complessi e possiamo subito vedere perché: se noi applichiamo le formule di Eulero
e jx + e − jx
cos x =
2
e − e − jx
jx
sinx =
2j
abbiamo che
e − j2 πft = cos( 2πft ) − jsin( 2πft)
1
T/ 2
1 T/ 2
( ) ( )
T − T∫/ 2 T − T∫/ 2
xn = x ( t ) cos 2 πf n t dt + j − x ( t ) sin 2 πf n t dt
144424443 14444244443
Re( x n ) Im( xn )
Dimostrazione della formula dei coefficienti dello sviluppo di Fourier per x(t)
reale
Sempre a proposito dei coefficienti, cerchiamo subito di renderci conto come si arriva alla loro
espressione. Possiamo partire considerando un particolare integrale:
T/2 1 1
j2 π nt − j2 π mt
∫e
−T / 2
T
e T
dt
Senza scendere nei dettagli analitici5, si può dimostrare (usando le formule di Eulero per
esplicitare i due esponenziali e considerando la parità della funzione Coseno e la disparità della
funzione Seno) che questo integrale può assumere soltanto due valori, a seconda dei valori di m e di
n (entrambi numeri interi):
T/2 1
j2 π nt
1
− j2 π mt T se m = n
∫
−T / 2
e T
e T
dt =
0 se m ≠ n
5
per i quali si rimanda a quanto visto nel corso di Teoria dei Segnali
Possiamo allora facilmente sfruttare questo risultato: per prima cosa, considerando lo sviluppo di
1
− j 2 π mt
T
Fourier di x(t), moltiplichiamo ambo i membri per e , ottenendo
1
− j 2 π mt +∞ 1
j 2 π nt
1
− j 2 π mt
x ( t )e T
= ∑x
n = −∞
n e T
e T
Adesso integriamo tra -T/2 e T/2, in modo da ottenere a secondo membro proprio l’integrale citato
prima:
T/2 1
− j 2 π mt
T/2 +∞ 1
j2 π nt
1
− j 2 π mt
∫
−T / 2
x ( t )e T
dt = ∫ ∑x
− T / 2 n = −∞
n e T
e T
dt
T/2 1
− j2 π mt +∞ T/2 1
j2 π nt
1
− j 2 π mt +∞ T/2 1
j 2 π nt
1
− j 2 π mt
∫ x ( t )e T
dt = ∑ ∫
n = −∞ − T / 2
xne T
e T
dt = ∑x ∫ e
n = −∞
n
T
e T
dt
−T / 2 −T / 2
L’integrale a secondo membro è, come detto, proprio quello citato prima; allora, considerando che
abbiamo infiniti integrali, per n che va da -∞ a +∞, è evidente che l’unico non nullo (ma paria T) è
quello che si ottiene per n=m, per cui scriviamo che
T/2 1
− j 2 π mt
∫
−T / 2
x ( t )e T
dt = x m T
Da qui si ottiene l’espressione del generico coefficiente dello sviluppo in serie, per cui abbiamo
ottenuto quello che volevamo.
TRASFORMATA DI FOURIER
Se il segnale s(t) considerato non è più periodico (il che si può anche esprimere dicendo che il
periodo T tende all’infinito), lo sviluppo in serie di Fourier subisce delle modifiche: infatti,
considerando T→∞, la sommatoria si trasforma in un integrale, con l’accortezza che tale integrale
non necessariamente converge:
+∞
s( t ) = ∫ S( f )e j2 πft df
−∞
Nel passaggio dalla sommatoria all’integrale, in pratica continuiamo a descrivere x(t) come
combinazione di funzioni base sinusoidali, ma con due differenze: in primo luogo, cambiamo i
coefficienti di peso; in secondo luogo, non consideriamo più frequenze con valori discrete, ma tutte
le possibili frequenze tra -∞ e +∞.
I coefficienti di peso sono adesso rappresentati da S(f), cioè appunto dalla trasformata di
Fourier di s(t). Tali coefficienti si calcolano tramite un integrale del tutto simile a quello usato per i
coefficienti dello sviluppo di Fourier:
+∞
S( f ) = ∫ s( t )e − j2 πft dt
−∞
+∞
ES = ∫ s( t )
2
dt
−∞
(valida ovviamente nel dominio della frequenza), dove S(f) è la trasformata del segnale in ingresso,
mentre H(f) è il fattore moltiplicativo complesso che tiene conto della variazione di fase e di
ampiezza introdotte dal sistema. Nota U(f), il calcolo di u(t) si ottiene tramite antitrasformazione.
Il segnale x(t) in questione è espresso, in questo caso, come somma di infiniti termini esponenziali
complessi del tipo e j2 πf n t : separando i termini per n<0, n=0 e n>0, abbiamo quanto segue:
−1 +∞
x(t ) = ∑ x n e j2πf n t + x 0 + ∑ x n e j2πf n t
n = −∞ n =1
+∞ +∞ +∞ +∞
x(t) = ∑ x n e j2 πf n t =
n = −∞
∑ x n (cos(2πf n t ) + jsin(2πf n t) ) =
n = −∞
∑ x n cos(2πf n t) + j ∑ x n sin (2π n ft)
n = −∞ n = −∞
Inoltre, se tiriamo fuori dalle due sommatorie il termine che si ottiene per n=0 otteniamo
+∞ +∞
x( t ) = [ x 0 cos( 2πf 0 t ) + x 0 sin( 2πf 0 t )] + ∑x n cos( 2πf n t ) + j ∑ x n sin( 2π n ft )
n = −∞ n = −∞
n≠ 0 n≠ 0
+∞ +∞
x(t) = x 0 + ∑ x n cos(2πf n t ) + j ∑ x n sin (2π n ft)
n = −∞ n = −∞
n ≠0 n ≠0
+∞
x ( t ) = c 0 + ∑ c n cos(2πf n t + ϕ n )
n =1
Come anticipato prima, abbiamo dunque una somma di segnali sinusoidali reali a tutte e sole le
frequenze positive, inclusa quella nulla.
cos(2πf 0 t ) =
1 j2 πf 0 t 1 − j2 πf 0 t
e + e
2 2
Il primo membro rappresenta il segnale come una sinusoide reale, mentre il secondo membro
rappresenta lo stesso identico segnale come somma di due esponenziali complessi coniugati. Per la
rappresentazione reale, consideriamo la sola frequenza f0 positiva del segnale, mentre per la
rappresentazione esponenziale dobbiamo considerare sia f0 sia -f0.
6
Pensiamo ad esempio a come si faciliti il calcolo della derivata o dell’integrale di un segnale: ad una derivazione nel tempo
corrisponde, nel dominio delle frequenze, una moltiplicazione per j2πf, mentre ad una integrazione nel tempo corrisponde una
divisione per j2πf.
In un piano complesso, in cui l’asse orizzontale è l’asse dei segnali reali, una funzione sinusoidale
del tipo
A * − j2 πf 0 t
s( t ) = A cos(2πf 0 t + ϕ 0 ) = e j2 πf 0 t +
A
e
2 2
viene rappresentata da due vettori simbolici ruotanti. All’istante t=0, i due vettori rappresentano,
semplicemente, A/2 e A*/2 rispettivamente; per gli istanti t>0, i due vettori rappresentano invece
A j2 πf 0t A * − j2 πf0 t
e e e . Il vettore risultante è reale ed ha appunto il valore A cos(2πf 0 t + ϕ 0 ) .
2 2
L’inconveniente di dover usare gli esponenziali, e quindi due vettori, si supera, nella normale
pratica, usando un solo vettore, cioè un solo esponenziale: precisamente, si considera l’esponenziale
Ae j2 πf0 t , con la convenzione che il segnale da esso rappresentato sia la proiezione del vettore
medesimo sull’asse reale, ossia appunto il suo valore reale:
[
s( t ) = A cos(2πf 0 t + ϕ 0 ) = Re Ae j2 πf 0 t ]
Questa rappresentazione è, per la sua comodità, quella più diffusa.
A questo punto, ci possiamo chiedere se la rappresentazione delle grandezze sinusoidali nella
[ ]
forma Re Ae j2 πf 0 t sia estendibile anche alla serie di Fourier ed alla trasformata di Fourier di un
segnale arbitrario (periodico nel caso della serie di Fourier). La risposta è ovviamente positiva: in
particolare, con riferimento alla antitrasformata di Fourier di uno spettro S(f), possiamo scrivere che
+∞
s( t ) = Re 2 ∫ S(f )e j2 πft df
0+
Notiamo subito che l’estremo inferiore di integrazione è 0+: questo è dovuto alle cautele con cui si
deve trattare la componente continua (f=0), che è infatti l’unica frequenza che non ha, in S(f), due
componenti simmetriche rispettivamente a destra ed a sinistra dell’origine.
Se, per ovviare all’inconveniente, si ipotizza che anche a frequenza 0 si abbiano due componenti
(rispettivamente a frequenze 0+ e 0-), allora si può anche prendere direttamente 0 come estremo di
integrazione:
+∞
s( t ) = Re 2 ∫ S(f )e j2 πft df
0