Design and implementation of an impedance analyzer based

advertisement
DEGREE PROJECT, IN MEDICAL ENGINEERING , SECOND LEVEL
STOCKHOLM, SWEDEN 2015
Design and implementation of an
impedance analyzer based on
Arduino Uno
A PILOT STUDY OF BIOELECTRICAL
IMPEDANCE ANALYSIS
JING WANG
KTH ROYAL INSTITUTE OF TECHNOLOGY
SCHOOL OF TECHNOLOGY AND HEALTH
Examensarbete inom medicinsk
teknik (HL202X) 30hp
2014:13
Design and implementation of an impedance analyzer
based on Arduino Uno
Technology and Health
Jing Wang
Godkänt
2015-03-25
Handledare
Recensent
Kaj Lindecrantz
Farhad Abtahi
Uppdragsgivare
Mats Nilsson
Sammanfattning
Mätning med elektrisk bioimpedans är vida använt idag för medicinsk övervakning. Användningsområden inkluderar bland annat bedömning av kroppssammansättning, uppskattning av nutritionsstatus och detektering av cancer. Modaliteterna för att tolka informationen från elektrisk bioimpedans har också utvecklats snabbt över de senaste årtionden, från analys med en frekvens till spektrum och bilder. Biompedans erhålls genom att ta fram sambandet mellan ström och spänning. I ett strömbaserat bioimpedans‐system har spänningsskällans stabilitet en stor inverkan på systemets prestanda. Det här examensarbetet jämförde tre olika spänningsstyrda strömkällor: en förbättrad Howland‐krets, en load‐in‐the‐loop‐krets drivs av en ström transportör och en krets med dubbeloperativförstärkare. Dessa kretsar simulerades i Multisim och producerades sedan som prototyper och testades i labb. Försök har även gjorts med att generera och samla in signaler med digital‐analog omvandling och analog‐digital omvandling. De kontrollerades av Arduino Uno och impedans analyserades i Matlab. I Master of Science Thesis in Medical Engineering
(HL202X) 30 credits
2014:13
Design and implementation of an impedance
analyzer based on Arduino Uno Technology and Health
Jing Wang
Approved
Reviewer
Supervisor
2015-03-25
Kaj Lindecrantz
Farhad Abtahi
Examiner
Mats Nilsson
Abstract
Electrical bioimpedance measurement is widely used today for monitoring body condition. The applications include and go beyond, body composition assessment, nutritional status evaluation, and cancer detection. The modalities for interpreting the impedance information have also developed quickly over the recent decades from single frequency bioimpedance analysis to spectrum and to images. Bioimpedance is measured by computing the relationship between voltage and current. In a current based bioimpedance measurement system, the stability of current source has a large influence on the performance of the system. This thesis compared three different voltage controlled current sources: enhanced Howland circuit, load‐in‐the‐loop circuit driven by a current conveyor and double operational amplifiers circuit. These circuits were simulated in Multisim and manufactured into prototypes and tested in lab. Effort has also been made to generate and collect signals with digital‐to‐analog convertor and analog‐to‐digital convertor. They were controlled by Arduino Uno and impedance was analyzed in Matlab. III IV
ACKNOWLEDGEMENT
First I would like to thank my supervisor Farhad Abtahi for his invaluable support and guidance during the project. I would also like to thank all my friends here for their company. Finally, I would like to thank my parents who have supported me and have been waiting for me throughout the whole master program. Jing Wang Stockholm, January, 2015 NOMENCLATURE
Notations
Symbol
Description
Z Impedance (Ohm) R Resistance (Ohm) X Reactance (Ohm) I Current (A) V Voltage (V) ω Frequency (rad/s) Y Admittance (S) G Conductance (S) B Susceptance (S) C Capacitance (F) σ Conductivity (S/cm) ε Permittivity (F/cm) Re Resistance of extracellular fluid (Ohm) Ri Resistance of intracellular fluid (Ohm) Rm Resistance of membrane (Ohm) Cm Capacitance of membrane (F) Abbreviations
EBI Electrical bioimpedance BCA Body composition assessment BIS Bioelectrical impedance spectroscopy ADC Analog to digital convertor DAC Digital to analog convertor VCCS Voltage controlled current source ECF Extracellular fluid ICF Intracellular fluid SNR Signal‐to‐noise ratio QD Quadrature demodulation CMRR Common mode rejection ratio Op‐Amp Operational amplifier DOA Double operational amplifier I2C Inter‐integrated circuit SPI Serial peripheral interface IDE Integrated development environment DDS Direct digital synthesis GUI Graphical user interface VIII
TABLE OF CONTENTS
ACKNOWLEDGEMENT _________________________________________________________________ V NOMENCLATURE ____________________________________________________________________ VII TABLE OF CONTENTS _________________________________________________________________ IX 1 INTRODUCTION _____________________________________________________________________ 1 1.1 Background ____________________________________________________________________ 1 1.2 Purpose _______________________________________________________________________ 1 1.3 Outline ________________________________________________________________________ 1 2 THEORETICAL FRAMEWORKS __________________________________________________________ 3 2.1 Circuit theory ___________________________________________________________________ 3 2.2 Electrical properties of living tissue _________________________________________________ 4 2.3 Bioimpedance measurement system design __________________________________________ 6 2.4 Communication protocol __________________________________________________________ 9 2.4 Arduino Uno ___________________________________________________________________ 10 3 METHODS ______________________________________________________________________ 13 3.1 System Implementation __________________________________________________________ 13 3.2 Source generation ______________________________________________________________ 13 3.3 VCCS _________________________________________________________________________ 15 3.4 Signal measurement ____________________________________________________________ 18 3.5 Results display _________________________________________________________________ 21 4 RESULTS __________________________________________________________________________ 23 4.1 Signal generation _______________________________________________________________ 23 4.2 VCCS _________________________________________________________________________ 23 4.3 Signal measurement and display __________________________________________________ 27 5 DISCUSSION ______________________________________________________________________ 29 5.1 Impedance measurement system _________________________________________________ 29 5.2 Safety considerations ___________________________________________________________ 30 6 CONCLUSIONS _____________________________________________________________________ 31 7 FUTURE WORK ____________________________________________________________________ 32 8 EXPERIENCE GAINED _______________________________________________________________ 33 REFERENCES _____________________________________________________________________ 35 10
1 INTRODUCTION
1.1 Background
Electrical bioimpedance (EBI) technology measures electrical properties of biological materials by means of applying electrical current/voltage to the whole material or regions of interest, sensing corresponding voltage/current and calculating the impedance by using Ohm’s law. EBI value is related to both the resistive and dielectric properties and the geometrical dimensions of the material, so it is possible to monitor not only material composition but also volume. Over the years, research interest on EBI has raised to develop new methods for patient monitoring and diagnosis. Bioimpedance research applications include but are not limited to body composition assessment (BCA) (1), skin cancer detection (2), impedance cardiography (3), breast cancer detection (4), and cerebral monitoring (5). However, in many cases, due to inaccurate models, presence of artefacts, errors in measurement and estimation of bioimpedance, they have not been widely accepted in clinical applications (6). Bioimpedance instrumentation by using system‐on‐chips (e.g. AD5933) can provide an affordable framework for developing compact systems (7). However, their applications are currently limited to single‐frequency measurements or bioelectrical impedance spectroscopy (BIS) by using frequency‐sweep technique that estimates bioimpedance in one single frequency at a time and repeat to measure a spectrum. To study different source of errors in bioimpedance measurements and estimation, access to current/voltage signals prior to impedance estimation is desired which requires custom design of measuring device. This device can be also useful in study of BIS by using broadband excitation of waveforms like square wave, step function, chirp and multi‐sine. 1.2 Purpose
The object of this thesis project is to design a bioimpedance measuring device with an analog to digital convertor (ADC), a digital to analog convertor (DAC), a voltage controlled current source (VCCS) and an Arduino board working as a microcontroller. By building the whole system from scratch, the aim was to understand the system from each component, test the possibility of building it with lower cost and make suggestions for further improvement. To achieve this goal, this project is divided into following tasks: 
to simulate and compare different VCCS configurations; 
to make prototypes for the VCCSs and test in lab; 
to create a voltage source with DAC and Arduino Uno; 
to collect electrical signal with ADC and Arduino Uno; 
to collect samples from Arduino Uno in Matlab; 
to calculate and display the impedance in Matlab; 1.3 Outline
This thesis is divided into eight chapters. Chapter Two contains the background knowledge about bioelectrical impedance, earlier research on BIS system design, BIA applications and knowledge about communication protocol and the microcontroller Arduino Uno. Chapter Three describes the methods and components used in the project. Chapter Four presents results of the simulation and lab test of VCCS and presentation of signal generation and collection. Results are discussed in Chapter Five. Chapter Six is the conclusion of the whole project. Chapter Seven describes the future work to improve the project and suggest alternatives to the component or the method used. And the last chapter is about the experience gained from the project. 2
2 THEORETICAL FRAMEWORKS
2.1 Circuit theory
2.1.1
Electrical impedance Electrical impedance (Z) is a measure of opposition to the current flow in a circuit (Figure 1). It can be written as a complex in the Cartesian form or the polar form: Z  R  j  X  Z e j . [1] The real part R is the resistance, the imagery part X is the reactance,| | is the magnitude of impedance and is the phase difference between the applied voltage (V) and corresponding current (I). Resistance causes energy loss in the circuit. It won’t lead to any phase shift between current and voltage. Reactance stores energy and causes phase difference between voltage and current. Usually reactance is introduced by capacitors or inductors in the circuit. (8) Electrical impedance can be calculated from Ohm’s law: Z
V
. I
[2] Figure 1 The impedance vector. Figure 2 An example of phase delay. 2.1.2
Dielectric properties of materials The electrical properties of materials can also be expressed as admittance Y, which is the inverse of impedance. The formula, with capacitive components in the circuit, can be written as: Y
1
 G  jB  G  jC  K   j   K   j r  0  Z
[3] The real part G is called conductance. The imaginary part B is the susceptance. A capacitor is drawn in Figure 3. Assuming the area of electrodes is A and the distance between two planes is d, then K is the ratio between area and distance: K = A/d. is the conductivity of the material. It is a measure of the material’s ability to conduct a current. And is the permittivity of the medium between two planes which can be further extended to , where is the relative permittivity of the material and is the dielectric permittivity of vacuum. This parameter is related to the polarization of medium in response to the electric field. A high permittivity denotes easy transmittance of electric field through the medium. is the frequency of the applied electric field. (8) Figure 3 A capacitor model. 2.2 Electrical properties of living tissue
2.2.1
Cell model A cell is the most fundamental structural and functional unit in living tissues. The cell membrane, which has a phospholipid bilayer structure, separates the intracellular fluid (ICF) from the extracellular fluid (ECF). The intracellular and extracellular mediums are both electrolytes. They contain ions that can move around the fluid, transport electrical charges and therefore conduct electrical currents. The concentrations of some major ions in ICF and ECF are shown in Table 1. Table 1 Concentration of major ions in body liquids. Adapted from (9) Concentration (meq/L) ICF ECF Na+ K + Ca2+ Mg2+ Cl‐ HCO3‐ Protein HPO42‐
10 142 100 5 ‐ 5 123 2 2 105 8 24 55 16 149 2 The cell membrane can be considered as a dielectric. It has a very low conductance. So the ECF, membrane and ICF form a conductor‐dielectric‐conductor structure, which is an analogy to a capacitor in the circuit. To study electrical properties of living tissues, it is of great help to establish an equivalent electrical circuit for the cells. According to the characteristics introduced above, the ECF can be depicted as a single resistor (Re). The ICF contains not only electrolytes but also organelles that could introduce dielectric properties. For simplification, it is also modeled as a resistor (Ri). The cell membrane is equivalent to a resistor connected in parallel with a capacitor (Rm||Cm). (8) See Figure 4. 4
Figure 4 Equivalent electrical model of a cell. Re represents resistance of ECF. Ri represents resistance of ICF. Rm represents resistance of membrane. And Cm represents capacitance of membrane. (8) Based on the model introduced above, the impedance of a cell can be written as: Re 1  jCRi 

1 
[4] Z  Re   Ri 

jC  1  jC  Re  Ri 

At low frequencies, the electrical current is impeded by the membrane. So the ECF plays a major role in conducting electrical current. In the extreme case, when a DC current is applied, the measured signal would be related only to ECF. This could also be demonstrated with the equation above. When the frequency → 0, the expression for the impedance could be written as: Z  Re . [5] At high frequencies, the electrical current passes through the membrane and the measurement is dependent on both ECF and ICF. 2.2.2
β dispersion The dielectric properties of living tissues and cell suspensions have a dispersive behavior in response to electrical currents. This means their dielectric properties like permittivity and conductivity depends on frequency. According to the changes in permittivity and conductivity, Schwan defined three major dispersions: α, β and γ dispersion. A fourth dispersion widow, δ dispersion, between β and γ dispersion has also been noticed. (10) Figure 5 Frequency dependence of permittivity and conductivity of living tissue (11). β dispersion includes the frequency range from 1kHz to several Mhz. This dispersion is considered to be related to the behavior of membrane. The properties of cells are mainly influenced by dielectric properties of membrane and the process of charging and discharging the membrane. Because of this reason, the measurement of electrical bioimpedance is usually performed in this range. And for single frequency bioimpedance analysis, the frequency is typically 50kHz. 2.3 Bioimpedance measurement system design
There are two methods to obtain the impedance. One is to inject an electrical current and measure the corresponding voltage. Another method is to apply voltage to the object of interest and measure the current. Both methods are used in bioimpedance measurement, and both have their advantages and limitations. Compared to the BIA device that applies voltage to the target, the current based BIA is able to manage currents within medical safety limits more easily. Besides, it suffers less noise due to spatial variation and produces better bioimpedance tomography results. However, current source gives poor performance at high frequency due to its decreased output impedance. Voltage sources applications work with higher bandwidth, however low dc SNR. (12) The current source based BIA is more commonly used in the EBI measurement devices today. In this thesis work, the focus will be the impedance measurement system with a current source. 2.3.1
Electrodes and connection Bioimpedance measurement devices typically consist of two major functions: first inject an alternating current to the biological material and then measure the potential difference from two ends. Fulfilling these two functions requires two, three or four electrodes (13). Two‐
electrode method and four‐electrode are introduced here. Three‐electrode method is not very common. One example using three‐electrode method can be found in (14). Two‐electrode method The two‐electrode method or bipolar method uses two electrodes to inject a known current to the biological material and measures the voltage drop over this material from the same electrodes. See Figure 6. Apart from the impedance of biological material Zm, the impedances at two electrode contacts Zc are also included in the measured impedance. 6
Figure 6 Biopolar bioimpedance measurement system (a) and its equivalent electrical circuit (b). So the two‐electrode method only works when the impedance of the tested material is much higher than the impedance of electrode contacts at the BIA working frequency. If a BIS device is used, two‐electrode method is not an option because the impedance at electrode‐electrolyte interface is susceptible to frequency variations. (15) Four‐electrode system The four‐electrode system is also known as tetrapolar system. It uses separate electrode pairs to inject current and measure voltage. Figure 7 Tetrapolar bioimpedance measurement system (a) and its equivalent electrical circuit (b). Assuming the voltmeter is ideal, the measurement result will involve only the impedance of the tested material. This makes the four‐electrode method most commonly used in today’s bioimpedance measurement. In practice, however, the impedance at the contact sites still has an impact on the measurement because of common voltage introduced by contacts’ impedance and common mode rejection ratio (CMRR) of the differential amplifier in the voltmeter. (15) (16) 2.3.2
Current generation An alternating current source can be obtained by combining a voltage generator with a voltage‐
to‐current convertor circuit. For a current source, high output impedance is desired in EBI measurement, especially in BIS where the working frequency goes up to several Mhz. However, the output impedance of a current source drops as the frequency increases. This is caused by the parasitic capacitances that come from many components in the circuit, for example between electrodes. The output impedance of the current source should be at least 100 kOhm (17). Sinusoidal signal generation Sinusoidal signal can be generated from either analog or digital method. One example of analog method is to use a sinusoidal oscillator that converts DC power to a periodic waveform. This method requires complexity in circuits and high accuracy in some of the electrical components. And it lacks flexibility compared to digital methods. Generating waveforms with digital modules is called direct digital synthesis (DDS). The block diagram below shows the idea of a simple DDS system (Figure 8) (18). DAC takes values from a look‐up table where the address counter points. As the counter steps through the look‐up table repeatedly, a periodical wave is obtained from the DAC output. The low‐pass filter (LPF) after the DAC filters out the high‐frequency harmonics and makes the curve smoother. fin Waveform Address Look‐up Register DAC LPF counter table Figure 8 Block diagram of a simple DDS system. VCCS Many studies have been conducted on the VCCS design to achieve as large output impedance at high frequencies as possible (17) (19). Some typical VCCS configurations include Howland circuit, load‐in‐the‐loop circuit, etc. More detailed descriptions can be found in Section 3.3.1. 2.3.3 Impedance analyzing One of the most popular methods for analyzing the impedance of biological material is the quadrature demodulation (QD) method (20). The basic idea is introduced here. Consider i  t   I cos(0t ) , by adding the phase shift  caused by the impedance Z, the expression of voltage can be written as: v(t )  Z  i(t )  I Z cos(0t   )
= I Z cos(0t ) cos    I Z sin(0t ) sin  
, [6] where the two items are in phase and in quadrature with the injected current. Then the impedance Z can be expressed as: Z  R  jX  Z cos   j  Z sin  [7] In the upper branch, the voltage is multiplied by cos(0t ) , so the signal before low‐pass filter is: v1 (t )  v(t )  cos(0t )
 I Z cos(0t   ) cos(0t )
[8] 1  cos(20t )
sin(20t )
I Z (
cos  
sin  )
2
2
The high frequency components are filtered out by the low‐pass filter, so the output contains only 1
I
I
I Z cos  which can be written as  R . Similarly, the output of lower branch is  X 2
2
2
8
Figure 9 Quadrature demodulation method. Other impedance analyzing methods include measuring the amplitude and phase using Gain‐
phase detector (21), bridge method (22), etc. 2.4 Communication protocol
Communication between devices requires a common language that could make data identifiable. Communication protocols are such rules that define the formats of data and may contain other information like the speed of transmission, the order of data bits, direction of operation, etc. 2.4.1
I2C Inter‐integrated circuit (I2C) is a multi‐master and multi‐slave protocol. It uses two bidirectional signal lines. One is the serial data line (SDA) for data transmission, and the other is the serial clock line (SCL) for two‐wire interface clock frequency. Figure 10 I2C connection with one master and three slaves (23) Data transmitted between master and slave device always begins with a START bit and ends with a STOP bit. After the master device starts data transmission, the master device reaches to each slave device with the slave’s unique address. If the address matches, the slave will respond to the master with an AKCNOWLEDGE signal. 2.4.2
SPI Serial peripheral interface (SPI) is a four‐wire full‐duplex interface allowing a single master to communicate with one or multiple slaves. Master In Slave Out (MISO) is used for sending data from slave to master. Master Out Slave In (MOSI) is used for sending data from master to slave device. Serial Clock (SCK) is configured by the master device and is used to synchronize data transmission. Slave Select (SS) is used to select the slave device that the master wants to communicate with. MOSI, MISO and SCLK are common to all slave devices, while SS is specific for each slave. The slave device is enabled only when its SS pin is low. See Figure 11. Figure 11 SPI communication with single master and single slave (24) 2.4.3
I2C vs. SPI Both I2C and SPI are commonly used in electronic devices. However, they have some important differences that make them suitable for different purposes. Understanding the difference between I2C and SPI helps to select a proper interface for certain project. Two aspects are discussed below: Wiring: I2C is a two‐wire interface, while SPI typically requires 3+N signal lines for N slave devices. Speed: I2C is slow compared to SPI. It transfers data at a speed of 100 kbps in standard mode, 400 kbps in fast mode, 1Mbps in fast mode plus and 3.4 Mbps in high‐speed mode (23). But high‐
speed mode is not always feasible because of limitations on the master side. SPI has no specific working mode or any defined limit. The throughput rate varies from device to device, and can go higher than 10 Mbps. 2.5 Arduino Uno
Aruidno Uno (Figure 12) is the latest revision of the basic Arduino USB board. It is based on the microcontroller ATmega328. The system clock is 16 Mhz. The board has 14 digital input/output pins and 6 analog inputs. Some of these pins have special functions for communicating with other devices or microcontrollers. (25) For SPI communication using SPI library: Table 2 SPI pins on Arduino Uno Pin 10 Pin 11 Pin 12 Pin 13 Slave selection (SS) Master out slave in (MOSI) Master in slave out (MISO) Serial clock (SCK) For I2C communication using Wire libray: Table 3 I2C pins on Arduino Uno Pin A4 Pin A5 Serial data (SDA) Serial clock (SCL) Arduino Uno could be programmed with Arduino software by simply connecting the board to computer via USB port. Arduino boards come with an integrated development environment (IDE) which is an open‐source software based on Processing, avr‐gcc, and other open source software (26). The Arduino programs can be written in C/C++. Arduino itself has its own standard library and some other libraries that have made some transforms on C/C++ language. 10
A typical Arduino program has two major functions: setup(), which runs in the beginning of a program and initializes settings; and loop(), which is called repeatedly to fulfill desired tasks. Figure 12 Arduino Uno front (25). 3 METHODS
3.1 System Implementation
A simple impedance measurement system was implemented in this thesis. Arduino Uno was used as a microcontroller. It wrote to a DAC and generated a sine waveform. A low‐pass filter was connected to the DAC output to smooth the signal and a high‐pass filter was connected after the low‐pass filter. The high‐pass filter was used to remove the DC component from DAC output, since the output range of DAC used in the project was 0‐5V (27). The voltage source would then be transferred to a current source after VCCS. A DC offset was added to the voltage signal over the RC model to fit the analog input range of ADC. The ADC measured voltages over the RC model and a reference resistor. Voltage data was then sent to Arduino Uno. Finally, samples were sent to Matlab and impedance was calculated and displayed in Matlab. The block diagram of major function blocks in the system is shown in Figure 13 below. DC power supply
V V
I
VCCS DAC ADC 2R1C model Matlab
Samples Microcontroller (Arduino Uno) Figure 13 Simplified block diagram of the impedance measurement system. 3.2 Source generation
3.2.1
Generating waveforms from look‐up table A sinusoidal voltage signal was generated from DAC using the DDS method. To generate this waveform, a sine wave look‐up table is needed. The look‐up table stores both amplitude and phase information of a sine (or cosine) wave. When reading from the look‐up table continuously, the index of the amplitude value increases and so does the phase of the output waveform. To achieve n‐bit resolution, a sinusoidal cycle is divided into 2n phase points (Figure 14). If these points are read by DAC successively without skipping points, the frequency of the output waveform obtained will be: f out 
1
 fin 2n
[9] Figure 14 A sinusoidal cycle is divided into 2n points. The frequency is changeable by changing the input clock frequency, rewriting the look‐up table or skipping points. In our project, the sine wave look‐up table was stored in the flash memory of Arduino. To achieve the highest frequency, 32 points were taken for one sinusoidal cycle. 3.2.2
MCP4725 MCP4725 (27) is a single channel 12‐bit DAC supporting I2C interface. This chip is chosen because it is easy to use. It has three modes: standard mode supports a baud rate of 100 kbps; fast mode supports a baud rate of 400 kbps; high‐speed mode supports 3.4 Mbps. The maximum SCL clock frequency supported by ATmega328 on the Arduino Uno board is 400 kHz (28). So it is only possible to use standard and fast mode with Arduino Uno. Fast mode communication was used in the thesis to get as high speed as possible with available hardware components. Commands that need to be written in the microcontroller are shown in Figure 15. The output voltage is given by: VOUT 
VREF  Dn
4096
[10] where equals to the single power supply and is the input code. In our case, is 3.3 V from Arduino Uno board. The output signal ranges from 0 to 3.3 V. And the smallest voltage difference that MCP4725 can produce is 0.8 mV. Arduino Uno supports two‐wire interface communication with the wire library. Common commands include: Wire.begin() to initiate the wire library, Wire.beginTransimmission(address) to begin transmission to the I2C device with the given address, Wire.endTransmission() to end the transmission and so forth. Detailed description and instruction for the library can be seen in (29). 14
Figure 15 Fast mode write command. (27) 3.3 VCCS
3.3.1
VCCS configurations Load‐in‐the‐loop A single operational amplifier (Op‐Amp) can work as a simple and effective VCCS. In a circuit like Figure 16, if the Op‐Amp is ideal, the electrical current flowing through the load will be equal to that in R1. The output current can be written as: I load 
V1
R1
[11] which is independent of the load value. Figure 16 Simple load‐in‐the‐loop circuit. Seoane et al (30) proposed an enhanced version based on simple load‐in‐the‐loop configuration. A current conveyor was added to the first stage so that the output current would be independent of the value of resistor R3 that is connected to the inverting input of the second stage. This resistor can be changed to get higher output impedance (Figure 17). Figure 17 A single Op‐Amp VCCS circuit driven by current conveyor. (30) Figure 18 shows a simplified equivalent schematic of AD844. The current flowing between the input nodes gets replicated and flows in resistor Rt. In the method proposed by Seoane et al, this current was connected to the next stage via AD844 Pin 5. The amplitude of current in Figure 17 can be calculated approximately by: I
V1
R1  RIN
[12] where the typical value of RIN is 50 Ohm (31) Figure 18 Equivalent circuit of AD844. (31) Enhanced Howland circuit The enhanced Howland circuit has an advantage over other current source configurations: it needs only one Op‐Amp and five resistors to work. The circuit is comparably simple. The output current is given by: Vin R3
R4 R2
[13] R3 R4  R5

R2
R1
[14] IL  
The resistance follows the ratio: 16
Figure 19 Enhanced Howland circuit. (32) DOA circuit Double Op‐Amps are used in this circuit (32). It features a differential amplifier with a positive feedback. Let . The output current is calculated by: IL  
Vin
R3
[15] Figure 20 DOA current source circuit. (32) 3.3.2
Measurement of output impedance The output impedance was measured according to the schematic diagram shown in Figure 21. Figure 21 Schematic diagram used to measure the output impedance. Adapted from (33). The following equations can be written according to KCL and KVL. When the switch S is closed: is  iz1  I1 [16] Z s  iz1  I1  RL [17] When the switch S is open: is  iz 2  I 2 [18] Z s  iz 2  I 2   P  RL  [19]
Subtracting Equation [16] and [18]: I1  I 2  iz 2  iz1  I [20]
Subtracting Equation [17] and [19], and substituting with [20], equation: Z s   I 2   P  RL   I1  RL  / I can be calculated from [21] 3.3.3
Simulation Software environment Three VCCS configurations: load‐in‐the‐loop circuit driven by a current conveyor; enhanced Howland circuit and DOA circuit were simulated in Multisim. Multisim is a powerful simulation environment developed by National Instruments. It has a large number of components in the library, which makes it convenient to build a circuit, simulate it and monitor the signals. Besides the inbuilt modules like oscilloscope and multimeter, Multisim software offers two convenient functions that analyse frequency response of a circuit: AC analyse ‐ This function shows the value of chosen parameters over a range of frequencies. Single frequency AC analysis ‐ This function shows the value of chosen parameters at a single frequency. The user can choose either to display the result in real/imagery form or magnitude/phase form. Output impedance measurement The output impedances were measured according to 3.3.2. P was set to 500 Ohm and RL was set to 200 Ohm. The current flowing through the load was measured. Output current measurement The output currents were measured with a load of 470 Ohm. Then the values were normalized by dividing the output current at the lowest frequency. 3.3.4
PCB prototyping After simulation, the circuits were drawn in Eagle 7.1.0 (See Appendix A) and printed circuit board (PCB) files were generated (See Appendix B) and sent to milling. Boards were connected to power supply in the lab for testing. In consistence with steps in simulation, the output currents of PCBs were measured with a load of 470 Ohm. Then values were normalized by dividing the output current at the lowest frequency. 3.4 Signal measurement
18
3.4.1
Signal collection setup Two voltage levels were measured with the setup shown in Figure 22. A reference resistor was connected in series with the tested load. The voltage over the reference resistor is linear to its current flow, so the phase information of electrical current was obtained. Signals went through a voltage lifting circuit (34) before entering ADC to match the ADC’s analog input range. Figure 22 Block diagram for signal measurement 3.4.2
MCP3008 MCP3008 (35) is an 8 channel 10‐bit ADC with SPI Serial Interface. It operates with a single power supply ranging from 2.7 V to 5.5 V. The maximum sampling rate is 75 ksps at VDD = 2.7 V and 200 ksps at VDD = 5 V. According to Nyquist‐Shannon sampling theorem – the sampling rate should be higher than twice the value of the maximum frequency in the signal to avoid aliasing. Theoretically MCP3008 is able to sample 100 kHz signal at 5 V, which is not sufficient for BIS measurement that deal with frequencies up to Mhz. However, because the signal generated in this thesis is way below 100 kHz, MCP3008 is enough for signal sampling. The timing chart of SPI communication with MCP3008 is shown in Figure 23. The ADC chip works in mode (0,0), which means the base value of serial clock is low and data are sampled on the rising edge of clock. Figure 23 SPI Communication with the MCP3008 (Mode 0,0: SCLK idles low). To get the SPI communication to work, the Arduino sends command bits to the ADC chip. This configures the ADC chip to work in either single‐ended or pseudo‐differential input mode and select channel for the analog input. In single‐ended mode MCP3008 can measure analog inputs between 0 and VREF (3.3 V). And in pseudo‐differential mode the IN‐ should be within (‐100 mV, 100mV), and IN+ should be within (IN‐, VREF +IN‐). However in our case, the voltage to be measured was bipolar. So a voltage lifting circuit was used before connecting to ADC. Arduino has a SPI library to support the communication between Arduino and SPI devices. Detailed information could be found in (36). 3.4.3
Communication between Arduino Uno and Matlab Since Arduino Uno has no file system, it is impossible to save data using Arduino Uno alone. Data processing is time consuming, so it is inefficient to do it in the Arduino sketch. Exporting data to other software to save the file somewhere on the computer or process data and display result is necessary. Matlab was chosen in this project for its convenience to communicate with Arduino Uno. Matlab is able to communicate with Arduino Uno in four different ways. The first method is to use the Matlab Arduino Support package “Aruidno IO” that supports serial port communication between Matlab and Arduino. This support package can be downloaded from (37). It supports Arduino Uno, Mega 2560 and Duemilanove. The Aruidno IO package provides a server sketch program that should run on Arduino. When the sketch is uploaded to the Arduino board, board listens to the commands from serial port. There are also a Matlab API and Matlab example files in the package. These files altogether allow users to access and control pins on Arduino board from Matlab commands directly. The second method is to use Simulink Arduino Support package (38). It contains common function blocks like Analog I/O, Digital I/O, PWM, and also some function blocks for Ethernet 20
shield and WiFi shield. Users can connect these blocks with other existing blocks in Simulink, modify the parameters and program the Arduino board without even write any command. Figure 24 Arduino common blocks. (39) The third method is to use Matlab serial port interface capability. It treats Arduino with no difference from any other devices that want to send data to Matlab and do further data processing in Matlab. Sketches that manipulate I/O pins are written with Arduino software and uploaded to the board. In the Arduino software, a serial monitor takes and displays strings or numbers from the serial port. Matlab can read from the serial port when the serial monitor is closed and the serial port is not occupied. The fourth method is to use Simulink to receive data from the serial port in real time. This is achieved by using serial port interface blocks, such as Serial Receive, Serial Send, Query Instrument and To Instrument. In our project the command lines for controlling Arduino Uno board was written in Arduino software. On the Matlab side, the codes created a serial port object and read data from the port. 3.5 Results display
Arduino sends samples to the serial port. Matlab reads from the serial port and performs further processing and calculations on the data. 3.5.1 Matlab GUI Matlab offers a graphical user interface design environment (GUIDE) for designing graphical user interface (GUI) (40). Users can add modules like toolbars, push buttons, and pop‐up menus by simply clicking on their icons and put them to desired position. The tasks that need to be implemented are defined with Matlab codes. For example, when a push button is clicked the codes under its callback function are executed. 3.5.2 Impedance analysing Samples collected in Matlab were fitted to the form: f (t )  a  sin(b  t  c )  d [22] using the least‐squares curve fitting function lsqcurvefit(). When the fitting curve is generated, it is easy to compare the amplitude and phase information from the parameters in the function. Since a reference resistor is connected in the circuit (Figure 22), and one of the channels measures the voltage over both tested load and reference, the load value and reference resistor follows the relation in Equation [23]: Z LOAD  RREF 
Vsignal
I
[23] This equation can be extended assuming Z LOAD  RLOAD  j  X LOAD . The resistance and reactance of the load can be calculated from: ( RREF  RLOAD ) 2  X 2 
tan(c1  c2 ) 
RREF
Vsignal
Vref / RREF
[24] X
 RLOAD
where |Vsignal| (a1), |Vref|(a2), c1, c2 are coefficients for the fitted curves. 22
4 RESULTS
In this chapter the output of signal generation, VCCS and signal collection are presented. 4.1 Signal generation
The voltage signal was generated with 12‐bit DAC chip MCP4725 (Figure 25.Channel 1). Angles can be seen clearly on the waveform. An RC low‐pass filter was applied to the output signal to attenuate high‐frequency harmonics from the waveform. After that, an RC high‐pass filter was added to remove the DC offset. A smooth sinusoidal wave with around 3.3 Vpp was obtained. The SCL signal frequency from Arduino was around 278kHz. Figure 25 DAC output waveform (Channel 1, up) and waveform after low‐pass and high‐pass filtering (Channel 2, down). 4.2 VCCS
The output impedance and output current of the three VCCS configurations at frequencies 1kHz, 10kHz, 50kHz, 100kHz, 300kHz, 1MHz and 2MHz were simulated in Multisim. PCB prototypes were tested in lab. 4.2.1 Simulation Output impedance 16000
Output impedance of VCCS[kOhm]
14000
12000
Enhanced Howland,simulation
DOA,simulation
Load-in-the-loop circuit driven
by current conveyor,simulation
10000
8000
6000
4000
2000
0
-2000
-4000
3
10
4
10
5
10
Frequency [Hz]
6
10
7
10
Figure 26 Simulation results of three VCCS configurations’ output impedance over frequency from 1kHz to 2MHz. Table 4 Output impedance of three VCCS configurations, simulation result. Frequency(Hz) 1k 10k 50k 100k 300k 1M 2M Load‐in‐the‐loop circuit driven by current conveyor Zout(Ω) >1.0M >1.0M >1.0M >1.0M >1.0M ‐ ‐ Enhanced Howland Zout(Ω) >1.0M >1.0M >1.0M >1.0M >1.0M 235.0k 65.9k Double Operational Amplifier Zout(Ω) >1.0M >1.0M >1.0M >1.0M >1.0M 242.8k 63.0k Figure 26 and Table 4 contains the output impedance of these three configurations from 1kHz to 2MHz in simulation. All circuits maintain high output impedance over a wide frequency range and show variance as the frequency increases. At the highest frequency 2MHz, enhanced Howland circuit and DOA circuit have output impedance around 60kOhm. The curve for load‐
in‐the‐loop circuit driven by current conveyor shows abnormal behavior compared to other two circuits. 24
Output current of VCCS/Current@lowest frequency
1.02
1
0.98
0.96
0.94
0.92
0.9
0.88
0.86
0.84
3
10
Enhanced Howland,simulation
DOA,simulation
Load-in-the-loop circuit driven
by current conveyor,simulation
4
10
5
10
Frequency [Hz]
6
7
10
10
Figure 27 Simulation results of three VCCS configurations’ output current over frequency from 1kHz to 2MHz. Seeing from the output current results in Figure 27, the enhanced Howland circuit shows the least variation at a very high frequency. 4.2.2 PCB Boards for three VCCS configurations are shown in Figure 28, 29, 30. Components were soldered in lab. Figure 28 PCB for load‐in‐the‐loop circuit driven by current conveyor Figure 29 PCB for enhanced Howland circuit Figure 30 PCB for double Op‐Amp circuit Output current of VCCS/Current@lowest frequecy
1.02
1
0.98
0.96
0.94
0.92
0.9
0.88
0.86
0.84
3
10
Enhanced Howland,lab
DOA,lab
Load-in-the-loop circuit driven
by current conveyor,lab
4
10
5
10
Frequency [Hz]
6
10
7
10
Figure 31 PCB tested results of three VCCS configurations’ output current over frequency from 1kHz to 2MHz. Curves in Figure 31 show output current results from testing PCB in lab. The curves have fluctuations. This is partly due to some errors when reading amplitude values from the oscilloscope. The amplitude values shown in the oscilloscope was not stable. The last two points on the load‐in‐the‐loop circuit driven by current conveyor curve are inaccurate. Because at 1Mhz and 2Mhz frequencies, the output waveforms have distortion. For current amplitude confirmation, DAC was connected to the DOA circuit. And the output of DOA circuit was connected to a pure resistance load of 330 Ohm. The peak‐to‐peak value of output current was around 1.6 mA. 26
Figure 32 Waveform after high‐pass filter (Channel 1, up) and voltage over a 330 Ohm load (Channel 2, down). 4.3 Signal measurement and display
The frequency generated from DAC was very low (below 10Hz) when working together with ADC chip. So this part of test was conducted using signal generator in the lab as the input voltage to VCCS. The input voltage was set to 200 Hz, 2.4 Vpp. VCCS output was then applied to the load connected in series with a reference resistor (Figure 22). Samples were sent to Channel 0 and Channel 1 of MCP3008. In Matlab, a simple GUI was designed as is shown in Figure 33. When “Plot” is clicked, the serial port opens. Matlab reads from the serial port and stores certain number of sample points in a matrix. The number of samples can be changed from the code. These samples are plotted to the GUI after finishing reading. Figure 33 GUI interface in Matlab. When the “Interpolate” button is clicked, samples are fitted to a sinusoidal wave using the least‐
square method and then are displayed in the GUI. Before clicking the “Calculate” button, the value of reference resistor must be entered into the software. Figure 34 An example of impedance calculation. Figure 34 shows the interpolation result and impedance analyzing result for two 330 Ohm resisters connected in serials. However there is an obvious phase shift between two curves. This phase can be used as a calibration parameter for the system. A 2R1C model was tested (Figure 35). Results are presented in Figure 36 and Table5. Figure 35 2R1C model. Table 5 Resistance and reactance values of a 2R1C model Resistance (Ohm) Theoretical 556 Measured 719 Calibrated 809 Figure 36 Results for 2R1C model 28
Reactance
(Ohm) ‐0.85 ‐450 75 5 DISCUSSION
5.1 Impedance measurement system
Using a DAC device with I2C interface is not a good choice for projects that demand high speeds. The microcontroller ATmega 328 on the Arduino Uno board supports a maximum serial clock of 400 kHz for two‐wire interface. In principle, with DAC working on the fast mode, the maximum sine frequency generated per second should be around 400000 (bits transferred per second) / 29 (bits for one data points, including three bytes command and data, one start bit, one stop bit and three acknowledge bits)/32 (data points in one sinusoidal cycle). The result is around 4.3 kHz. However, in practice the frequency of voltage signal generated from MCP4725 could only go up to around 260 Hz. The serial clock was measured in lab to be around 278 kHz. This serial clock frequency explains the reason for a maximum signal frequency of less than 300Hz in the real test. Three VCCS configurations were simulated, tested and compared. For both enhanced Howland circuit and Double Op‐Amp circuit, the symmetry of circuit components is expected to contribute to higher output impedance. This lays demands on the accuracy of the resistors. In the load‐in‐the‐loop circuit driven by a current conveyor, AD844 was used as the current conveyor and LMH6655 was used as the amplifier in the second stage. According to Equation [12], the output current could be regarded simply as the ratio between V1 and R1 when R1 is very high compared to RIN (Figure 17). Increasing the value of the resistor R3 connected between Pin 5 of AD844 and inverting input of LMH6655 is considered to be beneficial to higher output impedance according to the equation for output impedance in (30). When changing R3, the linearity of the system should be closely monitored to get reliable results. In the lab test, the value of R3 was set to 6.5kOhm as in (30), and the desired output current was 1mA, the voltage level at Pin 5 of AD844 went up to around 6.5V. This requires the power supply of AD844 to be higher than 6.5V. Otherwise the output waveform will be flat during certain part of a cycle. To power up both AD844 and LMH6655, more power supplies were used in the load‐in‐the‐loop circuit driven by a current conveyor compared to the other two configurations. Besides, the simulation and lab test results for this method show abnormity at 1Mhz and 2Mhz. The output impedance has an increase at very high frequencies in simulation, and waveforms have distortion in the lab test. More reasonable simulation results could be found in (30). The measurement used two single‐ended analog input channels of MCP3008. So the common mode signal stayed in the input and could lead to inaccuracy in sampling. To eliminate or reduce the effect of common mode signal in the input, pseudo‐differential mode input should be tested in future experiment. In terms of sampling speed, the maximum sampling rate of MCP3008 is 75ksps, which means it can sample 37.5 kHz sine wave according to Nyquist‐
Shannon sampling theorem. Two channels work alternately. This will reduce the sampling rate to half. But even if there is a need to sample the signal at higher frequencies, undersampling technique can be applied to recover the original signal. The speed limitation of the measurement block is not limited by MCP3008, but by the serial interface between Arduino and computer. The maximum port speed is 128000 bps. This means 128000 bits of information is sent in one second. For one byte data transmission, there are data bits and also start bit, stop bit and possibly some other information included. In section 4.3, the frequency of the input was 200Hz. Seven samples were sent per second to the computer in the form “Channel0Value‐space‐Channel1Value” (i.e. “1 1”). The number of voltage levels received by the computer is 2800 points per second. The signal collection in Matlab is not stable. Reading from serial port is not always successfully executed probably because that some data is missing in the transmission process. Before deciding to use Matlab to interface with Arduino, Processing software was tried. Received data had blank lines or half blank (i.e. “1 1” was sent but only ”1 ” was received). The interpolation method used in impedance analysis is sometimes time consuming and sometimes it exceeds the maximum evaluation values and ends without any optimum solution. Besides, the performed interpolation result is easily influenced by the samples used. In the result for 2R1C model measurement, the amplitude ratio between two channels of samples is around 3.5, which is bigger than the expected ratio calculated from circuit theory. This is possibly caused by parasitic capacitor over the reference resistor, or errors introduced from voltage lifting circuits. The phase shift in the test with two pure resistors as load was tried as a phase calibration option in testing the 2R1C model. The reactance of the calibrated goes nearer to the calculated value, however the resistance part separates farther. More tests should be done to draw a conclusion. Measuring the amplitude and phase of signal to analyse the impedance is intuitive. The whole system was tested on the breadboard. The analog modules on the breadboard includes an RC low‐pass filter, an RC high‐pass filter, two voltage lifting circuits, a reference resistor and a 2R1C model to be tested. All the jumpers together make the parasitic capacitor even more complex and introduce larger errors to the system. 5.2 Safety considerations
For the safety of patients, the current from EBI measurement device injected to human body should be bipolar with an average current 0. If an electric signal with DC offset is applied, there will be electrons accumulated and may cause damage to living tissues. The amplitude of the current should be as low as possible. Many research studies limit the maximum current to 1mA, which is less than the threshold of perception. Besides, problems may occur when the patient is using other medical device like implanted cardiac defibrillator. No accident has been reported. However, attentions should be paid in these situations. The system developed in this project generates an electrical current with Imax = 0.8mA and it is bipolar with no DC offset. The system requires improvements in many aspects to get satisfying results. So it is currently not aimed towards real life applications, but for education and research purpose only. 30
6 CONCLUSIONS
The EBI measurement system was studied in this thesis work. A system using Arduino Uno to generate sine wave from DAC MCP4725 and collect samples with DAC MCP3008 was tested. Three different VCCS configurations were simulated and tested with PCB in practice. Finally, a simple GUI was implemented in Matlab to display and process data. The system is still quite preliminary. It fulfills most of the functions in an impedance analyzer but with poor performance. Further improvements need to be done. 7 FUTURE WORK
7.1 Recommendation
One problem is related to the speed of signals generated in the system. One Arduino Uno alone is not sufficient for controlling both DAC and ADC and transfer data at the same time. Suggestions would be to use a higher speed microcontroller and high‐speed DAC and ADC chips, for example AD5764 from Analog Devices. It is a 16‐bit high‐accuracy DAC compatible with SPI interface. And for the measurement part, data acquisition devices can be considered for fast data sampling. To reduce the jumpers needed in the experiment setup, I would recommend using a DAC chip with bipolar output and ADC with differential anolog inputs. In this way the parasitic capacitance in the system will be reduced. In a bioimpedance analysis system, it is not important to visualize data in real‐time. So it is advisable to store data first and send the package to computer after signal collection. The calculation steps for the impedance will be clearer if the voltage over the load can be measured directly instead of calculating from the load and reference combination as was done in this thesis. It is advisable to connect the voltage over the load to an instrumentation amplifier before it goes to the ADC input. For impedance analysis section, system design environment like Simulink and Labview could be considered. Many analog and digital functional modules are available in the software. The QD method, for example, can be tried in Simulink. 7.2 Future work
The bioimpedance measurement system in this thesis is only considered as a pilot study. As readers can see from the results and discussion parts, there are needs for improvement from many aspects. The goal is to implement a low‐cost bioimpedance measurement device compared to those that are available on the market. Apart from that, in future work, how to build a multi‐frequency current source, how to extract signals from samples, how to design a multi‐channel system and how to fit the device to clinical needs are problems to be considered. 32
8 EXPERIENCE GAINED
Both hardware and software development are involved in this thesis project. This makes it interesting however complex. Of course I learned a lot about hardware, interface between devices and knowledge on this topic. But the points I want to stress is about something else. The most important lesson I have learned from the project is time management. I have to admit I did not do very well in time control. Some problems were related to external or unexpected forces, for example shipment of the components, DAC board broken in the last month. But more were caused by being unfamiliar with the contents and underestimating the time needed for completing sub‐tasks. I will definitely start everything as early as possible for the tasks in the future. And I think this applies for any project and every people. And it is important to talk to supervisor or ask help from internet. When you stuck with some problem for too long, this will save a lot of time. REFERENCES
1. Van Loan, Marta D., et al. Use of bioimpedance spectroscopy to determine extracellular fluid, intracellular fluid, total body water, and fat‐free mass. Human body composition. 1993, pp. 67‐70. 2. Aberg, P., et al, Skin cancer identification using multifrequency electrical impedance‐a potential screening tool. IEEE Transactions on Biomedical Engineering. 2004, Vol. 51, pp. 2097‐
2102. 3. Kubicek, W. G., Patterson, R. P., and Witsoe, D. A., Impedance cardiography as a noninvasive method of monitoring cardiac function and other parameters of the cardiovascular system. Annals of the New York Academy of Sciences. 1970, Vol. 170, pp. 724‐732. 4. Malich, A., Böhm, T., et al, Electrical impedance scanning as a new imaging modality in breast cancer detection—a short review of clinical value on breast application, limitations and perspectives. Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment. 2003, Vol. 497, pp. 75‐81. 5. Seoane Martínez, Fernando. Electrical bioimpedance cerebral monitoring. Göteborg : Chalmers tekniska högskola, 2007. 6. Abtahi, Farhad. Aspects of Electrical Bioimpedance Spectrum Estimation. 2014. 7. Ferreira, J., Seoane, F. and Lindecrantz, K., AD5933‐based electrical bioimpedance spectrometer. Towards textile‐enabled applications. Engineering in Medicine and Biology Society, EMBC, 2011 Annual International Conference of the IEEE. 2011. 8. Ivorra, Antoni. Bioimpedance monitoring for physicians: an overview. Centre Nacional de Microelectrònica Biomedical Applications Group, 2003. 9. Fluid and Electrolyte Balance. http://www.elmhurst.edu/~chm/vchembook/250fluidbal.html, 2014‐09‐20. 10. Schwan, P.H. Electrical properties of tissue and cell suspensions. Adv Biol Med Phys. 1957, Vol. 5, pp. 147‐209. 11. Schwan, P.H.. Electrical properties of tissues and cell suspensions: mechanisms and models. Engineering in Medicine and Biology Society, 1994. Engineering Advances: New Opportunities for Biomedical Engineers. Proceedings of the 16th Annual International Conference of the IEEE. 1994. 12. Mohamadou, Y., et al, Performance evaluation of wideband bio‐impedance spectroscopy using constant voltage source and constant current source. Measurement Science and Technology. 2012, Vol. 23. 13. Grimnes, Sverre and Martinsen, Orjan Grottem, Bioimpedance & Bioelectricity Basics. 2. Elsevier, 2008. 14. Kinouchi, Y. , Iritani, T., Morimoto, T. and Ohyama, S., Fast in vivo measurements of local tissue impedances using needle electrodes. Medical and Biological Engineering and Computing. 1997, Vol. 35, pp. 486‐492. 15. Ivorra, A., BIOIMPEDANCE PROBES. 2005. http://www.tdx.cat/bitstream/handle/10803/6333/04Aic04de11.pdf;jsessionid=16471548DC9BDB
0CC249F836EFEB61CE.tdx1?sequence=4. 2014‐12‐30. 16. Pallas‐Areny, R., and Webster, J. G., AC instrumentation amplifier for bioimpedance measurements. IEEE Transactions on Biomedical Engineering. 1993, Vol. 40, pp. 830‐833. 17. Seoane, Fernando, et al, Current source design for electrical bioimpedance spectroscopy. Electrical Bioimpedance Cerebral Monitoring: Fundamental Steps towards Clinical Application. 2007. 18. Analog Devices. Fundamentals of Direct Digital Synthesis (DDS). http://www.analog.com/media/en/training‐seminars/tutorials/MT‐085.pdf. 2014‐12‐30. 19. Bouchaala, Dhouha, et al. Comparative study of voltage controlled current sources for biompedance measurements. 2012‐9th International Multi‐Conference on Systems, Signals and Devices. 2012. 20. Pallas‐Areny, R., Bioelectric impedance measurements using synchronous sampling. Biomedical Engineering, IEEE. 1993, Vol. 40. 21. Yang, Yuxiang, et al, Design and preliminary evaluation of a portable device for the measurement of bioimpedance spectroscopy. Physiological measurement. 2006, Vol. 27, pp. 1293‐1310. 22. Steendijk, P., Mur, G., Van Der Velde, E.T. and Baan, J., The four‐electrode resistivity technique in anisotropic media: theoretical analysis and application on myocardial tissue in vivo. Biomedical Engineering, IEEE. 1993, Vol. 40, pp. 1138‐1148. 23. Wikipedia. I²C. http://en.wikipedia.org/wiki/I%C2%B2C. 2014‐12‐30. 24. Wikipedia. Serial Peripheral Interface Bus. http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus. 2014‐12‐30. 25. Arduino Uno. http://arduino.cc/en/Main/ArduinoBoardUno. 2014‐12‐30. 26. Download the Arduino Software. http://arduino.cc/en/main/software. 2014‐12‐30. 27. Microchip Technology Inc. MCP4725 12‐Bit Digital‐to‐Analog Converter with EEPROM Memory . 2007. 28. Atmel. ATmega48A/PA/88A/PA/168A/PA/328/P [DATASHEET] . 2013. 29. Wire Library. http://arduino.cc/en/Reference/Wire. 2014‐12‐29. 30. Seoane, F., Bragós, R. and Lindecrantz, K., Current source for multifrequency broadband electrical bioimpedance spectroscopy systems. A novel approach. Engineering in Medicine and Biology Society, 2006. EMBSʹ06. 28th Annual International Conference of the IEEE. 2006. 31. Analog Devices. AD844 datasheet. http://www.analog.com/static/imported‐
files/data_sheets/AD844.pdf. 2009. 32. Li, Zhangyong, et al, Study of Voltage Control Current Source in Electrical. Bioinformatics and Biomedical Engineering (iCBBE), 2010 4th International Conference on. 2010. 33. Bertemes‐Filho, P., Brown, B. H. and Wilson, A. J., A comparison of modified Howland circuits as current. Physiological measurement. 2000, Vol. 21. 34. Nawrath, Martin. Arduino Realtime Audio Processing. http://interface.khm.de/index.php/lab/interfaces‐advanced/arduino‐realtime‐audio‐processing/. 2014‐12‐30. 35. Microchip Technology Inc. MCP3004/3008 2.7V 4‐Channel/8‐Channel 10‐Bit A/D Converters. 2008. 36. A Brief Introduction to the Serial Peripheral Interface (SPI). http://arduino.cc/en/Reference/SPI. 2014‐12‐30. 37. MathWorks Classroom Resources Team. MATLAB Support for Arduino (aka ArduinoIO Package). http://se.mathworks.com/matlabcentral/fileexchange/32374‐matlab‐support‐for‐
arduino‐‐aka‐arduinoio‐package‐. 2014‐09‐05. 38. MathWorks. Simulink Support Package for Arduino Hardware. http://se.mathworks.com/help/supportpkg/arduino/index.html. 2014‐12‐30. 39. MathWorks. Open Block Library for Arduino Hardware. http://se.mathworks.com/help/supportpkg/arduino/ug/open‐block‐library‐for‐arduino‐
hardware.html. 2014‐12‐30. 40. MathWorks. MATLAB GUI. http://se.mathworks.com/discovery/matlab‐gui.html. 2014‐12‐
30. 36
APPENDIX A: Schematic of VCCS APPENDIX B: PCB layout 38
TRITA 2015:013
www.kth.se
Download