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 :

Encore un problème d'échelle avec Matlab


Sujet :

Signal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 59
    Par défaut Encore un problème d'échelle avec Matlab
    Bonjour à tous!
    Même si ce sujet est largement traité sur internet, je n'y arrive quand même pas:

    Je fais la fft d'un sinus cardinal, donc je devrais trouver une porte de hauteur 1.
    Seulement, quand je la trace, je vois une porte, mais pas de hauteur 1.

    Alors je sais qu'il ne faut pas oublier de diviser par le nombre de point, mais rien n'y fait.

    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    t=-10:0.1:10;
     y=sin(pi*t)./(pi*t);
     y(101)=1; %par continuité
     stem(abs(fftshift(fft(y)))/length(y))
    Est-ce que quelqu'un peut m'expliquer pourquoi ma porte n'est pas de hauteur 1?

    Par avance merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Tu as oublié un petit détail: la longueur de la porte:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    N = 10;
    t=-N:0.1:N;
    y=sin(pi*t)./(pi*t);
    y(101)=1; %par continuité
    y = y*2*N;  % Longueur de la porte
    plot(abs(fftshift(fft(y)))/length(y))

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 59
    Par défaut
    Merci Winjerome!
    Effectivement ça marche mieux!

    Par contre, je ne comprend pas pourquoi multiplier y par 2*N corrige mon erreur!?

    Peux-tu m'expliquer?

    Par avance merci

  4. #4
    Invité
    Invité(e)
    Par défaut
    Le fait est que ton sinus cardinal n'est pas d'une longueur infinie, tu ne le prend que sur une porte de t ϵ [-10 , 10].
    Il faut donc prendre celle-ci en compte pour la fft

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 59
    Par défaut
    Oki,

    mais maintenant, si je veux "ouvrir" ma porte pour qu'elle soit passante sur [-2;2], alors dans mon sinus cardinal je multiplie par 4. Et normalement, ma porte reste avec une amplitude de 1, ce qui n'est pas le cas.

    Voici le même code, avec juste cette petite modification:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    N = 100;
    t=-N:0.1:N;
    y=sin(4*pi*t)./(pi*t);
    y(101)=1; %par continuité
    z = y*2*N;  % Longueur de la porte
    figure(2);
    plot(f,abs(fftshift(fft(z)))/length(z));
    Pourquoi cette fois ci, la hauteur de la porte n'est-elle pas bonne??

    Merci!

  6. #6
    Invité
    Invité(e)
    Par défaut
    Alors, pour appliquer la bonne formule:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    N = 100;
    T = 4;
    t=-N:0.1:N;
    y = sin(T*pi*t)./(pi*t);
    y(isnan(y))=T; %par continuité
    z = y*2*N;  % Longueur de la porte
    figure(2);
    plot(f,abs(fftshift(fft(z)))/length(z));
    Remarque: tu peux remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    y=sin(T*pi*t)./(pi*t);
    y(101)=T; %par continuité
    Par:

Discussions similaires

  1. problème d'implementation avec matlab
    Par ryuphenix dans le forum Simulink
    Réponses: 0
    Dernier message: 20/06/2011, 13h20
  2. Encore des problèmes avec le BDE
    Par Flint dans le forum C++Builder
    Réponses: 19
    Dernier message: 31/12/2007, 23h26
  3. Réponses: 6
    Dernier message: 22/01/2007, 11h43
  4. Encore un problème avec netscape !!
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 06/02/2006, 21h14
  5. Encore un probléme de date avec TADO !
    Par bNoureddine dans le forum Bases de données
    Réponses: 2
    Dernier message: 22/02/2004, 18h22

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