Approximation d'un signal par série de Fourier

5 vues (au cours des 30 derniers jours)
Adrien SY
Adrien SY le 14 Mai 2016
Bonjour,
Dans le cadre d'un projet, je dois approximer un signal qui nous est donné (température en fonction du temps) sur une durée d'un an. Je dois approximer ce signal par une série de Fourier ie calculer les coefficient (amplitude/phase/fréquence) des sinus que je vais sommer pour m'en approcher. J'ai pour cela utiliser la FFT mais, après analyse du spectre, je n'arrive pas à reconstituer un signal proche.
Ci joint une partie du code:
if true
% code
Dt=28166400; %longueur total en sec
dt=600; %intervalle de temps
Fe=1/dt; %frequence de mesure
Ntot=46512; %nombre de mesure dans le tps
t0 = 0; tn = t0 + (0:1:Ntot)*dt;
fn = (1/Dt) + (1:1:Ntot)*(1/Dt) ;
y15=data(:,5); %data mon fichier source
yf15=fft(data(:,5),46512); %ajout de 3 jours = 431 mesures
amplitude=abs(yf15);
phase=angle(yf15);
approx=zeros(1,46513);
for i=1:46513; approx(i)=1.16*sin(2*pi*2.8e-7*tn(i)-2.05)+0.78*sin(2*pi*1.15e-5*tn(i)-8.88)+0.25*sin(2*pi*2.3e-5*tn(i)-2.33)+0;02*sin(2*pi*3.4e-5*tn(i)+7.23); end %coefficient que j'ai déterminer en calculant spectre et amplitude.
end
Cependant, j'ai un fonction somme de sinus qui n'a pas la même allure que le vrai graphe (au milieu sur la photo) et dont l'amplitude varie ne correspond pas au température
lue.
Auriez-vous des idée concernant la source du problème svp ? Je pense au tableau de fréquence ou au calcul des coefficient que j'ai injecté pour la fonction sommant les sinus.
Merci d'avance

Réponses (1)

ZEFIZEF Ishak
ZEFIZEF Ishak le 1 Fév 2022
m

Catégories

En savoir plus sur Just for fun dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by