Matlab - Signal Noise Removal

后端 未结 5 738
独厮守ぢ
独厮守ぢ 2021-02-04 16:11

I have a vector of data, which contains integers in the range -20 20.

Bellow is a plot with the values:

\"en

5条回答
  •  说谎
    说谎 (楼主)
    2021-02-04 16:51

    To eliminate the low amplitude peaks, you're going to equate all the low amplitude signal to noise and ignore.

    If you have any apriori knowledge, just use it.

    if your signal is a, then

    a(abs(a)

    where X is the max expected size of your noise.

    If you want to get fancy, and find this "on the fly" then, use kmeans of 3. It's in the statistics toolbox, here:

    http://www.mathworks.com/help/toolbox/stats/kmeans.html

    Alternatively, you can use Otsu's method on the absolute values of the data, and use the sign back.

    Note, these and every other technique I've seen on this thread is assuming you are doing post processing. If you are doing this processing in real time, things will have to change.

提交回复
热议问题