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 :

Échantillonage and Aliasing


Sujet :

Signal

  1. #1
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    77
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 77
    Points : 35
    Points
    35
    Par défaut Échantillonage and Aliasing
    Bonjour tout le monde !

    J'ai un exercice à faire et je souhaiterai avoir quelque éclaircissement s'il vous plait
    Voilà l'exercice , on me propose d'échantillonner une fonction x(t)=cos(200pi t)+cos(400pi t).
    On me demande au debut de donner le signal échantillonner pour diverses fréquences Ts. Bon jusque là ca va
    j'ai fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    t1=0:0.0020:0.1; % 0,002=1/fréquence d'échantillonage
    t2=0:0.0033:0.1;
    t3=0:0.0143:0.1;
    figure(5)
    xt1=cos(200*pi*t1)-cos(400*pi*t1);
    xt2=cos(200*pi*t2)-cos(400*pi*t2);
    xt3=cos(200*pi*t3)-cos(400*pi*t3);
    hold on
    %stem(t1,xt1,'r',t2,xt2,'b',t3,xt3,'g')
    Ensuite on me demande de donnée la dérivée du signal , et donc là aussi pas de problème , j'applique le taux d'accroissement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for k=2:1:numel(t1)
        xdt1(k)=(xt1(k)-xt1(k-1))/numel(t1);
    end;
    Enfin on me demande de retrouver f1 et f2 telle que x_{recovered}=cos(2pi f1 t ) + cos(2pi f2 t )
    et là je suis complètement pommé et c'est là où je voudrai qu'on me donne une piste pour déterminé mes valeurs f1 et f2.
    Par ce que je vois pas l'intérêt de dérivée si c'est pour intégrer juste après.

    Merci de votre aide

  2. #2
    Membre éprouvé
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    Décembre 2006
    Messages
    791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Points : 1 205
    Points
    1 205
    Par défaut
    Bonjour,

    Peut-être un indice:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    d(cos(2pi*f*t))/dt = -2pi*f * sin(2pi*f*t)

    Ensuite on me demande de donnée la dérivée du signal , et donc là aussi pas de problème , j'applique le taux d'accroissement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for k=2:1:numel(t1)
        xdt1(k)=(xt1(k)-xt1(k-1))/numel(t1);
    end;
    Je ne suis pas d'accord, pourquoi tu divise par numel(t1)?
    je te propose de voir la fonction diff de MATLAB.
    MATLAB 7.4 (R2007a) WIN XP SP2
    -------------------------------------

  3. #3
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    77
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 77
    Points : 35
    Points
    35
    Par défaut
    en fait c'était 0.1/numel(t1) que je voulais mettre ! je me suis pas rendu compte de cette grossière erreur
    Je connaissais pas la fonction diff ^^merci de me la faire découvrir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    d(cos(2pi*f*t))/dt = -2pi*f * sin(2pi*f*t)
    J'ai un peu pensé à ca mais comment identifié f ? transformée de Fourier et je regarde les raies ?

  4. #4
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    77
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 77
    Points : 35
    Points
    35
    Par défaut
    De plus
    quand j'utilise diff, la taille de mon vecteur en sortie est réduit de 1.
    Ai-je fait faux quand j'utilise le taux d'accroissement ?

    Si je fais une FFT pour déterminer les raies en fréquence, quelle vecteur en entrée devrai-je utiliser si
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     numel(xmt1) différent de numel(xt1)
    c'est à dire je ne peux pas faire ?

  5. #5
    Membre éprouvé
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    Décembre 2006
    Messages
    791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Points : 1 205
    Points
    1 205
    Par défaut
    Citation Envoyé par sky-mars Voir le message
    en fait c'était 0.1/numel(t1) que je voulais mettre ! je me suis pas rendu compte de cette grossière erreur
    Encore, je ne suis pas d'accord avec toi, je ne vois pas la raison de la présence de la taille du signal dans le calcul de la drivée. Je propose:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xdt1=diff(xt1)/(t1(2)-t1(1));
    Pour l'identification des fréquences, je ne suis pas sur, mais le max de dxt1 peut donner f1+f2, mais après je ne vois pas trop

    bon courage
    MATLAB 7.4 (R2007a) WIN XP SP2
    -------------------------------------

  6. #6
    Membre éprouvé
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    Décembre 2006
    Messages
    791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Points : 1 205
    Points
    1 205
    Par défaut
    Citation Envoyé par sky-mars Voir le message
    De plus
    quand j'utilise diff, la taille de mon vecteur en sortie est réduit de 1.
    Ai-je fait faux quand j'utilise le taux d'accroissement ?

    Si je fais une FFT pour déterminer les raies en fréquence, quelle vecteur en entrée devrai-je utiliser si
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     numel(xmt1) différent de numel(xt1)
    c'est à dire je ne peux pas faire ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    fe=1/(t1(2)-t1(1));
    N=1024; % résolution de la FFT
    X=fft(dxt1,N);
     
    f=(0:N-1)*fe/N;
    plot(f,abs(X))
    MATLAB 7.4 (R2007a) WIN XP SP2
    -------------------------------------

  7. #7
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    77
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 77
    Points : 35
    Points
    35
    Par défaut
    Oh c'est fort de café ce code là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    fe=1/(t1(2)-t1(1));
    N=1024; % résolution de la FFT
    X=fft(dxt1,N);
     
    f=(0:N-1)*fe/N;
    plot(f,abs(X)
    )

    Quand on dérive on obtient quelque chose du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     alpha ( sin(2pi f1t) + sin(2pi f2 t) )
    alpha étant une constante contenant (f1+f2).
    Quand on fait la transformée de fourier on aura
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    TF( sin(2pi f1t) + 2sin(2pi f2 t) )
    = TF(sin(2pi f1t) )+ TF( sin(2pi f2 t) ) 
    = i pi (dirac(f+f1)-dirac (f - f1)+dirac(f +f2 )-dirac (f-f2))
    Donc on a 4 raies et on peut identifier facilement

  8. #8
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    77
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 77
    Points : 35
    Points
    35
    Par défaut
    Bonjour

    J'ai du mal à tracer la fonction échantillonner.
    j'ai x(t) signal réel par exemple
    xe= x(t) somme ( dirac(t- n*Ts) ) ou Ts est la période d'échantillonage.

    J'ai implémenter sous matlab j'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    t=0:0.001:0.1
    xt=cos(200*pi*t)-cos(400*pi*t);
    xn=xt.*(dirac(t)+dirac(t-0.002)+dirac(t-2*0.002)+dirac(t-3*0.002)+dirac(t-4*0.002))
    plot(t,xn)
    c'est pas très concluant
    aurai je mal utilisé la fonction dirac ?

  9. #9
    Membre éprouvé
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    Décembre 2006
    Messages
    791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Points : 1 205
    Points
    1 205
    Par défaut
    Le fait d'écrire:
    tu fais de l'échantillonnage avec une période Ts=0.001. Pas besoin de la fonction dirac.
    Donc voici un programme type de l'échantillonnage:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Ts=0.002;
    t=0:Ts:0.1;
    xt=cos(200*pi*t)-cos(400*pi*t);
    plot(t,xt)
    MATLAB 7.4 (R2007a) WIN XP SP2
    -------------------------------------

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

Discussions similaires

  1. Drag and drop "de l'extérieur"
    Par Invité dans le forum C++Builder
    Réponses: 12
    Dernier message: 31/03/2020, 10h10
  2. [Look and feel] Texte des JLabels en gras
    Par aliasjcdenton dans le forum AWT/Swing
    Réponses: 11
    Dernier message: 26/01/2006, 11h49
  3. mise en page (Header and Footer) en XML-XSL.
    Par christine dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 01/03/2004, 16h31
  4. SQL :select et AND
    Par Shabata dans le forum Langage SQL
    Réponses: 5
    Dernier message: 20/05/2003, 13h39
  5. Fip, modbus and co...
    Par xave dans le forum Développement
    Réponses: 2
    Dernier message: 24/05/2002, 13h25

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