Précédent   Forum des professionnels en informatique > 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 Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/11/2011, 14h53   #1
Invité de passage
 
Inscription : novembre 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : novembre 2011
Messages : 3
Points : 0
Points : 0
Par défaut Problème création d'un sinus "pas à pas"

Bonjour à tous,

J'ai une question, un peu bête...

Voilà, pour un de mes projets, il faut que je créé différents signaux, dont un sinus "pas a pas" (en gros un signal qui monte en fréquence en s'arrêtant qq millisecondes sur chaque fréquence).
J'ai essayé différentes choses, notament avec la fonction chirp, mais je n'arrive qu'a créer un sinus "glissant". J'ai aussi essayé différentes boucles mais je ne m'en sors pas.

Donc si quelqu'un pouvait m'aider à faire ce sinus pas a pas en me guidant ou en me disant directement comment faire je lui en serai très reconnaissant !

Merci par avance.
PapySmooth est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2011, 15h52   #2
Modérateur
 
Avatar de Winjerome
 
Homme Jérôme
Inscription : septembre 2009
Messages : 3 594
Détails du profil
Informations personnelles :
Nom : Homme Jérôme
Âge : 24
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : septembre 2009
Messages : 3 594
Points : 6 819
Points : 6 819
Bonjour,

Tu devrais pourtant bien t'en sortir avec la fonction CHIRP...
Montre-nous ce que tu as déjà codé, même si c'est faux.
__________________
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
Je suis régulièrement sur le chat DVP - Pas de question technique par MP, Merci
Winjerome est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2011, 16h15   #3
Invité de passage
 
Inscription : novembre 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : novembre 2011
Messages : 3
Points : 0
Points : 0
Alors dans un premier temps pour le chirp voila ce que j'ai fait.
Cette partie me donne un sinus glissant.

Code :
1
2
3
4
5
6
7
8
9
fe=44100;
fmin=800;
fmax=20000;
tmax=25;

t=0:1/fe:tmax;
y=chirp(t,fmin,tmax,fmax);
specgram(y)
Je pensais ensuite pour le sinus pas à pas, seulement augmenter l'incrémentation du vecteur temps.
Mais les soucis sont que du coup le vecteur temps devient "moins long" donc le chirp ne ressemble plus a rien..

J'ai par ailleurs essayer de créer ce signal avec une boucle :

Code :
1
2
3
4
5
6
7
t=0:0.01:tmax;
f=0:20000/length(t):20000;

for n=1:length(t);
     x(n)=sin(2*pi*f*t(n));
end
Mais ceci ne me donne pas non plus le résultat voulu...(j'ai essayé ici aussi d'augmenter l'incrémentation du vecteur temps, d'ou le 0.01 pour le pas et non 1/fe.
PapySmooth est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2011, 18h35   #4
Modérateur
 
Avatar de Winjerome
 
Homme Jérôme
Inscription : septembre 2009
Messages : 3 594
Détails du profil
Informations personnelles :
Nom : Homme Jérôme
Âge : 24
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : septembre 2009
Messages : 3 594
Points : 6 819
Points : 6 819
Ok j'ai été un peu vite: pour le pas-à-pas, CHIRP n'est pas adapté.
Pour commencer, ta deuxième méthode (qui peut s'écrire sans boucle x=sin(2*pi*f.*t);) s'en rapproche.

Pour te mettre sur la voie, notons D = tes quelques millisecondes, et F = [fmin Fmin+pas ... fmax].
Tu aurais length(F) signaux de durée D et de fréquence F(1), F(2), ... F(end) qu'il te suffirait de mettre bout à bout.
__________________
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
Je suis régulièrement sur le chat DVP - Pas de question technique par MP, Merci
Winjerome est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2011, 18h48   #5
Invité de passage
 
Inscription : novembre 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : novembre 2011
Messages : 3
Points : 0
Points : 0
Je vois a peu près ce que vous voulez dire,
seulement je ne vois pas ou je fixe le temps D justement ?
Et donc j'augmente plutot l'incrément sur les fréquences et non sur le temps si j'ai bien compris ?
PapySmooth est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2011, 00h15   #6
Modérateur
 
Avatar de Winjerome
 
Homme Jérôme
Inscription : septembre 2009
Messages : 3 594
Détails du profil
Informations personnelles :
Nom : Homme Jérôme
Âge : 24
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : septembre 2009
Messages : 3 594
Points : 6 819
Points : 6 819
Citation:
Envoyé par PapySmooth Voir le message
Je vois a peu près ce que vous voulez dire,
seulement je ne vois pas ou je fixe le temps D justement ?
Ceci c'est toi même qui le fixes selon
Citation:
Envoyé par PapySmooth Voir le message
en gros un signal qui monte en fréquence en s'arrêtant qq millisecondes sur chaque fréquence.
Code :
1
2
3
Te = 1/fe;
t = 0:Te:D-Te;
x_Fi =sin(2*pi*F(i)*t);
Citation:
Envoyé par PapySmooth Voir le message
Et donc j'augmente plutot l'incrément sur les fréquences et non sur le temps si j'ai bien compris ?
C'est bien cela.
__________________
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
Je suis régulièrement sur le chat DVP - Pas de question technique par MP, Merci
Winjerome est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h18.


 
 
 
 
Partenaires

Hébergement Web