How can i delay a signal?

13 views (last 30 days)
Jessie Bessel
Jessie Bessel on 5 Feb 2018
Answered: Greg Dionne on 5 Feb 2018
I'm working on a project and i'm interested in delay a signal with a number of seconds. I tried everything, but doesn't work. Have any ideas?
T = 200e-6
n = 10 ;
a=1500;
t = linspace(0,n*T,1000) ;
s =exp(-a*t).*sin(2*pi*t/T);
plot(t,s)

Answers (1)

Greg Dionne
Greg Dionne on 5 Feb 2018
You could do something simple like:
s = exp(-a*(t-t0)).*sin(2*pi*(t-t0)/T);
and tweak t0 to be whatever time you need the waveform to start at.
If instead your question is more like "I have a uniformly-sampled signal. What are some reasonable techniques to delay the signal by an arbitrary time?". There are a few ways to do that (interpolation, model/curve-fitting, time-shift filtering, fft-based methods, etc.), but they of course are less ideal than having a closed-form expression like the one you have above.

Categories

Find more on Fourier Analysis and Filtering in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!