Alcaic Research and technology, not iambic verse.


Can 1dB keep you awake ?

Warning: if you're not an engineer, a math nerd, or are not feeling especially geeked out right now, this post will probably lower your faith in mankind.

The setting

The other night, as I was falling asleep, I was thinking about differences in how people approach, calculate and specify quantities. Specifically, I had always been used to thinking about power levels of lasers in milliwatt (mW) - while calculating power budgets for optical links in decibel (dB). Now, for some weird reason, I'd never stumbled across the need to know how much power increase 1dB represented. Sure, I knew that 0dBm = 1 mW, and had it drilled into my head that 3dB is a factor of two in power. But that night, I realized that I didn't know how much 1dB extra power actually meant, as a percentage increase. A blind spot if I there ever was one.

So, what would any sane person do then? There are a number of possibilities:

  1. Reach for your iPhone next to your bed, google for "1dB in percent". Go to sleep.
  2. Get up, find a calculator (or a calculator app, on your iPhone), type 10^0.1. Go to sleep.
  3. Forget about it. Go to sleep.

You can also be stubborn and refuse to go to sleep, or refuse to use technological crutches ("What would Leibnitz do?"). And so you lie awake and try to figure it out using mental arithmetic - how hard can it be? (my wife would definitely agree I was being "mental").

How to approximate 1dB

A few minutes later I realized things aren't always simple when logarithms are involved. But I finally reached an answer that made me sufficiently happy to fall asleep ("What!? You didn't get up and check!?"). This is the approach I took:

  1. 1 dB = 10.log10(ratio)
  2. so, 0.1 = log10(ratio)
  3. and hence, 10^0.1 = ratio
  4. this we can calculate by doing a Taylor expansion of 10^x around 0
  5. 10^x|0 ~= 10^x|0 + d/dx(10^x)|0.dx + O(dx^2) (ok, truncating after the first term for dx =0.1 is a bit of stretch, I realized I was underestimating)
  6. now, what was d/dx(10^x) again ???
  7. ah: d/dx(10^x) = d/dx(e^(x.ln(10)) = e^(x.ln(10).ln(10) = ln(10).10^x

And there I was stuck. How much was ln(10)? I knew that e was approximately 2.7, but somehow that didn't help me immediately. So I tried successive approximations:

  1. y = ln(10) meant that e^y=10
  2. y = 2 was clearly too small, and y = 3 too large
  3. how about 2.5? e^(2.5) = e.e.sqrt(e) = 2.7 * 2.7 * 1.6 (the 1.6 was a lazy approximation, since 16.16=256, and 17.17=289 - it was getting late) and that about 10 (more laziness - it was not clear at that moment that I was overestimating, but I got lucky, since I was underestimating due to the dropping of the higher-order terms)
  4. hence: ln(10)=2.5

And so the Taylor expansion gave me 1+0.1 * 2.5 = 1.25 or about 25% power increase. Zzzzzz.

One night later

You might now be surprised that come Saturday morning, I had forgotten all about my nightly calculus. I woke up, went for fresh rolls and never bothered to check. Of course, you can guess what happened when, after a full day without Taylor expansions, I lay down to sleep...

"@$^#^&%!!!" Was I going to get up? And then it hit me that I had been really stupid. There was a much easier way to figure it out.

  1. 3dB = 1 dB + 1dB + 1dB
  2. so, a factor of 2 = ratio.ratio.ratio, or in other words ratio = cubicroot(2)
  3. 11 x 11 x 11 < 2000 for sure
  4. 12 x 12 x 12 < 2000 as well
  5. 13 x 13 x 13 > 2000, so where between 1.2 and 1.3
  6. can we easily calculate something in between? Yes: 128 x 128 x 128 = 2^21 = 16777216/8 ~ 2100000 (And if you wonder why I would know that 2^24 = 16777216, you're definitely in the wrong place. It's the number of colors of a 24bit display, one byte each for red, green and blue).
  7. And that's 5% over, so we need to remove about 5%/3 = 1%-2% since this is a cubic root which brings us to around 1.25-1.26. So: 26% power increase.

In other words, I now spent two nights going to bed too late because of 1dB. Which makes sense, if you know that this might be the tipping point between the technical feasibility of two approaches. 26% means almost a third more power and hence also more heat dissipation. So there.


Make no mistake, I now went down to check:

  1. e = 2.71828 - check
  2. ln10 = 2.3 - with 2.5, I clearly overestimated, and got lucky with the higher orders
  3. approach 1: 10^0.1 = 1.258 - check
  4. approach 2: 2^(1/3) = 1.259 - check

P.S. For those of you still with me: the reason this all came up was due to some internal discussions on link budgets for different possibilities of next-generation PONs.