Download - project1_final_paper
-
8/7/2019 project1_final_paper
1/28
Heart Rate Monitor and Data Acquisition System
By
Bill LeeceSofoklis Nikiforos
ECE 345Section G
TA: Ajay PatelAugust 2, 1999
Project # 1
-
8/7/2019 project1_final_paper
2/28
ABSTRACT
The heart rate monitor consists of biopotential electrodes that are placed on the patient. Body
fluids conduct electrical signals from the surface of the heart to the electrodes. Measurements are taken
as the difference between two electrodes, while a third electrode is used as a reference. The ECG
amplifier circuit then amplifies the signal and sends the information to a PC (via a data acquisition
circuit). The information is then analyzed and processed by a LabVIEW program. The user-friendly
interface allows for the cardiologist to analyze the patients electrocardiogram. The LabVIEW program
goes beyond that of a regular ECG in that it provides information such as heart rate, caloric expenditure,
and minimum and maximum target heart rates for optimal calorie burning.
ii
-
8/7/2019 project1_final_paper
3/28
TABLE OF CONTENTS
1. INTRODUCTION..1
2. DESIGN PROCEDURE.4
2.1 Electrode Theory...4
2.2 Hardware Design Procedure.5
2.3 Software Design Procedure..9
2.4 NI-DAQ Data Acquisition Board...10
3. DESIGN DETAILS..11
3.1 ECG Design Details...11
3.2 LabVIEW Design Details...13
3.2.1 HRM Front Panel VI...13
3.2.2 ECG Calorie Counter VI.13
3.2.3 Timing Circuit2 VI.14
3.2.4 Counter VI..15
4. DESIGN VERIFICATION...17
4.1 Hardware Design Verification17
4.2 Software Design Verification.17
5. COST Analysis.19
6. CONCLUSION.20
7. Appendix...22
8. REFERENCES.23
iii
-
8/7/2019 project1_final_paper
4/28
iv
-
8/7/2019 project1_final_paper
5/28
-
8/7/2019 project1_final_paper
6/28
-
8/7/2019 project1_final_paper
7/28
The fourth and final stage of the system is the software implementation, using the NI-DAQ board
and LabVIEW software. The NI-DAQ sends data from the ECG amplifier to a PC. The LabVIEW
software is then able to process this data. VIs (virtual instruments) are graphical programs that are
implemented to graph the data, and to process it (to make calculations for heart rate and caloric
expenditure ). The front panel of a LabVIEW program is a GUI that takes user profile inputs and uses
this data for calculations.
3
-
8/7/2019 project1_final_paper
8/28
DESIGN PROCEDURE
Electrode Theory
An interface is necessary between the body and the electronic measuring device when recording
potentials and currents in the body. Biopotential electrodes produce small voltages directly related to
the changing electric field produced by a beating heart.. The Ag/AgCl electrode is a practical electrode
that approaches the characteristics of a perfectly nonpolarizable electrode. Perfectly nonpolarizable
refers to the freedom of ions to pass through the electrode-electrolyte interface to be transduced into an
electrical current. The electrode converts the ionic current produced by the body into a voltage, and the
ECG amplifies this voltage.
The electrode-electrolyte interface is the junction where the ionic transfer occurs. A temporary
current is induced in the electrode from the changing electric field of the beating heart. This current
causes electrons and anions to move across the electrode-electrolyte interface in the direction opposite to
the flow of the current, and for cations to migrate across this interface in the direction of the current.
This temporary separation of charge produces a temporary potential. This potential is created from a
current induced from the heart and is thus directly related to the changing electric field produced by a
beating heart. The ECG circuit hugely amplifies the potential, and the output gives the electric
characteristics of a beating heart.
Another sensor that was considered was the piezoelectric sensor. Piezoelectric materials
generate an electric potential when mechanically strained. During a heart beat, the pressure in the blood
vessels is higher than when the heart is in its resting stage. This higher blood pressure causes a physical
deformation in the skin, and thus a piezoelectric sensor can produce an electic potential during every
heartbeat. The principal reason why the piezeoelectric sensor is less than ideal is that it is pressure
4
-
8/7/2019 project1_final_paper
9/28
sensitive. In order to pick up a signal the nurse or doctor would have to press the sensor hard against the
patient which could cause a permanent deformation of the piezoelectric material This information,
combined with the fact that hospitals across the nation use Silver/Silver Chloride sensors, made it
obvious that the silver-silver chloride sensors were the best to use for this project.
Hardware Design Procedure
The hardware design for this project consisted of building an electrocardiograph (ECG) amplifier
circuit. The Silver/Silver Chloride electrodes produce induced voltage signals from the heart and the
ECG circuit amplifies and filters these signals. Furthermore, the ECG circuit should be able to correctly
amplify signals from a patient, even though the patient might not be grounded due to displacement
currents flowing to and from their body.
The ECG circuit has a number of component parameters that must be met in order for it to
operate effectively. First, an important factor for amplifiers is that the first stage (the preamplifier) must
have high input impedance and low input bias current. High input impedance is necessary in an
amplifier circuit to minimize loading effects. Loading occurs when the gain of the second stage of an
amplifier affects the gain of the preamplifier. A low input impedance can cause loading, thereby
affecting the characteristics of biopotential electrodes. This loading can result in a distortion of the
output signal.
Another factor that can cause the distortion of the output signal is the input bias current of the
op-amps. Input bias current is the amount of current that flows into the op-amp. Ideally, the input bias
current is zero, but in practice there is always a small input bias current. Low resistance between the op-
amp inputs compared to the feedback resistance can cause bias currents, so large resistors are placed
between op-amp inputs to minimize this current. Furthermore, the input bias current of the 741 op-amp
was found to be significantly higher (800 nA) when compared to the 411 op-amp (200 pA).
5
-
8/7/2019 project1_final_paper
10/28
For this reason, 411 op-amps were used in the ECG circuit instead of the more traditional 741 op-amps.
Another important characteristic of the ECG amplifier circuit is that it must have a high gain
since biopotentials are usually on the order of millivolts. These signals must be amplified to a degree
such that they are capable of being effectively displayed on recording devices. This means that the
signals will have to have a magnitude on the order of volts, so gains of approximately 1000 are need for
the ECG circuit.
Finally, the ECG circuit must have the ability to filter out low and high frequency noise. Since
biopotentials signals from the heart are in the range of 0.05-150 Hz, the final stage of the ECG amplifier
should contain a bandpass filter suited to pass these frequencies but to cut off all others. This frequency
response can be achieved by adjusting resistor and capacitor values in the third stage of the amplifier
according to the equation (1) below:
fc = (2 RC)-1 (1)
The design of the ECG amplifier was modeled after the amplifier presented in Medical
Instrumentation by John G. Webster [3] (see figure 2.1)
Figure 2.1 ECG Amplifier
6
-
8/7/2019 project1_final_paper
11/28
-
8/7/2019 project1_final_paper
12/28
The overall gain of the ECG circuit can be calculated by multiplying the gain of each individual
stage of the ECG circuit.
The differential gain of the voltage followers (first stage) of the ECG circuit is:
Gd = (Vo1 Vo2) / (V1 V2) = (R1 + R2 + R3) / R2 (2)
The gain of the differential amplifier (stage 2) is:
Gd = R5 / R4 (3)
The frequency response of the high pass filter is:
Vout(j )= Vin (ZR / ZR+ ZC) = Vo3 (j C1R8 / j C1R8 +1)
(4)
This RC combination is a high pass filter since:
lim 0 (Vout) = 0
lim (Vout) = Vo3
The gain of the bandpass filter (final stage) is:
Gf(j ) = (R11 + j C2R10R11) / R10(j C2R11+1) (5)
This RC combination is a low pass filter since:
lim 0 (Vfinal) = Vo3(R11/R10)
8
-
8/7/2019 project1_final_paper
13/28
lim (Vfinal) = Vo3
Thus we see that low frequency signals are amplified in the final stage, while high frequency
signal pass through without amplification. The results of these equations (calculated by hand) were
verified by PSPICE.
Software Design Procedure:
The software tool implemented for data acquisition is LabVIEW. LabVIEW was selected
instead of HPVEE because LabVIEW is a very versatile programming language that is based on C.
LabVIEW is a graphical programming language specially suited for data acquisition applications
because it contains libraries for DAQ card data acquisition, as well as for serial port and GPIB. The
LabVIEW programming language was also selected because it is very easy to debug due to the fact that
is a graphical (as opposed to text) programming language, and the programmer can actually watch data
flow through the LabVIEW software circuit and see where any programming inconsistencies might
lie. Finally, one of the authors is very familiar with LabVIEW, thus making it the logical choice for
data acquisition software.
The first version of the LabVIEW data acquisition program used the AI Sample Channel VI from
the National Instruments Analog Input Data Acquisition Library. After some testing it was discovered
that this was an inefficient data acquisition program since it would only acquire new data from the DAQ
once all the software functions in the data acquisition program had been completed. Since it takes a
finite amount of time for the software to run for each loop, it was discovered that using the AI Sample
Channel VI only allowed for data acquisition at a rate of about 30 samples/sec. Since the bandwidth of a
QRS complex is about 35 Hz, sampling at least 70 Hz was necessary to recover this complex, and
sampling at 242.6 Hz was necessary to prevent any type of aliasing in the 1.06 Hz 121.3 Hz passband.
For this reason, the AI Read VI was selected for data acquisition since when used in conjunction with
9
-
8/7/2019 project1_final_paper
14/28
the AI Config VI and the AI Clear VI, circular buffers could be set in memory that would allow the AI
Read VI to continuously acquire data. Thus data can be obtained without waiting for other software
operations to complete since new data could be written to the circular buffers in memory even if the
software is at a bottleneck. As such, the sampling rate can be easily set to 242.6 Hz (it is actually set to
256 Hz) and there is no aliasing of the output.
NI-DAQ Data Acquisition Board
A NI-DAQ AT-MIO-16 board is a 16-bit data acquisition device that is used as an interface
between the hardware ECG amplifier and the LabVIEW software that runs on a personal computer. The
NI-DAQ board allows analog input data to be written to the LabVIEW software. The only input channe
utilized was analog input channel 0. The figure .2.2 shown below is the pinout of the AT-MIO-16.
Figure 2.2 AT-MIO-16 Pinout10
-
8/7/2019 project1_final_paper
15/28
DESIGN DETAILS
ECG Design Details
The ECG was designed so that it would pass frequencies from 1 Hz - 125 Hz. In order to obtain
a bandpass filter with these characteristics, the actual values for the resistors and capacitors were
obtained and are listed in the high-pass characteristics listed in table 3.1, and low-pass filter
characteristic listed in table 3.2, using equation (1). As previously mentioned, the actual frequency
cutoff differs from the theoretical values due to the fact that resistors and capacitors are non-ideal and
may vary slightly from their listed values.
Table 3-1 Low-pass filter data
R11 C2 Time Constant Frequency
159.9 k 8200 pF 1.3 s 129.34 Hz
Table 3-2 High-pass filter data
R8 C1 Time Constant Frequency
147.6 k 0.9445 F .139 s 1.14 Hz
Furthermore the final gain of the ECG amplifier was set to 1815.34 thus enabling the ECG
circuit to amplify biopotential signals on the millivolt range to the volt range. The gain of stage one
was 12.13 obtained by using equation (2). The differential amplifier (stage two) had a gain set to 4.73
as calculated from equation (3). Finally, the gain of the bandpass filter (stage three, power amplifier)
11
-
8/7/2019 project1_final_paper
16/28
was found to be 31.63 verified from equation (5) and the fact that the gain equation for the bandpass
filter reduces to Gf(j ) = R11/ R10 at low frequencies.
Finally, the CMRR of the differential amplifier was maximized by setting R5 to 47 k. This
value for R5 that maximizes the CMRR was experimentally determined using the equation CMRR = Gd /
Gc where Gd is the differential gain and Gc is the common mode gain. A variable resistor was used to
determine the value that minimized Gc and therefore maximized the CMRR. The value for R5 that
caused Gc to be minimized was 47 k. Figure 3.1 shows the output of the difference amplifier of the
Webster circuit with the inputs having a common voltage (1 V p-p sine wave).
Figure 3.1 Common-mode Rejection Ratio
The differential gain Gd = 25.352 and the common-mode gain Gc = 151.54 E-6. The common-mode
rejection ratio is simply CMRR = Gd /Gc = 1.673 E5 (a high-quality biopotential amplifier should have a
CMRR at least 10,000). In terms of decibels, CMRR(dB) = 104.47.
12
-
8/7/2019 project1_final_paper
17/28
LabVIEW Design Details
LabVIEW is a hierarchical programming language where the highest level Virtual Instruments
(called VIs) calls lower level VIs (referred to as subVIs). In order to view the LabVIEW programs used
for this project, access the project web page where the programs have been posted.
HRM Front Panel VI
The highest level VI is the HRM Front Panel VI. The user enters their age, weight, and resting
heart rate on the front panel of this VI. The user then presses Continue, which liberates the age,
weight, and resting heart rate data from the While Loop on the left, allowing to travel into the While
Loop on the right. At this point a message appears on the front panel informing the user of their
minimum and maximum target heart rate for maximum calorie burning. Once the user presses OK on
the message box, the age and weight information is liberated from the right While Loop and it flows
into the ECG Calorie Counter VI.
ECG Calorie Counter VI
The ECG Calorie Counter VI performs three functions. First, it performs real time graphing of
ECG data. Secondly, it is able to count the rising edges of a QRS complex from the heart. Finally, this
VI can also tell time, and is thus able to divide the number of heartbeats (found from the rising edge
detector) by the time that the program has been running. This results in data that can be scaled to give a
value for a patients heartbeats per minute. A final trivial point is that this VI can take age, weight, and
BPM data to give information on caloric expenditure.
The ECG Calorie Counter VI is able to display ECG information by continuously acquiring data
from the DAQ. Once the hardware has been configured and a buffer set by the AI Config. VI and the AI
13
-
8/7/2019 project1_final_paper
18/28
Start VI begins the buffered analog input information, the AI Read VI can read the buffered
input data. The output of the AI Read VI is a 2-dimension array of data that is graphed on a strip chart
in real time. Once the data acquisition process is complete, the AI Clear VI stops the data acquisition
and releases associated internal resources such as buffers.
Since the data acquisition process is faster than the software, the circular buffer is set in memory
so that data can be written to the buffer while the graphing process is executing. This way, data can be
acquired at the fastest possible rate, and thus no data is lost. For this program, the sampling rate was set
to 256 samples/sec. and the buffer size was set to 512. As a general rule, the buffer had to be about
twice the sampling rate in order for there to be no overflow.
As stated earlier, the ECG Calorie Counter VI also is able to keep time with the help of the
Timing Circuit2 VI. This VI makes use of the Tick Count (ms) function, which returns relative time
values in the software circuit. Thus the Tick Count function in the outermost While Loop can not tell
time, but the relative time difference between when it first executes and when the Tick Count function in
the inner While Loop allows differential time calculations to occur. Once data enters the outer While
Loop, its Tick Count is set, and the Tick Count value on the inner While Loop decrements with each
iteration of the While Loop. This gives a convenient measure of the time it takes for the inner While
Loop to execute. Once data exits the inner While Loop (this will occur whenever its Boolean Control
evaluates to false), the Tick Count of the outer While Loop will be initialized to a new value.
Timing Circuit2 VI
The Timing Circuit2 VI is able to keep the program on time but multiplying the total scan time
(which is determined by dividing the number of samples by the sampling rate) by the result the iteration
number divided by the number of points in a scan. This value is referred to as the goal time. The goal
14
-
8/7/2019 project1_final_paper
19/28
time is then compared to the differential time determined by the Tick Count functions. If the program
is ahead of schedule, it will slow down by the amount that the program is ahead of schedule. If the
program is behind schedule, the amount of time that it is behind schedule can be added to the goal time
to give an apparent time that is correct. Thus, whether the scan parameters are difficult for the
program to meet or if they are easily met, the output apparent time will always be correct, even if the
program is unable to keep up. This allows the ECG Calorie Counter VI to calculate the heart rate in
beats per minute regardless of the fact that there may be certain experimental parameters that do not
allow the program to meet its time goals.
Counter VI
The Counter VI counts rising edges of the QRS complex to give beat count information needed
for BPM calculations. The Counter VI is able to effectively count noisy data by determining if the
average of a variable number of data points in an array are above a threshold voltage set for counting,
and if the average of the same number of previous data points is below this threshold. It was
experimentally determined that the maximum number of data points that could be averaged for counting
that wouldnt give erroneous results was:
2[log2(number of data points)] 1 (6)
It isnt surprising that more data points can be used in averaging if there are more data points in a scan
since the ECG Calorie Counter VI samples the data that is sent to the strip chart. The data is a sampled
set of data of data that is a sampled from the output of the ECG circuit (at 256 Hz), so in effect, it is
sampled twice. With more data points, there is higher resolution in the sampled data, and thus more data
points can be looked at for threshold detection. If the number of data points to be looked at for threshold
detection is too high, then the criteria for counting will never be meet, and the heart beat counter will
always be zero.
15
-
8/7/2019 project1_final_paper
20/28
One further criterion for counting is that heartbeats should only be counted after a FALSE
TRUE transition. This is due to the fact that it is possible for the average of a certain number of points
is above the threshold level and the same number of previous points is below the threshold formultiple
interations of the While Loop. Thus, as shown in the Counter VI Diagram, heart beats will only be
counted when the threshold criteria has been meet and there is a FALSE TRUE transition on
threshold detection output.
One question that still needs to be answered is why setting a finite number of points for array
operations is even necessary. The answer to this quesition is that if a very large number of array points
was set (100,000 for instance), and the outer While Loop of the ECG Calorie Counter VI was removed,
the VI would execute very slowly because it has a difficult time handling large numbers for array
operations. Furthermore, the program would have a finite run time before it would fail. In other words,
once all the array slots were filled, the program would no longer be able to count. Now the reason for
even having the outer While Loop becomes evident. With it, the programmer is able to set array sizes
that LabVIEW can easily handle (the default for the program is 2048 points) and these arrays reinitialize
every time the While Loop executes as many times as there are array points. Thus the advantage of this
system is that it allows for counting of rising edges of the QRS complex (since array data is needed to
look at past data and thus to assure the proper counting of heart beats) without slowing down the
software, and it also has the advantage that it can run indefinately.
One final point to mention about the ECG Calorie Counter VI is that the heart rate display in
BPM is the average of the BPM value over 256 iterations of the inner While Loop. This is done so that
the BPM output is readable since it may change on each While Loop iteration. When this happens the
output data appears to flicker on the screen since its value is changing every few milliseconds. With the
16
-
8/7/2019 project1_final_paper
21/28
array averaging algorithm in place, the BPM output can only change every few seconds, making it much
easier to read.
DESIGN VERIFICATION
Hardware Design Verification
Due to the fact that the license for PSPICE expired on Aug. 1st, it is impossible to access pictures
of the final ECG circuit and of the frequency response. Hardcopies of this data will be provided to the
TAs. From the Bode plot, it is simple to see that the gain of the ECG circuit is approximately 2,000
since a 1 V sine wave was applied as the input and the output magnitude peaks at approximately 2,000
V. Furthermore, from the Bode plot one can see that cutoff frequencies are at approximately1 Hz and
125 Hz. The calculated frequency responses and gains for each of the biopotential amplifiers that are
required according to their respective physiological input signals were given in chapter 2.2. Bode plots
were found to verify the instrumentation amplifier characteristics.
Software Design Verification
After each major section of the software was completed, a patient was connected to the ECG
amplifier to see if the components funtioned properly. The first component of the software to be
completed was the real time graphing of the ECG data. As previously mentioned, when the first version
of this program was tested, it was discovered that software bottlenecks only allowed for sampling at 30
Hz, so the output was highly distored. This problem was solved, as explained earlier, by use of circular
buffers and the AI Read VI.
The next major software component to be tested was the timing circuit. The timing circuit was
tested by running the program and a stopwatch simulaneaously and comparing the output of the two
17
-
8/7/2019 project1_final_paper
22/28
timing devices after several minutes. The timing circuit was acurate to a value less than the human
error involved in trying to push two buttons simulaneously.
The final major software component to be tested was the counter. The counter was tested by
determining if it could correctly count noisy low frequency that a human would also be able to count.
The count value that was obtained by the human counter was then compared to the value calculated by
the Counter VI, and it was determined that this VI was able to accurately count noisy low frequency
noise like heart beats.
The final software test was to see if the LabVIEW program could count pulses and
simultaneously keep time. This was done by applying low frequency sine waves that were not properly
grounded to the DAQ. The sine wave was purposely grounded improperly to simulate the type of noisy
ECG data that the LabVIEW program would encounter. Furthermore, once patients were hooked up to
the ECG circuit, their heart rate in BPM was determined manually and compared to the results from
LabVIEW. The LabVIEW results compared very well with those determined manually. Due to
space restrictions for this report, the LabVIEW code could not be included here. It has been uploaded to
the project web site, so the LabVIEW programs can be viewed from there.
18
-
8/7/2019 project1_final_paper
23/28
COST ANALYSIS
The prototype cost analysis takes into account the price of the product we intend to market. Since it is
the prototype, the costs will be decrease due to mass production efficiencies. Some parts, such as the
disposable electrodes ( 3M Red dot) and software (LabVIEW) were donated, but the costs were stil
figured in the prototype cost. The cost of the case of electrodes is estimated to be about $45 based on
market value price.
Labor
Typical EE entry salary $50,000/year * 1year/240 days * 1 day/8 hours = $26/hour
$26/hour x 2.5 x 120 hours = $7,800 (per person)
Total Labor $15,600
Parts
3M Red Dot Electrodes $ 45
Case (chassis) $ 10
Printed circuit board $ 100
411 Op amps,Resistors,
capacitors, leads, etc. $ 15
LabVIEW Software $ 995
NI - DAQ $ 795
________________
Total Parts $1,960
Grand Total = Total Labor + Total parts = $17,560
19
-
8/7/2019 project1_final_paper
24/28
CONCLUSION
The ECG Calorie Counter device was successfully developed. The ECG amplifier circuit was
able to amplify and filter a biopotential signal to make it suitable for display on LabVIEW while
preventing loading and protecting the patient from macroshock. Interface between the ECG hardware
and the LabVIEW software was successfully achieved by an AT-MIO-16 data acquisition card. The
LabVIEW program is able to sucessfully determine the frequency of a signal and convert that number
into beats per minute. This ability was successfully demonstrated when the LabVIEW program was able
to convert the frequency of input sine waves to cycles per minute by using the counting and timing
algorithm. Because LabVIEW was able to correctly count and time input data of a known frequency, it
can be assumed that it is also able to determine the beats per minute of a heart. Furthermore, BPM data
obtained with LabVIEW supported heart rate values obtained manually. Finally, the calorie counter was
able to sucessfully determine calories burned per hour and total calories burned through a simple
algorithm that calculated caloric expenditure as a function of age, weight, and heart rate.
The best way to test our projects accuracy would have been to buy a cheap heart rate monitor
(such as one that comes on a watch) and to have compared the BPM data from this heart rate monitor to
the one that was constructed for this Senior Design project. Furthermore, although the output signal
from the ECG had very little noise due to the extra care taken to minimize noise, an even cleaner signal
could have been obtained in the ECG circuit was implemented on a PC board and enclosed in a Faraday
box.
If there had been more time avaliable to work on this project, a hardware version of the
LabVIEW program would have been a nice addition. Using a 555 timer circuit and modulo-6 and
modulo-10 counters would have allowed for heart rate display (in BPM) on an LED display. It would
20
-
8/7/2019 project1_final_paper
25/28
have been interesting to see if the hardware output would have agreed with the software output, and this
addition would have given the authors some extra experinece in digital design.
21
-
8/7/2019 project1_final_paper
26/28
APPENDIX A. TOLERANCE ANALYSIS
Thebandpass filter of the ECG amplifier in the final circuit had values as follows: R11 = 159.9 k , R10
= 4.666 k , R8 =R9 =147.6 k , C1 = 0.9445 F, C2 = 7695 pF
Figure 7.1 Bandpass Filter
Figure 7.1 above shows the schematic of the bandpass filter (not labeled accordingly). The
resistor R11 was found that this gives a cutoff at 121.3 Hz. The PSPICE simulations were done to prove
experimental work. The acceptable values for the upper frequency are 100 Hz 150 Hz. Solving these
boundary conditions we see that the acceptable range for R11 are from 137.89 k to 206.8 k . The
acceptable range for our high pass cutoff will be met as long as R11 = 159.9 k 1.16%.
Making the potentiometer R5 to 47 k solved the common-mode voltage problem discussed in the
design details. The SPICE simulations on the next page (figure 7.2) show that the acceptable range
before poor noise occurs is 47 k 5 %. The 5% variation will be in the acceptable range of CMRR
22
-
8/7/2019 project1_final_paper
27/28
Figure 7.2 PSPICE Simulations of Common-mode voltages
23
-
8/7/2019 project1_final_paper
28/28
References
[1] Health Resource Center at the McKinley Health Center, University of Illinois at Urbana-Champaign, Determining Your Target Heart Rate Range, 1995,http://www.uiuc.edu/departments/mckinley/health-info/fitness/exercise/targ-hea.html .
[2] National Instruments, LabVIEW User Manual, National Instruments Corporation, 1996.
[3] Webster, John G., Medical Instrumentation: Application and Design. 3rd Ed. Philadelphia: W.B.Saunders Company, 1998.
http://www.uiuc.edu/departments/mckinley/health-info/fitness/exercise/targ-hea.htmlhttp://www.uiuc.edu/departments/mckinley/health-info/fitness/exercise/targ-hea.html