Perché il DFT presuppone che il segnale trasformato sia periodico?


10

In molti libri sull'elaborazione del segnale, si afferma che il DFT assume che il segnale trasformato sia periodico (e che questo è il motivo per cui può verificarsi una perdita spettrale, ad esempio).

Ora, se guardi la definizione di DFT, non c'è semplicemente quel tipo di ipotesi. Tuttavia, nell'articolo di Wikipedia sulla trasformata di Fourier a tempo discreto (DTFT), si afferma che

Quando la sequenza di dati di input x[n] è N -periodica, l'Eq.2 può essere ridotto computazionalmente a una trasformata discreta di Fourier (DFT)

  • Quindi, questo presupposto deriva dal DTFT?
  • In realtà, nel calcolare il DFT, sto effettivamente calcolando il DTFT con il presupposto che il segnale sia periodico?

Poiché DFT X [k] di x [n] è il primo periodo della serie discreta di Fourier (DFS) del segnale periodico xp [n] il cui primo periodo è considerato come x [n]
Fat32

1
sembra che dovrò scrivere una risposta dissenziente a questo. il DFT presuppone che il segnale trasformato sia periodico perché sta adattando una serie di funzioni di base al segnale trasformato, tutte periodiche.
robert bristow-johnson,

1
Il DFT è solo l'espressione semplificata del DFS, quindi il presupposto periodico esiste intrinsecamente.
lxg,

Risposte:


12

Ci sono già alcune buone risposte, ma ho ancora voglia di aggiungere un'altra spiegazione, perché considero questo argomento estremamente importante per la comprensione di molti aspetti dell'elaborazione del segnale digitale.

Innanzitutto è importante capire che il DFT non "assume" la periodicità del segnale da trasformare. Il DFT viene semplicemente applicato a un segnale finito di lunghezza e i coefficienti DFT corrispondenti sono definiti daN

(1)X[k]=n=0N1x[n]ej2πnk/N,k=0,1,,N1

Da (1) è ovvio che vengono considerati solo i campioni di nell'intervallo [ 0 , N - 1 ] , quindi non viene assunta alcuna periodicità. D'altra parte, i coefficienti X [ k ] possono essere interpretati come coefficienti di Fourier della continuazione periodica del segnale x [ n ] . Questo può essere visto dalla trasformazione inversax[n][0,N1]X[k]x[n]

(2)x[n]=k=0N1X[k]ej2πnk/N

che calcola correttamente nell'intervallo [ 0 , N - 1 ] , ma calcola anche la sua continuazione periodica all'esterno di questo intervallo perché il lato destro (2) è periodica di periodo N . Questa proprietà è inerente alla definizione del DFT, ma non deve darci fastidio perché normalmente siamo interessati solo all'intervallo [ 0 , N - 1 ] .x[n][0,N-1]N[0,N-1]

Considerando il DTFT di X[n]

(3)X(ω)=Σn=-X[n]e-jnω

possiamo vedere confrontando (3) con (1), che se è una sequenza finita nell'intervallo [ 0 , N - 1 ] , i coefficienti DFT X [ k ] sono campioni del DTFT X ( ω ) :X[n][0,N-1]X[K]X(ω)

(4)X[K]=X(2πK/N)

Quindi un uso del DFT (ma certamente non l'unico) è il calcolo dei campioni del DTFT. Questo funziona solo se il segnale da analizzare è di lunghezza finita . Di solito questo segnale a lunghezza finita viene costruito da un segnale più lungo. Ed è questa finestra che provoca perdite spettrali.

Come ultima osservazione, si noti che il DTFT della continuazione periodica della sequenza finita x [ n ] può essere espresso in termini di coefficienti DFT di x [ n ] :X~[n]X[n]X[n]

˜ X (ω)=2π

(5)x~[n]=k=x[nkN]
(6)X~(ω)=2πNk=X[k]δ(ω2πk/N)

EDIT: Il fatto che e ˜ X ( ω ) dati sopra sono una coppia di trasformazioni DTFT può essere mostrato come segue. Prima nota che il DTFT di un pettine a impulsi a tempo discreto è un pettine Dirac:x~[n]X~(ω)

(7)k=δ[nkN]2πNk=δ(ω2πk/N)

La sequenza può essere scritta come la convoluzione di x [ n ] con un pettine a impulsi:X~[n]X[n]

(8)X~[n]=X[n]ΣK=-δ[n-KN]

Poiché la convoluzione corrisponde alla moltiplicazione nel dominio DTFT, il DTFT di ˜ x [ n ] è dato dalla moltiplicazione di X ( ω ) con un pettine Dirac:X~(ω)X~[n]X(ω)

(9)X~(ω)=X(ω)2πNΣK=-δ(ω-2πK/N)=2πNΣK=-X(2πK/N)δ(ω-2πK/N)

Combinando con ( 4 ) si stabilisce il risultato ( 6 ) .(9)(4)(6)


verso il basso questa risposta per lo stesso motivo per cui ho la risposta più recente di @ hotpaw2. in questa affermazione: "Da (1) è ovvio che vengono considerati solo i campioni di nell'intervallo [ 0 , N - 1 ] , quindi non viene assunta alcuna periodicità". x[n][0,N1]la conclusione non segue dalla premessa.
robert bristow-johnson,

4
@ robertbristow-johnson: lo fa. Dammi campioni consecutivi e io ti do il DFT. Non ho bisogno di assumere nulla riguardo al segnale al di fuori dell'intervallo [ 0 , N - 1 ] , nemmeno la sua esistenza. Questa è l'unica cosa che rivendico in quella frase, ed è ovviamente vero. Per calcolare il DFT non ho bisogno di sapere nulla tranne i valori nell'intervallo [ 0 , N - 1 ] . Non sono sicuro di come potresti fraintendere o fraintendere la mia affermazione. Se si tratta di un problema di formulazione, sarei felice di chiarire la mia frase, ma per quanto riguarda il contenuto è in realtà banale. N[0,N1][0,N1]
Matt L.,

4
leggi l'altra risposta qui sotto e la mia risposta sull'altra discussione. non si tratta di ciò che presupponi di al di fuori di 0 n N - 1 . si tratta di cosa "assume" la trasformazione (se ci è permesso di antropomorfizzare un po ') circa x [ n ] al di fuori di 0 n N - 1 . possiamo scoprire cosa assume la trasformazione quando invochiamo un'operazione in un dominio che sposta l'altro dominio di un numero intero. x[n]0nN1x[n]0nN1
robert bristow-johnson,

@MattL. (9) should read
=2πNk=X[k]δ(ω2πk/N)
instead of
=2πNk=X(2πk/N)δ(ω2πk/N)
jomegaA

@jomegaA: No in entrambi i casi. Come indicato nell'ultima frase della mia risposta, il risultato finale (6) è concluso dalla combinazione di (9) con (4), quindi ovviamente , ma in (9) deriva dal DTFT X ( ω ) . E per quanto riguarda il fattore di ridimensionamento 2 π / N , deve assolutamente essere presente. Fare le espressioni non confonde con ω e f , hanno diversi fattori di scala. X[k]=X(2πk/N)X(ω)2π/Nωf
Matt L.

8

It comes from the definition of the time domain signal:

x[n]=k=0N1X[k]e2πinkN

You can see by definition that x[n]=x[n+N].
On the other hand the DFT reconstruct perfectly the N samples of the signal.
Hence you can conclude it assumes a periodic continuation of it.

Another point of view would be looking at the DFT as a Finite Discrete Fourier Series (It actually is, Have a look at Discrete Fourier Series - DFS), which of course points that the signal is periodic (Finite summation of signals with period T is a signal which has a period T).


2
I don't see how it comes from the definition.
user10839

1
@user10839: Just evaluate x[n+N] and you'll see that it equals x[n]. As pointed out in the answer, the DFT is just a Fourier series of the time domain signal. The finite length of the time domain signal is considered the fundamental period.
Matt L.

@user10839, Just plug it into the equation. The exponent can be defined with the Cosine and Sine functions, which as can be seen have period of nkN.
Royi

1
DFT isn't the DFS. This is pedantic, but DFT gives you the Fourier series coefficients. It's important to note that DFT is just like any other linear transforms. It's a matrix multiplication. The matrix is orthonormal, which makes it nice. It can also be shown that the output equal coefficients of the corresponding Fourier series expansion of the data, but the Fourier transform is not the Fourier series (type mismatch :p).
thang

@thang, I have no idea what you mean. The DFT is the DFS. They are the same. It is easy to see that. Pay attention, this is the Discrete Fourier Series and not the Fourier Series (With integrals). Have a look here en.wikipedia.org/wiki/Discrete_Fourier_series and see it is DFT.
Royi

5

It's an un-necessary (and often false) assumption. The DFT is just a basis transform of a finite vector.

The basis vectors of the DFT just happen to be snippets of infinitely extensible periodic functions. But there is nothing inherently periodic about the DFT input or results unless you extend the basis vectors outside the DFT aperture. Many forms of signal analysis do not require any extension or assumptions outside the sampled window or finite data vector.

Any "leakage" artifacts can also be assumed to be from a convolution of the default rectangular window with a signal that is not periodic or is of unknown periodicity or stationarity. This makes much more sense when analyzing overlapped FFT windows, where any assumption of periodicity outside of any one DFT or FFT window can be inconsistent with the data in other windows.

Periodicity may make the math relating the DFT to the DTFT more tractable. But any relationship to the DTFT may or may not be necessary when actually using an FFT for signal processing (depending on exactly which Fourier transform properties are needed for further analysis of the processing method).


down arrowed for the same reason i down-arrowed your more recent answer about this.
robert bristow-johnson

5

Ok, my answer will be somewhat different than the other answers. my answer accepts the premise of the question rather than denies the premise of the question.

the reason that the DFT "assumes" the input signal (the signal to be transformed, what i assume the OP means by "transformed signal") is periodic is because the DFT fits a collection of basis functions to that input signal, all of which are periodic.

consider a different set of basis functions:

gk(u)uk0k<N

and given N input samples:

x[n]0n<N

we can fit a linear sum of these basis functions gk(n) to the input sequence

x[n]=k=0N1X[k]gk(n)=k=0N1X[k]nk

with judicious selection of the coefficients X[k]. calculating all X[k] requires solving N linear equations with N unknowns. you can use Gaussian elimination to do it.

with the N correct values for X[k] for 0kN1, we can make sure that the sum of these power functions (which is an (N1)th-order polynomial) will evaluate exactly to x[n] for each n such that 0nN1.

now what if you use that summation to go beyond the interval of 0nN1? you can evaluate it for any n. you will notice that the behavior of that function will be that of an (N1)th-order polynomial because that is what it is. for n large enough, only the highest power with a non-zero coefficient will set the trend for the extrapolated x[n].

so now, with the DFT we are fitting a different set of basis functions to our input sequence:

gk(u)1Ne+j2πku/N0k<N

x[n]=k=0N1X[k]gk(n)=1Nk=0N1X[k]e+j2πnk/N

and the coefficients, X[k], can be solved for and are:

X[k]=n=0N1x[n] ej2πnk/N

the placement of that 1N is a matter of convention. i am putting it where most of the literature puts the 1N factor. it could be removed from the x[n] equation and put in the X[k] equation, instead. or "half" of it (1N) could be placed with both equations. it's just a matter of convention.

but here we are fitting a set of basis functions that are all periodic with period N to the original x[n]. so even if x[n] came from a longer sequence was not periodic, the DFT is considering that x[n] is the sum of a bunch of basis functions each that are periodic with period N. if you add up a bunch of periodic functions, all with the same period, the sum must also be periodic with the same period.


for a little more polemic, where i dispute the notion that the DFT does not necessarily periodically extend the data passed to it, please look at this previous answer from me. i would rather not repeat it here.
robert bristow-johnson

1

DFT is discrete. DTFT is continuous. We can get DFT from DTFT by sampling it with the pulse train of the right period, which is actually equal to multiplying it with the pulse train. Multiplication in the transform domain is equal to convolution in discrete-time domain, this implies periodicity of signal.


DTFT is continuous? How come?
jojek

2
The result of the DTFT is continous (in frequency).
Deve

Indeed - thus you should state it clearly to avoid any misunderstanding and supply adequate equations.
jojek

@jojek Thats true, I also think this answer could be improved by some equations
Deve

1
Ill add more details very soon.
learner

0

Solo DFT è pratico nel mondo digitale discreto a causa di assunzioni periodiche su entrambi i domini. (Se lo chiami così.) Perché un segnale non periodico su un dominio provoca un segnale continuo sull'altro e puoi solo memorizzare segnali discreti nella memoria digitale. Quindi è necessario supporre che i segnali siano periodici su entrambi i domini per renderlo discreto su entrambi i domini.

Quando si calcola DTFT si ottiene un segnale continuo nel dominio della frequenza come uscita.
Non penso che userete la stessa procedura quando calcolerete DFT in pratica. Quando hai effettivamente calcolato sia DTFT che DFT, capirai che entrambi i calcoli di trasformazione sono storie diverse.


0

Since the signal is periodic, the time shifted signal doesn't change the absolute magnitude of the frequency domain.

X[k]=k=0N1x[n]e2πinkN

e2πiDkNX[k]=k=0N1x[nD]e2πinkNe2πiDkN

By the way, there is nothing stopping you from taking the FFT of a non-periodic signal, but there it little practical use if none of the transformations work.

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.