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 de déconvolution


Sujet :

Signal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 3
    Par défaut Problème de déconvolution
    Bonjour,

    ça fait deux mois que je galère avec la déconvolution de deux signaux et j'arrive pas à avoir un bon résultat. Est ce quelqu'un peut m'aider?
    Voici le code matlab que j'utilise ainsi que le résulat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    vect1=[1 2 3 4 5 6 7 8 9];
    vect2=[1 2 3 4 0 0 0 0 0 0 0 0 0 0]; %Je cherche w telque conv(w,vect1)=vect2
    Lx=length(vect2)-length(vect1)+1;
    Lx2=pow2(nextpow2(Lx));
    VECT1=fft(vect1,Lx2);
    VECT2=fft(vect2,Lx2);
    W=VECT2 ./ VECT1;
    w=real(ifft(W,Lx2));
    w=w(1:1:Lx);
    w=w/max(abs(w));
    conv(w,vec1)
    donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    ans =
     
    Columns 1 through 9
     
    -0.1688 -0.5065 -1.0130 -1.6883 -1.3636 -0.9740 -0.5844 -0.1948 0.1948
     
    Columns 10 through 14
     
    2.2727 4.5195 6.9351 9.5195 0.5844
    qui est totalement différent du résultat attendu qui est vect2


    Merci beaucoup pour votre aide...

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Par défaut
    Bonjour.
    Plus proche du résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    clear
    vect1=[1 2 3 4 5 6 7 8 9];
    vect2=[1 2 3 4 0 0 0 0 0 0 0 0 0 0]; %Je cherche w telque conv(w,vect1)=vect2
    Lx=length(vect2)-length(vect1)+1;
    Lx2=pow2(nextpow2(Lx));
    VECT1=abs(fft(vect1,Lx2));
    VECT2=abs(fft(vect2,Lx2));
    W=VECT2./VECT1;
    w=(ifft(W,Lx2));
    w=w(1:1:Lx);
    w=w/max(abs(w));
    conv(w,vect1)

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 3
    Par défaut
    Oui mais ça ne résout pas le problème, est ce que vous pensez que ça vient de la déconvolution? est ce que la déconvolution ne donne pas un bon résultat pour tout les coups?
    ça fait 2 mois que je travaille dessous et je trouve pas de solution, et maintenant ça devient urgent!

    Merci beaucoup pour votre aide

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Par défaut
    Bonjour.
    ça vient de la déconvolution
    Non, cette fonction est bonne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    vect1=[1 2 3 4 5 6 7 8 9];
    vect2=[1 2 3 4 0 0 0 0 0 0 0 0 0 0];
    c = conv(vect1,vect2)
    [q,r] = deconv(c,vect1)

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 3
    Par défaut
    Merci pour ta réponse..

    Oui ça explique bien que ça dépend des vecteurs à déconvoluer. Parce que pour mon exemple, même la fonction deconv ne donne pas un bon résultat! Je présume donc que pour mon cas, y'a pas une solution et c'est à cause des vecteurs utilisé et non pas de la manière de faire la déconvolution.

Discussions similaires

  1. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18
  2. Problème d'impression
    Par IngBen dans le forum C++Builder
    Réponses: 7
    Dernier message: 22/05/2002, 11h37
  3. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10
  4. Réponses: 6
    Dernier message: 25/03/2002, 21h11

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