Energy calculation via current signal integration with limits

I want to calculate Energy during applied voltage and recieved current pulse signal at given time
data=load('data.txt'); % Pulse data
T=data(:,1); % Time vector
V=data(:,2); % Voltage in volts
I=data(:,3); %Current in Amp
iVs= find(T>=0,1,'first'); % Voltage/Pulse Signal start index
Vmx=V(iVs); % Value of voltage at signal/pulse start time
iVe=find(T>0 & V<=(Vmx/4),1,'last'); % End of signal/voltage index
w=round((T(iVe)-T(iVs))*1E6); % Pulse width or duration in micro sec
P=I.*V; % Power pulse
% Now we have time, Voltage, Current, start and end time of pulse/signal
% What is enegry delivered in pulse duration (Zero to 43 micro-sec)
% Formula =
Somehow I struglling to apply intergration with time limits ?

 Accepted Answer

Add this after your posted code:
idxrng = iVs:iVe;
IntP = cumtrapz(T(idxrng), P(idxrng));
figure
subplot(3,1,1)
yyaxis left
plot(T, V)
ylabel('V')
yyaxis right
plot(T, I)
ylabel('I')
grid
subplot(3,1,2)
plot(T, P)
ylabel('P')
grid
subplot(3,1,3)
plot(T(idxrng), IntP)
text(T(iVe), IntP(end), sprintf('Total Power = %7.3f \n \\downarrow', IntP(end)), 'HorizontalAlignment','right', 'VerticalAlignment','bottom')
ylabel('$\int{P}dt$', 'Interpreter','latex')
grid
producing:
.Add appropriate units (such a ‘VA’) for power.

4 Comments

Some confusions,
The above term is Total power or Energy per pulse?
cumtrapz(T(idxrng), P(idxrng)); This is Power and Time integral, which would give us total power per pulse or energy?
It is the integrated power of the pulse over time. The units would be for example Watt-seconds (Joules), if that is appropriate for the voltage and current units. The total energy of the pulse (as you defined it) is -0.993.
I plotted the cumtrapz result simply to show the evolution in the context of the limits you stated. Use trapz to get a single value.
Fantastic. It worked. Many thanks.

Sign in to comment.

More Answers (0)

Categories

Find more on Programming in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!