2
\$\begingroup\$

enter image description here

I havent had much experience with low pass filters but,I do understand what they do. I was implementing one on an AC signal above. This is a sampled input, and I dont see how would you call the picture an implementation of a LPF. From what I thought, frequency is on the horizontal scale , so if the gap between 2 samples/lines was less than a threshold/cutoff, then it would not be taken into account. But I dont see how the height of the sample is reduced by an LPF?

Also, Why do you get varying heights, and not just a straight line, so an AC wave with a DC part on top?

\$\endgroup\$
  • 2
    \$\begingroup\$ It looks like one to me - the variation in sample amplitudes represents a higher frequency and after filtering there are fewer spiky variations. Remember this is not a spectral display but a series of samples and the x axis is time. \$\endgroup\$ – Andy aka Oct 29 '13 at 20:35
  • \$\begingroup\$ Agreed, it looks more like a time varying signal. The filter then smooths out the rough parts \$\endgroup\$ – JonRB Oct 29 '13 at 20:55
  • \$\begingroup\$ "I do understand what they do". Is that so? \$\endgroup\$ – Kaz Oct 29 '13 at 21:03
3
\$\begingroup\$

The graph is clearly showing you separate samples in the time domain, not frequency domain. The X axis is time, and the Y axis is voltage (probably, other parameters, like current could be low pass filtered too, but such signals are overwhelmingly voltage).

The vertical bars below each sample are mostly pointless. That's just how they decided to draw the graph. Think of it like a mixture of a bar graph and showing points with circles.

By the way, a simple single-pole digital low pass filter is easily implemented by the algorithm:

  FILT <-- FILT + FF(FILT - NEW)

Filt is the single piece of persistant state you need for this filter, and is also the output value after each iteration. NEW is the new value going into the filter each iteration. FF is a constant you choose, which sets how much the filter settles towards the new value each iteration. Notice that when FF is 1, this is really no filter at all since it just passes its input to the output. The other extreme is when FF is 0, in which case the filter never passes any input to the output. Useful values are somewhere between.

\$\endgroup\$

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.