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

Signal Discussion :

TF d'une fenêtre de hann


Sujet :

Signal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif

    Profil pro
    Étudiant
    Inscrit en
    Décembre 2004
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2004
    Messages : 499
    Par défaut TF d'une fenêtre de hann
    bonjour,

    j'ai fait un petit programme Matlab qui devrait montrer que la TFTD de la fenêtre de hann est bien TFTDHann(nu)

    on prend un signal de 0 à N-1
    hann(n) = 0.5 - 0.5*cos(2*pi*n/(N-1));
    on trouve
    TFTDHann(nu) = \sum_{n=0}^{N-1} e^{-2i.Pi.Nu.n} hann(n) = 0.5*e^{-i.Pi.Nu.(N-1)}*psinc(nu,N) - 0.25*e^{-i.Pi.(Nu-1/(N-1)).(N-1)}*psinc(nu-1/(N-1),N) - 0.25*e^{-i.Pi.(Nu+1/(N-1)).(N-1)}*psinc(nu+1/(N-1),N);

    psinc est la periodic sinc function (ou TFTD de la fenêtre rectangulaire) :
    psinc(nu,N) = sin(pi*N*nu)/sin(pi*nu)

    et nu est la variable fréquentielle réduite (F(nu) est périodique de période 1)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    clear all;
    close all;
     
    % nombres de points de la fenêtre temporelle
    N = 64;
    % on a 8 fois plus points en fréquentiel
    KM = 8;
    % nb de points en fréquentiel
    M = N*KM;
    % les "variables"
    n = 0:N-1;
    nu = [0:M-1]/M;
    % la fenêtre de hanning, on pourrait écrire win = window(@hann,N)';
    win = 0.5*ones(1,N) - 0.25*exp(2*i*pi*n/(N-1)) - 0.25*exp(-2*i*pi*n/(N-1));
    W = fft(win,M)/N;
    % W devrait être égal à ça :
    y = 0.5*diric(nu*2*pi,N) - 0.25*diric((nu-1/(N-1))*2*pi,N) - 0.25 *diric((nu+1/(N-1))*2*pi,N);
     
     
    subplot(211);
    plot(abs(W(1:100)));
    subplot(212);
    plot(abs(y(1:100)));
    oui j'ai oublié de préciser : sous matlab diric(2*pi*x,N) = psinc(x,N)/N

    qu'est-ce qui est faux ???!!!

    merci d'avance

  2. #2
    Membre très actif

    Profil pro
    Étudiant
    Inscrit en
    Décembre 2004
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2004
    Messages : 499
    Par défaut
    j'ai trouvé ... il manquait le terme de modulation dû à la symétrie du signal temporel non pas par rapport à 0 mais par rapport à (N-1)/2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    % voila la bonne formule de la TF de la fenêtre de hann ...
    y = exp(-i*pi*nu*(N-1)).*(0.5*diric(nu*2*pi,N) + 0.25*diric((nu-1/(N-1))*2*pi,N) + 0.25 *diric((nu+1/(N-1))*2*pi,N));

Discussions similaires

  1. Rendre une fenêtre modale non modale
    Par Smortex dans le forum Composants VCL
    Réponses: 2
    Dernier message: 30/03/2003, 17h56
  2. Changer l'icône d'une fenêtre à partir d'un .res
    Par henderson dans le forum C++Builder
    Réponses: 8
    Dernier message: 11/03/2003, 10h48
  3. Rendre le curseur invisible sur une fenêtre donnée
    Par Meuhmeuh dans le forum C++Builder
    Réponses: 3
    Dernier message: 22/11/2002, 12h25
  4. Créer une fenêtre flottante qui ne peut avoir le focus
    Par BestofMac dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/07/2002, 10h46
  5. icône d'une fenêtre fille
    Par bastien dans le forum C++Builder
    Réponses: 6
    Dernier message: 27/05/2002, 13h46

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