RPMA - A Technical Drill-Down into Ingenu’s LPWAN Technology
Image Credit: Fabricio Rosa Margues (https://dribbble.com/shots/2067548-UX-und-Tollerei-Illustration)

This is the fourth installment in our series providing the definitive guide to a class of IoT connectivity known as LPWAN (low-power wide-area networks).

The first post was an overview of LPWAN, including what it is and the benefits of LPWAN technologies compared to other IoT connectivity options. The second post examined the various LPWAN options and players in the space. The third post gave an overview of one of those options, Ingenu’s RPMA. Now we’ll deeper technical dive into RPMA technology.

Ultimately, you’ll know whether LPWAN is right for your IoT application and, if it is, how to best move-forward.

A fair warning: no technical drill down would be complete without, well, getting technical. That being said, we will do our best to explain this well enough that anyone who wants to understand will.

In the RPMA overview article we centered around two main ideas for RPMA—coverage and capacity—and the factors that branch off of them. In that article, we talked about how coverage is what you need to in order to provide the network.

From a network provider perspective, a wireless technology’s coverage per base station determines the cost to deploy a network, because the number of base stations needed to cover an area directly affects cost. And of course, as users, we simply expect coverage to be there, reliably. Any shortcuts here and we, as users, take our business elsewhere.

Interestingly, coverage also impacts battery life which we’ll dive into a bit more later. Capacity is what determines how many devices can connect to a given tower and thus its profitability for a network provider. For the user, capacity is what determines how well the network works, how secure it is, and how rich the users’ experience is. In this article we’ll take each of these factors and show how RPMA’s performance in each is a direct result of technical choices when developing the technology.

DSSS + Extreme Processing Gain = RPMA’s Coverage

RPMA’s physical layer uses a technology called Direct Sequence Spread Spectrum (DSSS). It started off being implemented in highly secure military applications and was made commercially available in 3G cellular technology (e.g. CDMA, W-CDMA).

As found in this article, there are several ways to deal with interference. One way is to find spectrum with no interference, that’s called licensed spectrum and is very expensive. Another way is to send the signal more powerful than the noise. A third approach is to blend in with the noise–and this is what DSSS does:

Some wireless protocols [like DSSS] simply blend in with the noise. The signal is scrambled in a way that makes it look like noise, even though it isn’t. You take the message and a unique string of characters (or gold code) and run them through a special mathematical function. The function then scrambles the message in a way that to anyone receiving it on their end, it looks just like noise. It’s randomized, scrambled, such that it can be unscrambled on the other end only if you have that code. So if you are some random person looking at the frequency range on which that message has been sent—and who doesn’t love doing that in their spare time right?—all you’ll see is static. The noise floor will have raised just a hair, almost imperceptibly.

RPMA’s implementation of DSSS is pretty extreme. The tradeoff that spreading presents is that the more a message is spread the longer it takes to receive the message. CDMA was able to successfully do it and still support voice—which requires very little delay or latency—within milliseconds. Since the link data rate of LPWA IoT devices require data rates significantly below voice data rates, Ingenu was able to spread the signal even more when developing RPMA. In other words, it takes longer for a message to get through (in the order of seconds rather than milliseconds) and that message is smaller than those spread on 2G. Of course, increasing latency in some way is an approach that all LPWAN technologies make and really defines the class of technology.

As such, Ingenu was in position to crank that “knob” really hard. That knob is called processing gain and is simply the increase in link budget one gets by allowing for spreading the signal more. Link budget is an important concept that helps compare various wireless technologies’ ability to provide coverage regardless of the underlying approach or even band (like 900 MHz vs 2.4 GHz) as it accounts for all of this. To borrow from Wikipedia:

A link budget accounts for all of the gains and losses from the transmitter, through the medium (free space, cable, waveguide, fiber, etc.) to the receiver in a telecommunication system. It accounts for the attenuation of the transmitted signal due to propagation, as well as the antenna gains, feedline and miscellaneous losses.

In short, link budget is how you compare coverage capability between any two wireless technologies. Like a financial budget, the more you have, the more you have to spend. And in the case of link budget, the more you have, the more you have to spend on wider or deeper coverage. Ingenu claims to have the most link budget out of all the LPWAN technologies, with 177 dB. What’s nice about link budget is it’s a technical metric that cuts through any marketing hype. It is what it is and accounts for all gains and losses.

To see how RPMA uses the processing gain “knob” in an extreme way, it helps to compare to cellular CDMA. Whereas cellular CDMA and W-CDMA have 18 dB of “processing gain” or 64 chips per coding symbol, the DSSS Ingenu implements has 39 dB of “processing gain” or 8192 chips per coding symbol. In simpler terms, the RPMA waveform can be spread 128 times as much as cellular CDMA. However, RPMA doesn’t necessarily spread every signal to this extreme, it is simply available for use. This flexibility is what helps provide reliability in RPMA’s protocol. Most of the time RPMA transmits using the lowest amount of spreading, but when necessary, as more interference is present, RPMA simply spreads the signal out more. Much of RPMA’s coverage comes from this extreme use of processing gain in its implementation of DSSS.

Noisy Overlap and Capacity

One of the advantages that DSSS offers and that RPMA leverages fully is that signals sent over the protocol look like noise to one another. They also look like noise to other users of the same frequency. This is what makes DSSS inherently “immune” to interference because it works and looks like interference already. It isn’t completely immune, obviously, but it can deal with much more noise and interference than other LPWAN technologies. In fact, RPMA can detect signals even when it is 2000x quieter than the noise itself. Most technologies, including other LPWAN technologies must have signals louder than the noise, while RPMA can have the signal 2000x quieter than the noise. This is part and parcel of choosing DSSS and extreme spreading. That isn’t the whole story of course, but it’s a good foundation to build on. This ability to send and detect many signals simultaneously without impairing each other explains how RPMA is able to have such high capacity.

From the same article mentioned before:

Paradoxically, because the signals look like noise to each other as well, you can actually send many, many messages at the same time on the same frequency without them interfering with one another. …So while each individual message may take longer, you can send an entire batch of messages simultaneously and ultimately get more messages through over the same time period than by the other means.

RPMA takes full advantage of this and demodulates 1000 messages at the same time.  This is the “multiple access” or “MA” part of RPMA.

Now we’ll get a bit more into the nitty gritty on exactly how RPMA demodulates so many messages simultaneously.

Short “Messages,” Long Frames

RPMA uses a 1 MHz channel and divides it into time slots called frames. These frames are very long when compared to traditional cellular frames that tend to be measured in tens of milliseconds, not seconds. Since RPMA was designed for these small data transactions, Ingenu chose a Time Division Duplex (TDD) approach. RPMA precisely understands the uplink channel conditions—how much interference there is— by measuring the downlink channel just before sending a message. This is uniquely possible for RPMA due to a fundamental phenomenon known as “channel reciprocity,” which is only valid in TDD approaches where the uplink frequency is the exact same as the downlink frequency. Even slight changes in frequency can have very different channel conditions. If conditions are bad, RPMA increases the spreading and transmit power, if they are good, it decreases the spreading and transmit power.

Controlling the transmit power RPMA uses is called open loop power control. In open loop power control, the endpoint measures the downlink received power and uses that to determine the uplink transmit power without any explicit signaling from the access point/base station. This is important because even very slight changes in frequency can have very different channel conditions. Not knowing the precise channel conditions can lead to a big hit in uplink capacity (when signals come in too strong) or reliability of the data (when signals come in too weak).


Transmit power control combined with the 1000 simultaneous message overlap enabled by DSSS gives RPMA its capacity. The way the transmit power control improves capacity is very important because it also impacts battery life and scalability—or the ability to service more devices by adding base stations. When the RPMA protocol performs its open loop power control it is adjusting the uplink transmit power to be just enough to get the signal through but not so much that it uses capacity on base stations other than the one with the best channel conditions. This improves battery life because endpoints only use as much power as necessary and no more. It improves capacity because it only takes up capacity on the base station it is communicating with.

The RPMA slot is visualized in the figure. The downlink slot comes first and the uplink slot adjusts its power based on the signal strength of the downlink message. Because the base station always transmits downlink at the same power, the receive strength of the downlink message is used to calculate how clear the channel is and thus how much power the uplink message should be sent with. If the channel is clear the signal comes in at a greater power and comes in with lower power if not as clear.

The 2.4 GHz Band and Other Important Pieces

While this article can’t detail every part of RPMA, there are a few important technology choices that contribute to the outcomes discussed in our overview article. First, the RPMA protocol operates on the 2.4 GHz band. This is concerning to many, but as hopefully made clear, is not an issue because of the inherent immunity to interference that DSSS has.

Additionally, the 2.4 GHz band has some very favorable regulatory conditions. Other approaches, like those used by RPMA’s competitors, have time limits in both FCC and ETSI areas along with several others. Because RPMA uses DSSS and has a wide enough channel (1 MHz) it may transmit as long as it needs to. This allows it to do the extreme spreading described earlier. Other protocols must be on only 1% of the time (in ETSI domains like Europe) or less than 400ms (in FCC domains like the United States or Australia). Additionally, because the RPMA channel is only 1 MHz wide, it is able to fit snugly in between the Wi-Fi channels. In other words, RPMA is a neighbor to Wi-Fi, they aren’t trying to squat on the same land—or frequency in this case. RPMA can have 11 channels outside of the Wi-Fi bands. And even if they did share the same frequency, because RPMA looks like noise to everyone else on the band, it’s able to still operate alongside Wi-Fi if the need ever arose.

A couple of other important protocol pieces are important as well. All RPMA protocols use something called forward error correction (also known as channel coding) as well as interleaving, and industry standard convolutional coding. Here are some definitions as provided by Wikipedia:

Forward error correction (FEC) or channel coding[1] is a technique used for controlling errors in data transmission over unreliable or noisy communication channels. The central idea is the sender encodes the message in a redundant way by using an error-correcting code (ECC).

In telecommunication, a convolutional code is a type of error-correcting code that generates parity symbols via the sliding application of a boolean polynomial function to a data stream. The sliding application represents the ‘convolution’ of the encoder over the data, which gives rise to the term ‘convolutional coding.’ The sliding nature of the convolutional codes facilitates trellis decoding using a time-invariant trellis. Time invariant trellis decoding allows convolutional codes to be maximum-likelihood soft-decision decoded with reasonable complexity.

Interleaving is frequently used in digital communication and storage systems to improve the performance of forward error correcting codes. Many communication channels are not memoryless: errors typically occur in bursts rather than independently. If the number of errors within a code word exceeds the error-correcting code’s capability, it fails to recover the original code word. Interleaving ameliorates this problem by shuffling source symbols across several code words, thereby creating a more uniform distribution of errors.[8] Therefore, interleaving is widely used for burst error-correction.

These three in combination provide incredible robustness to interference that happens in bursts, or sudden blasts of interference. This is also how each and every message is acknowledged. RPMA uses a Reed-Solomon decoder, which, for simplicity, means that the message stops sending after enough is sent for the entire message to be decoded. This drastically reduces the amount of time a message is sent, improves robustness and thus improves coverage and battery life simultaneously.

In summary, RPMA does multiple things to be robust to noisy, interference prone environments:

  1. RPMA’s use of DSSS gives the signal an inherent immunity to interference as its signal is noise
  2. Transmit power control keeps the signal powerful enough to get through interference while minimizing the number of base stations that hear any given endpoint
  3. FEC using convolutional codes and interleaving provide strong protection against sudden bursts of interference as well as 100% message acknowledgement

These combine to give RPMA robustness that also directly impacts capacity and battery life. Battery life is improved because the message does not need to be resent and also may be sent using a lower transmit power. It improves capacity for the same reasons. These also provide built-in message acknowledgement for every message.

The RPMA Protocol

Let’s dive just a little deeper and take a look at the “random” part of Random Phase Multiple Access. As will be explained, the key to this protocol is in the “R”, random. By random, we do not mean pseudo-random which is a term typically used in spread spectrum which means a sequence that looks random, but is actually agreed upon by both ends of the link. We mean fully random. Part of RPMA’s secret sauce is the fact that there is no need for any coordination between the ends of the link (the base station and the endpoint) – in other words, RPMA needs no scheduling.

Endpoint Behavior: The RPMA Concept

Let’s start with the endpoint’s role in the RPMA protocol. You will see that none of the steps below require any scheduling coordination between each end of the link:

  1. Acquire Frequency/Timing. The acquisition of frame timing and the exact frequency is derived from the downlink – and is beyond the scope of this article. Suffice it to say that finding the actual time and frequency is essential to put the signal in the “window” that the base station is searching.
  2. Select a Random Number of Chips to Delay. This is the essence of the RPMA scheme. Each endpoint chooses to offset its transmission by just a random number of microseconds (or chips as is used in the industry). Envision throwing a stack of papers at a very long staircase. As long as a piece of paper lands alone on a step – that “message” or PDU will get through.
  3. Transmit “Message.” Perform open loop power control. This means each endpoint will send its message at a given spreading factor depending on the channel conditions it has. These are also random, in that they are completely dependent on environmental conditions. There is no coordination between endpoints or between endpoints and base stations, they simply send the signal using the spreading factor they need to get the message through. These messages are sent using the gold code the base station is expecting. This is what makes the signal look like noise to all devices at that frequency—including other RPMA endpoints.
  4. Expect It May Not Get Through. What this means is that all endpoints send their signal at a random offset and the vast majority do not arrive at the same time so their link can be demodulated. Of those links that do collide these cannot be demodulated at this point but will be. In the rare instances that the full link budget is required, the RPMA node relies on the acknowledgement scheme to determine that the messaged failed to be received by the base station and the node will retry in the future when it has moved away from edge of cell conditions.

The result as shown in figure below: RPMA is capable of supporting demodulation of typically 1,000+ unscheduled and fully overlapping signals.

Base Station Brute-Force Processing

Remember, the base station has no knowledge of the intentional delays that the individual endpoints are adding. Thus, the base station tries to demodulate signals at every possible chip delay possibility (or hypothesis). In other words, each chip offset time that is possible must be treated as if a signal is actually coming. Each chip hypothesis is de-spread, de-interleaved, Viterbi decoded, and then checked via a cyclic redundancy check (CRC) by the base station. Again from Wikipedia:

A cyclic redundancy check (CRC) is an error-detecting code commonly used in digital networks and storage devices to detect accidental changes to raw data.

The difference of this scheme to a more conventional scheme is that more often than not, the CRC will indicate failure. In a conventional scheme, that usually means that the attempted transmission was received in error. In our system, it usually means that there actually was no attempted transmission that happens to land at that particular chip offset. This “blind demodulation” yields protocol efficiency and simplicity for the entire communication system.

Flexible Spreading Factors: Mobility Support and Better Battery Life

It is wasteful of battery resources to power a transmitter to operate at the highest spreading factor in all cases. Typically, a far smaller amount of “processing gain” than maximum is required to close the link. The maximum 8192 spreading factor should be reserved only for those few percent of endpoints that may need the full link budget some fraction of the time.

One other advantage of minimizing spreading factor and hence, maximizing data rate, is Doppler robustness. As explained by Wikipedia:

The Doppler effect (or the Doppler shift) is the change in frequency or wavelength of a wave (or other periodic event) for an observer moving relative to its source.

This impacts wireless technologies that are moving by essentially changing the channel on the transmission! It’s like turning on the radio and the channel keeps changing. Robustness to the Doppler effect is what gives RPMA mobility support. The signal is able to get through fast enough that there isn’t time to shift.

To review the RPMA scheme:

  1. The endpoint will determine as part of the open loop power control process what the minimum spreading factor required to close the link.
  2. Every “message” or PDU is the same number of bytes, so a node that selects a spreading factor that is less than the maximum 8192 has another decision to make: which sub-slot(s) does the node use for its PDU(s).
  3. At this point, the intentional RPMA delay is added from 0 to 2048 chips. The node is free to transmit multiple PDUs in a given frame to rip through all the data that the node may have queued.

Note that the processing requirement of the base station has now become considerably more intense. There must be additional outer loops where multiple spreading factors are attempted: in powers of two from 512 to 8192 and at all possible sub-slots associated with each spreading factor. As a result, the base station doesn’t need to know in advance which spreading factor the node will select because the base station brute-forces its way through all spreading factors, at all sub-slots, and at all chip x 2 arrival hypothesis.

The same figure above shows multiple signals from various users at a variety of spreading factors all being received simultaneously by the base station. The result is a simple capacity model: ~1000 PDUs received per frame regardless of:

  • Spreading factor distribution of users
  • Number of PDUs per spreading factor
  • Uplink frame erasure rate

The Downlink: Time Division Multiple Access (TDMA)

RPMA is a bi-directional protocol, and we’ve only discussed the uplink side. RPMA actually has two downlink channels. The first is a broadcast channel (BCH), which is used for code downloads for things like firmware upgrades (including security upgrades). The second is the dedicated channel (DCH) for RPMA’s high capacity downlink. It’s noteworthy that RPMA’s ever-present broadcast channel provides additional capacity that is always available for broadcasting information such as firmware downloads, multicasting information to multiple destinations simultaneously, and asynchronously interacting by the network with a node. Thus, broadcast/multicast/paging capacity is always available in addition to the dedicated channel capacity.

The above figure shows this resultant frame structure. The frame structure contains 4 sub-slots as shown. This is required because the maximum downlink spreading factor is 2048. Thus, to create a 50% duty cycle, RPMA chose a frame structure with four consecutive sub-slots on the downlink. The BCH is thus 4 “messages” signaled back-to-back at the fixed maximum spreading factor and known gold code. Thus, the BCH serves as that predictable and understood waveform that the node may acquire upon.

The endpoint will signal what downlink DCH spreading factor (SF) is required on a frame-by-frame basis in the range of 16 chips per coding symbol to 2048 chips per coding symbol at the most robust modulation. By minimizing the spreading factor of the DCH, the maximum amount of data may be packed into the frame. Relatively few endpoints require the most robust 2048 chip-modulation mode and a conservative average SF is 32 chips per coding symbol.

Downlink capacity is very precious. To preserve that capacity, the network must always know which base station the endpoint is listening to at any given moment such that a network-initiated request can be successfully received by that endpoint so that multiple base stations aren’t trying to send to the same endpoint and thus reduce the overall network capacity.

There are other parts of the technology that we simply don’t have time to dive into. Some of these include:

  1. Network level congestion control
  2. Base station power control
  3. Cloud APIs
  4. Base station handover


As this article has shown, RPMA is a sophisticated LPWAN technology. Its use of extreme spreading while using DSSS give category leading link budget and thus its coverage. DSSS combined with forward error correction, interleaving, and convolutional coding enable robustness to interference. The RPMA channel, at 1 MHz is also placed as a neighbor to Wi-Fi and fits in between Wi-Fi channels. Even if they were on the same channel the nature of DSSS and how it makes its signals look like noise means RPMA is able to comfortably exist in very heavy interference areas.

The DSSS used by RPMA allows for many signals to be sent and received simultaneously (because they look like noise to each other) and puts the “multiple access” or MA in RPMA. This multiple access scheme combined with very precise transmit power control give RPMA its capacity and scalability. Transmit power control and the use of its robustness features (FEC, etc) extend its battery life as the signal is transmitted very quickly using less battery. These also have message acknowledgement as an inherent feature so that status of every message is known. The flexible spreading factors that transmit power control enable also provide robustness to the Doppler effect that results when transmitters are moving. This is what enables RPMA’s mobility support.