Filter löschen
Filter löschen

How to find annual amplitude and phase of time series

9 Ansichten (letzte 30 Tage)
Chris Martin
Chris Martin am 19 Jul. 2013
How to find annual amplitude and phase of time series

Akzeptierte Antwort

Wayne King
Wayne King am 19 Jul. 2013
There are a number of ways you can try and estimate it. Do you have a priori knowledge of the frequency? If so you can use linear regression to find the amplitude and phase.
For example, assume I know the frequency is 10 Hz for data sampled at 100 Hz.
Fs = 100;
t = 0:1/Fs:2-1/Fs;
x = 1.5*cos(2*pi*10*t-pi/4)+randn(size(t));
% create the design matrix
X = ones(length(x),3);
X(:,2) = sin(2*pi*10*t);
X(:,3) = cos(2*pi*10*t);
x = x(:);
beta = X\x;
The amplitude estimate is:
amp_est = norm([beta(2) beta(3)],2)
The phase angle estimate is:
phase_est = atan2(-beta(2),beta(3))
If you don't know the frequency a priori, then look at the following example:
  2 Kommentare
Chris Martin
Chris Martin am 2 Aug. 2013
Frequency is one cycle per year
Wayne King
Wayne King am 2 Aug. 2013
Then you should be able to use method I give you above.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by