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 :

Verification FFT 1D


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 124
    Par défaut Verification FFT 1D
    Bonjour,

    J'ai réutilisé la classe permettant de faire une FFT (Fast Hartley
    Transform) de l'API imageJ sur un signal 1D. Ca marche, j'arrive a retrouver mes valeurs en faisant l'inverse, mais je cherche un moyen de savoir si les résultats sont biens correctes... Une idée ?

    par exemple en entrée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1.0 0.0 1.0 2.0 1.0 0.0 1.0 2.0
    j'obtiens
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    8.0 0.0 -4.0 0.0 0.0 0.0 4.0 0.0
    Deuxième point, pour l'utiliser sur un signal n'ayant pas une longueur d'une puissance de 2 on peut compléter ŀe signal pour en atteindre une. Question, quelle influence a ce "remplissage" sur la transformée ?

    Merci de votre aide,
    A+

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Bonsoir,

    Citation Envoyé par Mr.ux Voir le message
    Ca marche, j'arrive a retrouver mes valeurs en faisant l'inverse, mais je cherche un moyen de savoir si les résultats sont biens correctes... Une idée ?
    Et bien, le plus simple c'est d'écrire un algo de Discrete Hartley transform et de comparer.

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    double[] DHT(double[] input) {
    	int N = input.length;
    	double[] dht = new double[N];
    	for (int k = 0; k < N; k++) {
    		dht[k] = 0;
    		for (int n = 0; n < N; n++) {
    			double w = 2 * Math.PI * (double) n / N;
    			dht[k] += input[n] * (Math.cos(k * w) + Math.sin(k * w));
    		}
    	}
    	return dht;
    }

    Deuxième point, pour l'utiliser sur un signal n'ayant pas une longueur d'une puissance de 2 on peut compléter ŀe signal pour en atteindre une. Question, quelle influence a ce "remplissage" sur la transformée ?
    heu... ca allonge la période du signal. Donc ca diminue la valeur des fréquences. Mais bon, comme on considère généralement des fréquences réduites (normalisées) ca ne change rien. L'aspect le plus gênant c'est la modification du signal (les zéros au bout) et donc une déformation du signal. Ca se traduit par l'apparition de fréquences parasites.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 124
    Par défaut
    Effectivement j'avais pas pensé à implémenter la DHT... la FHT étant quand même moins simple et ne travaillant que sur les puissances de 2, je vais peut etre me contenter de la version en O(n²) pour l'instant.
    Merci PseudoCode

    Ps: les résultats sont bien identiques.

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

Discussions similaires

  1. Une FFT tres rapide
    Par JuJu° dans le forum Autres éditeurs
    Réponses: 13
    Dernier message: 06/11/2003, 14h03
  2. Réponses: 2
    Dernier message: 16/06/2003, 15h15
  3. Algo de calcul de FFT
    Par djlex03 dans le forum Traitement du signal
    Réponses: 15
    Dernier message: 02/08/2002, 17h45
  4. verification de doublons dans un tableau
    Par bohemianvirtual dans le forum C
    Réponses: 11
    Dernier message: 25/05/2002, 12h21
  5. FFT(Fast Fourier Transform)
    Par IngBen dans le forum Traitement du signal
    Réponses: 6
    Dernier message: 23/05/2002, 16h35

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