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

Traitement du signal Discussion :

Convolution FFT algorithme


Sujet :

Traitement du signal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 473
    Par défaut Convolution FFT algorithme
    Bonjour à tous,

    Je travail actuellement sur du traitement du signal. Je cherche à réaliser une opération de convolution sur un signal "infini". Pour cette opération de convolution je transforme mon signal d'entrée ( f ) (selon une fenetre de taille fixe) dans le domaine fréquentiel via une FFT. Et je transforme mon impulse ( h ) dans le domaine fréquentiel. Puis une multiplication entre les deux et enfin une FFT inverse sur le résultat avant de resortir le son.

    Le principe utilisé est celui du fenetrage. Imaginons une fenetre de taille 2048.
    Je me pose des questions sur la mise en place de l'algorithme. Si mon impulse est plus petite que 2048 qu'est ce que je fais ? Si elle est plus grande ?

    Je suis ouvert à toute l'aide que vous pourrez me founir, tous les documents.
    Merci beaucoup.

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 116
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 116
    Par défaut
    On note souvent h(t) la réponse impulsionnelle et H(f) la réponse fréquentielle.

    Est-ce ce que vous voulez dire en parlant de h l'impulse ?

  3. #3
    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 : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Quelques pistes : http://miles.developpez.com/tutoriels/algo/fft/
    Donc si tu regardes bien, si tu as un signal fenêtré de taille 1024, ton impulsion ne devrait pas être plus grande que 1025 échantillons.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 473
    Par défaut
    On note souvent h(t) la réponse impulsionnelle et H(f) la réponse fréquentielle.
    H(f) = FFT ( h(t) ) ?

    Je ne suis pas sur du vocabulaire employé en fait ?

    Après reflexion je pense que la meilleure solution est de mettre une fenetre relativement grande de telle facon que les impulses soient toujours plus courtes et compléter par des 0 jusqu'a atteindre la taille de la fenetre.

    Merci pour le tuto. Je vais le décortiquer.

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 116
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 116
    Par défaut
    Citation Envoyé par samtheh
    H(f) = FFT ( h(t) ) ?

    Je ne suis pas sur du vocabulaire employé en fait ?
    Oui c'est tout à fait ça. A une multiplication dans le domaine des fréquences correspond une convolution dans le domaine des temps.

    Mais il vaut mieux pratiquer une convolution, la réalisation de la FFT rajoute du temps de calcul car il faut ensuite revenir dans le domaine des temps.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 473
    Par défaut
    Seulement,

    f O g (t) = IFFT( FFT (f (t)) * FFT(g(t)) )

    Et le calcul coté fréquentiel est moins complexe que coté temporel. D'un point de vue algorithmie en tout cas.

Discussions similaires

  1. probleme implémentation algorithme FFT
    Par philo69 dans le forum C
    Réponses: 15
    Dernier message: 08/05/2007, 17h33
  2. [Traitement du signal] Convolution en passant par la FFT
    Par parp1 dans le forum Traitement du signal
    Réponses: 8
    Dernier message: 25/04/2006, 13h26
  3. [Numarray]Convolution par FFT
    Par parp1 dans le forum Calcul scientifique
    Réponses: 1
    Dernier message: 22/04/2006, 09h45
  4. FFT inverse, algorithme adapté ?
    Par progfou dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 09/04/2006, 17h08
  5. Algos pour Convolution et FFT
    Par mensouille dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 17/08/2005, 18h18

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