User Manual for BSA Ver 3.31B (Bispectrum Analyzer for BIS)

Jump to Japanese Manual

Be careful.
If your system does not have Greek characters, 'mu' is shown as 'm', 'theta' is shown as 'q' and 'pi' is shown as 'p'. Then 'micro V' displays as 'mV'. It's not my mistake, but merely browser's problem.


1. Introduction
2. Overview of BSA for BIS
3. Installation of BSA for BIS
4. Connection with BIS monitor
5. How to use BSA
6. Algorithm for data processing
7. Data format of Output Files
8. History of Development
9. Epilog

1. Introduction

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. Rampil 1). According to this review, BIS Index is calculated from following 3 or 4 sub-parameters: (1) BSR and 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 for BIS" is a software customized for BIS monitor (A-1050). This software only supports A-1050. If you want use Bsa with A-2000, you should download Bsa for A-2000.
"BSA for BIS" displays the raw EEG waveform in every 1.0sec (4sec of duration) and displays all bispectrum values by color spectral scale every 10 second. "BSA" can also shows power spectrum.
"BSA" has not only 'Online mode' for real time processing but also has 'Offline mode' for more detailed analysis after data acquisition.
"BSA" requires the system installed with Microsoft Windows 95 or 98, 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. Previous version had some problems when it was used on Windows NT/2000/XP. Now I probably have fixed those problems in this version.

2. Overview of BSA

"BSA for BIS" was developed by C++Builder Ver5.0 (Borland). "BSA" displays the bispectrum or bicoherence using color spectral scale (or gray scale for B&W display). 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 for BIS" uses BSR from BIS monitor in the deafult seting, but internally calculated value is available in the optional setting.
"BSA" detects and eliminates overshooting noise caused by electric cautery or some types of spike noise. Besides the own criteria, "BSA for BIS" eliminates epochs containing artifacts with the aid of "artifact flag" from BIS monitor.

3. Installation of BSA for BIS

Install Disk consists of 2 floppy disks. Installation of "BSA for BIS" 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 for BIS" on your computer. As "Bsa for BIS" is developed on Japanese version of Windows 95, so some messages might not be correctly displayed. But this is not a serious problem.

4. Connection with BIS monitor (A-1050)

You should connect to raw EEG port on A-1050 using crossed serial cable. Do not connect to the Processed EEG port (we can not get EEG wave data from this port).

5. How to use BSA for BIS

5-1. Starting BSA for BIS

If you installed "BSA for BIS" via INSTALL Disk, "BSA" folder is registered in the "Program" of "Start Menu". Only selecting this, you can run "BSA for BIS".
[Caution !!]
While you are running "BSA for BIS" in Online mode, you should not run other application software. As Windows 95/98/98SE/Me are not true multi-task OS, "BSA for BIS" would fail to get EEG packet from A-1050.

5-2. Option Selection

At first, you should initialize some parameters. These pre-settings also can be written in "Bsa_BIS.ini" file. The format of "Bas_BIS.ini" is written in the following section. Once you set them in "Bsa_BIS.ini", you need not set them manually every time you start "BSA". These initialization can be done from "Options" of the menu tag as shown in the right figure. There are 3 tags; "Set Processing", "Set View" and "Set COM".

When you change the values in the Box, click "Apply" button before "Close" the sub-window. Otherwise, the new value would not be effective.

5-2-1. Each optinal setting

(1) Options for wave processing

"BSA for BIS" displays following parameters: SEF95/SEF90(Spectral Edge Frequency 95% or 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) 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. In the default setting, "Bsa for BIS" uses BSR got from BIS.
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 off the "Use BSR from BIS", calculated BSR in BSA is used. 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.

(2) Display Settings

The second 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 displayed range is +/-50mV(maximum +/-70mV). If you want to display +/-100mV(maximum +/-140mV), set this as 50mV. Only this sub window can be available during data processing.

(3) Select COM port

The third setting is 'Set COM port'. You can select RS232C port to connect the BIS monitor. You can select one port from 'COM1' to 'COM8'. You can also select EEG channel from is tag. However early version of A-1050 can gather 2 channels of EEG data, recent version of A-1050 using BIS sensor, can gather only 1 channel of EEG data. So, channel setting is ineffective when your A-1050 is recent version.

5-2-2. Format of Bsa_BIS.ini file

You can set optional parameters in "Bsa_BIS.ini" file. This file is loaded in starting process of "BSA for BIS". 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.

  1. Wave_Scale: Displaying scale of raw EEG waveform. If you want to see about +/-100mV, you should set this parameter as '1'. Default value is '2'.
  2. Moving_Average: Duration of calculating moving-average for correcting base line drift. This value should be 1 or 2. Default value is '1'.
  3. Overshoot_Threshold: Threshold for detecting noises caused by electric cautery etc. Default value is 150(mV). Value of less than 100 is not allowed and not accepted.
  4. Spike_Threshold: Threshold for spike noise detection. This value is set by differential amplitude in 1/128sec. Default value is 80(mV). Value of less than 10 is not allowed and not accepted.
  5. BS_Threshold: Criteria of Burst Suppression. Default value is 5(mV). This value should be from 1 to 5. In normal setting, this value should not be changed.
  6. Show_Raw: Display switch for raw EEG wave. Set "true" or "false". Default setting is "false".
  7. Show_Proc: Display switch for processed EEG wave. Set "true" or "false". Default setting is "true".
  8. Defect_Str: You can set a string used for defect values in the "Log Window". Write "NULL", if you want to set this string NULL. This has benefit for process the log file with Microsoft Excel etc. Default setting is "***".
  9. WorkDir: You can set the default directory to load/save waveform file or log file. Default is the working directory of Bsa_BIS.exe.
  10. COM_Port: You can select the COM port to connect A-1050. You may set 0-7 for COM1-COM8.
  11. Use_BIS_BSR: You can use BSR from A-1050 instead of BSR internally calculated in BSA. Default setting is "true".
  12. Power_Dur: This option is used to set calculating periods of power spectrum. You can select from 20sec, 30sec or 1min. Default setting is 1min.
  13. Bisp_Dur: This option is used to set calculating periods of bispectrum calculation. You can select from 1min, 2min, 3min, 4min and 5min. Default setting is 3min.
  14. LogInterval: You can select data logging interval from 10sec, 20sec, 30sec or 1min. The default setting is 1min.
  15. Maxmem: Bsa Ver 3.00 or later allocates data memory for 24 hours of calculated parameter storing. If you want to allocate much more memories for more long times of analysis, you set this parameter as the hours that you want. If your system does not have enough memories, you may set this parameter less than 24. However, the minimum value is 8 (hours). This parameter should be set in integer.
  16. AutoRec: If you set this variable as 'true', Bsa automatically records the data packets recieved from BIS monitor to the file. The file name is given as 'Date' + 2 digits (from 1 to 99). When you set the 'WorkDir', the file is saved in the 'WorkDir', otherwise it is saved in the working directory of Bsa. Default setting is 'false'.
  17. CommentOnLog: If you want to add comment strings to the data log, set this option 'true'. This option is used to keep compatibility to the previous verson of Bsa. Default setting is 'false'.
  18. Child: If you use BIS to child, set this flag 'true'. Then scale of EEG amplitude will be changed for child.

Following list is a sample of 'Bsa_BIS.ini'. You may edit the list at only the different setting from the defaults. 'Bsa_BIS.ini' must be located in the same directory of 'Bsa_BIS.exe'.

# Parameter settings


















5-2-3. Output File Setting

When you click "Save" tag in "File" menu, you can select "Wave", "Power" or "Bispec" to save data. Each data can be saved in binary or ASCII. As to the file format, refer to 7. Data format of recorded files.

5-3. Mode selection

Running mode can be selected from "Mode" tag. The default setting 'Online mode'.

5-3-1. Online mode

If you have already written each setting in 'Bsa_BIS.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.
When the packet data is recorded to a file, "On Recording" label is displayed above the trend screen.

5-3-2. Offline mode

'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. Then select purposed file to process. BIS wave file has a 128-bytes header, which contains time stamp and parameters on recording. These parameters are read and set at the start of processing.
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. You must select wave file before choosing this replaying speed.
Until you select other wave file or change to 'Online mode', you can replay the selected wave file repeatedly.

5-3-3. Manipulation during processing

(1) Trend processing

Bsa V1.30 or later equips trend processing. In Ver 3.00B or later, trend screen is moved to main panel. Now Trend shows the data within 2 hours. The trend graph will be scrolled every 1 hour. However you can watch the previous trend screen by clicking the button for scrolling just above the right upper side of trend screen. Trend graph is drawed in every 20sec. In the lowest column, Bsa displays the trend of aBIC (averaged bicoherence) values around the diagonal line (f1=f2). My alalysis revealed that bicoherence values changes in that rather small regions according to the 'depth of hypnosis'. Considering BIC(f1,f2) = BIC(f2,f1), I defined aBIC(f) as follows.

aBIC(f) = { BIC(f,f)+BIC(f+0.5,f)*2+BIC(f+0.5,f-0.5)*2+BIC(f+1.0,f-0.5)*2 +BIC(f+1.0,f-1.0)*2+BIC(f+1.5,f-1.0)*2 }/11

(2) Comment input

When you want to record some events or comments, click the 'Comment' button. Then 'Comment Input Window' will be displayed with the time stamp. If you want to change the time stamp, rewrite this. If you cleared the time stamp by mistake, please leave the time stamp field as blank and write comments in the comment field. Then click 'Apply' button with the time stamp field as blank. Bsa will correctly record the comment with the initial time stamp.

(3) Display selection of Bispectrum, Bicoherence or Triple Product

You can select one of 'Bispectrum', 'Bicoherence' or 'Triple Product' to display.

(4) Log window manipulation

In the Bsa Ver1.10 or later, "Log Window" is separated from main panel. You can open 'Log Window' by selecting 'open Log' tag from the 'Window' menu. Calculated parameters are written in this window according to the LogInterval setting. In Ver 3.00 or later, calculated parameters (SEF95 or SEF90, BSR, RBR, BispRatio, BIS index which is same as the displayed value by the BIS monitor, mean amplitude and SQIs of time domain analysis, power spectral analysis, bispectral analysis) are logged with the calculated time in this Log window. Mean amplitude is calculated from waves with amplitude of more than 5mV. Now 'Comment Window' is newly added, so if you want to record comments, use comment button on the main panel. Please refer to "comment input". When Bsa runs on 'Online' mode, dialogbox which facilitates to save logged data to a file will be displayed at the end of processing. On 'Offline mode' dialog box is not displayed, so you have to save it manually by clicking "Save Log" button. If you merely want to clear the Log window, click "Clear Log" button. And If you want to close "Log Window", click "Close" button.
In Ver 2.40 or earlier, the maximum size of log file is restricted to 64 KB, but now this limitation is eliminated.

(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. When Bsa uses the BSR value obtained from BIS monitor, Bsa also uses SQI of time domain analysis obtained from BIS monitor.

5-4. Show Version

When "Version" tag is clicked, current version of "BSA" is displayed. 'B' means BIS version of "BSA".

5-5. Exit from BSA

If you want to exit "BSA", click the "Exit" tag in the "file" menu. You cannot exit during processing. At first click the "Stop" button and stop processing.

6. Algorithm for data processing

6-1. base line compensation

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 I can not fully understand the algorithm of QUAZI suppression, 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 BispRatio 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.

6-2. Bispectral Analysis and SynchFastSlow parameter

6-2-1. Principle of Bispectral Analysis

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.

INPUT: x(t) = cos(f1t+q1) + cos(f2t+q2) OUTPUT: y(t) = 1 + cos[(f1+f2)t+(q1+q2)] + cos[(f1-f2)t+(q1-q2)] +1/2cos(2f1t+2q1) + 1/2cos(2f2t+2q2) In this case, the phase angles of the components with frequencies of f1+f2,f1-f2,2f1,2f2 depend on those of input components. These components are termed 'intermodulation products' (IMPs). Thus, the phase angles of the IMP components depend on the phase angles of the components of the input signal. On the other hand, output signals that are not IMPs are termed 'fundamentals'. Bispectral analysis can detect such phase-coupled components among a signal.
If a signal is composed of the sum of 2 different frequency waves, they can be separated by power spectral analysis. But when a signal is composed by nonlinear interaction of 2 different wave, they cannot be analyzed by power spectral analysis. In order to compute the bispectrum, the signal wave is first divided into a series of epochs.

Epochs are overlapped in some degrees. 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 conjugate of X(f1+f2); 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.

complex-value and polar coordinates

Here I show the relation between complex-value and its phase angle.
At first I introduce polar coordinates instead of rectangular coordinates. In polar coordinates each value is expressed by its size and phase angle. When I think of a complex-value: z = x + yi. (x,y) => (r, q) r = sqrt(x2+y2) cos q = x/sqrt(x2+y2) sin q = y/sqrt(x2+y2) Then z becomes as follows. z = r(cos q + i sin q) Here we think of the product of 2 complex-values in polar coordinates. z1*z2 = r1(cos q1 + i sin q1)*r2(cos q2 + i sin q2) = r1r2*{ (cos q1cos q2 - sin q1sin q2) + i(sin q1cos q2 + cos q1sin q2) } = r1r2*{ cos(q1+q2) + i sin(q1+q2) } Consequently, the size of z1*z2 becomes the products of the size of two complex-values and its phase angle becomes the sum of phase angles of two complex-values.
The duration of epoch and proportion of overlapping of epochs are selectable. In "BSA" the duration of each epoch set to 2 seconds and overlapping is set by 75%. This setting is compatible with A-1050 (BIS monitor).

6-2-2. SynchFastSlow parameter

According to the review by Rampil1), SynchFastSlow parameter is computed by following equation.

SynchFastSlow = log( B0.5-47.0Hz/B40.0-47.0Hz )

He describes bispectrum as Bx-y (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.

From my experience of bispectral analysis, I made another parameter BispRatio: the sum of bispectrum in the area that f1+f2 is between x and y and x<=f2<=f1<=y.

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.

6-2-3. Bispectrum and Bicoherence

"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 product (power of f1,f2,f1+f2). Bicoherence is usually scaled between 0 to 100%. In the report by Dr. Sigl, bicoherence is the ratio of the bispectrum to the square root of the sum of the real triple product. But this might be wrong, because bispectrum is the size of sum of vectors, then the scale should be the sum of size of each vector. 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.

Ths size of sum of complex-value (vector) and its scaling

complex-value can be handled as second demension vector. The size of the sum of vectors becomes maximum when the all vectors have the same direction and its value is equal to the sum of the size of all vectors. 0 <= | S zj | <= S |zj| And, S |zj| = S sqrt(|zj|2) As triple product is a complex-value, so bispectrum is the size of the sum of complex-values. On the other hand, triple product is a products made by 3 complex-values. Then the size of triple product becomes the product of sizes of three complex-values.
By the way RTP(real triple product) is defined as the product of the power of three complex-values. RTP = P(f1)P(f2)P(f1+f2) Using this, the size of triple product showed to be equal with the square root of RTP. | (triple product) | = r1r2r3 = sqrt(r12r22r32) = sqrt(P(f1)P(f2)P(f1+f2)) = sqrt(RTP) Then, Bispectrum = | S (triple product) | <= S sqrt(RTPj) Consequently, Bicoherence = Bispectrum / S sqrt(RTPj) * 100 (%)

6-3. Burst Suppression Ratio

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 which used for calculation of SynchFastSlow 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.
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". 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.

6-4. Relative b Ratio

According to the review by Rampil1), "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.2) 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.

6-5. SEF95 and SEF90

The spectral edge frequency (SEF95) is the frequency below which 95% of the power in the spectrum resides. SEF95 becomes small in the state of anesthesia. "BSA" calculates SEF95 among the power spectrum of less or equal to 30.0Hz. Original "BSA" calculates SEF90 instead of SEF95, but BIS monitor calculates SEF95. So in the default setting, "BSA for BIS" calculates SEF95.

7. Data format of recorded files

All output files are closed when "Stop" button is clicked. Each data format is as follows.

7-1. Raw Wave Data

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 is added. These parameters are read and set at the start of processing.

7-2. Data format of Power spectrum and Bispectrum

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 product is then written in the same order. And in ASCII mode, the order of bispectrum and real triple product is as same as that in binary mode. But in this mode bispectrum and the square root of real triple product 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. Index = (96-f2*2)*(f2*2-1)+(f1-f2)*2

8. History of Development

1999.09.27 Ver 0.33 first version of working well
1999.11.14 Ver 0.70 change from Bicoherence to Bispectrum
1999.12.09 Ver 0.85 rewrite calculation routines
1999.12.14 Ver 0.94 added Bsa.ini
1999.12.23 Ver 1.00 first distribution version
1999.12.31 Ver 1.02 added save routine of waveform in ASCII
2000.01.03 Ver 1.03 SEF90 area changed from 0.5-47.0Hz to 0.5-30.0Hz (adaptation for pEEG and BIS)
2000.01.11 Ver 1.05 replay start time setting added and calibration modified
2000.01.12 Ver 1.10 Now power spectrum is always displayed. "Log Window" was separated from main panel.
2000.01.21 Ver 1.11 Screen Display modified.
2000.01.25 Ver 1.20 Added "Calculation Only" mode. And some displaying thread modified. 'Waveform Scale' moved to 'SetView'.
2000.01.30 Ver 1.21 finally fixed the screen problem and some small bugs are fixed. added the replaying speed limter.
2000.01.30 Ver 1.22 Option for setting string for defect value is added and bugs around Bsa.ini fixed.
2000.01.31 Ver 1.23 additional Screen problem fixD
2000.01.31 Ver 1.24 WorkDir option added in Bsa.ini.
2000.02.15 Ver 1.30 Trend added
2000.03.25 Ver 1.31 Scale of Power spectrum changed
2000.05.08 Ver 1.32B for BIS version
2000.05.14 Ver 1.33B data input routine modified.
2000.06.30 Ver 1.34B online mode bug fixedD
2000.07.03 Ver 1.35B options in original "BSA" are almost ported.
2000.07.22 This manual updated
2000.09.07 Ver 1.35B03 added Shortcut keyDThe label "SynchFS" changed to "BispRatio".
2000.09.28 Ver 1.35B4 timer bug in online mode fixed, graphic screen modified
2000.10.12 Ver 1.36B BispR bug fixed
2000.10.18 Ver 1.37B Bispectrum calculation area expanded where f1=f2
2000.11.06 Ver 2.00B Changed to bispectral calculation duration selectable. And Comment input button added
2000.11.23 Ver 2.10B BSR calculation improved. Bug fixed around utilization of artifact flag from BIS monitor.
2000.12.28 Ver 2.20B serious bug around epochs for power spectral analysis fixed. Added mean amplitude parameter in Log.
2001.01.08 Ver 2.21B Time domain analytic routine simplified.
2001.04.02 Manual modified.
2001.05.31 Manual modified.
2001.06.17 Ver 2.40B Display Thread changed to be always stayed.
2001.07.15 Ver 3.00B Major Version up !! Trend modified (can be scrolled in both direction) and moved to main panel. Averaged bicoherence is added in the trend screen. Parameter calculating interval changed to 10sec. Comment file is separated from data log file. AutoRec mode is added. SQI display added, etc.
2001.07.17 Ver 3.01B small bug around Trend thread fixed.
2001.08.02 Ver 3.02B Window Menu added, POST_OVER added, bicoherence init bug fixed, CommentOnLog flag added, Button positoin modified.
2001.08.10 Ver 3.03B small bug aroung Trend display fixed.
2001.10.06 Ver 3.04B Add Amp Trend, OVERSHOOT handling modified.
2001.10.29 Ver 3.05B OVERSHOOT handling changed back to V3.03.
2002.01.14 Ver 3.06B Focus set on Comment window added. Comfirmation Window added to Stop button. SQI graph draw modified. BSR scale changed.
2002.05.14 Ver 3.11B ShowWaveThread slightly modified
2002.05.26 Ver 3.12B Lock => TryLock
2002.05.30 Ver 3.13B TryLock bug fixed
2002.08.22 Ver 3.14B TrendThread bug fixed
2002.11.13 Ver 3.15B Work area bug fixed
2002.11.14 Ver 3.16B Child mode added
2003.01.03 Ver 3.20B Lost packet handling added
2003.05.25 Ver 3.21B TryLock routine modified for WinXP
2004.06.01 Ver 3.22B ASCII save added
2004.09.16 Ver 3.30B Probably adapted for Windows NT/2000/XP
2004.10.02 Ver 3.31B memory leak bug fixed

Copyright (c) 1999-2004 Satoshi Hagihira (

9. Epilog

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. "BSA for BIS" partially utilizes the artifact flags from BIS monitor.
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. If you want to use Bsa for research, please contact me. 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 algorithm.
You should take attention that bispectral analysis derived paremeter of "BSA", BispRatio, would not be identical to SynchFastSlow in the BIS monitor, because calculation algorithm for SynchFastSlow would not be clear.
In Ver 1.37 or later, we expanded the calculating range of bispectrum to where f1=f2. According to this change, BispRatio is now calculated from 0.5Hz<=f2<=f1<=47.0Hz(f1+f2<=47.5Hz). As a result, values of BispRatio would be slightly different from that calculated by the earlier version of BSA.
In the older 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.


  1. Rampil IJ: A Primer for EEG Signal Processing in Anesthesia. Anesthesiology 1998;98(4), 890-1002
  2. Glass PS, Bloom M, Kearse L, Rosow C, Sebel P, Manberg P: Bispectral Analysis Measures Sedation and Memory Effects of Propofol, Midazolam, Isoflurane, and Alfentanil in Healthy Volunteers. Anesthesiology 1997;86(4), 836-47
  3. Sigl JC, Chamoun NG: An intruduction to bispectral analysis for the electroencephalogram. J Clin Monit 1994;10, 392-404
  5. Nikias CL, Raghuveer MR: Bispectrum estimation: A digital signal processing framework. Proc. IEEE, 1987;75, 869-91
  6. Hagihira S, Takashina M, Mori T, et al: Practical Issues in Bispectral Analysis of Electroencephalographic Signals. Anesth Analg, 2001;93(4),966-70
  7. Hagihira S, Takashina M, Mori T, et al: Changes of Electroencephalographic Bicoherence during Isoflurane Anesthesia combined with Epidural Anesthesia. Anesthesiology, 2002;97(6), 1409-15
  8. Hagihira S, Takashina M, Mori T, et al: Electroencephalographic Bicoherence is Sensitive to Noxious Stimuli during Isoflurane or Sevoflurane Anesthesia. Anesthesiology, 2004;100(4), 818-825

Satoshi Hagihria MD, Ph.D.
Department of Anesthesiology, Osaka University Graduate School of Medicine. 2-2 Yamadaoka, Suita City, Osaka, Japan 565-0871.
Tel. +81-6(6879)3133, Fax. +81-6(6879)3139