Further filtering of accelerometer data

15 views (last 30 days)
PIYUSH MOHANTY
PIYUSH MOHANTY on 6 Oct 2019
Commented: Nikhil Sonavane on 11 Oct 2019
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
PIYUSH MOHANTY
PIYUSH MOHANTY on 9 Oct 2019
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)

Nikhil Sonavane
Nikhil Sonavane on 9 Oct 2019
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
Nikhil Sonavane
Nikhil Sonavane on 11 Oct 2019
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

Community Treasure Hunt

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

Start Hunting!