CSUM() in Digital Signal Processing terms: z-1 can be a unit delay,
Microsoft Office 2010 Standard, Q can be a floating-point quantizer to 64 bits, qi represents error because of quantization (additive by definition).
-Jon Dattorro From Wikimization
function s_hat=csum(x)
percent CSUM Sum of factors employing a compensated summation algorithm.
%
percent For big vectors, the native sum command in Matlab does percent not seem to use a compensated summation algorithm which % could cause considerable roundoff mistakes.
%
% This code implements a variant of Kahan's compensated % summation algorithm which frequently can take about two times as lengthy, % but produces far more accurate sums when the quantity of % aspects is large. -David Gleich
percent
percent See also SUM
%
% Matlab instance:
% v=rand(1e7,
Office Professional 2007 Key,1);
% sum1 = sum(v);
% sum2 = csum(v);
percent fprintf('sum1 = %18.16e\nsum2 = %18.16e\n', sum1, sum2); s_hat=0; y=0; e=0;
for i=1:numel(x) s_hat_old = s_hat; y = x(i) + e; s_hat = s_hat_old + y; e = (s_hat_old - s_hat) + y; %calculate difference first (Higham)
end links
Accuracy and Stability of Numerical Algorithms,
Office 2007 Pro Plus, Nicholas J. Higham,
Office 2010 License, 1996
For multiplier error feedback,
Office Professional Plus 2007, see:
Implementation of Recursive Digital Filters for High-Fidelity Audio
Comments on Implementation of Recursive Digital Filters for High-Fidelity Audio