
Steve Perlman unveils white paper explaining “impossible” wireless data rates - evo_9
http://venturebeat.com/2011/07/28/steve-perlman-unveils-dido-white-paper-explaining-impossible-wireless-data-rates/
======
onedognight
This is the basic idea from the white paper.

DIDO communication begins with the DIDO APs exchanging brief test signals with
the DIDO user devices. By analyzing what happened to these test signals as
they propagate through the wireless links, the DIDO Data Center determines
precisely what will happen when it transmits data signals from the APs to
users, and how the simultaneously transmitted signals will sum together when
received by each user device. Then, the DIDO Data Center uses this analysis,
along with the data each user is requesting (e.g. video from a website), to
create precise waveforms for all of the APs that, when transmitted at once
will sum together at each user device to create a clean, independent waveform
carrying the data requested by that user. So, if there are 10 APs and 10 users
all within range of each other, then 10 radio signals will sum together at
each antenna of each user’s device to produce an independent waveform for each
device with only that device’s data.

~~~
NathanKP
One question that I haven't seen answered yet is what happens if the receiving
antenna is not stationary. It seems to me that if it is moving at the time
that the test signal was sent out there is no guarantee that the signals will
sum together properly for the receiver now that is in a different location.
Most devices that are wireless are wireless because they spend most of the
time moving around.

But perhaps this system of analyzing the test signals and figuring out how to
create the waveforms that will sum up for the receiver happens so fast that it
is not a problem to recalibrate constantly to take in account cell phones in
moving cars, etc.

~~~
ja30278
From the patent app: "As such, in one embodiment of the invention, the channel
characterization matrix 616 at the Base Station is continually updated. In one
embodiment, the Base Station 600 periodically (e.g., every 250 milliseconds)
sends out a new training signal to each Client Device, and each Client Device
continually transmits its channel characterization vector back to the Base
Station 600 to ensure that the channel characterization remains accurate (e.g.
if the environment changes so as to affect the channel or if a Client Device
moves). In one embodiment, the training signal is interleaved within the
actual data signal sent to each client device. Typically, the training signals
are much lower throughput than the data signals, so this would have little
impact on the overall throughput of the system. Accordingly, in this
embodiment, the channel characterization matrix 616 may be updated
continuously as the Base Station actively communicates with each Client
Device, thereby maintaining an accurate channel characterization as the Client
Devices move from one location to the next or if the environment changes so as
to affect the channel. "

~~~
bmohlenhoff
"Each client device continually transmits its channel characterization
vector..."

Sounds like the scheme is going to wreak havoc on the battery life of a
typical mobile device.

~~~
WiseWeasel
If this continual transmission is only done during periods of network usage,
when you're already powering up the CPU and antenna chipset, how much of an
additional burden would this be for the client device? I doubt it would be
continuously transmitting when the device is in sleep mode, and I have no
indication that this is a CPU-intensive task for the client device (the data
center device is a different matter).

~~~
bmohlenhoff
For the mobile phone use case, it seems like the transmitter would have to be
emitting constantly in order to keep the base station appraised of its current
position, for the purposes of computing the channel characterization.
Otherwise, how would the base station know what transformations to perform on
the outgoing signals to reach the mobile device in the event that a call is
received? It's not like you could broadcast that information to everyone,
because that would end up corrupting the spectrum for everyone else, which
defeats the entire point of this system.

The whole scheme seems really dependent on knowing the position of all
transmitters/receivers at all times.

~~~
kragen
The "paging channel" problem is already present in existing mobile radio
systems. Solving it pretty much requires some form of TDMA — i.e. scheduled
transmission — because only TDMA gives you the ability to actually power your
radio off most of the time. Even Wi-Fi has features for this.

------
beambot
"The complete answer to this question is very long, involving immensely
complex mathematics, very carefully designed software and hardware, and new
data communications and modulation techniques."

None of which is discussed in the white paper. If I had to guess... It seems
like a MIMO (Multi-Input, Multi-Output) technique that somehow uses the
environment's impulse response (via the pilot signal) to achieve phased array-
like spatial independence of signals. Without the "immensely complex
mathematics," this white paper doesn't really deliver any insight -- no better
than marketing speak IMO.

~~~
ja30278
The patent application appears to have more detail:
<http://www.faqs.org/patents/app/20090067402>

------
troymc
Let me take a stab at an explanation. Suppose we know the positions of all the
transmitters and receivers, and we know which receivers are supposed to get
which signals. Then we determine the signals (waves) to be emitted by the
transmitters such that at each receiver, all the other signals cancel out
(interfere destructively), leaving nothing but the signal you want at that
receiver.

(Oh, and don't forget to account for reflection, refraction, dispersion, etc.
as the waves propagate around.)

If this is what they're doing, then wow, that's pretty cool. It's amazing the
problem can be solved fast enough.

The way they get around Shannon is by taking advantage of the spatial
separation of the various receivers. In effect, Shannon assumed all receivers
are at the same position.

Is this an accurate understanding?

~~~
ChuckMcM
As far as I can tell yes, basically its phased-array wi-fi where the system
solves for creating channels to individual points rather than beam energy.

If you are familiar with phased array RADAR (as used on AEGIS and other
platforms) the system computes on the fly the necessary set of signals from an
array of antenna which will constructively interfere to put a 'beam' on the
target. AEGIS can track hundreds of targets simultaneously (I believe the
actual upper limit is classified)

I recall a startup in the bay area that was doing something like that with
WiFi access points to provide both range and better signal integrity (you
could exceed the power limits on non-license use going into the antenna as
measured output was still within spec), I thought they had been acquired by
Atheros but I'll have to dig a bit deeper to find out for sure.

~~~
Nrsolis
IIRC, there are already companies doing this in the mobile phone space. In
essence, they beam steer using slight differences in the arrival time of the
signal to actual antennas which in turn causes constructive interference in
the desired direction and destructive interference in other locations. For
mobile phone networks, this is only for azimuth. For systems like the ones
used for AEGIS (the SPY-1 and variants) you get azimuth and elevation beam
steering.

Honestly, I can't see this working without stepping on some of the patents
owned by companies like ArrayCom and others.

~~~
bmohlenhoff
How did they fit enough transmit elements into a cell phone to do that? I
thought cell phone antennae were omnidirectional.

~~~
tcgore
That is the big claimed upside of this approach, the cell phone transmitter
receiver is very simple, with only 1 antenna. The base station number
crunching becomes much more sophisticated, but that is fine.

------
inportb
... I get the impression that the writer doesn't really understand the DIDO
stuff. For that matter, neither do I, but I think I have a rough idea: if you
have control over all the DIDO transceivers in the area and know precisely
where each one is, you can control how the EM spectrum looks at/near each
transceiver.

In effect, DIDO relies heavily on interference. We should not think of the
transceivers as independent devices; instead, they are all part of the system,
which is under centralized control. (for the uninitiated: interference is any
combination of waves, regardless of whether it is actually detrimental or
beneficial to the user)

This is harder to achieve than one might think, harder than if all
transceivers were stationary. Consider the mobile devices -- those are part of
the equation too, and they are variable (not to mention any intervening
objects that might contribute unaccounted interference). They also need to
communicate with the DIDO datacenter somehow, and this is where my reasoning
breaks down...

------
Timothee
I advise you to skip the article and read the white paper instead since this
article relies _heavily_ on it:
<http://www.rearden.com/DIDO/DIDO_White_Paper_110727.pdf>

Can anyone with expertise in the domain chime in on the credibility of these
claims?

My understanding is that the system determines how test signals are modified
at each user's device because of interferences and works backwards from that
to create the waves that each access points needs to send out so that they all
interfere together so that they're clear at each user's device location.

Sounds ok in theory, but I don't really get how that can work in practice. For
example, wouldn't all access points send the signals at exactly the same time?
How can they insure that? How can they insure the interferences won't have
changed between the test signals and when the real signals are sent?

~~~
philord
"For example, wouldn't all access points send the signals at exactly the same
time? How can they insure that? How can they insure the interferences won't
have changed between the test signals and when the real signals are sent?"

I think the key is to see the DIDO access points as part of a larger system
and not as traditional access points. "So, you can think of the DIDO APs as a
vast random array of antennas extending out from the DIDO Data Center for
miles" as the whitepaper says. I assume that all the access points will be
stationary and will talk to the DIDO centre very regularly. This would be
required, at least in my mind, to ensure that their environment
characterisation is accurate and up to date and to syncronise transmissions.

~~~
NY_Entrepreneur
"For example, wouldn't all access points send the signals at exactly the same
time?"

Yes, apparently there is a timing issue.

Maybe can resolve the timing issue by having the transmitters send timing
signals. Then maybe one transmitter becomes the 'central timing' source.

So, maybe discretize time into, say, time windows where each window is, say,
only a millisecond or so long. Maybe get a new window each, say, 3
milliseconds. Then at the beginning of each window, each transmitter sends. To
get them all to send at the same time, use the central time source with each
transmitter knowing its delay from the central source. So, for a window, the
central time source says "SEND", and each transmitter knows just how long to
wait after receiving the "SEND" message before starting to send.

Maybe some such.

"How can they insure the interferences won't have changed between the test
signals and when the real signals are sent?"

Use the test signals every few milliseconds to recalculate all the transfer
functions to all the receivers. If occasionally a receiver moves a little too
fast, then depend on TCP to handle the error.

Maybe.

Do ask that mostly each receiver B is logically connected to nearly the
nearest transmitter A. Then for transmitters a long way away from A and, thus,
also B, they should be able mostly to f'get about the signal from A to B. That
should help the timing issues.

So, in some area with a lot of users where want a lot of data rate at the one
frequency available in that area, put in a lot of transmitters. Then expect
that each user will get associated with a transmitter of their own that is
nearly the nearest transmitter to them.

The location of each transmitter is essentially fixed; if the location varies
a little day by day, no problem. The location of each receiver is essentially
fixed over, say, a few milliseconds; that should be okay if redo the 'test
signal' handshaking each few milliseconds.

Remember that are only sending digital packet data and looking for latencies
only less than a few milliseconds. So, get a little time, a millisecond here
and there, to send test signals, do the handshaking to get all the
transmitters sending at the same time, buffer up at each transmitter the data
to send during the next time window, etc.

For the communications between the central 'smart box' and each of the
transmitters, have lots of options including, say, some form of multi-drop
passive optical.

To make money, a key will be to keep the costs for installation down. So, need
to be cheap at the central box, the communications from that box to the
transmitters, the transmitters, and the card in each receiver.

Hmm, to 'wire' a suburb, go to a homeowner and rent a few square feet in their
attic! Put in the central box and, say, 100 transmitters. To this house, run,
say, 10 GbE over optical. So, that would be 100 Mbps per transmitter. Put a
UPS in the attic. Hope to give really good service to, say, 25, maybe, 50
houses.

Cute solution to the 'last mile'!

If an attic gets busy, then light another 10 GbE wavelength in the optical
fiber to the attic and put in another 100 transmitters.

Maybe!

------
philord
The idea on which it's based is described on page 12 of the whitepaper. Skip
the article. It's useless.

~~~
stretchwithme
Totally. It glosses over the issue that I wanted to understand.

"The full explanation for why this happens is very long and involves immensely
complex mathematics, carefully designed software and hardware, and new data
communications and modulation techniques. Simply put, DIDO is a cloud wireless
system."

------
sitkack
I would wager that is phased array in reverse (phased array broadcasting).
Constructs a 4d data space unique to all users, probably can't in this version
handle moving receivers.

Think of it like this, if a phased array receiver can reconstruct the signal
at any point, why can't a phased array broadcaster emit signals that recreate
any signal at any point in space.

Wrong?

------
hamner
The white paper is non-technical, but I think this is the gist:

Currently, if you have multiple users and 1 access point (AP), the users split
the bandwidth. Multiple APs and multiple users on the same channel results in
split bandwidth as well, since the APs operate independently and interfere
with each other.

This proposal uses N APs for N users on the same channel, allowing for full
bidirectional use of the channel bandwidth by each user. To send data to N
users simultaneously, a central server receives the data, and calculates the
signal to send to each AP such that the user receives only the clean signal
meant for him post interference. This requires precise localization of the
user in AP space, presumably done by having the user transmit a certain
pattern at the particular frequency, and measuring the result at each of the
channels.

For the N users to transmit simultaneously to the N APs, the data center can
take each of the incoming signals from the N APs along with the localization
of the users in AP space, and apply linear algebra to unmix the signals into a
signal from each user.

I imagine this adds some overhead to each channel in order to maintain precise
localizations of each user in AP space.

------
csears
It seems like there should be limits to how many waveforms you could combine
without needing more spectrum.

Let's say I wanted to email N distinct 1MB attachments to N users. Before
sending, every user generates a unique key and sends it to me. I then use my
super math to encode/compress the N distinct 1MB attachments into a single a
single combined 1MB attachment. I then send that resulting combined 1MB
attachment to all N users. Each user then uses his unique key to
decode/decompress the 1MB combined attachment and, viola, he gets the distinct
1MB attachment intended for him.

Now scale that up to very high values of N. Linearly. While the keys are
changing constantly. And keeping the combined attachment fixed at 1MB.

Is my analogy way off? If not, I don't see how this would be possible.

~~~
aidenn0
This is a bit off. Consider it rather like this: you can transmit a sine wave
of varying phase and/or amplitude. With a single transmitter and no multi-path
interference, each receiver sees the exact wave, plus some noise. Shannon's
paper defines the limits on what you can transfer.

Now consider when you have multiple coordinated transmitters transmitting with
different phases and amplitudes. Each receiver receives the sum of these
functions at a relative offset equal to the varying distances, so will decode
as a different symbol.

Visual aid:

[http://en.wikipedia.org/wiki/File:Two_sources_interference.g...](http://en.wikipedia.org/wiki/File:Two_sources_interference.gif)

That's the simplest interference pattern you'll see. It's obvious to see that
the wave a receiver gets will be dependent on location (e.g. notice the bands
of 180 degree flipped phase). As a thought experiment you could imagine
varying the phase and amplitude of the two transmitters such that receivers in
2 different places would see either similar, or different waveforms. There is
almost certainly a limit to how many users you could support with N
transmitters, but with good enough math and feedback, it's potentially fairly
high, which is what these guys claim they can do.

------
zwieback
Definitely very interesting technique but it sounds like the big challenge
will be scaling up to large numbers of base stations and mobile (vs. semi-
stationary) clients. Inverting the matrices mentioned in the patent and
continually updating the parameters to create the interference bubble around
the roving antenna is going to take a lot of processing horsepower. As
mentioned in another comment, getting reasonable battery life out of a mobile
device using this technology is going to be tricky.

I didn't read the whole patent, is changing environment (e.g. cars passing by)
taken into account? I imagine that multi-path reflections off of neighboring
objects would be too dynamic to update in real time.

------
jauer
So, they claim this has much lower latency than WiFi, on the order of 1ms and
yet they need a round-trip /over the internet/ to their datacenter to generate
a waveform. That AP-Datacenter communication inherently adds more latency than
a WiFi link. What am I missing?

~~~
fragsworth
Perhaps what they mean by "data center" is simply a server running at each
wireless access point?

~~~
SoftwareMaven
Except you need to combine the waveforms of multiple access points, so the APs
need to send the current radio profiles to a shared server, the server needs
to receive the proxied information and generate the waveforms for each AP,
then the waveforms need to get sent back to the APs and transmitted over the
radios.

Obviously, this is not what they are referring to in the 1ms timing, but I
don't know what it is they are referring to.

------
lucasgonze
This is snake oil until there is much better documentation.

If the original signal had the capacity to carry more signal as an overlay,
why wouldn't that capacity have been available to the original sender as well?
I haven't seen anything here which contradicts that proposition. There's some
hocus pocus about APs arranging for distinct signatures, but that's irrelevant
to how distinct signatures can be overlaid without reducing the capacity
available to any one signature.

Now, maybe the original had spare capacity which it couldn't use for some
reason. But that doesn't contradict Shannon.

And there's no third option. Either Shannon is true and Perlman is false or
vice versa.

~~~
Mvandenbergh
This is not the case. If you have N spatially separated antennas then you can
transmit information at a rate of N * the Shannon limit. This is the case with
MIMO as well, except in MIMO both of your terminals have N antennas. This DIDO
concept seems to use multiple base station antennas which may be physically
separated but only one mobile antenna. Of course, as a consequence the
increased channel capacity is strictly one-way.

~~~
Dylan16807
Are you sure that makes it one-way? Can't you apply the same mapping in
reverse to extract received data?

------
blrgeek
Oversimplifying, Shannon's theorem applies to a single channel between source
and destination.

Current Wifi uses the same channel for all destinations, since there is no way
to spatially separate destinations - thus the signals to different
destinations interfere and proportionately reduce the capacity to individual
destinations.

DIDO is creating spatially separated channels to each destination by modeling
the spatial domain and creating signals from different APs which interfere to
deliver independent channels to each destination.

------
dev1n
I'm no network security expert at all but could something like this, if
implemented by a company, render DDoS attacks useless? I know DDoS attacks
have to deal with the server's ability to process the packets but could this
technology be engineered to allow these attacks to occur without any affect on
the site under attack?

~~~
bmohlenhoff
Even if a user can utilize the maximum bandwidth provided by a wireless
network, it still doesn't necessarily follow that the resulting data
transmission rate would also be capable of overwhelming the information
processing capacity of some server.

------
daralthus
Can you use this for the uplink also?

Does the base station has to update the clients with the calculated and needed
transformations? But still you can't fit that with the data of all the other
clients.

Am I missing something?

------
joejohnson
Article about this from Wired last month:
[http://www.wired.com/epicenter/2011/06/perlman-holy-grail-
wi...](http://www.wired.com/epicenter/2011/06/perlman-holy-grail-wireless)

~~~
carussell
Perlman also gave a talk at Columbia in June where he discussed this a bit (if
only superficially): <http://www.youtube.com/watch?v=1QxrQnJCXKo>

It's around the 55:13 mark.

------
spydum
Wish I had read the HN comments first, I came to same conclusion: read the
white paper, not the article.

Fascinating stuff, this could very well be revolutionary if it's proven to
scale up.

------
meow
But what about the uploads from user devices to access points ?... according
to the explanation provided, this seem to be optimized for data transfer from
access point to user devices..

------
mikecane
A question: Is there antenna tech that would complement this and hopefully
move it towards mass application/adoption faster? Or has antenna tech reached
its limit?

------
jpdoctor
FTA: "Rearden has built a test system with several access points in
Pflugerville, Lake Austin, and Austin — all cities in Texas."

Great. Show us the data.

------
gmatty
very interesting. It sounds like they are precomputing the streams into a
single stream so that the interference at a given location only has to be
calculated against background noise and not other signals. So in other words
its not one signal overriding eachother, because there is only one signal at a
given location and all devices know how to eavesdrop their signal out of the
master one. Interesting concept.

------
aidenn0
I've got the basics of how base-station -> mobile works, but how about the
reverse? Is upstream still shared bandwidth?

------
Som
The difficult task to get this technology to people- Telecom Monopolies and
the complex Taxes

------
NY_Entrepreneur
Looks doable in a straightforward, simple, elementary way:

We start with some background in 'signals'. Suppose for time t we have real
number u(t). Suppose we have a 'time invariant linear system' and send in
signal u = u(t). Suppose the signal that comes out is s = s(t). Suppose the
'transfer function' of the system is H = H(w) for frequency w (H must exist
because our system is time invariant and linear). Suppose U = U(w) is the
Fourier transform of u and S = S(w) is the Fourier transform of s. Then,
presto, for each frequency w,

    
    
         S(w) = H(w) U(w),
    

and the output s = s(t) is just the inverse Fourier transform of S = S(w).

If for time t we have only a finite interval and for the signal have all the
power in a finite 'band' (have a 'band-limited' signal), that is, have a
maximum frequency with any power, then we can discretize both time and
frequency and use the fast Fourier transform (FFT) to do the Fourier transform
work (actually a non-trivial signal cannot be both time limited and band-
limited at the same time, but as we discretize time the signal can be band-
limited and zero at all our discrete time points outside of finite interval of
time -- don't worry about such things!).

Suppose for some positive integer n we have n transmitters at distinct
geographic locations. Suppose we also have n receivers at distinct geographic
locations.

Suppose for receiver j = 1, 2, ..., n we want to send to receiver j signal s_j
= s_j(t) for time t. Here we are borrowing from TeX where _j indicates a
subscript.

Suppose by sending 'test signals' we have, for transmitter i = 1, 2, ..., n
and receiver j = 1, 2, ..., n, 'transfer function' H_ij = H_ij(w) where w is
frequency.

So, we want signals u_i = u_i(t) so that when, all at the same time, for all i
= 1, 2, ..., n, transmitter i sends signal u_i, then each receiver j receives
the desired s_j.

Let U_i be the Fourier transform of u_i and S_j be the Fourier transform of
s_j.

Then borrowing from TeX, for each frequency w

    
    
         S_j(w) = sum_{i = 1}^n H_ij(w) U_i(w)
    

Now pick a particular value w of our discrete frequencies.

Let's let S(w) be the n x 1 matrix with S_j(w) in component j, H(w), the n x n
matrix with H_ij(w) in component i, j, and U(w), the n x 1 matrix with U_i(w)
in component i.

Then we have

    
    
         S(w) = H(w) U(w)
    

where on the right we have matrix multiplication of n x n H(w) and n x 1 U(w)

Then

    
    
         U(w) = H(w)^(-1) S(w)
    

where

    
    
         H(w)^(-1)
    

is the inverse of n x n matrix H(w).

Do this calculation for each w and have all of U = (U_i). For each i = 1, 2,
..., n, take the inverse Fourier transform of U_i = U_i(w) and get u_i =
u_i(t). Done.

The math was not very advanced! Sorry 'bout that!

But there is an issue with Shannon's theorem: As n grows, the total power in
the signals u_i, i = 1, 2,, ..., n, stands to grow. Shannon's result was for
bounded power on the communications channel or at least bounded signal to
noise ratio.

------
rorrr
" _The complete answer to this question is very long, involving immensely
complex mathematics, very carefully designed software and hardware, and new
data communications and modulation techniques. The following is a highly
simplified explanation_ " = BULLSHIT

Sorry, guys, but it sounds like somebody is trying to raise money for
vaporware.

~~~
fuzzmeister
Perhaps you should read the white paper and the patent application before
writing off a decade's worth of work as bullshit?

