Confusão em descobrir a relação entre valores reais de frequência e índices de enredo FFT no MATLAB
Eu sei que há muitas perguntas semelhantes para isso, ainda não consegui descobrir a resposta. Vamos dizer que temos sinal de tempo no MATLAB:
t=0:1/44100:1
e um sinal coseno com frequência 500Hz:
x=cos(2*pi*500*t);
Agora, estou tentando plotar o espectro de magnitude obtido usando offt
comando no sinal x
FFT=abs(fft(x))
plot(FFT)
De acordo com a teoria, devemos obter dois picos no gráfico, um a -500 Hz e outro a 500Hz. O que eu não entendo é que eu tenho dois picos, mas não consigo descobrir em quais frequências esses picos são. Eu sei que há uma maneira de descobrir a frequência usando o índice FFT, o comprimento do sinal de entrada e a frequência de amostragem, mas ainda não consigo calcular a frequência.
Eu sei que existem métodos para alinhar os gráficos de FFT de modo que os picos se encontrem no número de índice da frequência que eles representam usando offtshift
função, mas o que eu quero é descobrir a frequência usando o gráfico resultante de simplesmente chamar esta função:
FFT=fft(x)
Neste caso, eu já sei que o sinal contém um co-seno de 500Hz, mas e se o sinal que queremos obter a FFT não for conhecido antes do tempo. Como podemos obter os valores de frequência dos picos nessa amostra usando a saída dofft
função?