Time delay for time domain function?

2 次查看(过去 30 天)
Hellow there everyone...i am new to matlab and i have some enquiry regarding time delay...let's say i have a .wav file which consists of my voice (will be using wavread to read the wav file). is there any way i can implement a time delay like for instance:
original signal s(t) delayed version s(t-T), where T=delay
any ideas for implementing s(t-T)? any help or advice will be greatly appreciated!

采纳的回答

Rick Rosson
Rick Rosson 2011-7-2
Please try the following:
filename = 'myvoice.wav';
[ x Fs ] = wavread(filename);
[M,N] = size(x);
T = 0.2;
D = Fs*T;
y = [ zeros(D,N) ; x ] ;
x = [ x ; zeros(D,N) ] ;
dt = 1/Fs;
t = dt*(0:M-1)';
figure;
plot(t,x, t,y);
HTH.

更多回答(1 个)

ckchew
ckchew 2011-7-2
Hello there Rick! you're using the principle of zero padding to implement the time delay? that's ingenius! Thank you so much for the idea and code, it really helped a lot!:) have a pleasant day ahead!^^

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by