Matlab-信号噪声消除 [英] Matlab - Signal Noise Removal

查看:782
本文介绍了Matlab-信号噪声消除的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个数据向量,其中包含-20到20范围内的整数.

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

Bellow是具有以下值的图:

Bellow is a plot with the values:

这是来自矢量数据的96个元素的样本.从上图可以看出,大多数元素位于-2、2区间.

This is a sample of 96 elements from the vector data. The majority of the elements are situated in the interval -2, 2, as can be seen from the above plot.

我想消除数据中的噪音.我要消除低振幅峰,并保留高振幅峰,即类似于索引74的峰.

I want to eliminate the noise from the data. I want to eliminate the low amplitude peaks, and keep the high amplitude peak, namely, peaks like the one at index 74.

基本上,我只是想增加高振幅峰和低振幅峰之间的对比度,并且是否有可能消除低振幅峰.

Basically, I just want to increase the contrast between the high amplitude peaks and low amplitude peaks, and if it would be possible to eliminate the low amplitude peaks.

您能建议我这样做吗?

我已经尝试过mapstd函数,但是问题在于它还可以归一化该高振幅峰.

I have tried mapstd function, but the problem is that it also normalizes that high amplitude peak.

我当时在考虑使用小波变换工具箱,但是我不知道如何从小波分解系数重建数据.

I was thinking at using the wavelet transform toolbox, but I don't know exact how to reconstruct the data from the wavelet decomposition coefficients.

您能推荐我一种方法吗?

Can you recommend me a way of doing this?

推荐答案

如果仅出于说明目的,而您实际上并没有将这些缩放后的值用于任何事情,我有时想通过以下方式增加对比度:

If it's for demonstrative purposes only, and you're not actually going to be using these scaled values for anything, I sometimes like to increase contrast in the following way:

% your data is in variable 'a'
plot(a.*abs(a)/max(abs(a)))

由于我们要发布图像,所以这是我的(之前/之后):

edit: since we're posting images, here's mine (before/after):

这篇关于Matlab-信号噪声消除的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆