1
votes

Environment

Hi, I have an 128 point array which on plotting looks like this

Signal With Noise

I want to remove noise from this Signal and make signal something like

Signal after filtering white noise

For this my plan is to convert the signal in frequency domain and use a low pass filter.

Note - I am able to Convert the raw signal in frequency domain which gives me two arrays of length 128(one is *frequency plot* and one is *phase plot*). I am also able to recover the original signal using these two arrays. (DFT & IDFT).

Problem

Now I want to filter the noise from Signal. I am using JAVA as an programming language and this link/ this link provides a library for implementing IIR Filters. But I don't know what cutoff frequency should i use?

Also If I get Filter coefficients using above then how to implement this filter?(Please explain theoretically)

I want to use a butterworth lowpass filter.

1
I'm voting to close this question as off-topic because it is about DSP rather than programming DSP.Raedwald
@Raedwald , Can you please explain What is programming? Because as far I know, programming is about converting logic to a particular language and the question is all about logic.Adi Tiwari

1 Answers

2
votes

So, linear filtering alone won't suffice; I took your signal picture, converted it back to a sequence of numbers, assigned an arbitrary time scale, and plotted it in time and frequency domain (plot 1-3):

Plots

Then I tried to find a filter that at least cancels most of your noisy peaks. Notice how that smoothed out the edges of the rectangular pulse in plot 4.

You might, however, apply a threshold after the filter and get your desired signal shape.