Frequency, amplitude, phase and mean value of sine wave
The function sinfap.m evaluates frequency, amplitude, phase and mean value of a uniformly sampled harmonic signal
x(t) = a.sin(2.pi.f.t + phi) + x_m
It uses a vector version of 3-point formulae derived by application of
Z-transform (see [1]) for finding amplitude and frequency of a signal.
If more than two output parameters are to be determined, all of them are optimized in the least squares sense by the function LMFnlsq.
Calls:
frq = sinfapm(x,fs); % Get only frequaency of sine-wave
[frq,amp] = sinfapm(x,fs); % Get frequency and amplitude
[frq,amp,phi] = sinfapm(x,fs); % Get frequency, amplitude and phase
[frq,amp,phi,ave] = sinfapm(x,fs); % ditto plus mean value
The set of more than two output parameters can be found by calling
[frq,amp,phi] = sinfapm(x,fs,Name_1,Val_1,Name_2,Val_2, ...);
[frq,amp,phi,ave] = sinfapm(x,fs,Name_1,Val_1,Name_2,Val_2, ...);
Input arguments:
x % vector of samples
fs % sampling frequency [Hz]
Name_i % name of the i-th optional parameter for optimization
Val_i % value of the i-th optional parameter (see function LMFnlsq)
Output arguments:
frq % frequency of x [Hz]
amp % amplitude of x
phi % phase in radians
Examples:
[f,a,phi,ave] = sinfapm([1.3633;-.2428;-0.9705;1.8130;-1.9631],10);
% f = 4.0000
% a = 2.0000
% phi = 0.7500
% ave = -2.2806e-005
[f,a,phi] = sinfapm([.707,1,.707,0],20,'Xtol',1e-4);
% f = 2.5001
% a = 0.9999
% phi = 0.7853 % pi/4 = 0.785398...
Cite As
Miroslav Balda (2024). Frequency, amplitude, phase and mean value of sine wave (https://www.mathworks.com/matlabcentral/fileexchange/19902-frequency-amplitude-phase-and-mean-value-of-sine-wave), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Acknowledgements
Inspired: SINIDE - Parameter identification of a sine-wave from a measured signal
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.0.0.0 |