MATLAB Answers

Circular buffer &counter

27 views (last 30 days)
sanjai
sanjai on 6 Aug 2020
Commented: sanjai on 8 Oct 2020
I have a two circular buffer (A&B). and i have one array. and counter.
operation:
Each value in the array will go and settle down in the circular buffer A. simulateonsly counter is also countes. these counted values stored in the circular buffer B.
i want to know how to implement in matlab code.

Answers (1)

Aman Vyas
Aman Vyas on 11 Aug 2020
Edited: Aman Vyas on 11 Aug 2020
Hi,
Based on the information provided you can proceed like this:
1) Enter the array as input to matlab function ( Representing Circular buffer)
2) For circular buffer you can try this matlab code in the function.
function y = fcn(u,IC, bufferLength)
%#codegen
persistent buffer;
if isempty(buffer)
if isequal(numel(IC),bufferLength)
buffer = IC;
elseif isscalar(IC)
buffer = IC*ones(1,bufferLength);
else
error('IC must either be scalar or the same dimensions as buffer length')
end
end
% Output
y = buffer;
% Update
buffer = [u buffer(1:end-1)];
end %fcn
3) With each buffer update, you can update counter variable and send that as an input to the next circular buffer, which in turn would keep storing values.
Hope it helps !
  1 Comment
sanjai
sanjai on 8 Oct 2020
what is 'u' and 'IC'

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!