<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments for Raising the Sail</title>
	<atom:link href="http://www.tranzoa.net/~alex/blog/?feed=comments-rss2" rel="self" type="application/rss+xml" />
	<link>http://www.tranzoa.net/~alex/blog</link>
	<description>Something said once upon a time...</description>
	<lastBuildDate>Sat, 12 Nov 2011 03:10:57 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
	<item>
		<title>Comment on CMS50E Pulse Oximeter USB / Serial Protocol by alex</title>
		<link>http://www.tranzoa.net/~alex/blog/?p=371&#038;cpage=1#comment-1915</link>
		<dc:creator>alex</dc:creator>
		<pubDate>Sat, 12 Nov 2011 03:10:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.tranzoa.net/~alex/blog/?p=371#comment-1915</guid>
		<description>I tried this calculation in the spreadsheet (  =B4 * (D4 + 1) / 4.5  ) to avoid zeroing the waveform values when the &quot;signal strength&quot; value is zero.

or, in English:

waveform_value = byte 2
signal_strength = byte 1, low 4 bits
y = (waveform_value * (signal_strength + 1)) / 4.5

The gltches that are smoothed in the spreadsheet are smoothed a bit less than using the (B4*D4)/4 calculation, but are still smoothed.

I do not really prefer the waveform display using this */4.5 calculation, though, to be honest.</description>
		<content:encoded><![CDATA[<p>I tried this calculation in the spreadsheet (  =B4 * (D4 + 1) / 4.5  ) to avoid zeroing the waveform values when the &#8220;signal strength&#8221; value is zero.</p>
<p>or, in English:</p>
<p>waveform_value = byte 2<br />
signal_strength = byte 1, low 4 bits<br />
y = (waveform_value * (signal_strength + 1)) / 4.5</p>
<p>The gltches that are smoothed in the spreadsheet are smoothed a bit less than using the (B4*D4)/4 calculation, but are still smoothed.</p>
<p>I do not really prefer the waveform display using this */4.5 calculation, though, to be honest.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on CMS50E Pulse Oximeter USB / Serial Protocol by fmcard</title>
		<link>http://www.tranzoa.net/~alex/blog/?p=371&#038;cpage=1#comment-1914</link>
		<dc:creator>fmcard</dc:creator>
		<pubDate>Fri, 11 Nov 2011 14:04:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.tranzoa.net/~alex/blog/?p=371#comment-1914</guid>
		<description>Hi Alex, I send you some very interesting emails.
For other blog readers, please have a look at the document:
&lt;a href=&quot;http://goo.gl/Ltmhr</description>
		<content:encoded><![CDATA[<p>Hi Alex, I send you some very interesting emails.<br />
For other blog readers, please have a look at the document:<br />
&lt;a href=&quot;<a href="http://goo.gl/Ltmhr" rel="nofollow">http://goo.gl/Ltmhr</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on CMS50E Pulse Oximeter USB / Serial Protocol by alex</title>
		<link>http://www.tranzoa.net/~alex/blog/?p=371&#038;cpage=1#comment-1913</link>
		<dc:creator>alex</dc:creator>
		<pubDate>Fri, 11 Nov 2011 09:46:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.tranzoa.net/~alex/blog/?p=371#comment-1913</guid>
		<description>I sure wondered about those 4, duplicate bits, too. No idea why there are there, though the output from the device is clearly not a priority for the device. (I say that because the calculations and screen updates are done instead of output if there is not enough CPU to do everything. Which happens at times.) Anyway, I&#039;ve modified tz_pulse_server.py (which is the web server that serves http://www.tranzoa.net/alex_pulse) to print on my screen something if those 4 bits are ever *not* a duplicate of the top bits of the waveform.

Multiplier: My mistake. I thought from your earlier comment that you had multiplied the values with a +2 multiplier. Certainly, those 3 bits can&#039;t be a multiplier when those they are zero! :)

What&#039;s the error from Python now? (You can email it directly to my.) I&#039;d hoped to have fixed it so you could run tz_cms50.py without pygooglechart.</description>
		<content:encoded><![CDATA[<p>I sure wondered about those 4, duplicate bits, too. No idea why there are there, though the output from the device is clearly not a priority for the device. (I say that because the calculations and screen updates are done instead of output if there is not enough CPU to do everything. Which happens at times.) Anyway, I&#8217;ve modified tz_pulse_server.py (which is the web server that serves <a href="http://www.tranzoa.net/alex_pulse" rel="nofollow">http://www.tranzoa.net/alex_pulse</a>) to print on my screen something if those 4 bits are ever *not* a duplicate of the top bits of the waveform.</p>
<p>Multiplier: My mistake. I thought from your earlier comment that you had multiplied the values with a +2 multiplier. Certainly, those 3 bits can&#8217;t be a multiplier when those they are zero! <img src='http://www.tranzoa.net/~alex/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>What&#8217;s the error from Python now? (You can email it directly to my.) I&#8217;d hoped to have fixed it so you could run tz_cms50.py without pygooglechart.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on CMS50E Pulse Oximeter USB / Serial Protocol by fmcard</title>
		<link>http://www.tranzoa.net/~alex/blog/?p=371&#038;cpage=1#comment-1912</link>
		<dc:creator>fmcard</dc:creator>
		<pubDate>Fri, 11 Nov 2011 07:33:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.tranzoa.net/~alex/blog/?p=371#comment-1912</guid>
		<description>About byte4... is very interesting to notice that the 4 bits are not a real duplication of the 4 high bits of the waveform but an approximation, taking care of the value of the lowest 3 bits of  the waveform... Would be very nice to understand WHY they are in the stream! 

About the multiplier... I don&#039;t understand if you agree that these bits are a multiplier or not... and why you suspect that we have add 2 to the 3 bit value so that 010 means 4 and not 2?

About the &quot;Flatten out&quot;... I&#039;m still not able to run your code in pyton, so is difficult to understand the problem. With Matlab plots I don&#039;t have problems. The only thing I hat to take care is to convert the integer 8bit value to double precision value before going the multiplication to avoid that non integer values after the multiplication are rounded to an integer.</description>
		<content:encoded><![CDATA[<p>About byte4&#8230; is very interesting to notice that the 4 bits are not a real duplication of the 4 high bits of the waveform but an approximation, taking care of the value of the lowest 3 bits of  the waveform&#8230; Would be very nice to understand WHY they are in the stream! </p>
<p>About the multiplier&#8230; I don&#8217;t understand if you agree that these bits are a multiplier or not&#8230; and why you suspect that we have add 2 to the 3 bit value so that 010 means 4 and not 2?</p>
<p>About the &#8220;Flatten out&#8221;&#8230; I&#8217;m still not able to run your code in pyton, so is difficult to understand the problem. With Matlab plots I don&#8217;t have problems. The only thing I hat to take care is to convert the integer 8bit value to double precision value before going the multiplication to avoid that non integer values after the multiplication are rounded to an integer.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on CMS50E Pulse Oximeter USB / Serial Protocol by alex</title>
		<link>http://www.tranzoa.net/~alex/blog/?p=371&#038;cpage=1#comment-1911</link>
		<dc:creator>alex</dc:creator>
		<pubDate>Thu, 10 Nov 2011 23:54:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.tranzoa.net/~alex/blog/?p=371#comment-1911</guid>
		<description>My bad. Yes. 4 bits, not 3, are duplicates of the high 4 bits of the 7-bit waveform value.

With respect to the multiplying, would the multipliers be:

000  multiply by 2
001  multiply by 3
010  multiply by 4
011  multiply by 5
100  multiply by 6
101  multiply by 7
110  multiply by 8
111  multiply by 9

All the 000 samples I have recorded have 001000 or 010000 in the low 6 bits of byte 1. And with only two exceptions, the 010000 samples all have heart rates and SpO2 values of zero. 000, 001, 110 and 111 samples are relatively rare in my recorded data.

&quot;Flatten out&quot;. The tz_cms50.py printout scales the waveform star characters&#039; positions relative to the highest and lowest waveform values seen. After a bit, when the waveform does not have high amplitude waves - is relatively flat - the flatness is enhanced in the tz_cms50.py printout. That is, it&#039;s really, really flat. Always the same &quot;Y&quot; value on-screen. That printout only has 100 vertical &quot;pixels&quot;, but it doesn&#039;t feel right.</description>
		<content:encoded><![CDATA[<p>My bad. Yes. 4 bits, not 3, are duplicates of the high 4 bits of the 7-bit waveform value.</p>
<p>With respect to the multiplying, would the multipliers be:</p>
<p>000  multiply by 2<br />
001  multiply by 3<br />
010  multiply by 4<br />
011  multiply by 5<br />
100  multiply by 6<br />
101  multiply by 7<br />
110  multiply by 8<br />
111  multiply by 9</p>
<p>All the 000 samples I have recorded have 001000 or 010000 in the low 6 bits of byte 1. And with only two exceptions, the 010000 samples all have heart rates and SpO2 values of zero. 000, 001, 110 and 111 samples are relatively rare in my recorded data.</p>
<p>&#8220;Flatten out&#8221;. The tz_cms50.py printout scales the waveform star characters&#8217; positions relative to the highest and lowest waveform values seen. After a bit, when the waveform does not have high amplitude waves &#8211; is relatively flat &#8211; the flatness is enhanced in the tz_cms50.py printout. That is, it&#8217;s really, really flat. Always the same &#8220;Y&#8221; value on-screen. That printout only has 100 vertical &#8220;pixels&#8221;, but it doesn&#8217;t feel right.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on CMS50E Pulse Oximeter USB / Serial Protocol by fmcard</title>
		<link>http://www.tranzoa.net/~alex/blog/?p=371&#038;cpage=1#comment-1910</link>
		<dc:creator>fmcard</dc:creator>
		<pubDate>Thu, 10 Nov 2011 15:45:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.tranzoa.net/~alex/blog/?p=371#comment-1910</guid>
		<description>...other thing... I think the the first 4 bytes (not the firts 3 bytes) of byte 4 are an approximation of the waveform...</description>
		<content:encoded><![CDATA[<p>&#8230;other thing&#8230; I think the the first 4 bytes (not the firts 3 bytes) of byte 4 are an approximation of the waveform&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on CMS50E Pulse Oximeter USB / Serial Protocol by fmcard</title>
		<link>http://www.tranzoa.net/~alex/blog/?p=371&#038;cpage=1#comment-1909</link>
		<dc:creator>fmcard</dc:creator>
		<pubDate>Thu, 10 Nov 2011 15:37:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.tranzoa.net/~alex/blog/?p=371#comment-1909</guid>
		<description>I do the following as example:
if the 3 bit are 010, I multiply the next waveform value by 4, if the 3 bit are 011, I multiply the next waveworm value by 5.
I&#039;m not sure if the delay have to be applied both for augmenting and diminishing value of the 3 bit multiplicator, but I will study this.
But wath do you mean with &quot;low amplitude waves flatten out&quot; ??

I noticed also sometimes  the 5th bit in byte1. This is not for sure related with the multiplicator... it seems to appear just before a &quot;beat&quot; bit if has lost the previous  &quot;beats&quot;...</description>
		<content:encoded><![CDATA[<p>I do the following as example:<br />
if the 3 bit are 010, I multiply the next waveform value by 4, if the 3 bit are 011, I multiply the next waveworm value by 5.<br />
I&#8217;m not sure if the delay have to be applied both for augmenting and diminishing value of the 3 bit multiplicator, but I will study this.<br />
But wath do you mean with &#8220;low amplitude waves flatten out&#8221; ??</p>
<p>I noticed also sometimes  the 5th bit in byte1. This is not for sure related with the multiplicator&#8230; it seems to appear just before a &#8220;beat&#8221; bit if has lost the previous  &#8220;beats&#8221;&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on CMS50E Pulse Oximeter USB / Serial Protocol by alex</title>
		<link>http://www.tranzoa.net/~alex/blog/?p=371&#038;cpage=1#comment-1908</link>
		<dc:creator>alex</dc:creator>
		<pubDate>Thu, 10 Nov 2011 15:02:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.tranzoa.net/~alex/blog/?p=371#comment-1908</guid>
		<description>Well, just multiplying the waveform value by the low 3 bites seems to make low amplitude waves flatten out. So maybe that&#039;s not what you are doing. :)</description>
		<content:encoded><![CDATA[<p>Well, just multiplying the waveform value by the low 3 bites seems to make low amplitude waves flatten out. So maybe that&#8217;s not what you are doing. <img src='http://www.tranzoa.net/~alex/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on CMS50E Pulse Oximeter USB / Serial Protocol by alex</title>
		<link>http://www.tranzoa.net/~alex/blog/?p=371&#038;cpage=1#comment-1907</link>
		<dc:creator>alex</dc:creator>
		<pubDate>Thu, 10 Nov 2011 13:59:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.tranzoa.net/~alex/blog/?p=371#comment-1907</guid>
		<description>You may have the right idea.

It does look like they only change those 3 low bits at the time of the beat.

They tend to go down in value when the average for recent beat samples goes lower than some variable level. And they tend to go up when the average of recent beat samples goes above some variable level.

Too, I notice that the low 3 bits sometimes go down just a few samples before the waveform hits zero for a run of samples. And, the low 3 bits sometimes go up a similar number of samples after the waveform hits near 127 for a run of samples.

I&#039;ll have to try that multiply idea. I had rejected it because it seemed like it would be too powerful - have too much effect on the waveform values.</description>
		<content:encoded><![CDATA[<p>You may have the right idea.</p>
<p>It does look like they only change those 3 low bits at the time of the beat.</p>
<p>They tend to go down in value when the average for recent beat samples goes lower than some variable level. And they tend to go up when the average of recent beat samples goes above some variable level.</p>
<p>Too, I notice that the low 3 bits sometimes go down just a few samples before the waveform hits zero for a run of samples. And, the low 3 bits sometimes go up a similar number of samples after the waveform hits near 127 for a run of samples.</p>
<p>I&#8217;ll have to try that multiply idea. I had rejected it because it seemed like it would be too powerful &#8211; have too much effect on the waveform values.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on CMS50E Pulse Oximeter USB / Serial Protocol by fmcard</title>
		<link>http://www.tranzoa.net/~alex/blog/?p=371&#038;cpage=1#comment-1906</link>
		<dc:creator>fmcard</dc:creator>
		<pubDate>Thu, 10 Nov 2011 13:01:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.tranzoa.net/~alex/blog/?p=371#comment-1906</guid>
		<description>...WOW...
I considered these bits as a multiplyng factor of the 7 bits of the waveform in byte 2... now the waveform is more and more &quot;smooth&quot; over the time... both considering the peak to peak intensity changes both as the changes in sample to sample change when the 3 bit changes occur...
I noticed the I had to shift (delay) the application of the multiplication coefficient of a sample...</description>
		<content:encoded><![CDATA[<p>&#8230;WOW&#8230;<br />
I considered these bits as a multiplyng factor of the 7 bits of the waveform in byte 2&#8230; now the waveform is more and more &#8220;smooth&#8221; over the time&#8230; both considering the peak to peak intensity changes both as the changes in sample to sample change when the 3 bit changes occur&#8230;<br />
I noticed the I had to shift (delay) the application of the multiplication coefficient of a sample&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>

