System and method for multi-carrier multiplexing

A system for a multiplexing scheme for wideband signals in a communications system is provided. A codeblock of a multiplexed datastream is decoded. The codeblock includes a flag indicating whether the codeblock contains a timeplan, signifying a multiplexing structure of the datastream. A determination is made whether the flag indicates the presence of the timeplan, and, if so, the timeplan is acquired. In response to a determination that the codeblock does not contain the timeplan, a subsequent codeblock is determined, and decoded. Each codeblock includes an indicator of a sequence position of the codeblock within a group of codeblocks of the datastream. The subsequent codeblock is determined based on one or more of a decode rate of the processor device and the sequence position indicator. A determination is made whether the flag of the subsequent codeblock indicates the presence of the timeplan, and, if so, the timeplan is acquired.

BACKGROUND

Transportation of higher throughput advanced services via a satellite transponder has been an engineering design constraint for decades. The transmission system and receiver system are the main two areas of a satellite broadcast system. High capacity data services over satellite are among the primary technology challenges facing the industry and satellite system operators today. Digital video broadcast—satellite second generation (DVB-S2) is an enhanced specification for satellite digital television broadcast developed in 2003 and ratified in March 2005. The DVB-S2 standard is as follows: Digital Video Broadcasting (DVB), Second Generation Framing Structure, Channel Coding and Modulation Systems for Broadcasting, Interactive Services, News Gathering and other Broadband Satellite Applications, DVB-S2 Standard ETSI EN 302 307 v1.2.1 (2009-08), the entirety of which is incorporated herein by reference (hereinafter referred to as the “DVB-S2 Standard”). Using the traditional mechanism over the standard DVB-S2, while supporting high bandwidth and interactive services, however, requires significantly higher performance satellite transponders to support data rates.

FIG. 1illustrates an example conventional transmitter. As illustrated in the figure, a transmitter100includes a code rate organizer (CRO)102, a modulator104, a match filter106and a digital-to-analog converter (DAC)108. CRO102may be arranged to receive an outroute stream signal110and output a signal112. Modulator104may be arranged to receive signal112and output a modulated signal114. Match filter106may be arranged to receive modulated signal114and output a transmit signal116. DAC108may be arranged to receive transmit signal116and output an analog signal118. CRO102may determine the modulation and coding to be performed for outroute stream signal110in order to generate output signal112. CRO102may perform coding for information to be communicated to remote receivers (not shown) as addressed by outroute stream signal110. Modulator104may encode received signal112and output modulated signal114. Modulator104may code a digital data input payload for ensuring a receive terminal can decode and perform error correction for errors occurring in a received payload. Match filter106may perform filtering in order to maximize the signal-to-noise ratio of a signal in the presence of an additive noise. DAC108may convert digital modulated transmit signal116to analog signal118. In operation, CRO102may receive and perform coding for received signal outroute stream signal110. Modulator104may receive signal112and perform forward error correction and modulation. Match filter106may receive signal which has been coded, forward error corrected and modulated and perform filtering on the received signal in order to maximize the signal-to-noise ratio of the signal in the presence of additive noise. Finally, DAC108may convert the coded, forward error corrected, modulated and filtered signal into an analog continuous waveforms for transmission.

In a conventional satellite system, data streams may be coded, modulated and broadcast to a multiplicity of mobile terminals. A typical conventional transmitter can receive a signal with up to 45 million symbols per second (Msps). However, in order to meet the demand for today's high definition and advanced services, terminals may be required to support significantly more than the 45 Msps. To achieve high data rates, for example up to 220 Msps, needed by the satellite communications industry using conventional techniques would require expensive equipment with significantly high power consumption.

What is needed is a system and method to address the challenges of transmitting and receiving high quality video, advanced services, and other data services via satellite, at enhanced data rates, in a cost effective and efficient manner, for example, adhering to power consumption constraints, improving efficiency (e.g., with respect to signal synchronization and a data acquisition processes), facilitating dynamic and flexible bandwidth allocation planning, utilizing relatively low complexity and reduced cost terminal equipment, and remaining compliant with the DVB-S2 Standard.

Some Exemplary Embodiments

The present invention advantageously addresses the needs above, as well as other needs, by providing a dynamic and flexible multiplexing scheme to allow terminals of a communications system to operate on wideband signals without requiring the decoder to operate at full speed, and under multiclass terminal operation.

According to an exemplary embodiment, a method comprises decoding, by a processing device, a one codeblock of a plurality of codeblocks within a multiplexed datastream, wherein each codeblock includes a flag that indicates whether the codeblock contains a timeplan, and the timeplan signifies a multiplexing structure of the datastream; and determining whether the flag of the one codeblock indicates that the one codeblock contains the timeplan. Wherein, if it is determined that the one codeblock contains the timeplan, the method further comprises acquiring the timeplan. According to a further exemplary embodiment, the method comprises, in response to a determination that the one codeblock does not contain the timeplan, determining a first subsequent codeblock of the of the plurality of codeblocks; decoding, by the processing device, the first subsequent codeblock; and determining whether the flag of the first subsequent codeblock indicates that the first subsequent codeblock contains the timeplan. Wherein, if it is determined that the first subsequent codeblock contains the timeplan, the method further comprises acquiring the timeplan. In accordance with such methods, each codeblock may further include a sequence number indicator that indicates a sequence position of the one codeblock within a first group of the plurality of codeblocks, and the determination of the first subsequent codeblock can be based on one or more of a decode rate of the processing device and the sequence number indicator. Further, the first group may comprise a number of codeblocks based on a number of bits of the sequence number indicator, and the determination of the first subsequent codeblock comprises skipping, based on the sequence number indicator, to a first codeblock of a second group of codeblocks, wherein the second group comprises a number of codeblocks equal to the number of codeblocks of the first group. Wherein, in response to a determination that the first subsequent codeblock does not contain the timeplan, the method may further comprise determining a second subsequent codeblock of the of the plurality of codeblocks, wherein the determination of the second subsequent codeblock comprises skipping, based on the number of codeblocks of the second group, to a first codeblock of a third group of codeblocks; decoding, by the processing device, the second subsequent codeblock; and determining whether the flag of the second subsequent codeblock indicates that the second subsequent codeblock contains the timeplan. Wherein, if it is determined that the second subsequent codeblock contains the timeplan, the method further comprises acquiring the timeplan.

According to another exemplary embodiment, an apparatus comprises: a receiver module configured to receive a multiplexed datastream comprising a plurality of codeblocks; and a processor device configured to, decode a one codeblock of the plurality of codeblocks, wherein each codeblock includes a flag that indicates whether the codeblock contains a timeplan, and the timeplan signifies a multiplexing structure of the datastream, determine whether the flag of the one codeblock indicates that the one codeblock contains the timeplan, and acquire the timeplan from the one codeblock if it is determined that the one codeblock contains the timeplan. Wherein, in response to a determination that the one codeblock does not contain the timeplan, the processor device is further configured to: determine a first subsequent codeblock of the of the plurality of codeblocks; decode the first subsequent codeblock; determine whether the flag of the first subsequent codeblock indicates that the first subsequent codeblock contains the timeplan; and acquire the timeplan from the first subsequent codeblock if it is determined that the first subsequent codeblock contains the timeplan. In accordance with such an apparatus, each codeblock may include a sequence number indicator that indicates a sequence position of the one codeblock within a first group of the plurality of codeblocks, and the processor device determines the first subsequent codeblock based on one or more of a decode rate of the processor device and the sequence number indicator. Further, the first group may comprise a number of codeblocks based on a number of bits of the sequence number indicator, and the processor device determines the first subsequent codeblock by skipping, based on the sequence number indicator, to a first codeblock of a second group of codeblocks, wherein the second group comprises a number of codeblocks equal to the number of codeblocks of the first group. Wherein, in response to a determination that the first subsequent codeblock does not contain the timeplan, the processor device is further configured to: determine a second subsequent codeblock of the of the plurality of codeblocks, wherein the processor device determines the second subsequent codeblock by skipping, based on the number of codeblocks of the second group, to a first codeblock of a third group of codeblocks; decode the second subsequent codeblock; determine whether the flag of the second subsequent codeblock indicates that the second subsequent codeblock contains the timeplan; and acquire the timeplan from the second subsequent codeblock if it is determined that the second subsequent codeblock contains the timeplan.

According to another exemplary embodiment, a communications system, comprises: a first communications terminal comprising a transmitter module configured to, multiplex codeblocks of a plurality of outroute data streams into a multiplexed datastream comprising a sequence of the codeblocks multiplexed in accordance with a multiplexing structure, insert a timeplan codeblock into the multiplexed datastream, wherein the timeplan codeblock includes a timeplan that signifies the multiplexing structure, and transmit the multiplexed datastream over the communications system. The apparatus further comprises a second communications terminal, comprising: a receiver module configured to receive the multiplexed datastream; and a processor device configured to, decode a one codeblock of the multiplexed datastream, wherein each codeblock includes a flag that indicates whether the codeblock contains the timeplan, determine whether the flag of the one codeblock indicates that the one codeblock contains the timeplan, and acquire the timeplan from the one codeblock if it is determined that the one codeblock contains the timeplan. Wherein, in response to a determination that the one codeblock does not contain the timeplan, the processor device is further configured to: determine a first subsequent codeblock of the of the multiplexed datastream; decode the first subsequent codeblock; determine whether the flag of the first subsequent codeblock indicates that the first subsequent codeblock contains the timeplan; and acquire the timeplan from the first subsequent codeblock if it is determined that the first subsequent codeblock contains the timeplan. In accordance with such a system, each codeblock may further include a sequence number indicator that indicates a sequence position of the one codeblock within a first group of the codeblocks of the multiplexed datastream, and the processor device determines the first subsequent codeblock based on one or more of a decode rate of the processor device and the sequence number indicator. Further, the first group comprises a number of codeblocks based on a number of bits of the sequence number indicator, and the processor device determines the first subsequent codeblock by skipping, based on the sequence number indicator, to a first codeblock of a second group of codeblocks, wherein the second group comprises a number of codeblocks equal to the number of codeblocks of the first group. Wherein, in response to a determination that the first subsequent codeblock does not contain the timeplan, the processor device is further configured to: determine a second subsequent codeblock of the of the plurality of codeblocks, wherein the processor device determines the second subsequent codeblock by skipping, based on the number of codeblocks of the second group, to a first codeblock of a third group of codeblocks; decode the second subsequent codeblock; determine whether the flag of the second subsequent codeblock indicates that the second subsequent codeblock contains the timeplan; and acquire the timeplan from the second subsequent codeblock if it is determined that the second subsequent codeblock contains the timeplan.

According to further exemplary embodiments, each codeblock may further include a class indicator indicating a communication device class that is designated to decode the codeblock, and/or a sequence number specifying a sequence position of the codeblock within a superframe of the multiplexed datastream. Further, each codeblock may be associated with a sequence number signifying a sequence position of the codeblock within a superframe of the multiplexed datastream, and the flag further indicates whether the sequence number of the one codeblock signifies that the one codeblock is of a first position within the superframe, and wherein the method further comprises resetting a counter for tracking the sequence number of each of the codeblocks in response to a determination that the one codeblock contains the timeplan. Further, the codeblocks may be organized within one or more superframes within the datastream, where each codeblock is of a sequence number indicating a position of the codeblock within a respective superframe, and the timeplan signifies the sequence number of each codeblock and a respective class indicator indicating a communication device class that is designated to decode the respective codeblock.

According to further exemplary embodiments, the outroute data streams of the communications system may comprise one or more of at least one point-to-point traffic stream, at least one multicast traffic stream and at least one broadcast traffic stream, and wherein the second communications terminal is configured to decode and process one or more of the traffic streams. Further, sizes of the traffic streams may be dynamically varied based on offered loads, priorities and other policies, up to a modulated carrier symbol rate, wherein the timeplan signifies configurations of the traffic stream sizes. Moreover, the timeplan signifies one or more of at least one broadcast traffic stream and at least one or multicast traffic stream based on one or more of communities of interest, subscriptions and data plan allocations associated with the second communications terminal, whereby the second communications terminal processes only the traffic streams for which the terminal is designated.

DETAILED DESCRIPTION

In accordance with an aspect of the present invention, a dynamic and flexible multiplexing scheme to allow terminals of a communications system to operate on wideband signals without requiring the decoder to operate at full speed, and under multiclass terminal operation, is provided. A plurality of outroute data streams may be multiplexed at the transmitter side, thereby achieving multiple times greater data capacity than existing transmitters. Similarly, a received multiplexed data stream may be demultiplexed at the receiver side in order to achieve greater data capacity.

FIGS. 2A and 2Billustrate communications systems capable of employing a dynamic and flexible multiplexing scheme according to various exemplary embodiments of the present invention. With reference toFIG. 2A, a digital communications system260includes one or more transmitters262(of which one is shown) that generate signal waveforms across a communication channel264to one or more receivers266(of which one is shown). In this discrete communications system260, the transmitter262has a signal source that produces a discrete set of data signals, where each of the data signals has a corresponding signal waveform. These signal waveforms are attenuated, or otherwise altered, by communications channel264. To combat noise and other issues associated with the channel264, coding may be utilized. For example, forward error correction (FEC) codes can be employed.

FIG. 2Billustrates an exemplary satellite communications system280capable of supporting communication among terminals with varied capabilities, according to an embodiment of the present invention. Satellite communications system280includes a satellite262that supports communication among multiple satellite terminals (STs)284,286and a hub288. The HUB288may assume the role of a Network Operations Center (NOC), which controls the access of the STs284,286to the system280and also provides element management functions and control of the address resolution and resource management functionality. The Satellite communications system280may operate as a traditional bent-pipe system, where the satellite essentially operates as a repeater. Alternatively, the system280may employ a switching or processing satellite supporting mesh communications (point-to-point communications directly between, for example, the two STs284,286).

In a traditional bent-pipe system of an exemplary embodiment, the satellite262operates as a repeater or bent pipe, and communications between the STs284,286are transmitted over a double-hop path. For example, in a communication from ST284to ST286, over the first hop, the communication is transmitted, via the satellite, from the ST284to the HUB288. The HUB288decodes the communication and determines the destination ST286. The HUB288then appropriately addresses and repackages the communication, encodes and modulates it, and transmits the communication over the second hop, via the satellite, to the destination ST286. Accordingly, the satellite of such a system acts as a bent pipe or repeater, transmitting communications between the HUB288and the STs284,286.

In an alternate embodiment, with a communications system280that employs a processing satellite (e.g., including a packet switch operating, for example, at a data link layer), the system may support direct unicast (point-to-point) communications and multicast communications among the STs284,286. In the case of a processing satellite, the satellite262decodes the received signal and determines the destination ST or STs (as the hub288would in a bent-pipe system). The satellite262then addresses the data accordingly, encodes and modulates it, and transmits the modulated signal, over the channel113, to the destination ST or STs (e.g., ST286) The STs284,286provide connectivity to one or more hosts292,294, respectively. According to one embodiment of the present invention, the system280has a fully meshed architecture, whereby the STs284,286may directly communicate.

In an example embodiment, a transmitter has a four outroute streams, multiplexed into one 220 Msps outroute stream. The outroute streams may be multiplexed with either a Time Division Multiplexing (TDM) scheme or a Code Division Multiplexing (CDM) scheme, that can be sent over the satellite system. Before being multiplexed, each outroute stream may be coded with a relatively low rates, for example 55 Msps.

FIG. 2Cillustrates an example transmitter, in accordance with an aspect of the present invention. A transmitter200includes a CRO202, a CRO204, a CRO206, a CRO208, a modulator210, a modulator212, a modulator214, a modulator216, a multiplexer218, a match filter220and a DAC222. CRO202may be arranged to receive an outroute stream signal224and output a signal232. Modulator210may be arranged to output a modulated signal240based on signal232. In some embodiments, modulator210is arranged to receive signal232directly from CRO202. Similarly, CRO204may be arranged to receive an outroute stream signal226and output a signal234. Modulator212may be arranged to output a modulated signal242based on signal234. In some embodiments, modulator212is arranged to receive signal234directly from CRO204. CRO206may be arranged to receive an outroute stream signal228and output a signal236. Modulator214may be arranged to output a modulated signal244based on signal236. In some embodiments, modulator214is arranged to receive signal236directly from CRO206. CRO208may be arranged to receive an outroute stream signal230and output a signal238. Modulator216may be arranged to output a modulated signal246based on signal238. In some embodiments, modulator216is arranged to receive signal238directly from CRO208. Multiplexer218may be arranged to output a multiplexed signal248based on modulated signals240,242,244and246. In some embodiments, multiplexer218is arranged to receive modulated signals240,242,244and246directly from modulator210, modulator212, modulator214and modulator216, respectively. Match filter220may be arranged to output a filtered signal250based on multiplexed signal248. Non-limiting examples of modulation types supported by filtered signal250include TDM and CDM. In some embodiments, match filter220is arranged to receive multiplexed signal248directly from multiplexer218. A match filter, on the transmitter side, is used to limit the bandwidth and reduce adjacent channel interference. On a corresponding receiver side (not shown), a match filter is used as an optimal linear filter for maximizing the signal to noise ratio in the presence of noise. DAC222may be arranged to output an analog signal252based on filtered signal250. In some embodiments, DAC222is arranged to receive filtered signal250directly from match filter220.

CRO202, CRO204, CRO206and CRO208may perform modulation and coding of outroute stream signals224,226,228and230, respectively, and output coded signals232,234,236and238, respectively, in a manner similar to CRO102ofFIG. 1. Modulators210,212,214and216, receive and encode and bit-to-symbol map coded signals232,234,236and238, respectively, and output modulated signals240,242,244and246, respectively, in a manner similar to modulator104ofFIG. 1. Multiplexer218multiplexes modulated signals240,242,244and246into one outroute stream as denoted by multiplexed signal248. By multiplexing modulated signals240,242,244and246into one outroute stream, transmitter200is able to utilize a single device or resource, in this case DAC222, to transmit a plurality of signals. Match filter220may filter multiplexed signal248in order to maximize the signal-to-noise ratio of the transmitted signal, in a similar manner as discussed above with reference to match filter106ofFIG. 1. DAC222may convert transmit filtered signal250to analog signal252. Each pair of CRO202and modulator210, CRO204and modulator212, CRO206and modulator214, and CRO208and modulator216may operate in a similar manner as the pair of CRO102and modulator104as discussed above with reference toFIG. 1. For purposes of discussion, presume that each pair of CRO202and modulator210, CRO204and modulator212, CRO206and modulator214, and CRO208and modulator216may operate at a rate of 55 Msps, similar to the conventional transmitter discussed above with reference toFIG. 1.

In contrast with the conventional system discussed above with reference toFIG. 1, in accordance with an aspect of the present invention, multiplexer218may operate at a much higher rate. For purposes of explanation, presume that in this example embodiment, multiplexer218, match filter220and DAC222may operate at a rate of 220 Msps. The 220 Msps performance of multiplexed signal248represents the aggregation of four 55 Msps as denoted by modulated signal240,242,244and246. Multiplexed signal248may then be processed via match filter220to generate transmit filtered signal250. Match filter220may operate in a similar manner as match filter106as discussed with reference toFIG. 1, however at a significantly increased rate of operation. DAC222may convert transmit filtered signal250into analog which may then transmitted as analog signal252. DAC222may operate in a similar manner as DAC108as discussed above with reference toFIG. 1, however at a significantly higher rate of operation.

In accordance with a multiplexed arrangement of the present invention, a plurality of outroute streams may be modulated, each at a conventional rate. Then the plurality of modulated outroute streams may be multiplexed together, filtered and converted into analog signals at a much higher rate. Accordingly, the overall data throughput provided by a transmitter in accordance with the present invention is much greater than that of a conventional transmitter as a result of aggregating multiple conventional information streams into an aggregate information stream performing at a significantly higher rate of operation.

FIG. 3illustrates an example TDM stream300output from the multiplexer218, in accordance with an aspect of the present invention, where the outroute streams224,226,228and230are multiplexed on a symbol level. As illustrated in the figure, the codeblock stream300includes a sub-stream304, a plurality of additional portions illustrated with a series of dots, and a sub-stream306. Sub-stream304includes a symbol308, a symbol310, a symbol312and a symbol314. Sub-stream306includes a symbol316, a symbol318, a symbol320and a symbol322. In this example, presume that symbol308corresponds to a first symbol, and symbol316corresponds to a last symbol, of a codeblock of outroute sub-stream signal224ofFIG. 2C, and have been modulated with a QPSK modulation scheme. In this example, presume that symbol310corresponds to a first symbol, and symbol318corresponds to a last symbol, of a codeblock of outroute sub-stream signal226, and have been modulated with a 16APSK modulation scheme. In this example, presume that symbol312corresponds to a first symbol, and symbol320corresponds to a last symbol, of a codeblock of outroute sub-stream signal228, and have been modulated with an8PSK modulation scheme. In this example, presume that symbol314corresponds to a first symbol, and symbol322corresponds to a last symbol, of a codeblock of outroute sub-stream signal230, and have been modulated with a QPSK modulation scheme.

In operation, multiplexer218first receives a symbol of modulated signal240as symbol308, a symbol of modulated signal242as symbol310, a symbol of modulated signal244as symbol312, and a symbol of modulated signal246as symbol314. Where symbols308,310,312and314represent the first symbols of a codeblock of modulated signals240,242,244and246, respectively. Multiplexer218continues to receive modulated signals240,242,244and246until codeblock300is completely transmitted, ending with the receipt of symbols316,318,320and322, corresponding to the last symbols of the codeblock of modulated signals240,242,244and246, respectively. In other words, as illustrated inFIG. 3, codeblock300reflects a multiplexed stream, on a symbol level, of respective codeblocks of the outroute signals224,226,228and230.

FIG. 4illustrates an example TDM stream400output from the multiplexer218, in accordance with an aspect of the present invention, where the outroute streams224,226,228and230are multiplexed on a codeblock level. As illustrated inFIG. 4, TDM codeblock data stream400includes an outroute codeblock402, an outroute codeblock404, an outroute codeblock406, an outroute codeblock408and an outroute codeblock410, where each of the outroute codeblocks402,404,406,408and410reflects a whole codeblock of the outroutes224,226,228,230and224, respectively (e.g., an entire DVB-S2 codeblock or frame, including the respective headers). Outroute codeblocks402and410are denoted as having been modulated via QPSK. Outroute codeblock404is denoted as having been modulated via 16APSK. Outroute codeblock406is denoted as having been modulated via 8APSK. Outroute codeblock408is denoted as having been modulated via QPSK. It should be noted that an output stream may have a plurality of codeblocks that have been modulated with different types of modulation schemes. For example, although in this example, outroute codeblocks402and410are each in outroute stream1and are denoted as having been modulated via QPSK, in other examples, outroute stream1may have outroute codeblocks that have been modulated via other modulation schemes. Accordingly, as illustrated inFIG. 4, TDM stream400reflects a multiplexed stream, on a codeblock level, of respective codeblocks of the outroute signals224,226,228and230, and then beginning again with a next codeblock of outroute stream224.

In order to reduce complexity, cost and power consumption, a receiver may perform selective reception. For purposes of discussion, presume that four receivers are arranged to receive a signal transmitted from transmitter200. For example, a first receiver may receive and reassemble the QPSK codeblock of outroute stream signal224ofFIG. 2C, which correspond to a sampling denoted by example outroute codeblocks402and410ofFIG. 4. The first receiver may ignore the other codeblocks that do not correspond to outroute stream signal224, for example a sampling denoted by example outroute codeblocks404,406and408. Similarly, a second receiver may receive and reassemble the 16APSK codeblock of outroute stream signal226ofFIG. 2C, which correspond to a sampling denoted by example outroute codeblock404ofFIG. 4. The second receiver may ignore the other codeblocks that do not correspond to outroute stream signal226, for example a sampling denoted by example outroute codeblocks402,406,408and410. Further, a third receiver may receive and reassemble the8PSK codeblock of outroute stream signal228ofFIG. 2C, which correspond to a sampling denoted by example outroute codeblock406ofFIG. 4. The third receiver may ignore the other codeblocks that do not correspond to outroute stream signal228, for example a sampling denoted by example outroute codeblocks402,404,408and410. Finally, a fourth receiver may receive and reassemble the QPSK codeblock of outroute stream signal230ofFIG. 2C, which correspond to a sampling denoted by example outroute codeblock408ofFIG. 4. The fourth receiver may ignore the other codeblocks that do not correspond to outroute stream signal230, for example a sampling denoted by example outroute codeblocks402,404,406and410.

Again, in accordance with an aspect of the present invention, a single transmitter is operable to transmit a single data stream that includes a plurality of outroute codeblocks that have been multiplexed together. A single receiver will be able to receive the entire single data stream. For efficient processing, the receiver will only process a portion of the entire received single data stream. This aspect of the present invention will now be described with reference toFIG. 5.

FIG. 5illustrates an example receiver, in accordance with an aspect of the present invention. A receiver500includes an analog-to-digital converter (ADC)502, a match filter equalizer504, a de-multiplexer506, a demodulator508, a low density parity check (LDPC) decoder510and a post processor528. ADC502may be arranged to receive an analog signal512from transmitter200and to output a digital signal514. Match filter equalizer504may be arranged to output a digital signal516based on digital signal514. In some embodiments, match filter equalizer504is arranged to receive digital signal514directly from ADC502. De-multiplexer506may be arranged to output a de-multiplexed signal stream518based on digital signal516and a data signal526. In some embodiments, de-multiplexer506is arranged to receive digital signal516directly from match filter equalizer504. In some embodiments, de-multiplexer506is arranged to receive data signal526directly from post processor528. Demodulator508may be arranged to output a demodulated signal520based on de-multiplexed signal stream518. In some embodiments, demodulator508is arranged to receive de-multiplexed signal stream518directly from de-multiplexer506. LDPC decoder510may be arranged to output a decoded signal524based on demodulated signal520. In some embodiments, LDPC decoder510is arranged to receive demodulated signal520directly from demodulator508. Post processor528may be arranged to output a data signal522and data signal526, each based on decoded signal524. In an example embodiment, post processor528is arranged to receive decoded signal524directly from LDPC decoder510.

ADC502converts received analog signals transmitted from an analog format to a digital format. Match filter equalizer504performs matched filtering of digital signal514in order to maximize the signal-to-noise ratio of the received signal. Furthermore, match filter equalizer504may perform recovery of bit timing. De-multiplexer506may select the portions of the received signal for processing. Demodulator508performs demodulation of the symbols selected by de-multiplexer506to form a reassembled codeblock. LDPC decoder510may decode of the received signal. Post processor528may provide timeplan information to de-multiplexer506such that de-multiplexer506may select the correct codeblocks for delivery to demodulator508. The timeplan information will be described in greater detail below.

In operation, receiver500receives analog signal512. After ADC502converts analog signal512to digital signal514, match filter equalizer504filters digital signal514to maximize the signal-to-noise ratio and thus improve signal quality. Match filter equalizer504may also operate to perform bit timing recovery in order to determine the starting and ending times for received symbols. De-multiplexer506then selects the portions of digital signal516for processing. For example, as described with reference toFIG. 3andFIG. 4, de-multiplexer506may select to pass symbol308and symbol316via digital signal516and reject other symbols. Demodulator508performs demodulation of the symbols selected by de-multiplexer506to form a reassembled codeblock. For example, as described with reference toFIG. 3andFIG. 4, a multiplicity of symbols with a sampling denoted as symbol308and symbol316may be reassembled to form the codeblock denoted as outroute codeblock402. De-multiplexed signal stream may then be processed into original streams delivered to LDPC decoder510for decoding. LDPC codes may be defined as Low Density Parity Codes and having an easily parallelizable decoding algorithm, performing simple arithmetic operations suitable for iterative decoding. Post processor528may receive the digitized, filtered, de-multiplexed, demodulated, reassembled and decoded signal for error detection and timeplan management.

As will be described in more detail below, analog signal512will include a timeplan indicating which codeblocks receiver500should decode. Post processor528will use this information to instruct de-multiplexer506as to which portions of digital signal516to pass for processing. In order to reduce complexity, cost and power consumption, receiver500may perform selective reception. For purposes of discussion, presume that receiver500is intended to receive and reassemble the 16APSK symbols of outroute stream signal226ofFIG. 2C, which correspond to a sampling denoted by example outroute codeblock404ofFIG. 4. Receiver500may ignore the other symbols that do not correspond to outroute stream signal226, for example a sampling denoted by example outroute codeblocks402,406,408and410.

In accordance with a multiplexed arrangement of the present invention, a single received stream that includes a plurality of outroute streams may be demultiplexed at a very high rate. Then the single batch of codeblocks selected by the multiplexer may be demodulated, decoded and processed at a much lower rate. Accordingly, the overall data processed by a receiver in accordance with the present invention may be similar to that of a conventional transmitter even though the received signal is received at a significantly higher rate. In other words, in accordance with an aspect of the present invention, a single transmitter is operable to transmit a single data stream that includes a plurality of outroute codeblocks that have been multiplexed together. Receiver500will be able to receive the entire single data stream. For efficient processing, receiver500will only process a portion of the entire received single data stream.

In the example embodiment discussed above with reference toFIG. 5, a received signal is de-multiplexed and is then demodulated. However, in other embodiments, a received signal may first be demodulated and then de-multiplexed. This will now be described in greater detail below with reference toFIG. 6.

FIG. 6illustrates an example receiver with carrier recovery performed prior to the de-multiplexer in accordance with an aspect of the present invention. As illustrated in the figures, a receiver600includes an ADC614, a match filter equalizer616, a demodulator618, a de-multiplexer620, a LDPC decoder622and a post processor624. ADC614may be arranged to receive an analog signal602from satellite transmitter200and to output a digital signal604. Match filter equalizer616is arranged output a recovered signal606based on digital signal604. In some embodiments, match filter equalizer616is arranged to receive digital signal604directly from ADC614. Demodulator618is arranged to output a demodulated signal608based on recovered signal606. In some embodiments, demodulator618is arranged to receive recovered signal606directly from match filter equalizer616. De-multiplexer620may be arranged to output a de-multiplexed signal stream610based on demodulated signal608and a feedback signal628. In some embodiments, de-multiplexer620is arranged to receive demodulated signal608directly from demodulator618. In some embodiment, de-multiplexer620is arranged to receive feedback signal628directly from post processor624. LDPC decoder622may be arranged to output a decoded data signal626based on de-multiplexed signal stream610. In some embodiments, LDPC decoder622is arranged to receive de-multiplexed signal stream610directly from de-multiplexer620. Post processor624may be arranged to output a data signal612based on decoded data signal626and also to deliver timeplan information via feedback signal628based on decoded data signal626. In some embodiments, post processor624is arranged to receive decoded data signal626directly from LDPC decoder622.

ADC614may convert received analog signals transmitted from a satellite to digital format for further processing in a similar manner to ADC502as discussed above with reference toFIG. 5. Match filter equalizer616may filter digital signal604in order to maximize the signal-to-noise ratio of the received signal. Furthermore, match filter equalizer616may perform bit timing recovery. Match filter equalizer616may operate in a similar manner as match filter equalizer504as discussed above with reference toFIG. 5. Demodulator618may perform demodulation of recovered signal606and may operate in a similar manner as demodulator508as discussed above with reference toFIG. 5, except demodulator618may operate as a significantly higher rate than demodulator508. De-multiplexer620may recover the carrier signal and reassemble the digitized, filtered and demodulated received signal into the recovered de-multiplexed signal stream610. Furthermore, de-multiplexer620may operate in a similar manner to de-multiplexer506as discussed above with reference toFIG. 5. LDPC decoder622performs decoding for recovery of the originally transmitted information, with exception for performing error detection/correction. LDPC decoder622may operate in a similar manner to LDPC decoder510as discussed above with reference toFIG. 5. Post processor624may perform error detection and for generating timeplan information for delivery to de-multiplexer620. Post processor624may operate in a similar manner to post processor528as discussed above with reference toFIG. 5.

A difference between the embodiment discussed above with reference toFIG. 5and the embodiment discussed above with reference toFIG.6is the placement of the de- multiplexer with respect to the demodulator. In the embodiment discussed above with referenceFIG. 5, de-multiplexer506is arranged prior to demodulator508. On the other hand, in the embodiment discussed above with reference toFIG. 6, de-multiplexer620is arranged after demodulator618. Compared to receiver500, receiver600in operation may require greater complexity, power consumption and processor utilization, and as a result, a higher cost.

As described with reference toFIGS. 3-6, a plurality of streams of information may be assembled and transmitted at a high rate from a single transmitter to a plurality of receivers. The information destined for a single receiver may be a portion of the information as transmitted by the transmitter. The assembly of the transmitted information and the configuration of the receiver enable a portion of the receiver to operate at a reduced rate, with an overall lower power consumption and cost. The examples as discussed above with reference toFIGS. 3-6were performed based upon time division multiplexing. However, in accordance with another aspect of the present invention, other types of multiplexing may be used. For example, a transmitter and receiver may be configured where the multiplexing scheme may be based upon code division multiplexing (CDM). CDM employs a special coding scheme, wherein each receiver is assigned a code, to allow multiple users to be multiplexed over the same physical channel. An embodiment using CDM will now be discussed with reference toFIG. 7.

FIG. 7illustrates an example CDM codeblock700. As illustrated, CDM codeblock700includes an outroute702, an outroute704, an outroute706and an outroute708. Outroute702may be a QPSK modulated bit stream packet and configured as a portion of CDM codeblock700. Outroute704may be a 16APSK modulated bit stream packet and configured as a portion of CDM codeblock700. Outroute706may be an8PSK modulated bit stream packet and configured as a portion of CDM codeblock700. Outroute708may be a QPSK modulated bit stream packet and configured as a portion of CDM codeblock700. Outroutes702,704,706and708may be transmitted simultaneously via a single channel. A bit of information to be transmitted may be translated into a code represented by a multiplicity of bits. The outroutes may have differing and orthogonal codes. The translated orthogonal codes for the various outroutes allows for discrimination between the codes by a receiver or receivers. In operation, individual outroute data streams may be modulated utilizing CDM scheme. Modulated CDM codeblock700, an aggregate of outroutes702,704,706and708, may be processed from outroute stream signals224,226,228and230.

FIG. 8illustrates an example transmitter performing transmission of codeblocks via CDM modulation as described with reference to theFIG. 7, in accordance with an aspect of the present invention. A transmitter800includes CRO202, CRO204, CRO206, CRO208, modulator210, modulator212, modulator214, modulator216, match filter220, DAC222, a multiplier802, a multiplier804, a multiplier806, a multiplier808and an adder826.

CRO202may be arranged to receive outroute stream signal224and output signal232. Modulator210may be arranged to output modulated signal240based on signal232. In some embodiments, modulator210is arranged to receive signal232directly from CRO202. Similarly, CRO204may be arranged to receive outroute stream signal226and output signal234. Modulator212may be arranged to output modulated signal242based on signal234. In some embodiments, modulator212is arranged to receive signal234directly from CRO204. CRO206may be arranged to receive outroute stream signal228and output signal236. Modulator214may be arranged to output modulated signal244based on signal236. In some embodiments, modulator214is arranged to receive signal236directly from CRO206. CRO208may be arranged to receive outroute stream signal230and output signal238. Modulator216may be arranged to output modulated signal246based on signal238. In some embodiments, modulator216is arranged to receive signal238directly from CRO208.

Multiplier802is arranged to output a code multiplied signal810based on a code818and modulated signal240. In some embodiments, multiplier802is arranged to receive modulated signal240directly from modulator210. Multiplier804is arranged to output a code multiplied signal812based on a code820and modulated signal242. In some embodiments, multiplier804is arranged to receive modulated signal242directly from modulator212. Multiplier806is arranged to output a code multiplied signal814based on a code822and modulated signal244. In some embodiments, multiplier806is arranged to receive modulated signal244directly from modulator214. Multiplier808is arranged to output a code multiplied signal816based on a code824and modulated signal246. In some embodiments, multiplier808is arranged to receive modulated signal246directly from modulator216.

Adder826may be arranged to output a CDM signal828based on code multiplied signals810,812,814and816. In some embodiments, adder826is arranged to receive code multiplied signal810directly from multiplier802. In some embodiments, adder826is arranged to receive code multiplied signal812directly from multiplier804. In some embodiments, adder826is arranged to receive code multiplied signal814directly from multiplier806. In some embodiments, adder826is arranged to receive code multiplied signal816directly from multiplier808. Match filter220may be arranged output filtered signal250based on CDM signal828. In some embodiments, match filter220is arranged to receive CDM signal828directly from adder826. DAC222may be arranged to output analog signal252based on filtered signal250. In some embodiments, DAC222is arranged to receive filtered signal250directly from match filter220.

CRO202,204,206and208may operate in a similar manner as discussed above with reference toFIG. 2C. Modulators210,212,214and216, perform modulation and forward error correction coding for input coded signals232,234,236and238, respectively and output corresponding corrected modulated signals240,242,244and246in a similar manner as discussed above with reference toFIG. 2C. Multipliers802,804,806and808may be configured as code multipliers, performing multiplication of input signals with specific codes and delivering corresponding code multiplied signals810,812,814and816. For example, multiplier802will multiply modulated signal240with code818to generate code multiplied signal810. Adder826may perform a summation of input code multiplied signals810,812,814and816and output a single stream of CDM signal828. Match filter220may perform filtering in order to maximize the signal-to-noise ratio of input CDM signal828and output filtered signal250. Match filter220may operate in a similar manner as discussed above with reference toFIG. 2C. DAC222may convert filtered signal250to analog signal252in a similar manner as discussed above with reference toFIG. 2C. In this non-limiting example, four CROs may accept four outroute streams as discussed with reference toFIG. 2C. However, it should be noted that any number of CROs may be used to a corresponding number of outroute streams.

Accordingly, a receiver (not shown) that is intended to receive modulated signal240will recognize the code818aspect of code multiplied signal810. The receiver that is intended to receive modulated signal240will then be able to demodulate and process the information within code multiplied signal810, while ignoring code multiplied signals812,814and816. Similarly, another receiver that is intended to receive modulated signal242will be able to demodulate and process the information within code multiplied signal812, while ignoring code multiplied signals810,814and816. Further, yet another receiver that is intended to receive modulated signal244will be able to demodulate and process the information within code multiplied signal814, while ignoring code multiplied signals810,812, and816. Finally, still another receiver that is intended to receive modulated signal246will be able to demodulate and process the information within code multiplied signal816, while ignoring code multiplied signals810,812and814.

In accordance with a multiplexed arrangement of the present invention, a plurality of outroute streams may be modulated, each at a conventional rate. Then the plurality of modulated outroute streams may be added together, filtered and converted into analog signals at a much higher rate. Accordingly, the overall data throughput provided by a CDM transmitter in accordance with the present invention is much greater than that of a conventional CDM transmitter as a result of aggregating multiple conventional information streams into an aggregate information stream performing at a significantly higher rate of operation.

Again, in accordance with an aspect of the present invention, a single transmitter is operable to transmit a single data stream that includes a plurality of outroute codeblocks that have been multiplexed and added together. A single receiver will be able to receive the entire single data stream. For efficient processing, the receiver will only process a portion of the entire received single data stream. This aspect of the present invention will now be described with reference toFIG. 9.

FIG. 9illustrates an example CDM receiver, in accordance with an aspect of the present invention. A CDM receiver900includes a faster operational portion902and a slower operational portion904. CDM receiver900may receive and process a CDM modulated signal and deliver a recovered signal. Non-limiting examples of processing includes ADC, matched filter equalization, bit timing recovery, de-spreading, carrier recovery, demodulation, soft decision, LDPC decoding and post processing. CDM receiver900may receive and process signals as described with reference toFIG. 7and as transmitted by receiver800as described with reference toFIG. 8. Faster operational portion902may receive and process a CDM modulated signal and deliver a de-spreaded signal. Slower operational portion904may receive a de-spreaded signal from faster operational portion902and deliver a recovered signal. Faster operational portion902includes an ADC906, a filter908and a de-multiplexer910.

ADC906may receive an analog signal918and output a digitized signal920. Filter908is arranged to output a filtered signal922based on digitized signal920. In some embodiments, filter908is arranged to receive digitized signal920directly from ADC906. De-multiplexer910is arranged to output a de-spreaded signal924based on filtered signal922. In some embodiments, de-multiplexer910is arranged to receive filtered signal922directly from filter908. ADC906may perform conversion of a received analog signal918to digitized signal920. ADC906may operate in a similar manner as ADC502discussed above with reference toFIG. 5. Filter908may process digitized signal920received from ADC906. Non-limiting examples of processing performed by filter908include matched filtering, equalization and bit timing recovery. Filter908may optimize the signal-to-noise ratio of a received signal. De-multiplexer910may perform de-spreading of received filtered signal922and deliver de-spreaded signal924.

Slower operational portion904includes a demodulator912and a LDPC decoder914. Demodulator912is arranged to output a signal926based de-spreaded signal924. In some embodiments, demodulator912is arranged to receive de-spreaded signal924directly from de-multiplexer910. LDPC decoder914is arranged to output a recovered signal930based on demodulated signal926. In some embodiments, LDPC decoder914is arranged to receive demodulated signal926directly from demodulator912. Demodulator912may process de-spreaded signal924received from de-multiplexer910and deliver demodulated signal926. Non-limiting examples of processing performed by demodulator912include carrier recovery, demodulation and soft decision. LDPC decoder914may receive demodulated signal926from demodulator912and perform LDPC decoding. LDPC decoder914may operate in a similar manner to LDPC decoder510as discussed above with reference toFIG. 5.

CDM receiver900may receive analog signal918encoded and modulated as described with reference to example CDM codeblock700ofFIG. 7. Analog signal918may be processed at a faster operational speed by faster operational portion902. Faster operational portion902may deliver a digitized, filtered and de-spread signal denoted as de- spreaded signal924. Slower operational portion904may receive de-spreaded signal924and perform demodulation and decoding of de-spreaded signal924for delivery of recovered information via recovered signal930. Outroute702may illustrate an example of recovered information.

For purposes of discussion, presume that analog signal918corresponds to the combination of outroutes702,704,706and708, which corresponds to analog signal252as provided by transmitter800. Further, presume that CDM receiver900is configured to retrieve data within outroute stream signal226, which in this example corresponds to outroute704. In this example, the processing of analog signal918is performed at an increased rate by faster operational portion902. Now, presume that de-spreaded signal924corresponds to modulated signal242and presume that modulated signal242corresponds to outroute704. In such a case, slower operational portion904only be required to demodulate and decode the portions of analog signal252that corresponds to modulated signal242. Therefore, slower operational portion904may operate at a reduced rate. Furthermore, operation at a reduced rate reduces cost, complexity, semiconductor real-estate and power consumption.

FIG. 10illustrates an example codeblock frame1000, in accordance with an aspect of the present invention. A codeblock frame1000includes, a start of frame (SOF)1002, a physical layer signaling code (PLSC)1004, a stream identifier (SID)1006and a codeword1008. SOF1002may be arranged at the beginning of the example codeblock frame1000. PLSC1004may be arranged to follow SOF1002in the frame structure of example codeblock frame1000. SID1006may be to follow PLSC1004and prior to codeword1008in example codeblock frame1000. Codeword1008may be arranged at the end of example codeblock frame1000. SOF1002may be configured as a 26 bit sub-frame for identifying a start of the frame. PLSC1004may be configured as a 64 bit sub-frame for performance of physical layer signal coding. The coding may be a portion of example codeblock frame1000and may be transmitted or received during communication between a transmitter and a receiver. SID1006may be configured as a 64 bit Stream identifier for identifying a stream at a receiving station. SID1006may be intended to be received by a station that receives frames corresponding to a SID match. SID1006may also inform the receiver what the modulation scheme of the codeblock. Codeword1008contains the original information, wherein the information is coded bits.

In operation, outroute signals, described with reference toFIG. 2C, may be formed into a frame structure with building blocks SOF1002, PLSC1004, SID1006and codeword1008. A codeblock may be configured as a first level framing structure containing synchronization and signaling information as described with reference toFIG. 4andFIG. 7.

In accordance with an aspect of the present invention, an example stream format for a generic continuous stream will now be described in greater detail with reference toFIG. 11. Generic Stream Encapsulation (GSE) protocol may enable efficient encapsulation of internet protocol (IP) and other network layer packets over a generic physical layer. Encapsulated data may be transported over GSE packet streams. GSE encapsulation relies on the physical layer being able to perform error detection.

FIG. 11illustrates an example stream in accordance with an aspect of the present invention. A stream1100includes a multiplicity of frames with a sampling denoted as a frame1104. Stream1100may be used for communication between a transmitter and a receiver (e.g. transmitter200ofFIG. 2C, receiver500ofFIG. 5, receiver600ofFIG. 6, transmitter800ofFIG. 8and CDM receiver900ofFIG. 9. Frame1104includes a sub frame base band header (BBHEADER)1108and a data field (DATAFIELD)1110. BBHEADER1108includes a subframe1106, subdivided further into smaller frames, such as, a transport stream input (MATYPE)1112, a user packet length (UPL)1114, a data field length (DFL)1116, a synchronization bit (SYNC)1118, a distance from the beginning of a datafield (SYNCD)1120and a cyclic redundancy check bit (CRC-8)1122. BBHEADER1108and DATAFIELD1110may be arranged within stream1100. MATYPE1112, UPL1114, DFL1116, SYNC1118, SYNCD1120and CRC-8 may be arranged within BBHEADER1108.

Stream1100may be configured as an outroute stream with a multiplicity of codeblocks multiplexed into a single stream using either TDM or CDM multiplexing methods. Frame1104may be configured as a packet format within stream1100delivering BBHEADER1108and DATAFIELD1110. MATYPE1112may be configured as a portion of subframe1106, comprising a 2-byte packet operating as a transport stream input. UPL1114may be configured as a portion of subframe1106, a 2-byte packet functioning as a user packet length for stream1100.

DFL1116may be arranged within BBHEADER1108. DFL1116may provide user data field length and prevent the packet from becoming fragmented during the transport process. SYNC1118may be arranged within BBHEADER1108. SYNC1118may provide a synchronization bit to BBHEADER1108for providing frame synchronization. SYNCD1120may be arranged within BBHEADER1108. SYNCD may provide a value indicating distance in bits from the beginning of DATAFIELD1110to the end DATAFIELD1110. CRC-81122may be arranged within BBHEADER1108. CRC-81122may provide an error detection code applied to the first 9 bytes of BBHEADER1108.

In operation, stream1100includes a multiplicity of frames1104with a variable length. Encapsulated IP packet data may be transported using GSE streams. Each GSE packet may be composed of GSE header followed by GSE payload reference as DATAFIELD1110. BBHEADER1108may be composed of MAYTYPE, UPL, DFL, SYNC SYNCD and CRC-8 as described with reference toFIG. 11. Variable lengths for frame1104may prevent information from being transported via packets and, as a result, some of the unused bits in BBHEADER1108may be used for de- multiplexing codeblocks.

In accordance with an aspect of the present invention, a receiver may determine which codeblocks should be demodulated and decoded from the entire received stream of codeblocks based on a timeplan. The timeplan indicates the position of each of the codeblocks within the stream of codeblocks or superframe, and the corresponding terminal or receiver class that is configured or intended to decode each respective codeblock. For example, according to one exemplary embodiment, a predetermined and fixed timeplan may be specified for a respective downlink carrier, and all terminals or receivers monitoring that carrier would follow the timeplan. Such a scheme, however, is relatively inflexible and inefficient in terms of bandwidth utilization. The inflexibility arises from the fact that the timeplan is fixed, and modification of the timeplan for a carrier would require a reconfiguration of each of the terminals monitoring that carrier. The inefficiency arises from the fact that, for a given timeplan (e.g., taking into account a worst case scenario of bandwidth allocation), the timeplan may be applicable to only a small percentage of the operation time, and thus, at times when an allocation is not being fully utilized by a terminal, the unutilized bandwidth may be wasted.

According to a further exemplary embodiment, however, the timeplan may be dynamic in that it can be modified essentially at any given time. In such an embodiment, the timeplan is periodically transmitted (e.g., on a broadcast channel), and each terminal periodically acquires the timeplan to synchronize with the then current multiplexing scheme (e.g., the current assignment of codeblock positions to a respective terminal or receiver class). Accordingly, this scheme provides considerable flexibility, such as the ability to dynamically allocate the bandwidth of a particular downlink carrier to the different terminal classes. Such flexibility, however, comes at the cost of some overhead in transmitting the timeplan every super frame (albeit, a very small loss of bandwidth). In this case, the carrier is already acquired, so the timeplan can be read from the decoding of the codeblock within which the timeplan is carried, however, there is an increase in overhead associated with transmitting the timeplan in every superframe. According to the present specification and accompanying drawings, while the timeplan is described and illustrated with respect to various exemplary embodiments, the timeplan is not limited only to such described and illustrated embodiments. It will, however, be evident to one of ordinary skill in the art that various modifications may be made thereto, and additional embodiments may be implemented, without departing from the broader scope of the invention as set forth in the claims that follow.

FIG. 12illustrates an example timeplan in accordance with an aspect of the present invention. A timeplan1200includes a stream sequence number (SSN)1202and a stream identifier SID1204. An element of SSN1202may be arranged with a corresponding SID1204within timeplan1200. Essentially, the timeplan comprises an ordered list of SSNs and corresponding SIDs. Each SSN reflects a respective codeblock position within a superframe, numbered sequentially to reflect the sequential codeblocks of the superframe. For example, the SSNs for a superframe of 1024 codeblocks will be sequentially numbered from 0 to 1023. Each SID reflects a stream ID indicating the receiver or terminal classes that are intended to receive and decode the codeblock located at the position within the superframe corresponding to the respective SSN. Timeplan1200may be communicated via codeblock402(FIG. 4). The codeblock location for transmission of the timeplan1200may repeatedly be transmitted via the same codeblock. In other words, according to an exemplary embodiment, the timeplan is transmitted once within every superframe, and is consistently transmitted in the same respective position within each superframe (e.g., at the first position corresponding to SSN “0”). Further, in an exemplary embodiment, the timeplan is transmitted on a broadcast channel, on which a terminal may acquire various types of system information, such as configuration information and the like. The broadcast channel is intended to be decoded by the universe of terminals serviced by the particular carrier.

In an example embodiment, SSN1202may be configured as a 10-bit counter from 0 to 1023 within timeplan1200for assigning sequence number to codeblocks. SID1204may be configured for indicating a portion of a stream for reception by a receiving terminal and a portion of a stream for reception by the universe of receiving terminals. An outroute is a combination of substreams, where multiple outroutes may be transmitted over a single channel or satellite transponder (e.g., to a spot beam). In other words, according to an exemplary embodiment, a specific timeplan covers the multiplexing scheme for all channels of the terminals within a downlink beam (e.g., receiving transmissions from one downlink transmission carrier—such as, in a high bandwidth satellite with upwards of 250 MHz carriers). Accordingly, a timeplan is transmitted for every such channel. Furthermore, in an example embodiment, timeplan1200is transmitted periodically, for example, once every 1024 codeblocks.

In operation, timeplan1200may be configured as a sequence of SSN1202with a corresponding SID1204and may be broadcast to all receivers within a system. For purposes of discussion, presume that transmitter200ofFIG. 2Ctransmits analog signal252to four different receivers, wherein the four different receivers are constructed so as to demodulate and process one of outroute stream signal224, outroute stream signal226, outroute stream signal228and outroute stream signal230respectively. In such a case each of the four receivers will receive the entire analog signal252, which includes timeplan1200.

Furthermore, a receiver attempting to acquire information via an outroute carrier would receive timeplan1200within a predetermined period of time. A receiver may receive and decode timeplan1200to determine which portions or codeblocks of a stream are associated with the receiver. At that point, the receiver would then decode the stream that carries the SID and SSN information. Reception and decoding of timeplan1200by a receiver may occur periodically as necessary. Following reception of an initial timeplan1200, a determination of operating on a different outroute may be realized, after which a receiver may switch to the correct outroute. Following a switch to a new channel, a receiver may receive and decode a new timeplan1200corresponding to the new outroute.

For example, a sequence number1206may have a value of “0,” indicating the first transmission for SSN1202and SID1204. Furthermore, an identifier1208may have a value of “1,” indicating the first portion of a codeblock may be received by receiver “1.” Similarly, a sequence number1210may have a value of “12” indicating the twelfth transmission for SSN1202and SID1204. Further, an identifier1212may have a value of “S” indicating that the twelfth portion of a codeblock may be received by the universe of receivers.

In other words, an SSN1206may have a value of “0,” indicating the time of transmission of the first codeblock of the respective superframe. Furthermore, the SID1208, corresponding to the SSN1206, may have a value of “1,” indicating that the first portion or codeblock of the superframe should be decoded by receivers or terminals configured or classified for codeblocks of SID values of “1.” Similarly, an SSN1210may have a value of “12,” indicating the time of transmission of the thirteenth codeblock of the respective superframe. Further, an SID1212, corresponding to the SSN1210, may have a value of “S,” identifying a shared or broadcast transmission in thirteenth portion or codeblock of the superframe, which should be decoded by the universe of receivers following the respective timeplan.

Accordingly, once a receiver or terminal is synchronized with the data stream, and has acquired the appropriate timeplan, the receiver follows the SIDs of the timeplan, and decodes only the corresponding portions or codeblocks of the superframe for the SIDs that match the SIDs for which the terminal is configured or classified. Based on a timeplan, therefore, the bandwidth of each superframe can be allocated amongst the classes of terminals based on the number of codeblocks of a superframe allocated to each terminal class or SID. Moreover, certain classes of terminals, which process the data streams at faster rates, can be allocated further bandwidth by assigning multiple SID values to the particular terminal class (e.g., at a minimum, a terminal may be assigned 2 SIDs—one specific SID and the shared or broadcast SID—and a faster terminal may be assigned multiple SIDs—such as a specific SID and one or more SIDs for a multicast community). According to one embodiment, however, a constraint may exist in that the bandwidth allocation to a given terminal class should not exceed the decode rate capabilities of the terminal receiver (e.g., if a terminal receiver decodes at a rate of one of every four codeblocks, then the codeblock allocation should not exceed an assignment of more than one codeblock of every four consecutive codeblocks to that specific terminal class). According to other exemplary embodiments, however, one of skill in the art would recognize that a scheme may be implemented to, for example, buffer codeblocks and allow a terminal to catch up in the event that the bandwidth allocation to a terminal exceeds the decode rate of the terminal for a short duration of time. Additionally, the bandwidth allocation may be dynamically updated by updating the timeplan at any given time.

Further, a single SID, however, may, for example, be shared with many thousands of terminals, and thus, only a relatively low percentage of codeblocks designated (based on an SID) for a class of terminals may be relevant to any given terminal in that class. Accordingly, once a terminal determines that a codeblock is to be decoded by that terminal (based on the SID), for example, the terminal after decoding may determine whether data within the codeblock is in fact addressed to that terminal based on a higher layer protocol, such as the media access control (MAC) layer (e.g., based on a MAC ID) (where such higher layer protocol is independent of the embodiments of the present invention, and would be known to and understood by one of ordinary skill in the art).

Accordingly, exemplary embodiments provide a system in which multiple different point-to-point, multicast and broadcast traffic streams can be encoded and multiplexed onto a common modulated carrier. Further, each terminal can be configured or designated to decode and process one or multiple of those streams. Moreover, in such a system, sizes of the streams can be dynamically varied based on offered load, priorities, and other policies, up to the modulated carrier symbol rate. Such dynamic variation can be accomplished with a timeplan in accordance with exemplary embodiments, transmitted in a broadcast stream indicating the stream size configuration for a given epoch. The system may also include a gateway that dynamically manages relative stream sizes such that each terminal or class of terminals is not overloaded by the receipt and processing of aggregate bandwidth beyond the capabilities of the terminal or class of terminals. The timeplan according to exemplary embodiments can be used to assign broadcast or multicast streams in accordance with communities of interest, such that a given terminal processes only that broadcast or multicast application traffic to which the terminal is subscribed or which the terminal is designated or configured to receive.

Additionally, in such a system, point-to-point streams may also be used to enable independent service providers to communicate with their separate subscribers, while making maximal use of common wholesaler infrastructure and bandwidth. The satellite operator can act as a wholesaler for its infrastructure and bandwidth, whereby the multiplexing scheme allows the wholesaler to sell these assets to various independent service providers. Then, utilizing the multiplexing scheme of exemplary embodiments of the present invention (as herein described), the independent service providers can dynamically manage bandwidth to their customers. For example, the satellite operator can assign various SIDs of the timeplan amongst service provider clients. Each service provider client can then divide its assets (i.e., SIDs) into point to point and/or multicast SIDs, based on depending on user or customer communities of interest. The multiplexing scheme would thereby provide each service provider with the capability to independently and dynamically allocate the amount of stream size based on offered load, priorities, and other policies.

FIG. 13illustrates an example method1300for timeplan acquisition, in accordance with an exemplary embodiment of the present invention. Initially, for example, on power-up, a terminal synchronizes with a data stream in accordance with the normal synchronization process of the DVB-S2 Standard, for example, based on the physical layer header (PLHEADER). Then the timeplan acquisition method, for example, according to the exemplary embodiment of the method1300starts (S1302), and the frames may be acquired (S1304). Receiver500ofFIG. 5, receiver600ofFIG. 6or CDM receiver900ofFIG. 9may begin receiving a stream of information as denoted by stream1100ofFIG. 11. For purposes of simplifying the discussion, presume that receiver500is used. Furthermore, receiver500may perform frame synchronization for determining the start of frame1104. Still further, receiver500may receive and process received frames (e.g. frame1104). Receiver500may then select a codeblock for processing (S1306). For purposes of discussion, presume that receiver500selects the first codeblock for processing. The selection of codeblock to process may be performed via de-multiplexer506.

It may then be determined whether the selected codeblock has a shared SID “S” (S1308). For example, SID1006ofFIG. 10may be decoded by post processor528. Decoded SID1006may indicate whether the received information may be communicated to a particular receiver as illustrated by identifier1208ofFIG. 12or the universe of terminals as illustrated by identifier1212. If it is determined that the selected codeblock does not have a shared SID (S1308), then the receiver may receive and decode a codeblock from a different portion of frame1104ofFIG. 11(S1310). For example, receiver500may then select another codeblock for processing. At this point it may be determined whether the newly selected codeblock includes a timeplan (S1312). If so, then it is again determined whether the newly selected codeblock has a shared SID (S1308).

If the selected codeblock does not include a timeplan (S1312), then a determination for shifting to an alternate set of codeblocks may be determined (S1314). For example, once receiver500has received and decoded a timeplan, receiver500may determine the proper codeblocks to receive and process. If it is determined that it is not time to shift to an alternate set of codeblocks, then another codeblock may be received (S1315) followed by a determination of shared SID (S1308). In an example embodiment, a first set of codeblocks may have even SSN, whereas the other set may have odd SSN. If the shared SID is not found in the first set of codeblocks, it will be found in the next set of codeblocks. If it is determined that it is time to switch to an alternate set of codeblocks (S1314), then the sequence of codeblocks may be switched to the alternate set and a codeblock from the alternate set may be received (S1316) followed by a determination of shared SID (S1308).

Once it is determined that there is a shared SID (S1308), the shared stream may be decoded (S1318). At that point, the SID list may be generated (S1320). A shared SID contains information to be shared by all substreams. One type of shared information that may be in a shared SID is the timeplan. In an example embodiment, a timeplan is transmitted once in a superframe (e.g., a frame of 1024 codeblocks corresponding to SSNs 0-1023), many of which may be shared SIDs. As such, when the SID list is generated, the shared SIDs are searched for the timeplan. Receiver500may determine portions of the codeblock associated with receiver500as described with reference toFIG. 2C. For example, presume for the sake of discussion that receiver500corresponds to SID1within timeplan1200ofFIG. 12. Accordingly, receiver500would then decode SSNs having an SID1associated therewith. Returning toFIG. 5, post processor528would then instruct de-multiplexer506, via data signal526, to only pass the codeblocks corresponding to the SSNs associated with the SID1of timeplan1200.

Once a receiver has acquired the timeplan and determined portions associated with receiver, execution of method1300may terminate (S1322).

In other words, according to an exemplary embodiment, once synchronized to the frame, the receiver can begin the process of acquiring the timeplan, beginning with acquisition of the data stream or the frames. The receiver then selects an arbitrary codeblock to decode, and determines whether the codeblock is a shared or broadcast codeblock, or a codeblock directed at a particular class of terminals, based on the SID. The SID and SSN of a particular codeblock, for example, can be coded into the baseband header (BBHEADER) of the codeblock (e.g., utilizing unused bits of the header, such as unused bits of the MATYPE or SYNCD headers), as described in further detail below. If the codeblock is a shared codeblock, then the receiver determines whether the codeblock contains the timeplan. For example, the timeplan may be determined through upper layer mechanics that can identify the timeplan based on certain information, such as IP headers (where such mechanisms are independent of the embodiments of the present invention, and would be known to and understood by one of ordinary skill in the art). If the receiver determines that the codeblock is not a shared codeblock or doesn't contain the timeplan, then the receiver moves on and decodes the next codeblock.

For example, based on the processing rate of the terminal, the receiver may be able to decode two of every four codeblocks, in which case, the receiver will decode every other codeblock (e.g., either the odd or even SSN codeblocks). For this example, say the receiver is decoding the even codeblocks, and the superframe contains 1024 codeblocks. If the receiver runs through all 512 even codeblocks, and does not locate the timeplan, the receiver will then shift to the odd SSN codeblocks (S1314), and repeat the process until the receiver acquires the timeplan. For example, in one embodiment, the receiver can track the number of codeblocks accessed based on a counter. Then, for a superframe of 1024 codeblocks, a 10 bit counter can track the progress by either incrementing by 2 for every codeblock accessed, and the receiver can detect the time to shift to odd SSNs when the counter reaches 1024, or by incrementing by 1 for each codeblock accessed, and the receiver can detect the time to shift when the counter reaches 512. Accordingly, in the example of the receiver running at a rate of decoding two of every four codeblocks, worst case, the receiver will acquire the codeblock within two superframes, where the timeplan is located at the same codeblock position in each superframe. Similarly, for example, with a receiver running at a rate of decoding one of every four codeblocks, worst case, the receiver will acquire the timeplan within four superframes. Additionally, as specified above, according to the embodiment where the timeplan is transmitted once within every superframe, if a new terminal comes on line, then that terminal will not have to wait an extended period to acquire the timeplan, as it is transmitted every superframe, an there will then be a worst case depending only on the receiver decode rate. Alternatively, in a further exemplary embodiment, the timeplan may be transmitted periodically skipping a number of superframes (e.g., transmitted every N superframes), except in such cases, the longer the period between timeplan transmissions (e.g., the larger the value of N), the longer it may tale to acquire or update the timeplan.

Accordingly, the acquisition method1300, for acquiring the timeplan represents a totally flexible scheme, where the timeplan may be transmitted within any codeblock of the superframe, without the receiver having any knowledge of the SSN position wherein the timeframe resides.

FIG. 14illustrates an example method1400of timeplan acquisition, in accordance with a further exemplary embodiment of the present invention. This method presents a simplified method for timeplan acquisition requiring less processing for timeplan acquisition as compared to method1300. Again, initially, for example, on power-up, a terminal synchronizes with a data stream in accordance with the normal synchronization process of the DVB-S2 Standard, for example, based on the PLHEADER. The beginning of method1400is similar to method1300discussed above with reference toFIG. 13. In particular, the timeplan acquisition method, for example, according to the exemplary embodiment of the method1400starts (S1302), frames are acquired (S1304) and an arbitrary codeblock is selected (S1306).

At this point method1400differs from method1300. According to this embodiment, the SSN is extracted from the selected codeblock (S1408). As specified above, for example, the SID and SSN of a particular codeblock can be coded into the BBHEADER of the codeblock, as described in further detail below. Based upon on the extracted SSN, the receiver may skip codeblocks to advance to the position of the timeplan (S1410). For example, in the situation where the timeplan is transmitted in the first codeblock of the superframe (SSN “0”), based on the extracted SSN, the receiver can determine how many codeblocks to skip before the first position of the next superframe is reached (e.g., if the extracted SSN is “1000,” then the next 23 codeblocks can be skipped before reaching the first codeblock of the next superframe). Once the first codeblock of the next superframe is decoded, it is then determined whether the accessed codeblock has the shared SID “0” (S1414). For example, for purposes of discussion, presume that SID1006ofFIG. 10is decoded. Decoded SID1006may indicate whether the received information may be communicated to a particular receiver (for example as illustrated by identifier1208ofFIG. 12) or to all the receivers (for example as illustrated by identifier1212). If it is determined that the accessed codeblock does not have the shared SID “0,” then an error condition is determined, and a new codeblock is chosen (S1306). Alternatively, if it is determined that the accessed codeblock does have the shared SID, then the codeblock may be decoded to obtain the timeplan (S1416and S1418).

Once the receiver has acquired the timeplan and thereby determined positions of the codeblocks, directed to the SID of that terminal, within the superframes of the data stream, method1400stops (S1420).

Accordingly, the acquisition method1400, for acquiring the timeplan represents a less flexible scheme, where the receiver requires prior knowledge of the SSN position wherein the timeplan resides (e.g., within the codeblock of the first position of a superframe—SSN=“0”). At the same time, however, the method1400represents a scheme whereby the timeplan may be acquired in a significantly quicker fashion, in that the receiver can determine the exact number of codeblocks to skip to reach the codeblock wherein the timeplan resides, and, worst case, the receiver need only wait one superframe before acquiring the timeplan (e.g., if the first codeblock acquired by the receiver is the next codeblock after the timeplan—then the receiver must skip the next 1023 codeblocks).

FIG. 15illustrates an example method of timeplan acquisition following powering up of a receiver, in accordance with an aspect of the present invention. A method1500starts (S1502) and timeplan1200ofFIG. 12may be acquired. Following powering up of a receiver, timeplan1200may be acquired in a similar manner as discussed above with referenced toFIG. 13orFIG. 14. Received codeblocks may be decoded (S1506). A receiver may receive and decode codeblocks as discussed previously with reference toFIGS. 3-11. A determination as to whether received codeblocks correspond to correct codeblocks associated with timeplan1200may be performed (S1508). For a determination of not receiving codeblocks associated with timeplan1200(S1508), a receiver may skip codeblocks until receiving a codeblock associated with timeplan1200(S1510). A receiver may ignore or disregard information received not associated with timeplan1200. Following power-up, a received timeplan1200may not correspond with received information and a receiver may skip received information until received information corresponds with timeplan1200. For example, a timeplan may be modified synchronous with a receiver powering up and the received timeplan may be associated with information to be received at a later point in time. In other words, since the timeplan change takes 2 super frames to become active as explained inFIG. 24, there is a possibility that at power up a terminal has acquired the new timeplan but that timeplan does not become active until two superframes later (albeit this possibility is very low). Thus when the terminal uses this new timeplan to decode it may not correctly receive data for the next two superframes, until this timeplan becomes active.FIG. 15shows a method of fly wheeling through the next two super frames. After fly wheeling through two super frames the received data does not match the acquired timeplan then it is an error condition and the receiver goes to reacquiring the timeplan.

According to a further embodiment, signaling for identification of the SSN and SID for each codeblock may be implemented using the baseband header (BBHEADER)1104of a codeblock (as depicted inFIG. 11). The DVB-S2 Standard addresses both Broadcast and Interactive modes of operation. The Broadcast mode uses a packetized protocol, consisting of either packetized multi-protocol encapsulation (MPE) or packetized generic stream encapsulation (GSE). The Interactive mode can use either the packetized MPE or GSE protocol or continuous GSE protocol. The continuous GSE protocol is more efficient than the packetized modes, however, in order to support both the Broadcast and Interactive modes of the DVB-S2 Standard, a system must support both the packetized and continuous protocols. In accordance with the present invention, therefore, exemplary embodiments provide a multiplexing system and scheme that supports either the Broadcast or Interactive modes using packetized MPE/GSE protocols.

With reference toFIG. 16, when operating in an interactive or IP mode employing the continuous GSE protocol, certain portions of the BBHEADER are inapplicable or unused (e.g., certain bits of the MATYPE field of the BBHEADER, and certain bits of the SYNCD field of the BBHEADER). According to one exemplary embodiment, therefore, such bits may be used to identify the SID and SSN for the respective codeblock. For example, as shown inFIG. 16a certain number of bits of the MATYPE field1112(e.g., the first and second bytes of the MATYPE field may be referred to as the MATYPE-1 field1612and MATYPE-2 field1614, respectively) may be used to identify the SID1616(e.g., with 4 bits, 16 different SID classes can be defined, including one shared or broadcast SID). Also, a certain number of bits of the SYNCD field can be used to identify the SSN1618(e.g., 10 bits of the SYNCD field can reflect 1024 SSNs for identifying 1024 codeblocks of a superframe). These examples of header bits utilized to identify the SID1616and SSN1618of a codeblock are only examples, and, as would be recognized by one of skill in the art, different header bits may be utilized. For example, depending on the current mode of operation other unused header bits may be utilized to identify the SID1616and SSN1618of a codeblock. Further, different numbers of bits may be utilized to identify each of the SID1616and SSN1618of a codeblock, which in turn would result in different respective numbers of terminal or receiver SID classes and SSN numbers (numbers of codeblocks per superframe).

Moreover, using an N-bit counter1712(FIG. 17), where N corresponds to the number of bits necessary to signify the number of SSNs for the number of codeblocks of a superframe (e.g., a ten bit counter1714for a superframe of 1024 codeblocks), the receiver can track the sequential codeblocks, and hence the SSNs, of the superframe, separate from the explicit specification of the SSN (e.g., via the SYNCD field of the header). Accordingly, at any given time, the receiver can verify synchronization with the timeplan by checking a given SSN extracted from the codeblock header at a given point in time against the counter. If, at any time, the extracted SSN fails to match the counter, the terminal can implement a recovery process to reestablish synchronization.

Additionally, according to another exemplary embodiment, the number of bits utilized for the SSN1618, and thus the resulting number of codeblocks per superframe, may also be dynamically configurable. In such a case, for example, the system may reconfigure the number of codeblocks per superframe by providing updated configuration information to the terminals over the broadcast channel, which changes the number of codeblocks per superframe by changing the number of header bits that specify the SSN1618.

According to a further exemplary embodiment, when operating in a broadcast mode, for example, employing the packetized MPE or packetized GSE protocol, again certain portions of the BBHEADER are inapplicable or unused (e.g., certain bits of the MATYPE field of the BBHEADER). Accordingly, such bits may be used to identify the SID and SSN for the respective codeblock. In accordance with such packetized protocols, however, different bits are unused as compared to the continuous GSE protocol, and, in fact fewer bits are available. A problem, therefore, exists in achieving an equivalent level of flexibility and efficiency, as is achieved with the continuous GSE protocol (as described above), with the fewer number of bits available in the BBHEADER. According to the packetized MPE/GSE protocol, for example, only one byte (8-bits) within the BBHEADER of each codeblock is available (e.g., one byte of the MATYPE1112field of the header, specifically, for example, the MATYPE-2 field1614).

According to a further exemplary embodiment, therefore, a method is provided for achieving such flexibility and efficiency with the fewer number of bits available in the BBHEADER. In this embodiment, with reference toFIG. 18, five of the eight bits of the MATYPE-2 field of the header of a codeblock are utilized to specify the SID and the SSN for the codeblock. The SID may be explicitly coded and the SSN may be implicitly coded. For example, as with the continuous protocol (as described above), a certain number of the available bits of the header may be used to identify the SID1616(e.g., again, with 4 bits, 16 different SID classes can be defined, including one shared or broadcast SID). In this case, however, instead of explicitly providing the SSN (e.g.,1618OFFIG. 16) via a certain number of header bits that result in a corresponding number of SSNs, and hence codeblocks per frame, the SSN is implicitly coded into the header using, for example, only one bit. According to this embodiment, one bit of the MATYPE-2 field1614of the header is utilized to provide a superframe flag for the implemented multiplexing scheme (the multiplexing superframe flag or MSF1812). The MSF1812signals the start of each superframe, and from that, using an N-bit counter, where N corresponds to the number of bits necessary to signify the number of SSNs for the number of codeblocks of a superframe (e.g., a ten bit counter for a superframe of 1024 codeblocks), the receiver can track the sequential codeblocks, and hence the SSNs, of the superframe.

More specifically, when operating in a broadcast mode (e.g., employing the packetized MPE or packetized GSE protocol),FIG. 19illustrates the signaling for such a multiplexing scheme, where the SID1616is explicitly coded using 4 bits of the MATYPE-2 header field, and the SSN is implicitly coded using 1 bit of the MATYPE-2 header field for the MSF1812. InFIG. 19, it should be noted that the SSN is not explicitly coded in the codeblocks, but is shown here to illustrate the codeblock SSN position within the superframe, and as may be tracked by the terminal via the counter1714. The MSF1812and SID1616are associated with two 1024 codeblock superframes, the first corresponding to SSNs 0-1023 (1912) and the second corresponding to SSNs 0-10231914). The “1” value1922of the MSF signals the first codeblock of the first superframe (SSN=“0”), and the “1” value 1924 of the MSF signals the first codeblock of the second superframe (SSN=“0”). Further, the “1” values of the MSF signal an SSN of “0,” whereby a receiver is able to synchronize its SSN counter to “0,” and the receiver can increment the counter with every codeblock, and thereby provide an explicit SSN to the terminal. Also, as specified above, the SIDs reflect the terminal classes intended to decode the codeblocks at the positions of the respective SSNs, where the SIDs of value “0” signify broadcast codeblocks intended to be decoded by the universe of terminals on the respective carrier. Moreover, as depicted, there may be “0” SIDs reflecting broadcast codeblocks that do not contain the timeplan (e.g., SIDs1926and1928). The timeplan is signaled as being contained in only the codeblocks at the first position of a superframe (corresponding to the MSF=“1,” the SSN=“0” and the SID=“0”).

Further, with respect to acquisition of the timeplan, in the case where the timeplan is transmitted in the first codeblock position (SSN=“0”) of every superframe,FIG. 20reflects a method for acquiring the timeplan using the MSF1812. The method starts, as with the method ofFIG. 13, by acquiring the frames and choosing and decoding an arbitrary codeblock (S2012and S2014). At step S2016, the receiver determines whether the MSF=“1.” If the MSF is not “1,” the receiver acquires and decodes the next codeblock (based on its decode rate)(S2018), and returns to step52016. If the MSF=“1,” then the receiver acquires the timeplan from the data field of the codeblock (S2020). Once the receiver identifies the first codeblock of a superframe based on a “1” value of the MSF, the receiver knows that the respective codeblock contains the timeplan. Alternatively, in a case where the timeplan is not located in the first codeblock of each superframe, with respect to the timeplan acquisition method ofFIG. 13, while searching for the timeplan in every decoded codeblock, the receiver can concurrently determine the MSF value of each codeblock, and, once an MSF value of “1” is determined (signaling the first codeblock of the next superframe), the receiver can synchronize its counter to coincide with the SSNs.

In this embodiment, however, the use of the one bit MSF, however, raises issues with respect to timeplan acquisition for slower rate terminals. For example, referring back to the timeplan acquisition method ofFIG. 13, based on the code rate, the receiver decodes a codeblock at a regular interval (e.g., in the case of the 2/4 code rate, the receiver decodes every other codeblock, and in the case of a 1/4 code rate, the receiver decodes every fourth codeblock). Again, therefore, for a 2/4 code rate receiver, the terminal may have to wait two whole superframes before acquiring the timeplan, and for a 1/4 code rate receiver, the terminal may have to wait four whole superframes before acquiring the timeplan. For a slower code rate terminal, such as with a 1/16 code rate receiver, the terminal decodes every sixteenth codeblock, and thus, worst case, that terminal may have to wait 16 superframes before acquiring the timeplan. Moreover, with respect to the timeplan acquisition method ofFIG. 14, when the receiver decodes any given codeblock, because with this protocol the SSN is not expressly coded in the codeblock header, the receiver may have no knowledge of the SSN or position of the codeblock. So, when acquiring and decoding the initial code block, the receiver would have no way of determining (based on the SSN) how many codeblocks would be required to be skipped to reach the beginning of the next superframe (e.g., in the case where the timeplan would be contained in the codeblock of the first position of each new superframe).

Accordingly, based on a further exemplary embodiment, an indicator1814is provided as to a number of codeblocks that may be skipped (e.g., as depicted inFIG. 18). According to this embodiment, the indicated number of codeblocks that may be skipped is not necessarily the number required to reach the beginning of the next superframe, but rather a number of codeblocks that can be skipped based on a number of bits available for the indicator1814. For example, as depicted inFIG. 18, in the foregoing case where the SID1616is coded by four bits of the available header byte (MATYPE-2), and the MSF1812uses one bit, an additional three bits is left for the indicator1814. With reference toFIG. 22, the indicator provides the three least significant bits of the SSN, and thereby provides an indication of where the current codeblock is located, within a group of 8 SSNs or codeblocks (e.g., SSN XXXXXXX000 to SSN XXXXXXX111). As withFIG. 19, it again should be noted that, inFIG. 22, the SSN is not explicitly coded in the codeblocks, but is shown to illustrate the codeblock SSN position within the superframe, and as may be tracked by the terminal via the counter1714. The MSF1812and SID1616are associated with two 1024 codeblock superframes, the first corresponding to SSNs 0-1023 (2216) and the second corresponding to SSNs 0-10232218).

Accordingly, based on these least significant three bits of the SSN, the receiver can determine the number of codeblocks required to be skipped to reach the first codeblock of the next group of 8 codeblocks. For example, starting with2212, where the indicator bits=“3,” the receiver determines that it must skip the next four codeblocks to reach the first codeblock of the next group of eight codeblocks (indicator bits=“0”2214). Then, from there, the receiver would know that it can successively skip the next seven codeblocks to reach the first codeblock of each successive group of eight codeblocks. In that manner, once the first codeblock (the indicator 1814 bits=“0”) of a current group of eight codeblocks is determined, the receiver would be required to only decode one out of every successive eight codeblocks until it acquires the timeplan at the first codeblock of the next superframe (e.g., again, where the timeplan would be contained in the codeblock of the first position of each new superframe). Additionally, while decoding one of every successive group of eight codeblocks (the 0thSSN of each particular group of eight codeblocks), concurrently, the receiver can be looking for an MSF flag value of “1” to locate the first codeblock of the next superframe. Hence reducing processing and power requirements for the terminal.

Based on this indicator1814and the MSF1812, a method for acquiring the timeplan is illustrated inFIG. 21. Again, the process begins with the acquisition of the frames and choosing and decoding an arbitrary codeblock (S2112and S2114), and a determination as to whether the MSF=“1” (S2116). If the MSF is not “1,” then the receiver determines the indicator1814, and based on the indicator, determines the number of codeblocks to skip to reach the first codeblock of the next group of 8 codeblocks (S2118). The receiver then decodes the codeblock at the first position of the next group of 8 codeblocks (S2120). Again, the receiver determines whether the MSF=“1” (S2122). If the MSF is not “1,” then the receiver skips the next 7 codeblocks, and decodes the codeblock at the first position of the next group of 8 codeblocks (S2124), and returns to step S2122. If, at either of steps S2116or S2122, the MSF=“1,” then the receiver acquires the timeplan from the data field of the codeblock (S2126).

Additionally, according to a further exemplary embodiment, in the interactive mode, when utilizing the continuous GSE protocol, where the SID1616and SSN1618are both explicitly signaled, as depicted inFIG. 16. According to this embodiment, however, although the SID and SSN are both explicitly signaled, the MSF1812and indicator1814may also be signaled, as depicted inFIG. 23. In this manner, uniformity can be maintained between the broadcast modes ofFIGS. 18,20and21.

FIG. 24illustrates an arrangement2400of a plurality of superframes, in accordance with an aspect of the present invention. Arrangement2400of a plurality of superframes includes a row2402of superframes, a row2404of SSNs and a row2406of SIDs. Row2402includes N−2 superframe2408, N−1 superframe2410, N superframe2412, and N+1 superframe2414, where TP(N) is the timeplan for superframe N. Row2404lists the SSNs within each superframe, whereas row2406lists the SIDs within each superframe. Superframe2408includes a plurality of frames with a sampling sequence number 0 (SSN 0) denoted as2416presented with an SID having a value “1,” as indicated by 2418. Sequence number2416may perform the same function as SSN1202discussed above with reference toFIG. 12. SID2418may perform the same function as SID1204discussed above with reference toFIG. 12.

Due to de-multiplexing of codeblocks as described with reference toFIGS. 3-9, updating a timeplan for a receiver may require several codeblocks to perform. As a result of requiring several codeblocks for updating a timeplan, synchronization of timeplans with received information may be performed by transmitting updated timeplan information prior to implementation of the updated timeplan. Furthermore, timeplan1200(FIG. 12) may be communicated via a codeblock, for example a shared codeblock. The codeblock location for transmission of timeplan1200with respect to a superframe, for example superframe2408, may repeatedly be transmitted via the same codeblock, for example outroute codeblock402(FIG. 4). For example, a system seeking to update a receiver timeplan during frame x may begin transmitting updated timeplan information during the transmission of frame x-2, or two frames prior to implementation of the new timeplan. Prior to frame x, a receiver may continue to operate based upon the timeplan transmitted prior to frame x-2. Furthermore, once a timeplan has been transmitted to a receiver, the receiver may operate based on the updated timeplan (e.g. frame x).

In accordance with aspects of the present invention, a plurality of outroute data streams may be multiplexed at the transmitter side, thereby achieving multiple times greater data capacity than existing transmitters. Similarly, a received multiplexed data stream may be demultiplexed at the receiver side in order to achieve greater data capacity. The timeplan according to exemplary embodiments: provides a flexible means of providing a multiplexing scheme to allow terminals to operate on wideband signals without requiring the decoder to operate at full speed; provides multiple SIDs that a terminal could decode, allowing the transmission of broadcast and system information only once to all terminals; provides the ability to provide differentiated services and to provide multicast streams depending on communities of interest; provides a configurable R/S multiplexing scheme, rather than a fixed 1/S scheme; provides the ability for multiclass terminal operation, whereby terminals with faster decoder rates could decode multiple SIDs assigned to it, whereas slower terminals decode only the shared and a single SID—which would not be possible with a traditional fixed 1/N multiplexing scheme; provides for scaling of the amount of shared channel capacity depending on the needs of the system, rather than proving a fixed 1/N throughput; and provides for system-wide, dynamic modification of the multiplexing scheme through dynamic updates of the timeplans—e.g., different timeplans depending on the time of day traffic requirements.