2009-10-06 12 views
48

La mia domanda ha a che fare con il significato fisico dei risultati di un'analisi spettrale di un segnale o di lanciare il segnale in una FFT e interpretare cosa esce utilizzando un pacchetto adeguato numerico,Unità di una trasformata di Fourier (FFT) quando si esegue l'analisi spettrale di un segnale

particolare:

  • prendere un segnale, dire un tempo-variante tensione v (t)
  • laterale in una FFT (si torna una sequenza di complesso numeri)
  • ora prendere il modulo (abs) e quadrato il risultato, cioè | fft (v) |^2.

Quindi ora avete numeri reali sull'asse y - chiamerò questi coefficienti spettrali?

  • utilizzando la risoluzione di campionamento, si segue una ricetta di ricettario e si associano i coefficienti spettrali alle frequenze.
  • A QUESTO PUNTO, si ha uno spettro di frequenza g (w) con frequenza sull'asse x, ma QUALI UNITÀ FISICHE sull'asse y?

mia comprensione è che questo spettro di frequenze mostra quanto delle varie frequenze sono presenti nel segnale di tensione - sono coefficienti spettrali nel senso che essi sono i coefficienti dei seni e coseni delle varie frequenze necessario per ricostituire il segnale originale.

Quindi la prima domanda è, quali sono le UNITÀ di questi coefficienti spettrali?

Il motivo per cui è importante è che i coefficienti spettrali possono essere piccoli ed enormi, quindi voglio utilizzare una scala dB per rappresentarli.

Ma per farlo, devo fare una scelta:

  • O io usa la conversione 20Log10 dB, corrispondente ad una misura del campo, come tensione.
  • Oppure uso la conversione 10log10 dB, corrispondente a una misurazione dell'energia, come la potenza.

Quale ridimensionamento utilizzo dipende da quali sono le unità.

Qualsiasi luce su questo sarebbe molto apprezzato!

+2

Una nota che per una trasformata di Fourier (non un fft) in termini di f, le unità sono [Vs] (se il segnale è in volt, e il tempo è in secondi). Questo perché quando ci integriamo, il risultato ha le unità dell'asse y moltiplicate per le unità dell'asse x (trovare l'area sotto una curva). Inoltre, l'integrale del quadrato di un segnale è lo stesso nel dominio del tempo e nel dominio della frequenza (teorema di Parseval). Le unità a sinistra sono [V^2.s] e a destra [X^2. (1/s)] (f è in Hz), quindi X = [V.s]. Vedi anche http://physics.stackexchange.com/questions/15073/how-does-the-fourier-transform-invert-units –

+0

@EvgeniSergeev - grazie, questa è una bella spiegazione del nucleo di Fourier Transform, relativo al matematica sottostante (+1). –

+0

Sto votando per chiudere questa domanda come off-topic perché appartiene a [Physics] (https://physics.stackexchange.com/) – BryanH

risposta

65

rimessa segnale, un tempo-variante tensione v (t)

unità sono V, i valori sono reali.

gettarlo in una FFT - ok, si ottiene indietro una sequenza di numeri complessi

unità sono ancora V, i valori sono complesse (non V/Hz - la FFT un segnale DC diventa un punto al livello DC, non una funzione delta di Dirac zoom off a infinito)

ora prendere il modulo (abs)

unità sono ancora V, i valori sono reali - grandezza di componenti di segnale

e quadratura del risultato, cioè | FFT (v) |^2

unità ora V sono, i valori sono reali - quadrato di grandezze delle componenti di segnale

chiamerò questi coefficienti spettrali?

È più vicino a una densità di potenza piuttosto che all'uso usuale del coefficiente spettrale. Se il tuo dissipatore è un resistore perfetto, sarà potente, ma se il tuo dissipatore dipende dalla frequenza è "il quadrato della grandezza della FFT della tensione in ingresso".

A QUESTO PUNTO, si dispone di uno spettro di frequenza g (w): frequenza sull'asse xe ... QUALI UNITÀ FISICHE sull'asse y?

unità sono V

L'altro motivo della questione è che le unità di coefficienti spettrali possono essere molto piccolo e grande, quindi voglio usare una scala dB a rappresentarli. Ma per farlo, devo fare una scelta: io uso la conversione 20log10 dB (corrispondente a una misurazione del campo, come la tensione)? Oppure uso la conversione 10log10 dB (corrispondente a una misurazione dell'energia, come la potenza)?

Hai già raggiunto il valore di tensione, fornendo una potenza equivalente in un resistore da 1 Ohm perfetto, quindi utilizza 10log10.

log (x 2 ) è 2 log (x), in modo 20Log10 | FFT (v) | = 10log10 (| fft (v) |), quindi in alternativa se non hai quadrato i valori potresti usare 20log10.

+0

Pete, grazie! Stavo modificando la derivazione mentre stavi scrivendo la tua risposta. Ottengo Energia/Hz (vedi derivazione sotto). –

+0

+1 da parte mia. Fantastico - così chiaro. – duffymo

+4

Sì. Ecco perché ho detto "non V/Hz - la FFT un segnale DC diventa un punto a livello DC, non una funzione delta dirac che si riduce a infinito". La FFT calcola la somma del suo input campionato in punti di tempo discreti moltiplicati per valori senza dimensione; le unità del risultato della FFT sono quelle del suo input; non c'è ridimensionamento in base al tempo o alla frequenza nel processo. –

7

L'asse y è complesso (a differenza del reale). La magnitudine è l'ampiezza del segnale originale in qualsiasi unità in cui si trovavano i tuoi campioni originali. L'angolo è la fase di quel componente di frequenza.

+1

Grazie Laurence; lasciatemi chiarire: (A) ottengo valori reali sull'asse y. Quindi, dal momento che una vera trasformata di Fourier fornisce valori complessi, potrebbe verificarsi una delle seguenti azioni all'interno del pacchetto: (i) sta prendendo i valori reali della trasformazione, oppure (ii) prende la magnitudine della trasformazione, o (iii))? (B) I campioni originali sono in Volt –

+2

@AKE, la parte reale del valore complesso non ti dice molto da sola - è quasi inutile. Probabilmente vuoi la magnitudine, che è 'sqrt (r^2 + i^2)', o il quadrato della grandezza che è più facile da calcolare, tralasciando il 'sqrt'. –

3

Ecco quello che sono riuscito a trovare finora:

L'asse Y sembra probabile che sia in unità di [Energia/Hz]!?

Ecco come lo sto ricavando (feedback gradito!):

  1. il segnale v (t) è in volt

  2. dopo aver preso il Fourier integrale: integrale e^IWT v (t) dt, si dovrebbe avere unità di [volt * secondi] , o [v/Hz] (e^TVN è adimensionale)

  3. prendendo la grandezza quadrato dovrebbe quindi dare unità di [volt^2 * s^2] o [v^2 * s/Hz]

  4. sappiamo che il potere è proporzionale a volt^2, quindi questo ci porta a [potenza * s/Hz]

  5. ma Potenza è il tempo-ritmo di variazione di energia, vale a dire il potere = energia/s, in modo che possiamo anche scrivere energia = potenza * s

  6. questo ci lascia con la conclusione candidato [Energia/Hz ]. (Joule/Hz?!)

... che suggerisce il significato di "contenuto energetico per Hz", e suggerisce come l'uso integrazione bande di frequenza e di vedere il contenuto di energia ... che sarebbe molto bello se fosse vero ...

continua ... supponendo che quanto sopra è corretto, allora si tratta di una misura di energia, quindi questo suggerirebbe usando 10log10 conversione di entrare in scala dB, invece di 20Log10 ...

...

+0

Tutto sembra buono tranne che non è Energia/potenza, di per sé. A meno che tu non abbia una resistenza specifica in mente, non dovresti mentire e dire semplicemente che è Volts^2. –

+0

Ho in mente una resistenza ideale di 50 ohm (l'impedenza del dispositivo di trasmissione corrisponde al proiettore). P ~ V^2/R con R presi come carico costante di 50 ohm. –

+1

@AssadEbrahim Questa era una vecchia risposta, quindi non sono sicuro se sei ancora in giro, ma questo sembra buono! Inoltre, credo che l'energia sia $ \ Sum_ {k = 0}^{N-1} x [n]^2 $ mentre il potere è $ \ frac {1} {N} \ Sum_ {k = 0}^{N-1 } x [n]^2 $. Quindi, se normalizziamo la FFT per la lunghezza (che è la durata temporale dei campioni), otteniamo una densità spettrale di potenza. Ha senso per te? –

2

L'alimentazione in una resistenza è v^2/R watt. La potenza di un segnale x(t) è un'astrazione della potenza in un resistore 1 Ohm. Pertanto, la potenza di un segnale x(t) è x^2 (detta anche potenza istantanea), indipendentemente dalle unità fisiche di x(t).

Ad esempio, se x(t) è la temperatura, e le unità di x(t) sono gradi C, poi le unità per l'alimentazione di x^2x(t) sono C^2, non certo watt.

Se si prende la trasformata di Fourier x(t) per ottenere X(jw), quindi le unità di X(jw) sono C*sec o C/Hz (secondo la trasformata di Fourier integrale). Se si utilizza (abs(X(jw)))^2, le unità sono C^2*sec^2=C^2*sec/Hz. Poiché le unità di potenza sono C^2 e le unità di energia sono C^2*sec, quindi abs(X(jw)))^2 fornisce la densità spettrale di energia, ad esempio E/Hz. Ciò è coerente con il teorema di Parseval, in cui l'energia di x(t) è data da (1/2*pi) volte l'integrale di abs(X(jw)))^2 rispetto a w, cioè (1/2*pi)*int(abs(X(jw)))^2*dw) > (1/2*pi)*(C^2*sec^2)*2*pi*Hz > (1/2*pi)*(C^2*sec/Hz)*2*pi*Hz > E.

La conversione in scala dB (scala di registro) non modifica le unità.

Se si prende la FFT di campioni di x(t), scritto come x(n), per ottenere X(k), allora il risultato X(k) è una stima dei coefficienti della serie di Fourier di una funzione periodica, in cui un periodo di oltre T0 secondi è il segmento di x(t) è stato campionatoSe le unità di x(t) sono gradi C, le unità di X(k) sono anche gradi C. Le unità di abs(X(k))^2 sono C^2, che sono le unità di potenza. Pertanto, un grafico di abs(X(k))^2 rispetto alla frequenza mostra lo spettro di potenza (non la densità spettrale di potenza) di x(n), che è una stima della potenza di un insieme di componenti di frequenza di x(t) alle frequenze k/T0 Hz.

1

Bene, risposta in ritardo lo so. Ma ho solo avuto una causa per fare qualcosa di simile, in un contesto diverso. I miei dati non elaborati erano valori di latenza per le transazioni rispetto a un'unità di archiviazione: l'ho ricampionato su un intervallo di tempo di 1 ms. Quindi i dati originali erano "latenza, in microsecondi". Avevo 2^18 = 262144 punti dati originali, su step temporali di 1 ms.

Dopo aver fatto la FFT, Ho una componente 0th (DC) tale che la seguente tenuto:

FFT [0] = 262144 * (media di tutti i dati di ingresso).

Quindi mi sembra che FFT [0] sia N * (media dei dati di input). Questo tipo di ha senso - ogni singolo punto di dati possiede quella media DC come parte di ciò che è, quindi li aggiungi tutti.

Se si guarda anche alla definizione di FFT. Tutti gli altri componenti coinvolgono anche termini seno e coseno, ma in realtà la FFT è solo una sommatoria. La media è solo l'unica che sembra essere presente in tutti i punti allo stesso modo, perché hai cos (0) = 1.

+0

Quindi, per completare quel pensiero, le UNITÀ devono essere le stesse, perché i componenti FFT sono solo una sommatoria delle componenti di input moltiplicate per termini seno e coseno adimensionali. –

Problemi correlati