24

According to the IEA 250 TWh of power was consumed in 2019 due to data transmission globally, about 1% of worldwide electrical power use.

I would like to pose a very simple question regarding power consumption in data transmission. Does it use more power to transmit a zero or a one? - Is there a difference?

If there is a difference, then could power consumption be lessened by inverting Ethernet frames to optimise for more "ones" or "zeros", and the addition of a bit to indicate if the frame has been inverted or not.

Assuming there could be a power saving to be made, is there a way this could be implemented in a backwards compatible way?

Fiach Reid
  • 357
  • 2
  • 4
  • 11
    What is your basis for believing that transmitting "zeros" takes less power than transmitting "ones"? – jwh20 Jul 11 '21 at 10:09
  • 2
  • Isn't it the transitions that use power rather than the levels per se? – DamienD Jul 11 '21 at 10:46
  • 19
    My intuition also tells me that zeros and ones must be balanced for efficient coding. If they're not, then there may be greater power savings to be made by not transmitting the redundant information at all. – DamienD Jul 11 '21 at 10:52
  • @DamienD your intuition is a good one, see my answer. – Marcus Müller Jul 11 '21 at 11:23
  • Reducing power through coding is a known art;as Marcus says. Instead, look at the physical layer; developing a lower loss glass, or higher photon efficiency laser, or more directional (higher gain) antenna, or exploiting a less interfered-with part of the spectrum, are some possibilities for greater efficiency (and no doubt, all active research efforts) –  Jul 11 '21 at 11:59
  • @user_1818839 well, just as channel coding and digital signal processing aren't new disciplines, but we still do research on it, the same is true for material science and hardware: there's no "low hanging fruit" left, but progress is made every day; we have a lot of known physical bounds, just as well, in these domains. Can't get 0 dB Noise figures at non-zero temperatures! Can't get more efficiency out of a laser than what the solid state physics allow, can't get more directivity out of an antenna of a given bandwidth than its size permits... So, that advise isn't any easier :) – Marcus Müller Jul 11 '21 at 13:41
  • Compression would help saving energy in the transmission of the data, but would cost energy elsewhere. If your goal is saving energy during transmission though, I think it's a more viable approach than swapping 1's for 0's. – Mast Jul 12 '21 at 10:04
  • 3
    @Mast it's not. Source coding (==compression) is *not* optional for many reasons, and 1s and 0s use the same amount of energy – there's no efficient schemes where they don't. You don't do the same between two transistors as you do for communications over distances! Also, we understand communication systems well enough to know that source coding uses a relatively negligible amount of power compared to what it saves in bits to be transmitted for all but data that's already been de-correlated somewhere else (e.g. cryptography), and even for that you still need to do source coding to guarantee … – Marcus Müller Jul 12 '21 at 14:52
  • … spectral properties. So, really, a communications without source coding is counter-productive here. In fact, this is literally the BPSK example I brought in my answer; I'd recommend going through it, I think you'll like it! – Marcus Müller Jul 12 '21 at 14:56
  • What fraction of data-communication power is due to driving the media? Wouldn't that be swamped by the power consumption of the communication hardware at the terminals, for [de-]compression, routing, store and forward activities, etc.? – JRobert Jul 12 '21 at 16:30
  • Commenters challenging the OP's belief that transmitting a one takes more energy than a zero should keep in mind that their intuition is based on a lot of background information the OP does not have. Yes the question is naïve but we all started out as newbies. It's a good question. +1 – Reid Jul 12 '21 at 19:55
  • @jwh20: The idea that zeroes require less power is not a strange intuition. Typical discussions of data transmission say things like "the digits 1 and 0 in binary reflect the on and off states in the transistor" or that "1s and 0s are just voltage levels." In both cases, a person might reasonably believe that 0s use less power than 1s. – Brian Jul 12 '21 at 20:03
  • @JRobert depends, really. For example, sub-Atlantic fiber cables: the power gets wasted on the power lines lying next to the optical fiber, which are sadly necessary to pp power the amplifiers for the optical signal every couple hundred km. In a smart phone with large distance to a cell tower, the transmit amplifier will most definitely eat a good amount of your battery. In a data center, where distances are short, things nighty look different, but rule of thumb is that if you have to maximize rate, you'll have to maximize power put into the medium (slightly different for non-linear media)... – mmmm Jul 13 '21 at 01:54
  • ... Note, however, that an answer on putting that into perspective to the reported energy consumption would really help here, too. But also, while the "motivation" is that a lot of power goes into communication, the question is about power efficiency of modulation schemes – mmmm Jul 13 '21 at 01:55
  • 1
    I agree that the suggested (by the OP) solution involved data compression, the question cited total power consumption. I neglected to suggest looking the components of that consumption and going after the large contributors. – JRobert Jul 13 '21 at 12:06
  • Why not just transmit 0s and leave gaps where the 1s would be? ... oh, wait... – Mick Jul 14 '21 at 13:20

6 Answers6

47

TL;DR: no, there's no such scheme that we wouldn't already be using. There's reasons, below.

Information theory tells us that we have to transmit the least bits (using less energy than transmitting more bits) if we use source coding to compress the input data – making 0 and 1 equally likely.

The job of channel coding is to then take these equally likely bits and find a transmission scheme that is optimal for the end-to-end system – typically optimal as in least bit error rate for a given transmit power, or least power needed for a fixed bit error rate. There can be many other parameters to take into consideration, but these are the main things we usually look at when we optimize channel coding for long-haul high-rate communications, which use the most power.

So, what you propose is "already done", and there's 80 years of extensive theory and practice in communications engineering going into it.

For example, we know that schemes who are off to signal one bit value and transmit something for the other are in almost all cases power-wise inefficient, really. The medium of transmission is an electromagnetic wave – be it the radio interface of your phone, be it the field between the wires in a twisted pair, or be it the optical fiber for >= 100 Gbit/s links. And these have a phase, which allows us to transmit, say, amplitudes of -0.5/+0.5 instead of 0.0/1.0, and get the same "distance" between noisy received symbols at the receiver. However, the average power used by the first scheme is \$0.5^2=\frac14\$, whereas in the second case it's \$\frac12\left(0^2+1^2\right)=\frac12\$. This BPSK (binary phase-shift keying) vs OOK (on-off keying) example serves to illustrate that there's beauty in making things symmetrical – and then, you lose the "bit that has lower energy" argument altogether.

Now, there's not only symbol sets that have a constant power; on the contrary, in high-rate communications, we do use sets that have very high ranges of different powers. However, if you start "shaping" the probability distribution of these symbols, you run into a problem:

Say, you had a constellation with 1024 different possible transmit symbols (1024-QAM, for example). If you simply take 10 input bits and pick the symbol with that number, your single symbol transports 10 bits of information! Easy. That also means every symbol is equally likely, as every 10 bit sequence of bits is equally likely.

Now, you come along and say, you want to optimize for power, so the higher-amplitude symbols should be occurring less often than the lower-amplitude ones. Turns out that under that condition, each symbols does no longer carry 10 bits; 10 bits per symbol is the maximum you can get across with 210=1024 symbols, and that happens when you choose the probabilities of all the symbols identically. So, to transmit the same, say, 1 million bits, where in the equidistributed scheme you needed 100 thousand symbols, you now need more. How much more depends on how exactly you shape the probability¹.

Now, so to be more power-efficient per symbol you transmit, you need to transmit more symbols!

It gets worse: at the receiver, a decision which symbol you've sent has to be made. This gets significantly more involved when the symbols are not equally distributed. Receiver signal processing and channel decoding contribute significantly to communication power demand. With significant, I mean, easily up to half of the overall system consumption is spent in the receiver, not the transmitter, which has to bring the symbols physically onto the transmission channel!

So, this is a path that usually leads nowhere.

It does lead somewhere if your channel is not nice and linear, and higher signal powers lead to more distortion. This is what we see in highest-rate (think 400 Gbit/s upwards) fiber links, where you'll find probabilistic shaping used to maximize the mutual information between transmitter and receiver. It really doesn't apply to simpler use cases today, and the community has been pretty good at mathematically proving that the situations where it does yield a gain are really not these use cases with lower data rates.


¹ We actually have formulas to describe that: the maximum you could get out of a source \$X\$ with such shaped symbol set probability \$(P(x_i))_{i=1,\ldots,1024}\$ is the source's entropy:

$$H(X) = -\sum_{i=1}^{1024} P(x_i) \log_2(P(x_i))$$

With a bit of analysis you'll find that has a global maximum for \$P(x_1)=P(x_2)=\ldots=\frac1{1024}\$, as probabilities have to always add up to 1. The value of the entropy at that is \$H(X) = -1024\cdot \frac1{1024}\log_2\left(\frac1{1024}\right) = -(-10)=10\$ (bit).

Marcus Müller
  • 88,280
  • 5
  • 131
  • 237
  • If transmit energy reduction is more important than speed of transmission, communications formats that send active pulses at less than 50% duty cycle can get by with less power than would be needed for those where every time slot is either +0.5 or -0.5. For example, a protocol that sends three active pulses every 26 time slots, each of which could be either +1 or -1 (with the receiver being able to tell the difference), could send 16 bits of data in the process, thus using only 0.1875 units of power per bit--a substantial savings versus always using 0.5 units of power per time slot. – supercat Jul 12 '21 at 20:02
  • 1
    @supercat no that's wrong, because if you reduce speed, you'll just have to sent longer for the same data. that doesn't yield a net energy-per-bit gain. The problem is that your pulses need to be more powerful to be as robust against noise - and then you're back into the same problem as before. In your 26 choose 3 (that's 2600 possible slot combinations - strange number) scenario, you have 26 slots where you could either misinterpret a "off+noise" for a "on", or vice versa; and then you're losing *a lot* of useful information (bits). It really doesn't work out – PPM (pulse-position modulation) – Marcus Müller Jul 12 '21 at 20:24
  • does not have a higher spectral efficiency than coherent methods – the contrary is the case. It's not that hard to calculate the bit error probability dependent on the pulse-energy/\$N_0\$ ratio, but I'll caution that might leave the scope of this discussion. If you're interested, do ask on https://dsp.stackexchange.com. – Marcus Müller Jul 12 '21 at 20:27
  • In many cases, especially when using cables, fiber, or other dedicated links, receiver noise will be bounded such that one could listen to an idle line for millions of bit times without receiving a single erroneous bit. If the line is noisy enough that listening for extended periods would increase the likelihood of false transitions being reported, then it may be necessary to minimize the fraction of the time that the line is idle, but lines aren't always that noisy. – supercat Jul 12 '21 at 21:23
  • 2
    *such that one could listen to an idle line for millions of bit times without receiving a single erroneous bit.* that just literally means you're putting your threshold higher than you need to, and are therefore wasting energy while transmitting! If you've got that great a channel, don't transmit with high power but rarely, but put with low, and incorporate channel coding. That will get you closer to Shannon limit, @supercat, far as I can tell from here. – mmmm Jul 13 '21 at 01:48
  • @mmmm: If one is trying to optimally and continuously share a crowded communications medium with other similar users, all "noise" comes from those other users, and receiver power consumption is not a consideration, then setting high receive thresholds high enough to avoid any false bits would be counterproductive, since it would make it necessary for everyone to increase transmit power, thus increasing the required receive thresholds. When those conditions don't apply, however, setting receive thresholds high enough to achieve a 99.9999999% clean channel may require less than... – supercat Jul 13 '21 at 15:23
  • Exactly! So you need to find a low-power multi-access scheme. What you propose looks like an especially inefficient CDMA – mmmm Jul 13 '21 at 15:29
  • ...twice as much transmit power, when the transmitter is active, as would be needed if thresholds were reduced to the point that 30% of zeroes would turn into ones, and transmit power were reduced to the point where even with those reduced thresholds 30% of ones would turn into zeroes. – supercat Jul 13 '21 at 15:29
  • @mmmm: Whether it's efficient or not depends upon whether the communications medium is crowded or not. If the communications medium will be used at only a tiny fraction of capacity (which will often be true of dedicated lines), but minimum transmit power is forced by other considerations, the optimal approaches to handle those situations may be very different from those needed in the crowded-medium scenario. – supercat Jul 13 '21 at 15:33
  • 2
    let me jump in here: @supercat that's not correct; sure, for low probabilities of collision, a scheme that occupies few slots *works*. But it's still not better than not to do that! Assume you have linearly independent access sequences. You can correlate with the individual sequence, and get an SNR gain that way. That means no matter how you distribute the energy over slots, your receiver compares *the sum* of it against the sum of noise amplitudes. You gain nothing energy-wise by concentrating the energy in few slots! Error-probability wise, you actually lose, for typical noise PDFs: – Marcus Müller Jul 13 '21 at 15:37
  • As said, if you want to discuss this, please ask a separate question; this is really too much for the comments – Marcus Müller Jul 13 '21 at 15:38
  • @MarcusMüller: On many dedicated channels, the probability of collision is *zero* because there would be nothing to collide with, or data loss in case of collision would be acceptable. Even over airwaves, if one has frequencies that devices are only allowed to transmit on when instructed to do, and no two devices will ever be instructed to transmit simultaneously, the only noise sources one would be competing with would be stray transmissions from outside devices over which one has no control. – supercat Jul 13 '21 at 15:46
  • 1
    @supercat that's not right. terrestrial receivers for microwave are very much noise-limited: \$kTB\$, right. Seriously, you've got some very interesting conceptions, but it's far out of scope trying to discuss this in the comments. – Marcus Müller Jul 13 '21 at 15:48
10

It depends completely on what interface and encoding is used for data, if there is any difference of transmitting ones or zeroes, so there is no general answer.

For your extremely complex case of Ethernet, it depends on which Ethernet you mean.

For example, 10Mbps Ethernet uses Manchester encoding, so there is no difference if you send a frame full of ones or zeroes, the signal looks identical except for the phase of the square wave.

100Mbps Ethernet will always transmit IDLE symbol when link is up and there are no frames transmitted. And moreover, the data is scrambled with a pseudorandom noise generator to make the actual transmitted data to not affect much how the data looks on the wires.

Gigabit Ethernet is rather similar. And that's only the common types of Ethernet over copper PHYs, as you have also Ethernet over optical interfaces.

For your TV remote, a protocol like Sony SIRCS does send longer light pulses for logic 1 bits, so yes, that is an example that does use more power for transmitting ones than zeroes. But you can't make changes that are backwards compatible with it.

Justme
  • 127,425
  • 3
  • 97
  • 261
  • 4
    There is Energy-Efficient Ethernet (802.3az) which adds low power idle to the Ethernet standard, so you don't have to send IDLE symbols at line rate. OP might be interested in how power savings are actually made. – richardb Jul 12 '21 at 14:12
7

I only know one case. Here transmitting more ones saves power.

GDDR4 and DDR4 memories have a feature called Data Bus Inversion. The data lines are pulled up with resistors (terminated to high) and driven low with MOSFET switches. In this case driving low takes more power. So if the byte to be transmitted has many zeros, the driver will invert all bits in the bytes along with a marker in order to drive more ones and save power.

The RAM bus is special in that it is high-speed, parallel, not differential, and multi-drop. Slow buses don't need pullup resistors that terminate the lines and thus they take little power to transmit any bit pattern. Many interfaces that aren't so slow are terminated at the driver and open at the receiver. They only take energy to toggle the bits. Faster interfaces usually have differential current-steering drivers. They take the same power to transmit any bit pattern. Thus I am not aware of any other use case of Data Bus Inversion.

winny
  • 13,064
  • 6
  • 46
  • 63
jy3u4ocy
  • 381
  • 1
  • 6
  • CAN bus is another. Ones are free in that you let the lines be pulled together by the 120ohm terminators while zeros cost about 15mA to drive them 2V apart. – John Meacham Jul 16 '21 at 16:56
6

could power consumption be lessened by inverting Ethernet frames to optimise for more "ones" or "zeros"

Pretty much the majority of long-haul data transmissions are synchronous. These consume the majority of the total power. Synchronous means that clock and data are embedded. In turn, this means that on average, the high bit-count equals the low-bit count hence, no saving.

Apart from that, the majority of long-haul data is transmitted differentially over copper to obtain an adequate level of protection against noise and surges. When data is transmitted differentially, one line will be high while the other is low and, this state inverts each time data changes hence, there is no net difference in power consumed.

Andy aka
  • 434,556
  • 28
  • 351
  • 777
  • 5
    I'd argue that by today, "long-haul", assuming that means > 50 km is mostly fiber, or microwave, but your answer stands nevertheless: where 1990's fiber still used on/off signalling (but balanced, for good reason!), modern optical communications literally do quadrature modulation – just like your phone does, and hence never use the "off" state of the channel. – Marcus Müller Jul 11 '21 at 11:22
  • 1
    Even when OOK is used in long distance fiber links it uses externally modulated lasers so there's no power savings when transmitting a `0`. – The Photon Jul 11 '21 at 13:51
  • I guess you could argue that the current for the laser LED is going to be slightly above the extinction threshold and therefore power is wasted on "zeros" but, the same deal arises over making the data synchronous hence, no savings involved on inverting the data. – Andy aka Jul 11 '21 at 14:15
  • @Andyaka, nobody argued that. In a coherent scheme (PSK or QAM, for example) you send equal energy for a 1 or a 0, and there is no extinction ratio. But you can reduce the average energy per bit to half of what it would be in an OOK scheme and still get the same BER. – The Photon Jul 11 '21 at 15:19
  • 2
    Or if you were replying to my comment, an externally modulated laser in an OOK system means that the laser outputs a constant power and the modulator throws away half the power when transmitting a 0. The laser operation is never operated near the extinction threshold, it's always operated at the '1' power level. (This prevents undesired optical phase modulation due to laser chirp, avoiding signal degradation due to dispersion in the fiber) – The Photon Jul 11 '21 at 15:22
  • 1
    @ThePhoton cool. You are the guy on stuff like this! – Andy aka Jul 11 '21 at 15:53
  • Just as a visualization of "externally modulated": cheap on-off laser comms modules are like you hold (and remove) a cardboard in front of your torch to morse out · · · – – – · · ·, instead of turning that flashlight off and on, which means you save none of the battery when sending · instead of – . The really-high-speed ones use a 90° phase-- ah wait, that doesn't work with flashlights :D – Marcus Müller Jul 14 '21 at 18:03
2

Other people have pointed out that in most cases the energy used to transmit a zero is the same as the energy used to transmit a one. However, if that is not the case, then you are correct that it is more energy-efficient to transmit more of one or the other.

If the probability of a 1 symbol is p and the probability of a 0 symbol is 1 − p, then the average amount of information (entropy) communicated per bit is −_p_ log p − (1 − p) log(1 − p). This function is zero at p = 0 and p = 1, and has a maximum of log 2 (one bit of information) at p = 1/2.

Let E0 and E1 be the amount of energy needed to transmit a 0 and 1, respectively; then let r = E0 / (E0 + E1). For example, if the energy for the symbols is equal then r = 1/2, and if a 1 requires twice as much energy as a 0 then r = 1/3.

The average amount of energy needed to transmit a symbol is proportional to r(1 − p) + (1 − r)p, and the average amount of energy needed to transmit one bit of information (on average) is [r(1 − p) + (1 − r)p] / [−_p_ log p − (1 − p) log(1 − p)]. This expression has a minimum when r / (1 − r) = log(p − 1) / log p. The graph of r versus p looks like:

So, if 0s take less energy (r → 0), then you should transmit fewer 1s (p → 0) and vice versa.

For example, in the scenario where a 1 costs twice as much as a 0 (r = 1/3), then p = (3 − sqrt(5)) / 2 ≈ 0.3819…

2012rcampion
  • 592
  • 3
  • 16
  • This is only true if the data is transmitted "as-is" - in many cases a specific encoding scheme is used, to ensure readability, meaning for example that a zero is transmitted as a leading/trailing edge, rather than a pulse. – MikeB Jul 14 '21 at 09:29
  • @MikeBrockington You are correct, my analysis only applies to the transmitted symbols, after any line coding is applied. It also has the limitation that it only applies if the energy of the symbols can be considered independently (e.g. if transitioning between symbols is what causes energy usage, then this analysis does not apply). – 2012rcampion Jul 14 '21 at 16:14
  • One example of a case that this analysis applies to is infrared remote controls that use a pulse-length modulation. – 2012rcampion Jul 14 '21 at 16:20
0

It's only true if your consider OOK modulation. In OOK, a signal emission corresponds to a 1 and no signal to a 0. However it's not widely used because of hardware complications.

With BPSK modulation, a 0 is send as a -1. It makes hardware design easier as you always have the same energy level to manage. => For the emission, you can make your amplifier work near compression point. => For the reception, you just have to monitor the rms power ( -1×-1 = 1x1 = 1) to adjust your gain.

With higher order modulation, rms power will again vary but in a better way than OOK.

It's as always a balance to find.

user184182
  • 11
  • 1