22 lines
408 B
Matlab
Executable File
22 lines
408 B
Matlab
Executable File
% Power estimation on discrete signals
|
|
function [y,yf] = smhs(x,Nw1,Nw2,yi)
|
|
|
|
N = length(x);
|
|
y = zeros(1,N);
|
|
x = abs(x);
|
|
|
|
if (x(1) > yi)
|
|
y(1) = (1-1/Nw1)*yi + (1/Nw1)*x(1);
|
|
else
|
|
y(1) = (1-1/Nw2)*yi + (1/Nw2)*x(1);
|
|
end;
|
|
|
|
for n = 2:N,
|
|
if (x(n) > y(n-1))
|
|
y(n) = (1-1/Nw1)*y(n-1) + (1/Nw1)*x(n);
|
|
else
|
|
y(n) = (1-1/Nw2)*y(n-1) + (1/Nw2)*x(n);
|
|
end;
|
|
end;
|
|
yf = y(N);
|