Clear Filters
Clear Filters

I need to code a signal.

1 view (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.

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Tags

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!