
Approximation d'un signal par série de Fourier
5 views (last 30 days)
Show older comments
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
0 Comments
Answers (1)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!