Should I shift my fft function?
19 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Derick Trinidad
il 10 Dic 2019
Commentato: Star Strider
il 11 Dic 2019
Good afternoon,
I'm trying to take the fourier transform of a recorded file. Do i need to apply the function shiftfft to the signal? If so, how do I plot the signal correctly and how do I read the graph?
%Read Voice
[y,fs] = audioread('Testing.m4a');
fourier_shift = abs(fftshift(fft(y)));
plot(fourier_shift)
0 Commenti
Risposta accettata
Star Strider
il 10 Dic 2019
It depends on the result you want. The shifted version plots the negative and positve frequencies (the Fourier transform is symmetric). The unshifted version (plotting only half of the result) is generally more informative.
The two options:
%Read Voice
[y,fs] = audioread('Testing.m4a');
L = size(y,1);
fourier_shift = abs(fftshift(fft(y)/L));
Fn = fs/2;
freqvct = linspace(-Fn, Fn, L);
figure
plot(frqvct, fourier_shift*2) % Two-Sided, With Frequency Vector
grid
fourier = abs(fft(y)/L);
Fv = linspace(0, 1, fix(L/2)+1)*Fn;
Iv = 1:numel (Fv);
figure
plot(Fv, fourier(Iv)*2) % One-Sided, With Frequency Vector
grid
Choose the option you want.
4 Commenti
Più risposte (0)
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!