A three dimensional digital spectrum modulation spread spectrum technique (DSM-X) that improves channel diversity by providing multiple bands within the available portion of the frequency spectrum increasing the number of available channels. The system also improves the channel immunity through the use of at least three dimensions of pseudo-random data encoding, which adds two levels of pseudo-random frequency allocation to the pseudo-random data encoding used in prior DSM systems. The three dimensions of pseudo-random allocation may include pseudo-random data encoding, pseudo-random frequency pattern allocation among a plurality of bands defined within the assigned frequency spectrum, and pseudo-random frequency sequencing among a plurality of channels defined within each band. Additional levels of pseudo-random encoding may be implemented in direct sequence coding for header data, repeat packet timing, and packet iteration timing.
|
9. A system comprising:
a controller configured to transmit control data for controlling a radio-controlled (RC) vehicle, wherein the controller comprises:
one or more processors configured to:
encode the control data for transmission over a data link;
receive synchronization data and the header globally unique identifier and encodes a header packet portion of a packet based, at least in part, on the received synchronization data and the header globally unique identifier;
wherein the header globally unique identifier is a pseudo-random parameter;
wherein the one or more processors receive a control signal, at least one coding parameter, and a pattern globally unique identifier and encode a payload packet portion based, at least in part, on the received control signal, the at least one coding parameter, and the pattern globally unique identifier;
wherein the pattern globally unique identifier is a pseudo-random parameter;
wherein the data packet encoder stores at least the header packet portion and the payload packet portion in a code table for timed release to the data packet generator;
schedule transmission of the control data according to a two-level frequency hopping spread spectrum (FHSS) sequence that comprises (a) hopping among a plurality of frequency bands according to a pattern globally unique identifier and (b) hopping among a plurality of channels within each frequency band according to a sequence globally unique identifier;
wherein the one or more processors receive frequency band definitions, frequency channel definitions, the pattern globally unique identifier, and the sequence globally unique identifier;
wherein the pattern globally unique identifier and the sequence globally unique identifier are pseudo-random parameters;
wherein the hopping among a plurality of channels is based, at least in part, on the received frequency band definitions, frequency channel definitions, the pattern globally unique identifier, and the sequence globally unique identifier and the one or more processors store the plurality of channels in a frequency allocation table;
assemble packets containing the encoded data;
wherein the encoded data includes at least the encoded header packet portion and the encoded payload packet portion received from the data packet encoder and the plurality of channels; and
one or more antennas configured to transmit the modulated control data according to the two-level FHSS sequence scheduled by the one or more processors.
1. A spread spectrum controller configured to transmit data over a data link within an assigned frequency spectrum, the spread spectrum controller comprising:
a data packet encoder configured to encode the data for transmission over the data link;
wherein the data packet encoder receives synchronization data and a header globally unique identifier and encodes a header packet portion of a packet based, at least in part, on the received synchronization data and the header globally unique identifier;
wherein the header globally unique identifier is a pseudo-random parameter;
wherein the data packet encoder receives a control signal, at least one coding parameter, and a pattern globally unique identifier and encodes a payload packet portion based, at least in part, on the received control signal, the at least one coding parameter, and the pattern globally unique identifier;
wherein the pattern globally unique identifier is a pseudo-random parameter;
wherein the data packet encoder stores at least the header packet portion and the payload packet portion in a code table for timed release to the data packet generator;
a frequency channel allocator configured to: (i) use a pattern globally unique identifier to band hop the data link among a sequence of frequency bands within the assigned frequency spectrum; and (ii) use a sequence globally unique identifier to channel hop the data link among a sequence of frequency channels within the sequence of frequency bands;
wherein the frequency channel allocator receives frequency band definitions, frequency channel definitions, the pattern globally unique identifier, and the sequence globally unique identifier;
wherein the pattern globally unique identifier and the sequence globally unique identifier are pseudo-random parameters;
wherein the sequence of frequency channels are based, at least in part, on the received frequency band definitions, frequency channel definitions, the pattern globally unique identifier, and the sequence globally unique identifier and are stored in a frequency allocation table for timed release to the data packet generator;
a data packet generator configured to assemble packets containing the encoded data;
wherein the encoded data includes at least the encoded header packet portion and the encoded payload packet portion received from the data packet encoder and the sequence of frequency channels received from the frequency channel allocator; and
an antenna configured to transmit the assembled data packets over the data link via the combination of frequency bands and channels according to the band hop and channel hop sequences implemented by the frequency channel allocator.
2. The spread spectrum controller of
3. The spread spectrum controller of
4. The spread spectrum controller of
5. The spread spectrum controller of
6. The spread spectrum controller of
7. The spread spectrum controller of
8. The spread spectrum controller of
10. The system of
11. The system of
a remote controlled vehicle comprising:
one or more receivers configured to receive and demodulate the spread spectrum modulated control data according to the two-level FHSS sequence transmitted by the controller; and
a reporting unit configured to transmit vehicle operational parameters to the controller.
12. The system of
wherein the one or more processors is further configured to spread spectrum modulate the header according to a second pseudo-random code; and
wherein the one or more antennas are further configured to transmit the spread spectrum modulated header and spread spectrum modulated control data according to the two-level FHSS sequence scheduled by the one or more processors.
13. The system of
a remote controlled vehicle comprising:
one or more receivers configured to receive and decode the individual packet, wherein decoding the individual packet comprises (i) spread spectrum decoding the header according to the second pseudo-random code and (ii) spread spectrum decoding the payload portion according to the first pseudo-random code.
|
This application claims priority to U.S. Provisional Patent Application Ser. No. 61/439,293, filed Feb. 3, 2011, which is incorporated herein by reference.
This application relates to commonly owned U.S. Pat. No. 7,391,320 and U.S. patent application Ser. No. 12/874,133 entitled “A Radio Frequency Radio Controlled System Having Control Feedback” filed Sep. 1, 2010. U.S. Pat. No. 7,391,320 and U.S. patent application Ser. No. 12/874,133 are hereby incorporated by reference in their entirety.
This application relates to recreational remote controlled vehicles, such as remote controlled cars, planes and helicopters, and more particularly relates to a three dimensional spread spectrum communication system for allocating the available portion of the frequency spectrum among a large number of controlled devices.
Recreational remote controlled vehicles, such as remote controlled cars, planes and helicopters, have become increasingly popular as the capabilities of the vehicles and control technologies have improved. It is common for a large number of enthusiasts to gather during large events for competition, camaraderie, and demonstration of new technologies. At these events, dozens of remote controlled vehicles may attempt to operate at the same time, which saturates the portion of the frequency spectrum assigned to this technology. The resulting data congestion leads to cross talk, data collisions, increased transmission latency, and a loss of control over the vehicles. While the problem could be solved by greatly increasing the width of the portion of the frequency spectrum assigned to this technology, the competition for frequency spectrum allocation restricts spectrum availability resulting in relatively narrow bands assigned to specific applications by regulation. Moreover, the occurrence of extremely crowded control requirement to accommodate dozens of vehicles is limited to infrequent large scale events. Allocating a larger portion of the available frequency spectrum to this particular application to accommodate infrequent events would therefore be an inefficient use of the available spectrum. What is needed is a way to greatly increase the efficiency of the existing spectrum allocation to accommodate larger numbers of control channels within the available portion of the frequency spectrum already made available to this application.
The present invention meets the needs described above through a digital spectrum modulation (DSM) spread spectrum technique, known as DSM-X, that implements at least three dimensions of pseudo-random encoding to improve the efficiency of the available portion of the frequency spectrum and thereby greatly increase the number of controlled devices that can use the portion of the spectrum made available to recreational remote control. Prior DSM techniques typically rely on pseudo-random spectrum spreading in a single dimension, typically the information coding dimension (e.g., GMSK) with direct sequence encoding in the frequency domain. With single dimensional DSM as the point of departure, DSM-X reaches new heights in spread spectrum technology through the use of at least three dimensions of pseudo-random data encoding. The advent of DSM-X can be thought of as single dimensional DSM extended to three or more dimensions.
The DSM-X system improves single dimensional channel diversity by subdividing the available portion of the spectrum into multiple bands and providing multiple channels within each band to increase the number of available channels over prior single band DSM systems. DSM-X also improves channel immunity through the use of at least three dimensions of pseudo-random data encoding, which adds at least two levels of pseudo-random frequency allocation to the single dimension of pseudo-random data encoding used in prior DSM systems. The end result of these innovations is a great improvement in the utilization of available portion of the frequency spectrum, which allows a much larger number of control channels to simultaneously utilize the same portion of the frequency spectrum without incurring increased communication latency, data collisions, cross talk or other types of cross channel interference.
Generally described, the present invention may be implemented as a radio control system for utilizing an assigned frequency spectrum to carry data links for a large number of radio controlled devices. The DSM-X system includes a number of radio controlled devices and a number of controllers, each controlling at least one of the radio controlled devices. Typically, the controller may be a single or dual device controller. The single device controller, in which each controller has a single associated radio controlled device, will be described for convenience. The controller transmits control signals to its associated radio controlled device via a radio frequency data link. The controller encodes device control data in its associated data link through spread spectrum data encoding utilizing at least three dimensions of pseudo-random encoding.
The three dimensions of pseudo-random encoding typically include pseudo-random data encoding (e.g., pseudo-random frequency sequence encoding for the packet header, pseudo-random GMSK data encoding for the packet payload data, or both), pseudo-random frequency pattern allocation among a plurality of bands defined within the assigned frequency spectrum, and pseudo-random frequency sequencing among a plurality of channels defined within each band. For a specific implementation utilizing these frequency allocation dimensions, the frequency pattern allocation may include at least three frequency bands (e.g., frequency A, B and C) defined within the assigned frequency spectrum, and the frequency sequencing allocation may include at least 23 frequency channels defined within each band (e.g., frequency channels A1-A23, B1-B23, and C1-C23). In addition to pseudo-random data encoding, DSM-X may also implement pseudo-random frequency channel allocation in both the frequency pattern selection (i.e., among the frequency bands) and in the frequency sequence selection (i.e., among the frequency channels).
The controller may also transmit the data encoded in the data link in the form of data packets with pseudo-random repeat time spacing between repeat packets containing duplicate data, and pseudo-random increment time spacing between packet iterations containing different data. That is, the controller may transmit each data packet redundantly including at least an initial packet and a repeated packet, while randomly controlling the repeat timing between packets containing the same data and the iteration timing between packets containing different data. Each data packet typically includes a header containing synchronization information allowing the associated radio controlled device to follow the encoding and timing scheme implemented by the controller. The header is followed by a data payload containing encoded device control signals, and one or more forward error check parameters. There are several spread spectrum encoding schemes that may be used for code modulation. In general, the header and the payload may each be encoded with frequency shift key or phase shift key encoding (e.g., GMSK). In addition, either of these shift key encoding protocols, or both, may use predetermined or pseudo-randomly determined encoding patterns. Typically, the header may be encoded through direct sequence (DS) modulation or through modified DS modulation using pseudo-random sequencing, while the data payload is typically encoded through GMSK phase shift key modulation. However, the header may alternatively be encoded with phase shift key modulation and the payload may alternatively be encoded with frequency shift key modulation, with direct or pseudo-random encoding, as desired.
In view of the foregoing, it will be appreciated that the present invention significantly improves upon prior spread spectrum communication techniques for radio controlled devices. Specific structures and processes for implementing the invention, and thereby accomplishing the advantages described above, will become apparent from the following detailed description of the illustrative embodiments of the invention and the appended drawings and claims.
The present invention may be embodied in a DSM-X recreational radio controlled vehicle system, such as the miniature aircraft system shown in
DSM-X can be thought of as single dimensional DSM extended to three dimensions. Single dimensional DSM typically utilizes pseudo-random data encoding, such as frequency shift key or GMSK phase shift key encoding. The additional spread spectrum encoding dimensions implemented by DSM-X include pseudo-random frequency pattern allocation and pseudo-random frequency spectrum allocation. Pseudo-random frequency pattern allocation is accomplished by dividing the available portion of the frequency spectrum into multiple bands, such as three bands A, B and C, and randomly hopping among the bands. Pseudo-random frequency sequence allocation further develops this concept by dividing each frequency band into multiple channels, such as 23 channels per band, and randomly hopping among the channels. The resulting pseudo-random frequency allocation randomly hops not only among the channels in each band, but also among the bands, which significantly increases the spread spectrum utilization of the available portion of the spectrum. For example, prior systems typically accommodate a fixed number of simultaneous control channels through direct sequence allocation among the available control channels. DSM-X increases the number of available control channels by first dividing the available spectrum into three bands, usually of an equal number of control channels, to increase the spectrum diversity. In a specific example, where prior one dimensional spread spectrum techniques divided the available spectrum into 23 control channels, DSM-X divides the same spectrum into three bands (e.g., A, B, C) of 23 channels each (e.g., A1-A23, B1-B23, and C1-C23).
DSM-X further improves the spectrum utilization by pseudo-randomly assigning a frequency pattern among the bands and, in addition, pseudo-randomly assigning a frequency sequence among the channels within each band, to greatly improve control channel immunity, which may be thought of as improving control channel isolation or avoiding crosstalk and data packet collisions. The result is a very significant increase in the spread spectrum utilization and an associated increase in the number of simultaneous control channels available within the available spectrum. In the particular example shown in the figures and described below, where prior one dimensional spread spectrum technology provided 23 simultaneous control channels, DSM-X provides well over 100 simultaneous control channels.
Turning to the drawings, in which like numerals refer to similar elements,
The packet header contains synchronization data that allows the controller and radio controlled device to maintain communication and follow the time and frequency division encoding scheme implemented by the controller. The synchronization data includes at least an address associated with the data link established at the time of “sync” or handshake associating a particular controller with an associated radio controlled device, the frequency channel assigned to the that particular packet, and the forward time slice for the forward packet. While the packet timing parameter for the current packet is received in the immediately preceding packet, the frequency channel assignment for the current packet may be received in the immediately preceding packet or in the current packet. The radio controlled device uses the header information to identify packets addressed to that particular device, the frequency channel to tune to the correct channel to receive the data payload, and the forward time slice to properly receive the next packet in the data link. The header is typically encoded with direct sequence frequency modulation, which provides for excellent synchronization, processing gain and selectivity. The modulation sequence may also be pseudo-randomly assigned to provide another level of pseudo-random encoding in the data link.
The packet header is followed by the payload data, which contains the encoded control signals for the radio controlled device. The payload data typically includes the operational control signals for the radio controlled device generated by user operation of manual instruments on the remote controller, such as joysticks, triggers, buttons, knobs, and so forth. The control signals operate the accelerator, steering, and other functionality of the radio controlled device. The payload data is pseudo-randomly encrypted and encoded into the data signal through frequency or phase shift key modulation, such as GMSK encoding. The packet ends with one or more forward error check parameters.
The radio controlled device 12a receives each data packet at the correct time interval using timing information received in the prior packet. The radio controlled device then demodulates the data link, error checks the packet using the error check parameter contained in the packet, and reads the packet header. The radio controlled device also obtains the correct frequency channel for reading the payload data, which reflects the pseudo-random frequency pattern and pseudo-random frequency sequence assigned by the controller. The specific frequency channel for the payload may be identified in the previous packet header or in the current packet header. The radio controlled device tunes to the correct frequency channel, receives the payload data, GMSK demodulates the payload data, obtains the control data, and operates the device drivers to maneuver the device.
The packet data encoder 82 also receives the device control signals from the control signal buffer 72 and coding parameters from the processor 73, such as GMSK phase shift or frequency shift parameters, for encoding the payload portion of the packet. The packet data encoder 82 may also receive a payload GUID from the processor. The code sequence may be directly assigned if a payload GUID is not provided or, if a payload GUID is provided, the encoder pseudo-randomly assigned the code sequence. The packet data encoder 82 stores the payload coding data in the code table for timed release to the data packet generator 86.
The frequency channel allocator 84 receives the frequency band definitions, may receive a pattern GUID from the processor 73, and implements pseudo-random frequency band pattern allocation. The frequency band pattern may be directly assigned if a pattern GUID is not provided or, if a pattern GUID is provided, the encoder pseudo-randomly assigned the band pattern. The frequency channel allocator 84 also receives frequency channel definitions, may receive a frequency sequence GUID from the processor 73, and implements pseudo-random frequency sequence allocation. The resulting frequency channel assignments are stored in a frequency allocation table for timed release to the data packet generator 86.
The data packet generator 86 receives the encoded data from the packet data encoder 82 and the frequency sequence allocation from the frequency channel allocator 84 under timing provided by the processor 73. The data packet generator 86 also receives system control signals and packet timing data from the processor 73 and uses this information to create the data signal 40 reflecting three dimensions of pseudo-random, spread spectrum data encoding along with pseudo-random packet repeat and iteration timing. The data signal 40 is then used to modulate the carrier signals to form the data link emitted by the antenna.
The frequency channel allocator 84 includes a frequency selection kernel 94 that receives the allocation medium (e.g., frequency band and channel definitions), the pattern GUID, and the sequence GUID from the processor 73. The frequency channel allocator 84 generates the frequency allocation for the packets and stores this data in the frequency allocation table 96, where it is available for timed release to the data packet generator 86. In alternative embodiments, the frequency channel allocator may utilize either the pattern GUID, or the sequence GUID, or both GUIDs to incorporate pseudo-random encoding in the packet frequency allocation.
The data packet generator 86 mixes the synchronization information (header data) with the header coding data from the code table 92 in accordance with packet timing control from the processor 73 to encode the packet header. Similarly, the data packet generator 86 mixes the device control signals (payload data) with the payload coding data from the code table 92 in accordance with packet timing control from the processor 73 to encode the packet payload. The data packet generator 86 adds one or more error correction parameters to complete the initial packet, which is copied to create a repeat packet. The initial packet and the repeat packet modulate the carrier frequency in accordance with the frequency allocation information from the frequency allocation table 96. The initial and repeat packets are combined in accordance with repeat timing controlled by the processor and transmitted via the antenna 77. The process is then repeated with iteration timing controlled by the processor and the next initial, repeat packet pair is transmitted by the antenna 77. As an option, the initial packet may be transmitted on a first antenna polarization (e.g., vertical polarization) and the repeat packet may be transmitted on a second antenna polarization (e.g., horizontal polarization) using orthogonal dual polarization antenna radiators.
Step 110 is followed by step 112, in which the remote controller generates one or more frequency allocation GUIDs. For example, a first frequency pattern GUID may be generated for pseudo-randomly assigning a pattern of frequency bands, and a second sequence GUID may be generated for pseudo-randomly assigning channel sequences within the frequency bands. Step 112 is followed by step 114, in which the remote controller loads a frequency table with the channel allocations created with pseudo-random frequency pattern and sequence allocation.
Step 114 is followed by step 116, in which the remote controller encodes the packet data as it generates the packet including the header, payload and error check parameters. The processor times the release of data from the control signal buffer, the code table and the frequency tables to encode the data and generate the packet at the proper time intervals. Step 116 is followed by step 118, in which initial packet is generated and transmitted by the antenna. Step 118 is followed by step 120, in which a repeat packet is generated and transmitted by the antenna. This completes the process for a first iteration of packet data. Routine 100 then repeats under iteration timing controlled by the processor for the next iteration of packet data, and so on.
The DSM-X system also includes a number of other useful features improving prior radio control systems.
The orientation of the aircraft 14a is fixed relative to the display 110a, which results in the position of the remote controller 12a moving around on the display as the aircraft changes its position and orientation with respect to the transmitter. In this example, the aircraft 14a includes a single directional receive antenna 112a oriented parallel to the fuselage of the aircraft (i.e., aligned with the direction of travel of the aircraft). Due to its directionality, the antenna receives signals well from the transmitter when the aircraft is oriented broadside to the transmitter, but receives signals poorly when the aircraft is oriented in line with the transmitter. This results in blind spots 114 and 114′ shown on the display 110a when the aircraft is oriented substantially in line with the transmitter.
In view of the foregoing, it will be appreciated that present invention provides significant improvements in spread spectrum remote control of radio controlled devices and that numerous changes may be made therein without departing from the spirit and scope of the invention as defined by the following claims.
Patent | Priority | Assignee | Title |
10419970, | Feb 03 2011 | Horizon Hobby, LLC | Three dimensional spread spectrum remote control system |
10788821, | Jan 23 2017 | Kubota Corporation | Wireless management system for work vehicles and method for managing work vehicles in wireless management system |
10849013, | Feb 02 2012 | Horizon Hobby, LLC | Three dimensional spread spectrum remote control system |
Patent | Priority | Assignee | Title |
5737038, | Apr 26 1995 | Texas Instruments Incorporated | Color display system with spatial light modulator(s) having color-to-color variations in the data bit weight sequence |
7330505, | Aug 16 2002 | Kabushiki Kaisha Toshiba | Equaliser apparatus and methods |
7352797, | Jun 30 2003 | NXP, B V | Procedure for BPSK modulation with reduced envelope peaking |
7391320, | Apr 01 2005 | HORIZON HOBBY, INC ; HOBBYSHOPNOW, INC | Method and system for controlling radio controlled devices |
7664872, | Jan 05 2005 | DivX CF Holdings LLC; DIVX, LLC | Media transfer protocol |
7907055, | Apr 07 2005 | VIRTUAL EXTENSION LTD | Synchronized relayed transmissions in RFID networks |
7983674, | Jun 16 2005 | QUALCOMM INCORPORATED, A DELAWARE CORPORATION | Serving base station selection in a wireless communication system |
20020003774, | |||
20040125889, | |||
20040162106, | |||
20050181799, | |||
20060097848, | |||
20060114866, | |||
20070105501, | |||
20070150928, | |||
20070259635, | |||
20070263702, | |||
20070293218, | |||
20080137689, | |||
20080285628, | |||
20090031419, | |||
20090086711, | |||
20090116462, | |||
20090257388, | |||
20100061395, | |||
20100080170, | |||
20100182928, | |||
20100210169, | |||
20120039423, | |||
20120058772, | |||
20130148705, | |||
20140247895, | |||
20150131703, |
Date | Maintenance Fee Events |
May 10 2021 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Date | Maintenance Schedule |
Mar 27 2021 | 4 years fee payment window open |
Sep 27 2021 | 6 months grace period start (w surcharge) |
Mar 27 2022 | patent expiry (for year 4) |
Mar 27 2024 | 2 years to revive unintentionally abandoned end. (for year 4) |
Mar 27 2025 | 8 years fee payment window open |
Sep 27 2025 | 6 months grace period start (w surcharge) |
Mar 27 2026 | patent expiry (for year 8) |
Mar 27 2028 | 2 years to revive unintentionally abandoned end. (for year 8) |
Mar 27 2029 | 12 years fee payment window open |
Sep 27 2029 | 6 months grace period start (w surcharge) |
Mar 27 2030 | patent expiry (for year 12) |
Mar 27 2032 | 2 years to revive unintentionally abandoned end. (for year 12) |