You are on page 1of 8

Verification and Implementation of Impedance Measurement by Current Injection

Objective

The purpose of this document is to verify the Impedance Estimation using Sine Correlation
model discussed in “Electrical Bioimpedance Cerebral Monitoring: Fundamental Steps towards Clinical
Application”, a PhD thesis prepared by Fernado Seoane Martinez. The major portion of reference was
written in “Chapter 4. Transcephalic Measurements of Electrical Bioimpedance”.

Background

Studies have shown that by injecting high frequency (>100 Hz) AC current through human body
or tissue, and by measuring the voltage drop across the current injecting nodes, we are able to calculate
the so-called bioimpedance across the current path in that volume. This thesis presented a model
(Figure 1), which uses the mentioned method to measure the bioimpedance, which is composed of pure
resistance and pure reactance.

Figure 1. The block diagram of the Sine Correlation model used to measure the bioimpedance, which is
composed of pure resistance (Zreal) and pure reactance (Zimag).

For a brief summary, a current source is used to generate AC with amplitude of I and angular
frequency,𝜔𝑚 , and inject through the tissue (TUS). Then a differential amplifier (AMP) with certain gain
is used to measure the voltage drop across two injecting nodes and outputs the measured voltage (Vm).
Such Vm is then multiplied with two other AC signals with magnitude of uA, and one is in-phase with the
current source; while, the other is in-quadrature (π/2 phase shift) with the current source, uAsin(𝜔𝑚 t)
and uAcos(𝜔𝑚 t), respectively. After this multiplication, two signals, in-phase, ip(t) and in-quadrature
iq(t) are produced, and each of them goes through a LPF, which is nothing more than an Integrator, and
yields two values, ip0 and iq0. By multiplying another gain (2/uAI) to these ip0 and iq0, we obtain the
pure resistance (Zreal) and pure reactance (Zimag), respectively. Note that, from the node Vm to the output
of ip0 and iq0, the multiplier with LPF together simply act as a correlator, i.e. a sum of product or dot
product operation.

The following session will go through the mathematical derivation and verify how the model
works.

Lung Model Setup


Although this technique is discussed in the brain/skull bioimpedance measurement, it might also
be applicable to the lung region.

By some journal reference, Ref: Application of Electrical Impedance Analysis for Diagnosis of a
Pulmonary Mass. Ref: "The electric resistivity of human tissues (100 Hz-10 MHz): a meta-analysis of
review studies.", a lung can be modeled as a parallel RC circuit - an Re in parallel with a series of Ri and
Cm, where Re = extracellular resistance; Ri = intracellular resistance; Cm = cell membrane capacitance
(Figure 2).

|----Cm---Ri---|
--------| |-------
|------Re------|

(a) (b)

Figure 2. (a) Lung equivalent RC circuit model. (b) Text diagram shown in MATLAB.

A test and verification for the impedance measurement of this lung model can be found in Appendix.

Impedance Estimation and System Verification


Refer to Figure 1, we generate our current source with frequency equal to 1200 Hz, so an AC
sine wave is then:
1

0.8

0.6

0.4

0.2

magnitude
0

-0.2

-0.4

-0.6

-0.8

-1
0 0.5 1 1.5 2 2.5 3 3.5
second -3
x 10

, where only 4 cycles are plotted.


Then, if we assume a normal lung tissue model, we should have Cm=1000*10^-12 Farad, Ri=5000 ohms
and Re=10^4 ohms. So, this lung model has the ground truth impedance of the following:
Cm = 1.0000e-009
Ri = 5000
ZCm = 0 -1.3263e+005i
Z_RiCm = 5.0000e+003 -1.3263e+005i
Z_Re = 10000
Z_parallel_total = 9.9158e+003 -7.4446e+002i
Z_total_magnitude = 9.9437e+003
Z_total_phase_rad = -0.0749
Z_total_phase_deg = -4.2936

The amplitude of the injecting current is assumed at 1mA; therefore, the AC current injected into the
model looks like this:

-3
x 10
1

0.8

0.6

0.4

0.2
magnitude

-0.2

-0.4

-0.6

-0.8

-1
0 0.5 1 1.5 2 2.5 3 3.5
second -3
x 10
Figure 3. Injecting Current.

When current passes through the tissue, the corresponding voltage difference across the tissue
is

, so in MATLAB, we have V_m=I_Mag*Z_total_magnitude*sin(omega*t+Z_total_phase_rad),


where Z_total_phase_rad is θ shown above.
Furthermore, according to trigonometry or communication theory, a signal like Vm(t) can be
decomposed into its In-Phase term (Vip) and In-Quadrature term (Viq), where Vip and Viq can be found
by theory according to Vm equation and the definition:
Vip=I_Mag*Z_total_magnitude*cos(Z_total_phase_rad);
Viq=I_Mag*Z_total_magnitude*sin(Z_total_phase_rad);
Then, original form of V_m can also be written in its In-Phase and In-Quadrature representation:

, then in MATLAB, we have:


V_m_form2=Vip*sin(omega*t)+Viq*sin(omega*t+pi/2), where the last sine term with a pi/2
shift is another representation of the cosine term shown above. The following figure actually shows that
two representation are identical.

Measured Voltage shown in (Original Form) and (In-Phase&Quadrature Form)


10
Original
8 In-Phase&Quadrature

2
Volt

-2

-4

-6

-8

-10
0 0.5 1 1.5 2 2.5 3 3.5
second -3
x 10

However, the impedance Z is usually unknown beforehand, then we need to find ip(t) and iq(t),
which are in-phase and in-quadrature current respectively, to help us find the impedance.
According to the Figure 1 and the trigonometry, ip(t) and iq(t) can be calculated from Vm
multiplying with an In-Phase and an In-Quadrature signal, uAsin(𝜔𝑚 t) and uAcos(𝜔𝑚 t) respectively:
Note, on the top row of above two equations, it calculates ip(t) and iq(t) using the Vm form; whereas,
the second row uses the In-Phase and In-Quadrature representation. So, in MATLAB, we have:
ipt=I_Mag*sin(omega*t)*V_m; %In-Phase current
iqt=I_Mag*cos(omega*t)*V_m; %In-Quadrature current
, which calculate ip(t) and iq(t) using Vm form, and
ipt_form2=I_Mag*sin(omega*t)*V_m_form2; %In-Phase current
iqt_form2=I_Mag*cos(omega*t)*V_m_form2; %In-Quadrature current
, which calculate ip(t) and iq(t) using the In-Phase and In-Quadrature representation. The following
figure shows the results are identical by using either form.

-3 -3
x 10 In-Phase and In-Quadrature current before Integrator(LPF) x 10 In-Phase and In-Quadrature current before Integrator(LPF)
10 10
In-Phase current In-Phase current
8 In-Quadrature current 8 In-Quadrature current

6 6

4 4
Amp

Amp

2 2

0 0

-2 -2

-4 -4

-6 -6
0 0.5 1 1.5 2 2.5 3 3.5 0 0.5 1 1.5 2 2.5 3 3.5
second -3 second -3
x 10 x 10
ip(t) and iq(t) obtained using Vm form ip(t) and iq(t) obtained using Vip and Viq

According to Figure 1, next step is to pass ip(t) and iq(t) through a low pass filter, which is
actually an integrator, and the ip0 and iq0 result.

So in MATLAB, we have:
ip0_LPF=trapz(ipt)
iq0_LPF=trapz(iqt)
In fact, ip0 and iq0 can also be directly calculated by the division shown on the far right hand side of
above equations:
ip0_fromVip=(I_Mag*Vip)/2
iq0_fromViq=(I_Mag*Viq)/2
, where we assume uA has same amplitude as our injecting current. The results between these two
methods is just a constant gain difference.

Now, ip0 and iq0 can be used to calculate the real and imaginary impedance, which are pure
resistance (Zreal) and pure reactance (Zimag) by the following equations:

So, in MATLAB we have:


R_pure=(2*ip0_LPF/I_Mag)/I_Mag
X_pure=(2*iq0_LPF/I_Mag)/I_Mag
, and the impedance measured in rectangular form is:
Z_measured=R_pure+j*X_pure
=9.9662e+005 -7.3383e+004i
, and after multiply with some gain:
Z_measured_Amplified = 9.9158e+003 -7.3012e+002i
, which is very closely equivalent to our ground truth impedance according to the model we designed:
Z_parallel_total = 9.9158e+003 -7.4446e+002i

Appendix – test and verification for the impedance measurement of lung model

For a normal lung tissue, Cm is roughly equal to 1000 pF, Ri is around 5000 ohms and Re is
around 10000 ohms. With these values in mind, this model is verified under three different conditions:
(1) Cm is inf or very large, i.e. ZCm = 1/jwc = 0, short; (2) Ri is zero, short; (3) Re is inf or Open.

(1) Cm is inf, i.e. ZCm = 1/jwc = 0, short. If Cm = 6.02*10^23, then the circuit becomes a parallel
resistor circuit.
Then, the impedance at this condition is:
Z_parallel_total = 3.3333e+003 -9.7917e-029i
Z_total_magnitude = 3.3333e+003
Z_total_phase_rad = -2.9375e-032
Z_total_phase_deg = -1.6831e-030
, which can be verified by the calculator:
(2) If Ri = 0, then time constant, tau = ReCm, and cutoff frequency is 1/2piReCm =
1/(2*pi*10^4*1000*10^-12) = 15915.5 Hz i.e. at 15915.5 Hz, Re=XCm, where
XCm=1/2pifCm is the reactance of Cm. So, Z_Re=Re with 0 degree and ZCm=XCm with -90
degree, so Z_total_parallel = (1/Z_Re + 1/ZCm)^-1.
Thus, at 15915.5 Hz, the impedance of this model is:

Z_parallel_total = 5.0000e+003 -5.0000e+003i


Z_total_magnitude = 7.0711e+003
Z_total_phase_rad = -0.7854
Z_total_phase_deg = -45.0000
, which can be verified by the calculator:
(3) Re is inf or Open. If Re = inf(open), then time constant, tau = RiCm, and cutoff frquency is
1/2piRiCm = 1/(2*pi*5000*1000*10^-12) = 31831 Hz i.e. at 31831 Hz, Ri=XCm, where
XCm=1/2pifCm is reactance of Cm. So, Z_Ri=Ri with 0 degree and ZCm=XCm with -90
degree, so Z_total_parallel = Z_Ri + ZCm.
Thus, at 31831 Hz, the impedance of this model is:
Z_parallel_total = 5.0000e+003 -5.0000e+003i
Z_total_magnitude = 7.0711e+003
Z_total_phase_rad = -0.7854
Z_total_phase_deg = -45.0000
, which can be verified by the calculator:

The above steps indicate the correctness and integrity of the impedance reading from different values of
the lung model assumed.

You might also like