High / Low Pass Filters from Zero I everyone,

I'm a computer scientist but not from the signal processing community. I want to implement a real time digital low pass filter (to begin with) for a sound processing application. I've done some research and found some solutions:


Wikipedia gave me this filter: y[i] := y[i-1] + α * (x[i] - y[i-1]),
which is exactly the kind of formula I want.
I've found an online filter generator, that can generate C code from the description of a Butterworth filter. Great.


So my question is not really "give me a filter algorithm". Its more:
How do you make those formula?

What I want is not a ready-to-use algorithm that I can copypast. I want to understand what I'm doing and how it works. However! All the documentation that I've found until now, including the Wikipedia pages, are directed to people that already have a solid background in signal processing (a lot of unexplained notations, function names, etc.). This is not my case.

I need someone to explain to me how a low pass filter works, how the Butterworth filter (or something else I don't care) works, how I can extract a nice algorithm from it with the correct coefficients. And all that like I'm a 5 years old.

I haven't found anything like that yet. If you'r willing do it here you'r welcome. Or you can give me links to online literature, blog posts, anything that popularize all thoses notions. You'll make me happy.

Thanks &lt;3

EDIT: I want to clarify that I'm not looking to know how a general low pass filter works, using a convolution and all that. That I already know. I mentioned the Butterworth filter and associated algorithm because it is a linear filter (algorithmically speaking). Something that I can reasonably use in a real-life application for real time processing.
I will try to be intuitive more than rigorous.
Low Pass Filter means a filter which limits the ability of the output data to change fast (Relative to a parameter called the Low Pass Cut Off Frequency).
Namely it make the signal transient to take longer (Smoother).

How do we do that?
We, make adjacent samples have similar values.

So for applying a Moving Mean Filter (Output is the mean value of few adjacent samples) means we applied a Low Pass Filter.

Another way is Auto Regressive model, which you pointed.
In that mode the output sample is the previous samples with a small addition which again, with proper ratio between the weight of the previous output to the new input means the speed of changes is limited.

This is the intuition.
If your needs are basic this might work (Just apply some weighing with non negative values, Let's say Gaussian Filter).
If you need more advance control you'll need to learn the frequency Representation of the sampled data.