Methods and systems for secure and efficient flexible frequency hopping access
AssigneeTrellisWare Technologies, Inc.
InventorsReid Johnson, Mark Johnson
Life of this patent
Estimating the term…
Abstract
Secure and efficient methods and systems of providing multiple access interference constraints for frequency hopped spread spectrum communications are presented. The methods and systems leverage a cryptographic keystream generator and iterative indexing into shuffled lists to generate a constrained collision-free frequency hopping sequence. This flexible frequency hopping access (FFHA) can support varying hop frequency and bandwidth resources including secure operation for applications where the number of channels (hopping sequences) exceeds the number of hop frequency resources available.
Claims20
A method of generating a hop frequency (fhop) for each of a plurality of channels, the hop frequency being one of a plurality of hop frequencies, a number of the plurality of hop frequencies being equal to a number of the plurality of channels (Nch), the plurality of hop frequencies being subject to a minimum frequency separation constraint, a number of a plurality of available frequencies (Nfreq) being greater than or equal to a product of the number of the plurality of hop frequencies and the minimum frequency separation constraint, each of the plurality of channels comprising a channel index, the method comprising:
- receiving a pseudorandom keystream;
- generating a base frequency (fbase) based on the pseudorandom keystream;
- generating a band frequency (fband) based on indexing into at least one shuffled band frequency list using at least one band frequency start point and the channel index, wherein each element of the at least one band frequency list is an integer value from the set {0, 1, . . . , Nch−1}, and wherein each of the at least one band frequency start points is based on the pseudorandom keystream;
- generating a jitter value (Jvalue) based on indexing into at least one shuffled jitter value list using at least one jitter start point and the channel index, wherein each element of the at least one jitter value list is an integer value from the set {0, 1, . . . , Jrange−1}, wherein each of the at least one jitter start points is based on the pseudorandom keystream, and wherein Jrange is based on the minimum frequency separation constraint;
- and
- generating the hop frequency in accordance with a first equation:
- fhop=(fbase+floor(Nfreq/Nch)×fband+Jvalue)modulo Nfreq,
- or in accordance with a second equation:
- fhop=(fbase+floor(Nfreq×fband/Nch)+Jvalue)modulo Nfreq.
A system for generating a first plurality of hop frequencies (fhop,1, fhop,2, . . . , fhop,Nch) for each of a plurality of channels, the first plurality of hop frequencies being subject to a minimum frequency separation constraint (MBS), a number of the first plurality of hop frequencies being equal to a number of the plurality of channels (Nch), each of the plurality of channels comprising a channel index, the system comprising:
- a plurality of available frequencies, wherein a number of the plurality of available frequencies is denoted Nfreq;
- a bit generator configured to generate a pseudorandom keystream;
- and
- a frequency generator configured to generate a base frequency (fbase) based on the pseudorandom keystream, generate a band frequency (fband) for each of the first plurality of hop frequencies based on indexing into at least one shuffled band frequency list using at least one band frequency start point and the channel index, and generate each of the first plurality of hop frequencies based on the base frequency, the band frequency, the minimum frequency separation constraint, and the number of the plurality of available frequencies.
A non-transitory tangible computer-readable medium embodying program code executable by a computing system, the program code for generating a plurality of hop frequencies for each of a plurality of channels, the plurality of hop frequencies being subject to a minimum frequency separation constraint, a number of a plurality of available frequencies being based on a product of a number of the plurality of hop frequencies and the minimum frequency separation constraint, each of the plurality of channels comprising a channel index, the program code comprising:
- program code for receiving a pseudorandom keystream;
- program code for generating a base frequency based on the pseudorandom keystream;
- program code for generating a band frequency based on indexing into at least one shuffled band frequency list using at least one band frequency start point and the channel index;
- and
- program code for generating each of the plurality of hop frequencies based on the base frequency, the band frequency, the minimum frequency separation constraint, and the number of the plurality of available frequencies.
Dependencies are inferred from the claim text.