Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

Problème d'analyse spectrale



  1. #1
    Bogey Jammer

    Unhappy Problème d'analyse spectrale


    ------

    Salut tout le monde

    J'aimerais effectuer une analyse spectrale à partir d'un graphe temporel montrant la vélocité d'une suspension de voiture en fonction du temps. Le signal est donc très loin d'être périodique...

    On m'a dit qu'il faut utiliser dans ce cas l'outil "transformée de Fourier", j'ai fait quelques recherches mais les docs ne parlent pas dans le langage du commun des mortels, donc je n'arrive pas à trouver la bonne formule qu'il faut que j'utilise dans mon application.

    Si j'ai bien compris jusque là, je dois trouver une fonction mathématique ressemblant le plus possible au signal de ce graphe, je pourrai ensuite me débrouiller pour dessiner le graphe d'analyse de spectres.

    Ce que je voudrais savoir, c'est comment trouver cette fonction, quelle formule dois-je utiliser?

    merci d'avance et bonne année

    -----

  2. Publicité
  3. #2
    acx01b

    Re : Problème d'analyse spectrale

    non, non, non et non, mais c'est très simple

    j'ai moi aussi galéré un petit peu:

    la transformée de fourier d'un signal discret (cad qui n'est pas une fonction, qui est une suite de points répartis à égales distances) c'est une fonction qui te donne un spectre discret:

    ton signal (disons F(x) ki sécrit Fx car c'est une fonction discrète) varie pour x (entier) = 0 --> N-1 où N est le nombre de points

    on transforme l'intégrale en une somme:

    somme pour x variant de 0 à N-1 de F(x) fois e puissance (2pi/N fois X fois frequence)
    fréquence étant un nombre ENTIER variant de 0 à N-1:
    on associe donc à une fréquence, une somme de cosinus et de sinus, donc on ne garde que le module (pour chaque fréquence on obtient a+ib, on fait racine de a² + b²)
    puis on dessine le spectre: en abscisse la fréquence, en ordonnée la valeur du module du complexe obtenu pour chaque fréquence

    sur ordinateur: il existe des modules qui font les calculs 10 à 10000 fois plus vite, cherche fft (fast fourier transform) sur le web

    byebye

  4. #3
    Bogey Jammer

    Re : Problème d'analyse spectrale

    salut !

    merci pour la réponse, mais c'est pas assez clair, tu peux donner un exemple stp?

    je fais tout de même des recherches sur la FFT

  5. #4
    zoup1

    Re : Problème d'analyse spectrale

    la transformée de fourier est l'outil mathématique qui permet de faire une décomposition spectrale à partir d'un signal.
    A un signal s(t) elle associe une fonction S(f) qui décrit les fréquences f présentent dans le signal. s(t) peut être vu comme la superposition de toutes les formes de sinusoïdes et de cosinusoïdes possibles (ou encore pour être plus générale, d'exponentielles complexes )

    On va avoir quelque chose comme cela :
    indique donc l'importance de la fréquence dans le signal de s(t).

    Déterminer ces coefficient , c'est calculer une transformée de fourier.



    Les facteurs sont juste là pour la normalisation et on peut choisir de les répartir de cette façon ou d'une autre façon.

    Il existe une version discrète de ces expressions pour calculer la transformée de fourier discrète d'un signal discrétisé...

    La FFT est un algorithme de calcul de ces transformés de fourier discrètes.

    pour plus de détails je propose le lien suivant... au chapitre fast fourier transform.
    Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.

  6. #5
    acx01b

    Re : Problème d'analyse spectrale

    sniff j'ai pas été assez clair....

    signal[x] contient les y du signal pour chaque x, variant de 0 à 50

    for (f = 0 TO 50) {
    for (x= 0 TO 50) {
    cos_f[x] = cos_f[x] + signal[x] * exp (x*f*2Pi/50);
    sin_f[x] = sin_f[x] + signal[x] * exp (x*f*2Pi/50);
    }
    transformee_en[f] = racine carré de ((cos_f[x])² + (sin_f[x])²);
    }

    transformee_en[f] pour f variant de 0 à 50 contient les valeurs des amplitudes pour chaque f, f étant la fréquence, c'est donc le spectre!

    le 1/racine de 2pi on peut l'enlever, c'est une constante multiplicative... pas le 2Pi/50 par contre, c'est évident...

    a+

  7. A voir en vidéo sur Futura
  8. #6
    Bogey Jammer

    Smile Re : Problème d'analyse spectrale

    là c'est bien plus clair, merci pour vos réponses
    Je vais déjà voir ce que je peux faire avec tout ça, des questions viendront surement

  9. Publicité
  10. #7
    acx01b

    Re : Problème d'analyse spectrale

    et voila j'en étais sur que j'étais trop nul pour ce genre de trucs:
    c'est for (f = 0 TO 49) {
    for (x= 0 TO 49) {
    valeur_cos_en[f] = valeur_cos_en[f] + signal[x] * exp (x*f*2Pi/50);
    valeur_sin_en[f] = valeur_sin_en[f] + signal[x] * exp (x*f*2Pi/50);
    }
    transformee_en[f] = racine carré de ((cos_f[x])² + (sin_f[x])²);
    }
    f prend 50 valeurs, et pour chaque f il y a une partie imaginaire et une partie réelle
    Dernière modification par acx01b ; 08/01/2005 à 13h15.

  11. #8
    chaos

    Re : Problème d'analyse spectrale

    Attention, dans ce cas La FFT n'est pas forcement le bon outil. Peu d'harmonique, evolution en fonction du temps de la puissance spectrale à f fixée etc ...
    Il faut d'abord savoir ce que vous cherchez.
    1) Haute fréquence (i.e réponse rigidité ressort à une courte impulsion)
    2) Basse fréquence (i.e typiquement le roulis)

    regarder en fonction du temps l'évolution du psectre (décomposition temps fréquence) soit en FFT soit encore mieux en Ondelettes.

    Cordialement

  12. #9
    Bogey Jammer

    Question nombre d'échantillons

    re-salut!

    ça faisait longtemps

    Bon finalement j'ai trouvé un outil me permettant de faire la FFT et ça a l'air de bien fonctionner.

    Mais voilà un nouveau problème, j'ai un soucis de nombre d'échantillons. La FFT impose d'analyser un nombre 2 puissance quelquechose. Donc si j'ai 5000 échantillons comment je peux les analyser complètement si je suis limité à 4096 dans ce cas?

    J'ai pensé à faire plusieurs analyses, genre 4096, 512, 256, 128, et 8, faire une moyenne de tout ça (avec coefficients bien sûr)
    ou alors faire une moyenne de l'analyse des 4096 premiers échantillons et des 4096 derniers.
    Mais bon je suis sûr que c'est complètement faux, j'ai même pas osé essayer.

    Dans tous les documents que j'ai tenté de comprendre, aucun ne parle de ce problème.

    Comment ça peut se résoudre?

Sur le même thème :

Discussions similaires

  1. problème d'analyse
    Par liline12 dans le forum Mathématiques du supérieur
    Réponses: 11
    Dernier message: 30/09/2007, 18h17
  2. Petit problème d'analyse!
    Par Moltinou dans le forum Mathématiques du collège et du lycée
    Réponses: 4
    Dernier message: 31/05/2007, 22h27
  3. [MPSI] Problème d'analyse
    Par Deeprod dans le forum Mathématiques du supérieur
    Réponses: 16
    Dernier message: 26/01/2007, 16h48
  4. [Ts]: Petit problème d'analyse!
    Par Moltinou dans le forum Mathématiques du collège et du lycée
    Réponses: 5
    Dernier message: 30/11/2006, 19h10