How can i delay a signal?

20 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 ;
a=1500;
t = linspace(0,n*T,1000) ;
s =exp(-a*t).*sin(2*pi*t/T);
plot(t,s)

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.

Kategorien

Mehr zu Fourier Analysis and Filtering finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by