How to find annual amplitude and phase of time series
조회 수: 9 (최근 30일)
이전 댓글 표시
How to find annual amplitude and phase of time series
댓글 수: 0
채택된 답변
Wayne King
2013년 7월 19일
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
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Spectral Measurements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!