I have a program which takes in data from an oscilloscope, and due to reflections in the medium, we will get random signals at random intervals. The two grey windows at the right bottom show the original data (below red line), and after FFT forward and backward (above red line).

The data set is originally 10,000 points, so the FFT has 20000 doubles stored. You can see in the command shell that the backwards FFT uses 19000 of those 20000 values. My issue is at the green rectangle I get waves before and after the real signal, which means I can hardly denoise it due to the signal itself being a rather sharp and high frequency.

Would I first find and extract the areas where the signal itself is present, and then run the FFT on that subset, or how would I go with denoising such an area?

The noise itself is not visible, since the 10k data points are scaled to 500 pixel, but its random electric noise coming from the oscilloscope.

Link to the image in big: http://i.imgur.com/3fHo8vP.png

The other two images show the similar data being captured, once being averaged 128 times, one a single set. I need to find a way to denoise the single capture.

Dataset and current settings

Data non-average

Data averaged

  • 1
    $\begingroup$ Why are you running an FFT/IFFT on the data? Are you trying to implement some kind of filter in the frequency domain? I suspect you are when you say that your reverse FFT only uses 19000 of the values. Zeroing bins is not usually a good approach to take, as it causes ringing, which sounds like what you are describing. $\endgroup$ – Jason R Nov 5 '13 at 16:09
  • $\begingroup$ Can you explain the nature of the noise you are trying to remove? It is not very clear from the question. $\endgroup$ – PAK-9 Nov 6 '13 at 0:20
  • $\begingroup$ Okay, edited the question. The noise we are experiencing comes from the input device which gets amplified by 40dB, resulting in slight electronic impulses being quite significant, but useless data. If setting the FFT to 0 is the false way, what should I do instead? A window function? $\endgroup$ – SinisterMJ Nov 6 '13 at 14:41
  • $\begingroup$ So what exactly is your signal? Your averaged set seems to show two signals that look completely flat, so are either zero or some constant value. I honestly still don't know what you are asking for. $\endgroup$ – jan Nov 6 '13 at 16:32
  • $\begingroup$ The yellow is Channel 2, and can be ignored, so only Channel 1 is of interest (red). This one has a very small signal amplitude, due to the solution being very low concentration, but the issue is that the noise on the first image goes down a lot when averaged, and its electrical noise. I need to find some way to get rid of that random stuff, and can then extract the real signal itself. $\endgroup$ – SinisterMJ Nov 6 '13 at 20:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.