Can Analog Make a Comeback?
semiengineering.com
semiengineering.com
i.e. If some circuitry is interfacing with an analog counterpart where 16-bit precision is enough at the digital side and the analog circuit can produce outputs matching that accuracy much more efficiently than digital while still being able to be adjusted externally by the digital, why not?
I think it can open up some new doors in AI, though what excites me is that what else other than AI could it be applied to? Circuit simulations? Signal generation? Perhaps some analog "programming languages"?
Much neuromorphic computing or coupled oscillator computing (including von neuman’s alt architecture) is analog.
Analog processing cannot compete with 32-bit floating-point numbers, when their precision and/or dynamic range is required.
Increasing the SNR for digital processing requires the processing of more bits, which means either the multiplication of digital blocks such as adders, or the increase of the clock frequencies, when the existing digital blocks must process more bits during the same time, in serial manner. Both methods increase the power consumption.
Increasing the SNR for analog processing means the use of more complex circuits, with more devices, and the use of larger devices, e.g. larger transistors, larger capacitors, larger resistors, so that the effect of various noise sources will be relatively smaller (due to averaging). This also increases the power consumption.
The relative power consumptions for analog and digital processing depend a lot on the technologies used, but in general analog processing needs much less power when the requirements for SNR/dynamic range are low, but the power increases rapidly with increased requirements and at some threshold the power needed becomes larger than for implementing the same task by digital processing.
In modern CMOS technologies designed for making digital devices, the analog components have become worse and worse in comparison with old technologies. That has moved the threshold where digital processing becomes preferable lower and lower.
For example, because of this, at every smartphone generation where a new CMOS process is used, an important part of the migration of the previous designs from the old process to the new process is to identify some old analog blocks whose functions could be implemented digitally in the new process, so that those analog blocks could be replaced by digital blocks, because otherwise the new chip could be worse than the old due to worse analog parts, even if the digital parts have been improved.
The parent article makes the point that this trend which was continuous for the last few decades can be reversed now due to the advances in packaging and interconnection technologies, which can make a modern multi-chip device to be similar in price to a monolithic device.
If the restriction of using a single chip is removed, then it is no longer necessary to use the bad analog components provided by the modern CMOS technologies but it is possible to use a separate analog chip, made with an appropriate manufacturing process.
In this case the threshold where digital processing becomes preferable to analog processing can be moved again to higher SNR/dynamic range values, where it was many years ago.
A lot of the analog in those devices is very high speed and must be put on, say, sapphire substrate or invokes some other complicated method, requiring wafer level integration or another package. The energy budget may be worse for digital at our current tech level but other effects like package size and package/wafer/process cost dominate.
Spintronics, phononics, photonics, ... could also lead to new computing and reduced sizes.
This is why when looking at data sheets for ICs, gates, etc, there's timing constraints to not get garbage on the output pins.
I've been meaning to mess around with some slower digital ICs and see what happens to the output pin(s), but I don't have a fast enough oscilloscope.
For example, transistor-driven class A and AB amps that used to be analog amplifiers were replaced by class D amps - essentially a pulse-width modulated signal controlled by a switch-mode FET with a filter bank on the back end. This allowed the creation of very compact and power efficient audio equipment - like the portable Bluetooth speakers we have today.
Likewise, all other traditionally analog stuff, like power supplies, signal processing, motor control got a major boost from improving digital technology to the point I can't really imagine analog making a comeback if not for some niche reason.
Low power is another niche where analog can be best. Did you know that even current smartphone designs include electromechanical (really) filters for radio signals? SAW filters convert electrical oscillations to mechanical ones and back.
AFAIK hearing aids also rely on analog stages in some pretty clever ways to save energy.
When some audiophile type talks about "listening fatigue" (and the lack of it from tube amplifiers) I get what they're describing now.
(This is the "Darling" tube amp I built for maybe $200: https://imgur.com/PBKOQMk)
[a]: by non-audiophiles
Tangentially, I built a little transmission line speaker, see Woden Designs Baby Labs pdf, I built the redeye, IIRC, the one that used the cheapest driver. The little 3 inch driver really rolls off above 10k, I’m missing a whole octave of the highest frequencies, and I’ve spent some time around planers and table saws and electric guitars, don’t have the best ears, but side by side with other speakers you notice. But anyway, the point is you notice, but it really doesn’t sound bad to lose a little high end. Something is missing, but it’s not ugly to listen to in the way some other speaker defects are.
If some amplifiers would be ideal, producing no distortions, they could not be distinguished in any way, regardless what devices have been used to implement them. The modern Class-D amplifiers can behave almost ideally when amplifying low-frequency signals, but for the signals with frequencies close to the upper limit of the audio range their behavior becomes much less ideal.
While I have pleasant memories about a tube amplifier that I have used many years ago, I have never made comparative tests with other amplifiers, so I could not say whether it was better or worse regarding "listening fatigue".
Even when comparative tests are done in an identical setup, by swapping a tube amplifier with another amplifier, it is extremely difficult to disentangle which audio differences are caused by using tubes as the amplifying devices, which are caused by the audio transformers included in most tube amplifiers and which are caused by the interaction between the amplifier outputs and the loudspeakers, which can be very different between different kinds of amplifiers, due to their different relationship between output impedance and signal frequency.
I started here: https://www.oocities.org/timessquare/1965/darling.html
After building a couple of point-to-point Darlings I created a PCB version to make building it much simpler and repeatable.
There used to be other Darling PCB's on eBay but I don't see them anymore. I should probably get my own PCB back in "production"....
There are plenty of tube amp kits on aliexpress, but I can't vouch for them. Maybe you can look around here for ideas/recommendations: https://diyaudioprojects.com/Forum/viewforum.php?f=9
Analog still has not left power supplies. The dynamics are just too fast for low-power digital. So the solution for a long time has been mixed analog and digital.
At higher power, there's usually a hierarchical control scheme with an all-digital supervisor at the top. Analog isn't required at that level because the dynamics are slower, and digital has the extra benefit of more control options that analog can't do.
As the dynamics get faster, there's an even greater need for analog. You start needing increasingly expensive op amps. But op amps trade speed for convenience. So the fix is even more analog, but the integrated type. At that point, you might as well throw in more digital features.
Which is why I think we'll just see even more mixed-signal options at the lowest levels. Different ways of leveraging analog speed and low power under an increasingly sophisticated digital manager.
If you look at any modern voltage regulator it switches in the megahertz range with variable pulse width and interval. This is all controlled in the digital domain (lower end ones do use analog control loops, but higher end do not).
Above the megahertz level switcher everything else is just capacitors providing low impedance at frequencies into the high hundreds of megahertz (and at gigahertz it’s on-die capacitance).
‘too fast for digital’ makes no sense when talking about control loops, digital is faster.
There are many parts of a control loop. An analog comparator is faster and lower power than an ADC + digital comparator, for example.
No, DAC means digital-to-analogue convertor. It comes after the computer. Sampling before a computer is done by an ADC.
> The signal chain is that simple.
No, the software signal chain is not simple.
> No, the software signal chain is not simple.
While the software itself might be complex, the grandparent is right: digital audio data coming out of the ADC doesn’t get transformed in the way you suggested above. There’s no secret compression, transcoding or resampling going on without the knowledge of engineers, as it would add noise and interfere with production techniques. Even things like dithering have to be added separately.
Consumer audio, even (or especially!) when things are 10x more expensive than pro products, is definitely a bit of a garbage fire.
Do you perform bit-perfect tests to be sure? The people who write the software are surely the ones in control.
I'm reminded of Behringer building entire factories on the back of a line of reissues of other people's analog synths. They worked out how to build that stuff in modern workflows without compromising the analog signal paths: I've taken apart their newer gear and saw how it was done. All you have to do is not build it like it's a cellphone, and give the audio paths quite a lot of extra signal handling capacity plus some fairly modern circuit board design knowledge.
I've got a couple MakeNoise synths that are likewise very modern designs but stand up to anything anyone's ever done, vintage or not. Designing analog circuitry is definitely in a renaissance.
Also, everything analogue feels so snappy, compared to doing stuff in “the box”. On a computer, the audio must be buffered whenever transferred between components, and this really adds up to noticeable latency when doing real time stuff.
Of course, there is stuff which is not feasible to do in analogue. Spring reverbs are cool, but it is far from digital reverbs like the Valhalla shimmer.
(Speaking of telephones, I really miss the times when the phones did not have all this latency. It feels like speaking in a walkie-talkie some times.)
Amen to that. The number of times that I've gotten into 'we both start talking at the same time' deadlocks on the phone (and video conferencing, for that matter) in the last couple of years has reached high levels of irritation.
On Linux you’ll also have to mess with pulseaudio settings, but that’s all you need on Windows.
In theory a motherboard mic input could offer the same settings, but they (correctly) assume most users have a shitty CPU that can’t handle real time tasks without lag spikes that lead to buffer underruns.
Unless you only work with other software developers (or gamers I guess) who are latency sensitive like us, most of the people you speak with over VoIP are unlikely to have a Ethernet connection.
Last time I worked full-time in an office, some people didn't even know you could connect to the internet/router via a cable instead of wireless...
If that wasn’t the case, I’d probably buy them a 50ft cable on every holiday until they stop lagging.
If you're talking with them over VoIP, my hunch is that money isn't the problem here (30m ethernet cables cost like ~$15-30), but rather being able to pull a cable through the house/apartment without making it look like an eyesore or even being in the way.
Not true. Any half-decent audio API will drive the whole audio graph from the hardware I/O callback, so there’s only a single buffer, usually of length 256-512 samples.
cc @PaulDavisThe1st
synth → reverb → output
Every 5.33ms the OS audio system (CoreAudio, JACK, etc.) calls your DAW to produce 256 samples of audio. The DAW looks at the audio graph and asks the plugin connected to the output, the reverb, to produce 256 samples of audio. The reverb calls the next plugin, the synth, to produce 256 samples of audio, then applies the reverb effect on it, then returns it to the DAW, which returns it to the OS, which writes it to the audio hardware’s buffer. This all happens within the same 5.33ms callback.
You can have as many plugins as you like, there’s no additional latency (unless the plugin explicitly adds buffering).
Again, cc @PaulDavisThe1st
Additionally, conventional hardware input/output requires at least two periods of buffering for a stable duplex session (mic input and speaker playback simultaneously). On startup, you fill the output buffer with 2 periods of silence. Every period (when input buffer grows and output buffer shrinks by 1 period), you take 1 period of input audio, feed it through the audio graph (which can take up to 1 period otherwise your speakers run out of audio to play and stutter), then write 1 period of output audio to the speakers. Smaller periods (lower sample/frame count, lower duration in ms) reduce latency, but increase the risk of stutter if your system can't schedule and run all audio apps in 1 period of time.
I was explicitly mentioning JACK and CoreAudio, because the discussion was about professional audio tools.
>Additionally, conventional hardware input/output requires at least two periods of buffering for a stable duplex session
This is not true if both the input and output are coming from the same device. In that case you can serve both input and output within the same IO callback, thus the playthrough latency will be only a single period. Multi-device playthrough is more complicated, as you'd need asynchronous sample-rate conversion due to different hardware clocks (i.e. clock drift), which inherently increases latency.
By playthrough latency, do you mean having the output play the same audio being captured from the input/mic? One period of loopback/playthrough latency is only possible if you can instantaneously copy data from the input to output buffers (for example by using the same hardware buffer for both?). In practice, PipeWire and JACK2 both introduce 2 periods (in PipeWire, quantums) of buffering latency, which I've discussed in my blog (https://nyanpasu64.gitlab.io/blog/low-latency-audio-output-d...), or you can confirm by reading their source code.
It doesn't even have to be modern... in fact, for many consumers something "modern" is undesirable.
Like "organic", "analog" and "vintage" are very effective marketing terms.
Slap those on your products and they'll sell like hotcakes.
Once ECL lost the high ground in performance, it was gone forever. You won't encounter it outside of computer museums today, except in very specialized applications. Analog computing is like that, only even more doomed. It doesn't scale.
I do think we'll get back to analog eventually, for the same reason our brains aren't digital. But that will look like alien technology compared to what we have now, so there's no near-term incentive to explore it. Right idea, wrong timeframe, probably by a hundred years or more.
It will never be over, but digital eats analog a bit more each day.
Even stuff that’s born digital, like samplers, are coming with analog parts today.
I remember several keyboardist, guitarist and engineer friends selling all their analog gear for some stuff that is completely obsolete and abandoned by players now.
The analog stuff on the other hand sells like hotcakes. Even stuff from the 90s fetches crazy prices.
And with the renaissance, people are also buying newly designed analog stuff at an amazing pace.
"Analog Computing for the Future" https://the-analog-thing.org/
"First Steps" [PDF]: https://the-analog-thing.org/THAT_First_Steps.pdf
An analogue solution is a much costlier and time consuming solution.
The area where I saw analog computers that made sense is in CCTV cameras. Installing an analog board into a camera to identify shapes is cheaper to be done on camera vs sending all video for processing.
Think manufacturing QA, retail foot traffic, or similar applications.
Let’s start with something easier e.g. brightness/contrast knobs.
In either case, the software has an annoying scaling problem.
Even with a receiver with a volume knob denominated in decibels-- there's 30 useful steps between really quiet and really loud for content that is using the full volume of the track. Content that is quiet, or quiet in places, can easily need another 15 steps.
And sometimes, sitting in the room with the atten set to -34 dB and -32dB feels really different.
So that says you need 22+ steps to be sufficiently expressive, but everyone wants a 1-10 scale.
On my Windows PC, with the SB ZXR soundcard, for my ATH headphones I want my level no higher than 8-10% ; the lack of steps is a major pain, must be compensated for by in app volume controls.
On my Samsung Android, at least I have their Sound Assistant which makes my Galaxy S21U a lot more useful. There I can greatly increase the number of steps, and the useful range is actually 0-100%. (Also, I can play eg Audible and Spotify at the same time, with individual volume controls).
But it will never come close to the fidelity of my 25 year old Rotel pre amp volume knob. May this system never die, or at least outlive myself.
You can override with touch, but given that, they should have made a single click on the buttons more granular ...
It’s really shocking to me how much easier software was, but the rewards are inversely proportional as well.
Now I think those are the wrong questions.
Digital versus analogue, if we approach it as a "conflict" is political, connected to human rights and values around experience, ownership, reproducibility and uniqueness, time, space and reality, and the ephemeral versus the eternal.
What would the world be like if we could re-run history and develop analogue technologies on a capability par with our digital ones? Is it unimaginable that picometer scale manufacture, DNA bio-computing and quantum technologies might evolve out of a totally different trajectory than Boolean logic gates, von Neumann/Harvard architectures and packet networks?
In such a world, would we still have conceits like Digital Rights Management or massive centralisation into single points of power and potential failure?
Would we feel as alienated by/from our technology and need an expert guardian class to manage the masses? Or would powerful analogue computers somehow fee more natural to our analogue brains? More understandable and maintainable by the average person? Would they be mass-producible or remain powerful tools for the few?
Would we still rush around like headless chickens, worrying about nanoseconds of efficiency and trying to connect everything to everything else just because we can?
Perhaps we would have entirely different problems such as virus-like nanobots that reprogram people or computers that forget important things. Maybe we would have already achieved "artificial intelligence".
This is why digital computers won out over analog computers: they are deterministic, whereas analog computers would like to be and sometimes are deterministic but the nature of the device works against you all the time.
The kind of abstractions that we can achieve in the digital domain would be impossible in the analog domain.
The digital noise has the advantage that it normally does not depend on time or temperature, i.e. 5 years after you have bought it, unless it has broken meanwhile, the digital device will produce the same noise as in the first day (when executing the same program). Also, a properly designed digital device will produce the same noise regardless if the weather is warm or cold.
The greatest difficulty in analog processing is to avoid changes in behavior caused by the variable ambient temperature or by aging.
Besides the immunity to temperature and time effects (within reasonable ranges), the second advantage of digital processing is that it is much easier to implement programmable devices, where, e.g. if the noise is too high, one can just change the algorithm to use numbers with more digits. That will work fine, even if it may increase the power consumption or reduce the signal bandwidth (due to slower digital operations).
On the other hand if the SNR is not good enough in an analog computer, increasing it may require a complete redesign.
Is there a connection between clockless and analog computing?
I dimly recall reading about Ivan Sutherland (and maybe Sun Computers) pushing clockless. And for some reason I associated the two strategies.
I (think I) get that analog is continuous function. And I think of clockless as like async and queues from high level programming languages.
Thanks for humoring me.
With respect to Sutherland, I think you're talking about 'fleet', which was a digital async solution, HN discussion from back in the day (13 years ago, all resources seem to have vanished):
Some circuits of this kind are widespread, e.g. the so-called switched-capacitor filters or the so-called charge-coupled devices (CCD), which are used in many image sensors.
It is possible to make an analog computer that works like a synchronous digital computer, with all operations done under the control of a central clock signal.
In such an analog computer, the digital registers of a digital computer are replaced by capacitors which store electrical charges that are the analog quantities corresponding to the numbers stored in the digital registers of the equivalent digital computer.
Such a synchronous analog computer would be slower than an analog computer that works in continuous time, without a clock, but the synchronous analog computer can be made to have a higher precision, because its precision can be made to depend only on area ratios between capacitors, and such ratios can be very stable during aging or temperature variations.
In an analog computer with continuous time, without a clock, the precision is also influenced by other kinds of electrical components, at least by resistors, and in integrated circuits it is difficult to make high-quality resistors.
Yes. You design a circuit; you're program is a diagram. Here is a simple one[1]. Believe it or not when you get good you can suss the basic function of such a thing pretty fast, much like a decent programmer can grasp the structure of code they've just encountered. There are a lot of idioms to learn, and you need to be able to approximate logarithmic functions in your head.
The 'op' part of op-amp (those big triangles) means 'operation,' as in mathematical operation. Their output is some mathematical function of their inputs (the + - terminals). That circuit multiplies two numbers and divides that product by a third number.
[1] https://electronics.stackexchange.com/questions/325472/how-d...
It should also be noted that this circuit can only operate on positive signals. A full four quadrant multiplier circuit, where both inputs can be positive or negative, is more complex AFAIK.
For example, [1] is about preparing first quantized fermionic states more efficiently. It uses sorting networks to do it. Nature doesn't prepare these states using sorting networks, but that's no reason not to do it in the quantum computer to reduce costs.
I use mostly opamp's to amplify signals.
Good to see these benefits are being recognised.
Alas design tooling and skillsets hold this back, way easier to do an async design as well. FPGA's has an era (to some degree they still do) in which tooling held them back and whilst that has improved, highlights how software and hardware become intwined.
Which leads back to analog designs for problems, in which many cases the hardware is the software, so the whole time to develop is not just getting the hardware out the door, it is nailing the software per say as well at the same time. Then you are looking at hardware akin to an ASIC in which it is dedicated to the task it does and nothing else.
One thing though - the term BUG originated from the analog era in which an insect(aka bug) would become logged in the mechanism and cause errors, so a bug in a cog would change timmings or jam things up being one example.