Driven by the increasing prevalence of digital content and multi-media applications, of late there has been a dramatic growth in the need for home networking. This has fuelled new development of home networking technology both wired and wireless. One such technology—Multimedia over Coax Alliance (MoCA) V1.0 Specification (identified herein as [1] or ‘the standard’) describes the MAC and PHY layers for high-rate communications over the coaxial TV-cable plant that is present in most homes. MoCA makes use of a 256-tone OFDM based-PHY to provide for a data-rate of up to 310 Mbps at a range of up to 300 feet on a 50 MHz channel. In order to provide for reliable communications, the standard specifies the use of a Reed Solomon (RS) forward error correction scheme drawn from Galois Field GF (256) with code-words having sizes chosen from the set {(32,40), (36,44), (64,74), (128,140), (192,208)} as specified in the standard. The respective byte-error correction capabilities for these codes are (4, 4, 5, 6, 8) respectively. Thus, the (32,40) code-word can correct 4 byte-errors in a block of 32 information-bytes using 8 parity-bytes, while the (192,208) code-word can correct for 8 byte-errors in a block of 192 information-bytes using 16 parity-bytes. Of the code-words specified in the standard, the (36,44) code is used only for beacon transmission and not for data transmission.
FIG. 1 (Prior-art) depicts the steps carried out by a standard compliant transmitter in converting a MAC-packet to a PHY-packet for transmission over the channel. MAC-frame 101 depicts a packet which is handed to the PHY for transmission. The PHY performs FEC-padding by appending redundant pad information 106 to the MAC-frame 101 to produce resultant FEC-padded frame 105.
The FEC-padded frame 105 is encrypted to produce the encrypted-frame 110. The encrypted-frame 110 is FEC-encoded into individual code-blocks each code-block constituted of a data-section and a parity-section. As an example, we depict the encoding of encrypted-frame 110 into two FEC code-blocks—116 and 117, each of which is constituted of data-section—116a and 117a, and parity-section—116b and 117b, respectively. The collective FEC-encoded frame is referred to as FEC-encoded frame 115 in FIG. 1.
The FEC-pad 106 applied to MAC-frame 101, above is determined such that the eventual FEC-encoded frame can be constituted of an integer number of FEC code-words.
An ACMT-pad 121 comprising of redundant pad information is appended to FEC-encoded frame 115 to produce an ACMT-padded frame 120, as shown in FIG. 1. The ACMT-padded frame 120 is Byte scrambled to produce a Byte-scrambled frame 125, as shown in the Figure.
The Byte-scrambled frame 125 is further decomposed into an integer number (three as per this example) ACMT symbols—130a, 130b and 130c, collectively called the Subcarrier modulation mapped frame 130.
The ACMT-pad 121 applied to FEC-encoded frame 115, above is determined such that the eventual Subcarrier modulation mapped frame 130 can be constituted of an integer number of ACMT symbols.
The Subcarrier modulation mapped frame 130 is bin-scrambled to produce a bin scrambled frame 135. The PHY performs ACMT modulation on 135 and inserts the appropriate preamble 141 to generate the ACMT Modulated frame 140. Frame 140 is further filtered and up-converted to the appropriate RF-carrier frequency to generate the final PHY packet 145, which is transmitted over the channel.
A MoCA standard compliant receiver receives the transmitted PHY packet 145 and demodulates, decodes and decrypts the packet to recover the originally transmitted MAC-frame 101.
The MoCA PHY makes use of an adaptive constellation multi-tone (ACMT) modulation scheme whereby a transmitter modulates each tone of its OFDM-symbol differently in accordance with the SNR expected for that tone at the receiver, for a particular (transmitter, receiver) pair. Pre-requisite to using ACMT-modulation is the profiling of the channel between all-pairs of nodes in the network. The standard defines a means whereby a new-node (NN) joining a network performs modulation profiling with all existing nodes (ENs) in the network, allowing the NN and ENs to determine the per-tone bit-loading pattern to be used for communication between them. Additionally, nodes (NN and ENs) also determine the preamble-type to be used for data communication between them.
Nodes refresh their profile information during periodic link maintenance operations (LMOs) as specified in the standard. In addition to updating their modulation profiles and preamble-types, MoCA nodes also determine the delay-spread of the channel between them and their peer-nodes and correspondingly adjust their cyclic-prefix in order to compensate for the same.
The modulation profiling of the channel between two nodes is performed by the transmitter sounding the channel with a packet comprising 256-tone ACMT symbols, referred to as a ‘Type-1 Probe’ in the standard. The receiver determines the per-tone SNR on each tone and determines its bit-loading capacity. It also determines the preamble-type to be used for subsequent transmissions from the transmitter. The determined per-tone bit-loading capacity and preamble-type are fed-back to the transmitter by means of a ‘Type-1 Probe Report’ as described in the standard. The transmitter uses this modulation profile to effect subsequent transmissions. The sum of the per-tone bit-loading capacities across all tones in the 256-tone ACMT symbol is equivalent to the number of bits per ACMT symbol defined as Nbas in the standard and henceforth referred to as Nbas256.
Likewise, the transmission of Type-3 Probes and Type-3 Probe reports as defined in the standard are used to determine the cyclic prefix to be used.
Collectively, the modulation-profile, preamble-type and cyclic-prefix to be used for a transmission/reception are referred to as a ‘PHY-Profile’.
Depending on the nature of the transmission and its recipients, the standard specifies the use of different PHY-profiles between two nodes. In general, the specific bit-loading pattern, preamble-type and cyclic-prefix to be used for communication between two nodes may be identified by the 3-tuple comprising: the source node identifier, the destination node identifier and the PHY-profile identifier.
Nodes in a MoCA network exchange data with one another using a TDMA-based MAC protocol. One of the nodes in the network is designated as the network coordinator (NC)—which in addition to transacting data on the network, is responsible for coordinating medium-access among all nodes on the network, among other functions defined in [1]; while the other nodes are referred to as existing-nodes (ENs).
An EN, with data to transmit to another node first transmits a reservation-request (RR) to the NC. A RR may consist of a plurality of Request Elements, each of which reserves bandwidth for a particular transmission. The standard specifies two types of Request elements—Asynchronous Data/Control Reservation Request element and Link-Probe Reservation Request element. The Asynchronous Data/Control Reservation Request element is used for reserving bandwidth for upper-layer data and MoCA control frame transmissions, while the Link Probe Reservation Request Element is used for reserving bandwidth for probe transmissions.
As per the standard, the Asynchronous Data/Control Reservation Request Element comprises information elements as listed in the structure below:
Asynchronous Data/Control Reservation Request Element :={FRAME_SUBTYPEFRAME_TYPEDESTINATIONPHY_PROFILEREQUEST_IDPARAMETERSPRIORITYDURATION}
The NC computes a schedule for transmission based on the Reservation Request Elements received from nodes in its network during a scheduling interval referred to as a ‘MAP-cycle’ in the standard. The NC further broadcasts a ‘MAP-frame’ which defines the schedule for all medium activity in the subsequent MAP-cycle to all ENs in the network. Nodes in the network then transmit and/or receive data in accordance with the schedule of the MAP-frame.
A MAP-frame is comprised of a plurality of allocation-units (AUs), each of which specifies an allocation of time on the medium to a transmission as requested via a request element. The standard specifies two types of AUs—Probe Allocation Unit (PAU) and Data Allocation Unit (DAU) respectively.
A PAU is used to allocate time/bandwidth to a probe transmission.
A DAU is used to allocate bandwidth to data and control traffic on the network, providing information about the start-time, the type of transmission to be scheduled and the profile-identifier, along with the source and destination node IDs for the transmission. As per the standard, a DAU comprises of information elements as listed in the structure below:
Data Allocation Unit :={FRAME_SUB_TYPEFRAME_TYPESRCDESTINATIONPHY_PROFILEREQUEST_IDIFG_TYPEOFFSET}
In accordance with the methods of the standard, the process of computing the FEC-pad 106 at the transmitter is such that the receiver needs knowledge only of the number of bits per ACMT symbol and the number of ACMT symbols in the PHY data packet payload in order to unambiguously determine the number and sizes of the RS code-words in the packet, thereby setting up the receiver for correct reception.
A MoCA receiver may determine the number of ACMT symbols to be received based on the difference in the OFFSET field between successive allocation-units in the MAP-frame, as per the method in the standard. Likewise, a receiver may determine the number of bits per ACMT symbol, the preamble-type and the length of cyclic-prefix based on the PHY_PROFILE, SRC and DESTINATION fields specified in the DAU.
As per FIG. 1, a MoCA PHY packet comprises of a preamble 141 and the PHY data payload 142. While payload 142 carries the encrypted, encoded, scrambled and modulated MAC-data, preamble 141 comprises of a known sequence. The various parts of preamble 141 are used to facilitate various aspects of packet acquisition including AGC gain settling, symbol timing estimation, frequency offset estimation etc.
The channel estimation sequence (CES) is used by the receiver to derive channel-estimates, which are subsequently used to equalize the payload ACMT symbols prior to demodulation and decoding. The MoCA preambles specified in the standard make use of a CES based on 256-tone ACMT symbols.
While MoCA [1] was originally designed to provide a usable MAC-layer throughput of 125 Mbps, it was soon determined that higher throughputs were required to support the evolving ‘bandwidth-hungry’ applications on home networks. MoCA V1.1 Draft Specification (referred to herein as [2]) was defined as a set of MAC-layer extensions to [1] that among other functionality, augmented the MAC-layer throughput of [1] to 180 Mbps. However, this still falls short of requirements set by newer network usage scenarios, which require even higher PHY data-rates.