from
Frequency measure
by Lorenzo Luengo
Helps measuring the exact frequency of a signal within a range.
|
| findfreq(t,u,fmin,fmax,varargin)
|
function f = findfreq(t,u,fmin,fmax,varargin)
if nargin>4
if strcmpi(varargin{1},'fpoints')
frecs = linspace(fmin,fmax,varargin{2})*2*pi; % valores de frecuencia a probar
elseif strcmpi(varargin{1},'fstep')
frecs = [fmin:varargin{2}:fmax]*2*pi; % valores de frecuencia a probar
end
else
frecs = [fmin:fmax]*2*pi; % valores de frecuencia a probar
end
m = zeros(size(frecs,1),2);
for j = 1:length(frecs)
m(j,1) = sum((u.*sin(frecs(j)*t)).^2);
m(j,2) = sum((u.*cos(frecs(j)*t)).^2);
end
[a,b] = max(sum(m.^2,2),[],1);
f = frecs(b)/(2*pi); % chachaaaannn!!!
plot(frecs,m)
|
|
Contact us at files@mathworks.com