IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Signal Discussion :

problème fonction fft


Sujet :

Signal

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 59
    Points : 35
    Points
    35
    Par défaut problème fonction fft
    Bonjour à tous,

    Je cherche à faire une fft de deux signaux relativement simple. Malheureusement, lorsque je fais la fft, je n'obtiens pas les deux fréquences représentées, à savoir 244 et 250.

    Voici mon code:
    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
    Fs = 32768;                   % Sampling frequency
    T = 1/Fs;                     % Sample time
    L = 2048;                     % Length of signal
    t=(0:L-1)*T;                 % 2048*dt Time vector
     
    % Sum of a 244 Hz sinusoid and a 250 Hz sinusoid
    x = sin(2*pi*244*t);
    y = sin(2*pi*250*t);
    z = x+y;
     
    %fft
    figure(1)
    FFT_size=2048;
    X=fft(z,FFT_size);
    f=(0:FFT_size/2)/(FFT_size/2)*Fs/2;
    plot(f,abs(X(1:FFT_size/2+1))); % on voit bien que le signal est à 10 Hz
    title('FFT - Pré');
    xlabel('Fréquence(Hz)');
    ylabel('Amplitude');
    Avez-vous une idée de la raison pour laquelle le pic sur 250 n’apparaît pas?
    Merci d'avance pour votre aide.

  2. #2
    Membre éclairé Avatar de tubaas
    Homme Profil pro
    Acousticien
    Inscrit en
    Août 2009
    Messages
    641
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Acousticien
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2009
    Messages : 641
    Points : 825
    Points
    825
    Par défaut
    salut
    je ne vais pas exactement répondre à ta question mais essayer tout de même de t'aiguiller : d'après toi, quelle est la résolution fréquentielle de ta fft (étant donné que le code est plutôt bien écrit, il est surprenant que tu ne te sois pas posé la question) ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 37
    Points : 38
    Points
    38
    Par défaut
    Bonjour,

    Il apparaît, mais caché...
    Ta résolution n'est pas bonne, les deux pics sont mélangés.
    Passe "L" et FFT_size" à 2^20 et tu les verras distinctement
    Ou bien teste les fréquences "240" et "300".

    Cdt,
    L'hermine

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 59
    Points : 35
    Points
    35
    Par défaut
    Merci beaucoup pour vos réponses!

    Citation Envoyé par tubaas Voir le message
    d'après toi, quelle est la résolution fréquentielle de ta fft (étant donné que le code est plutôt bien écrit, il est surprenant que tu ne te sois pas posé la question) ?
    En fait, je ne me suis pas posé la question car la résolution de ma fft est fixe et ce n'est donc pas un paramètre que je peux modifier pour améliorer la résolution. Donc,

    Citation Envoyé par L'hermine
    Passe "L" et FFT_size" à 2^20 et tu les verras distinctement
    Ou bien teste les fréquences "240" et "300".
    c'est impossible pour moi...

    Je pensais à faire ce que l'on appel un zoom fft pour contourner le problème.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 59
    Points : 35
    Points
    35
    Par défaut fonction fft et zoom fft
    Alors, je me suis déjà un peu engagé dans le codage de ce type de fonction mais après un 'Heterodyning', je suis coincé dans le filtrage. D'après mes lectures, il est conseillé de faire une fir mais je ne suis pas convaincu de l'utilisé correctement.

    Voici ce que j'ai eu l'occasion de coder:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    b = fir1(16,Fs2/2); % 16 a été mis au hasard et Fs2/2 correspond à la fréquence
    A=1;      
    ycv = filter(b,A,ab);% ab correspond au signal après l'heterodyning
    Parmi les paramètres dont je ne suis pas sure, il y a les deux dans fir1 ainsi que le A pour le filtrage.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème avec la fonction fft(X,n)
    Par youir dans le forum Signal
    Réponses: 2
    Dernier message: 13/03/2010, 16h29
  2. Problème fonction SDL
    Par seeme dans le forum SDL
    Réponses: 2
    Dernier message: 06/11/2005, 20h22
  3. Problème fonction PL/SQL
    Par SSJ17Vegeta dans le forum PL/SQL
    Réponses: 2
    Dernier message: 29/10/2005, 21h14
  4. Problème fonction et trigger sous 7.2
    Par anoukhan dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 22/06/2005, 22h53
  5. Réponses: 2
    Dernier message: 20/08/2004, 17h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo