Ton code n'est pas très lisible, il y a quelques points à améliorer:
Il y a un 102 qui se balade. C'est quoi? Au moins donne lui un nom!
Réassigner les paramètres de fonction, c'est pas super pour la lisibilité, tu peux nommer xx0 l'argument de Lorentzian ou bien polymorphicX par exemple.
Les alias de type import numpy as np et import matplotlib.pyplot as plt rendent le code plus rapide à écrire et plus dur à lire, pour moi c'est plutôt un problème qui se règle en utilisant mieux son éditeur qu'en utilisant ce type d'alias.
Ceci dit pour moi le problème est que, si je te comprends bien, s_pos échantillonne ton signal sur les temps $t_0$ à $t_{102}$ mais contrairement à ce que tu as l'air d'écrire s_neg n'échantillonne pas la fonction qui associe - signal(-x) à x mais plutôt -signal(t[102] - x). Cela modifie la transformation de Fourier.
Sinon, ce serait pas mal d'en savoir plus sur tes artefacts, par exemple tu pourrais montrer les images résultantes.
# Pas très lisible
Posté par Michaël (site web personnel) . En réponse au message URGENT, D'où viennent les artifactes de la FFT de mon signal?. Évalué à 6.
Ton code n'est pas très lisible, il y a quelques points à améliorer:
xx0l'argument de Lorentzian ou bienpolymorphicXpar exemple.import numpy as npetimport matplotlib.pyplot as pltrendent le code plus rapide à écrire et plus dur à lire, pour moi c'est plutôt un problème qui se règle en utilisant mieux son éditeur qu'en utilisant ce type d'alias.Ceci dit pour moi le problème est que, si je te comprends bien,
s_poséchantillonne ton signal sur les temps $t_0$ à $t_{102}$ mais contrairement à ce que tu as l'air d'écrires_negn'échantillonne pas la fonction qui associe- signal(-x)àxmais plutôt-signal(t[102] - x). Cela modifie la transformation de Fourier.Sinon, ce serait pas mal d'en savoir plus sur tes artefacts, par exemple tu pourrais montrer les images résultantes.