Não há nada inerentemente 'mágico' em executar uma potência de 2 DFT, além do fato de que executar uma potência de 2 DFT permite executar a DFT em vez de . Portanto, o poder de 2 DFT (o algoritmo que faz isso é conhecido como FFT) permite que você simplesmente acelere sua computação por um grande fator.O(Nlog(N))O(N2)
Eu aplico o fft novamente e o número do compartimento muda (o que é normal e é onde eu espero que seja), a amplitude é a mesma, mas o ângulo da fase é diferente) primeiro isso é normal?
Se você fizer uma DFT maior que o seu vetor de dados, estará essencialmente interpolando no domínio da frequência. Portanto, seu novo pico pode não ser o pico equivalente antigo que você detectou pela primeira vez antes de fazer uma DFT maior. E como não é o mesmo, você está essencialmente escolhendo uma base exponencial complexa diferente (seno mais cosseno) desta vez, o que significa que você provavelmente teria um valor de fase diferente, sim.
PS: nenhuma das configurações (mencionadas acima) fornece dados com comprimento de potência de 2, digamos que o primeiro fornece 1620 pontos de dados e o segundo fornece 1745 pontos de dados; portanto, deve usar a próxima potência de 2 para ambos do começando?
Sim, se você deseja obter uma potência de 2 FFT, basta escolher a próxima potência de 2 FFT de comprimento maior que o comprimento do registro de dados.
eu não necessariamente quero ou não quero tomar o poder de 2 FFT (desempenho no tempo não é problema meu), mais como, eu preciso?
Você nunca deve ter uma FFT de comprimento inferior ao tamanho do seu registro, a menos que queira descartar dados. A questão de "Qual é o tamanho da minha FFT", assumindo que o tamanho da FFT é maior que o tamanho do registro de dados, torna-se rapidamente dependente do aplicativo. Normalmente, você pode obter uma duração de FFT igual à duração do seu registro. No entanto, às vezes você deseja escolher um pico de uma FFT 'mais suave'. Nesse caso, você pode ter um comprimento maior de FFT (2 vezes mais, 3 vezes mais, 10 vezes mais etc.) e interpolaria seu pico no domínio da frequência. Não há número mágico, no entanto. Lembre-se de que a granularidade do seu resultado de FFT é sempre .fsN