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

Algorithmes et structures de données Discussion :

[Signal] Rééchantillonner un signal


Sujet :

Algorithmes et structures de données

  1. #1
    Membre régulier Avatar de titoine1978
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2005
    Messages : 132
    Points : 90
    Points
    90
    Par défaut [Signal] Rééchantillonner un signal
    Bonjour,

    J'ai un tableau de taille N qui pour un temps donné associe une valeur.

    Temps t0 t1 t2 ...... tN
    Valeur v0 v1 v2 ...... vN

    Je voudrais rééchantillonner ces données et n'en avoir plus que M (M<N)
    L'intervalle de temps ti ti+1 n'est pas constant.

    La méthode que j'utilise actuellement donne des résultats vraiment médiocres.

    Sur le net j'ai vu que des algorithmes de Boostrapping ou méthode de Jackknife pouvait faire ce genre de chose, mais je ne comprends pas comment les appliquer.

    Quelles seraient vos méthodes, conseils ?

    Merci.

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Bon courage...
    Une méthode simple, interpolation BSpline d'ordre 3 ou 5.

  3. #3
    Membre régulier Avatar de titoine1978
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2005
    Messages : 132
    Points : 90
    Points
    90
    Par défaut
    Salut,

    Comme mon nombre de point est assez important, je pense donc faire un genre d'interpolation polynomiale local.
    Pour un t quelconque je prends 3 points avant 3 points après, je calcule l'interpolation et la valeur en t.
    Est-ce une bonne méthode ?

    Les B-Splines me paraissent un peu plus compliqués qu'un interpolation polynomiale, étant novice la dedans je me trompe peut-être.

  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Les B-Splines sont plus complexes au début, mais elles ont l'avantage sur le polynomial, même si les 2 sont très proches.

  5. #5
    Membre régulier Avatar de titoine1978
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2005
    Messages : 132
    Points : 90
    Points
    90
    Par défaut
    Je regarderai les B-Splines en tout dernier, si c'est éventuellement plus rapide c'est intéressant.
    Pour l'instant j'ai fais une interpolation linéaire locale, ca semble fonctionner.
    Etape suivante, la polynomiale.

    Merci encore Miles !

  6. #6
    Membre éclairé
    Inscrit en
    Juin 2005
    Messages
    644
    Détails du profil
    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 644
    Points : 754
    Points
    754
    Par défaut
    ATTENTION au recouvrement de spectre!
    avant de sous - échantillonner il faut "vider" le signal de son contenu énergétique pour les fréquences excédant la nouvelle fréquence de coupure de Nyquist.
    Pour faire ce passe-bas un filtre FIR est tout à fait acceptable.
    Le nombre de coefficients sera fonction
    1- de la planéité recherchés,
    2- de la largeur df autour de la fréquence de coupure
    3- de l'atténuation recherchée
    J'utilise usuellement l'algorithme de Parks-McClellan pour les filtres
    HP, LP, BS et BR

  7. #7
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Sauf que dans le cas d'échantillonage non-uniforme, c'est pas aussi simple.

Discussions similaires

  1. signal triangulaire a signal carré
    Par TheKing1992 dans le forum Signal
    Réponses: 12
    Dernier message: 08/10/2013, 16h33
  2. Réponses: 7
    Dernier message: 18/03/2011, 20h57
  3. signal envoyé et signal accepté
    Par minouch dans le forum Débuter
    Réponses: 3
    Dernier message: 21/01/2011, 22h04
  4. [boost::signal] declencher un signal dans un slot
    Par hushhush dans le forum Boost
    Réponses: 2
    Dernier message: 18/11/2009, 00h11
  5. [POSIX][SIGNAL] envoyer un signal a thread avec sigqueue
    Par Mokhtar BEN MESSAOUD dans le forum POSIX
    Réponses: 3
    Dernier message: 09/02/2006, 18h07

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