MATLAB - Delay sine wave

18 次查看(过去 30 天)
long le
long le 2020-11-8
I have a damped sine wave as below:
N=250;
Fs=20;
Ts=1/Fs;
t=(0:N-1)*Ts;
A = 3;
f = 1;
x = A*exp(-t).*sin(2*pi*f*t);
How can I generate a delay signal from the damped sine wave x, so that:
y(n) = a*x(n-k)+b(n),
Where a is the attenuation coefficient, b(n) is the noise and k is a delay

回答(1 个)

Alan Stevens
Alan Stevens 2020-11-8
Like this?
N=250;
Fs=20;
Ts=1/Fs;
t=(0:N-1)*Ts;
A = 3;
f = 1;
signal = @(t) A*exp(-t).*sin(2*pi*f*t);
x = signal(t);
a = 0.7; % attenuation coefficient
k = 10*Ts; % delay time
b = 0.1*randn(1,numel(t)); % normally distributed noise
y = a*signal(t-k) + b;
plot(t,x,t,y),grid
xlabel('t'),ylabel('signal')
legend('signal','delayed signal')
  2 个评论
long le
long le 2020-11-8
编辑:long le 2020-11-8
Thank you.
But I think that the length/time of the emitted signal should be shorter than the received one because of the delay?
The received signal should be longer
Alan Stevens
Alan Stevens 2020-11-8
I wouldn't know! But doesn't it just mean you define a different timespan for the delayed signal?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Multirate Signal Processing 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by