Pagina 1 di 1

dft e fft (trasformata discreta e veloce di Fourier)

MessaggioInviato: 6 dic 2012, 20:39
da jupiter
Ciao,


avrei alcune domande da porvi... :roll:

1)la trasformata discreta cosa trasforma ?...e in cosa?

2)perché si preferisce la trasformata veloce alla trasformata discreta?


io ho da poco letto della trasformata di Fourier, che tramite essa possiamo rappresentare nel dominio della frquenza un segnale dal dominio del tempo, come somma di armoniche aventi frequenza multipla di quella base,e ampiezza e fase differenti. ;-)

Grazie O_/

Re: dft e fft (trasformata discreta e veloce di Fourier)

MessaggioInviato: 6 dic 2012, 21:05
da Lele_u_biddrazzu
jupiter ha scritto:...1)la trasformata discreta cosa trasforma ?...e in cosa?...

La DFT (Discrete Fourier Transform) trasforma una sequenza x(n), costituita da N elementi, nel dominio nel tempo in una sequenza X(m), anch'essa costituita da N elementi, nel dominio della frequenza:

X\left(m\right)=\sum_{n=0}^{N-1}x\left(n\right)\,\text{e}^{-\text{j}\frac{2\pi mn}{N}}

jupiter ha scritto:...2)perché si preferisce la trasformata veloce alla trasformata discreta?...

Le tecniche FFT non sono altro che algoritmi particolarmente efficienti per calcolare la DFT di un data sequenza x(n).

Re: dft e fft (trasformata discreta e veloce di Fourier)

MessaggioInviato: 6 dic 2012, 22:05
da jupiter
Ciao,

ti ringrazio per la risposta :-)

quindi la DFT in un certo senso è la trasformata di Fourier che opera su un segnale discreto?

p.s. il vantaggio in questo caso qual è?

grazie ancora O_/

Re: dft e fft (trasformata discreta e veloce di Fourier)

MessaggioInviato: 6 dic 2012, 22:27
da Lele_u_biddrazzu
jupiter ha scritto:...quindi la DFT in un certo senso è la trasformata di Fourier che opera su un segnale discreto?...

In un certo senso sì. Dato un segnale tempo discreto x(n) è possibile applicare la DTFT (Discrete Time Fourier Transform), ovvero la trasformata di Fourier nella seguente forma...

X\left(\omega\right)=\sum_{n=-\infty}^{\infty}x\left(n\right)\,\text{e}^{-\text{j}\omega n}

ottenendo così una funzione continua della pulsazione \omega.

La DFT la puoi pensare invece come la versione "campionata" della DTFT, ovvero...

X\left(m\right)=X\left(\omega\right)\Big|_{\omega=\frac{2\pi m}{N}}

Il discorso è chiaramente più articolato, tuttavia mi auguro di averti fornito qualche spunto di riflessione :-)

Re: dft e fft (trasformata discreta e veloce di Fourier)

MessaggioInviato: 7 dic 2012, 0:02
da TardoFreak
Sull' argomento ho letto un libro bellissimo: The Scientist and Engineer's Guide to Digital Signal Processing.
E' scritto benissimo, è comprensibile ed è pure divertente da leggere (il che non guasta). :ok:

Re: dft e fft (trasformata discreta e veloce di Fourier)

MessaggioInviato: 7 dic 2012, 0:46
da RenzoDF
TardoFreak ha scritto:Sull' argomento ho letto un libro bellissimo: ...


http://ft-sipil.unila.ac.id/dbooks/The% ... rocess.pdf

che qualche distratto da dimenticato insieme a molti altri interessanti testi su

http://ft-sipil.unila.ac.id/dbooks/

Re: dft e fft (trasformata discreta e veloce di Fourier)

MessaggioInviato: 7 dic 2012, 1:03
da TardoFreak
iOi iOi iOi

Re: dft e fft (trasformata discreta e veloce di Fourier)

MessaggioInviato: 7 dic 2012, 2:42
da jordan20
Se posso permettermi di aggiungere e completare quanto già esposto ottimamente da Foto UtenteLele_u_biddrazzu per rispondere alla domanda di Foto Utentejupiter e dirimere, spero, qualche dubbio.

Gli algoritmi per il calcolo numerico efficiente della trasformata di Fourier, sintetizzato in FFT, altro non derivano che dalla stessa trasformata discreta di Fourier (quindi non è che all'uno si preferisce l'altro, essendo due cose legate).

Ora tu hai scritto:
jupiter ha scritto:io ho da poco letto della trasformata di Fourier, che tramite essa possiamo rappresentare nel dominio della frquenza un segnale dal dominio del tempo, come somma di armoniche aventi frequenza multipla di quella base,e ampiezza e fase differenti.


ma attenzione a non confondere la serie di Fourier con la trasformata di Fourier :!:
Per quanto hai scritto, ti stai riferendo alla prima, cioè alla serie, con la quale possiamo rappresentare un segnale periodico di periodo T_{0} (sia esso tempo continuo che tempo discreto) come sovrapposizione discreta di infiniti fasori aventi frequenze multiple di una stessa frequenza (detta proprio fondamentale f_{0}=\frac{1}{T_{0}}), ciascuno dei quali è moltiplicato per un coefficiente generalmente complesso X_{k}. Nel caso di segnali tempo continui abbiamo in formule:

x(t)=\sum_{k=-\infty }^{+\infty }X_{k}e^{j2\pi kf_{0}t}

X_{k}=\frac{1}{T_{0}}\int_{T_{0}}x(t)e^{-j2\pi kf_{0}t}\text{d}t

Nel caso di segnali tempo discreti periodici x(n), di periodo N_{0} e frequenza fondamentale \nu _{0}=\frac{1}{N_{0}}, la serie di Fourier è così definita:

x(n)=\frac{1}{N_{0}}\sum_{k=0}^{N_{0}-1}X(k)e^{j2\pi k\frac{n}{N_{0}}}

X(k)=\sum_{k=0}^{N_{0}-1}x(n)e^{-j2\pi k\frac{n}{N_{0}}}

Quindi sia per segnali continui che discreti periodici, lo spettro in frequenza è discreto.

Invece la trasformata consente di rappresentare sia segnali tempo continui che tempo discreti qualsiasi, quindi anche aperiodici, nel dominio della frequenza sempre come sovrapposizione questa volta continua (cioè sostituendo l'operatore integrale a quello della sommatoria) di fasori aventi frequenza variabile su tutto l'asse reale; il che vuol dire che questa frequenza può assumere tutti i possibili valori reali, a differenza della serie di Fourier dove la frequenza assume solo valori multipli della fondamentale :!: Quindi lo spettro in frequenza sarà continuo.

Ora supponiamo di voler calcolare la trasformata di Fourier di un segnale tempo continuo che "giusto giusto" è anche periodico, quindi rappresentabile in serie come scritto sopra:

x(t)=\sum_{k=-\infty }^{+\infty }X_{k}e^{j2\pi kf_{0}t}

Trasformando secondo Fourier ambo i membri, ricordandomi del seguente risultato notevole della trasformata di Fourier:

e^{j2\pi kf_{0}t}\rightleftharpoons \delta (f-kf_{0})

ottengo:

X(f)=\sum_{k=-\infty }^{+\infty }X_{k}\delta (f-kf_{0})=\sum_{k=-\infty }^{+\infty }X_{k}\delta (f-\frac{k}{T_{0}})

ovvero uno spettro detto a righe che somiglia a qualcosa di discreto (a conferma di quanto detto sopra, quindi è una caratteristica che vale sempre per i segnali periodici) formato da impulsi di Dirac equispaziati dalla frequenza fondamentale f_{0}. Però attenzione :!: La presenza di impulsi di Dirac ci ricorda che lo spettro è ancora una funzione continua della frequenza: infatti nella serie i coefficienti X_{k} sono funzione della variabile discreta k, mentre la trasformata di Fourier del segnale periodico è funzione della variabile continua f.

Allora si può dire "terra terra" che la serie di Fourier si può rivedere come una rappresentazione discreta del contenuto spettrale di un segnale periodico, mentre la trasformata di Fourier è una rappresentazione continua della stessa quantità.

Ora, nel caso della DFT, sia il tempo sia la frequenza sono rappresentati in forma discreta; la DFT fornisce sostanzialmente un'approssimazione della trasformata di Fourier.

Suppongo quindi di avere a disposizione una sequenza finita di dati \left \{ g_{0},g_{1},...,g_{N-1} \right \} che ho ottenuto, ad esempio, campionando un segnale analogico g(t) (una tensione, una corrente, ad esempio) negli istanti di tempo t=0, T_{s},...,(N-1)T_{s}, dove T_{s} è il periodo di campionamento. A questo punto posso definire formalmente la DFT come:

G_{k}=\sum_{n=0}^{N-1}g(nT_{s})e^{-j2\pi k\frac{n}{N}}\,\,\,\,\,\,k=0,1,...,N-1

Come vedi, ottengo quindi una nuova sequenza discreta \left \{ G_{0}, G_{1},...,G_{N-1} \right \}; analogamente posso definire l'operazione inversa detta IDFT (inverse discrete Fourier transform) come:

g_{n}=\frac{1}{N}\sum_{n=0}^{N-1}G_{k}e^{j2\pi k\frac{n}{N}}\,\,\,\,\,\,n=0,1,...,N-1

Quindi DFT e IDFT costituiscono una coppia di trasformate; in particolare, data la sequenza discreta di dati g_{n}, posso utilizzare la DFT per calcolare la sequenza discreta trasformata G_{k} e viceversa usando la IDFT.

Un'importante caratteristica della DFT è che, visto che "manipola" somme finite di campioni o dati, non pone alcun problema di convergenza (che invece deve essere posto a priori nello studio della trasformata continua e c'è un bel po' da discutere :-P ) :!:

Il fatto che la DFT opera sia in ingresso che in uscita con sequenze di numeri in buona sostanza, la rende ideale per la valutazione numerica diretta su calcolatore: questo si può fare implementando proprio la FFT. La classe di questi algoritmi FFT è computazionalmente molto efficiente perché fa uso di un numero di operazioni aritmetiche estremamente ridotto rispetto al calcolo "brutale" della DFT. Questa efficienza computazionale della FFT segue sostanzialmente una strategia molto comune nell'ambito informatico e sistemistico, di cui avrai sicuramente sentito parlare: il cosiddetto metodo divide et impera, in base al quale l'originale calcolo della DFT si "decompone" in maniera iterativa in successivi calcoli di DFT sempre più piccole.