Timing Considerations and Real-Time Applications
There are several options for controlling the timing of operations or updating of displays. Because the sequence of events in a LabVIEW program is data-driven, processes that use continuous data acquisition proceed at the speed with which data become available, as dictated by the sampling hardware clock. As long as the computer is able to keep up with the processing, display, and/or disk storage of the results, the program will be in sync with acquisition. By reserving buffer space in computer memory, the programmer can provide some "slack" for occasional tasks that require a lot of processor time. The buffer will hold the unprocessed data segments (backlog) until the computer is again available to continue with the processing. The processor will try to make up for the lost time. When the buffer halted. In practice, for sampling rates used in clinical monitoring, updating the screen with color graphic objects is the performance bottleneck on most computing platforms. It may be necessary to reduce the update rate of screen indicators and graphs, either by updating them only once every nth iteration of a loop, or by using LabVIEW's pseudo parallel processing. This involves writing the value to be displayed to a GLOBAL variable, and reading and displaying this GLOBAL variable from inside a separate WHILE loop running at a much lower speed. The speed of repetitive operations inside a WHILE loop can be controlled by the acquisition hardware, or by including a software delay function (wait nn msec).
Typical Uses of Lab VIEW in Clinical
Monitoring
LabVIEW can be used in various ways to receive realworld data. In conjunction with an A/D converter board, analog signals can be acquired, processed and displayed, or written to disk. An example is logging of analog signals from the patient monitor in the operation room for future off-line analysis, or on-screen trend recording. As an extension of this simple data logging, on-line signal processing may be performed on the incoming analog signals, for example, EEG spectral analysis, ECG analysis, analysis of blood pressure waveforms, calculation of heart-rate variability, and pressure/volume or flow/volume loops. The results of these computations can be stored on disk and/or displayed on screen.
In EP monitoring, triggered acquisition of fixedlength samples is used. An on-board clock generates pulses that simultaneously trigger the stimulator (somatosensory, auditory, visual, or transcranial motor) and the acquisition of neurophysiological signals. Examples include neuromuscular blockade (train-of-four) monitoring, somatosensory EPs, auditory EPs, and transcranial motor EPs. Signal averaging can be employed when the signal-to-noise ratio is too small for
the evaluation of single sweep waveforms.
LabVIEW also includes an extensive library of functions that enable communication with external devices with an RS-232 serial port or an IEEE-488 interface. This means that, in addition to acquisition of analog signals, the program can communicate with noninvasive blood pressure monitors, pulse oximeters, or some of the more esoteric monitors, such as noninvasive cardiac output monitors, transcranial near-infrared spectroscopy, and transcranial Doppler monitors. The power of LabVIEW in these settings is that data from different signal sources can be acquired simultaneously using analog and digital (serial/parallel) communication and can be integrated to calculate derived values and/ or present the user with meaningful displays.