I need to code a signal.

2 views (last 30 days)
Pranava J K
Pranava J K on 30 Sep 2018
Commented: Walter Roberson on 21 Jun 2021
There is a signal which I need to code.
how do I code it so that I can do operations such as shifting its time or scaling it etc.?
x(t) = t for 0<=t<=1
0 for other values of t.
I tried this but it does not work.
function y=x(time,timeshift)
t_length=length(time);
if(time(index)>=-timeshift)
if(time>0)&&(time<=1)
y(index)=time;
else
y(index)=0;
end
end
end
Please help.

Answers (2)

Walter Roberson
Walter Roberson on 30 Sep 2018
syms t
scale_signal = @(signal, scale_factor) signal * scale_factor;
shift_time = @(signal, time_shift) symfun( signal(t-time_shift), t );
x(t) = piecewise(0 <= t & t <= 1, t, 0);
result(t) = scale_signal( shift_time( x, 0.75 ), 13 )
fplot(result,[-2 2])
  4 Comments
Pranava J K
Pranava J K on 30 Sep 2018
How do I reverse the time of the signal, i.e. a mirror image along the y-axis
Walter Roberson
Walter Roberson on 30 Sep 2018
reverse_time = @(signal) symfun( signal(-t), t );
result(t) = scale_signal( shift_time( reverse_time(x), 0.75 ), 13 )
fplot(result,[-2 2])

Sign in to comment.


Niyamul Islam Sajal
Niyamul Islam Sajal on 21 Jun 2021
function y=x(time,timeshift)
t_length=length(time);
if(time(index)>=-timeshift)
if(time>0)&&(time<=1)
y(index)=time;
else
y(index)=0;
end
end
end
  1 Comment
Walter Roberson
Walter Roberson on 21 Jun 2021
index is not defined in the function.
What value is assigned to y(index) in the case that time(index) < -timeshift ?

Sign in to comment.

Tags

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!