Hello everyone.
So I'm a beginner and I am trying to generate a smooth signal w from an original signal r
a is a constant
w(k+j) = a*w(k+j-1)+(1-a)*r(k+j) for j = 1 , 2 , ... , N
How can implement this signal and store the value of every iteration to form a vector w
Thanks in advance!

 Respuesta aceptada

Sriram Tadavarty
Sriram Tadavarty el 14 de Mzo. de 2020
Hi Saleh,
This can be done through for loop. The documentation link to for loop is https://www.mathworks.com/help/matlab/ref/for.html. Please go through this to have easy going.
The code for what is asked is: (There is no intimation of k in the condition)
% Consider a random signal of length N
N = 100;
r = rand(N,1);
% Smoothing factor a
a = 10;
% Write the loop
tmp = 0;
w = zeros(N,1);
for j = 1:N
w(j) = a*tmp+ (1-a)*r(j);
tmp = w(j);
end
% The output is provided in w
w
Hope this helps.
Regards,
Sriram

3 comentarios

Saleh Msaddi
Saleh Msaddi el 16 de Mzo. de 2020
Suppose I have a step function starting from t=0 and having a value of 1
I don't want to have the sharp step function because this is generating a huge control effort; instead I'm trying to generate a smoother signal of the step function.
Sriram Tadavarty
Sriram Tadavarty el 16 de Mzo. de 2020
You can generate ones(N,1) and have N to be large.. It is equivalent to step function
Saleh Msaddi
Saleh Msaddi el 16 de Mzo. de 2020
alright then!
thank you :)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre MATLAB en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 14 de Mzo. de 2020

Comentada:

el 16 de Mzo. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by