function y = L5(x, k, a, b, g) % L5 Fifth order sigma-delta modulator k1 = k(1); k2 = k(2); k3 = k(3); k4 = k(4); k5 = k(5); a1 = a(1); a2 = a(2); a3 = a(3); a4 = a(4); a5 = a(5); b1 = b(1); b2 = b(2); N = length(x); i1=0; i2=0; i3=0; i4=0; i5=0; % integrator states out = 0; % quantizer output y = zeros(N, 1); for i=1:N i1_ = k1*(x(i) - g*out) + i1; i2_ = k2*(i1-b1*i3) + i2; i3_ = k3*i2 + i3; i4_ = k4*(i3-b2*i5) + i4; i5_ = k5*i4 + i5; q = a1*i1_ + a2*i2_ + a3*i3_ + a4*i4_ + a5*i5_; out = sign(q); y(i) = out; i1 = i1_; i2 = i2_; i3 = i3_; i4 = i4_; i5 = i5_; end