Further filtering of accelerometer data

Hi Star Strider, I find your answers regarding the filters to be quite insightful.
I have a similar problem. I have used the Butterworth filter of 5th order and used 0.7Hz and 50 Hz as cutoff frq for passband filter. I am quite sure the frequncy beyond this frequncy region is not of point of interest. My sampling frequncy : 200Hz.
Still I can see there is noise as it can be seen in the attched figure.
Can you please help me to further denoise the data/filter data? I have attached the .fig file aswell for your reference.
Thanks in advance.acc8 filtered.jpg

2 Comments

It would be great if you can share me your data and filter parameters.
Hi Nikhil,
Please find my data as attached.
Here is my filter parameters:
d=dlmread('acc8.txt');
t=dlmread('Time.txt'); %File having sampling time instances
order = 5;
fcutlow = 0.3;
fcuthigh = 50;
fs=200;
[b,a]=butter(order,[fcutlow fcuthigh]/(fs/2),'bandpass');
X_filt=filtfilt(b,a,d);
figure()
plot(t,d);
hold on
plot(t,X_filt);%2
hold off

Sign in to comment.

Answers (1)

After looking at the Fourier Transform (figure attached) of your input data it can be concluded that it majorly comprises of frequencies from 0Hz to 50Hz. If you use a bandpass filter with cut off frequencies of 0.3Hz and 50Hz, you are allowing most of the frequencies through the filter and hence you are not able to remove the noise. Try changing the cut off frequencies to eliminate the spikes in your output data. fft.jpg

5 Comments

Hi Nikhil,
Thanks for the answer.
I have done the bit by keeping cutoff from 0.3 to 40 but still i can see the spikes. I have attached the new accelerometer filterd file where bandpass is done in the range of 0.3 to 40 Hz.
Can you please advise?
Can you please advise, what should be the ideal range of cutoff frequencies?
Secondly, I have LVDT data, which looks like (in the attached figure).
I have already made it pass through low pass filter set at 15 Hz. But still I see a lot of spikes in them. It seems the noise the merged with the data.
How can i reduce the spikes in them, just by filtering the data, not by averaging (median filtering).lvdt.jpg
Hi Nikhil,
Can you please let me know if my point of interest (from the perspective of analysis) frequency range is 1-10 Hz, is it ok if I put the cutoff 0.3Hz -20 Hz. Does it any way affect my data in 1-10Hz range?
Thanks in advance.
piyush
Further, reducing the frequncy cutoff points is not helping much. What else kind of noise can be there in the signal?
Consider reducing the frequency range of the filter to less than 10Hz. Also try using a higher order filter to get a sharp transition.

Sign in to comment.

Products

Release

R2019b

Asked:

on 6 Oct 2019

Commented:

on 11 Oct 2019

Community Treasure Hunt

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

Start Hunting!