Hacker News new | ask | show | jobs
by mariefred 2703 days ago
Maybe I'm old but that's common knowledge, the reason more and more computations are moving to the digital world is weirdly the simplicity of implementation and not accuracy, speed, price, reliability or anything else super sophisticated.

It's much easier, faster, maintainable and usually cheaper to add a cheap controller and peripherals than to find an electrical engineer to do the math and design a circuit.

4 comments

Actually it's usually better in the digital domain for all of those reasons. Most systems these days have minimal transducer processing stuff in the analogue domain and get it into the digital one as quickly as possible.

Analogue systems have a lot of non-ideal characteristics such as drift, thermal sensitivity, parasitic capacitance and inductance, impedance matching problems, insane cumulative errors and manual tuning requirements that don't exist in the digital domain. They are also more expensive to modify, and the price goes up significantly with complexity and speed. Not to mention small and fast is really difficult in the analogue domain thanks to everything being a transmission line.

> insane cumulative errors

Any sufficiently advanced analog computer is indistinguishable from a noise generator.

I fly a plane with an old analog computer autopilot/flight director. It works perfectly well. Its failure modes are well understood and easy to diagnose. The boards and components can be easily troubleshot and repaired by competent electricians.

Modern autopilots are all sensors, DACs, ADCs, and various digital computing resources. Cheaper, faster, more featured, and mystifying in their failure modes.

Although I am a big digital person, even for photography, audio and other seemingly analog things - I admire and appreciate the one major analog computer in my life.

Alas, after 7 years, it finally needs a repair. Sigh.

Does it have some kind of built-in redundancy? And how are you aware that it needs repair?
(It is broken because:) When engaged, the altitude hold function commands a 10 degree pitch up attitude in all cases. This is a reasonably extreme pitch. Even the built in “take off/go around” mode usually commands only about 7-8 degrees nose up.

The altitude is “held” using a “static” pressure sensor and pitch is adjusted in a control and feedback loop to attempt to keep that signal constant. When it works, it is very smooth.

The system is not as a whole redundant, but there are many failsafes. You can put it into a mode where the system does not fly the plane but tells you what it thinks you should do. This is called a flight director. You fly it almost like a video game, get the pointers aligned.

Each component has some redundancy. It has a self test, an annunciator panel saying what mode it is in, a mode control panel, several controls on the yoke including a kill switch, several circuit breakers (one, the electric trim, which has a big red flange on it - see the recent 737 crash artickes), etc.

The workflow of using the autopilot is always command a change, check that the change is reflected on the annunciators and that the plane is adjusting attitude and such appropriately, then resume the normal scan. If at any time anything looks off my instant reaction is always to hit the big red button and take the plane’s control back. When you do this you need to be wary for an out of trim condition and other sudden forces on the yoke and rudder.

TFA explains the nuances of the trade-off. For certain domains (simple calculations at extremely high frequency with tolerance for approximation), analog is a good choice.
Same reason why the majority of CPU's are synchronous instead of asynchronous, cheaper to design by far.