I wear the Model X16-1C accelerometer at night, Velcro'ed to the top of my Quattro FX head gear. The mask head gear is conveniently made to accommodate Velcro because that is how the head gear is adjusted. I put the accelerometer on the top of my head because there's a strap there to attach to and it's out of the way of my nightly movements. The accelerometer records X, Y, and Z positions into text files from moment to moment, which I capture and record into a database.
I "calibrated" the meaning of the X, Y, and Z values by putting my head and body into known positions for a while and then looked at the values. The chart below shows last night's data with some notations about sleeping position.
From this data I can tell what sleeping position I'm in when and how often I'm changing positions. In the beginning I go to sleep on my tummy with my head to the left, but later, in the middle of the night I tend to roll onto my back, then back on my side again, and back and side... etc. Near the end of the night you can see that I'm starting into a waking process during sleep as on the far right I become more active, changing positions / moving frequently.
In another posting later I'll show how I relate positions to my brain waves from the Zeo and my breathing and apnea events.
The analytical disassembly of Sleep Apnea while improving sleep and quality of life.
Showing posts with label Data. Show all posts
Showing posts with label Data. Show all posts
Sunday, August 19, 2012
Thursday, June 21, 2012
Model X16-1C Accelerometer
As I mentioned in a previous post, "BasementDwellingGeek" at cpapTalk.com talked about an accelerometer for measuring movements during sleep, breathing, sleeping positions and I suppose numerous other things. My interest is in sleeping positions. It is the Gulf Coast X16-1C Accelerometer for $89, plus shipping.
When I received it this is what I found in the box...
The blue device at the top is the accelerometer itself and the black item below it is a rewindable USB cord, very handy because the accelerometer is actually a USB thumb drive (aka RAM drive, nice for getting your data!). The rewindable USB cord is handy as it could be difficult to plug the accelerometer directly into your PC in close-quarters. It shipped with a necessary AA battery and a screw driver too, so you could open the accelerometer and put in the battery. They sent everything needed to fire up the unit. I was expecting just the blue accelerometer. I got more than I expected, smart on their part. You have to put in the battery paying attention to which direction the (+) terminal goes, then you will find that the manual is on the accelerometer's thumb drive when you plug in the accelerometer to the USB (and the drivers install). The only suggestion I would make to Gulf Coast is to put a little slip of paper in the box describing how to put the battery in (which way) and that the manual is on the RAM drive.
The accelerometer's case is just right. Rounded corners, no wires dangling, no connectors and a nice cap over the USB connector. It's 3-4 inches long and probably less than 1" wide and deep.
Since I was interested in sleeping positions, I needed a way to attach this to me. I had some velcro straps I was not using so I rubberbanded the accelerometer in the velcro and then attached it to my CPAP mask headgear, which is velcro-friendly, that's the way you adjust the straps on the headgear.
Good. It is actually secure. It's hard to remove the velcro from the headgear.
Configurable
This device is configurable by adding/changing/removing configuration settings in a text file to customize how often it records values, the number of readings per text (CSV) file it puts on its RAM drive, numerous others. You have to use WordPad in Windows to do this, not Notepad (so they say). Something about proper line terminations (Carriage Return Line Feed stuff).
XYZ
The nice thing about this unit is that it senses and records gravitational G's. That means it's recording positions, not just movement. If you have it at different orientations, it's recording different G's on it's X, Y, and Z axes thus different X, Y, and Z values. So, if I strap it to my body / head and rotate my head, or roll from my tummy to my back when sleeping, there will be levels of X, Y, Z that correlate to those positions. Perfect!
Surprise Bonus... Temperature
Come to find out when this unit writes files it records the temperature for each file following the hour change. Who knew! Great! Now I can have my sleeping temperature too! Perfecto!
More later on the XYZ and sleeping position with some graphs...
Until then.
When I received it this is what I found in the box...
The blue device at the top is the accelerometer itself and the black item below it is a rewindable USB cord, very handy because the accelerometer is actually a USB thumb drive (aka RAM drive, nice for getting your data!). The rewindable USB cord is handy as it could be difficult to plug the accelerometer directly into your PC in close-quarters. It shipped with a necessary AA battery and a screw driver too, so you could open the accelerometer and put in the battery. They sent everything needed to fire up the unit. I was expecting just the blue accelerometer. I got more than I expected, smart on their part. You have to put in the battery paying attention to which direction the (+) terminal goes, then you will find that the manual is on the accelerometer's thumb drive when you plug in the accelerometer to the USB (and the drivers install). The only suggestion I would make to Gulf Coast is to put a little slip of paper in the box describing how to put the battery in (which way) and that the manual is on the RAM drive.
The accelerometer's case is just right. Rounded corners, no wires dangling, no connectors and a nice cap over the USB connector. It's 3-4 inches long and probably less than 1" wide and deep.
Since I was interested in sleeping positions, I needed a way to attach this to me. I had some velcro straps I was not using so I rubberbanded the accelerometer in the velcro and then attached it to my CPAP mask headgear, which is velcro-friendly, that's the way you adjust the straps on the headgear.
Good. It is actually secure. It's hard to remove the velcro from the headgear.
Configurable
This device is configurable by adding/changing/removing configuration settings in a text file to customize how often it records values, the number of readings per text (CSV) file it puts on its RAM drive, numerous others. You have to use WordPad in Windows to do this, not Notepad (so they say). Something about proper line terminations (Carriage Return Line Feed stuff).
XYZ
The nice thing about this unit is that it senses and records gravitational G's. That means it's recording positions, not just movement. If you have it at different orientations, it's recording different G's on it's X, Y, and Z axes thus different X, Y, and Z values. So, if I strap it to my body / head and rotate my head, or roll from my tummy to my back when sleeping, there will be levels of X, Y, Z that correlate to those positions. Perfect!
Surprise Bonus... Temperature
Come to find out when this unit writes files it records the temperature for each file following the hour change. Who knew! Great! Now I can have my sleeping temperature too! Perfecto!
More later on the XYZ and sleeping position with some graphs...
Until then.
Monday, June 18, 2012
New Toy: Accelerometer
On a recommendation by "BasementDwellingGeek" at cpapTalk.com I got a new toy... an accelerometer. It is Model X16-1C made by Gulf Coast Data Concepts in Waveland, Mississippi. Here's the web page to the device:
Gulf Coast X16-1C Accelerometer
It cost me $89, plus shipping. Is it worth it? For me, clearly yes!
Why an accelerometer? Well, it clearly tells me my sleeping position.
In the coming days I'll write up what it looks like, what I got with my order, how I set things up to use it, the data it generates and what it is telling me.
Gulf Coast X16-1C Accelerometer
It cost me $89, plus shipping. Is it worth it? For me, clearly yes!
Why an accelerometer? Well, it clearly tells me my sleeping position.
In the coming days I'll write up what it looks like, what I got with my order, how I set things up to use it, the data it generates and what it is telling me.
Monday, March 19, 2012
Making a Zeo Cable
The Zeo Bedside unit has a serial port which emits the raw signal it picks up from your forehead, the brainwaves; Delta, Theta, Alpha, Beta 1, Beta 2, Beta 3 and Gamma, the sensor impedance and also the 30 second sleep stages. How do you get this data?
1) Make a cable
2) Get and install a "Real time" firmware upgrade into the Zeo Bedside unit.
3) Get ZeoScope (free)
--------------------
The Cable
The Zeo Bedside's serial port can be connected to your PC using a Serial -to- USB cable, but Zeo does not sell one and if you want the data, you must make it. The cable itself is a RS-232 Serial to USB, so there's a chip in the USB connector thus one cannot use a standard USB cable and "hack it up". To make mine I followed the directions here:
http://www.sleepstreamonline.com/rdl/starting.html
To make it, I got these parts:
http://www.mouser.com/Search/ProductDet ... 16-02-1114
(5 each, to have a couple spares, they are cheap... wire termination connector clip thingys)
http://www.mouser.com/Search/ProductDet ... 50-57-9405
(1 each the plastic 5 pin connector)
http://www.mouser.com/Search/ProductDet ... 32R-3V3-WE
(1 each, $20... the cable itself)
--------------------
The Firmware Upgrade
It's explained step by step at the same web page on how to make the cable:
http://www.sleepstreamonline.com/rdl/starting.html
--------------------
ZeoScope
ZeoScope is PC software available for free here:
http://www.github.com/dancodru/ZeoScope
Have fun watching your brainwaves streaming by... Look left, look right, watch the wave patterns. Take off the Zeo headband and press it against your chest... WOO... One of the weirdest EKG's you've ever seen. :)
1) Make a cable
2) Get and install a "Real time" firmware upgrade into the Zeo Bedside unit.
3) Get ZeoScope (free)
--------------------
The Cable
The Zeo Bedside's serial port can be connected to your PC using a Serial -to- USB cable, but Zeo does not sell one and if you want the data, you must make it. The cable itself is a RS-232 Serial to USB, so there's a chip in the USB connector thus one cannot use a standard USB cable and "hack it up". To make mine I followed the directions here:
http://www.sleepstreamonline.com/rdl/starting.html
To make it, I got these parts:
http://www.mouser.com/Search/ProductDet ... 16-02-1114
(5 each, to have a couple spares, they are cheap... wire termination connector clip thingys)
http://www.mouser.com/Search/ProductDet ... 50-57-9405
(1 each the plastic 5 pin connector)
http://www.mouser.com/Search/ProductDet ... 32R-3V3-WE
(1 each, $20... the cable itself)
--------------------
The Firmware Upgrade
It's explained step by step at the same web page on how to make the cable:
http://www.sleepstreamonline.com/rdl/starting.html
--------------------
ZeoScope
ZeoScope is PC software available for free here:
http://www.github.com/dancodru/ZeoScope
Have fun watching your brainwaves streaming by... Look left, look right, watch the wave patterns. Take off the Zeo headband and press it against your chest... WOO... One of the weirdest EKG's you've ever seen. :)
Wednesday, February 22, 2012
Clustering Zeo Brainwaves
One reason "sleep stages" exist is so one can quantify how much time was spent in what kind of sleep. It is a multiple level discrete classification of what in reality is a continuous process, but none the less the concept of "sleep stages" is useful. I would like to identify the nature of my sleep and associate how I feel the next day based on how much of what kind of sleep I had. If I can identify and count the duration of different kinds of sleep I might be able to
correlate that with how I feel, hence I could then get a handle on
sleep quality. People say the more "Deep" and "REM" you get the better,
but I'm guessing there's more to that story.
The challenge I have is that I only have a Zeo, which is a 3 lead frontal lobe EEG non-medical device and I get a bit confused on how sleep is categorized based on the dominance of this wave or that. This is compounded by each person being different and I read today that Obstructive Sleep Apnea (OSA) persons have somewhat abnormal sleep as well. I could use Zeo's classification of sleep stages (I might, I have them in real-time) or I could come up with my own scheme. In this adventure, I going to make my own.
I have Zeo brainwaves (Delta, Alpha, Betas, Theta, Gamma) and sleep stages (Wake, REM, Light, Deep) gathered via a serial port from the Zeo Bedside unit archived in real-time to a historian. I can extract the data between one date/time and another such as a night's sleep. Last night's data looks like this:
Now, I'm no expert in sleep stages, but I am one in data analysis and I see a few different forms of sleep. For this adventure I'm not going to try to identify the sleep stages using the established medical definitions (if it is even possible with the Zeo), but I'm going to let the data itself decide what it sees. How am I going to do this?
Clustering
Clustering is a data method that separates data into "piles" (clusters) based on their similarities and differences. In this case the software looks at each moment in time and decides if the Delta, Alpha, Betas, Theta, Gamma wave values (amplitudes) are similar to all the other cases. In this exercise I took noise out of the data by taking 30-45 second averages of the data (just a double-click in our software). Then using a "Self Organizing Map" (SOM), I group the data based on its similarity. SOM's use a process that moves similar data towards each other, and dissimilar data away from each other, on a two dimensional map. That way I can take the 7 wave forms (7 dimensional data) and project it on a 2D surface, like moving chips around on a table, putting similar ones together automatically. We humans can think in 2D and 3D pretty good. 7D is very difficult for us mere mortals. What you get after the SOM groups the data is something that looks like this:
Very pretty. Rather impressive. Good to have on your desktop when the boss walks by if you are a data analysis person (wink). Each square has very similar data within it and neighboring squares also have data with similar characteristics. The closer the squares, the closer the values. Adjacent red regions contain very similar values. The green, yellow and blue indicate larger differences, like mountains or valleys between the red regions. I can group these squares (and the data within them) into clusters of similar data by setting a "data distance" (dissimilarity) criteria. Below you can see 5 different gray regions (clusters) each of which contain similar data.
OK, so what, you ask? Well, I can then export out the members (rows of data) of those clusters and their cluster number. That cluster number is very similar in concept as a sleep stage and look at what it shows us...
At the very bottom you can see the blue line that is our "home-made" Sleep Stages but in a different numbering scheme, independent of any medical professional, based on my personal data. In comparing the cluster number to the Zeo's sleep stages I can see it is somewhat similar to what the Zeo indicates, but I also see that my scheme identifies the character of the data better, because the Zeo is trying to conform to medical definitions where mine conforms reality.
The blue line is actually smoothed with a simple algorithm that says if the current row of data is uncategorized (not in a cluster) then presume it to be in the just-prior cluster. That's not perfect, but a pretty good assumption on a real-time continuous process like the brain. Doing this type of post-processing helps reduce the noise in our new "Sleep Stage".
Next Steps
I can run this clustering "model" in real time with the wave data coming in and auto-assigned to my custom sleep stages and either in real time or after I wake up I can count how much time I slept in what type of sleep. I can use this, or the Zeo's sleep stages, or both to hopefully correlate that with how I feel the next day, and also correlate it with what I did before to get such sleep. We'll see about that in future posts.
The challenge I have is that I only have a Zeo, which is a 3 lead frontal lobe EEG non-medical device and I get a bit confused on how sleep is categorized based on the dominance of this wave or that. This is compounded by each person being different and I read today that Obstructive Sleep Apnea (OSA) persons have somewhat abnormal sleep as well. I could use Zeo's classification of sleep stages (I might, I have them in real-time) or I could come up with my own scheme. In this adventure, I going to make my own.
I have Zeo brainwaves (Delta, Alpha, Betas, Theta, Gamma) and sleep stages (Wake, REM, Light, Deep) gathered via a serial port from the Zeo Bedside unit archived in real-time to a historian. I can extract the data between one date/time and another such as a night's sleep. Last night's data looks like this:
Now, I'm no expert in sleep stages, but I am one in data analysis and I see a few different forms of sleep. For this adventure I'm not going to try to identify the sleep stages using the established medical definitions (if it is even possible with the Zeo), but I'm going to let the data itself decide what it sees. How am I going to do this?
Clustering
Clustering is a data method that separates data into "piles" (clusters) based on their similarities and differences. In this case the software looks at each moment in time and decides if the Delta, Alpha, Betas, Theta, Gamma wave values (amplitudes) are similar to all the other cases. In this exercise I took noise out of the data by taking 30-45 second averages of the data (just a double-click in our software). Then using a "Self Organizing Map" (SOM), I group the data based on its similarity. SOM's use a process that moves similar data towards each other, and dissimilar data away from each other, on a two dimensional map. That way I can take the 7 wave forms (7 dimensional data) and project it on a 2D surface, like moving chips around on a table, putting similar ones together automatically. We humans can think in 2D and 3D pretty good. 7D is very difficult for us mere mortals. What you get after the SOM groups the data is something that looks like this:
Very pretty. Rather impressive. Good to have on your desktop when the boss walks by if you are a data analysis person (wink). Each square has very similar data within it and neighboring squares also have data with similar characteristics. The closer the squares, the closer the values. Adjacent red regions contain very similar values. The green, yellow and blue indicate larger differences, like mountains or valleys between the red regions. I can group these squares (and the data within them) into clusters of similar data by setting a "data distance" (dissimilarity) criteria. Below you can see 5 different gray regions (clusters) each of which contain similar data.
OK, so what, you ask? Well, I can then export out the members (rows of data) of those clusters and their cluster number. That cluster number is very similar in concept as a sleep stage and look at what it shows us...
At the very bottom you can see the blue line that is our "home-made" Sleep Stages but in a different numbering scheme, independent of any medical professional, based on my personal data. In comparing the cluster number to the Zeo's sleep stages I can see it is somewhat similar to what the Zeo indicates, but I also see that my scheme identifies the character of the data better, because the Zeo is trying to conform to medical definitions where mine conforms reality.
The blue line is actually smoothed with a simple algorithm that says if the current row of data is uncategorized (not in a cluster) then presume it to be in the just-prior cluster. That's not perfect, but a pretty good assumption on a real-time continuous process like the brain. Doing this type of post-processing helps reduce the noise in our new "Sleep Stage".
Next Steps
I can run this clustering "model" in real time with the wave data coming in and auto-assigned to my custom sleep stages and either in real time or after I wake up I can count how much time I slept in what type of sleep. I can use this, or the Zeo's sleep stages, or both to hopefully correlate that with how I feel the next day, and also correlate it with what I did before to get such sleep. We'll see about that in future posts.
The Button Box
I've begun the collection of a variety of factors that chronicle my response time, how I feel, nutritional factors, exercise, stress at home and work, medications I take, APAP settings, sleep environment, blood pressure, Zeo sleep scores, etc. To do this, I have created a "button box" that I can click an appropriate button and record these things. It's not a real flexible application suitable for others, but it does the job OK for me. I think I have most of the factors I would like to capture and I may add more as I go forward. The most important is how I feel and so I have buttons for overall goodness (1-10), groggy, achy, headache, puffiness, arrhythmias.
When I click a button, depending on the nature of what I'm recording, different things happen. For response time, I am asked when I woke up and how long it takes to set a time control is logged. Then a "whack-a-mole" type of little game appears where I have to click on a image which then randomly moves to another position on the screen. It moves 10 times. The average time between the image appearing and when it gets clicked is recorded. This actually seems to capture my hand-eye coordination skills fairly well. For exercise, it asks for the start time, duration and the average heart rate (a proxy for exertion). For single dose things, like taking an Excedrin (aspirin / acetaminophen), it just records a "1" in the Excedrin variable. Some factors ask for a judgment on a scale of 1-10. All entries are time stamped so I can later compute their timing, inter-relationships through time, etc. If I look at them as being before a sleep they potentially could then be a causal factor, or perhaps look at them as coming after sleep, making them a potential a consequence of good or poor sleep.
What am I going to do with this data? A lot! That will be the fuel for a lot of future topics.
Greatest challenge: The discipline to use it. When I do something, I need to click
When I click a button, depending on the nature of what I'm recording, different things happen. For response time, I am asked when I woke up and how long it takes to set a time control is logged. Then a "whack-a-mole" type of little game appears where I have to click on a image which then randomly moves to another position on the screen. It moves 10 times. The average time between the image appearing and when it gets clicked is recorded. This actually seems to capture my hand-eye coordination skills fairly well. For exercise, it asks for the start time, duration and the average heart rate (a proxy for exertion). For single dose things, like taking an Excedrin (aspirin / acetaminophen), it just records a "1" in the Excedrin variable. Some factors ask for a judgment on a scale of 1-10. All entries are time stamped so I can later compute their timing, inter-relationships through time, etc. If I look at them as being before a sleep they potentially could then be a causal factor, or perhaps look at them as coming after sleep, making them a potential a consequence of good or poor sleep.
What am I going to do with this data? A lot! That will be the fuel for a lot of future topics.
Greatest challenge: The discipline to use it. When I do something, I need to click
Wednesday, February 1, 2012
Still Preparing: Events
I'm still preparing for having all the data I need / want. I have the Zeo's brainwaves in real-time, Contec CMS 50E post-sleep (which is fine getting it after the fact for now) and the ResMed S9 AutoSet data post-sleep (I don't know how to get it real-time, tho it has a serial port). So, for the real-time time series I'm in pretty good shape. However, I need to track various "events".
Events
An event is something that occurs at a time and generally has a start-time, end-time and duration. Having any two allows you to calculate the third automatically. So we put an "Event" object into our software and put them to use because I have events from the ResMed S9 AutoSet; hypopneas, obstructive apneas, central apneas and recording start events. In ResMed terms, the apneas have an end-time and duration because they are determined after the fact, and the recording start event is instantaneous: the start-time only. These are already gathered and stored in our real-time historian with the ResMed data collection we do. This is spiffy because our software has multiple tasks, an spO2 and ResMed file watcher watching a directory and when I've gathered the files I just drag and drop them into that folder where they are "sucked up" and the data is put into the real-time database and the original files are automatically archived for back-up purposes. OK, I'm getting off topic...
I need to add my own events too, such as periods of time I feel groggy, or really good, or something else of merit that should be recorded.
Doses
A close cousin to an event is what I call a "Dose". This is an event like activity (has a time and maybe a duration) that has a quantity associated with it. I call it a Dose because it's like taking a medicine. "I took X mg of Y drug at Z time", or I just drank a full pot of coffee at this time. Even exercise is like a dose, "I averaged an aerobic heart rate of X from this time to that time". Having these events, time stamped, with quantities, gives me information about how much, how long before sleep-onset they occurred, or totaled during the day. This way I can log that I had a pound of steak for dinner, or took two Excedrin at 10 PM or had an hour of "this strenuous" exercise at 2 PM or 1 cup of Tulsi Tea 10 minutes before bed, etc.
Once I have these Events and Doses, and a means to enter them easily, I'll have I think all that I need.
Events
An event is something that occurs at a time and generally has a start-time, end-time and duration. Having any two allows you to calculate the third automatically. So we put an "Event" object into our software and put them to use because I have events from the ResMed S9 AutoSet; hypopneas, obstructive apneas, central apneas and recording start events. In ResMed terms, the apneas have an end-time and duration because they are determined after the fact, and the recording start event is instantaneous: the start-time only. These are already gathered and stored in our real-time historian with the ResMed data collection we do. This is spiffy because our software has multiple tasks, an spO2 and ResMed file watcher watching a directory and when I've gathered the files I just drag and drop them into that folder where they are "sucked up" and the data is put into the real-time database and the original files are automatically archived for back-up purposes. OK, I'm getting off topic...
I need to add my own events too, such as periods of time I feel groggy, or really good, or something else of merit that should be recorded.
Doses
A close cousin to an event is what I call a "Dose". This is an event like activity (has a time and maybe a duration) that has a quantity associated with it. I call it a Dose because it's like taking a medicine. "I took X mg of Y drug at Z time", or I just drank a full pot of coffee at this time. Even exercise is like a dose, "I averaged an aerobic heart rate of X from this time to that time". Having these events, time stamped, with quantities, gives me information about how much, how long before sleep-onset they occurred, or totaled during the day. This way I can log that I had a pound of steak for dinner, or took two Excedrin at 10 PM or had an hour of "this strenuous" exercise at 2 PM or 1 cup of Tulsi Tea 10 minutes before bed, etc.
Once I have these Events and Doses, and a means to enter them easily, I'll have I think all that I need.
Friday, January 27, 2012
Now have Zeo, CMS and ResMed Data Together
OK, we finally have a successful mechanism to import, store, extract and synchronize Zeo brainwaves and sleep stage classifications (gathered real-time), CMS50E heart rate and spO2 (gathered post-sleep) and now data from the ResMed S9 AutosSet (post-sleep also). The CMS50E data we, in theory, could capture in real-time as well, but we will leave it a post-sleep import for now. If we need to do something with it in real-time we'll do it.
Here's an example chart of such synchronized data:
So, in our database we have:
CMS50E:
spO2, Pulse
Zeo (real time)
Delta, Theta, Alpha, Beta 1, Beta 2, Beta 3, Gamma, Sleep Stage,
ResMed:
Mask Pres, Therapy Pres, Exp Press, Leak, RR, Vt, MV, Snore Index, FFL Index, Flow_HD, Mask Pres_HD
Next, I'll come up with a way to summarize various measures from these time series on a nightly basis, as I think I want to analyze and optimize on a nightly basis... what happened the day(s) before, what happened during the night and how will I feel the next day.
As a part of this, I will also create my own "Sleep Stage" metrics, probably not following the medical standards, but something more meaningful. Sleep is not "binary mutually exclusive states" (Wake, Light, Deep, REM) but as can be seen in the brainwaves, a continuous shifting between various forms of sleep.
Here's an example chart of such synchronized data:
So, in our database we have:
CMS50E:
spO2, Pulse
Zeo (real time)
Delta, Theta, Alpha, Beta 1, Beta 2, Beta 3, Gamma, Sleep Stage,
ResMed:
Mask Pres, Therapy Pres, Exp Press, Leak, RR, Vt, MV, Snore Index, FFL Index, Flow_HD, Mask Pres_HD
Next, I'll come up with a way to summarize various measures from these time series on a nightly basis, as I think I want to analyze and optimize on a nightly basis... what happened the day(s) before, what happened during the night and how will I feel the next day.
As a part of this, I will also create my own "Sleep Stage" metrics, probably not following the medical standards, but something more meaningful. Sleep is not "binary mutually exclusive states" (Wake, Light, Deep, REM) but as can be seen in the brainwaves, a continuous shifting between various forms of sleep.
Subscribe to:
Posts (Atom)







