discrete low pass in an array

7 ビュー (過去 30 日間)
Neko Benítez
Neko Benítez 2019 年 10 月 8 日
コメント済み: Star Strider 2019 年 10 月 21 日
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.

採用された回答

Star Strider
Star Strider 2019 年 10 月 8 日
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 件のコメント
Neko Benítez
Neko Benítez 2019 年 10 月 21 日
I don't know how to use that link to design the FIR filter. Do I also need the Signal Processing Toolbox to implement the FIR filter? The link you sent me does not clarify how to do it.
Star Strider
Star Strider 2019 年 10 月 21 日
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.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeDigital Filtering についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by