In a conventional Multimedia Over Coaxial Alliance (MoCA) network, data packets are transmitted over a coaxial communication channel having a bandwidth of 50 MHz. FIG. 2 illustrates a conventional transmission processing channel 200 in a MoCA node. As shown in FIG. 2, data is first modulated at a modulator 202. Modulator 202 typically modulates the data using a high order modulation technique such as 16-bit quadrature amplitude modulation (16-QAM), 32-QAM, 64-QAM, 128-QAM, or 256-QAM. The modulated data is then power loaded and shaped at shaper 204 such that the signal spectrum exhibits an x/(sin x) frequency characteristic. Power loading includes adding power to particular subcarriers to compensate for the power roll off that occurs prior to transmission at the digital-to-analog converter (DAC) 212. After power loading and shaping, the data is transformed into the time domain using an Inverse Fast Fourier Transform (IFFT) 206. The output of the IFFT has 10-bit per sample precision which is input to a digital-to-analog converter (DAC) 212 to convert the data from a digital signal to an analog signal so it may be transmitted over the communication channel.
Each data packet in a conventional MoCA network has a payload. A preamble is typically appended to the data packet. The preambles are used to calibrate the receiver to receive the following data with the appropriate gain and frequency compensation. The preambles are also used by the receiver to determine when the first OFDM symbol of the payload will be received at the receiver. FIG. 1 illustrates the five unique preambles of four different lengths that are utilized in MoCA networks. The preamble lengths are varied to maximize the available bandwidth for data transmission. As shown in FIG. 1, the two most robust preambles are the Beacon preamble and the MAP preamble. The Beacon and MAP preambles are the most robust and least efficient preambles because they are used for network coordination and contain the most critical information. The second most robust preamble type is the Admission Probes preamble. This preamble is used by a transmitter to accommodate a receiver that has little-to-no a-priori information about the link over which the transmitter will transmit data. The second most efficient preamble is the Broadcast/Data preamble. The Broadcast/Data preamble is used to transfer data from a transmitter to one or more receivers and assumes the receiving node has some a-priori information about the link. The most efficient, and thus shortest, preamble is the High-Throughput Unicast Data preamble. This preamble is appended to the beginning of a data packet when the receiver has a substantial amount of a-priori information about the communication channel.
As shown in FIG. 1, each of these five preambles is formed from five unique components. There are four long components, L1, L2, L3, and L4, and one short component, SS. Each of the long components is a 64-bit binary phase shift key (BPSK) modulated time domain bit sequence, and the short component is a 30-bit BPSK time domain bit sequence. The short sequence is the first component of a generic preamble and may be used by a receiving node to adjust the automatic gain control. Two of the long sequences, L1 and L2, may be used to finalize the automatic gain control adjustment, to perform burst detection, and to estimate the frequency offset between the transmitting node and the receiving node. The other two long sequences, L3 and L4, are used to identify link control packets to perform network coordination, admission, and maintenance. These components are generated in the time domain by modulating the following binary sequences:
                    ⁢          S      =              {                  0          ,          1          ,          1          ,          1          ,          0          ,          0          ,          0          ,          0          ,          1          ,          0          ,          0          ,          0          ,          0          ,          1          ,          1          ,          1          ,          1          ,          1          ,          0          ,          0          ,          0          ,          1          ,          0          ,          0          ,          1          ,          1          ,          1          ,          1          ,          1          ,          0                }                        L      ⁢                          ⁢      1        =          {                                                  0              ,              0              ,              0              ,              0              ,              0              ,              0              ,              1              ,              0              ,              1              ,              0              ,              1              ,              0              ,              0              ,              1              ,              1              ,              0              ,              0              ,              1              ,              0              ,              0              ,              0              ,              1              ,              0              ,              0              ,              1              ,              0              ,              1              ,              1              ,              0              ,              1              ,              1              ,              0              ,                                                                          0              ,              0              ,              1              ,              1              ,              1              ,              0              ,              1              ,              0              ,              0              ,              0              ,              0              ,              1              ,              1              ,              0              ,              1              ,              0              ,              1              ,              1              ,              1              ,              0              ,              0              ,              1              ,              1              ,              1              ,              1              ,              0              ,              1              ,              1              ,              1              ,              1              ,              1              ,              0                                          }                  L      ⁢                          ⁢      2        =          {                                                  1              ,              0              ,              1              ,              1              ,              1              ,              0              ,              0              ,              1              ,              1              ,              1              ,              1              ,              0              ,              1              ,              1              ,              1              ,              1              ,              1              ,              0              ,              0              ,              0              ,              0              ,              0              ,              0              ,              1              ,              0              ,              1              ,              0              ,              1              ,              0              ,              0              ,              1              ,              1              ,                                                                          0              ,              0              ,              1              ,              0              ,              0              ,              0              ,              1              ,              0              ,              0              ,              1              ,              0              ,              1              ,              1              ,              0              ,              1              ,              1              ,              0              ,              0              ,              0              ,              1              ,              1              ,              1              ,              0              ,              1              ,              0              ,              0              ,              0              ,              0              ,              1              ,              1              ,              0              ,              1                                          }                  L      ⁢                          ⁢      3        =          {                                                  1              ,              1              ,              0              ,              1              ,              0              ,              1              ,              0              ,              1              ,              1              ,              1              ,              0              ,              0              ,              1              ,              1              ,              0              ,              0              ,              0              ,              0              ,              1              ,              0              ,              0              ,              0              ,              1              ,              0              ,              1              ,              0              ,              0              ,              1              ,              0              ,              1              ,              1              ,              0              ,                                                                          0              ,              1              ,              0              ,              0              ,              1              ,              1              ,              1              ,              0              ,              1              ,              1              ,              0              ,              1              ,              1              ,              1              ,              1              ,              0              ,              0              ,              0              ,              1              ,              1              ,              1              ,              1              ,              1              ,              0              ,              1              ,              0              ,              0              ,              0              ,              0              ,              0              ,              0              ,              1                                          }                  L      ⁢                          ⁢      4        =          {                                                  1              ,              0              ,              0              ,              1              ,              0              ,              1              ,              1              ,              1              ,              0              ,              1              ,              1              ,              1              ,              1              ,              0              ,              1              ,              0              ,              0              ,              1              ,              1              ,              0              ,              1              ,              0              ,              1              ,              0              ,              1              ,              1              ,              0              ,              1              ,              1              ,              0              ,              0              ,              0              ,                                                                          0              ,              1              ,              1              ,              1              ,              1              ,              1              ,              0              ,              0              ,              1              ,              0              ,              0              ,              0              ,              1              ,              1              ,              0              ,              0              ,              1              ⁢                                                          ,              1              ,              1              ,              0              ,              0              ,              0              ,              1              ,              0              ,              1              ,              0              ,              0              ,              0              ,              0              ,              0              ,              0              ,              1                                          }      
Conventional MoCA nodes store these binary sequences in a lookup table 214 as shown in FIG. 2. To append a preamble to the beginning of a data packet, each preamble component is accessed from the lookup table 214. Each component is π/4 binary phase-shift keying (BPSK) modulated as a time domain signal at modulator 218. For example, a zero in the binary sequence lookup table 214 gets mapped to a 1+j complex constellation point and a one in the binary sequence lookup table gets mapped to a −1−j complex constellation point. The component is multiplied by a scale factor α at multiplier 208 to ensure that the preamble power is scaled to the appropriate value relative to the data portion of the packet. The scaled component is rounded at rounding block 210 to match the preamble to the bit per sample precision of the DAC 212, which is 10-bits. Once the preamble has been generated, switch 216 will change orientations so it will pass the data from IFFT 206 to DAC 212.
In the conventional MoCA network with a 50 MHz bandwidth, generating π/4 BPSK modulated preambles in the time domain by accessing the components stored in the preamble sequence lookup table 214 is sufficient to calibrate a receiver. However, as the bandwidth of a MoCA network is constrained below 50 MHz, generating a preamble using time domain modulation is inadequate to accurately represent the spectrum of the data at a receiver because the time domain nature of the preamble generation does not enable spectral shaping. As a result of the preamble's poor spectral representation of the data portion of the packet, the receiver calibration will suffer and data will be lost.
Accordingly, a method for generating a spectrally compliant preamble in a MoCA network with a reduced bandwidth is desired.