A little background: I’ve designed what is, among other things, a little tiny VHF radio modem for goTenna, a Brooklyn hardware startup. It’s a very demanding design, with tight limits on battery life, size, shape, range, power — everything you can think of is at the edge of what can be done. The point of goTenna is that you can pair the device with your smartphone so you can send short-burst communications (e.g. text messages, geo-locations) smartphone-to-smartphone (via goTenna, of course) without ever having to plug into central connectivity. Yep, that’s right: totally off-grid, 100% decentralized communications using the phone you already have on you all the time! (And goTenna goes on pre-order today: learn more about goTenna and buy a pair for \$149.99 here!) In the process I’ve learned a lot of new techniques. I hope to share them with you, budding RF engineer! Today, we discuss measuring a radio’s sensitivity.

In any radio link, range is determined by two simple factors — transmit power and sensitivity. The better each is, the better the range. Both are measured in dBm, and changing either one has, per dBm, approximately the same effect. A 15 dBm improvement in transmit power is going to achieve the same range improvements as a 15 dBm improvement in receive sensitivity. So, when we’ve exhausted any improvements we can make by increasing transmit power the time comes to improve sensitivity.

To maximize and tweak our device we need to be able to measure the effect of those tweaks. What we did was create a BER (bit error rate) test. First we created a fixed pseudorandom sequence that was the same in both our transmitter and our receiver. When this signal is strong, the receiver will match up the incoming bits with its own internal copy of the sequence. If they all match the error reports back as zero. With a weaker signal the number of instances of bits not matching up increases, and so then does the BER number. In other words, BER is the number of error bits divided by the total number of bits transmitted. As long as the BER is under a threshold – in our case 1% – we know that the link is good, and whatever numbers we’re getting at that point are the numbers that characterize the equipment under test.

Measuring extremely low power signals is not easy. Our target sensitivity of -123dBm is one hundredth of a femtowatt. That’s absurdly little energy! While we can observe that with our test equipment, the numbers get more and more inaccurate as we read lower power levels. Instead what we will do is accurately measure the power at the transmitter directly and reduce it with a high quality attenuator. We subtract the attenuator value (as read from the dial) from our known output power, and the resulting value in dBm is presumed to be what’s getting to the receiver. The only error is in the attenuator itself, usually about one or two dB.

figure 0, a schematic of our setup

How about an example. Our transmitter runs at 32dBm. If we attach one end of my attenuator to the transmitter and I set my attenuator to -155dB, the power coming out the other end will be -123dBm. If the receiver reports a BER of better than 1%, then I can say that we have achieved our goal of -123dBm sensitivity. This example is an actual result we got in the lab.

Great! Looking good! We’re all geniuses. If it’s working so well, let’s try cranking that attenuator even more. At -133, still zero BER. Now -160, BER of 0. WOW! -180, still zero BER. I must be some kind of super genius RF engineer who discovered as yet unknown super sensitive circuitry! Now they can use cell phones on the ISS, all because of my amazing skills! I want my NOBEL PRIZE!

Ha ha NO.

figure 1, the setup without a box, and the analyzer in view showing stray signal

It’s stray energy tainting the measurement. In our test setup we replaced the antenna with a shielded coaxial cable. That cable connects to the attenuator, and then more cable goes to the receiver. In theory, all of the radio power should stay within the attenuator and the cables. In reality a good amount comes out of the other RF components on the transmitting device. In normal operation, the stray energy is so weak it’s not worth worrying about, as it’s overwhelmed by the energy coming from the antenna. But in our test situation, stray energy is more than enough to energize the receiving device and create false results.

We need to reduce the leaked power to lower than the levels measurable by our receiver. There’s two ways to do this; get really far away from the source of stray energy, or block the stray energy with some kind of shielding. Getting really far away is not practical in the lab. At least not in Brooklyn! So we’ll be using the “block it” option.

figure 2, the box

Imagine you’re trying to make a totally dark room. You’d seal off all the corners, and even better would make it so that those corners were intrinsically light tight. It’s mostly the same for radio waves. Just make a nice solid metal box and make sure that the seams are tightly mated and electrically connected. For a more complete seal add a flange to the outer part of the lid of your box, kind of like the lid on a heavy pot. The overlapping metal creates a tortuous path for the rf, making it harder to escape. That combined with lots of good clean metal contact makes a volume that is impervious to RF.

figure 3, coax connector on the lid

Now pop a little hole in the top and screw in a coaxial cable connector that allows tight shielding connection to the lid of our box. Place the transmitter in this box, connect it to the through connector, and close it up. Clunk! The stray power drops away completely, leaving us with a nice quiet environment in which to make some REAL measurements.

figure 4, a flat line on the analyzer, all is now well

Here’s the proof! Now there’s no sign of any stray signal while executing a test. Our numbers are now (probably) accurate! Hooray! Maybe! Probably! I’m going on a limb and hooraying.