Removing isolated high amplitude noise from array

I have an array of sound speed, SS, with noise in it. The noise can be seen as a blurred patch between -0.04 and -0.07 on the y axis, across the whole profile (Additionally there is a thinner band at ~ -0.1 s).
I would like to remove the noise without affecting signal.
The noise appears quite clearly in second derivatives (called FXX and FYY in code below).
I have tried several noise removal methods, with limited success - not helped by a lack of signal processing knowledge. Currently I am using the second derivative with respect to x (FXX, distance, km) to simply replace values over a threshold with an average.
[FX,FY] = gradient(SS);
[FXy,FYY] = gradient(FY);
[FXX,FYx] = gradient(FX);
for i=1:nx
for j=1:ny2
if abs(FXX(j,i))>3;
SS(j,i)=average_SS_val_for_noisy_region;
end
end
end
This is not working very well as you can see below
Could someone please help me sort out an effective way to filter out the noise?
File attached for better viewing

 Respuesta aceptada

Star Strider
Star Strider el 3 de En. de 2017
If your figures are a spectrogram with frequency on the y-axis, you can easily use a lowpass or bandpass filter to pass everything below the noise frequencies, or a bandstop filter to specifically remove the noise band.

2 comentarios

K G
K G el 3 de En. de 2017
The figures above are not spectograms, simply sound speed as a function of TWTT (essentially depth) and distance along the profile. Would it be possible to convert them into a spectogram domain?
I would convert them to the frequency domain with the fft (link) function to see if the noise is band-limited. If it is, you can use a frequency-selective filter to eliminate it.
Your other option is a wavelet transform to identify the noise location in the signal and eliminate it. Wavelets are good for de-noising signals, and there are examples in the Wavelet Toolbox on how to do this. (I do not have enough experience with wavelets at present to help with that.)

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Preguntada:

K G
el 3 de En. de 2017

Comentada:

el 4 de En. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by