matlab实现正弦波的频率、振幅、相位和平均值评估

收录时间:2018-03-13
资源分类:Matlab 工具:MATLAB 7.6 (R2008a)

matlab实现正弦波的频率、振幅、相位和平均值评估

 

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...

文件下载列表
sinfapm.zip (2.37KB)  
附件内容(只显示2中的1个)
sinfapm.m  
更多

目前尚无评论

用户反馈   关于我们
Copyright (©) ZHIHUISHI.COM 2013 All Rights Reserved.
苏ICP备10108881号