How to find the decay rate of a decaying signal ?
Afficher commentaires plus anciens
I have a sinusoidal sognal which decays exponentially in time. I would like to find the decay rate of the signal.
Réponses (1)
Star Strider
le 6 Mai 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)))
Catégories
En savoir plus sur Creating and Concatenating Matrices dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!