Outils pour utilisateurs

Outils du site


francois:fft_sur_un_fichier_pcm

Ceci est une ancienne révision du document !


Faire une FFT sur fichier Audio

http://www.unilim.fr/pages_perso/jean.debord/math/fourier/fft.htm

Génération de “.wav” sinus

http://www.audiocheck.net/audiofrequencysignalgenerator_sinetone.php

//Composantes fréquentielles d'un signal
//----------------------------------
// Construction d'un signal bruité échantilloné à 1000hz 
//        contenant deux fréquences pures à  50 et 70 Hz.
sample_rate=48000;
 
file_path = "/home/francois/develop/calcul/scilab/audio"
file_name = "sin_1000Hz_-3dBFS_3s.wav"
 
afd = mopen(file_path + "/" + file_name, "rb")
data = []
// Positionning of the seek pointer to the start of wave
mseek(44, afd)
 
while ~meof(afd)
  data = [data, mget(10,'s',afd)]
end
 
mclose(afd)
hsize=max(data)
data = data / (2^15)
 
N=size(data,'*'); //nombre d'échantillons
y=fft(data, -1);
DSP=10*log10((1/N*abs(y))^2);
 
//y est symétrique, on ne garde que  N/2 points
f=sample_rate*(0:(N/2))/N; //vecteur de fréquences associé
n=size(f,'*')
clf()
plot(f,DSP(1:n))
francois/fft_sur_un_fichier_pcm.1373118100.txt.gz · Dernière modification : (modification externe)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki