Perché la trasformata di Fourier è così importante?


129

Tutti discutono della trasformata di Fourier quando discutono dell'elaborazione del segnale. Perché è così importante l'elaborazione del segnale e cosa ci dice del segnale?

Si applica solo all'elaborazione del segnale digitale o si applica anche ai segnali analogici?


10
Recentemente una discussione sulle trasformazioni di Fourier è stata rianimata su math.SE e ho pensato che le persone su questo sito avrebbero potuto ritenerne utile una parte e che avrebbero persino voluto partecipare.
Dilip Sarwate,

1
cf. questa risposta per un eccellente background storico. Le serie di Fourier risalgono almeno all'astronomia epiciclica di Tolomeo . Aggiungendo più eccentrici ed epicicli, come aggiungere più termini a una serie di Fourier, si può rendere conto di qualsiasi movimento continuo di un oggetto nel cielo.
Geremia,

Risposte:


144

Questa è una domanda piuttosto ampia ed è davvero difficile individuare perché esattamente le trasformazioni di Fourier siano importanti nell'elaborazione del segnale. La risposta più semplice, agitando la mano che uno può fornire è che si tratta di uno strumento matematico estremamente potente che consente di visualizzare i segnali in un dominio diverso, all'interno del quale diversi problemi difficili diventano molto semplici da analizzare.

La sua ubiquità in quasi tutti i campi dell'ingegneria e delle scienze fisiche, il tutto per ragioni diverse, rende ancora più difficile restringere una ragione. Spero che guardare alcune delle sue proprietà che hanno portato alla sua diffusa adozione con alcuni esempi pratici e un pizzico di storia possa aiutare a comprenderne l'importanza.

Storia:

Per comprendere l'importanza della trasformazione di Fourier, è importante fare un passo indietro e apprezzare il potere della serie di Fourier proposta da Joseph Fourier. In breve, qualsiasi funzione periodica integrabile nel dominio può essere scritta come una somma infinita di seni e coseni comeD = [ - π , π ]g(x)D=[π,π]

τ k = 1

g(x)=k=τkeȷkx
τk=12πDg(x)eȷkx dx

dove . L'idea che una funzione potesse essere scomposta nelle sue frequenze costitutive (cioè in seno e coseno di tutte le frequenze) era potente e costituisce la spina dorsale della trasformata di Fourier.eıθ=cos(θ)+ȷsin(θ)

La trasformata di Fourier:

La trasformata di Fourier può essere vista come un'estensione delle precedenti serie di Fourier a funzioni non periodiche. Per completezza e chiarezza, definirò qui la trasformazione di Fourier. Se è un segnale integrabile continuo, quindi la sua trasformata di Fourier, è data daX ( f )x(t)X(f)

X(f)=Rx(t)eȷ2πft dt,fR

e la trasformazione inversa è data da

x(t)=RX(f)eȷ2πft df,tR

Importanza nell'elaborazione del segnale:

Innanzitutto, una trasformata di Fourier di un segnale ti dice quali frequenze sono presenti nel tuo segnale e in quali proporzioni .

Esempio: hai mai notato che ogni pulsante numerico del tuo telefono suona diverso quando premi durante una chiamata e che suona uguale per ogni modello di telefono? Questo perché sono composti ciascuno da due diversi sinusoidi che possono essere utilizzati per identificare in modo univoco il pulsante. Quando si utilizza il telefono per eseguire il punch in combinazioni per navigare in un menu, il modo in cui l'altra parte sa quali tasti è stato premuto eseguendo una trasformata di Fourier dell'ingresso e osservando le frequenze presenti.

Oltre ad alcune proprietà elementari molto utili che rendono semplice la matematica coinvolta, alcune delle altre ragioni per cui ha una così grande importanza nell'elaborazione del segnale sono:

  1. Il quadrato di magnitudine della trasformata di Fourier, ci dice istantaneamente quanta potenza ha il segnale ad una particolare frequenza . x ( t ) f|X(f)|2x(t)f
  2. Dal teorema di Parseval (più in generale il teorema di Plancherel), abbiamo che significa che l'energia totale in un segnale per tutto il tempo è uguale all'energia totale nella trasformata attraverso tutte le frequenze . Pertanto, la trasformazione sta preservando l'energia.
    R|x(t)|2 dt=R|X(f)|2 df
  3. Le convoluzioni nel dominio del tempo sono equivalenti alle moltiplicazioni nel dominio della frequenza, cioè dati due segnali e , quindi sey ( t )x(t)y(t)

    z ( t )

    z(t)=x(t)y(t)
    dove indica la convoluzione, quindi la trasformata di Fourier di è semplicementez(t)

    Z(f)=X(f)Y(f)

    Per segnali discreti, con lo sviluppo di efficienti algoritmi FFT, quasi sempre è più veloce implementare un'operazione di convoluzione nel dominio della frequenza rispetto al dominio del tempo.

  4. Analogamente all'operazione di convoluzione, anche le correlazioni incrociate sono facilmente implementabili nel dominio della frequenza come , dove indica un coniugato complesso.Z(f)=X(f)Y(f)
  5. Potendo dividere i segnali nelle loro frequenze costituenti, si possono facilmente bloccare selettivamente determinate frequenze annullando il loro contributo.

    Esempio: se sei un appassionato di calcio (calcio), potresti essere stato infastidito dal costante drone delle vuvuzelas che ha quasi annegato tutti i commenti durante i mondiali del 2010 in Sudafrica. Tuttavia, la vuvuzela ha un tono costante di ~ 235Hz che ha reso facile per le emittenti implementare un filtro notch per tagliare il rumore offensivo. [1]

  6. Un segnale spostato (ritardato) nel dominio del tempo si manifesta come un cambiamento di fase nel dominio della frequenza. Sebbene rientri nella categoria delle proprietà elementari, in pratica si tratta di una proprietà ampiamente utilizzata, in particolare nelle applicazioni di imaging e tomografia,

    Esempio: quando un'onda viaggia attraverso un mezzo eterogeneo, rallenta e accelera in base alle variazioni della velocità di propagazione dell'onda nel mezzo. Quindi osservando un cambiamento di fase rispetto a ciò che è previsto e ciò che viene misurato, si può dedurre il ritardo in eccesso che a sua volta indica quanto è cambiata la velocità dell'onda nel mezzo. Questa è ovviamente una spiegazione per laici molto semplificata, ma costituisce la base per la tomografia.

  7. Derivati di segnali (n Þ derivati troppo) può essere facilmente calcolata (vedi 106) utilizzando trasformate di Fourier.

Elaborazione del segnale digitale (DSP) vs. Elaborazione del segnale analogico (ASP)

La teoria delle trasformazioni di Fourier è applicabile indipendentemente dal fatto che il segnale sia continuo o discreto, purché sia ​​"piacevole" e assolutamente integrabile. Quindi sì, ASP utilizza trasformazioni di Fourier fintanto che i segnali soddisfano questo criterio. Tuttavia, è forse più comune parlare di trasformazioni di Laplace, che è una trasformata di Fourier generalizzata, in ASP. La trasformazione di Laplace è definita come

X(s)=0x(t)est dt,sC

Il vantaggio è che non si è necessariamente limitati ai "segnali piacevoli" come nella trasformata di Fourier, ma la trasformazione è valida solo all'interno di una certa regione di convergenza. È ampiamente usato nello studio / analisi / progettazione di circuiti LC / RC / LCR, che a loro volta sono utilizzati in radio / chitarre elettriche, pedali wah-wah, ecc.


Questo è praticamente tutto ciò che mi viene in mente in questo momento, ma nota che nessuna quantità di scrittura / spiegazione può catturare completamente la vera importanza delle trasformazioni di Fourier nell'elaborazione del segnale e nella scienza / ingegneria


2
Bella risposta nel dare alcune applicazioni del mondo reale usando FT e le sue proprietà. +1.
Goldenmean

3
sin(αx)0αxα3x3/3!+α5x5/5!sin(αx)[δ(ωα)δ(ω+α)]/(2ȷ)

6
Quando ho iniziato a leggere questa risposta, in qualche modo sapevo che @yoda l'aveva scritto prima di scorrere verso il basso per vedere chi fosse effettivamente =)
Phonon,

2
Per approfondire # 3: la convoluzione è ciò che fai quando applichi un filtro a un'immagine, come un filtro medio o un filtro gaussiano (anche se non puoi trasformare i filtri non lineari di Fourier).
Jonas,

1
Il punto di Peter K è davvero critico. I segnali possono essere rappresentati rispetto a molte basi diverse. Seni e coseni sono speciali perché sono le autofunzioni dei sistemi LTI.
nibot,

53

La grande risposta di Lorem Ipsum manca di una cosa: la trasformata di Fourier decompone i segnali in esponenziali complessi costituenti:

eȷωt

e esponenziali complessi sono le autofunzioni per sistemi lineari invarianti di tempo .

HϕA

y=H[eȷωt]=Aeȷϕeȷωt

Quindi la trasformata di Fourier è uno strumento utile per l'analisi di sistemi lineari invarianti di tempo.


@Peter K. Penso che seguendo la filosofia della scelta sulla correttezza (accademica) sulla "popolarità" di una risposta, la tua risposta dovrebbe essere integrata nella risposta di cui sopra fornita da Lorem Ipsum, che nonostante sia stata selezionata come risposta con 96 punti da parte degli utenti, manca questo punto di vista molto importante.
Fat32,

@Peter Mi dispiace disturbarti con questa richiesta, ma sei 1) un moderatore, 2) il tuo nome è apparso nella lista degli utenti "attivi" con il tuo tag beamforming. Puoi darci un rapido parere se questo post in Math.SE sarebbe ben accolto qui? Non sono sicuro se DSP.SE, Math.SE o EE.SE abbiano le migliori possibilità di aiutare chi chiede. Sto prendendo in considerazione la migrazione (che posso fare come moderatore Math.SE).
Jyrki Lahtonen,

@Peter K., potresti per favore riaprire la domanda a: dsp.stackexchange.com/questions/37468 . L'ho riparato. Grazie.
Royi,

@Royi è già aperto?
Peter K.

Peter (Come mai alcune persone possono essere contattate usando @e altre no? Dov'è l'opzione per quello?), Sembra che qualcuno l'abbia aperta. Grazie.
Royi,

16

Un'altra ragione:

È veloce (ad esempio utile per la convoluzione), a causa della sua complessità temporale lineare (in particolare quella della FFT ).
Direi che, se così non fosse, probabilmente faremmo molto di più nel dominio del tempo e molto meno nel dominio di Fourier.

Modifica: poiché la gente mi ha chiesto di scrivere perché la FFT è veloce ...

È perché evita abilmente di fare un lavoro extra.

a0x0+a1x1++anxnb0x0+b1x1++bnxn

n2

Tuttavia, possiamo fare un'osservazione apparentemente banale: al fine di moltiplicare due polinomi, non abbiamo bisogno di SOTTOLINEARE i coefficienti . Invece, possiamo semplicemente valutare i polinomi in un numero (sufficiente) di punti, fare una moltiplicazione puntuale dei valori valutati e quindi interpolare per ottenere il risultato.

n2nn2

Ma lo fa, se lo facciamo correttamente! La valutazione di un singolo polinomio in più punti contemporaneamente è più rapida della valutazione individuale in quei punti, se valutiamo i punti "giusti" . Quali sono i punti "giusti"?

zzn=1

Possiamo fare un processo molto simile per interpolare i punti per recuperare i coefficienti polinomiali del risultato, semplicemente usando le radici inverse dell'unità.


nlognn2

Quindi la capacità di utilizzare la FFT per eseguire un'operazione tipica (come la moltiplicazione polinomiale) molto più velocemente è ciò che la rende utile, ed è anche per questo che le persone sono ora entusiaste della nuova scoperta del MIT dell'algoritmo Sparse FFT .


Cos'è la complessità temporale lineare? Non declasserò questa risposta ma non credo che aggiunga nulla di valore a questa discussione sulle trasformazioni di Fourier .
Dilip Sarwate,

1
@DilipSarwate Sospetto che lo stia usando come scorciatoia per O (n * log (n)).
Jim Clay

@DilipSarwate: Jim ha ragione. Ha tutto a che fare con le trasformazioni (discrete) di Fourier. Senza la FFT, le tue trasformazioni di Fourier richiederebbero un tempo proporzionale al quadrato della dimensione di input, il che le renderebbe molto meno utili. Ma con la FFT prendono tempo proporzionale alla dimensione dell'input (moltiplicata per il suo logaritmo), il che li rende molto più utili e che accelera molti calcoli. Anche questa potrebbe essere una lettura interessante.
Mehrdad,

Dovresti menzionare PERCHÉ è veloce. Dov'è veloce e perché ci importa che sia veloce?
CyberMen

1
Penso che questa risposta sia legittima. Dovrebbe essere parafrasato - "Oltre a tutte le belle caratteristiche spiegate nella risposta di altre persone, FFT le permette di diventare un approccio fattibile in applicazioni in tempo reale".
Andrey Rubshtein,

15

ekxdndxnkk

ekx

EDIT: È un dato di fatto, gli operatori differenziali (e integrali) sono operatori LSIV, vedi qui .


8

Alcune delle altre risposte in questo thread hanno eccellenti discussioni matematiche sulla definizione e le proprietà della trasformata di Fourier; come programmatore audio, voglio semplicemente fornire la mia intuizione personale sul perché è importante per me.

La trasformata di Fourier mi permette di rispondere a domande su un suono a cui è difficile o impossibile rispondere con altri metodi. Rende facili i problemi difficili.

Una registrazione contiene un set di tre note musicali. Quali sono le note? Se lasci la registrazione come una serie di ampiezze nel tempo, questo non è un problema facile. Se converti la registrazione in un insieme di frequenze nel tempo, è davvero facile.

Voglio cambiare il tono di una registrazione senza modificarne la durata. Come faccio a fare questo? È possibile, ma non facile da fare, semplicemente manipolando l'ampiezza di un segnale di ingresso. Ma è facile se conosci le frequenze che compongono il segnale.

Questa registrazione contiene discorsi o contiene musica? Super difficile da fare usando solo metodi basati sull'ampiezza. Ma ci sono buone soluzioni che indovinano la risposta giusta quasi sempre in base alla trasformata di Fourier e alla sua famiglia.

Quasi tutte le domande che vorresti porre su una registrazione audio digitale sono rese più semplici trasformando la registrazione usando una versione discreta della trasformata di Fourier.

In pratica, ogni moderno dispositivo audio digitale si basa fortemente su funzioni molto simili alla trasformata di Fourier.

Ancora una volta, perdona la descrizione altamente informale; questa è semplicemente la mia intuizione personale sul perché la trasformazione di Fourier è importante.


Ehi John, ho una domanda stupida. Voglio calcolare il TWA ( osha.gov/pls/oshaweb/… ) dal suono che abbiamo registrato in un posto di lavoro, mi chiedo se potrei misurare questo valore più precisamente se impiego la Trasformata di Fourier nell'analisi del mio file audio.
Hossein Sarshar,

A meno che il microfono e l'ambiente di registrazione non siano stati calibrati, no.
johnwbyrd,

6

Le altre persone hanno dato risposte utili e utili. Pensa solo a qualche segnale: ti interessa solo quali frequenze ci sono (e la loro fase), non il dominio del tempo. Non so che questa sia una risposta definitiva o completa, ma solo un'altra ragione per cui la trasformazione di Fourier è utile.

Quando hai qualche segnale, potrebbe essere composto da un numero infinito (o quasi) di frequenze, a seconda della frequenza di campionamento. Ma non è così: sappiamo che la maggior parte dei segnali ha il minor numero possibile di frequenze o che stiamo campionando a una frequenza sufficientemente elevata.

Se lo sappiamo, perché non possiamo usarlo? Questo è ciò che fa il campo del rilevamento compresso. Sanno che il segnale più probabile è quello che ha il minor errore e ha il minor numero di frequenze. Pertanto, minimizzano l'errore generale relativo alle nostre misurazioni e l'entità della trasformata di Fourier.

Un segnale di poche frequenze ha spesso una trasformata minima di Fourier, o principalmente zeri (alias "sparsi", come si dice nel rilevamento compresso). Un segnale di una frequenza ha solo una funzione delta come trasformata, per esempio.

Possiamo usare anche la definizione matematica formale.

x¯=arg min ||yAx||+λ||F(x)||

||||||||

  • x¯
  • y
  • A
  • x
  • λ
  • F(x)

Potresti ricordare che Nyquist ha detto che devi misurare alla frequenza doppia per ottenere una buona rappresentazione. Be ', supponevo che avessi infinite frequenze nel tuo segnale. Possiamo superarlo!

Il campo del rilevamento compresso può ricostruire qualsiasi segnale che sia principalmente zeri (o rado) in alcuni domini. Bene, questo è il caso della trasformata di Fourier.


5

L'importanza principale della trasformata di Fourier risiede nell'analisi del sistema. Il costituente principale del nostro universo è il vuoto, e il vuoto è un portatore di campi sostanzialmente lineare e invariante nel tempo: diversi campi si sovrappongono aggiungendo i rispettivi vettori e indipendentemente da quando si ripete l'applicazione di determinati campi, il risultato sarà lo stesso .

Di conseguenza, molti sistemi che coinvolgono anche la materia fisica sono in buona approssimazione comportandosi come sistemi lineari invarianti nel tempo.

Tali sistemi LTI possono essere descritti dalla loro "risposta all'impulso", e la risposta a qualsiasi segnale distribuito nel tempo è descritta avvolgendo il segnale con la risposta all'impulso.

La convoluzione è un'operazione commutativa e associativa, ma è anche piuttosto computazionalmente e concettualmente costosa. Tuttavia, la convoluzione delle funzioni è mappata dalla trasformata di Fourier in una moltiplicazione a tratti.

Ciò significa che le proprietà dei sistemi invarianti di tempo lineari e le loro combinazioni sono molto meglio descritte e manipolate dopo la trasformazione di Fourier.

Di conseguenza, cose come la "risposta in frequenza" sono abbastanza caratteristiche per descrivere il comportamento di molti sistemi e diventano utili per caratterizzarli.

Le trasformazioni veloci di Fourier rientrano nella classe "quasi, ma non del tutto, completamente diversa dalle trasformazioni di Fourier" in quanto i loro risultati non sono realmente interpretabili in modo sensato come le trasformazioni di Fourier sebbene ben radicate nella loro teoria. Corrispondono completamente alle trasformate di Fourier solo quando si parla di un segnale campionato con la periodicità dell'intervallo di trasformazione. In particolare il criterio della "periodicità" non è quasi sempre soddisfatto.

Esistono diverse tecniche per aggirare il problema, come l'uso di funzioni di finestre sovrapposte.

Tuttavia, la FFT può essere impiegata per fare una convoluzione a tempo discreto quando fa le cose nel modo giusto, ed è un algoritmo efficiente che lo rende utile per molte cose.

Si può impiegare l'algoritmo FFT di base anche per trasformazioni teoriche numeriche (che funzionano in campi numerici discreti piuttosto che in "reali" complessi) al fine di eseguire una convoluzione rapida, come quando si moltiplicano numeri o polinomi giganteschi. In questo caso, il "dominio della frequenza" è indistinguibile dal rumore bianco praticamente per qualsiasi input e non ha alcuna interpretazione utile prima di ripetere la trasformazione inversa.


2

la rilevanza fisica della trasformata di Fourier è che indica l'ampiezza relativa delle frequenze presenti nel segnale. può essere definito sia per il tempo discreto che per il segnale del tempo continuo. Qualsiasi segnale può essere rappresentato come una miscela di molte frequenze armoniche. La trasformata di Fourier aiuta nelle applicazioni di filtro, dove abbiamo bisogno solo di un certo intervallo di frequenze, quindi dobbiamo prima sapere quali sono le ampiezze delle frequenze contenute nel segnale.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.