BRIEF DESCRIPTION OF THE DRAWINGS
The present invention will now be described, by way of example, with reference to the accompanying drawings, in which:
FIG. 1 is a timing diagram generally illustrating a data stream and data frame in a typical SDAR system;
FIG. 2 is a timing diagram generally illustrating multiple data streams and data frames in a typical SDAR system;
FIG. 3 is a general schematic diagram generally illustrating a satellite digital audio radio (SDAR) transmitting and receiving system, according to one embodiment of the present invention;
FIG. 4 is a timing diagram generally illustrating multiple data streams and data frames in a satellite transmitting and receiving system, according to one embodiment of the present invention;
FIG. 5 is a close-up view of a portion of a data stream of FIG. 4; and
FIG. 6 is a flow diagram generally illustrating a method for sending and receiving satellite digital radio programming information, according to one embodiment of the present invention.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
FIG. 3 generally illustrates a SDAR transmitting and receiving system, according to one embodiment of the present invention. Vehicle 12 is shown including multiple antennas 18 and 20 coupled to a satellite receiver 24. The satellite receiver 24 is configured to receive RF SDAR signals 7 at various frequencies from satellites 10 and/or a terrestrial repeater 8. As shown, RF SDAR signals are provided by satellite transmitters 16 to transmit antennas 14. Transmit antennas 14 then transmit RF SDAR signals 7 to satellites 10. In the present embodiment, the RF SDAR carrier frequencies used to transmit RF SDAR signals 7 from the transmit antennas 14 to the satellites 10 are different from the frequencies used to transmit the RF SDAR signals 7 from the satellites 10 to terrestrial repeater 8 and satellite receiver 24, and the frequencies used to transmit RF SDAR signals 7 from the satellites 10 are different from the frequencies used to transmit RF SDAR signals 7 from terrestrial repeater 8. In an alternate embodiment, the RF SDAR carrier frequencies used to transmit SDAR signals 7 from the transmit antennas 14 to the satellites 10 are the same frequencies used to transmit the RF SDAR signals 7 from the satellites 10 to terrestrial repeater 8 and satellite receiver 24, and the frequencies used to transmit RF SDAR signals 7 from the satellites 10 are the same as the frequencies used to transmit RF SDAR signals 7 from terrestrial repeater 8.
In the present embodiment, terrestrial repeater 8 employs forward error correction codes and a modulation scheme that are the same as those employed in satellites 10. In an alternate embodiment, forward error correction codes and modulation schemes employed by terrestrial repeater 8 are different than those employed by satellites 10. Although not specifically shown in FIG. 3, it should be appreciated that RF SDAR signals 7 include multiple data streams 40-43 generally illustrated in FIG. 4, that are transmitted at different frequencies. Each of the multiple data streams 40-43 of FIG. 4 that are transmitted at different frequencies are broken into frames for transmitting data.
As shown, the satellite transmitters 16 include processing circuitry 17 coupled to transmit circuitry 25. Processing circuitry 17 includes logic 19 coupled to memory 21, in which is stored a transmit algorithm 23. Processing circuitry 17 of transmitter 16 receives programming signals from an external source, executes the transmit algorithm 23 in logic 19 to format the programming signals for transmission, and provides the formatted signals to transmit circuitry 25 for transmission. Satellite transmitters 16 are configured to transmit the multiple data streams 40-43 of FIG. 4 with frame synchronization symbols 52, 62, 72, and 82 that occur in a non-overlapping manner, as discussed below. The satellite transmitters 16 are also configured to insert satellite channel information into designated data slots in streams 40-43 of FIG. 4 in the form of erasure codes (also discussed below). In the present embodiment, the transmitters 16 are configured in this manner by programming the memory 21 located in the transmitters 16, such that logic 19 formats the data streams 40-43 to have non-overlapping frame synchronization symbols 52, 62, 72 and 82, and such that channel information is inserted into designated data slots in the form of erasure codes. In an alternate embodiment, transmitters 16 are configured to operate in this manner by configuring logic and/or discrete circuit elements in the transmitter 16.
Satellite receiver 24 includes receiver circuitry 35 coupled to receive processing circuitry 27. Receiver circuitry 35 receives signals transmitted from transmitters 16, and provides the signals to receive processing circuitry 27 for decoding. Receive processing circuitry 27 includes logic 29 and memory 31 in which receive algorithm 33 is located. Logic 29 executes algorithm 33 to decode the signals received from receive circuitry 35, and provide output to users of satellite receiver 24. Satellite receiver 24 is configured to monitor non-overlapping, designated channels in streams 40-43 that contain satellite channel information in the form of erasure codes, and to extract satellite channel information from the monitored, non-overlapping channels, as discussed below. In the present embodiment, the satellite receiver 24 is configured in this manner by programming the memory 31 located in the satellite receiver 24, such that logic 29 monitors designated non-overlapping channels in streams 40-43, extracts the channel information in the form of erasure codes, and decodes the erasure codes to provide channel information. In an alternate embodiment, satellite receiver 24 is configured to operate in this manner by configuring logic and/or discrete circuit elements in the satellite receiver 24.
FIG. 4 generally illustrates multiple data streams 40-43 provided according to the embodiment generally illustrated in FIG. 3. As shown, streams 40-43 each represent individual data streams provided by satellite transmitters. The streams are similar to those illustrated in FIGS. 1-2, with the exception that satellite transmitters of the present embodiment have been configured to create the data streams 40-43, as illustrated in FIG. 4, which are different from the streams generally illustrated in FIGS. 1-2. More specifically, the streams 40-43 generally illustrated in FIG. 4 include frame synchronization symbols 52, 62, 72 and 82 that are non-overlapping, while the frame synchronization symbols 32 of FIG. 2 are overlapping. Streams 40-43 also include satellite channel information in designated data slots of each stream in the form of erasure codes. These aspects of the present embodiment are discussed in greater detail below.
Referring to FIG. 4, each of data streams 40-43 is an RF satellite signal containing data, and having a frequency that is different than the other data streams generally illustrated in FIG. 4. In other words, the RF frequency of stream 40 is different from the RF frequencies of stream 41, stream 42, and stream 43; the RF frequency of stream 41 is different from the RF frequencies of stream 40, stream 42, and stream 43; the RF frequency of stream 42 is different from the RF frequencies of stream 40, stream 41, and stream 43; and the RF frequency of stream 43 is different from the RF frequencies of stream 40, stream 41, and stream 42. In the present embodiment, streams 40-43 are provided by multiple satellite transmitters. In an alternate embodiment, streams 40-43 are provided by the same satellite transmitter.
As shown in FIG. 4, each of streams 40-43 includes multiple data frames 50, 60, 70, and 80, respectively. FIG. 5 provides additional detail of a data frame 50 of stream 40. Each data frame 50 includes a frame synchronization symbol 52 to indicate the beginning of the data frame. Each data frame 50 also includes multiple slots 1-104 configured to contain data to be decoded by receivers in the system. Each slot 1-104 is preceded by a burst synchronization slot. In the present embodiment, each frame synchronization symbol has a length of 104 bits, each burst synchronization symbol has a length of 48 bits, and each of slots 1-104 has a length of 6244 bits. In an alternate embodiment, the frame synchronization symbols, burst synchronization symbols and slots have other bit lengths. FIG. 5 also indicates slot groups 53, 54, 55, and 56, which refer to slots 1 and 2, 26 and 27, 51 and 52, and 76 and 77, respectively.
Returning to FIG. 4, stream 40 is made up of multiple successive data frames 50 transmitted one after the other. As noted above, each data slot 50 begins with a frame synchronization symbol, and includes slots 1-104 for transmitting data to be decoded by a receiver. FIG. 4 also illustrates the positioning of slot groups 53, 54, 55, and 56 within each data slot 50. As shown by item 96 of FIG. 4, the time period of one data frame 50 is equal to the amount of time between the beginning of a frame synchronization symbol 52 of one frame, and the beginning of the frame synchronization symbol 52 of the next frame transmitted in stream 40. It should be appreciated that streams 41, 42 and 43 have characteristics similar to stream 40, with the exception that the frame synchronization symbols 52, 62, 72, and 82 associated with data slots 50, 60, 70, and 80, respectively, of streams 40, 41, 42 and 43 are offset from each other, such that the frame synchronization symbol 52 of stream 40 does not overlap with the frame synchronization symbols 62, 72, and 82 of the other data streams 41, 42 and 43.
As can be seen in FIGS. 4 and 5, data slots 1-104 of each data frame are positioned within each frame relative to the frame synchronization symbols 52, 62, 72, and 82 that precedes each data frame 50, 60, 70, and 80 of streams 40, 41, 42 and 43. It should be appreciated that because frame synchronization symbols 52, 62, 72, and 82 are offset in time from each other in streams 40, 41, 42 and 43, the data slots within each data frame 50, 60, 70, and 80 will also be offset from each other. This can be seen by referring specifically to slot groups 53, 63, 73, and 83 of data slots 50, 60, 70, and 80 of streams 40, 41, 42 and 43, respectively. As shown in FIG. 5, slot group 53 encompasses slots 1 and 2 of data frame 50 of stream 40, slot group 63 includes slots 1 and 2 of data frame 60 of stream 41, slot group 73 includes slots 1 and 2 of data frame 70 of stream 42, and slot group 83 includes slots 1 and 2 of data frame 80 of stream 43.
Returning to FIG. 4, frame synchronization symbol 62 of stream 41 is shown offset from frame synchronization symbol 52 of stream 40 by a time illustrated as item 90, frame synchronization symbol 72 of stream 42 is offset from frame synchronization symbol 52 of stream 40 by a time illustrated by item 92, and frame synchronization symbol 82 of stream 43 is offset from frame synchronization 52 of slot 5 by a time equal to that illustrated by item 94. Because frame synchronization symbols 52, 62, 72, and 82 are offset in time, as illustrated in FIG. 4, it should be appreciated that slot groups 53, 63, 73, and 83, including slots 1 and 2 of data frames 50, 60, 70, and 80, are also offset in time from each other by the same amount of time by which the frame synchronization symbols 52, 62, 72, and 82 are offset from each other. As shown in FIG. 4, slot groups 53-56, 63-66, 73-76, and 83-86 all occur at different times due to the fact that the frame synchronization symbols, with reference to which they are located in each of data frames 50, 60, 70, and 80, are offset from each other in time.
In the present embodiment of the invention, slots 1 and 2 of each of data frames 50, 60, 70, and 80, referred to for convenience as slot groups 53, 63, 73, and 83, are configured by the transmitter in the system to include satellite channel information for data streams 40-43 of the system. Receivers in the system are configured to know that slots 1 and 2 of each of streams 40-43 contain satellite channel information. Receivers in the system are also configured to know the amount of time between frame synchronization symbols of the various streams, and therefore, the location of slots 1 and 2 in each of streams 40-43. Receivers in the system are configured to gather satellite channel information from slot groups 53, 63, 73, and 83 by changing frequencies during periods in which the receivers are not monitoring a given slot for other programming information. This allows the receivers to gather satellite channel information from slot groups 53, 63, 73, and 83 without negatively impacting the reception of desired programming information. Due to the offset nature of the frame synchronization symbols 52, 62, 72, and 82 of streams 40-43 and the offset of the slots 1-104 in each of streams 40-43, receivers in the system are configured to receive satellite channel information at least three times during each frame period 96.
For example, if a user of a receiver is monitoring program information that is being transmitted in slot group 54 of stream 40 (i.e., slots 26 and 27 of data frame 50 of stream 40), and wishes to obtain satellite channel information about programs being broadcast on other slots of stream 40, or other slots of streams 41, 42 and 43, the receiver is configured to switch, when it is not monitoring slot group 54, to other streams to receive and decode satellite channel information transmitted in slots 1 and 2 of those streams (i.e. slot groups 63, 73 and 83), as well as slot group 53 of stream 40. More specifically, after the receiver has received the data in slot group 54 in a given data frame 50, the receiver may switch to other frequencies (i.e., streams) to monitor various channels without impacting the programming being received in slot group 54. In the present example, the receiver, after receiving slot group 54 in a given data frame 50, switches to stream 42 to receive satellite channel information provided in slot group 73 of stream 42, switches to stream 43 to receive satellite channel information in slot group 83 being broadcast in stream 43, and switches back to stream 40 to receive satellite channel information being broadcast in slot group 53 of stream 40. The receiver then utilizes the information gathered from the slot groups 73, 83 and 53 containing the satellite channel information to decode the programming guide and provide satellite programming information to the user. It should be appreciated that the receiver is configured to switch to other frequencies and gather the satellite channel information, after which time it can switch back to the frequency and channel that it had previously been monitoring in time to receive the next data packet provided in that slot group (in this case, slot group 54). It should also be noted that the information in slot 63 of stream 41 has been lost due to the fact that the receiver is receiving slot 54 of stream 40 during that time.
The satellite channel information provided by the satellite transmitter in the slot groups 53, 63, 73, and 83 is provided using an erasure code. More specifically, in the present embodiment, the information is provided in the form of a digital fountain code that is programmed into each of the slot groups 53, 63, 73, and 83. The nature of erasure codes, and more specifically, digital fountain codes, is that a receiver can reconstruct a message sent using erasure codes in multiple packets, regardless of the order in which the multiple packets are received. Based on this, the receiver of the present embodiment can be configured to reconstruct the transmitted satellite channel information through streams 40, 41, 42 and 43 sent in slot groups 53, 63, 73, and 83, provided that it receives a sufficient number of packets, regardless of the order in which these packets were received. In the present embodiment, the transmitter is configured to divide the satellite programming information into erasure codes, and program those erasure codes into slot groups 53, 63, 73, and 83, such that a receiver receiving three or more slot groups, regardless of order, can reconstruct the transmitted satellite channel information. Therefore, in the previous example, even though slot 63 was lost, information received in slot groups 53, 73, and 83 is sufficient to reconstruct the transmitted satellite channel information.
As discussed above, by offsetting the frame synchronization symbols, and therefore the frames, of the separate streams 40-43, as generally illustrated in FIG. 4, satellite channel information may be time-sliced across multiple data slots in each of streams 40-43, such that a receiver can receive complete satellite channel information by receiving information in three slot groups, while continuing to monitor programming in a fourth slot group. By encoding the satellite channel information in the streams 40-43 in the form of erasure codes, receivers are able to decode the received erasure codes, and extract satellite channel information, regardless of the order in which the data in the designated channels is received. Although the present embodiment generally illustrates four independent streams 40-43, which are RF satellite signals each having a separate frequency, it should be appreciated that in an alternate embodiment, a greater or fewer number of streams may be employed. It should also be appreciated that in an alternate embodiment, each data frame could have more or fewer data slots than 104. In still another alternative embodiment, the transmitter and receiver could be configured to utilize erasure codes, such that greater or fewer number of slot groups are required to reconstruct satellite channel information to be provided to users.
Referring to FIG. 6, a method 100 for sending and receiving satellite digital programming information is generally illustrated. In a first step 102 of the method 100, satellite signals are provided at multiple frequencies. In a second step 104 of the method 100, multiple data frames are provided in each of the satellite signals. In a third step 106 of the method 100, non-overlapping frame synchronization symbols are provided in each of the data frames. In a fourth step 108 of the method 100, non-overlapping data slots are provided and positioned in the data frames relative to the frame synchronization symbols. In a fifth step 110 of the method 100, satellite programming information is provided in at least one designated non-overlapping data slot of the satellite signals. In a sixth step 112 of the method 100, satellite signals having satellite program information included as erasure codes in at least one designated non-overlapping data slot are transmitted to at least one satellite receiver. In a seventh step 114 of the method 100, satellite signals having satellite program information included as erasure codes in at least one designated non-overlapping data slot of the satellite signals are received by a receiver. In an eighth step 116 of the method 100, the satellite programming information received in the at least one designated non-overlapping data slot is decoded to extract program information, and provide that information to users.
The above description is considered that of the preferred embodiments only. Modifications of the invention will occur to those skilled in the art, and to those who make or use the invention. Therefore, it is understood that the embodiments shown in the drawings and described above are merely for illustrative purposes, and not intended to limit the scope of the invention, which is defined by the following claims, as interpreted according to the principles of patent law, including the doctrine of equivalents.