We all know computers are digital machines. But have you wondered why? Why don’t we use analog computers?
To answer that, we must first look at what signals are.
A signal is an entity that represents information. This could be electric current, voltage, electromagnetic waves that are used for wireless communication, sound, etc.
Analog signals are continuous in nature. Continuous signals exist in continuous time and amplitude, hence the name. To represent them graphically, consider time on the x-axis and the amplitude/value of the signal on the y-axis. For example, here is a sine wave of amplitude 10V peak to peak with a continuously changing voltage.
An analog signal comprises of a range of values which is usually limited by the maximum energy the power supply can provide. Using another example, the signal below can have a value of 2V, a value of 2.5V and any value in between. One could say an analog signal can have an infinite number of values since there are infinite numbers between 2 and 2.5.
Digital signals don’t take on these ranges of values, they are binary. Digital signals have two values: high and low which can be represented as 1 and 0. Our computers operate on the principle of billions of 1’s and 0’s, highs and lows, being processed billions of times per second!
The combination of 1’s and 0’s in various ways create discrete numbers: 000(0), 001(1), 010(2), 011(3), 100(4), 101(5), 110(6), 111(7) and so on. Therefore, these digital ‘numbers’ can only occupy discrete values.
If we consider the representation of a digital signal, we can see that there are only two values here, 0V and 5V which can be considered as 0 and 1, low and high.
However, our world is full of analog signals like the music from your speakers and the current through the mains supply of your house. Since our world is primarily composed of analog signals, and our computers have processors inside that perform calculations on digital signals, conversion of signals from analog to digital occurs before it’s sent to the processor.
This step is carried out by the Analog to Digital Converter (ADC) which takes in analog signals (think a nice smooth sine wave) and converts them into digital signals. This process has three main parts: sampling, quantization and encoding.
In a nutshell, this whole process is responsible for storing a value of, say 5V, from the analog signal in digital form as 101 (which is the number 5 in binary) and a value of 4V as 100. In reality, all ADCs have a much greater resolution and 1V would not equal 1, but to keep things simple for this example, we’ll assume that 1V equals 1, 2V equals 2, etc. Everything in between is either stored as 100 or 101 depending on the thresholds set. This discrete data is then stored in memory to be used for processing.
Now the question, why go through all this trouble to go digital when we can just work with analog signals?
To understand that let’s use another example. Consider an operation, say multiplication that you want to execute on an analog signal of amplitude of, say 3V. So, in this instance we would like to multiply this 3V analog signal by 2. Naturally we would use an operational amplifier with selected resistors and adequate rail voltages to obtain the output of 6V.
But this isn’t the case in real life. Since the analog signal can take on a range of values, our 3V signal isn’t always at a precise value of 3V. There exist minute disturbances and noise which contribute to some level of instability in the value of the analog signal. So, in this case, the signal might rise to 3.1V or fall to 2.9V depending on disturbance due to external noise, electromagnetic interference from neighbouring wires, changes in temperature that cause changes in the resistance of wires, changes to the components inside the op amp, all of which contribute to the variation to the value of the signal.
These errors only increase, thereby decreasing the accuracy of the final output. In this case, if the signal moves to 3.1V,
which fares poorly in terms of the accuracy as our expected output was
Now imagine doing thousands of complicated calculations like this, depending on previous outputs, only using analog processing techniques. The error would be so high, it would render the obtained output useless.
This is the reason digital processing is preferred over analog processing. In digital processing, all the calculations perfectly match expected output as there is negligible error. This can be understood by considering the same 3V signal but in digital form (after our highly simplified ADC conversion) would yield a value of 011 in binary.
Now since multiplication by 2 is the same as adding twice, the converted binary number is added to itself which gives,
The result obtained is 110 which is nothing but the number 6 when converted back to the decimal number system. As you can see there is zero error propagated in this process, thus, making it possible to execute thousands of calculations on the value and still obtain a highly accurate output.
Since digital signals are no use to humans, it is converted back to an analog signal with the help of a Digital to Analog Converter (DAC). Although this process isn’t perfect, large errors do not occur and the analog signal obtained can be used reliably.
This is the biggest advantage of using digital processing methods instead of its analog counterpart.
Another reason is the ease with which digital processors can be programmed to carry out any required function on the signal. All you have to do is write a program and load it up on the processor. This is easier than having to change components physically and redesigning the whole board, reconnecting wires, and verifying logic every time a new requirement arises.
Imagine having to reconnect resistors in an op amp circuit instead of just replacing a 2 by a 3 in a program!
This isn’t to say that analog signal processing is completely useless. Analog signal processing is usually faster as there is no conversion from analog to digital (and vice versa) involved. Potentiometer dials on radios and speakers for volume control is an example of analog signal processing where the analog signal is attenuated accordingly. Also, there are audio filters; equalizers where you can physically adjust the bass or treble of the output sound.
Digital processing is used in almost every device in which a microcontroller or a microprocessor is present. This would include everything from a wrist watch to satellites. Digital Signal Processors (DSPs) have a specialized architecture which makes them optimal for execution of operations specifically related to signal processing, which would include real-time speech processing, image-processing, telecommunication, etc. Moreover, information can be easily stored, retrieved and modified by digital means. All it takes is some programming!
This leads to the conclusion that even though we live in a world full of analog signals, digital signal processing makes it extremely convenient for executing given operations on a signal, accurately. Although analog signal processing is faster, a sacrifice can be made as accuracy and resiliency override speed for creating a system that functions as required.