07-02-2013 09:54 AM
I have a waveform which I am plotting on a log(x) scale and would like to accordingly filter this data such that it smooths the larger x values much more than the smaller ones.
I am strugling to find anything that will do this, are there any VI's that would do this for me?
Thanks
Chaz
07-03-2013 05:23 AM
Hi Chaz,
Are you able to send your code over so that we can take a look at what you have implemented so far?
It may be best to separate your waveform and perform filtering independently on each section.
07-04-2013 09:37 AM
I think you may have to "roll your own". When you do a log(x) transform (for example, a Bode plot with log(frequency) on the X axis), the number of points-per-unit-X-axis increases as you go to the right.
Think about smoothing an "ordinary" (not-log) plot. One way to do this is to divide the X axis into, say, 100 equal intervals (I'm assuming you have 1000 points) and replace all of the points with the average within each interval (like a histogram). You can also take this 1% window and slide it along the X axis, averaging as you go, the so-called "moving boxcar average". Note that if the X axis has width W, each bin would have width W/100.
You can do the same thing with your log plot. The difference is that instead of dividing the X axis into 100 intervals, you divide the log-X axis into 100 intervals. Now the width of the bins is not W/100, but the 100th root of W.
This should get you started, I hope.
BS