Adding to 12Lappie's answer:
You can use 3x 74HC4051 for example (if the voltages you want to mux are compatible). So, each MUX has one analog output. Connect the MUX select inputs together, then to the micro.
Thus, you have 3 lines, which control all MUXes simultaneously (ie, if the value on these lines is 001, then the first input of each MUX is selected).
The decoder can be omitted. Simply direct the 3 MUX outputs to 3 analog inputs on your micro, and use this to select which MUX output you want to acquire. This uses 6 pins total.
Now... the filtering.
If all you want to do is amplify, you can share the amplifier between inputs, by putting it between the MUX and the micro, provided of course all inputs need the same amount of amplification. With this 3 MUX to 3 analog inputs scheme, you can use 3 amplifiers with different gains, if you want. Or you can use a single amplifier, but then you need to put the decoder back, as 12Lappie explained.
Now... the anti-alias filtering is another matter.
Remember, if you sample at (say) 1 ksps PER INPUT, then each input should have an antialias filter with decent cutoff at 0.5 ksps... and you cannot reuse it, of course. If you put the filter after the mux, and select each input in turn, then the output of the filter will be a jumbled mess of all inputs mashed together.
So, you need one filter per input. Not negotiable.
If your sensors are very high impedance (like, unable to drive the parasitic capacitance of your MUX and ADC), then you'll need the opamps anyway.
Otherwise, to keep costs down, the simplest solution is to use a dumb 1st-order RC filter, oversample like crazy, and apply the filtering in the digital domain, where instantiating 20 filters does not need 20x more parts, just a loop and some number-crunching. Simple IIR filters (ie, biquads) require little processing power provided your micro has a decent MUL instruction.
Now, the deciding factor will be the ADC sample rate, the sample rate you need to acquire after downsampling, and the highest frequency the analog signal can have that must be presevred. So, please provide this information.
Now... if your 20 sensors are measuring stuff like temperature... then why the hell aren't you using DS18B20 digital thermometers?
Can I transmit an analog signal through a noisy environment without it
being corrupted, or should I use a digital signal instead?
Yes, you can transmit analog signals long distance without them being corrupted, but proper EMI technique needs to be followed. The usual route is to gain the signal up at the sensor and then use shielding on the cable from the sensor to prevent interference from electric fields but not magnetic fields. 10bits of resolution on a 5V signal equates to 5mV, which isn't terribly difficult in most cases but in your environment with AC running close to the cable keeping the signal clean might be tricky.
The other problem with a cable would be currents (especially non constant/AC currents) on the shield of the cable which must be kept to a minimum or the current through mutual inductance between the shield and the inner conductor(s) can create voltage noise on the inner conductors. There can be problems with running a long cable, such as creating a ground loop. Since you also need to go through a slip ring this could also be a potential source of noise since it would difficult to maintain the shield. The slip ring could be a big source of noise for an analog signal.
With a digital signal (and differential signaling such as RS485) these problems can be avoided and in my opinion it is easier to isolate a digital signal than an analog one. I would say go the digital route considering your environment.
If you want to go the analog route, if you had a power supply, you could run an experiment and set it to a known voltage, like 5V and then measure the noise on the other end of the cable with a DMM, if the noise is below 5mV, then it would probably be feasible to go the analog route.
Best Answer
Current and voltage are inseperable. The current is flowing because there is a voltage on the wire, and there is a conductive path from that voltage to a lower voltage.
So we can say the data is encoded as voltage pulses or current pulses, it doesn't really matter. Often a high voltage (5 V) indicates a "1" and a low voltage (0 V) indicates a "0". But you could choose any two voltages you like. 3.3 and 0 V. 0 and 3.3 V. -0.8 and -1.2 V. According to what works best in your design.
Another way to look at things is that the voltage at a location on the wire is just a simpler way of looking at the fact that there is an electric field between the wire and everything around it.
When a signal propagates along a wire, it's actually the electromagnetic field between the wire and a nearby "ground" or "return" conductor that is propagating. So it is actually an EM wave, not a massive object (like an electron) that is carrying the signal along the wire.