How to plot a time-delayed ersion of a signal ??
2 次查看(过去 30 天)
显示 更早的评论
cananyone tell me how to plot the time-delayed version of a signal ?
Imagine the simplest case, y=cos(x), I want to delay it by 2 units. But I get some strange results!
clc ; clear all; close all x=(0.00001:0.01:2)*pi; y=cos(x); plot(x,y) hold on [Nrow Ncol]=size(y); m=2; % Delay step z=zeros([Nrow Ncol]); for i=3:Ncol-m j=i-m; z(i,1)=y(j,1);
end plot(z,'r')
1 个评论
Jan
2011-3-31
Please use code formatting to improve the readability of the code.
"Some strange results" is a vague description only. It is always a good idea to describe the results with as much details as needed to solve the problem.
采纳的回答
Paulo Silva
2011-3-31
x=0:0.01:2*pi
y=cos(x)
plot(x,y)
hold on
d=2;
y=[ones(1,d)*nan y(1:end-d)];
plot(x,y,'r')
legend('signal',['delayed signal by' num2str(d) 'units'])
5 个评论
Amit Aryal
2015-3-27
x=0:0.01:2*pi y=cos(x) plot(x,y) hold on d=2; y=[ones(1,d)*nan y(1:end-d)]; plot(x,y,'r') legend('signal',['delayed signal by' num2str(d) 'units'])
I tried the above code but no delay signal produced. Both signals superimposed one on top of another!
更多回答(0 个)
另请参阅
类别
在 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!