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 16/10/2012, 22h40   #1
Alays
 
Inscription : mai 2012
Messages : 59
Détails du profil
Informations forums :
Inscription : mai 2012
Messages : 59
Points : -3
Points : -3
Par défaut Problème d'affichage d'une fft

bonjour je veux afficher 8000 échantillons d'un cosinus donc je fais un cos de fréquence 900hz donc la fréquence d’échantillonnage est >900*2 donc je prends large 3000 hz et je fais:


Code :
1
2
x=fft(cos(2*pi*900*(0:7999)/8000*3000));
plot(abs(x))

le problème c'est que je ne vois pas une barre correspondante à 900 donc je ne vois vraiment pas pourquoi
Alays est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2012, 23h13   #2
Winjerome
Modérateur
 
Avatar de Winjerome
 
Homme Jérôme
Inscription : septembre 2009
Messages : 5 163
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 163
Points : 12 595
Points : 12 595
Bonsoir,

En remaniant un peu l'expression de ton signal, on a :
Code :
1
2
cos(2*pi*(900*3000)*(0:7999)/8000)
cos(2*pi*2700000*(0:7999)/8000)
Autrement-dit un signal de fréquence 2700000 Hz

Commence par générer ton vecteur temps à part.
__________________
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 00
Vieux 16/10/2012, 23h58   #3
Alays
 
Inscription : mai 2012
Messages : 59
Détails du profil
Informations forums :
Inscription : mai 2012
Messages : 59
Points : -3
Points : -3
je l'ai fais à part et c'est pareil:
pourtant mon vecteur temps c'est bien ça fs*(0:n-1)/n
Code :
1
2
t=3000*(0:7999)/8000
cos(2*pi*900*t)
Alays est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2012, 00h03   #4
Winjerome
Modérateur
 
Avatar de Winjerome
 
Homme Jérôme
Inscription : septembre 2009
Messages : 5 163
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 163
Points : 12 595
Points : 12 595
Heu, je voulais dire, en réfléchissant en même temps sur ce que je t'ai dit
Ta formule est fausse. Fais une analyse des unités.
__________________
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 00
Vieux 17/10/2012, 00h44   #5
Alays
 
Inscription : mai 2012
Messages : 59
Détails du profil
Informations forums :
Inscription : mai 2012
Messages : 59
Points : -3
Points : -3
ben je dirais t=0:1/3000:7999/3000; 1 échantillon toutes 1/3000 s autrement je ne vois vraiment pas
Alays est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2012, 15h36   #6
Alays
 
Inscription : mai 2012
Messages : 59
Détails du profil
Informations forums :
Inscription : mai 2012
Messages : 59
Points : -3
Points : -3
alors c'est bien ça ? je ne suis vraiment pas sur
Alays est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2012, 18h18   #7
tachmou
Membre éclairé
 
Jean-Charles
Doctorant automatique aéronautique
Inscription : janvier 2012
Messages : 243
Détails du profil
Informations personnelles :
Nom : Jean-Charles

Informations professionnelles :
Activité : Doctorant automatique aéronautique

Informations forums :
Inscription : janvier 2012
Messages : 243
Points : 301
Points : 301
Salut

Code :
1
2
3
4
5
6
7
8
9
10
11
12
t_initial = 0;
t_final = 2; %sec
dt = 1/3000;
frequence_echantillonage = 1/dt;
t = t_initial:dt:t_final;
f = 900; %Hz
w = 2*pi*f; %rad/sec
signal = cos(w*t);
x=fft(signal);
Pxx = x.*conj(x); %puissance
f = frequence_echantillonage*(0:(size(x,2)-1))/size(x,2);
plot(f,Pxx);
Pas testé, mais il vaut mieux faire les étapes pas à pas. C'est plus clair et ça va plus vite.

Cordialement,
__________________
Je ne réponds pas aux MP techniques. Le forum est là pour ça.
La raison est simple : il est ennuyeux de répondre à une seule personne, alors que la réponse peut servir à tout le monde.
Conclusion : n'hésitez pas à utiliser le forum pour poser vos questions.
Matlab 2005 - ver.7.1.0.183 (R14) Service Pack 3
tachmou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2012, 18h27   #8
Winjerome
Modérateur
 
Avatar de Winjerome
 
Homme Jérôme
Inscription : septembre 2009
Messages : 5 163
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 163
Points : 12 595
Points : 12 595
@tachmou : Ce code est faux, la mise ne correspondance fréquences/amplitude est fausse.

@Alays : As-tu retracé ta fft depuis ? Tu en conclus quoi ?

Le sujet sur la fft a été abordé d’innombrables fois, surtout récemment. Une recherche ne sera pas de trop.
__________________
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 00
Vieux 19/10/2012, 13h39   #9
tachmou
Membre éclairé
 
Jean-Charles
Doctorant automatique aéronautique
Inscription : janvier 2012
Messages : 243
Détails du profil
Informations personnelles :
Nom : Jean-Charles

Informations professionnelles :
Activité : Doctorant automatique aéronautique

Informations forums :
Inscription : janvier 2012
Messages : 243
Points : 301
Points : 301
Salut

Euh, qu'est-ce que tu appelles la mise en correspondance amplitude/fréquence ? Je viens de tester mon code, et j'obtiens bien les fréquences qui ressortent...

Cordialement,
__________________
Je ne réponds pas aux MP techniques. Le forum est là pour ça.
La raison est simple : il est ennuyeux de répondre à une seule personne, alors que la réponse peut servir à tout le monde.
Conclusion : n'hésitez pas à utiliser le forum pour poser vos questions.
Matlab 2005 - ver.7.1.0.183 (R14) Service Pack 3
tachmou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 08h14.


 
 
 
 
Partenaires

Hébergement Web