Matlab-信号噪声消除 [英] Matlab - Signal Noise Removal
问题描述
我有一个数据向量,其中包含-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屋!