summation

6 visualizaciones (últimos 30 días)
harish bharadwaj
harish bharadwaj el 24 de Mayo de 2011
hi,
how to calculate summation of absolute value of incoming digital data over a cycle period for example 64 samples in a cycle using matlab or simulink
∑abs|d1(k)| for k=0 to 64

Respuestas (2)

Laura Proctor
Laura Proctor el 24 de Mayo de 2011
d = randn(64,1);
s = sum(abs(d))
  1 comentario
Lisa Justin
Lisa Justin el 22 de Feb. de 2012
what about the interval?

Iniciar sesión para comentar.


MarkB
MarkB el 24 de Mayo de 2011
There are a couple options available:
  • You could chain a series of 64 unit delays together and run a branched signal off of each one into a summation block.
  • You could use MATLAB function block ("Embedded MATLAB" in older releases) and have something in the body like:
function y = avg64( u )
persistent x;
if( isemtpy( x ) == true )
x = zeros( 64, 1 );
end
x = [ abs(u), x( 2 : end ) ];
y = x;
return;
end
  • I believe that the communication blockset has some buffer blocks that will accumulate a rolling set of samples, which you could then feed to a sum block.
  • There is probably a way to write this as a transfer function too.

Categorías

Más información sobre Simulink en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by