Filter löschen
Filter löschen

How can i delay a signal?

25 Ansichten (letzte 30 Tage)
Jessie Bessel
Jessie Bessel am 5 Feb. 2018
Beantwortet: Greg Dionne am 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 ;
t = linspace(0,n*T,1000) ;
s =exp(-a*t).*sin(2*pi*t/T);

Antworten (1)

Greg Dionne
Greg Dionne am 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.

Community Treasure Hunt

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

Start Hunting!

Translated by