
Jump to Japanese Manual
1. Introduction
2. Overview of BSA
3. Installation of BSA
4. Connection with EEG monitor
5. How to use BSA
6. Algorithm for data processing
7. Data format of Output Files
8. History of Development
9. Epilog
BIS monitor is a useful monitoring device for level of hypnosis or anesthesia. But as the entire algorithm for the calculaton of BIS Index has not been published, its scientific evaluation and utilization as a neurophysiological or anesthetic research tool is limited. The algorithm is only partially described in one review by Dr. Rampil1) and one article by Glass et al2). According to this review, BIS Index is calculated from following 3 or 4 sub-parameters: (1) BSR/QUAZI by Time Domain Analysis, (2) Relative b Ratio by Power Spectral Analysis and (3) SynchFastSlow by Bispectral Analysis.
Of course the algorithm of bispectral analysis itself has already been published and we can execute bispectral analysis. Here we developed a software "BSA" for bispectral analysis of electroencephalogram (EEG). "BSA" can also show those sub-paremeters for calculating BIS Index. Currently the description how to calculate SynchFastSlow parameter is obsecure, so I oroginally made 'BispRatio' from bispectral analysis instead of SynchFastSlow.
"BSA" displays the raw EEG waveform in every 0.5sec (4sec of duration).
In Ver 3.00 or later, bispectrum or bicoherence or triple product is displayed every 10 seconds. In the default settings, Bsa calculates bispectrum values from the latest 3 miunites of EEG signal and calculates power spectrum from the latest 1 minute of EEG signal. With optional setting, bispectuml values can be calculated from the latest 1min (same as BIS monitor), 2min, 3min, 4min or 5min and power spectrum values can be calculated from the latest 20sec, 30sec or 1min. Internally Bsa always calculates parameters every 10 seconds. But Logging data interval can be selected from 10sec, 20sec, 30sec or 1min. The default setting is 1min. Bispectrum and Power spectrum are both scaled by logarithm.
"BSA" has not only 'Online mode' for real time processing but also 'Offline mode' for more detailed analysis after data acquisition. Currently, "BSA" supports A/D converter REX5054B (PCMCIA card, 12bit 4channel: Ratoc co. ltd., Osaka, Japan) for real time processing. An EEG monitor, which can gather 0.5-50Hz of EEG and has analog output (100mV/1-4V:Input/Output), are also required. I am now using an EEG telemeter (GE Marquette, Tokyo, Japan), equipped with analog output (50 or 100mV/1V).
"BSA" requires the system installed with Microsoft Windows 95/98/98SE, Pentium 100MHz or faster CPU, at least 20M Bytes of memory and video system with at least 800x600(SVGA) resolution and more than 216 colors. Pentium 150MHz or fatser CPU and 32M Bytes (or more) of memory is recommended. PCMCIA type II slot is also required for Rex5054B. I do not tested Bsa on Windows Me. Now Ratoc has released REX5054B driver software for Windows 2000, but I have not tested it yet. Currently, Windows NT is not supported.
"BSA" was developed by C++Builder Ver5.0 (Borland). "BSA" displays the bispectrum or bicoherence using color spectrum (or gray scale for B&W display). Interval of displaying bispectrum/bicoherence is set at 1 minute by default, which can be changed to 10, 20, 30 or 40 seconds or 2min, or 5min. This interval can be changed even during the real time processing. Each bispectrum and powerspectrum is averaged by the number of effective epochs. When the number of effective epochs is less than 12, bispectrum/bicoherence is not displayed. Bispectrum and powerspectrum are both scaled by logarithm.
As to the BSR, the value of BSR is displayed when the effective time period is more than 20% of total time periods.
The raw EEG waveform and powerspectrum are also displayed.
"BSA" detects and eliminates overshooting noise caused by electric cautery or some types of spike noise, but it does not eliminate other types of noises such as EMG, ECG or that caused by blinking.
So we should care about the superimposed noises in clinical situation. I developed "BSA" for research purpose in laboratory. Of course, "BSA" is also available in clinical settings.
"BSA" at first samples EEG wave at 512Hz and after artifact detection it is down sampled to 128Hz and processed within 0.5-47.5Hz frequency. "BSA" has options for 1024Hz or 2048Hz sampling, but those seem to have no advantage against 512Hz sampling. I will omit this oversampling option in the future version.
For real time processing, "BSA" requires A/D converter REX5054B. In earlier version (before V1.50) the special driver software for REX5054B customized by the manufacturer is required. But in current version, standard driver software can be available.
Install Disk consists of 2 floppy disks. Installation of "BSA" begins with inserting the Install Disk1 to the drive A, and run "Setup.exe" from "Startup menu". Only according to the instructions on the screen, you can easily install "BSA" on your computer. As this software package is developed on Japanese windows95, so some character would not be correctly displayed on English version of Windows95/98. But it is not serious problem. Installation itself will be accomplished correctly in any language version of Windows95/98/98SE/Me.
The output from the EEG monitor is connected to the channel 1 to 4 of the connection box with BNC connector. I usually attach 5 electrodes at A1, A2, FP1, FP2 and FPz and using mono-polar output from FP1-A1. Now "BSA" can gather maximally 4 channels of EEG simultaneously. But parameter calculation can be done only 1 channel at a time. If you want to process other channels, you should process in offline mode after data aquisition.
Shortage of A1 and A2 is used for eliminating ECG signal. Please refer to the textbook for eliminating artifacts.
High cut filter must be set at least 50-60Hz, because "BSA" uses up to 47.5Hz of frequency. We set this at 60Hz and time constant set to 0.3 sec.
We do not use low cut filter, but up to 1-2Hz of low cut filtering would have little effects on parameter calculation.
If you installed "BSA" via INSTALL Disk, "BSA" folder is registered in the "Program" of "Start Menu". Only selecting this, you can run "BSA".
[Caution !!]
While you are running "BSA" in Online mode, you should not run other application software. As Windows 95/98/98SE/Me are not true multi-task OS, "BSA" would hang-up when other application do not release the task for some intervals. You'd better also stop screen-saver.
When you change the values in the Box, click "Apply" button before "Quit" the sub-window. Otherwise, the new value would not be effective.
(1) Voltage Scale of EEG monitor and View Scale
EEG monitor amplified the input voltage. Usually output amplitude of EEG monitor is set about 50mV/1V or 100mV/1V (Input voltage/Output voltage). When amplitude is 50mV/1V, this Voltage Scale parameter becomes 50/1=50. You may set this scale on the top box of 'Set Scale' from "Options" in the menu.
"Over Sampling" defines the sampling rate of EEG. Now this setting is inactive. Sampling rate is fixed to 512Hz.
"Wave Offset" compensates the 0 level of EEG monitor output. This value is expressed by output voltage of EEG monitor. You may set this offset on the lower box of 'Set Cal' from "Options" in the menu. 'A/D calibration' button in the main screen is customized for my environment and would not work correctly in other environment. So, do not use this button. When this button is clicked, '0 volt offset' parameter is cleared to 0.
At this point "Calibration Voltage" is not used.
(3) Options for wave processing
"BSA" displays following parameters: SEF90(Spectral Edge Frequency 90%) and 3 sub-parameters of BIS Index.
After artifact rejection, sampled raw EEG wave is processed against base line drift by subtraction of moving-average. Averages of waves of pre and post 0.5sec (totally 1.0sec, Moving_Average_1) or 1.0sec (totally 2.0sec, Moving_Average_2) with the exception of overshooting are subtracted from original amplitude and the subtracted waves are handled as 'processed wave'.
For calculating BSR, 'processed wave' is always used. For calculating other parameters, raw wave or processed wave is selected by user. In the default setting, Moving_Average_1 is used. You can select this setting in the 'Set Processing' box from the "Options" of menu.
You can also set threshold of Burst Suppression, Overshooting and Spike in this box. This threshold should not change the default values without special consideration.
When you check off the "Use Processed Wave" box, raw wave is used for power spectral analysis and bispectral analysis.
When you check on the "Show in Gray Scale", bispectrum/bicoherence is displayed in gray scale.
In Ver 1.20 or later, you can re-calculate the parameters without displaying waveform, power spectrum or bispectrum. When you check on the "Calculation Only" checkbox, calculated parameters are written in "Log Window" with full speed.
In Ver 3.00 or later, You can choose the length of calculating period for bispectral analysis and power spectral analysis. BIS monitor (A-1050) calculates bispectrum values from 120 epochs (61.5sec) of EEG segment. But our investigation6) revealed that this setting is too short to get reliable and reproducible bicoherence values. So in the default setting Bsa calculates bispectrum values from the latest 3min of EEG segments.
You can also select the data logging intervals. In the default settings, this interval set at 1min. But you cal select 10sec, 20sec, 30sec or 1min. When calculated parameters exists in data buffer, you can update the contents of Log Window without re-calculation.
Another setting is 'Set View'. In this box, you may choose which waveform to display. Raw EEG wave is displayed in 'yellow' color and processed EEG wave is displayed in 'red' color in the wave window. You can also change the replaying speed in 'Offline mode' from x1 to x8 (8 times faster). If your CPU does not have enough power, the replaying speed may have the upper limit.
Furthermore in 'Offline mode' with binary wave file, you can set the processing start time by moving the trackbar or clicking the up-down button. These trackbar and up-down button are emerged only when binary wave file is selected in 'Offline' mode.
'Wave Form Scale' is a scale for displaying EEG wave. In the default setting ("2") displayed range is about +/-50mV(maximum +/-70mV). Other settings are +/-25mV, +/-100mV, +/-200mV.
You can also change the EEG channel for data processing. But you must change this setting before re-calculate parameters.
Only this sub window can be available during data processing.
Bsa V1.42 or later supports 2 kinds of anesthetic gas monitor. At
this point, CAPNOMAC (DATEX) or BP508 (Anesthesia monitor : COLIN,
Japan) are available. You should use adequate serial communication cable
for each monitor. And you should also set serial port number in Bsa.ini file.
(6) A/D converter channel setting
In V2.00 or later, BSA can handle maximumlly 4 channels of EEG. But BSA can process only one channel at a time. So if you want to process another channel, you have to process after data acquisition (in off-line mode). Although EEG channel can be changed even during data processing, this handling should be used for confirm the waveform in other channels before the actual data acquisition.
You can set optional parameters in "Bsa.ini" file. This file is loaded in starting process of "BSA". Each line consists of two items; label name and its value. Items are separated by ":". No other character (TAB or SPACE) is allowed to put between the item and ":". Lines beginning with '#' are considered as comments and would be ignored.
Following list is a sample of 'Bsa.ini'. You may edit the list at only the different setting from the defaults. 'Bsa.ini' must be located in the same directory of 'Bsa.exe'.
# Parameter settings AD_Scale:50.0 AD_Offset:0 Wave_Scale:2 Power_Scale:1 Cal_Volt:50 Over_Sampling:1 Moving_Average:1 Overshoot_Threshold:150 Spike_Threshold:20 BS_Threshold:5 Show_Raw:false Show_Proc:true Cal_Threshold:0.3 Cal_Point1:5 Cal_Point2:6 Defect_Str:NULL WorkDir:C:\EEG GasMon:CAPNOMAC COM_Port:0 Power_Dur:1min Bisp_Dur:3min LogInterval:1min Maxmem:24 AutoRec:false
When Rex5054B is installed, 'Online mode' is set to a default. If you have already written each setting in 'Bsa.ini' file, you can start processing only clicking 'start' button after connecting EEG monitor. If you want to record EEG waveform or calculated power spectrum or bispectrum, you have to prepare record files before start processing. "File" menu is disabled during processing.
Calculated parameters are also displayed in the 'Log Window' with time stamp. You can add comments in this 'Log Window'. In 'Online mode', dialog box for saving this logged data will emerge when 'Stop' button is clicked.
'Offline mode' is used for re-processing recorded EEG waves. When you select 'Offline mode' from 'Mode' in the menu, Dialog box for file selection will display after file type selection (binary or ASCII). Then select purposed file to process. Binary wave file is a file that was previously recorded by BSA itself. Binary wave file has a 128-bytes header, which contains time stamp and parameters on recording. ASCII mode is usually used for a wave file which recorded by other systems. ASCII mode file saved by "BSA" has a header with beginning with '#' and containg Recorded time, sampling rate (512 or 1024 or 2048), AD_Scale and AD_Offset. These parameters are read and set at the start of processing. If you want to process an ASCII file which is recorded by other system, you must set each parameter correctly before processing or you must make a header manually. ASCII mode file consists of series of sampled amplitude value. Lines beginning with '#' are ignored. Currently, offline ascii mode supports only 1 channel.
In 'Offline mode', you can select replaying speed from x1 (equal to real time) to x8 (8 times faster than real time). You can set this option from 'Set View' of "Options" menu.
Until you select other wave file or change to 'Online mode', you can replay the selected wave file repeatedly.
(3) Display selection of Bispectrum, Bicoherence or Triple Product
You can select one of 'Bispectrum', 'Bicoherence' or 'Triple Product' to display.

(5) Comment window manipulation
In Ver 3.00 or later, Comment buffer is separated from Log window. You can open 'Comment window' by selecting 'open Comment' tag from 'Window' menu. Just like 'Log Window', when Bsa runs on 'Online' mode, dialogbox which facilitates to save logged data to a file will be displayed at the end of processing.(6) about SQI (Signal Quality Index)
In Ver 3.00 or later, SQIs are displayed in the right lower part of main panel. SQI of power spectral analysis and bispectral analysis are calculated as the ratio of the number of artifact free epochs and the number of total epochs. SQI of time domain analysis is calculated as the ratio of artifact free periods and total period.As mentioned in the previous section, sampled raw wave data are at first checked for artifacts. Then each moving-average is subtracted to suppress the base line drift.
Original criteria of Burst Suppression (region less than 5mV lasts more than 0.5sec) would be "fooled" by superimposed slow wave, as written in the Rampil's review. As algorithm for QUAZI calculation is not a public domain, QUAZI is not calculated in "BSA". (In the Rampil's review, QUAZI detects Burst Suppression incorporating slow waves, less than 1Hz in frequency, information derived from the frequency domain.)
Moving average works as the simplest low-pass filter. Then subtraction of moving average results in low-cut filter. "BSA" uses processed wave for calculating SynchFastSlow and Relative b Ration sub-parameters in the default setting. You can also calculate those sub-parameters from raw wave by optional setting. To calculate the moving-average, wave data in the pre and post 0.5sec or 1.0sec period are required. Then the displayed (and processed) EEG waves have a delay of 0.5sec or 1.0sec.
As to the detail of Bispectral Analysis, refer the manuscript by Dr. Sigl in J Clin Monit 3). And for more detailed information, please refer to the manuscript by Nikias in Proc IEEE 5). Regarding to the principle of bispectral analysis, do not refer Dr. Rampil's review 1), because it would be wrong. Here I only explain the concept.
Bispectral Analysis quantifies the nonlinear interaction (phase coupling) between the components making up a signal. Sigl et al. sited a function that outputs the square of input as a simple example of phase coupling. Then we thinkof a sum of two cosine function as input, those frequencies are f1 and f2 and phases are q1,q2. Then the output becomes as follows.
Epochs are overlapped in some degrees. (This overlapping is not always required for bispectral analysis.) After applying a Blackman window function, the Fourier transform of each epoch is computed. Here we think of 3 components of signals with f1,f2,f1+f2 frequencies. Each component, X(f1), X(f2), X(f1+f2), is a complex-value. And we also think of X*(f1+f2) ; conjugate of X(f1+f2). Each phase of X(f1), X(f2) is f1t+q1, f2t+q2. And the phase of X(f1+f2) is (f1+f2)t+q3. The phase angle of the products of complex-value becomes the sum of each phase angle. And the phase angle of conjugate becomes the negative of its native phase angle. Consequently, the phase angle of triple product becomes (f1t+q1)+(f2t+q2)-{(f1+f2)t+q3} = q1+q2-q3. The fact that time parameter is canceled is important because it means that how to select the epochs does not influence on the result of bispectral calculation. If there were no relation among q1,q2,q3, q1+q2-q3 would distribute randomly between [0,2p]. As a result, the sum of triple products tends toward zero. On the other hand, there were some relations among q1,q2,q3, (phase coupling exists), bispectrum becomes none zero value. The bispectral analysis can thus be used to detect phase coupling between components. As shown above, bispectrum is a function of two frequency variables, f1 and f2.
According to the review by Dr. Rampil, SynchFastSlow parameter is computed by following equation.
SynchFastSlow = log( B0.5-47.0Hz/B40.0-47.0Hz )
He describes Bx-y as the sum of the bispectrum activity in the area subtended from frequency x to y on both axes in the frequency versus frequency bispectral space. According to this description, we, for example, must calculate B(40Hz,40Hz). To calculate B(40Hz,40Hz), X(80Hz) is required, but we cannot get such high frequency components from 128Hz sampling signal. I asked ASPECT and get their reply that BIS calculates SynchFastSlow from bispectrum values of f1+f2<48Hz. But they did not tell me the precise method of SynchFastSlow claculation. Consequently, they informed me that the description of the components in Dr. Rampil's paper are intended to be schematic representations of the Index subcomponents, not the exact definitions.
Here I used BispRatio instead of SynchFastSlow for bispectrum derived parameter. This is only my speculation, but I think SynchFastSlow and BispRatio would be compatible.
BispRatio = log( B40.0-47.0Hz/B0.5-47.0Hz )
"BSA" calculates bipectrum in the area 0.5Hz<=f2<=f1<=47.0Hz, f1+f2<=47.5Hz and then calculates BispRatio according to this equation.
SynchFastSlow parameter predominates during the phenomenon of EEG activation (excitement phase) and during surgical levels of hypnosis in the BIS Index. In my data analysis, BispRatio showed good correlation with the level of hypnosis in surgical levels.
"BSA" can also show bicoherence instead of bispectrum. Bicoherence is defined by the ratio of the bispectrum to the sum of square root of real triple products (power of f1,f2,f1+f2). Bicoherence is usually scaled between 0 to 100%. In the report by Dr. Sigl, bicoherence is written as the ratio of the bispectrum to the square root of the sum of the real triple products. But this is mathematically wrong, because bispectrum is the size of sum of vectors (complex-values), then the scale should be the sum of size of each vector (complex-value). Bicoherence can show the degree of phase coupling, so it seems to be better index than bispectrum. Although, at first I could not find any specific pattern of bicoherence in the EEG, now I have found specific changes of bicoherence according to the depth of anesthesia. At this point physiological meaning of bispectrum in EEG is not clear.
As previously mentioned, "BSA" defined Burst Suppression as amplitude less than 5mV lasts more than 0.5 sec in the processed wave. BSR is calculated in the same period (actually sometimes slightly different) which used for calculation of BispRatio and b Ratio. When the effective period is less than 20% of total, this parameter is not calculated. Although the algorithm for calculating BSR differs from that used in BIS monitor, I think the value would be similar. In Ver 2.10 or later, BSA calculates BSR according to the following algorithm. At first sampled EEG data, after artifact detection, were down sampled at 64Hz. Then search positive or negative peak by calculating first order differential. After one positive (or negative) peak detection, each amplitude was calculated from the half of the absolute value of the difference between the two peak voltages. Applying the suppression criteria to these amplitudes, BSA calulates BSR. I compared my algorithm with QUAZI by using BIS monitor, and found it is almost as sensitive as QUAZI.
At this point waves with small amplitude and fast frequency emerging in the light anesthetic state also be detected as "BS" despite that they are not true "BS". I tried to distinguish these by calculating the mean amplitude of waves with more than 5mV of amplitude. This is a future problem to solve.
BSR/QUAZI is used to detect deep anesthesia in the BIS Index. It is
quite natural that when the suppression progresses, EEG waves become
almost flat and frequency analysis becomes less meaningful.
According to the review by Rampil, "Relative b Ratio" sub-parameter is the log ratio of power in the two empirically derived frequency bands: log(P30-47Hz/P11-20Hz). The parameter is most heavily weighted when the EEG has characteristics of light sedation in the BIS Index.
In the article by Glass et al. base frequency band is written as 40-47Hz instead of 30-47Hz. Concerning this point, I got an answer from ASPECT INC. that Rampil's review was correct.
The spectral edge frequency (SEF90) is the frequency below which 90% of the power in the spectrum resides. SEF90 becomes small in the state of anesthesia. "BSA" calculates SEF90 among the power spectrum of less or equal to 30.0Hz.
All output files are closed when "Stop" button is clicked. Each data format is as follows.
In binary mode, raw wave data are saved as is gathered from A/D converter. At the top of the file, 128 bytes of header record containing time, sampling-rate, A/D converting scale and A/D converter 0 offset, is added. In ASCII mode, raw wave data are written in the value of gathered A/D converter voltage sequentially. ASCII mode file saved by "BSA" has a header with beginning with '#' and containg Recorded time, sampling rate (512 or 1024 or 2048), AD_Scale and AD_Offset. These parameters are read and set at the start of processing. If you want to process an ASCII file which is recorded by other system, you must set each parameter correctly before processing or you must make a header manually. ASCII mode file consists of series of sampled amplitude value. Lines beginning with '#' are ignored. Usually should better use binary mode.
In binary mode, these values are recorded in IEEE standard floating point format (single). Power spectrums are recorded from 0.5Hz to 47.0Hz in every 0.5Hz. Bispectrums are recorded as following manner: (f1,f2) = (0.5,0.5),(1.0,0.5), (1.5,0.5),...(47.0,0,5),(1.0,1.0),(1.5,1.0),(2.0,1.0),..... (46.5,1.0),(1.5,1.5),(2.0,1.5), (2.5,1.5).......................,(24.0,23.5). In binary mode, all bispectrums are written and each sum of square root of real triple products is then written in the same order. And in ASCII mode, the order of bispectrum and real triple products is as same as that in binary mode. But in this mode bispectrum and the square root of real triple products wrote in pair. At the top of each block, time and the effective number of epoch are written in following format: '# hh;mm;ss,n'.
Index of bispectrum array (0-2255) is calculated from the following equation.BIS monitor become widely accepted monotoring device, but nobody have discussed the bispectrum itself. In my opinion, watching only BIS Index resembles to watching only SpO2 value without checking its waveform. (BIS monitor also can show the raw EEG, but cannot show all bispectrum pattern.) We should watch raw EEG waveform ,power spectrum and bispectrum as well as each sub-parameters. Of course BIS monitor is a 'monitor' and equips many artifact-detecting algorithms relevant for clinical use, but "BSA" is a research oriented software and is relatively sensitive to artifacts.
Although EEG waveform is rather specific for each anesthetic agent, but we can roughly guess 'the depth of anesthesia' or 'the depth of hypnosis' by watching EEG waveform. Adding the information of power spectrum or bispectrum to the raw waveform may give us more precise information.
I think anesthesiologists will routinely monitor EEG waveform like ECG or SpO2 waveform in the near future.
I will distribute this software for joint study. I will also distribute this software for simple clinical use. You can freely use this software in simple clinical use. I would be glad if you provide raw EEG data or recorded EEG parameters when you found a case who awared during operation. As I want to know raw EEG pattern in such a case. I do not warrant the contents of my software, but there would be no bugs in data processing.
As to the parameter derived from bispectral analysis, I made 'BispRatio' instead of 'SynchFastSlow' because of the strange description of calculating method. But I speculate 'BispRatio' would be almost identical to 'SynchFastSlow' from my data analysis.
In the earlier version (before Ver1.21), display screen sometimes shows strange views during processing. (New line will be overwritten on the previous line, or graphic sub-window will be freezed while data calculation goes on.) In Ver1.21 or later, I have fixed this problem.
If the true algorithm for calculating SynchFastSlow or BIS Index, I will adopt them in "BSA".
Questions or comments are welcome. Please tell me by Email.
References
Satoshi Hagihria MD, Ph.D.
Department of Anesthesiology, Osaka Prefectural Habikino Hospital, 3-7-1, Habikino, Habikino, Osaka, Japan 583-8588.
Tel. +81(729)57-2121, Fax. +81(729)57-8002
email: hagihira@masui.med.osaka-u.ac.jp, pgb00174@nifty.ne.jp