The present invention relates generally to the field of communication networks, and, more particularly, to a method and apparatus for handling data communications traffic that is bit-interleaved and scrambled for transmission.
The following abbreviations are herewith defined, at least some of which are referred to within the following description of the state-of-the-art and the present invention.
Communication networks are employed to transmit data from one device to another or from one device to many devices, enabling such services as television, Internet access, and streaming music and videos. Some networks are referred to as access networks, as they provide access for individual subscribers or users to a larger core network where large amounts of data may be transmitted between service providers and the access networks.
Examples of access networks include WiFi (or other short range wireless) networks or “hot spots”, cellular telephone networks, and PONs (passive optical networks). WiFi hot spots, for example, enable mobile users with laptops or smart phones to connect with the Internet. Cell phone networks enable voice and other communications to mobile users. PONs use optical fibers to connect subscribers to a communication network, which often provides television, telephone, and Internet service.
Using a PON as an example, an OLT (optical line terminal) located in a service provider central office is typically connected by a feeder fiber to an optical splitter, which splits a downstream optical signal across many access fibers, each access fiber leading to an ONU (optical network unit) at or near the premises of a subscriber (or group of subscribers). Each ONU in this way receives the same downstream signal, but is configured to use only those portions intended for it. Upstream signals from the individual ONUs are sent in the opposite direction. Frequently, different wavelengths are used for downstream and upstream transmission to avoid interference. Each ONU may be given a time slot for upstream transmissions so that these signals do not interfere with each other.
The techniques described generally above are useful because of at least two factors. One, the OLT includes a relatively complex and costly high-speed transmitter, but only one is needed for a great many ONU receivers. Second, there is usually far more information to transmit in the downstream direction than from any individual subscriber upstream to the central office.
The OLT therefore in effect broadcasts transmissions in the downstream direction and each ONU receiver, while essentially receiving the entire broadcast, takes and uses only its own portion. This form of transmission is sometimes referred to as PtMP (point to multipoint). Generally speaking, WiFi access points and cellular network base stations use the same principle when communicating with user equipment via a radio frequency channel.
Since PtMP transmissions often must carry signals intended for many receivers, techniques have evolved for how best to transmit this information. One relatively-new method involves bit interleaving. In this technique, a transmission frame may be formed with the first bit of data for each receiver positioned one after the other, then all of the second bits in the same order, and so on. In other cases the interleaving is not regular, and in fact both the start position of the bits for a given receiver and the interval between these bits may vary for each receiver (and from frame to frame).
In the header portion 25 of this exemplary frame, the allocation of bits for each respective receiver is typically regular and static. Note that in this context, “regular” means that each receiver has bits occurring at the same interval or decimation factor K in a given frame portion (for example the header or the payload), and the starting position of the allocation is within the first K bits of the relevant portion. “Static” means that this allocation does not vary from frame to frame. The allocation may be static and regular, but this is not always the case for payload portion 30 of frame 20. Payload portion 20, which begins with bit 30-1, carries the actual data intended for each receiver and is formed in a manner similar to that used for the header portion 25. If the allocation of bits in the payload portion 30 is not regular or static, some manner of notifying the receivers how to adjust is undertaken, for example by identifying the variation in the header field. Note that the same technique may be used to send the same information to groups of receivers, with each receiver in the group processing the information intended for the group members.
At the sending device, information intended for each receiver is converted into digital form and transmitted in a series of frames, with each frame being assembled by interleaving the bits from individual receiver bit streams. As should be apparent, the bits intended or “allocated” for each respective receiver are extracted from received frames to form the original bit stream. This process is herein referred to as decimation.
Prior to transmission, the interleaved frames may also be scrambled in an attempt to avoid long sequences of 0s or 1s. Before transmitting, the sender passes the entire frame through a scrambler, for example in PONs where scrambling is used to facilitate clock and data recovery. One scrambling technique employs additive scramblers where a PRBS (pseudo-random binary sequence) is generated using an LSFR (linear feedback shift register), and then added (XOR-ed) with the original bit stream. The original frame can be reconstructed in the receiver, typically using an identical or analogous LFSR arrangement.
While bit interleaving and scrambling may both be advantageously employed, their use together may introduce some inefficiency at the receivers. The sending device normally transmits at a much higher rate of speed than the rate at which the receivers need to accommodate their portion of the traffic. The downstream transmission of course arrives at the receiver at the transmission rate Rt, where it is then descrambled and then decimated. Only after decimation, where only the bits intended for the receiver are extracted from the frame, can the remaining elements of the receiver process the bits at a slower rate suitable for the smaller bit stream.
Needed then is a manner of handling bit-interleaved data transmission to enable more efficient processing, especially in the receiver. These needs and other needs are addressed by embodiments of the present invention.
Note that the techniques or schemes described herein as existing or possible are presented as background for the present invention, but no admission is made thereby that these techniques and schemes were heretofore commercialized or known to others besides the inventors.
The present invention is directed to a manner of processing bit-interleaved data traffic in a communication network. Specifically, the present invention may be used to advantage where bit-interleaved traffic is scrambled using a PRBS (pseudo-random binary sequence). In one aspect, the present invention is a communication system including at least one receiver, where the receiver includes a network interface for receiving an interleaved bit stream that has been scrambled using a PRBS (pseudo-random binary sequence), a decimator downstream of the network interface for extracting from the bit stream the bits allocated for the receiver, and a bit stream descrambler downstream of the decimator for descrambling the allocated bit stream. In some embodiments, the communication system may include a transmitter having a bit stream scrambler, and in that case the bit stream scrambler may include an LFSR. The communication system may also include the transmission medium by which the interleaved bit stream is transmitted to the receiver or receivers. As just one example the communication system may be a PON (passive optical network) with an OLT (optical line terminal) as a sending device and numerous ONUs (optical network units) as receivers. Other examples include wireless communication systems or even chip-to-chip communications.
In some embodiments, the communication system includes a descrambler having m-bit LFSR with a feedback loop, the feedback loop including an XOR gate adder having as a first input the output of the mth register of the LFSR and having as a second input an LFSR tap positioned between the first register of the LFSR and the mth register of the LFSR. In this embodiment, the LFSR feedback loop may but does not necessarily have a plurality of XOR gate adders in series, each XOR gate adder having as a second input an LFSR tap positioned between the first register of the LFSR and the mth register of the LFSR.
In some embodiments the communication system receiver receives a bit-interleaved transmission that has been scrambled by a PRBS that is an MLS (maximal length sequence). In that case the receiver may include a descrambler LFSR with an input selector having as a first input the output of the at least one XOR gate adder and as a second input the allocated bit stream from the decimator, wherein input selector selects the input to the first register of the LFSR. The input selector may be configured to select the second input for the first m bits of the allocated bit stream corresponding to a data frame and to select the first input otherwise. The descrambler may include an output XOR gate adder having as a first input the output of the at least one XOR gate adder and as a second input the allocated bit stream from the decimator, wherein the output of the output XOR gate adder is the descrambled data. The descrambler may also include an output selector having as a first input the output of the mth register of the LFSR and having as a second input the output of the at least one XOR gate adder; and as a second input the allocated bit stream from the decimator, wherein the output of the output XOR gate adder is the descrambled data.
In some embodiments the communication system may include an initialization unit for initializing the LFSR in the receiver. In this case the initialization unit may include state skipping logic. The communication system may also include a phase shifting computation unit.
In another aspect, the present invention is a method of processing bit-interleaved traffic in a communication system including receiving an interleaved bit stream that has been scrambled using a PBRS, decimating the bit stream to extract bits allocated for a receiver, and descrambling the allocated bit stream. The PBRS may in some cases be characterized by an MLS.
In some embodiments, the descrambler has an m-bit LFSR and, if so, the method may further include initializing the LFSR. Initializing the LFSR may be done using helper bits that have been inserted into the interleaved bit stream, or may include loading bits generated by an initialization unit.
Additional aspects of the invention will be set forth, in part, in the detailed description, figures and any claims which follow, and in part will be derived from the detailed description, or can be learned by practice of the invention. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention as disclosed.
A more complete understanding of the present invention may be obtained by reference to the following detailed description when taken in conjunction with the accompanying drawings wherein:
The present invention is directed to a manner of processing bit-interleaved data traffic in a communication network. Specifically, the present invention may be used to advantage where bit-interleaved traffic is scrambled using a PRBS (pseudo-random binary sequence). As mentioned above, bit-interleaved and scrambled data traffic may be advantageously employed in PtMP (point to multi-point) environments, where a single sending unit transmits to multiple receivers that each extract that portion of the data frames that are intended for them. Note, however, that the present invention may be useful and implemented in other environments as well, for example those employing PtP (point to point) communications (which may be viewed as a special case of PtMP).
Although bit interleaving brings some efficiency to a communication environment, it introduces some inefficiencies as well. In the conventional approach, illustrated in
As noted in
The inventors have discovered that this efficiency may be extended by proper configuration and operation of the receiver, especially in a PtMP environment where bit interleaving provides advantages. Several embodiments of this configuration will now be described in further detail.
In the embodiment of
In this embodiment, descrambler 115 then descrambles only the allocated bit stream 111 provided to it, a process further described below. Notably, while the transmitted bit stream 101 arrives at the receiver 100 at the rate Rt, the descrambling process is performed at the much lower rate Ri. This is possible because the descrambler 115 only has to descramble the allocated bit stream 111, which is received from decimator 110 at the lower rate. An increase in the efficiency is expected in all or almost all implementations. Note, however, that no particular rate differential or efficiency increase is a requirement of the present invention unless explicitly recited in a particular embodiment. The decimated and descrambled bit stream 120 is then passed along to downstream elements (not shown) of receiver 100 for further processing.
Note that in most implementations, there are multiple receivers of the bit stream 35, in many cases each processing the bit-interleaved and scrambled bit stream in the same fashion. While this is not a requirement, it is preferred, and for convenience the invention will be described herein based on a network in which all receivers are operating according to the same principle.
Some notation may be assigned for use herein. In its general form, a bit-interleaved frame (for example frame 20 shown in
Note that the allocation may be static or dynamic. Dynamic allocations can vary every frame or after several frames, and not necessarily in a periodic manner As mentioned above, the header field allocation is typically static and regular, and frequently any dynamic allocation is communicated to the relevant receiver or receivers in the header field of the transmission frame, although other mechanisms may be used. Some manner of ascertaining the allocation is of course necessary for the decimator to properly remove the allocated bits.
In implementing the present invention, it is of course desirable that the decimation and descrambling be done properly. The decimated bit stream must accurately include those bits intended for the receiver performing the decimation. As mentioned above this can be assured by allotment information that is either agreed upon in advance or extracted from the transmitted frames themselves, normally from the header portion.
Descrambling after the decimation may be successfully performed by processing the bit stream in a number of different ways, several of which will now be described as separate embodiments. The desirability of each of these embodiments may vary according to factors such as whether the data frame payload allotment is static or dynamic and the selection of the allocation interval Ki.
Note that all mathematical operations described herein are over the binary field unless stated otherwise or clear from the context.
In a first embodiment, a modified (interleaved, scrambled) bit stream is transmitted by the sending device and received by the receiver, for example at interface 105 of receiver 100 shown in
In the embodiment of
Note that the PRBS generated by the sending device (see
In the embodiment of
Note that as used herein, “memory” and “memory device” refer to physical data storage device that is non-transitory in the sense of being not merely a propagating signal.
Finally, in this embodiment descrambler 200 includes an output XOR gate adder 225 for combining the output of the LFSR 210, which is feedback loop 215, with the allocated bit stream as it is received at the descrambler 200. The output of XOR gate 225 is the descrambled allocated bit stream, which is provided to the remainder of the receive train (not shown) of the receiver. Operation of the descrambler 200 will now be explained.
At S
The process then begins with the insertion of helper bits (step 255) into the interleaved frame (or during the interleaving process). Presuming that an m-bit LFSR is used at the scrambler of the sending device (and descrambler of the receiver), the sending device inserts m bits with value 0 at the beginning of the payload for each receiver. To be specific, these m bits are inserted exactly in the allocation for each receiver i, that is, at intervals of Ki bits starting at position Si. In this embodiment, helper bits are inserted in the payload for all receivers in every transmitted frame. This bit-interleaved frame is then provided to the scrambler for scrambling (step 260), and the scrambled bit stream is then transmitted (step 265).
In the embodiment of
In this embodiment, when the payload section of a frame of the allocated bit stream is received in the descrambler, it is first used to initialize the LFSR. This can be accomplished, for example, by operation (not separately shown) of an input selector, such as the input selector 205 shown in
In the embodiment of
Note that this first embodiment may be used to advantage when the PRBS generated by the scrambler in the sending unit is an MLS (maximal length sequence) and Ki is a power of 2. It is a property of the PRBS that when Ki is a power of 2, the decimated MLS can be generated using the same LFSR as in the scrambler with an appropriate initialization. This property is applied in a novel manner in the present invention.
For convenience, the properties of this type of PRBS are reviewed here considering an m-bit LFSR where the active taps in the feedback path are determined by the recurrence relationship that the PRBS follows. If x0, . . . , xm-1 is the first m bits of the PRBS, that is the LFSR registers are initialized as Register 1=xm-1, Register 2=xm-2, . . . , Register m=x0, the recurrence is given by
The recurrence is alternately described by the generator polynomial g(X) given by
The coefficients gj determine the active taps. In the embodiment of
Again, however, when the helper bits are used to initialize the LFSR, the first m bits of the LFSR output need to be skipped because they are not needed to descramble the received data. So, the LFSR output after the XOR gates in the feedback path is used as it has the same effect of skipping the first m output bits.
Note that for the helper bits, instead of inserting m 0s, the sender can also insert any m-bit string that is also known to the receiver. In this case, the receiver XORs the first m received bits with the known string to obtain the initialization (not shown).
The second embodiment is in many respects similar to the first, and may also be used to advantage when the PRBS generated by the scrambler in the sending unit is an MLS (maximal length sequence) and Ki is a power of 2. It is also highly suitable for dynamic payload allocations. This embodiment, however, addresses an implementation where helper bits are inserted in the payload for a receiver i in the current frame only if the dynamic allocation to receiver i changes in the current frame with respect to the previous frame.
More specifically, the descrambler 300 of
The XOR gate adder 225 of
Operation of the descrambler 300 in this embodiment generally follows that shown in
Again, it is presumed that the receiver knows its allocation with respect to the payload, for example from the header portion of a frame. It can therefore detect in which frames there is a change in its dynamic (payload) allocation. This is sometimes made even easier by the presence of a dedicated bit in the header to indicate the allocation change.
In this embodiment, when the payload section of a frame of the allocated bit stream is received in the descrambler 300, it is first used to initialize the LFSR only when there has been a change in the allocation. Again, this can be accomplished, for example, by operation (not separately shown) of an input selector, such as the input selector 205 shown in
Finally, the output sequence of feedback loop 215 is selected by output selector 230 if the dynamic allocation changes in the current frame. As with the embodiment of
Note again that this second embodiment, like the first, may also be used to advantage when the PRBS generated by the scrambler in the sending unit is an MLS (maximal length sequence) and Ki is a power of 2.
This embodiment is highly suitable for static allocations. Initially, in this embodiment it is presumed that each receiver i=1, . . . , N has a known static allocation (Si, Ti, Ki), where Ki is a power of 2, and that the initial state of the LFSR in the scrambler is a fixed and known m-bit sequence. This is true, for example, for some existing standards such as GPON (gigabit PON). Finally, it is presumed that each receiver has an ID (typically in binary format) that is programmed into its hardware. For example, using a simple representation where receiver i has its ID given by i-1 in binary format, each receiver has an ID of length ceil(log2/N) bits. Under these conditions, an efficient descrambler may be configured as follows.
Reference is made here to
More specifically, the descrambler 320 of
In this embodiment, some processing is performed initially and offline, that it, before the transmission of interleaved data occurs. Given a scrambling polynomial and its initial state, the following processing is performed offline:
In a related embodiment, processing above can alternately be performed mathematically instead of simulation. For each receiver i=1, . . . , N, determine the first m bits x(i)=x(Si, Ki)=(x(Si, Ki)0, . . . , x(Si, Ki)m-1)T of the decimated MLS for receiver i by computing
x
(i)
=x(Si, Ki)=Hs
where Hs
Next, obtain HS
Note that in this embodiment, there is no change in the sender operation. It does not need to insert any bits as in embodiments one and two described above. This is very advantageous because static allocations are normally used in header fields where it would either be impossible or would be unreasonable to insert additional bits as headers are relatively very short compared to the payload.
In operation, the receiver descrambler implementation is very similar to the scrambler and uses the same LFSR as in the scrambler. The only difference is in the initialization of the LFSR in the descrambler. Instead of using a fixed m-bit sequence as in the scrambler, the descrambler employs the initialization unit designed during offline processing to find the initial state of the LFSR as shown in
Note also that this third embodiment, like the first two, may also be used to advantage when the PRBS generated by the scrambler in the sending unit is an MLS (maximal length sequence) and Ki is a power of 2.
This method is highly suitable for static and regular allocations. As described above, a static and regular allocation is a special case of static allocations In this embodiment it is presumed that the decimation factor K for the static-regular allocation is a power of 2, and that the initial state of the LFSR in the scrambler is a fixed and known m-bit sequence as is currently true for some standards such as GPON. Finally, it is presumed that each receiver has an ID (typically in binary format) which is programmed into its hardware. For example, using a simple representation where receiver i has its ID given by i-1 in binary format, each receiver has an ID of length ceil(log2N) bits. Under these conditions, we can design an efficient descrambler as follows.
In this embodiment, some processing is performed initially and offline, that it, before the transmission of interleaved data occurs. Given a scrambling polynomial and its initial state, the following processing is performed offline:
Note that again in this embodiment, there is no change in the sender operation. It does not need to insert any bits as in embodiments one and two described above. This is very advantageous because static allocations are normally used in header fields where it would either be impossible or would be unreasonable to insert additional bits as headers are relatively very short compared to the payload
In operation, the descrambler implementation is similar to the scrambler and uses the same LFSR as in the scrambler. The only difference is in the initialization of the LFSR in the descrambler. Instead of using a fixed m-bit sequence as in the scrambler, the descrambler computes the initial state corresponding to the receiver ID with the help of the phase shift computation unit designed during offline processing. The receiver operation is summarized in the flowchart in
Note that there may be a delay in running the descrambler for a number of cycles equal to the phase shift (that is, step 365 of
It is noted that the third and fourth embodiments are similar. It would be expected that the third embodiment has lower power consumption than this one (the fourth embodiment). However, this embodiment may potentially have an area benefit compared with the third embodiment if it is designed intelligently. The initial state of the scrambler, for example, can be picked intelligently so as to make the phase shift computation unit very simple. This can be accomplished by a simple trial and error method where the preprocessing steps are repeated for different scrambler initial states until a simple relationship between the receiver ID and phase shift is found. This is illustrated below. In this case, since the phase shift computation is simple and the remaining part of the initialization is accomplished using the same LFSR, there can be a potential savings in chip area.
The following examples 1 and 2 illustrate some sample results from the preprocessing stage. In the examples below, the starting position Si=i and the receiver ID is i-1 for each of the receivers i=1, . . . , N. The decimation factor K is the same as the number of receivers N. The phase shift corresponding to each receiver ID is computed using software simulations. These results are then used to derive a mathematical relationship between the phase shift and receiver ID. This mathematical formula can then be used to design the phase shift computation unit.
Presume that N=K=32 and the scrambling polynomial (i.e., the polynomial which specifies the length and taps of the LFSR used by the scrambler) is 1+x6+x7. Note that this is the same scrambling polynomial that is used by GPON. If the initial state of the scrambler is all 1s, i.e., Register 1=1, . . . , Register 7=1, as specified by GPON, then the corresponding relationship between the receiver ID and the phase shift is given in
Phase shift=22×Receiver ID+109 if Receiver ID<=4,
22×Receiver ID−18 if Receiver ID>=5,
or
Phase shift=(22×Receiver ID+109) mod (27-1),
to describe the relationship in
On the other hand, by experimenting with different initial states for the scrambler, we can find a much simpler relationship between the receiver ID and phase shift. If the scrambler initial state is set as [0, 0, . . . , 0, 1], i.e., Register 1=0, Register 2=0, . . . , Register 7=1, then the corresponding relationship between the receiver ID and the phase shift is given in
Phase shift=22×Receiver ID.
The multiplication of the receiver ID by a power of 2 can be easily implemented in hardware by a simple left shift operation. Therefore, we obtain a very simple implementation of the phase shift computation unit.
Suppose that N=K=256 and the scrambling polynomial (i.e., the polynomial which specifies the length and taps of the LFSR used by the scrambler) is 1+x18+x23. If the initial state of the scrambler is all 1s, i.e., Register 1=1, . . . , Register 23=1, then the corresponding relationship between the receiver ID and the phase shift is given in
Phase shift=215×Receiver ID+5615754 if Receiver ID<=84,
215×Receiver ID−2772853 if Receiver ID>=85,
or
Phase shift=(22×Receiver ID+109) mod (27-1),
to describe the relationship in
On the other hand, by experimenting with different initial states for the scrambler, we can find a much simpler relationship between the receiver ID and phase shift. If the scrambler initial state is set as [0, 0, . . . , 0, 1], i.e., Register 1=0, Register 2=0, . . . , Register 23=1, then the corresponding relationship between the receiver ID and the phase shift is given in
Phase shift=215×Receiver ID.
The multiplication of the receiver ID by a power of 2 can be easily implemented in hardware by a simple left shift operation. Therefore, we obtain a very simple implementation of the phase shift computation unit.
Note that if the initial state of the scrambler is not fixed, then the method of the fourth embodiment may be modified at the cost of some additional complexity. In the offline processing stage, simulations or emulations can be used to design a phase shift computation unit that takes both the receiver ID and the scrambler initial state as inputs, and outputs the phase shift of the decimated MLS corresponding to the receiver and scrambler initialization.
Finally, note that in this fourth embodiment, to compute the initialization the phase shift corresponding to each receiver is computed in preprocessing, that is, offline. Once the phase shift is known, the correct initialization to generate the decimated MLS can be found by using the scrambler initial state in the LFSR and running the LFSR for a number of cycles equal to the phase shift. Using the LFSR state after so many cycles as the initial state at the descrambler, we generate the same MLS with the correct phase shift, i.e., we generate exactly the decimated MLS as needed. This embodiment is suitable for implementations where the decimation factor K for all receivers is a power of 2, since the decimated MLS in this case for each receiver is the same as the original MLS except for a phase shift. Therefore, the decimated MLS can be generated using the same LFSR as in the scrambler with an appropriate initialization.
As background for this embodiment and the two that follow, recall that the descrambling methods previously described may be used where (a) the PRBS used by the scrambler is a maximal length sequence (MLS); and (b) at any receiver i where the decimation factor Ki is a power of 2.
Although these conditions are inherently true in many situations, or the system may be designed such that they are true, there remains the possibility that we can be forced to a situation where at least one of the above conditions is not true. The method proposed in this embodiment does not impose or rely on any of these above conditions (a) or (b). This advantage, however, comes at the price of relatively higher complexity. Furthermore, the method of this embodiment may be used in combination with the previously described fourth embodiment.
The state of the descrambler is given by the vector r=(rm, . . . r1) where ri is the bit value stored in register i. Indeed, given the state is r, the first m bits generated by the LFSR are exactly (x0, . . . , xm-1)=(rm, . . . , r1).
First, a method is described to implement a descrambler that skips a fixed number S states ahead from the current state (with respect to the original LFSR in the scrambler) during each clock cycle. Note that S is not necessarily a power of 2, and the LFSR used in the scrambler can generate any PRBS, which is not necessarily an MLS. The general implementation of the skipping descrambler is shown in
r(ei, S)=(rm(ei, S), . . . , r1(ei, S))
r′=CS r.
x(S, 1)=CS x, (2)
x(0, K)=DK x, (3)
where CS and DK are m×m matrices which depend on the starting position S and decimation factor K respectively. The matrices CS and DK are calculated as follows. Let α be a root of the polynomial g(X). Then, we have
To compute CS: First, we use equation (4) to compute an expression for αS+j, j=0, 1, . . . , m-1, in terms of αl, l=0, 1, . . . , m-1 to obtain
Further, CS may be obtained by taking the jth row of the matrix to contain the entries cj,0, . . . , cj,m-1, where the m rows of CS are numbered j=0, 1, . . . , m-1.
And to compute DK: First, use equation (4) to compute an expression for αjK,j=0, 1, . . . , m-1, in terms of αl, l=0, 1, . . . , m-1 to obtain
Next, obtain DK by taking the jth row of the matrix to contain the entries dj,0, . . . , dj,m-1, where the m rows of DK are numbered j=0, 1, . . . , m-1.
Also note the following. If the recurrence relation for the LFSR is given by construct the m×m matrix G as follows: ′
where 0m-1 is the column vector with m-1 zeros and lm-1 is the (m-1)×(m-1) identity matrix. Then, CS can also be computed using the relation
CS=GS.
This embodiment is related to the fifth, described above. The method proposed in this embodiment does not impose or rely on the conditions (a) the PRBS used by the scrambler is a maximal length sequence (MLS); or (b) where the decimation factor Ki is a power of 2. This advantage, however, again comes at the price of relatively higher complexity. Furthermore, the method of this embodiment may be used in combination with the previously described fourth and fifth embodiments.
The state of the descrambler is again given by the vector r=(rm, . . . r1) where ri is the bit value stored in register i. Indeed, given the state is r, the first m bits generated by the LFSR are exactly (x0, . . . , xm-1)=(rm, . . . , r1).
In this embodiment a method is proposed for skipping a variable number of cycles ahead. Initially, presume the descrambler required to skip a variable number S states ahead from the current state. Suppose that S can be any value that is at most Smax (given). The trivial way is of course to implement the logic for fixed skipping for each S that is at most Smax and use one of them as desired. The method of this embodiment is believed to be more efficient and is proposed below.
As an example, presume Smax=250. Then, p=ceil(log2(251))=8. In this case, the logic for skipping 1, 2, 22, . . . , 27 cycles are each implemented. Suppose we wish to skip S=200 cycles ahead at some point. The binary representation for 200 is given by 11001000. So, skipping 200 cycles ahead is accomplished by cascading the logic for skipping ahead by 27, 26 and 23 cycles.
Note that minor variations of steps 2 and 3, immediately above, are possible. For example, instead of implementing the logic skipping for 2i cycles separately, this can also be done by skipping 2i-1 cycles twice. Other variations are possible based on the decomposition property (see equation 11, below; eighth embodiment), as will be explained below in further detail.
This embodiment is related to the fifth and sixth, described above. The method proposed in this embodiment does not impose or rely on the conditions (a) the PRBS used by the scrambler is a maximal length sequence (MLS); or (b) where the decimation factor Ki is a power of 2. This advantage, however, again comes at the price of relatively higher complexity. Furthermore, the method of this embodiment may be used in combination with the previously described fourth, fifth, and sixth embodiments.
The state of the descrambler is again given by the vector r=(rm, . . . r1) where ri is the bit value stored in register i. Indeed, given the state is r, the first m bits generated by the LFSR are exactly (x0, . . . , xm-1)=(rm, . . . , r1).
In this embodiment a method is proposed for descrambling bit-interleaved traffic. Initially, suppose the allocation for receiver i is (Si, Ti, Ki). In order to produce the bits for descrambling receiver i's allocation, use the method for skipping a variable number of cycles as follows:
As background to the eighth embodiment, suppose an m-bit LFSR is used in the scrambler and consider a receiver i with allocation (Si, Ti, Ki) where Ki is a power of 2. In order to produce the decimated MLS corresponding to receiver i using the same LFSR, it needs to be initialized appropriately.
The appropriate initialization of the LFSR is given by the first m bits x(Si, Ki)=(x(Si, Ki)0, . . . , x(Si, Ki)m-1)T of the decimated MLS for receiver i. This can be mathematically computed as x(Si, Ki) using equations (8) and (9), above. These computations depend on the allocation parameters Si, Ki, but it is manageable if the allocations are static. However, if Si and Ki vary dynamically, a practical method to perform the computations is desirable.
This embodiment outlines how such an initialization unit can be designed for dynamic allocations. The function of the initialization unit in a descrambler according to this embodiment is shown in
First, observe that the following property is true:
x(Si, Ki)=HS
where DKi and CSi are determined by equations (2)-(6). This is because x′=CSi x provides the first m bits of the MLS starting at position Si. Now, considering the MLS starting with x′ (i.e., at position Si of the original MLS), computing DKi x′ provides the first m bits of the MLS decimated by factor Ki. Thus, equation (10) provides a decomposition of the computation where CSi accounts for skipping the first Si positions and DKi accounts for the decimation by factor Ki.
In general, the logic for multiplying a binary m×m matrix A by a binary vector x=(x0, . . . , xm-1)T
x′=A x
is simple to implement and this is possible in several ways. As an example
where aij, with i,j=1, . . . , m, is the entry in A in row i and column j. The main problem in the implementation of equation (10) is that Si and Ki can vary.
Now, in order to support varying values of Si, the ideas described in embodiment six, above, can be used. Presume that Si can be any value that is at most Smax and p=ceil(log2(Smax+1)). The logic for skipping a fixed number of cycles (i.e., positions in the original MLS) ahead is implemented for every S′=2i, where i=0, 1, 2, . . . , p-1. This logic may be based on the fifth embodiment, above, but can be based on other schemes as well. In order to skip Si=(bp-1, bp-2, . . . , b0) cycles ahead, where (bp-1, bp-2, . . . , b0) denotes the binary representation of Si, a combination of the fixed skipping logic are cascaded as needed. Specifically, the logic corresponding to skipping S′=2i cycles is cascaded if bi=1.
The decomposition of Si to support varying values using its binary representation as described above is quite convenient especially in hardware. More generally, the decomposition is based on the following basic property:
If Si=a+b, then CSi=Ca·Cb where a, b are positive integers. (11)
Based on this property, there are several possible decompositions, one of which may suit the particular application. For example, the logic for skipping a fixed number of cycles can be implemented for S′=10i, for i=0, 1, 2, . . . . Then, in order to skip, say Si=154 cycles, we call the logic for skipping S′=102, 101, 100 cycles once, five times, and four times respectively in a cascade manner.
In order to support varying values of Ki, we use the following decomposition property which holds when Ki is a power of 2:
If Ki=a·b with a=2a′ and b=2b′, then DKi=Da·Db. (12)
Thus, in the simplest implementation, it is only necessary to realize the logic for D2, i.e, decimation by factor 2. Then, decimation by any Ki=2k can be realized by calling the logic for D2 in a cascade manner for k times since D2̂k=(D2)k. In a more sophisticated implementation, the decimation logic for DK′ where K′=2x, 2y, 2z, . . . can be implemented. Then, in order to decimate by factor K1=2x+y+z, we cascade the logic for decimation by K′=2x, 2y and 2z; to decimate by factor K2=2x+y, we cascade the logic for decimation by K′=2x and 2y; and so on.
To summarize, the initialization unit of the descrambler operates in the following steps, which is also illustrated in
Finally, the m bits output from the initialization unit are used to initialize the LFSR (which is the same as in the scrambler) to produce exactly the decimated MLS required for descrambling the data.
Note that the sequences of operation illustrated in the drawings and explained herein by reference to them represent exemplary embodiments; some variation is possible within the spirit of the invention. For example, additional operations may be added to those shown, and in some implementations one or more of the illustrated operations may be omitted. In addition, the operations of the method may be performed in any logically-consistent order unless a definite sequence is recited in a particular embodiment. The same is true for the skipping logic and the decimating logic illustrated in the drawings, for example
Although multiple embodiments of the present invention have been illustrated in the accompanying Drawings and described in the foregoing Detailed Description, it should be understood that the present invention is not limited to the disclosed embodiments, but is capable of numerous rearrangements, modifications and substitutions without departing from the invention as set forth and defined by the following claims. For example, consider a sender that broadcasts the same information to all N receivers. Note that all N receivers are interested in the same information in this example. So, a broadcast scheme rather than a multiplexing scheme is used. Suppose the sender broadcasts at a high rate of, say, 10 Gbps. Further, suppose that some of the receivers can handle only smaller rates of reception, say, 1 Gbps, 2.5 Gbps etc. In this case, each such receiver obtains a set of intermittent bits from the original transmission at a rate corresponding to the receiver's limit. Once again, the receiver is faced with the problem of descrambling a set of intermittent bits. Our techniques will be applicable in this situation too.
The present disclosure is related to and claims priority from U.S. Provisional Patent Application Ser. No. 61/617,410, entitled Methods for Efficient Descrambling of Bit-Interleaved Traffic and filed on 29 Mar. 2012, the entire contents of which are incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
61617410 | Mar 2012 | US |