Efficient way to reduce noise from load cell data DAQ?

13 Ansichten (letzte 30 Tage)
vu ngothanh
vu ngothanh am 20 Jun. 2016
Kommentiert: Star Strider am 21 Jun. 2016
Dear all,
I use DAQ to get data from Loadcell. However, the signal wave have many unnecessary waves (picture 1). I want to reduce those waves, just keep the peak wave (it show the load from the hammer) look like picture 2. I has tried to use filter function, but not working. What should I do to solve it.
Thank you very much.

Akzeptierte Antwort

Star Strider
Star Strider am 20 Jun. 2016
The easiest way would be to use a low-pass filter, band-pass filter (if you want to remove a d-c offset), or a notch filter to filter out the high-frequency noise. There are many ways to design filters in MATLAB, including designfilt, firls, and others. My usual procedure for IIR filters is here: How to design a lowpass filter for ocean wave data in Matlab?
If you provide a sample of your data, I may be able to help you design your filter. I will need a vector of sample times as well as your signal vector.
  4 Kommentare
vu ngothanh
vu ngothanh am 21 Jun. 2016
Oh, The result is very very good, much more better than I expected. Do you think that it will be better if insert this 2 line in the last result that you gave me.
[b,a]=butter(2,0.01);
Lc_last=filter(b,a,LC_filt);
Thank you very much.
God bless you.
Star Strider
Star Strider am 21 Jun. 2016
My pleasure.
I am not certain what result you want, so experiment with the filters to isolate your frequencies of interest. That code designs a low-pass filter with a cutoff of about 51 Hz. Looking at the Fourier transform plot, it would seem to me to eliminate part of your signal, probably eliminating the high-frequency transients.
I would use filtfilt rather than filter, because filtfilt has a maximally flat phase response, and will eliminate phase distortion in the filtered signal.
The third column of your data appears to be an impact record (input), so if you want to get an input-output transfer function of your system, you would have to filter the input signal with the same low-pass filter. (You can estimate your system transfer function from the two time-domain signals with the invfreqz function in the Signal Processing Toolbox. As with everything else in signal processing, you will have to experiment with it to get the result you want.)
Thank you. I wish you the same.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by