4 ms·
> With enough compositions even the smallest tolerances will add up. This is true of digital floating point too, chained compositions lose precision. > A digi
by dahart 3y ago
> With enough compositions even the smallest tolerances will add up.
This is true of digital floating point too, chained compositions lose precision.
> A digital computer has finite precision but it has exact finite precision.. so it can represent the exact integer 1.
I’m not sure what you mean here exactly. Most real numbers cannot be represented exactly, and the idea of an exact number in digital integers and/or floating point still comes with a tolerance range. It’s only possible to have an exact number by construction or a-priori knowledge, but not in general and especially not when processing input data. It is possible to have an “exact” analog number, within a tolerance range.
> With an analog computer you cannot do this at all.
That’s incorrect. It’s true a single analog signal has noise and not incredible precision / resolution. That’s not a limitation of analog computing in general, it’s a limitation of choosing to use a single signal. You don’t have to use only a single signal. If you used, say, one analog signal per decimal digit, you can have as much practical precision as you can afford digits/signals. Then it becomes a bit more “digital” but the math doesn’t need to be implemented using gate logic. Digital lines also have analog noise, we just threshold and abstract it away. The line between digital and analog is always there but you can move it.
It is possible with analog circuitry to quantize a signal and/or interpret and have an analog ‘repeater’ that will rectify the signal into the interpreted value, correcting for line noise. This way it’s possible to do some amount of integer math without introducing noise into the result. This isn’t common or particularly practical, but it does help clarify what analog and digital really mean.
Hey you’re right about these being common issues, and about the typical advantages of digital logic, you’re just overstating the limitations and fundamental differences between digital and analog, and making assumptions about where that line is being drawn without considering all possibilities.
- analog31 3y agoA good exercise is to look at the "eye diagram" of something like an Ethernet or USB signal. Google will return plenty of hits, but here's one: https://www.testandmeasurementtips.com/basics-eye-diagrams/ https://www.testandmeasurementtips.com/basics-eye-diagrams/ Thought of as an analog signal, it looks like a mess. In fact, you don't know if it's an analog or digital signal from the picture alone. What makes it a digital signal is a convention for interpreting it as a discrete sequence of symbols. The convention is designed so that under reasonable conditions, the interpretation is unambiguous. "Noise" is ill defined by itself. It means an unwanted fluctuation of a signal. If the digital signal is correctly transmitted and received, it is noise free, regardless of what it looks like on an oscilloscope. On the other hand, "analog" doesn't just mean any continuous electrical signal. It means that a signal represents a quantity, such as temperature or acoustic pressure. It can't be noise free. If thresholds are applied to define discrete values of the quantity, then it's not analog any more. There is a profound amount of confusion about this, so I'm sympathetic. I dabble in some audio electronics, and there are endless debates about whether Class-D amplifiers are "digital" or not. They are certainly marketed as digital. ;-) The vagaries of floating point arithmetic, the possibility of errors in digital systems, and whether anything physical represents a real number, are interesting but basically sideshows.
- dahart 3y ago> If thresholds are applied to define discrete values of the quantity, then it’s not analog any more. I agree. It’s my fault I’m not describing this clearly, but I was referring to switching between digital and analog signals. One can do math using analog circuitry and the interpret the result as digital. The basic problem that I’ve been hinting at is that what we call “digital” has analog components, and what we call “analog” in computing usually turns into digital eventually. (Maybe not analog audio processing, but analog computing does.) It’s often a mix, and there’s a big gray area. > there are endless debates about whether class-D amplifiers are “digital” or not. Right! I believe there are debates about whether modern “analog” audio delay pedals are analog or digital too, right? They are now using more cheap digital components to simulate analog delay lines, which is really if you think about it switching between analog and digital multiple times before you ‘hear’ it. Does it even make sense to summarize it as either analog or digital? > “Noise” is ill defined by itself. It means an unwanted fluctuation of a signal. [..] The vagaries of floating point arithmetic [..] are interesting but basically sideshows. I guess it’s getting lost, but I’m making an analogy between noise and floating point, not claiming that FP rounding error is the same thing as noise. I’m perfectly familiar with noise, and I’m just saying that, in a way, floating point rounding isn’t entirely dissimilar from the net effects of noise: they both are accurate to within a certain tolerance, and they both grow larger errors with chained operations. Fp32 is way more accurate than a typical analog signal, but that’s because it has a lot of bits. Fp8 on the other hand might really have closer to the accuracy that a high quality analog signal has. Digital fp8 might be repeatable where analog isn’t, but that doesn’t necessarily make it more accurate, nor is it something we characterize as “exact” like @corethree was claiming. My only point in this thread was to say analog computations do have some uses, which is why they’re still being used and studied. @corethree said there’s no practical use because analog can be simulated with digital. I’m sure as an audiophile, you’re aware that claim isn’t true. It’s true that analog can be simulated with digital but that’s a slow simulation and has no bearing on whether analog components are useful. One of the analog computing applications I had in mind when I replied was the new Photonic chips. https://www.nature.com/articles/s41586-023-06558-8 https://www.nature.com/articles/s41586-023-06558-8 Another one is quantum computers, they’re quite analog, and definitely different from ‘digital’. A third is fast low-precision AI training chips. There are a whole bunch of startups trying to make these come to market right now, all of them full of smart people who’ve studied the problem and believe that analog computation for AI training solves a real problem.
- corethree 3y ago>This is true of digital floating point too, chained compositions lose precision. No. You're thinking in terms of like f64 as maximum precision and how precision is lost in software as you add stuff up. That's a property of the mathematics behind floating point. The mathematical model of floating point is MODELED to lose precision this way, we chose to use this model so we chose this trade off. The problem I'm talking about is INTRINSIC to the device itself. We cannot get rid of noise in the voltage and it will add up as we compose devices together. This does not happen with electrical gates. You chain a million NOT gates together the output will be correct and clean voltage number equivalent to a HIGH or a Low. >I’m not sure what you mean here exactly. Most real numbers cannot be represented exactly, and the idea of an exact number in digital integers and/or floating point still comes with a tolerance range. It’s only possible to have an exact number by construction or a-priori knowledge, but not in general and especially not when processing input data. It is possible to have an “exact” analog number, within a tolerance range. That's probably because you don't understand what it means to be digital vs. analog. In digital TTL you choose ANY voltage between 2-5V to represent 1 and any voltage between 0.8-0V to represent 0. Thus there's an entire RANGE of voltages that symbolize a 1 or 0. The representation is exact because we CHOSE it to be exact. In analog computing we choose the EXACT voltage value to represent some multiple of EXACT number. Thus 3.49394239045 volts equals some number: C * 3.49394239045. Unless we can exactly ALWAYS get the voltage to be 1V flat we can never really represent the number exact number 1. We can't do this, thus it's practically impossible. > If you used, say, one analog signal per decimal digit, Doing this is a form of digital computing. You are essentially setting thresholds to the voltage. Each digit has values 0,1,2,3,4,5,6,7,8,9. You are choosing a range of voltages to represent each digit. Modern computing DOES the SAME thing, but instead of 0,1,2,3,4,5,6,7,8,9 it uses just 1 and 0. We use binary to represent all numbers but it doesn't have to be that way. Digital computers are not necessarily binary. Reread my reply. I mentioned this, you just didn't get it. >It is possible with analog circuitry to quantize a signal and/or interpret and have an analog ‘repeater’ that will rectify the signal into the interpreted value, correcting for line noise. You're not understanding the meaning of a digital computer. Read the first sentence: https://www.britannica.com/technology/digital-computer https://www.britannica.com/technology/digital-computer The minute you "quantize" your signal you're no longer doing analog computing. The number is no longer continuous as you discretized it. The "precision" you're talking about with your "multiple signal" technique is achievable not just with multiple signals but with multiple bits. Digital computers can do the EXACT same thing with just 1s and 0s.