discrete low pass in an array
9 views (last 30 days)
Show older comments
Neko Benítez
on 8 Oct 2019
Commented: Star Strider
on 21 Oct 2019
I have an array that is the power measurement. It is recorded each second, but sometimes the sample rate is higher. I want to apply a low-pass filter to that array, to eliminate noise. The signal is an already "discretized" array, and the sample time is a value per second, but it is not always constant. I want to be able to modify some parameters to check the denoise level applied. Is there some code, function or algorithm available to apply this low-pass filter?
P.S. I attached a file 'data.mat' with data.
0 Comments
Accepted Answer
Star Strider
on 8 Oct 2019
You willl first need to use the resample function to create uniform sampling intervals for your data. Then there are any number of ways you can design a filter for it.
Your ‘test_data.mat’ file contains a (1000x1) double array that I assume is your signal (I have not examined it). If you want help with it, you need to provide a matching array of sampling times.
8 Comments
Star Strider
on 21 Oct 2019
There are several websites that can likely design the FIR filter for you (I linked to one of them), or you can design it yourself.
If you are going to do any significant amount of signal processing, I definitely recommend that you get the Signal Processing Toolbox.
If you design a linear-phase FIR filter, the MATLAB filter function is all you need.
More Answers (0)
See Also
Categories
Find more on Digital and Analog Filters in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!