• # signal infini...

    Posté par . En réponse au message GNU/octave : Aidez moi à comprendre fft et ifft :'(. Évalué à 2. Dernière modification le 14 mars 2021 à 10:00.

    Bonjour,
    Je ne connais pas octave, il m'arrive d'utiliser d'autre outils pour faire des FFT (python ou scilab, mais peu importe). Je ne vais sans doute pas répondre à ta question mais quand même.
    Le principe d'une FFT c'est de prendre un signal discret, et de te donner un spectre discret. Partant de là :
    1- pour faire un calcul numérique, tu est obligé de limiter ton signal à un nombre d'échantillons fini. Donc vouloir le faire sur un signal infini, n'a pas de sens (sauf si il es périodique, voir point suivant).
    2- le spectre obtenu étant discret, ce suppose que ton signal est périodique (donc infini, ce qui peut paraitre contradictoire avec le point 1, mais en fait non).
    Ce qui réconcilie le point 1 avec la contradiction du point 2, c'est l'hypothèse qui se cache derrière la FFT et qu'on oublie : On prend un signal, on le tronque à N points, et ce qu'on calcule en fait c'est le signal périodique, dont on prendrait une période qui est représentée sur N points.
    Comme je ne sais pas quelle forme à le n'importe quoi que tu observe quand tu apodise ton signal (le fait d'ajouter des zéros), je ne peux pas te répondre, mais c'est peu être normal. Dans ton signal de départ, tu as pris un sinus tronqué sur 5 points, mais ces 5 points sont pile sur une période, donc quand la FFT périodise, elle effectue bien le calcul sur un sinus périodique. Quand tu ajoute des 0, c'est un signal différent, qui n'est plus un échantillonnage cohérent, donc ta FFT est peu être juste, avec des lobe secondaires qui apparaissent, mais avec 10 points tu n'a plus la précision voulue pour "voir" le pic principal.
    Je ne suis pas certain d'avoir été clair, mais expliquer ça sans un petit dessin, c'est pas évident.