How to find the decay rate of a decaying signal ?

27 views (last 30 days)
I have a sinusoidal sognal which decays exponentially in time. I would like to find the decay rate of the signal.

Answers (1)

Star Strider
Star Strider on 6 May 2016
If it’s a simple exponential, this works:
t = linspace(0, 1, 250);
y = exp(-2*t) .* sin(50*pi*t);
env = abs(hilbert(y)); % Calculate Envelope
b = polyfit(t, log(env), 1); % Linear Regresson On Log-Transformed Data
figure(1)
plot(t, y)
hold on
plot(t, env, '-r')
hold off
grid
text(0.5, 0.75, sprintf('Decay Rate = %.3f', b(1)))

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!