Zero frequency in audio signal
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Nachiket Patki
el 3 de Mzo. de 2017
Comentada: Star Strider
el 6 de Mzo. de 2017
Hello sir,
I am working on a project where one of the task is to find the FFT of an audio file that I have. The audio file basically contain sound from a 'trumpet'. It is of 5s duration.Firstly I use 'audioread' function to read the file which gave me a vector i.e a discrete time samples of audio. Then when I took fft to see the frequency of sound clip, it showed me max peak at 0 Hz. How is it possible? I am not getting it. The code works fine for other sounds.
I will share the code that I am using please tell me where I am going wrong.
[c,fs]=audioread('T4.wav');
c=c';
dft=fft(c);
dft=dft(1:length(c)/2+1);
fval=fs*(0:length(c)/2)/length(c);
[Max,I]=max(abs(dft));
plot(fval,abs(dft))
fprintf('Maximum occurs at %3.2f Hz.\n',fval(I))
0 comentarios
Respuesta aceptada
Star Strider
el 3 de Mzo. de 2017
The ‘0 Hz’ peak is the constant (or d-c, direct current) offset. To eliminate it and see the other frequencies in your signal, subtract the mean from your signal before taking the fft.
Example:
[c,fs]=audioread('T4.wav');
c = c-mean(c);
c=c';
dft=fft(c)
.. REST OF YOUR CODE ...
6 comentarios
Más respuestas (1)
Ver también
Categorías
Más información sobre Measurements and Feature Extraction en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!