How can i delay a signal?

14 ビュー (過去 30 日間)
Jessie Bessel
Jessie Bessel 2018 年 2 月 5 日
回答済み: Greg Dionne 2018 年 2 月 5 日
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)

回答 (1 件)

Greg Dionne
Greg Dionne 2018 年 2 月 5 日
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.

カテゴリ

Help Center および File ExchangeMultirate Signal Processing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by