<?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 Pavel Holoborodko</title>
	<atom:link href="http://www.holoborodko.com/pavel/?feed=comments-rss2" rel="self" type="application/rss+xml" />
	<link>http://www.holoborodko.com/pavel</link>
	<description>Applied mathematics insights</description>
	<lastBuildDate>Tue, 07 Sep 2010 16:25:02 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
	<item>
		<title>Comment on Smooth noise-robust differentiators by Peter Nachtwey</title>
		<link>http://www.holoborodko.com/pavel/?page_id=245&#038;cpage=1#comment-4829</link>
		<dc:creator>Peter Nachtwey</dc:creator>
		<pubDate>Tue, 07 Sep 2010 16:25:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.holoborodko.com/pavel/?page_id=245#comment-4829</guid>
		<description>In this directory I have my Alpha-Beta-Gamma files.  They are written using wxMaxima which is free.  Since you know how to use Maple you should wxMaxima to be similar with a few quirks.

I did this simulation to see how well I can estimate positions from a 14 bit marine motion sensor that measures roll, pitch and heave for a crane application.  The motion controller must hold the crane steady in rolling waters.  I am assuming the wave has a period of 10 seconds and an amplitude of 1 meter.  I added sampling jitter and noise.
At line %i54 there is a comment about how I &#039;tune&#039; the gains.  Basically, I have 3 choices that can be cut and pasted from the comments section into the code.

The Alpha-Beta-Gamma filter is a very simple form of steady state Kalman filter where the gains are chosen to have the desired response to an error but the response may not be optimal.   The IAE, integrated absolute error, coefficients work the best.   The end user must only adjust the bandwidth to get acceptable results.

A Kalman filter would ensure the minimum error but it is very compute intensive.  Also, the use must know covariances of the measuring device and system.   Fat chance.  Even experienced engineers end up &#039;fudging&#039; the parameters to get desired results so why bother?

Notice that I can estimate positions between the readings.  The sensor updates only every 10 milliseconds but I can estimate position, velocity and acceleration every millisecond.   I don&#039;t expect your filter to do this.

What I am looking for is an easy way of estimating the position, velocity and acceleration with minimal error.   It will be interesting to see how your filter does with this problem.</description>
		<content:encoded><![CDATA[<p>In this directory I have my Alpha-Beta-Gamma files.  They are written using wxMaxima which is free.  Since you know how to use Maple you should wxMaxima to be similar with a few quirks.</p>
<p>I did this simulation to see how well I can estimate positions from a 14 bit marine motion sensor that measures roll, pitch and heave for a crane application.  The motion controller must hold the crane steady in rolling waters.  I am assuming the wave has a period of 10 seconds and an amplitude of 1 meter.  I added sampling jitter and noise.<br />
At line %i54 there is a comment about how I &#8216;tune&#8217; the gains.  Basically, I have 3 choices that can be cut and pasted from the comments section into the code.</p>
<p>The Alpha-Beta-Gamma filter is a very simple form of steady state Kalman filter where the gains are chosen to have the desired response to an error but the response may not be optimal.   The IAE, integrated absolute error, coefficients work the best.   The end user must only adjust the bandwidth to get acceptable results.</p>
<p>A Kalman filter would ensure the minimum error but it is very compute intensive.  Also, the use must know covariances of the measuring device and system.   Fat chance.  Even experienced engineers end up &#8216;fudging&#8217; the parameters to get desired results so why bother?</p>
<p>Notice that I can estimate positions between the readings.  The sensor updates only every 10 milliseconds but I can estimate position, velocity and acceleration every millisecond.   I don&#8217;t expect your filter to do this.</p>
<p>What I am looking for is an easy way of estimating the position, velocity and acceleration with minimal error.   It will be interesting to see how your filter does with this problem.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on QuickLaTeX by Armando Guinto</title>
		<link>http://www.holoborodko.com/pavel/?page_id=1422&#038;cpage=1#comment-4828</link>
		<dc:creator>Armando Guinto</dc:creator>
		<pubDate>Tue, 07 Sep 2010 10:28:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.holoborodko.com/pavel/?page_id=1422#comment-4828</guid>
		<description>A cute post xD, some personal viewpoint is always cool to read. RSS subscribed : )






&lt;a href=&quot;http://rakebum.ru/&quot; rel=&quot;nofollow&quot;&gt;reik bek&lt;/A&gt;</description>
		<content:encoded><![CDATA[<p>A cute post xD, some personal viewpoint is always cool to read. RSS subscribed : )</p>
<p><a href="http://rakebum.ru/" rel="nofollow">reik bek</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Smooth noise-robust differentiators by Pavel Holoborodko</title>
		<link>http://www.holoborodko.com/pavel/?page_id=245&#038;cpage=1#comment-4827</link>
		<dc:creator>Pavel Holoborodko</dc:creator>
		<pubDate>Tue, 07 Sep 2010 07:56:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.holoborodko.com/pavel/?page_id=245#comment-4827</guid>
		<description>Peter,

I&#039;m experimenting with ABG and one-sided differentiators. I sample sine wave on [latex][0,2\pi][/latex] with additive gaussian noise [latex]\mu=0,\,\,\sigma=0.02[/latex] at [latex]N=100[/latex] uniform points.

I apply one-sided differentiator listed above to estimate derivative and I get average absolute error around [latex]0.2\%[/latex]. I did not tune filters for this data. 

When I apply Alpha-Beta-Gamma filter (ABG) results depend very much on parameters selection. I&#039;ve spent an hour to select parameters to minimize error of velocity estimation for this dataset and the best I could get was error around [latex]0.4\%[/latex]. The best combination was [latex]\alpha=0.8,\,\beta=0.2,\,\gamma=0.05[/latex]. For other combinations error was much higher.

It is too early to make conclusions but from this little experience I can say that ABG filter is not easy to tune for the particular signal/noise properties. But what if the input data change characteristics with time? 

One-sided fixed filters are much easy to use - no tuning is needed+they have less computations. ABG can give comparable results after much tuning. 

Could you give me test data and parameters so I can make comparison for it.</description>
		<content:encoded><![CDATA[<p>Peter,</p>
<p>I&#8217;m experimenting with ABG and one-sided differentiators. I sample sine wave on <img src="http://www.holoborodko.com/pavel/wp-content/ql-cache/quicklatex-1cc5fb6d3b10cf0b4029e23d46fa7fc0.gif" alt="[0,2\pi]" title="[0,2\pi]" style="vertical-align: -5px; border: none;"/> with additive gaussian noise <img src="http://www.holoborodko.com/pavel/wp-content/ql-cache/quicklatex-6d2b1eadd60c8e7273e771a016b8c1ec.gif" alt="\mu=0,\,\,\sigma=0.02" title="\mu=0,\,\,\sigma=0.02" style="vertical-align: -4px; border: none;"/> at <img src="http://www.holoborodko.com/pavel/wp-content/ql-cache/quicklatex-2540407e1e660f1407407d6a10f578ba.gif" alt="N=100" title="N=100" style="vertical-align: -1px; border: none;"/> uniform points.</p>
<p>I apply one-sided differentiator listed above to estimate derivative and I get average absolute error around <img src="http://www.holoborodko.com/pavel/wp-content/ql-cache/quicklatex-a1adaf2dc9b1b74d37833f96c6e00096.gif" alt="0.2\%" title="0.2\%" style="vertical-align: -1px; border: none;"/>. I did not tune filters for this data. </p>
<p>When I apply Alpha-Beta-Gamma filter (ABG) results depend very much on parameters selection. I&#8217;ve spent an hour to select parameters to minimize error of velocity estimation for this dataset and the best I could get was error around <img src="http://www.holoborodko.com/pavel/wp-content/ql-cache/quicklatex-081cd9dced8aae51ec94b38b310c98e2.gif" alt="0.4\%" title="0.4\%" style="vertical-align: -1px; border: none;"/>. The best combination was <img src="http://www.holoborodko.com/pavel/wp-content/ql-cache/quicklatex-08b4411ebe545de4f7e4e58370986606.gif" alt="\alpha=0.8,\,\beta=0.2,\,\gamma=0.05" title="\alpha=0.8,\,\beta=0.2,\,\gamma=0.05" style="vertical-align: -4px; border: none;"/>. For other combinations error was much higher.</p>
<p>It is too early to make conclusions but from this little experience I can say that ABG filter is not easy to tune for the particular signal/noise properties. But what if the input data change characteristics with time? </p>
<p>One-sided fixed filters are much easy to use &#8211; no tuning is needed+they have less computations. ABG can give comparable results after much tuning. </p>
<p>Could you give me test data and parameters so I can make comparison for it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Smooth noise-robust differentiators by Peter Nachtwey</title>
		<link>http://www.holoborodko.com/pavel/?page_id=245&#038;cpage=1#comment-4826</link>
		<dc:creator>Peter Nachtwey</dc:creator>
		<pubDate>Thu, 02 Sep 2010 17:42:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.holoborodko.com/pavel/?page_id=245#comment-4826</guid>
		<description>I like to think of the problem as going down hill and trying to seek the lowest spot.  What I have found in motion control that often the optimizer comes out of the hills to find a huge flat desert that is so flat that numerical errors become significant or the error windows must be extremely small.  You can try to come out of the hills from different directions but finding the true bottom is difficult without a lot of starting points and even then you may not try the right one.   There is nothing magic about L-BFGS except is finds an answer quickly but who is to say that one answer on the flat desert is any better than the other?  My answer was to try to shrink the desert.  So we have found that the trick is to excite the system to get information so there are more &#039;hills&#039; and the valley floor is narrow and quickly leads to a small pond ( the answer).  I found this out by taking a problem I had difficulties with and plotting the resulting norm vs two of the parameters at a time so I had multiple 3D plots.  This gave me a visual clue of what I was against and how to excite the system to yield the best information. 

Other things I have thought of is finding the point that is in the middle of the desert.  This would allow for maximum variation of parameters before the norm increases.  I don&#039;t know how valid this is though.

Your multiple search technique is one that I used way back in the 80s ( yeah, I&#039;m older ) but I/we did use random starting places.   Think of coming out of the hills from different directions.   BBackack then we were optimizing the orientation of logs for peeling into veneer.  Since this was a real time process we would trying different solutions from different &#039;directions&#039; until time ran out and we use the best solution so far.

I can ID non-linear systems.   I write up my system as differential equations and solve using simple RK4.   The optimizing routine tries different coefficients in the differential equation(s).   Usually it is something simple like a non-linear valve or in one case it was water level control in a condenser with non-vertical sides.  These are easy IF the excitation is good and all the significant things can be measured.

I haven&#039;t had time to follow up on what has been said in the last two months. At this time we still use the Savitsky-Golay filter in some parts of our application.   I am also looking at a simple Alpha-Beta-Gamma filter which is a very simplified steady state Kalman filter.  The advantage of the Alpha-Beta-Gamm filter is that is produces the position, velocity and acceleration with little or no lag and filters noise like a Kalman filter but one doesn&#039;t need to know the covariance of the process and measurement noise.  One simply selects a bandwidth that probably isn&#039;t optimal but more than good enough.  The idea is to get 90% with 10% effort.

I am interested in the one sided filters for position, velocity and acceleration to compare with the Alpha-Beta-Gamma  filter
http://en.wikipedia.org/wiki/Alpha_beta_filter</description>
		<content:encoded><![CDATA[<p>I like to think of the problem as going down hill and trying to seek the lowest spot.  What I have found in motion control that often the optimizer comes out of the hills to find a huge flat desert that is so flat that numerical errors become significant or the error windows must be extremely small.  You can try to come out of the hills from different directions but finding the true bottom is difficult without a lot of starting points and even then you may not try the right one.   There is nothing magic about L-BFGS except is finds an answer quickly but who is to say that one answer on the flat desert is any better than the other?  My answer was to try to shrink the desert.  So we have found that the trick is to excite the system to get information so there are more &#8216;hills&#8217; and the valley floor is narrow and quickly leads to a small pond ( the answer).  I found this out by taking a problem I had difficulties with and plotting the resulting norm vs two of the parameters at a time so I had multiple 3D plots.  This gave me a visual clue of what I was against and how to excite the system to yield the best information. </p>
<p>Other things I have thought of is finding the point that is in the middle of the desert.  This would allow for maximum variation of parameters before the norm increases.  I don&#8217;t know how valid this is though.</p>
<p>Your multiple search technique is one that I used way back in the 80s ( yeah, I&#8217;m older ) but I/we did use random starting places.   Think of coming out of the hills from different directions.   BBackack then we were optimizing the orientation of logs for peeling into veneer.  Since this was a real time process we would trying different solutions from different &#8216;directions&#8217; until time ran out and we use the best solution so far.</p>
<p>I can ID non-linear systems.   I write up my system as differential equations and solve using simple RK4.   The optimizing routine tries different coefficients in the differential equation(s).   Usually it is something simple like a non-linear valve or in one case it was water level control in a condenser with non-vertical sides.  These are easy IF the excitation is good and all the significant things can be measured.</p>
<p>I haven&#8217;t had time to follow up on what has been said in the last two months. At this time we still use the Savitsky-Golay filter in some parts of our application.   I am also looking at a simple Alpha-Beta-Gamma filter which is a very simplified steady state Kalman filter.  The advantage of the Alpha-Beta-Gamm filter is that is produces the position, velocity and acceleration with little or no lag and filters noise like a Kalman filter but one doesn&#8217;t need to know the covariance of the process and measurement noise.  One simply selects a bandwidth that probably isn&#8217;t optimal but more than good enough.  The idea is to get 90% with 10% effort.</p>
<p>I am interested in the one sided filters for position, velocity and acceleration to compare with the Alpha-Beta-Gamma  filter<br />
<a href="http://en.wikipedia.org/wiki/Alpha_beta_filter" rel="nofollow">http://en.wikipedia.org/wiki/Alpha_beta_filter</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Smooth noise-robust differentiators by Pavel Holoborodko</title>
		<link>http://www.holoborodko.com/pavel/?page_id=245&#038;cpage=1#comment-4825</link>
		<dc:creator>Pavel Holoborodko</dc:creator>
		<pubDate>Thu, 02 Sep 2010 14:17:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.holoborodko.com/pavel/?page_id=245#comment-4825</guid>
		<description>Hi Peter,

Thank you for the clear introduction to the control theory and worksheet to study.

As I understood, task of system identification is very similar to filter design. Here we also have desired transfer function, and filter’s parameters (coefficients) are derived to reproduce it as close as possible. So, basically these tasks are the same.

In filter design nature of the parameters and relations among them are “highly” nonlinear. As a consequence target function has many local extrema, and minimization becomes nontrivial task. Applying straightforward methods like L-BFGS  etc. can be misleading since they will converge just to the nearest (to starting point) local minimum. And global optimal solution (minimum among of all local minima) won’t be found.  

I faced such situation many times. To solve it we need to use global optimization routines. I tried numerous optimization packages of such kind even commercial and ridiculously expensive. Unfortunately none of them could solve my target function. I end up writing my own global solver, which uses simple algorithm:
1.  generate random points (or low-discrepancy sequence of points).
2.  simultaneously start local searches (L-BFGS) from every point. 
3.  select and keep track of the best local minima found so far.
4.  estimate coverage of the solution space by already conducted searches – stopping criteria.

It doesn’t require huge memory or CPU power, quickly gives list of acceptable solutions to continue research, refines best solutions as long as program runs. I believe this kind of solvers is called stochastic.

Do you face similar difficulties in control theory? What do you think about my simple global solver - can it be applied in your field?

Sorry for the long post, just need to share my thoughts.</description>
		<content:encoded><![CDATA[<p>Hi Peter,</p>
<p>Thank you for the clear introduction to the control theory and worksheet to study.</p>
<p>As I understood, task of system identification is very similar to filter design. Here we also have desired transfer function, and filter’s parameters (coefficients) are derived to reproduce it as close as possible. So, basically these tasks are the same.</p>
<p>In filter design nature of the parameters and relations among them are “highly” nonlinear. As a consequence target function has many local extrema, and minimization becomes nontrivial task. Applying straightforward methods like L-BFGS  etc. can be misleading since they will converge just to the nearest (to starting point) local minimum. And global optimal solution (minimum among of all local minima) won’t be found.  </p>
<p>I faced such situation many times. To solve it we need to use global optimization routines. I tried numerous optimization packages of such kind even commercial and ridiculously expensive. Unfortunately none of them could solve my target function. I end up writing my own global solver, which uses simple algorithm:<br />
1.  generate random points (or low-discrepancy sequence of points).<br />
2.  simultaneously start local searches (L-BFGS) from every point.<br />
3.  select and keep track of the best local minima found so far.<br />
4.  estimate coverage of the solution space by already conducted searches – stopping criteria.</p>
<p>It doesn’t require huge memory or CPU power, quickly gives list of acceptable solutions to continue research, refines best solutions as long as program runs. I believe this kind of solvers is called stochastic.</p>
<p>Do you face similar difficulties in control theory? What do you think about my simple global solver &#8211; can it be applied in your field?</p>
<p>Sorry for the long post, just need to share my thoughts.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Smooth noise-robust differentiators by Peter Nachtwey</title>
		<link>http://www.holoborodko.com/pavel/?page_id=245&#038;cpage=1#comment-4824</link>
		<dc:creator>Peter Nachtwey</dc:creator>
		<pubDate>Wed, 01 Sep 2010 16:57:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.holoborodko.com/pavel/?page_id=245#comment-4824</guid>
		<description>I can help with the PID control.   Control theory is one of my areas of expertise.  The first thing you have got to realize is that each system is different but one can develop formulas that will provide the kind of response you desire.
See this.
http://www.deltamotion.com/peter/Mathcad/Mathcad%20-%20T0C1%20MassOnASpring-PID.pdf
The formulas for the PID gains are only valid for the mass on a spring or similar.   A servo motor doing position control would be require a different set of PID gain formulas because it isn&#039;t under damped and it is an integrating system.   Temperature and velocity control systems are non integrating because if the control signal goes away the system settles at a ambient point like room temperature or stopped.   In an integrating process like position control the system coasts to a stop but does not return to some starting position.

The work sheet I linked to is an easy example but it assumes that the plant transfer function is known and that is the real trick of tuning PIDs.   Finding the plant parameters is called system identification and requires using optimizing or minimizing algorithms that minimize the error between a estimated value and the actual process value. 

I can see you have Maple so it will be easy for you to translate the first page into maple so you can generate the symbolic gains for just about any linear system.    I am sure Maple has minimizing algorithms such as Levenberg-Marquardt or L-BFGS.</description>
		<content:encoded><![CDATA[<p>I can help with the PID control.   Control theory is one of my areas of expertise.  The first thing you have got to realize is that each system is different but one can develop formulas that will provide the kind of response you desire.<br />
See this.<br />
<a href="http://www.deltamotion.com/peter/Mathcad/Mathcad%20-%20T0C1%20MassOnASpring-PID.pdf" rel="nofollow">http://www.deltamotion.com/peter/Mathcad/Mathcad%20-%20T0C1%20MassOnASpring-PID.pdf</a><br />
The formulas for the PID gains are only valid for the mass on a spring or similar.   A servo motor doing position control would be require a different set of PID gain formulas because it isn&#8217;t under damped and it is an integrating system.   Temperature and velocity control systems are non integrating because if the control signal goes away the system settles at a ambient point like room temperature or stopped.   In an integrating process like position control the system coasts to a stop but does not return to some starting position.</p>
<p>The work sheet I linked to is an easy example but it assumes that the plant transfer function is known and that is the real trick of tuning PIDs.   Finding the plant parameters is called system identification and requires using optimizing or minimizing algorithms that minimize the error between a estimated value and the actual process value. </p>
<p>I can see you have Maple so it will be easy for you to translate the first page into maple so you can generate the symbolic gains for just about any linear system.    I am sure Maple has minimizing algorithms such as Levenberg-Marquardt or L-BFGS.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Smooth noise-robust differentiators by Pavel Holoborodko</title>
		<link>http://www.holoborodko.com/pavel/?page_id=245&#038;cpage=1#comment-4822</link>
		<dc:creator>Pavel Holoborodko</dc:creator>
		<pubDate>Wed, 01 Sep 2010 12:42:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.holoborodko.com/pavel/?page_id=245#comment-4822</guid>
		<description>Thank you Bill for your feedback.

Please check this paper for the one-sided filters: &lt;a href=&quot;http://www.holoborodko.com/pavel/wp-content/plugins/download-monitor/download.php?id=7&quot; rel=&quot;nofollow&quot;&gt;One Sided Noise Robust Differentiators.pdf&lt;/a&gt; It includes filters for up to [latex]N=15[/latex] length.


I would recommend you to use hybrid differentiators (see pages 4-5 ) for your conditions. They are particularly optimized for no-delay derivative estimation in the presense of noise. I am sure filter with [latex]N=15[/latex] will be enough - please try it. Let me know about the results. 


I&#039;ve checked website of the company you work for - automation, control etc.  are tasks where numerical methods can be of great interest (e.g. PID).
I would appreciate if you would explain me some of the math-related problems you have in your products.  May be we can collaborate on them. Here is my private e-mail: pavel@holoborodko.com.

P.S.
If you want to support me please use this e-mail: pavel.holoborodko@gmail.com for donations through paypal.com.</description>
		<content:encoded><![CDATA[<p>Thank you Bill for your feedback.</p>
<p>Please check this paper for the one-sided filters: <a href="http://www.holoborodko.com/pavel/wp-content/plugins/download-monitor/download.php?id=7" rel="nofollow">One Sided Noise Robust Differentiators.pdf</a> It includes filters for up to <img src="http://www.holoborodko.com/pavel/wp-content/ql-cache/quicklatex-c203ddaa8d979d4c3f0883f0fb537c2b.gif" alt="N=15" title="N=15" style="vertical-align: -1px; border: none;"/> length.</p>
<p>I would recommend you to use hybrid differentiators (see pages 4-5 ) for your conditions. They are particularly optimized for no-delay derivative estimation in the presense of noise. I am sure filter with <img src="http://www.holoborodko.com/pavel/wp-content/ql-cache/quicklatex-c203ddaa8d979d4c3f0883f0fb537c2b.gif" alt="N=15" title="N=15" style="vertical-align: -1px; border: none;"/> will be enough &#8211; please try it. Let me know about the results. </p>
<p>I&#8217;ve checked website of the company you work for &#8211; automation, control etc.  are tasks where numerical methods can be of great interest (e.g. PID).<br />
I would appreciate if you would explain me some of the math-related problems you have in your products.  May be we can collaborate on them. Here is my private e-mail: <a href="mailto:pavel@holoborodko.com">pavel@holoborodko.com</a>.</p>
<p>P.S.<br />
If you want to support me please use this e-mail: <a href="mailto:pavel.holoborodko@gmail.com">pavel.holoborodko@gmail.com</a> for donations through paypal.com.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Smooth noise-robust differentiators by Bill</title>
		<link>http://www.holoborodko.com/pavel/?page_id=245&#038;cpage=1#comment-4821</link>
		<dc:creator>Bill</dc:creator>
		<pubDate>Wed, 01 Sep 2010 04:26:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.holoborodko.com/pavel/?page_id=245#comment-4821</guid>
		<description>Pavel, 
Great stuff here.  This is exactly what I was looking for and presented in a nice clean manner.  I&#039;m using your methods to filter very noisy tank levels to look for unauthorized movement.  The algorithm is implemented using a simple weighted moving average for near-real-time differentiation.

I&#039;m pretty interested in the one-sided filters, because the longer filters that I need to use (N=19) introduce fairly significant delay into the response of the alarm (about 30 secs).  I&#039;d like to see that drop down to closer to 0 secs, and I believe that using a one-sided filter would accomplish that.  Am I right?   I only need accuracy up to X or X^2 at most.  Could you post the derivation of the one-sided filters?  I can follow the original, but I don&#039;t know enough about filter design to synthesize the one-sided derivation.  

Thanks for the work.  It&#039;s giving us the results we want.</description>
		<content:encoded><![CDATA[<p>Pavel,<br />
Great stuff here.  This is exactly what I was looking for and presented in a nice clean manner.  I&#8217;m using your methods to filter very noisy tank levels to look for unauthorized movement.  The algorithm is implemented using a simple weighted moving average for near-real-time differentiation.</p>
<p>I&#8217;m pretty interested in the one-sided filters, because the longer filters that I need to use (N=19) introduce fairly significant delay into the response of the alarm (about 30 secs).  I&#8217;d like to see that drop down to closer to 0 secs, and I believe that using a one-sided filter would accomplish that.  Am I right?   I only need accuracy up to X or X^2 at most.  Could you post the derivation of the one-sided filters?  I can follow the original, but I don&#8217;t know enough about filter design to synthesize the one-sided derivation.  </p>
<p>Thanks for the work.  It&#8217;s giving us the results we want.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on MPFR C++ by Bassam Shehadeh</title>
		<link>http://www.holoborodko.com/pavel/?page_id=12&#038;cpage=1#comment-4819</link>
		<dc:creator>Bassam Shehadeh</dc:creator>
		<pubDate>Fri, 27 Aug 2010 06:07:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.holoborodko.com/blog/?page_id=12#comment-4819</guid>
		<description>Pavel

Yes, it did work. Now the compiler (gcc) is accepting converting mpreal to int.

The package is very nice

Many thanks</description>
		<content:encoded><![CDATA[<p>Pavel</p>
<p>Yes, it did work. Now the compiler (gcc) is accepting converting mpreal to int.</p>
<p>The package is very nice</p>
<p>Many thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on MPFR C++ by Pavel Holoborodko</title>
		<link>http://www.holoborodko.com/pavel/?page_id=12&#038;cpage=1#comment-4818</link>
		<dc:creator>Pavel Holoborodko</dc:creator>
		<pubDate>Fri, 27 Aug 2010 02:17:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.holoborodko.com/blog/?page_id=12#comment-4818</guid>
		<description>Hello

I&#039;ve added type conversion operator for &lt;code&gt;mpreal&lt;/code&gt; to &lt;code&gt;int&lt;/code&gt; transformation. Please download new version and try it - check  if it solves your problem. 
Something like this should work fine
[cpp]
mpreal x = &quot;1.5&quot;;
int y = x;
[/cpp]</description>
		<content:encoded><![CDATA[<p>Hello</p>
<p>I&#8217;ve added type conversion operator for <code>mpreal</code> to <code>int</code> transformation. Please download new version and try it &#8211; check  if it solves your problem.<br />
Something like this should work fine</p>
<pre class="brush: cpp;">
mpreal x = &quot;1.5&quot;;
int y = x;
</pre>
]]></content:encoded>
	</item>
</channel>
</rss>
