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 :

Fonction artificielle & Produit de convolution [Débutant]


Sujet :

Signal

  1. #1
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    77
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 77
    Points : 35
    Points
    35
    Par défaut Fonction artificielle & Produit de convolution
    Bonjour tout le monde
    Je souhaiterai avoir un petit coup de main sur un calcul de produit de convolution sous matlab.

    J'ai ma fonction x[n]=0 :
    Si n<-1 x[n]=0
    Si n=-1 x[n]=2
    Si n=0 x[n]=-1
    Si n=1 x[n]=3
    Si n>1 x[n]=0
    et h[n]
    Si n<-2 h[n]=0
    Si n=-2 h[n]=1
    Si n=-1 h[n]=2
    Si n=0 h[n]=2
    Si n=1 h[n]=3
    Si n>1 h[n]=0

    je dois déterminer y[n], bon ça j'ai aucun problème à le faire à la main mais ce qui me complique la chose c'est comment définir x[n] sous matlab par exemple ?
    Bon ensuite j'utilise la fonction conv (vecteur1, vecteur2) et c'est dans la poche

  2. #2
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    77
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 77
    Points : 35
    Points
    35
    Par défaut
    bon en fait j'ai trouver mdr ^^

    La solution pour ceux que sa s'intéresse est la suivante

    c'est de faire simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    x=[0 2 -1 3]
    h=[1 2 2 3]
    >> conv(x,h)
     
    ans =
     
         0     2     3     5    10     3     9

    Âne qui trotte

    Par contre comment on plot x et h s'il vous plait ?


    MERCI

  3. #3
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    77
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 77
    Points : 35
    Points
    35
    Par défaut
    ah c'est bon j'ai trouvé

    fonction stem(x) , stem(y) et stem(h)

    Âne qui trotte

    Un autre problème
    je voudrai que x commence à -1 et h à partir de -2 comment on fait pour les tracer correctement s'il vous plait ?

    Merci

  4. #4
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    77
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 77
    Points : 35
    Points
    35
    Par défaut
    ah j'ai trouvé !
    décidement ^^mdr

    alors pour ceux que sa intéresse il suffit de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    t=[-2 -1 0  1]
    x=[0 2 -1 3];
    stem(t,x,'fill')
    et puis c'est tout

    mais bon un autre problème quand je trace y, il est censé commencer de -4 (car je l'ai fait à la main) mais matlab me le fait commencer à 1.
    Que faire s'il vous plait ? ?

    Merci

    PS: désolé caroline pour la borne #code j'avais oublié

  5. #5
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,

    c'est le même problème, non?
    Tu définis tes abscisses entre -4 et -1 et tu traces :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    t2=-4:-1 % ici les bornes dépendent de la longueur de y
    stem(t2,y,'fill')
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  6. #6
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    77
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 77
    Points : 35
    Points
    35
    Par défaut
    ouais mais là on le définit nous-même alors que je veux que matlab trouve lui l'intervalle d'étude

  7. #7
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    et comment est défini ton intervalle d'étude?

    par rapport à tes intervalles initiaux (qui sont eux-mêmes décalés)?
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  8. #8
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    77
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 77
    Points : 35
    Points
    35
    Par défaut
    En fait , tu me dis t2=-4:-1 mais par ce que je l'ai fait à la main avant mais le but de mon exercice c'est qu'il le fasse lui même. Je lui file un filtre, une fonction en entrée et matlab me trouve comme un grand y, me le trace sur le bon intervalle.
    Déjà de un lorsqu'on lance la convolution sous matlab il fait abstraction des abscisses j'ai mis deux vecteurs de même taille et j'ai mis 0 là il fallait pour x.
    C'est pour ca que j'ai mis le vecteur .

  9. #9
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Citation Envoyé par sky-mars Voir le message
    En fait , tu me dis t2=-4:-1
    euh, non, c'est toi qui a introduit le -4, moi j'ai extrapolé...
    Pourquoi -4?


    Si tu filtres un signal, alors les abscisses du résultat seront les mêmes que le signal initial, non? Ce ne serait pas plutôt la fonction filter que tu cherches à utiliser? (ou alors il faut tronquer le résultat de conv).
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  10. #10
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    77
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 77
    Points : 35
    Points
    35
    Par défaut
    en vrai c'est -3 j'ai pris -4 par ce que y(0)=0
    En fait ce qui se passe dans l'exercice c'est qu'on utilise un FIR Filter.
    Sa m'apporte quoi de plus la fonction filter ?

  11. #11
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    La fonction filter permet d'appliquer directement un filtre FIR à ta fonction initiale.
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  12. #12
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    77
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 77
    Points : 35
    Points
    35
    Par défaut
    ouais mais du coup la fonction h je la laisse tomber si j'utilise la fonction filter ?

  13. #13
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    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
    x=[0 2 -1 3]
    h=[1 2 2 3]
    conv(h,x)
     
    x =
     
         0     2    -1     3
     
     
    h =
     
         1     2     2     3
     
     
    ans =
     
         0     2     3     5    10     3     9
     
    >> filter(h,1,x)
     
    ans =
     
         0     2     3     5
    La seule différence entre ces 2 exemples, c'est que la fonction filter tronque le signal de sortie en fonction de la dimension de l'entrée x.
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

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

Discussions similaires

  1. Produit de convolution et fonction conv
    Par fuyo2004 dans le forum MATLAB
    Réponses: 8
    Dernier message: 26/04/2010, 22h36
  2. [Débutant] produit de convolution de deux vecteur
    Par kheira dans le forum C++Builder
    Réponses: 4
    Dernier message: 13/03/2010, 15h18
  3. Produit de convolution
    Par top111 dans le forum MATLAB
    Réponses: 9
    Dernier message: 19/06/2008, 14h48
  4. fft en 3 dimension pour un produit de convolution
    Par mattthieu dans le forum Calcul scientifique
    Réponses: 9
    Dernier message: 09/06/2008, 11h38
  5. produit de convolution en C
    Par nickoko dans le forum C
    Réponses: 8
    Dernier message: 21/06/2006, 16h10

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