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 25/01/2012, 14h32   #1
Nouveau Membre du Club
 
Avatar de Flaherty Mc Coillean
 
Enseignant Chercheur
Inscription : décembre 2007
Messages : 105
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Enseignant Chercheur

Informations forums :
Inscription : décembre 2007
Messages : 105
Points : 33
Points : 33
Par défaut Décalage signal filtré

Bonjour à tous,

Je travaille sur des données satellites acquises toutes les 15min et par exemple je regarde l'évolution de la radiance d'un pixel au cours du temps, j'obtiens donc un signal 1D plus ou moins sinusoïdal (variation jour/nuit), et plus ou mois bruité par la présence de nuages.

Ce que je veux c'est filtrer mon signal pour ne garder que les variations journalière, donc les variations de basse fréquences. Bon ça fait des années que je n'avais pas travaillé dans le traitement du signal et j'ai un peu tout oublié...

Ça ne m'empêche pas d'essayer

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Fe = 1/(15*60); %fréquence d’échantillonnage: 1 images/15min
N = numel(TEST2); %Nombre de valeurs de mon signal
t = (0:N-1)/Fe; %durée du signal

XXX = fft(TEST2); %petite transformée de fourier

Wn = 2*(1.2e-5)/(Fe/2); %fréquence de coupure normalisé -> 1 jour: 1/24h*60min*60s -> 1.2e-5Hz
b = fir1(15,Wn,'low'); 

TEST3 = filter(b, 1, TEST2);
figure
plot(TEST3)
hold on
plot(TEST2,'r')
Donc j'essaye d'appliquer un filtre d'ordre 15 avec une fréquence de coupure correspondant à une fréquence de 1 jour, et quand j'applique j'ai un sacré décalage sur mon signal filtré avec des premières valeurs complètement aberrantes. cf petite image pièce jointe en rouge mon signal d'origine et en bleu le signal filtré

Ce décalage est fonction de l'ordre de mon filtre, un ordre de 1 crée un décalage de 1 valeur et un décalage de 100 est à l'origine d'un décalage.

Et c'est là que je me rends compte que j'ai oublié pas mal de chose depuis la dernière fois que j'ai du faire du traitement du signal car je ne sais plus de tout à quoi correspond ce décalage et comment s'en débarrasser...

Si vous pouviez m'éclairer!

Merci beaucoup

Flaherty
Images attachées
Type de fichier : jpg filtre_signal.JPG (83,1 Ko, 6 affichages)
__________________
Windows 7 - MATLAB r2009a(64 bits)
Windows XP pro - MATLAB R14 & MATLAB r2010a
Ubuntu 8.10 Intrepid Ibex - MATLAB r2007a
Flaherty Mc Coillean est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 16h26   #2
Modérateur
 
Avatar de Winjerome
 
Homme Jérôme
Inscription : septembre 2009
Messages : 3 598
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 598
Points : 6 824
Points : 6 824
Bonjour,

Ce décalage correspond à la moitié de l'ordre du filtre.
Si tu possèdes la Signal Processing Toolbox, tu peux regarder la fonction:
__________________
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 26/01/2012, 10h38   #3
Invité régulier
 
Ingénieur Traitement de signal/Image
Inscription : août 2009
Messages : 4
Détails du profil
Informations professionnelles :
Activité : Ingénieur Traitement de signal/Image

Informations forums :
Inscription : août 2009
Messages : 4
Points : 7
Points : 7
Par défaut Retournement de signal

Salut,

Si tu n'as pas la toolbox SignalProcessing, voici comment procéder :
Tu filtres ton signal normalement.
Le signal filtré a donc un certain retard.
Tu retournes ton signal et tu filtres ce signal avec le même filtre.
Le signal obtenu a donc un retard dans l'autre sens ce qui annule le précédent.
Et voilà :-)
cosaud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 14h07   #4
Rédacteur/Modérateur
 
Jean-Marc Blanc
Inscription : avril 2007
Messages : 2 658
Détails du profil
Informations personnelles :
Nom : Jean-Marc Blanc
Âge : 71

Informations forums :
Inscription : avril 2007
Messages : 2 658
Points : 3 498
Points : 3 498
Salut!
Pourquoi ne pas utiliser le fait que tu connais la fréquence de ton signal? Tu multiplies ton signal par un sinus et un cosinus de même fréquence et tu ne gardes que la composante continue de ces deux produits.
Jean-Marc Blanc
__________________
Calcul numérique de processus industriels
Formation, conseil, développement

Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)
FR119492 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 00h40.


 
 
 
 
Partenaires

Hébergement Web