No announcement yet.

Defeating radio direction finding

  • Filter
  • Time
  • Show
Clear All
new posts

  • Twigman
    what about if you at just at the edge of a mesh?
    you would get a signal from the nearest one incresing and decreasing (as well as weaker signals from the other ones). Surely you could then pinpoint this one. And take it down. Then continue working your way from the outside in? ALthough this method would probably be slow and not that effective.

    This maybe wrong...I was just thinking...

    Leave a comment:

  • bascule
    started a topic Defeating radio direction finding

    Defeating radio direction finding

    Wow, if all goes well I may give a talk on this next year... so excuse the opening hippie rant and you'll find some substance here, I assure you.

    <hippie rant>
    With the Clear Channel empire mostly solidified except for a few stalwart broadcasting coroporations like Cumulus (who happens to own every radio station in my hometown) and Entercom (who owns some respectable stations), the FCC has become increasingly more militant in its crackdowns. The most notable would be Radio Free Santa Cruz, which is certainly a contentious argument against the power structure of our Constitution: despite a decade of broadcasting without destructive interference, and despite local laws passed to protect the station, the FCC together with U.S. Marshalls raided the station in full riot gear. They met a rather large protest of locals including the Mayor of Santa Cruz, who defended the station's right to exist, especially considering our national government has sold out the air waves to the biggest corporation who can buy them (who, by the way, has a political bias that puts even FOX News to shame, certainly a contentious point against the conservative whining about the 'liberal media'). With LPFM regulations derailed, and provisions in the bill stating that no one who has ever operated a pirate station is entitled to an LPFM license, I believe it's time for a little substantially warranted civil disobedience.
    </hippie rant>

    So, our purpose is to create a broadcasting cluster immune to radio direction finding technologies. If the FCC can't find the transmitters, they can't shut down the station, and unless RDF points them at a location definitively, they can't obtain a search warrant and thus the station is immune to all prosection.

    So, assume we have a broadcasting cluster of at least 3 nodes, the more the better. All of these will broadcast audio data received over an HTTP stream, with something like mpg123 set up to establish a persistent connection.

    We configure a central server designed to seed these stations with data. This includes a seperate audio stream for each station that will be transmitting.

    After all transmitting stations have connected to our HTTP audio server, we begin pulling audio data from some source.

    We initialize an n sized array (n being the number of stations) such that element i is initialized as follows:

    A[i] = i / n;

    We also will have an array of volume levels, V. All members of this array can be initialized to any value between 0 and 1.

    We now enter our main loop, which will operate on time interval t (this could be around 10 seconds)

    Pulling from a given audio source, we calculate a new stream to send to each of the stations from the values in array A which have been initialized by the method specified, but we will transform A in the following manner:

    For a determined number of rounds (an arbitrary value, n/4 should be sufficient), we pick two random numbers v1 and v2 which such that 0 < (v1,v2) < n, and swap the values of A[v1] and A[v2].

    Next, we begin a nested loop of x rounds. We calculate x as being the quotient of one t interval of PCM audio data from our audio source divided by the size of PCM chunks we will be working with (likely determined by the compressed audio format you wish to use). We will iterate a nested loop, looping i from 0 to n for each station and j through V for x rounds, performing the following pseudocode transformation:

    if(V[i] < A[i]) { V[i] += A[i] * j/x; } else { V[i] -= A[i] * j/x; }

    We then recompute the chunk of PCM data for station i, recomputing amplitude value k in set of amplitudes S as follows:

    S[k] *= V[i];

    Thus for n stations in our broadcasting cluster, the audio intensity will constantly fade between transmitting at full power and radio silence. This confuses radio direction finding equipment which will constantly attempt to seek the direction in which the transmission on a given frequency is most strongly coming from, requiring only a computer to compute these values and serve audio streams to all of the stations.

    This should be more than sufficient to confuse radio direction finding equipment and make it appear as if the radio transmission is coming from a random direction at all times, unless you are a substantial distance away from all 3 (or more) transmitters. The transmission power will evenly fade over the time interval between different stations, and it should render it nearly impossible for radio direction finding equipment to determine the location of the station.