Non c'è nulla di intrinsecamente 'magico' nell'eseguire una potenza di 2 DFT, a parte il fatto che eseguire una potenza di 2 DFT consente di eseguire la DFT in O(Nlog(N)) invece di O(N2). Quindi la potenza di 2 DFT, (l' algoritmo che lo fa è noto come FFT), ti consente semplicemente di velocizzare il tuo calcolo DFT di un fattore enorme.
Applico di nuovo il file fft e il numero del contenitore cambia (che è normale ed è dove mi aspetto che sia), l'ampiezza è la stessa ma l'angolo di fase è diverso) per prima cosa è normale?
Se si esegue un DFT più grande del vettore di dati, si interpolerà essenzialmente nel dominio della frequenza. Pertanto, il tuo nuovo picco potrebbe non essere il vecchio picco equivalente che hai rilevato per la prima volta, prima di prendere un DFT più grande. E poiché non è lo stesso, questa volta stai essenzialmente scegliendo una diversa base esponenziale complessa (seno più coseno), il che significa che probabilmente avresti un diverso valore di fase, sì.
PS: nessuno dei set up (menzionato sopra) fornisce dati di lunghezza della potenza di 2, ad esempio il primo fornisce 1620 punti dati e il secondo dà 1745 punti dati, quindi dovrebbe prendere la potenza successiva di 2 per entrambi dal inizio?
Sì, se vuoi prendere una potenza di 2 FFT, allora sceglieresti semplicemente la potenza successiva di 2 lunghezze FFT che è maggiore della lunghezza del tuo record di dati.
non voglio o non voglio necessariamente prendere la potenza di 2 FFT (le prestazioni temporali non sono affatto il mio problema), più simile, devo?
Non dovresti mai prendere una FFT di lunghezza inferiore alla lunghezza del tuo record, a meno che tu non voglia scartare i dati. La domanda "Quanto deve essere grande la mia FFT", supponendo che la lunghezza della FFT sia maggiore della lunghezza del tuo record di dati, quindi diventa rapidamente dipendente dall'applicazione. Di solito puoi cavartela con una lunghezza FFT uguale alla lunghezza del tuo record. Tuttavia, a volte vuoi scegliere un picco da una FFT "più fluida". In questo caso, puoi prendere una lunghezza FFT maggiore (2 volte di più, 3 volte di più, 10 volte di più, ecc.) E avresti interpolato il tuo picco nel dominio della frequenza. Non esiste un numero magico, tuttavia. Ricorda che la granularità del tuo risultato FFT è semprefsN.