开发者

Algorithms needed on filtering the noise caused by the vibration

For example you measure the data coming from some device, it can be a mass of the object moving on the bridge. Because it is moving the mass will give data which will vibrate in some amplitude depending on the mass of the object. Bigger the mass - bigger the vibrations. Are there any methods for filtering such kind of noise from that data? May be using some formulas of vibrations? Have no idea what kind of formulas or algorithms (filters) can be used here. Please suggest anything. EDIT 2: Better picture, I just draw it for better understanding:

Algorithms needed on filtering the noise caused by the vibration

Not very good picture. From that graph you can see that the frequency is the same every time, but the amplitude chanbges periodically. Something like that I have when there are no objects on the moving road. (conveyer belt). vibrating near zero value. When the object moves, I there are the same waves with changing amplitude. The graph can tell that there may be some force applying to the system and which produces forced occilations. So I am interested in removing such kind of noise. I do not know what force causes such occilations. Soon I hope I will get some data on the non moving road with and without object on it for comparis开发者_如何学JAVAon with moving road case.


What you have in your last plot is basically an amplitude modulated oscillation coming from a function like:

 f[x] := 10 * (4 + Sin[x]) * Sin[80 * x]

The constants have been chosen to match your plot (using just a rule of thumb)

The Plot of this function is

Algorithms needed on filtering the noise caused by the vibration

That isn't "noise" (although may be some noise is there too), but can be filtered easily.

Let's see your data for the static and moving payloads ....

Edit

Based on your response to several comments, and based in my previous experience with weighting devices:

  1. You are interfacing the physical world, not just getting input from a mouse and keyboard. It is very important for you understand the device, how it works and how it is designed.
  2. You need a calibration procedure. You have to use several master weights to be sure that the device is working properly and linearly in the whole scale, and that the static case is measured much better than your dynamic needs.
  3. You'll not be able to predict if you can measure with several loads in the conveyor until you do some experiments and look very carefully at the resulting plots
  4. You need to be sure that a load placed anywhere in the conveyor shows the same reading. Or at least you should be able to correlate reading and position.

As I said before, you need a lot of info, and it seems that is not available. I always worked as a team with the engineers designing the device.

Don't hesitate to add more info ...


Have you tried filters with lowpass characteristics? There are different approaches for smoothing data (i.e. Savitzky-Golay, Gauss, moving average) but often, a simple N-point median filter is already sufficient.

It really depends on what you're after.


Take a look at this book:

The Scientist and Engineer's Guide to Digital Signal Processing

You can download it for free. In particular, check chapters 14 and 15.


If the frequency changes with mass and you're trying to measure mass, why not measure the frequency of the oscillations and use that as your primary measure?

Otherwise you need a notch filter which is tunable - figure out the frequency of the "noise" and tune the notch filter to that.

Another book to try is Lyons Understanding Digital Signal Processing


In order to smooth the signal, I'd average the previous 2 * n samples where n is the maximum expected wavelength of the vibrations.

This should cause most of the noise to be eliminated.


If you have some idea of the range of frequencies, you could do a simple average as long as the measurement period were sufficiently long to give you the level of accuracy you want to achieve. The more wavelengths worth of data you average against, the smaller the ratio of contributed error from a partial wavelength.

I'd suggest first simulating/modeling this in software like Matlab.

Data you'll need to consider:

The expected range of vibration frequencies The measurement accuracy you want to achieve The expected range of mass you'll want to measure The function of mass to vibration amplitude


You should be able to apply the same principles as noise-cancelling microphones: put two sensors out, then subtract the secondary sensor's (farther away from the good signal source) signal from the primary sensor's (closer to the good signal source) signal.

Obviously, this works best if the "noise" will reach both sensors fairly equally while the "signal" reaches the primary sensor much more strongly.

For things like sound, this is pretty easy to do in the sensor itself, which makes your software a lot easier and more performant. Depending on what you're measuring, this might be easier to do with multiple sets of hardware and doing the cancellation in software.


If you can characterize the frequency spectra of the unwanted vibration noise, you might be able to synthesize a set of (near) minimum phase notch or band reject filter(s) to allow you to acquire your desired signal at your desired S/N ratio with minimized latency or data set size.


Filtering noisy digital signals is straight forward, as previous posters have noted. There are lots of references. You have not however stated what your objectives are clearly, so we cannot point you into a good direction. Are you looking for a single measurement of a single object on a bridge? [Then see other answers].

Are you monitoring traffic on this bridge and weighing each entity as it passes by? Then you need to determine when entities are on the sensor and when they are not. Typically, as long as the sensor's noise floor is significantly lower than the signal you're measuring this can be accomplished by simple thresholding.

Are you trying to measure the vibrations of the bridge caused by other vehicles? In which case you need either a more expensive sensor if you're having problems doing this, or a clearer measuring objective.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜