MATLAB - Delay sine wave
25 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
回答(1 个)
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 个评论
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 Center 和 File Exchange 中查找有关 Multirate Signal Processing 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!