Physique - UCL
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Physique - UCL

forum de discussion entre étudiants
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -15%
(Adhérents) LEGO® Icons 10318 Le Concorde
Voir le deal
169.99 €

 

 traitement du signal

Aller en bas 
2 participants
AuteurMessage
jfcp
Irrécupérable
jfcp


Nombre de messages : 673
Age : 39
Localisation : forest (aime tjs pas bxl ;-)
Date d'inscription : 01/02/2005

traitement du signal Empty
MessageSujet: traitement du signal   traitement du signal EmptyJeu 20 Déc - 21:13

AU SECOURS!!!

j'essaie déspérément de faire une FFT sous matlab, si je rentre un signal connu tout simple (genre une sinusoide avec une amplitude et une fréquence donnée), la fft ne me donne pas tout à fait l'amplitude et la fréquence....et l'erreur me semble trop grande pour dire "ah c la limitation du programme"..bref il y a un truc que je dois pas faire correctement...

donc si un de ceux qui ont suivi ce cours ont des codes d'exercices sur la fft, ca pourrait m'aider...
Revenir en haut Aller en bas
http://www.astro.oma.be/D1/PLANET/ISY/home_icy.php
loicus
Irrécupérable
loicus


Nombre de messages : 1453
Age : 38
Localisation : 50°40'45.01"N 4°33'19.93"E
Date d'inscription : 09/01/2005

traitement du signal Empty
MessageSujet: Re: traitement du signal   traitement du signal EmptyJeu 20 Déc - 22:00

Je te fais un copier/coller d'un exercice qu'on avait fait :
en esperant que ca t'aide....
Loic

############################

T = 10^-3;
dt = 10^-6;
N = T/dt;
f0 = 1/T;

t = 0:dt:T;

A1 = 1;
A2 = 1;
Abruit = 3.0;

freq1 = 1*10^4;
freq2 = 3*10^3;
bruit = Abruit*randn (1, fix(N+1) ); %fix is there just to be sure that N+1 is an integer


% Construction du signal
figure(1)
subplot(2,2,1);
signal = A1 .*sin(2*pi*freq1.*t) + A2 .*sin(2*pi*freq2.*t) + bruit ;

plot(t,signal)
title('Signal')

% Construction du spectre en fréquence du signal
subplot(2,2,3);
freq_x = -N*f0/2 : f0 : N*f0/2;
freq_signal = fft(signal);
freq_signal = fftshift(freq_signal);

plot(freq_x,abs(freq_signal) );
title('Spectre en fréquence du signal')
grid;


% Supression du bruit (fréquences non dominantes)
subplot(2,2,4);
freq_signal2 = freq_signal;
for i = 1:1:length(freq_signal)
if abs(freq_signal2(i)) <= 300
freq_signal2(i) = 0;
end
end

plot(freq_x, abs(freq_signal2));
title('Spectre en fréquence du signal débruité')
grid;

% Affichage du signal débruité
subplot(2,2,2);
plot(t, ifft(ifftshift(freq_signal2)) );
title('Signal débruité')
Revenir en haut Aller en bas
http://www.futura-sciences.com/
jfcp
Irrécupérable
jfcp


Nombre de messages : 673
Age : 39
Localisation : forest (aime tjs pas bxl ;-)
Date d'inscription : 01/02/2005

traitement du signal Empty
MessageSujet: Re: traitement du signal   traitement du signal EmptyVen 21 Déc - 12:29

merci (c chouette la fftshift...),

mais bon , y a rien à faire, les amplitudes rendues ne sont pas correctes...

pour avoir les amplitudes, la doc de matlab me dit que je doit prendre abs(Y)*2/(N+1). en plus comme j'ai pas de bruit, ca devrait fonctionner quasi parfaitement...

voilà le code qui corresond à mon problème (la fft ne retrouve pas 1 et 10, mais 1.04 et 9.7, sachant que j'ai besoin d'une précision à 10^-4, c un peu frustrant). J'ai diminué le pas de temps dt, ca ne donne rien...

T = 0.001;
dt = 0.000000001;
N = T/dt;
f0 = 1/T;

t = 0:dt:T;

A1 = 1;
A2 = 10;

freq1 = 1/0.0000355;
freq2 = 1/0.00055;


% Construction du signal
figure(1)
subplot(2,1,1);
signal = A1 .*sin(2*pi*freq1.*t) + A2 .*sin(2*pi*freq2.*t) ;

plot(t,signal)
title('Signal')

% Construction du spectre en fr?quence du signal
subplot(2,1,2);
freq_x = -N*f0/2 : f0 : N*f0/2;
freq_signal = fft(signal);
freq_signal = fftshift(freq_signal);

plot(freq_x,2*abs(freq_signal)/(N+1) );
title('Spectre en fr?quence du signal')
grid;
Revenir en haut Aller en bas
http://www.astro.oma.be/D1/PLANET/ISY/home_icy.php
loicus
Irrécupérable
loicus


Nombre de messages : 1453
Age : 38
Localisation : 50°40'45.01"N 4°33'19.93"E
Date d'inscription : 09/01/2005

traitement du signal Empty
MessageSujet: Re: traitement du signal   traitement du signal EmptySam 22 Déc - 18:18

attention que les amplitudes sont définie a des facteur sqrt(2pi) pret... en fonctiond e la formule que matlab utilise...

c'est peut etre ca le probleme...

sinon, je ne sais pas t'aider...
essaye sur un formum matlab

loic,
Revenir en haut Aller en bas
http://www.futura-sciences.com/
Contenu sponsorisé





traitement du signal Empty
MessageSujet: Re: traitement du signal   traitement du signal Empty

Revenir en haut Aller en bas
 
traitement du signal
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» traitement du signal: horaire TP'S
» /!\ Suppression du TP de Traitement du signal
» Tp signal ?

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Physique - UCL :: 2ème Licence :: Electronique, traitements de données & modélisations-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser