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 :

Problème de phase avec x = fftshift(ifft(X))


Sujet :

Signal

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Problème de phase avec x = fftshift(ifft(X))
    Bonjour à tous,

    Je souhaiterais obtenir la réponse impulsionnelle d'un signal à partir d'une réponse en amplitude et en phase donnée X(f).

    lorsque je fais la FFT inverse x = ifft(X), j'obtiens un signal comme ceci : \___/

    J'applique donc fftshit(x) pour obtenir x0 = _/\_.

    Mais, FFT(x0) et X on une réponse en phase différente! Leur réponse en amplitude sont identiques.

    Si quelqu'un à une idée comment je peux obtenir une réponse impulsionnelle comme ça _/\_ avec une FFT égale à X je suis plus que preneur,

    Merci, @+

    Oli

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut
    Salut.
    As-tu un bout de code à nous montrer ?

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Salut phryte,

    En exemple de code on peut prendre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    % A : module du spectre S. A est paire par rapport à Fe.
    % P : phase du spectre S. P est imparie par rapport à Fe.
     
    S = A.*exp(i*P);
     
    s = real(ifft(S)); % Par les ptés de A et P => s reel.
                           % On met real pour les erreurs d'arrondis.
    Le problème est que s(t) ne ressemble pas à une réponse impulsionnelle. Il faut passer par fftshift, mais angle(fft(fftshift(s))) ≠ P !!!

    (on a bien evidemment angle(fft(s)) = P)

    Je souhaite un reponse impulsionnelle impulse tel que angle(fft(impulse)) = P, mais pas moyen...

    ++

  4. #4
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    La fft est bijective, donc modif de s(t) => modif de fft(s). La méthde ifft(spectre) pour obtenir le filtre FIR n'est pas bonne.

    Je vais essayer la fonction cfirpm() pour générer le filtre FIR non linéaire.

    ++

Discussions similaires

  1. Problème de mémoire avec BDE
    Par Machuet dans le forum Bases de données
    Réponses: 3
    Dernier message: 13/07/2004, 10h11
  2. problème de requête avec jointures
    Par tinhat dans le forum Requêtes
    Réponses: 7
    Dernier message: 11/08/2003, 10h33
  3. Problème dans requête avec count()
    Par BadFox dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/07/2003, 18h02
  4. [Kylix] problème compilation kylix3 avec redhat 9.0
    Par madininaoursa dans le forum EDI
    Réponses: 1
    Dernier message: 02/07/2003, 16h21
  5. Problèmes de versions avec Xalan, Xerces et Java
    Par honeyz dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 05/06/2003, 10h18

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