Bonjour à tous !

Je suis nouvelles sur ce site.

Je dois mesurer les Fréquences de différents jouets sonores (cloches, Triangle, …).
Je dois donc faire un petit programme me permettant d’importer un signal sonore (le fichier wav enregistré) et calculer la FFT de ce signal.
Je pense que j’y arrive avec le code ci-dessous.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
% UIGETFILE Standard open file dialog box
    [filename,pathname] = uigetfile('*.wav' ,'wav OPEN') ;
    if filename ~= 0
 
% Ouvrire le fichier à lire
    file_name   = [pathname filename] ;
 
%  Sampling rate of signal (22050)
    [y Fs]      = wavread(file_name)     ; 
    t           = [1/Fs:1/Fs:length(y)/Fs] ;
 
% Affichage du signal enregistré        
    subplot(2,1,1) ;
    plot(t,y) ;
    axis([0 0.005 -1.5 1.5])
    xlabel('Time [s]') ;
    ylabel('Amplitude') ;
    subplot(2,1,2) ; 
 
% calcul de la FFT en utilisant FFT Matlab    
    Y           = fft(y, 512);
    Pyy         = Y.* conj(Y)/512;
    dBPyy       = 10*log10(Pyy/max(Pyy)) ;
 
% Affichage de la FFT du signal enregistré   
    N = 512;
    f=Fs/N.*(0:N-1);
    semilogx(f,dBPyy) ;     
    title('Sons Cloche') ;
    xlabel('Frequency [Hz]') ;
    ylabel('Power Spectrum dB[W]') ;    
    axis([10 Fs/2 min(dBPyy) max(dBPyy  )+10]) ;
 
    grid on ;
 
    end
ça marche pour des sons purs comme des sinus (400 Hz) ou Sinus (2000 Hz).
Cependant, j’aimerai afficher les différentes fréquences des jouets sonores (ces sons contiennent aussi des harmoniques !) comme 450 Hz ou 1189 Hz etc … Comment puis je faire ?
Merci d’avance pour votre aide.
Lina