Précédent   Forum du club des développeurs et IT Pro > Environnements de développement > MATLAB > Signal
Signal Forum d'entraide sur le traitement du signal en MATLAB
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 21/10/2012, 18h36   #1
Apeth
Invité de passage
 
Inscription : octobre 2012
Messages : 9
Détails du profil
Informations forums :
Inscription : octobre 2012
Messages : 9
Points : 2
Points : 2
Par défaut Problème simple sinus

Bonjour,

j'aimerais savoir pourquoi lorsque j'exécute

Code :
1
2
3
time=linspace(0,10,100);s=sin(f1*2*pi.*time);subplot(2,1,1);plot(time,s)
time=linspace(0,10,1000);s=sin(f1*2*pi.*time);subplot(2,1,2);plot(time,s)
dans MATLAB je n'obtiens pas le même graphique ...

En effet je compte tracer le spectre d'un signal importé avec wavread en ne connaissant que le vecteur temporel, le signal et la fréquence d’échantillonnage, alors je commence doucement par générer un sinus qui remplace le signal pour le moment, pour essayer. Sauf que ces 2 sinus n'ont pas les mêmes fréquences et ça m'embête...

Merci d'avance

Apeth
Apeth est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/10/2012, 18h07   #2
Dut
Responsable MATLAB & Hardware/PC

 
Avatar de Dut
 
Inscription : novembre 2006
Messages : 15 104
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : novembre 2006
Messages : 15 104
Points : 31 174
Points : 31 174
Je ne suis pas un spécialiste mais je dirais que comme dans cette discussion Tracé d'un sinus, cela est lié au théorème de Nyquist-Shannon

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
f1 = 10;

f2 = 5*f1;
f3 = 10*f1;

time = 0:1/f2:3;
s = sin(f1*2*pi*time);

figure

subplot(2,1,1);
plot(time,s)

time = 0:1/f3:3;
s = sin(f1*2*pi*time);

subplot(2,1,2);
plot(time,s)
__________________
Identification de processeur sous MATLAB (3/3) Identification de processeur sous MATLAB (2/3) Mes contributions MATLAB (R2009a - Windows & Linux)

J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" (Saint Huck)
Dut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/10/2012, 19h29   #3
Winjerome
Modérateur
 
Avatar de Winjerome
 
Homme Jérôme
Inscription : septembre 2009
Messages : 5 193
Détails du profil
Informations personnelles :
Nom : Homme Jérôme
Âge : 25
Localisation : France, Pyrénées Atlantiques (Aquitaine)

Informations forums :
Inscription : septembre 2009
Messages : 5 193
Points : 12 724
Points : 12 724
Bonsoir,

C'est effectivement lié au théorème de Nyquist-Shannon. Tes deux signaux sont tracés avec des fréquences d’échantillonnage différents.
  1. Premier cas : 1/time(2) = 9.9 Hz
  2. Deuxième cas : 1/time(2) = 99 Hz
Donc comme si je le suppose, tu as 9.9/2 < f1 < 99/2 (voire pire f1 > 99/2 ), tu vas voir deux signaux complètement différents.

Pourquoi ? Car tu n'auras pas suffisamment d’échantillons par unité de temps pour pouvoir représenter correctement ta sinusoïde.
Prenons f1 = 20 Hz, et effectuons un zoom sur le signal :
Code :
1
2
3
4
5
6
7
8
9
f1 = 20;

time1 = linspace(0,10,100); s1 = sin(f1*2*pi*time1);
time2 = linspace(0,10,1000);s2 = sin(f1*2*pi*time2);

tmax = 1; % on visualise de 0 à 1s
hold on
plot(time2(time2<tmax),s2(time2<tmax),'r-*')
plot(time1(time1<tmax),s1(time1<tmax),'-p')
Tu peux voir que le signal rouge (Fe = 99 Hz) possède 6 échantillons par période de la sinusoïde, ce qui est suffisant pour apercevoir la sinusoïde correctement ; alors qu'il faut un peu plus de 2 périodes pour avoir 2 points du signal bleu (9.9 Hz) : difficile donc de récupérer notre sinusoïde à partir de là en reliant simplement les points
__________________
Débutant en MATLAB ? Vous voulez faire une Interface Graphique ? Les Tutoriels et la FAQ sont là pour vous aider
Une erreur ? FAQ : Messages d'erreur et avertissements
"Ça ne marche pas" n'est pas une réponse acceptable Expliquez clairement votre problème (erreurs, résultats non attendus...).
Citation:
En essayant continuellement on finit par réussir. Donc: plus ça rate, plus on a de chance que ça marche. - Jacques Rouxel
L'expérience, c'est le nom que chacun donne à ses erreurs - Oscar Wilde
Pas de question technique par MP, Merci
Winjerome est déconnecté   Envoyer un message privé Réponse avec citation 20
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 07h04.


 
 
 
 
Partenaires

Hébergement Web