function y = ADC(u, clk, count)%function y = fcn(u, clk)
count=count+1;% if clk==1
% disp('hello');
% end
% emulation of SAR ADC operation
Nbit = 7; Vref = 64;VCM = Vref/2;%dVin = (-37298:37299)/37299*Vref;
Point=u;dVin = (-Point:Point)/Point*Vref;%plot(dVin);
Vip = dVin/2+VCM;Vin = -dVin/2+VCM;N = length(dVin);k=count;*Dout = zeros(1,N);B = zeros(1,Nbit);* while k <=N if clk==1 Vxp = Vip(k); Vxn = Vin(k); for kbit = 1:Nbit if Vxp - Vxn > 0 B(kbit) = 1; Vxp = Vxp - Vref*2^(-kbit); else B(kbit) = 0; Vxn = Vxn - Vref*2^(-kbit); end end Dout(k) = B(1)*64 + B(2)*32 + B(3)*16 + B(4)*8 + B(5)*4 + B(6)*2 + B(7)*1 -64 +0.5; % k=k+1;
break; else %k=k+1;
break end endplot(dVin,Dout,'r*')y = Dout;
MATLAB: Ho we run a section code one time in Matlab function block ? In below body I dont want assigning zeros in Dout after 1st iteration. This matlab function block run 100 times and problem is it every time set zeros in dout.
run section of code in matlab functionsimulink
Best Answer