Jan 272016

Alpha waves are generally defined as neural oscillations in the range of 7.5 Hz to 12.5 Hz. They represent the strongest electrical signals on the scalp and were first discovered by German neurologist Hans Berger in 1924). Alpha waves originate in the occipital lobe (back of the head). They are especially prominent during a state of relaxation with the eyes closed.

Due to their characteristically high power, alpha waves are the easiest EEG signals to pick up.

In order to determine the precise frequency of alpha waves as well as other neural oscillations, we implemented Power Spectral Distribution (PSD) graphs. These graphs plot the spectrum of a given EEG signal, i.e., the intensity of the signal (Db/Hz) vs. its frequency (Hz). The y-axis is logarithmic with a range from 0.1 to 100 and the x-axis is linear in frequency.

The example below shows the spectrum of the signal from the left back sensor (TP9) during a four-minute period of zazen (counting the breath).

PSD lb

The tip of the most pronounced peak falls at 8.18 Hz, at the bottom end of the alpha band.

The alpha peak is apparent in all four sensors, most prominently in the left back (TP9) sensor but also in the right back (TP10), and the sensors left front (FP1) and right front (FP2), as seen below.

 PSD lf  PSD rf
 PSD lb  PSD rb

Note that the alpha rhythm is stronger in the region near the ears (lb, rb) than in the front (lf, rf).

For a single individual (myself) over a period of twelve months, this peak has been stable during zazen practice. Across 34 sessions, the mean frequency has been 8.2 Hz with a standard deviation of 0.2 Hz.

In recordings of other people, the same peak can be seen, but at slightly different frequencies. The alpha band feature is quite robust: it seems to occur in most people, especially if they are relaxing. It occurs reliably when a person’s eyes are closed, and can also occur with eyes open as long as the eyes are relatively still and not moving about.

Among 11 different individuals of wide-ranging meditation experience, the range of the alpha peak was from 8.1 Hz to 11.0 Hz.  The mean frequency was determined to be 9.4 Hz with a standard deviation of 0.8 Hz. Thus the spread of the alpha peak frequencies across different individuals is over four times as wide (0.8 Hz vs. 0.2 Hz) as the spread of frequencies for a single individual.

Returning to the original recording of one individual, we see segments for three separate conditions: reading, following the breath, and counting the breath (eyes open for all three segments). Below is a spectrogram of the full session.


The alpha power is stronger during meditation (following or counting the breath) than it is during reading. This is indicated by the strong horizontal yellow line at frequency 8 Hz for the meditation conditions and its near absence during reading.

The PSD charts for each of these three intervals, measured at the left back (lb) sensor provides more detail on the predominate frequencies.

PSD for counting breath

PSD for following breath

PSD for counting breath

Values for alpha peaks are reading: 4 dB/Hz; following (eyes open): 32 dB/Hz and counting (eyes open): 40 dB/Hz.

A strong alpha peak is not necessarily a signature of meditation, but reading definitely suppresses the alpha oscillations compared to two kinds of meditation with eyes open.

Our next task will be to use Power Spectral Density graphs to examine other regions of the frequency spectrum, in delta, theta, beta and gamma bands.

Jan 272016

With new graphing tools available in the Physiology Viewer 2.0, previous recordings can be reexamined and studied in more detail.

September 10, 2015 was the 5th day of a 7-day sesshin (meditation retreat) at Tahoma Monastery. At the end of the day, after the last round of formal meditation, I recorded my brainwaves, as I did each day of the retreat.

Below is a graph that was derived from an EEG recording of fifteen minutes of meditation. It shows signal power for beta and gamma frequency bands measured at the left front sensor.

absolute power - full session


We note that for a period of about 400 seconds near the beginning, there is a gradual and relatively uniform increase in beta and gamma power. Let us focus on a region of interest, the interval from 50-450 seconds.

We replot the graph for the region of interest and then label two sub-regions, each two minutes long, “first 2 min” and “4 min later”. The purpose of this is simply to have an earlier and a later region to compare.

absolute power - zoomed in

Characteristics of the two intervals can also be compared by examining the two radar charts below.  In these charts, absolute band power for all four sensors is included.


The signal at the left front sensor is of particular interest as it shows a significant increase in beta and gamma power. The Physiology Viewer, shown below provides new ways of examining the data. In particular, a spectrogram and a Power Spectral Density (PSD) graph are part of the suite data visualization tools.

Physiology Viewer 2.0


We have chosen to identify two 120-second intervals with the names “zazen – first 2 min” and “zazen – 4 min later”. Selecting these individual intervals allows us to examine the EEG signal in more detail.

A spectrogram is a graph of frequency vs. time. Frequency is plotted on the vertical axis and time along the x-axis.

We select the Spectrogram for the left front sensor (lf) during the entire session. The result is a frequency vs. time graph where the intensity of each frequency is indicated by color. Here, yellow indicates greater intensity than blue. The associated color bar serves as a legend.


Note that during the “first 2 min” interval, there is less yellow in the frequency range from 12-50Hz (and hence, less power in the beta and gamma bands) than there is during the “4 min later” interval.

In addition, a horizontal yellow band runs through the entire session at a frequency value of about 8 Hz. This is in the alpha band. It will be readily apparent when we view these data using PSD graphs.

Note: Regarding the ‘vertical bands’ in the spectrogram, see a later post, Correlations of brain waves with respiration cycle.

Power Spectral Density (PSD) Graph

The PSD graph displays a spectrum of the signal. Frequency (Hz) is plotted on the horizontal axis and intensity of the signal (dB/Hz) on the vertical axis. The graphs below show the spectral composition of the two selected intervals with frequency bands indicated in color.

PSD - first 2 min

PSD - 4 min later

We see clearly how the beta and gamma intensity have increased over the course of a few minutes. While there are several peaks in the beta and gamma bands, it is unclear at this time whether a given peak is characteristic of an individual over a long time, as the alpha peak seems to be, or whether different individuals display commonly identifiable peaks.


Jan 272016

This post is directed to programmers who are interested in seeing the code I’ve written to display graphs. Others may want to skip ahead.

The Physiology Viewer program has undergone a reorganization that makes it faster and more stable. In addition, there are two new features for visualizing signals in the frequency domain: spectrograms and graphs of power spectral density (PSD). Finally, it is now possible to overlay the breath signal over a spectrogram, which provides a new tool for investigating the correlation between brain waves and breath.

Physiology Viewer 2.0 Main tab

The combo box just beneath the title is used to select a particular recording. The text box displays comments referring to that recording.

There are up to four lines to the right of the text box indicating which kind of data was recorded and at what sampling rate (EEG, heart, breath and button press).

The check boxes to the right of Time Series, d, t, a, b, g correspond to the frequency bands delta, theta, alpha, beta and gamma. Data can be displayed either as absolute band power or relative. Median or mean values can be superimposed on the graph as desired.

Check boxes p and v refer to respiration (pressure) and electrocardiogram (voltage) signals. The check box s refers to input from a button device ( a custom current probe connected to the LabQuest logging device).

The letters c and m represent the Concentration and Mellow values that are automatically computed from a Muse proprietary algorithm. Since we don’t know what this algorithm is, I have not used it in my research, but have made it available in case we want to compare our results with these functions later.

Check boxes j and k are used to indicate jaw clench and eye blink events, which are detected by the Muse headband. Jaw clench and eye blinks may be a useful way for subjects to indicate internal mental states.

On the right-hand side is a graphic representing the subject’s head (nose facing upward, ears to the side). The four radio buttons surrounding the head graphic are used to select the sensor of interest.

Clicking on the Display button brings up a graph or chart corresponding to current selection of Time Series, Spectrogram, PSD vs. frequency, Raw EEG, Radar Chart and Table. Checking the Overlay breath check box next to Spectrogram brings up a spectrogram with the breath signal superimposed. The dropdown list box next to Table provides options for mean, median, standard deviation and mean combined with standard deviation.

The rows beneath Intervals, t_initial and t_final can be used to assign arbitrary names to time intervals within the session. Any region of interest can be named. The Save button must be clicked to save these data into the Excel workbook, EEG_CardioRespSessions.xls.

Below is an example of a spectrogram for an interval of zazen which shows the typical alpha signal around 8 Hz and an unusually strong signal in the beta band.


Below is the PSD spectrum for the same interval, showing the beta peak to be centered around 28 Hz.

PSD showing unusually strong beta peak

Both spectrograms and PSD graphs use the Fast Fourier Transform (FFT) algorithm operating upon sequential series of 1024 samples within the time series data. Spectrograms are generated using the specgram() function in the matplotlib library.

Our PSD graphs are generated using the psd() function from the matplotlib library. It uses Welch’s method with NFFT=1024, noverlap=512, the default ‘hanning’ window and a sampling rate of 220 samples/s. Color patches were added using the add_patch method of figure subplots.

The Physiology Viewer, written in Python 3.4 and is available at