Calibration of a Human Brachial Artery System Prototype Controller

9
International Electrical Engineering Journal (IEEJ) Vol. 2 (2011) No. 3, pp. 571-580 ISSN 2078-2365 571 AbstractIn this paper, controller for a human brachial artery system prototype has been devised with respect to a dynamic model. Operational procedure of the designed prototype has been pointed out. A linear model has been taken in the consideration. Major structural components (pump and shaker) have been treated autonomously during preliminary analysis. Ziegler - Nichols tuning methods, Tyreus-Luyben tuning technique and pole placement scheme have been utilized to determine the suitable controller parameters. At the concluding stage of analysis, the computed values are combined to denote the overall response of the system. System has been tested with typical test inputs: step, ramp and sine functions. Obtained simulation results signify the correctness of the completed tasks. Index TermsArterial Stiffness, Dynamic Model, PID Controller, Simulation Model I. INTRODUCTION Cardiovascular disease involves heart and/or blood vessels. This is the leading cause of morbidity and mortality in many developed and developing countries of the world [1]. Studies have proved that cardiovascular diseases cause a heavy burden on society in terms of disability, illness and financial cost. By the time cardiovascular diseases are detected using existing technologies such as magnetic resonance imaging, angiography, ultrasound, X-ray computed tomography and pulse wave velocity measurement, the underlying cause (atherosclerosis) is usually in a complicated stage [2]. Major constraints such as excessive cost, inaccuracy and necessity of large equipments also exist for available detection technologies. Thus, a large portion of cardiovascular patients is currently undiagnosed, misdiagnosed or mistreated. A local biomedical engineering company has recently developed an inexpensive, precise and user-friendly device to detect arterial S. Kabir graduated at AUT (Auckland University of Technology), Auckland, New Zealand, with B.E (Honors), (e-mail: [email protected]) N. Popovich, M.Sc. (Eng) is a Senior Lecturer at AUT (Auckland University of Technology), Auckland, New Zealand (e-mail: [email protected]). stiffness. Quality, consistency and performance are the three most significant features of this device. This developed device differs from currently available innovations as it focuses on the complete engineering process in an innovative manner. To verify the legitimacy of the formulated detection process, a significance of fabrication of human brachial artery system prototype is the paramount. Section II of this paper presents information of designed prototype [3]. Section III presents details of utilized controller design and tuning technologies with verification strategies with respect to a dynamic model. The conclusion fragment summarizes key findings. II. DESIGN OF PROTOTYPE After performing comprehensive theoretical research, numerical modeling and experimentations, prototype model illustrated in Fig. 1 was devised in this paper. Fig 1. Figure of the formulated prototype In the designed prototype, a pump was incorporated to lift fluid from the reservoir. The pump also supplied the required base pressure. The flow rate and performance characteristics of the pump were directed by voltage variations. Afterwards, a closed tank was integrated to store fluid before directing to the tested brachial artery. The tank removed fluctuations generated by the pump. Subsequently, a shaker provided the Calibration of a Human Brachial Artery System Prototype Controller (Dynamic Model) Shahariar Kabir, Nenad Popovich

Transcript of Calibration of a Human Brachial Artery System Prototype Controller

International Electrical Engineering Journal (IEEJ)

Vol. 2 (2011) No. 3, pp. 571-580

ISSN 2078-2365

571

Abstract—In this paper, controller for a human brachial

artery system prototype has been devised with respect to a

dynamic model. Operational procedure of the designed

prototype has been pointed out. A linear model has been taken in

the consideration. Major structural components (pump and

shaker) have been treated autonomously during preliminary

analysis. Ziegler - Nichols tuning methods, Tyreus-Luyben

tuning technique and pole placement scheme have been utilized

to determine the suitable controller parameters. At the

concluding stage of analysis, the computed values are combined

to denote the overall response of the system. System has been

tested with typical test inputs: step, ramp and sine functions.

Obtained simulation results signify the correctness of the

completed tasks.

Index Terms—Arterial Stiffness, Dynamic Model, PID

Controller, Simulation Model

I. INTRODUCTION

Cardiovascular disease involves heart and/or blood vessels.

This is the leading cause of morbidity and mortality in many

developed and developing countries of the world [1]. Studies

have proved that cardiovascular diseases cause a heavy

burden on society in terms of disability, illness and financial

cost. By the time cardiovascular diseases are detected using

existing technologies such as magnetic resonance imaging,

angiography, ultrasound, X-ray computed tomography and

pulse wave velocity measurement, the underlying cause

(atherosclerosis) is usually in a complicated stage [2]. Major

constraints such as excessive cost, inaccuracy and necessity of

large equipments also exist for available detection

technologies. Thus, a large portion of cardiovascular patients

is currently undiagnosed, misdiagnosed or mistreated. A local

biomedical engineering company has recently developed an

inexpensive, precise and user-friendly device to detect arterial

S. Kabir graduated at AUT (Auckland University of Technology),

Auckland, New Zealand, with B.E (Honors), (e-mail:

[email protected])

N. Popovich, M.Sc. (Eng) is a Senior Lecturer at AUT (Auckland

University of Technology), Auckland, New Zealand (e-mail:

[email protected]).

stiffness. Quality, consistency and performance are the three

most significant features of this device. This developed

device differs from currently available innovations as it

focuses on the complete engineering process in an innovative

manner. To verify the legitimacy of the formulated detection

process, a significance of fabrication of human brachial artery

system prototype is the paramount.

Section II of this paper presents information of designed

prototype [3]. Section III presents details of utilized controller

design and tuning technologies with verification strategies

with respect to a dynamic model. The conclusion fragment

summarizes key findings.

II. DESIGN OF PROTOTYPE

After performing comprehensive theoretical research,

numerical modeling and experimentations, prototype model

illustrated in Fig. 1 was devised in this paper.

Fig 1. Figure of the formulated prototype

In the designed prototype, a pump was incorporated to lift

fluid from the reservoir. The pump also supplied the required

base pressure. The flow rate and performance characteristics

of the pump were directed by voltage variations. Afterwards,

a closed tank was integrated to store fluid before directing to

the tested brachial artery. The tank removed fluctuations

generated by the pump. Subsequently, a shaker provided the

Calibration of a Human Brachial Artery System

Prototype Controller (Dynamic Model)

Shahariar Kabir, Nenad Popovich

Shahariar and Nenad , Calibration of a Human Brachial Artery System Prototype Controller (Dynamic Model)

572 | P a g e

obligatory fluctuations on the peak of the base pressure. The

characteristics of the shaker were also regulated by voltage

variations. The pressure sensor was incorporated in the

network to monitor accessible pressure level. The information

was sent to multiple controllers built in LabVIEW Software

where the difference between the required pressure and the

available pressure was analyzed [4-8]. Then based upon the

analysis results, feedback signals were directed to the pump

and the shaker via data acquisition cards and electronic

amplifiers [9-15].

The design was finalized after extensive experiments as

this was relatively uncomplicated, consistent and reasonably

priced with precise components. Also, there was no room for

human errors as the complete operational process was

automatic.

III. FINE TUNING OF CONTROLLER PARAMETERS

The procedure of selecting the controller parameters to

analyze and control any physical process is known as

controller tuning [16-17]. A properly tuned controller offers

minimized energy cost, reduced process variability,

maximized efficiency and increased production rate.

In this paper, the following requirements were specified for

the prototype controller:

a. Minimum overshoot

b. Minimum settling time

c. Zero steady state error

P, I and D values for the PID

(Proportional-Integral-Derivative) controllers were identified

for a dynamic system. Thus, the investigation was performed

in a state where the relative positions of subsystems were

considered variant over time or where components and

structures were considered moving under the action of

external forces of equilibrium [18-20]. Since a linear system

was constructed, two prime mechanisms (pump and shaker)

were considered autonomously for the determinism of P, I and

D values. At the concluding stage, the calculated values were

united to identify the overall performance of the complete

system [21-24]. Thus, the following configurations were

analyzed:

(3.1) System with Pump and without Shaker

(3.2) System with Shaker and without Pump

(3.3) Complete System with Pump and Shaker

(3.1) System with Pump and without Shaker

A closed loop Simulink block diagram was created in this

section as shown in Fig. 2. In the designed Simulink diagram,

“Analog Filter” signified the low pass filter for pump.

Afterwards, “PID Controller” block showed the controller

used to control the attributes of the pump.

“Transfer Function for motor” represented the transfer

function of the motor section of the pump. Subsequently,

“Transfer Function for pump” signified the relationship that

was used to represent the rest of the pump. This segment

transferred the output speed from motor to the pressure output

from the pump. Next, “Transfer Function for tank”

corresponded to the tank that solved oscillation problem

created by the pump. “Gain for BA” characterized the tested

brachial artery and “Gain for sensor” symbolized the pressure

Fig 2. Simulink block diagram of the system with pump and without shaker

International Electrical Engineering Journal (IEEJ)

Vol. 2 (2011) No. 3, pp. 571-580

ISSN 2078-2365

573

sensor.

The following controller tuning methods were used in this

section:

(3.1.1) Ziegler – Nichols first tuning method

The Ziegler – Nichols tuning methods are heuristic

techniques for tuning PID controller [25]. The first tuning

method is an open loop technique, which means we needed to

define an open loop transfer function (OLTF) of the system in

the following form:

Afterwards, the open loop system was tested using a step

input and a tangent line was drawn at the inflection point of

the nearly “S-shaped” curve known as the reaction curve.

Then, a delay time L, as well as a time constant T, were

determined from the graph. This was also noted that the open

loop method or Ziegler – Nichols first tuning method

depended on the determination of the L and T constants in a

manual manner from the open loop transfer function graph of

the designed system. Thus, there were always some risks of a

human error.

Then the table depicted on Page 3 was utilized to find

parameters for P, PI and PID controllers:

TABLE I.

TABLE OF

ZIEGLER-N

ICHOLS

FIRST

TUNING

RULE [25]

Controller P

∞ 0

PI

0

PID

2L 0.5L

While using those calculated parameters, all responses

obtained from simulation analysis were unstable (note: for the

purpose of simplicity, responses are not shown in this paper).

So, this was concluded that satisfactory performance of the

system could not be reached using calculated parameter

values. This was also noted that the first tuning method was

only suitable for simple systems without any integrator or

dominant complex conjugate poles in open loop transfer

function [25]. Thus the cause of unsatisfactory behaviour

became evident.

(3.1.2) Tyreus-Luyben tuning method

To identify proportional, integral and derivative controller

values using Tyreus-Luyben tuning method, the closed loop

system depicted in Fig. 3 was designed incorporating open

loop transfer function (OLTF) obtained from previous

section.

Fig 3. Simulink block diagram with open loop transfer function

According to this method, only P controller had to be used

while setting derivative time constant as zero and integral

time constant as infinity. The gain in the PID controller block

was increased in steps of one-half the previous gain. The gain

Shahariar and Nenad , Calibration of a Human Brachial Artery System Prototype Controller (Dynamic Model)

574 | P a g e

was adjusted carefully to achieve sustain oscillation from the

system. The gain that caused sustained oscillation, as well as

the period of oscillation had to be recorded and used for

calculating controller’s parameters [25].

Then the following table was utilized to find parameters for

PI and PID controllers:

TABLE II. TABLE OF TYREUS-LUYBEN TUNING RULE [25]

Controller

PI

2.2 Pu

PID

2.2 Pu

The calculated controller parameter values are stated below:

TABLE III. TABLE OF CALCULATED CONTROLLER VALUES

Controller PI 78.125 6.82

PID 115 6.82 0.496

So, for the PI controller, the controller parameters were

defined as following:

= 78.125

= 11.45

For the calculated parameters, the response demonstrated

in Fig. 4 was obtained due to unit step input:

Fig 4. Response of the system with PI controller due to unit step input

For the PID controller, the calculated parameters are stated

below:

= 115

= 11.45

=57.04

For the calculated parameters, the response demonstrated

in Fig. 5 was obtained due to unit step input:

Fig 5. Response of the system with PID controller due to unit step input

As stated, minimum settling time and zero steady state

error were defined as two significant parameters of the

designed system. It became evident from the response graphs

for both PI and PID controllers that there was always error

present in the system. The output did not settle down within

acceptable period of time as well. So, the controller values

were neglected.

(3.1.3) Ziegler – Nichols second tuning method

To identify P, PI and PID controller values using

Ziegler-Nichols second tuning method, the gain that caused

sustained oscillation for the open loop transfer function, as

well as the period of oscillation determined in the previous

section were used. This was noted during analysis that the

tuning method allowed fluctuations in the process variable as

long as each successive peak was not more than the size of

one-fourth of its predecessor. Then parameter values were

determined and placed in table below [25]:

TABLE IV. TABLE OF CALCULATED CONTROLLER VALUES

Controller P 125 ∞ 0

PI 112.5 2.588

( =43.47)

0

PID 150 1.55

( =96.738)

0.3875

( =58.125)

The following response was obtained for P controller:

International Electrical Engineering Journal (IEEJ)

Vol. 2 (2011) No. 3, pp. 571-580

ISSN 2078-2365

575

Fig 6. Response of the system with P controller due to unit step input

This was evident from the response graph that there was

always error present in the system because the proportional

controller could not completely remove the steady state error.

However, there was no overshoot in the system and the output

settled down within a reasonable period of time as well.

The following response was obtained for PI controller:

Fig 7. Response of the system with PI controller due to unit step input

It was concluded from analysis that the steady state error

was cancelled by the integral component of the controller.

However, integral component added oscillation in the system

which increased the overshoot. Thus, the output took longer

to settle down.

The response demonstrated in Fig. 8 was obtained for PID

controller.

Fig 8. Response of the system with PID controller due to unit step input

Therefore, it was clear from the response graph that the

PID controller offered the best response in terms of

overshoot, settling time and steady state error for designed

system. The method also incorporated dynamics of the

complete process which provided a clear picture of

operational procedure of the designed system.

(3.2) System with Shaker and without Pump

For shaker, the following Simulink block diagram was

developed:

Fig 9. Simulink block diagram of the system with shaker and without pump

In the above block diagram, “Analog Filter” symbolized

the analogue high pass filter for the shaker. “PID Controller”

block represented the controller that was used to control the

fluctuations produced by the shaker. “Transfer Fcn for

shaker” signified the physical structure of the shaker itself.

“Gain for BA” symbolized the tested brachial artery and

“Gain for sensor” represented the pressure sensor. For this

system, the open loop transfer function (OLTF) was

calculated as:

The following block diagram was designed for simulation

incorporating the open loop transfer function:

Fig 10. Simulink block diagram with open loop transfer function

Shahariar and Nenad , Calibration of a Human Brachial Artery System Prototype Controller (Dynamic Model)

576 | P a g e

Subsequently, the designed closed loop system was tested

using various controller parameters as stated underneath:

Proportional gain constant = 50

Integral gain constant = 6

Derivative gain constant = 2

For the above controller parameters, the subsequent

response was obtained:

Fig 11. Response of the system with specified parameters due to step input

Proportional gain constant = 60

Integral gain constant = 10

Derivative gain constant = 2

For the stated controller parameters, the subsequent

response was obtained:

Fig 12. Response of the system with specified parameters due to step input

Proportional gain constant = 100

Integral gain constant = 20

Derivative gain constant = 5

For the stated controller parameters, the subsequent

response was obtained:

Fig 13. Response of the system with specified parameters due to step input

Thus, it became evident from simulation analysis that the

system would never become unstable or would never provide

the required “S” shape. Therefore, it was not possible to

utilize any of the Zeigler-Nichols methods or Tyreus-Luyben

tuning method, because it was impossible to achieve critical

gain, delay time and other necessary parameters for defining

P, I and D controllers. For this reason, a pole placement

method was utilized to place the closed loop poles in

pre-determined locations in s-plane. In the designed linear

system, poles influenced system response, band width,

transient response and stability [25].

3.2.1 Pole placement method

According to Fig. 10, two transfer functions were utilized

to find the overall transfer function of the complete system.

Thus, transfer function for the PID controller was defined as:

So, after rearranging, the closed loop transfer function

(CLTF) of the overall system was defined as:

The characteristic equation of the system was defined:

The major intention of determining the P, I and D values

was to accomplish the fastest non-oscillatory response with a

zero steady state error. To achieve this goal, it was required to

have double real poles, because this would provide the fastest

non-oscillatory response. From the open loop transfer

function (OLTF) of the designed system, the desired

characteristic equation of the system was defined:

0 (2)

By comparing (1) and (2), the controller’s parameters were

found as following:

Proportional gain constant = 161

Integral gain constant = 525

Derivative gain constant = 12.33

Note: Derivative gain constant value was much

smaller comparing to Proportional and Integral gain

constants, which means that Derivative gain constant had a

relatively insignificant influence to the system dynamic. So,

International Electrical Engineering Journal (IEEJ)

Vol. 2 (2011) No. 3, pp. 571-580

ISSN 2078-2365

577

only PI controller was used for the shaker. The following

satisfactory response was obtained from simulation analysis:

Fig 14. Response of the system with specified parameters due to step input

(3.3) Complete System with Pump and Shaker

At the concluding stage, the combined system

demonstrated in Fig. 15 was fabricated for simulation

purposes.

The following P, I and D controller values obtained from

previous sections were used for pump and shaker

respectively:

TABLE V. TABLE OF CALCULATED CONTROLLER VALUES FOR PUMP

Controller Value

P 150

I 96.738

D 58.125

TABLE VI. TABLE OF CALCULATED CONTROLLER VALUES FOR SHAKER

Controller Value

P 161

I 525

D 0

The responses demonstrated in Fig. 16, 17 and 18 were

obtained for unit step, ramp and sine functions respectively:

Fig 16. Response of the system due to unit step input

Fig 15. Simulink block diagram of the complete system with pump and shaker

Shahariar and Nenad , Calibration of a Human Brachial Artery System Prototype Controller (Dynamic Model)

578 | P a g e

Fig 17. Response of the system due to unit ramp input

Fig 18. Response of the system due to unit sine input

So, the simulation graphs proved the appropriateness of the

calculated controller values for both pump and shaker in

terms of overshoot, settling time and steady state error.

IV. CONCLUSION

The proper artistic response to the recently

developed arterial stiffness detection technology is to

embrace it as a new window of opportunity and to apply

it with passion, wisdom, fearlessness and delight. A

prototype has been designed to verify the authenticity

of the formulated technology. This paper presents

detailed information about design and tuning methods

with validation tactics that have been utilized for

prototype controller in consideration of a dynamic

model. Obtained simulation results signify the

correctness of the completed tasks.

ACKNOWLEDGMENT

The authors would like to acknowledge Professor

Adnan Al Anbuky, Engineer Shajib Khadem and Dr.

Tek Tjing Lie for their help and contribution in

developing this research paper.

REFERENCES

[1] E.H.Botvinick and D.M.Shames, “The Impact of Nuclear Medicine on

the Diagnosis and Management of Cardiovascular Disease”, IEEE

Transactions on Nuclear Science, vol. 23, no. 3, pp. 1237 - 1242, June

1976.

[2] B.N.Steele, M.T.Draney, J.P.Ku, and C.A.Taylor, “Internet-based

system for simulation-based medical planning for cardiovascular

disease”, IEEE Transactions on Information Technology in

Biomedicine, vol. 7, no. 2, pp. 123-129, June 2003.

[3] N.Popovich and S.Kabir, “Controller Fine Tuning of a Human

Brachial Artery System Prototype (Static Model)”, paper has been

accepted for Proceedings of 2011 IEEE Power Engineering and

Automation Conference, PEAM 2011, 8-9 September 2011, China.

[4] R.Sanudin, W.K.Huei, I.L.Ahmad, M.Morsin, and M.S.Sulong,

“Small-scale monitoring system on Labview platform”, in Proceedings

of the 2009 Innovative Technologies in Intelligent Systems and

Industrial Applications, CITISIA 2009, 25-26 July 2009, Malaysia.

Available: IEEE Xplore, http://www.ieee.org. [Accessed: 28 March,

2011].

[5] M.Benghanem, “A low cost wireless data acquisition system for

weather station monitoring”, Renewable Energy, vol. 35, no. 4, pp.

862-872, April 2010.

[6] P.Pillay and Z.Xu, “Labview implementation of speed detection for

mains-fed motors using motor current signature analysis”, IEEE Power

Engineering Review, vol. 18, no. 6, pp. 47-48, June 1998.

[7] J.Jerome, A.P.Aravind, V.Arunkumar, and P.Balasubramanian,

“Labview based Intelligent Controllers for Speed Regulation of

Electric Motor”, in Proceedings of the 2005 IEEE Conference on

Instrumentation and Measurement Technology, IMTC 2005, 16-19

May 2005, Canada. Available: IEEE Xplore,

http://www.ieee.org. [Accessed: 17 April, 2011].

[8] M.Z.Zulkifli, S.W.Harun, K.Thambiratnam, and H.Ahmad,

“Self-Calibrating Automated Characterization System for Depressed

Cladding EDFA Applications Using Labview Software With GPIB”,

IEEE Transactions on Instrumentation and Measurement, vol. 57, no.

11, pp. 2677-2681, November 2008.

[9] R.Bitter, T.Mohiuddin, and M.Nawrocki, Labview Advanced

Programming Techniques. Florida: CRC Press, 2006.

International Electrical Engineering Journal (IEEJ)

Vol. 2 (2011) No. 3, pp. 571-580

ISSN 2078-2365

579

[10] G.Akram and Y.Jasmy, “Numerical Simulation of the FDTD Method

in Labview [Application Notes]”, IEEE Microwave Magazine, vol. 8,

no. 6, pp. 90-99, December 2007.

[11] P.V.Nikitin and K.V.S.Rao, “Labview – Based UHF RFID Tag Test

and Measurement System”, IEEE Transactions on Industrial

Electronics, vol. 56, no. 7, pp. 2374 - 2381, July 2009.

[12] H.Zhonghai, S.Fang, and S.Meirong, “Simulation of spontaneous

respiration nonlinear model driven by muscle pressure”, in

Proceedings of the 2010 International Conference on E-Health

Networking, Digital Ecosystems and Technologies, EDT 2010, 17-18

April 2010, China. Available: IEEE Xplore,

http://www.ieee.org. [Accessed: 17 March, 2011].

[13] A.Gani and M.J.E.Salami, “A Labview based data acquisition system

for vibration monitoring and analysis”, in Proceedings of the 2002

Student Conference on Research and Development, SCOReD 2002,

16-17 July 2002, Malaysia. Available: IEEE Xplore,

http://www.ieee.org. [Accessed: 24 March, 2011].

[14] J.Y.Beyon, Hands-On Exercise Manual for Labview Programming,

Data Acquisition and Analysis. Upper Saddle River, New Jersey:

Prentice-Hall, Inc., 2000. [15] J.Ahn, S.C.Go, S.Kim, J.Lee, and H.J.Kim,“A study on digital control

of 3-D.O.F. BLDCM using Labview”, in Proceedings of the 2009 31st

International Telecommunications Energy Conference, INTELEC

2009, 18-22 October 2009, Korea. Available: IEEE Xplore,

http://www.ieee.org. [Accessed: 14 April, 2011]. [16] G.Huang and S.Lee, “PC-based PID speed control in DC motor”, in

Proceedings of the 2008 International Conference on Audio,

Language and Image Processing, ICALIP 2008, 7-9 July 2008, China.

Available: IEEE Xplore, http://www.ieee.org. [Accessed: 21 March,

2011]. [17] P.N.Paraskevopoulos, G.D.Pasgianos, and K.G.Arvanitis, “PID-type

controller tuning for unstable first order plus dead time processes based

on gain and phase margin specifications”, IEEE Transactions on

Control Systems Technology, vol. 14, no. 5, pp. 926-936, Sept. 2006.

[18] Norman S. Nise, Control Systems Engineering. Hoboken, New Jersey:

John Wiley & Sons, Inc., 2000.

[19] A.Krolikowski, “Design of input sequence for Linear dynamic system

identification”, IEEE Transactions on Automatic Control, vol. 28, no.

1, pp. 95-97, January 1983.

[20] C.E.Grund, G.Sweezy, J.F.Hauer, S.J.Balser, and S.Nilsson, “Dynamic

system monitoring (DSM) for HVDC modulation control”, IEEE

Transactions on Power Delivery, vol. 8, no. 3, pp. 853-860, July 1993.

[21] S.M.Shinners, Advanced Modern Control System Theory and Design.

Hoboken, New Jersey: John Wiley & Sons, Inc., 1998. [22] Benjamin C. Kuo, Automatic Control Systems. Hoboken, New Jersey:

John Wiley & Sons, Inc., 1995.

[23] Richard C. Dorf and Robert H. Bishop, Modern Control Systems. New

Jersey: Prentice-Hall, Inc., 2001.

[24] Gene F. Franklin, J. David Powell, and Abbas Emami-Naeini,

Feedback Control of Dynamic Systems. Boston: Addison-Wesley

Publishing Company,1994.

[25] K.Ogata, Modern Control Engineering. Upper Saddle River, New

Jersey: Prentice-Hall, Inc., 2002.