Azzera filtri
Azzera filtri

I need to code a signal.

1 visualizzazione (ultimi 30 giorni)
Pranava J K
Pranava J K il 30 Set 2018
Commentato: Walter Roberson il 21 Giu 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.

Risposte (2)

Walter Roberson
Walter Roberson il 30 Set 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 Commenti
Pranava J K
Pranava J K il 30 Set 2018
How do I reverse the time of the signal, i.e. a mirror image along the y-axis
Walter Roberson
Walter Roberson il 30 Set 2018
reverse_time = @(signal) symfun( signal(-t), t );
result(t) = scale_signal( shift_time( reverse_time(x), 0.75 ), 13 )
fplot(result,[-2 2])

Accedi per commentare.


Niyamul Islam Sajal
Niyamul Islam Sajal il 21 Giu 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 Commento
Walter Roberson
Walter Roberson il 21 Giu 2021
index is not defined in the function.
What value is assigned to y(index) in the case that time(index) < -timeshift ?

Accedi per commentare.

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Tag

Prodotti


Release

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by