Inscription / Connexion Nouveau Sujet
Niveau algorithmique
Partager :

Interpolation lagrangienne d'un signal

Posté par
pif
03-11-15 à 13:45

Bonjour,

J'ai un capteur qui me délivre un signal, et refait la mesure plusieurs fois d'un profil de surface.
comme la fréquence d'acquisition est faible, je combine les plusieurs allez retours pour faire un seul signal (grâce à l'angle de la mesure). J'ai donc ici un échantillonnage irrégulier

comme je cherche à réaliser un filtre passe haut dessus, je pensais utiliser la transformée de fourrier pour derrière appliquer un filtre.

le problème est que pour faire cette transformée de fourrier, j'ai besoin d'un échantillonnage régulier. (d'après ce que je sais)

Donc j'en viens à mon interpolation...

Comme j'ai vu que l'interpolation de lagrange marchait très bien dans ce genre de cas, j'ai voulu l'utiliser, et codant cela en vba.

Une fois fait, je me retrouve avec des valeurs dérivant complètement... (les coefficients L atteignent 10^150 et alternent positif/négatif)
mes valeurs sont au maxi de 0.5 donc ça me donne un résultat complètement insensé.

au passage, j'ai regardé mon code à multiples reprises, je pense qu'il exécute correctement l'algorithme.

Question: Comment cela se fait, est-ce possible et normal?
est-ce ma faute ou faut-il utiliser une linéarisation toute bête? (dommage pour la précision)

Merci

Posté par
pif
re : Interpolation lagrangienne d'un signal 05-11-15 à 11:19

Bon soit personne ne sait, soit j'ai pas été clair je crois...

Posté par
LeDino
re : Interpolation lagrangienne d'un signal 05-11-15 à 12:34

Bonjour,

Je n'ai pas compris ton problème et je pense qu'effectivement ta présentation manque de clarté et d'informations pour s'en faire une idée précise.
Mais ce n'est peut-être pas nécessaire d'en dire plus...

Car si ton idée de base est "d'interpoler" une courbe présentant de grandes irrégularités, il n'est pas très surprenant d'obtenir un résultat qui part dans tous les sens.

Au "feeling" je dirais que le procédé que tu emploies introduit beaucoup trop de degrés de liberté.
Au final tu obtiens une courbe mathématiquement "parfaite" au sens où elle passe par tous les points que tu as donnés en entrée...
... mais totalement abstraite et sans réalité pratique car cette courbe est très sensible aux moindres variations des données en entrée, elles-mêmes assujetties à des fluctuations de mesure si je ne fais pas erreur.

La courbe qu'il te faut, si j'ai bien compris, serait plutôt un "lissage" qui épouse au mieux les points de contrôle. par exemple une moyenne mobile avec les bons paramètres. Ou une interpolation polynomiale locale, morceaux par morceaux...

Mais reste à savoir le but poursuivi dans ce lissage et ce que tu vas faire ensuite de cette courbe... rendre la courbe pus régulière ou générer des points intermédiaires ?
Tout le problème étant de ne pas "perdre d'information" dans cette étape. Si tu appliques Fourier ensuite, c'est pour récupérer des fréquences avec de l'amplitude associée... L'interpolation risque-t-elle d'altérer les fréquences "contenues" dans la courbe initiale (en la déformant) ?

Une suggestion pour t'aider à avancer :
Travailler à l'envers.
Synthétiser des fréquences de ton choix pour produire une courbe.
Lui appliquer les transformations que tu as en tête (interpolation/lissage, Fourier...).
Vérifier à la fin que tu retrouves bien les fréquences et amplitudes du signal que tu avais toi-même construit artificiellement au départ.

Evidemment, tu peux aussi introduire un bruit de mesure (paramétrable comme plus ou moins fort) sur tes courbes artificielles pour vérifier la robustesse de ton procédé...

Cela te permettra de faire des essais de différentes méthodes et de mieux les paramétrer...

Posté par
LeDino
re : Interpolation lagrangienne d'un signal 05-11-15 à 12:46

Citation :
Comme j'ai vu que l'interpolation de lagrange marchait très bien dans ce genre de cas, j'ai voulu l'utiliser,
Les conditions pour lesquelles tu as vu que "Lagrange marche bien" sont-elles réunies dans ton cas ?
Et l'objectif poursuivi est-il le même ?

Répondre à ce sujet

Seuls les membres peuvent poster sur le forum !

Vous devez être connecté pour poster :

Connexion / Inscription Poster un nouveau sujet
Une question ?
Besoin d'aide ?
(Gratuit)
Un modérateur est susceptible de supprimer toute contribution qui ne serait pas en relation avec le thème de discussion abordé, la ligne éditoriale du site, ou qui serait contraire à la loi.


Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !