Channel adaptation to compensate for interference from neighbor powerline communication networks

A first powerline communication device, associated with a first powerline communication network, determines a plurality of time intervals in a beacon period of the first powerline communication network based, at least in part, on variations in levels of interference from a second powerline communication network which shares a powerline communication medium with the first powerline communication network. The first powerline communication device determines at least one channel adaptation parameter for each of the plurality of time intervals in the beacon period to compensate for effects of the variations in the levels of interference from the second powerline communication network. The first powerline communication device applies the at least one channel adaptation parameter corresponding to one or more of the plurality of time intervals in the beacon period when transmitting data via the powerline communication medium.

BACKGROUND

Embodiments of the inventive subject matter generally relate to the field of communication networks, and, more particularly, to channel adaptation to compensate for interference from a neighbor powerline communication network on a shared powerline communication medium.

In a powerline communication (PLC) system, two or more PLC networks may utilize a shared PLC medium. For example, in a SoHo (small office/home office) environment, powerline wiring inside a dwelling unit may be shared by two or more PLC networks for providing connectivity between various devices. Multiple PLC networks may share the PLC medium using time division multiple access (TDMA), carrier sense multiple access (CSMA), etc. Such sharing of the PLC medium by multiple PLC networks can reduce the performance of PLC due to interference from neighbor PLC networks. For example, a transmission in a first PLC network may appear as interference to network devices in a second PLC network.

SUMMARY

Various embodiments are disclosed for implementing channel adaptation to compensate for neighbor network interference in powerline communication networks. In one embodiment, at a powerline communication device associated with a first powerline communication network, a plurality of time intervals in a beacon period of the first powerline communication network are determined based, at least in part, on variations in levels of interference from a second powerline communication network which shares a powerline communication medium with the first powerline communication network. At least one channel adaptation parameter is determined for each of the plurality of time intervals in the beacon period to compensate for effects of the variations in the levels of interference from the second powerline communication network. The at least one channel adaptation parameter corresponding to one or more of the plurality of time intervals in the beacon period is applied when transmitting data via the powerline communication medium.

DESCRIPTION OF EMBODIMENT(S)

The description that follows includes exemplary systems, methods, techniques, instruction sequences and computer program products that embody techniques of the present inventive subject matter. However, it is understood that the described embodiments may be practiced without these specific details. For instance, although examples refer to performing channel adaptation in a first PLC network to compensate for interference from a neighbor PLC network sharing a PLC medium, embodiments are not so limited. In other embodiments, channel adaptation may be performed to compensate for interference from multiple neighbor PLC networks which share the PLC medium. In other instances, well-known instruction instances, protocols, structures and techniques have not been shown in detail in order not to obfuscate the description.

Noise and channel characteristics of the PLC medium can vary as a function of the alternating current (AC) line cycle of the PLC medium. Channel adaptation techniques can utilize the noise and channel characteristics of the PLC to synchronize channel adaptation with the AC line cycle. In some techniques, time intervals in a beacon period of a powerline communication network may be determined based on varying levels of channel noise. Channel adaptation can then be performed separately for each of the time intervals in the beacon period. Since the beacon period of the powerline communication network is related to the AC line cycle, channel adaptation can also be implemented in synchronization with the AC line cycle.

Various embodiments are disclosed for performing channel adaptation to compensate for interference from a neighbor PLC network. Channel adaptation can be performed in a PLC network to compensate for interference from the neighbor PLC network by synchronizing the channel adaptation with the beacon period of the PLC network, and in turn with the AC line cycle. Interference from the neighbor PLC network is typically periodic in nature (e.g., periodic with the beacon period of the neighbor PLC network), and the periodicity of interference can be utilized to perform the channel adaptation in the PLC network. For example, transmissions on a powerline medium in the neighbor PLC network may be scheduled in accordance with a TDMA scheme, and PLC devices in the neighbor PLC network may be scheduled to transmit for certain time intervals of the beacon period of the neighbor PLC network. Based on the allocation of the powerline medium for certain time intervals of the beacon period to the PLC devices of the neighbor PLC network (and also a time offset associated with the beacon period of the neighbor PLC network), periodic interference from the PLC devices in the neighbor PLC network can be determined. On determining the periodic interference from the PLC devices in the neighbor PLC network, one or more channel adaptation techniques can be utilized to perform channel adaptation at a transmitter of a network device in the PLC network, as will be further described below.

In some embodiments, a network device in a PLC network can determine time intervals in the beacon period of the PLC network to separately perform channel adaptation for each of the time intervals. For example, the network device can determine the time intervals based on the periodic interference from PLC devices in a neighbor PLC network. In other words, based on the interference measured from the PLC devices in the neighbor PLC network, the network device can determine boundaries of the time intervals in the beacon period. In one implementation, the network device can determine the time intervals such that the difference in interference between the time intervals is above a predefined threshold. The network device can then determine channel adaptation parameters for each of the time intervals separately to perform channel adaptation. It is noted that other techniques may also be utilized to determine the time intervals in the beacon period of the PLC network, as will be further described below.

FIG. 1depicts an example conceptual diagram of PLC networks sharing a PLC medium.FIG. 1includes a PLC network103, a PLC network112, and a PLC medium111. The PLC networks103and112may be PLC networks based on standards such as HomePlug®, HomePlug AV, etc. The PLC medium111may be an electrical power line (e.g., a two-wire electrical line or a three-wire electrical line) and may support one or more PLC channels (e.g., Line/Neutral, Line/Ground, and Neutral/Ground). The PLC network103and the PLC network112can share the PLC medium111. The PLC network103includes a network device102and a network device104. The PLC network112includes a network device110and a network device106. The network device106includes a channel analysis unit108and a channel adaptation unit109. The network devices102,104,110, and106may be various types of PLC devices, such as dedicated PLC devices (e.g., a PLC modem, a PLC adaptor, etc.) and electrical/electronic devices (e.g., television, computer, smart appliance, etc.) having PLC capabilities. The channel analysis unit108and the channel adaptation unit109can determine interference from the network devices102and104of the PLC network103, and implement one or more channel adaptation techniques to compensate for the interference from the network devices102and104. For simplification,FIG. 1only depicts the channel analysis unit108and the channel adaptation unit109for the network device106. However, it is noted that the network device110may include similar units to compensate for the interference from the network devices102and104in the PLC network103(hereinafter “neighbor PLC network103”). Similarly, the network device102and the network device104may include a channel analysis unit and a channel adaptation unit to compensate for interference from the network devices106and110in the PLC network112.

The channel analysis unit108may analyze the noise and other channel characteristics of the PLC medium111and the interference from the neighbor PLC network103on the PLC medium111. The channel analysis unit108can implement one or more channel estimation techniques to determine the noise and other channel characteristics of the PLC medium111. For example, the channel analysis unit108can measure the instantaneous channel state information (i.e., the impulse response) of the PLC medium111. The channel analysis unit108can measure the noise on the PLC medium111as a function of AC line cycle and determine the periodicity of noise, as will be further described below with reference toFIGS. 2-5. For example, the channel analysis unit108can determine the time periods for which similar noise patterns occur on the PLC medium111. The channel analysis unit108can also measure the interference from the neighbor PLC network103on the PLC medium111and determine the periodicity of interference from the neighbor PLC network103. For example, the channel analysis unit108can measure the interference on the PLC medium111due to transmissions from the network device102and the network device104of the neighbor PLC network103. In some implementations, the channel analysis unit108can determine the periodicity of the interference from the neighbor PLC network103based on recurring transmission patterns on the PLC medium111. In other implementations, the channel analysis unit108can determine the periodicity of interference from the neighbor PLC network103by receiving channel allocation information of the neighbor PLC network103from one or more network devices in the neighbor PLC network103, as will be further described below with reference toFIGS. 2-5. For example, the channel analysis unit108can receive the channel allocation information from a central coordinator in the neighbor PLC network103. The channel analysis unit108can determine the channel access scheme (e.g., TDMA) in the neighbor PLC network103from the channel allocation information. For example, in PLC systems based on HomePlug AV, the central coordinator transmits beacon frames that may include the channel allocation information that can be used by the channel analysis unit108. The channel analysis unit108may also proactively send requests to stations and/or central coordinators in the neighboring networks to obtain the channel allocation information of the neighboring networks. The channel analysis unit108can also utilize the channel allocation information to determine scheduled transmissions for the network devices102and104on the PLC medium111. Based on the scheduled transmissions for the network devices102and104, the channel analysis can determine the periodicity of interference due to transmissions from the network devices102and104on the PLC medium111. The channel analysis unit108can map the periodic interference (with respect to a period of the AC line cycle) on the PLC medium111as periodic interference in the beacon period of the PLC network112. The channel analysis unit108can then determine time intervals in the beacon period of the PLC network112such that the difference in interference between the time intervals is above a predefined threshold. The channel analysis unit108can send the information about the time intervals to the channel adaptation unit109.

The channel adaptation unit109may separately perform channel adaptation in the time intervals received from the channel analysis unit108. The channel adaptation unit109can perform channel adaptation for each of the time intervals by modifying one or more transmission parameters. For example, the channel adaptation unit109can modify the modulation parameters (e.g., bits allocated to an orthogonal frequency division multiplexing (OFDM) carrier, guard interval for an OFDM symbol, etc.). The channel adaptation unit109can also modify the FEC code rate (i.e., the number of redundant bits utilized for Forward Error Correction) at the transmitter of the network device106. The channel adaptation unit109can distinctly perform channel adaptation for each of the time intervals determined by the channel analysis unit108. In some implementations, instead of receiving information regarding the time intervals from the channel analysis unit108, the channel adaptation unit109may receive both the channel allocation information associated with the neighbor PLC network103(and/or other information regarding the periodicity of the interference from the neighbor PLC network103) and the measured noise on the PLC medium111from the channel analysis unit108. The channel adaptation unit109can then determine the time intervals to separately perform the channel adaptation based on the information received from the channel analysis unit108. By separately performing the channel adaptation at the transmitter of the network device106in regions of varying interference from the neighbor PLC network103, the channel adaptation unit109can compensate for the interference from the neighbor PLC network103in the transmissions originating from the network device106, as will be further described below.

FIG. 2depicts an example diagram of interference in a first PLC network from network devices in a second PLC network which shares a PLC medium with the first PLC network.FIG. 2includes a beacon period202and a beacon period204of the PLC network112(as described above with reference toFIG. 1).FIG. 2also includes a beacon period214and a beacon period216of the neighbor PLC network103, and the AC line cycle for the PLC medium111. The beacon period214of the neighbor PLC network103may be offset by a time interval205from the beacon period202of the PLC network112. Similarly, the beacon period216may be offset by the time interval205from the beacon period204.

The beacon period214includes a timeslot allocation206for transmissions by the network device102on the PLC medium111, and a timeslot allocation208for transmissions by the network device104on the PLC medium111. Similarly, the beacon period216includes a timeslot allocation210for the network device102and a timeslot allocation212for the network device104. In some implementations, the timeslot allocations for the network devices102and104may be determined based on a TDMA channel access scheme associated with the neighbor PLC network103. For example, the beacon period214may be divided into timeslots of equal duration, and each of the network devices in the neighbor PLC network103may be allocated a timeslot for transmissions on the PLC medium111. In some implementations, a network device in the PLC network may be allocated more than one timeslot. However, for the purpose of simplification,FIG. 2depicts an allocation of equal number of timeslots to the network device102and the network device104in the neighbor PLC network103. Transmissions by the network device102on the shared PLC medium111in the timeslot206and the timeslot210may lead to interference in the PLC network112during a time interval220and a time interval224of the AC line cycle, respectively. Similarly, transmissions by the network device104in the timeslot208and the timeslot212can lead to interference in the PLC network112during the time intervals222and226of the AC line cycle.FIG. 2also includes time intervals221and223in which no interference is depicted from transmissions by network devices in the neighbor PLC network103. It is noted that for simplification,FIG. 2does not depict channel noise of the PLC medium111in the AC line cycle. However, it is noted that channel noise may exist in the time intervals221and223as well as the time intervals220,222,224, and226of the AC line cycle, as will be further described below with reference toFIG. 3.

In some implementations, the channel analysis unit108in the network device106can determine the time intervals220,221,222,223,224, and226of the AC line cycle. For example, the channel analysis unit108can determine the time intervals based on detected transmissions from the neighbor PLC network103on the PLC medium111. In this example, the channel analysis unit108can detect transmissions on the PLC medium111that are transmitted from one or more network devices in the neighbor PLC network103. The channel analysis unit108can then determine the time intervals of the AC line cycle in which a difference in interference due to transmissions from the network devices in the neighbor PLC network103is above a predefined threshold. For example, the channel analysis unit108can determine a first time interval (e.g., time interval220) should be considered a distinct time interval from a second time interval (e.g., time interval222) after determining that the difference between the interference due to transmissions in the first time interval is greater than the interference due to the transmissions in the second time interval. After this analysis, the channel analysis unit108can determine that the time intervals221,220,222,224,226, and223have a difference in interference due to transmissions (or lack of transmissions) from the network devices in the neighbor PLC network103that is above a predefined threshold. As shown inFIG. 2, each time interval has a first boundary and a second boundary that separates or divides the time interval from other time intervals. For example, the time interval220has a first boundary that divides the time interval220from the time interval221, and also a second boundary that divides the time interval220from the time interval222.

In another example, the channel analysis unit108may determine the time intervals of the AC line cycle based on channel allocation information exchanged with at least one network device in the neighbor PLC network103. The channel analysis unit108can also receive information about the beacon period206of the network103and determine a time offset205between the beacon period202of the PLC network112and the beacon period206of the neighbor PLC network103. The beacon periods of the PLC networks103and112may be of the same duration, and the time offset between the beacon periods205can be constant for each of the consecutive beacon periods (e.g., the beacon period204and the beacon period216). The channel analysis unit108can receive information about the channel access scheme (e.g., TDMA scheme) utilized for allocating access to the PLC medium111in the neighbor PLC network103. The channel analysis unit108can also receive the time slots allocated to each of the network devices in the neighbor PLC network103from a central coordinator of the neighbor PLC network103. The channel analysis unit108can then determine time intervals of varying levels of interference from the neighbor PLC network103in the AC line cycle. For example, the varying levels of interference may occur as a result of transmissions by different devices in the neighbor PLC network103. The channel analysis unit108can determine the time intervals220and224as intervals of varying levels of interference due to transmission by the network device102and the network device104, respectively.

In some implementations, the channel analysis unit108can determine that the TDMA allocations in the neighbor PLC network103are periodic, and hence the varying levels of interference in the AC line cycle may also be periodic. The channel analysis unit108can utilize the periodic nature of the interference to determine the time intervals in the beacon period of the PLC network112for which channel adaptation may be separately performed. In other implementations, the channel analysis unit108can determine the time intervals in the beacon period of the PLC network112by using multiple techniques. For example, the channel analysis unit108can determine the time intervals based on transmissions from the neighbor PLC network103detected on the PLC medium111and also by utilizing the channel allocation information exchanged with at least one network device in the neighbor PLC network103. The channel analysis unit108may receive the channel allocation information from a network device in the PLC network103and determine the transmission schedule of network devices in the PLC network103. The channel analysis unit108may then detect for variations in levels of interference based on the transmission schedule of the network devices of the neighbor PLC network103and determine the time intervals in the beacon period of the PLC network112. On determining the time intervals, the channel analysis unit108can send the information about the time intervals to the channel adaptation unit109. Also, as described above inFIG. 1, the channel adaptation unit109may receive the channel allocation information of the neighbor PLC network103from the channel analysis unit108to determine the time intervals in the beacon period of the PLC network112instead of receiving the time intervals from the channel analysis unit108. The channel adaptation unit109may utilize the channel allocation information in a similar manner as utilized by the channel analysis unit108to determine the time intervals in the beacon period of the PLC network112.

FIG. 3depicts an example conceptual diagram of time intervals in a beacon period of a PLC network for which channel adaptation can be separately performed to compensate for channel noise and interference from a neighbor PLC network.FIG. 3illustrates a beacon period300which is similar to the beacon periods202and204(as described above with reference toFIG. 2) of the PLC network112.FIG. 3also includes two periods of the AC line cycle of the PLC medium111, which are referred to as AC line cycle301and AC line cycle303. The duration of the beacon period300may be equal to the sum of durations of the AC line cycle301and the AC line cycle303. The duration of beacon period of the PLC network112may be 33.3 milliseconds when the AC frequency on the PLC medium111is 60 Hertz. Similarly, the duration of the beacon period of the PLC network112may be 40 milliseconds when the AC frequency on the PLC medium111is 50 Hertz. The AC line cycle301includes time intervals302,304,306,308,310, and312. Similarly, the AC line cycle303includes time intervals314,316,318,320,322, and324. It is noted that the time intervals314,316,318,320,322, and324are similar to the time intervals302,304,306,308,310, and312respectively. For example, the channel analysis unit108may determine that time intervals302,304,306,308,310, and312are periodic and repeat in each period of the AC line cycle. In one example, the time interval312depicts periodic interference and the interference in the time interval324can be similar to the interference in the time interval312. Although,FIG. 3illustrates the beginning of the time interval302synchronized with the beginning of the AC line cycle301, and the end of the time interval312synchronized with the end of the AC line cycle301, these may be approximately synchronized with some variance. It is noted, however, that in other examples, the end of the time interval312may not be synchronized with the end of the AC line cycle301, and instead the time interval312may lie between the AC line cycle301and the AC line cycle303(and similarly the time interval302may lie between two AC line cycles).

In some implementations, the channel analysis unit108can determine the time intervals in the beacon period300for performing channel adaptation to compensate for channel noise and interference from the neighbor PLC network103. For example, the channel analysis unit108can determine channel noise on the PLC medium111in the beacon period300. The channel analysis unit108can then determine the time intervals over which the channel noise on the PLC medium111is periodic. For example, the channel analysis unit108can determine that the difference between the channel noise during a time interval307and the channel noise during a time interval309of the AC line cycle301is above a predefined threshold. The channel analysis unit108can determine that channel adaptation needs to be performed separately for the time interval307and the time interval309. The channel analysis unit108can also determine that the channel noise patterns on the PLC medium111are repetitive, and time intervals311and313exist for the AC line cycle303which are similar to the time intervals307and309in the AC line cycle301, respectively. On determining the time intervals in the beacon period300for which the difference in the channel noise on the PLC medium is above a predefined threshold, the channel analysis unit108can determine the time intervals in the beacon period300for which the difference in interference from the neighbor PLC network103is above a predefined threshold.

In one implementation, the channel analysis unit108can monitor the PLC medium111to detect transmissions from the network devices in the neighbor PLC network103. The channel analysis unit108may detect transmissions from the network device104during the time intervals304,310,316, and322. Similarly, the channel analysis unit108may detect transmissions from the network device102during the time intervals306,312,318, and324. The channel analysis unit108may not detect transmissions from any network device of the neighbor PLC network103during the time intervals302,308,314, and320. The channel analysis unit108may determine that the difference in the interference during the time intervals302and304is above a predefined threshold. Similarly, the channel analysis unit108may determine that the difference in the interference during time intervals304and306, and the difference in interference during the time intervals306and308are each above the predefined threshold. The channel analysis unit108can then determine the time intervals302,304,306,308,310and312in the AC line cycle301. The channel analysis unit108can further determine that the interference patterns due to transmissions from the network devices in the neighbor PLC network103are repetitive over the AC line cycle303. The channel analysis unit108can determine the time intervals314,316,318,320,322, and324in the AC line cycle303for which channel adaptation may be separately performed by the channel adaptation unit109. Although, as described above, the channel analysis unit108can determine the time intervals of the beacon period300based on the channel noise on the PLC medium111, and then determine the time intervals based on interference from the neighbor PLC network103, embodiments are not so limited. In some embodiments, the channel analysis unit108can first determine the time intervals of the beacon period300based on interference from the neighbor PLC network103, and then determine the time intervals based on the channel noise on the PLC medium. In other embodiments, the channel analysis unit108can analyze the channel noise on the PLC medium111and the interference from the neighbor PLC network103simultaneously to determine the time intervals of the beacon period300.

In another implementation, instead of detecting transmissions from the network devices of the neighbor PLC network103, the channel analysis unit108may receive channel allocation information from one or more network devices of the neighbor PLC network103(as was previously described above). For example, the channel analysis unit108may receive the channel allocation information from a central coordinator of the neighbor PLC network103. The channel allocation information may include the channel access scheme (e.g., TDMA, CSMA, etc.) utilized in the neighbor PLC network103. The channel allocation information may also include a transmission schedule for the network devices in the neighbor PLC network103. For example, the transmission schedule may include the time slots of a beacon period for which the network devices of the neighbor PLC network103are allowed to transmit on the PLC medium111. The channel analysis unit108can then utilize the channel allocation information received from the central coordinator of the neighbor PLC network103along with information about the periodic channel noise on the PLC medium to determine the time intervals302,304,306,308,310,312,314,316,318,320,322, and324in the beacon period300.

It is further noted that, in other implementations, the channel analysis unit108may determine time intervals of the beacon period300without detecting transmissions from the network devices of the neighbor PLC network103or receiving channel allocation information from the central coordinator of the neighbor PLC network103. The channel analysis unit108may determine a shortest time interval for which channel adaptation can be performed separately. For example, the channel analysis unit108may exchange information with the channel adaptation unit109to determine the capabilities of the channel adaptation unit109. The channel analysis unit108may determine the shortest time period for which the channel adaptation unit109is capable of performing channel adaptation. The channel analysis unit108can then determine the time intervals of the beacon period300by partitioning the beacon period into time intervals equal to the shortest time period for which the channel adaptation unit109is capable of performing channel adaptation. In some implementations, the channel adaptation unit109may receive instructions from the channel analysis unit108indicating the period of a shortest time interval of the beacon period300to perform channel adaptation. The channel adaptation unit109can then determine the shortest time intervals of the beacon period300for which the channel adaptation unit109is capable of performing channel adaptation.

FIG. 4illustrates a flow diagram of example operations to determine time intervals in a beacon period based on varying levels of interference from a neighbor PLC network and perform channel adaptation to compensate for the varying levels of interference.

At block402, a plurality of time intervals in a beacon period of a first PLC network are determined based, at least in part, on variations in levels of interference from a second PLC network. In one implementation, the channel analysis unit108determines the time intervals in the beacon period300of the neighbor PLC network103. For example, the channel analysis unit108can determine the time intervals302,304,306,308,312,314,316,318,320,322, and324based on the varying levels of interference from the neighbor PLC network103(as described above with reference toFIG. 3). In some implementations, the channel analysis unit108may also utilize information about channel noise (and other channel characteristics) on the PLC medium111to determine the time intervals in the beacon period300. In one implementation, the channel analysis unit108may detect the interference on the PLC medium111due to transmissions by the network devices in the neighbor PLC network103. In another implementation, the channel analysis unit108may receive channel allocation information of the neighbor PLC network103from a central coordinator of the neighbor PLC network103to determine the time intervals (as described above inFIG. 3). The channel analysis unit108can further utilize the transmission schedule of the network devices in the neighbor PLC network103to estimate interference caused on the PLC medium111due to transmission of acknowledgements in the neighbor PLC network103. For example, a transmission from the network device102to the network device104would typically be followed by an acknowledgement transmission from the network device104to the network device102. The channel analysis unit108may take into account the expected transmissions of such acknowledgements which may lead to additional interference on the PLC medium111. The channel analysis unit108can determine the time intervals in the beacon period300for which difference in interference is above a predefined threshold. The channel analysis unit108may send the information about the time intervals to the channel adaptation unit109which may separately perform channel adaptation over the time intervals during transmissions from the network device106. The flow continues to block404.

At block404, channel adaptation parameters are determined for each of the plurality of the time intervals in the beacon period. In one implementation, the channel adaptation unit109may determine the channel adaptation parameters for each of the time intervals received from the channel analysis unit108. For example, in HomePlug AV based systems, the channel adaptation unit109may determine a unique tonemap to be utilized for each of the time intervals. In one implementation, a HomePlug AV tonemap may include channel adaptation parameters that can be used for transmission during one or more time interval in the beacon period. The channel adaptation unit109may determine the tonemap based on the noise, neighbor interference, and other existing channel conditions (e.g., signal to interference ratio, etc.) of the PLC medium111that were determined for each of the time intervals. The channel adaptation parameters may include modulation parameters associated with the tonemaps (e.g., select OFDM carriers, number of bits per OFDM carrier, guard interval between OFDM symbols, etc.), FEC code rate, among others. The channel adaptation unit109can determine the channel adaptation parameters separately for each of the time intervals. For example, the channel adaptation unit109may determine to increase the FEC code rate for the time intervals304,310,316, and322which may have greater amount of interference from the neighbor PLC network103as compared to other time intervals. On determining the channel adaptation parameters for each of the time intervals, the channel adaptation unit may store the channel adaptation parameters for the respective time intervals (such as the tonemap configurations for the respective time intervals) in the network device106. The flow continues to block406.

At block406, the channel adaptation parameters are applied to one or more of the plurality of time intervals in the beacon period. In one implementation, the channel adaptation unit109applies the channel adaptation parameters to one or more of the plurality time intervals in the beacon period300when transmitting data using a transmitter of the network device106during the one or more of the plurality of time intervals. For example, the channel adaptation unit109may determine that a transmission is scheduled from the network device106to the network device110during the time interval304. The channel adaptation unit109can determine the channel adaptation parameters for the time interval304by reading the channel adaptation parameters (such as the tonemap configurations) stored in the network device106. For example, the channel adaptation unit109may determine that FEC code rate is to be increased and a particular tonemap setting should be used for transmissions during the time interval304. The channel adaptation unit109may modify settings in one or more signal processing units of the transmitter of the network device106to increase the FEC code rate. The increased FEC code rate may allow the network device110to decode the transmission from the network device106and correct errors induced due to interference from the neighbor PLC network103. The channel adaptation unit109may also determine to utilize a particular tonemap configuration for the time interval304to modify the number of bits allocated to different OFDM carriers for transmissions during the time interval304. Thus, the channel adaptation performed by the channel adaptation unit109can compensate for the interference due to transmissions from the network devices of the neighbor PLC network103on the PLC medium111.

FIG. 5illustrates a flow diagram of example operations to determine time intervals in a beacon period of a first PLC network based on channel allocation in a second PLC network and perform channel adaptation based on transmissions in the respective time intervals.

At block502, at a PLC device in a first PLC network, channel allocation information associated with one or more PLC devices in a second PLC network is determined. In one implementation, the channel analysis unit108in the network device106determines the channel allocation information associated with the network devices102and104in the neighbor PLC network103(as described above with reference toFIG. 4). For example, the channel analysis unit108receives the channel allocation information from a central coordinator of the neighbor PLC network103. The channel allocation information may include information about scheduled transmissions on the PLC medium111from the network devices of the neighbor PLC network103. The flow continues to block504.

At block504, time intervals are determined in a beacon period of the first PLC network based, at least in part, on the channel allocation information. In one implementation, the channel analysis unit108determines the time intervals in the beacon period300of the PLC network112. For example, the channel analysis unit108can determine the time intervals in the beacon period300such that the difference in interference (due to transmissions on the PLC medium111from the network devices of the neighbor PLC network103) in the time intervals is above a predefined threshold. The channel analysis unit108can send the information about the time intervals to the channel adaptation unit109, and the channel adaptation unit109can determine channel adaptation parameters for each of the time intervals. The flow continues to block506.

At block506, a loop is started for each of the time intervals. In one implementation, the channel adaptation unit109starts the loop for each of the time intervals in the beacon period300. The loop includes the operations at blocks508,510,512, and514. The flow continues to block508.

At block508, channel information is determined for the time interval. In one implementation, the channel adaptation unit109determines the channel information of the PLC medium111for the time interval in the current iteration of the loop. For example, the channel adaptation unit109can determine the instantaneous channel state information of the PLC medium111(e.g., noise, interference from the neighbor networks, etc.) for the time interval in the current iteration of the loop. The flow continues to block512.

At block512, channel adaptation parameters are determined for the time interval. In one implementation, the channel adaptation unit109determines the channel adaptation parameters for the time interval in the current iteration of the loop. For example, the channel adaptation unit109can determine the modulation parameters associated with a tonemap (e.g., bits per OFDM carrier, guard interval between the OFDM symbols, etc.) and FEC code rate. The channel adaptation unit109may determine the number of redundant bits to be utilized in the FEC code to compensate for interference from the neighbor PLC network103for transmissions during the time interval (i.e., the time interval in the current iteration of the loop). The channel adaptation unit109may store the channel adaptation parameters for the time interval at a memory location in the network device106. The flow continues to block514.

At block514, it is determined whether channel adaptation parameters have been determined for all time intervals. In one implementation, the channel adaptation unit109determines whether the channel adaptation parameters have been determined for all the time intervals in the beacon period300(i.e., the time intervals for which information was received from the channel analysis unit at block504). If the channel adaptation parameters have been determined for all the time intervals, control flows to block516. If the channel adaptation parameters have not been determined for all the time intervals, control loops back to block506and the next iteration of loop is performed.

At block516, scheduled transmissions and their corresponding time intervals are determined. In one implementation, the channel adaptation unit109determines the transmissions scheduled at the network device106. For example, the channel adaptation unit109determines the time intervals in a beacon period of the PLC network112for which the network device106is scheduled to transmit on the PLC medium111. The flow continues to block518.

At block518, channel adaptation parameters are selected for the time intervals. In one implementation, the channel adaptation unit109determines the channel adaptation parameters for the time intervals determined at block516. For example, the channel adaptation unit109may read the channel adaptation parameters stored at the memory locations corresponding to the respective time intervals in the network device106. The flow continues to block520.

At block520, channel adaptation parameters are applied for the time intervals. In one implementation, the channel adaptation unit109applies the channel adaptation parameters to one more of the time intervals. For example, the channel adaptation unit109may apply the channel adaptation parameters corresponding to a time interval during transmission from a transmitter of the network device106in the respective time interval. Similarly, the channel adaptation unit109may apply the channel adaptation parameters corresponding to other time intervals during transmissions in the respective time intervals.

It is noted that the channel analysis unit108is not limited to determining the time intervals of the beacon period300based on the channel noise and channel allocation information of the neighbor PLC network103. In some embodiments, the channel analysis unit108may divide the beacon period300into the shortest time intervals for which the channel adaptation unit109is capable of performing channel adaptation. In other embodiments, the channel analysis unit may utilize a combination of both techniques (i.e., determining the time intervals based on channel allocation information in the neighbor PLC network103and dividing the beacon period into the shortest time intervals for which the channel adaptation unit109can perform channel adaptation) to determine the time intervals in the beacon period300.

It is further noted that the channel analysis unit108can monitor the PLC medium111and dynamically determine the time intervals in the beacon period300based on changing network traffic patterns in the neighbor PLC network103. For example, the TDMA allocations for the network devices in the neighbor PLC network103may change when a high priority communication occurs between network devices in the neighbor PLC network103. In one example, the high priority communication may be a video stream transmission from the network device102to the network device104. The central coordinator of the neighbor PLC network103may allocate more timeslots in the beacon period to the network device102for transmission. The channel analysis unit108may monitor such changes in transmissions on the PLC medium111and accordingly determine the time intervals for performing channel adaptation in the beacon period300.

Similarly, network traffic patterns in the neighbor PLC network103may vary when the neighbor PLC network103utilizes CSMA channel access scheme. CSMA channel access scheme may allocate the PLC medium111to multiple network devices at the same time and the network devices in the neighbor PLC network103may contend for channel access. It is noted that the channel analysis unit108is capable of monitoring such changes in the network traffic patterns of the neighbor PLC network103and can accordingly determine the time intervals in the beacon period300for which the channel adaptation can be separately performed.

FIG. 6depicts a block diagram of an example network device600. In some implementations, the network device600may be a PLC device (e.g., a server, a television, a laptop, etc.). The network device600includes a processor unit601(possibly including multiple processors, multiple cores, multiple nodes, and/or implementing multi-threading, etc.). The network device600includes memory605. The memory605may be system memory (e.g., one or more of cache, SRAM, DRAM, zero capacitor RAM, Twin Transistor RAM, eDRAM, EDO RAM, DDR RAM, EEPROM, NRAM, RRAM, SONOS, PRAM, etc.) or one or more of the above already described possible realizations of machine-readable media. The network device600also includes a bus611(e.g., PCI, PCI-Express, AHB™ AXI™, NoC, etc.), a communication unit610, and a storage device(s)609(e.g., optical storage, magnetic storage, network attached storage, etc.), and a network interface607(e.g., a powerline interface, an Ethernet interface, a Frame Relay interface, SONET interface, wireless interface, etc.). The communication unit610includes a channel analysis unit602and a channel adaptation unit603. The channel analysis unit602may include one or more hardware, firmware, and software components to analyze channel characteristics, and interact with network devices in one or more neighbor communication networks to determine channel allocation information in the neighbor communication networks. The channel analysis unit602can utilize the channel characteristics and channel allocation information in neighbor communication networks to determine time intervals in a beacon period of the communication network (i.e., the communication network with which the network device106is associated) for which channel adaptation can be separately performed. The channel adaptation unit109may include one or more hardware, firmware, and software components to perform channel adaptation in the time intervals of the beacon period to compensate for interference from neighbor communication networks, as described above with reference toFIGS. 1-5. The communication unit610may be partially (or entirely) implemented in one or more integrated circuits (e.g., one or more application specific integrated circuits). One or more of these functionalities may be partially (or entirely) implemented in hardware or an application specific integrated circuit. Further, realizations may include fewer or additional components not illustrated inFIG. 6(e.g., video cards, audio cards, additional network interfaces, peripheral devices, etc.). The processor unit601, the storage device(s)609, the network interface607, and the communication unit610are coupled to the bus611. Although illustrated as being coupled to the bus611, the memory605may be coupled to the processor unit601.

While the embodiments are described with reference to various implementations and exploitations, it will be understood that these embodiments are illustrative and that the scope of the inventive subject matter is not limited to them. In general, techniques for performing channel adaptation to compensate for interference from a neighbor PLC network in PLC networks, as described herein may be implemented with facilities consistent with any hardware system or hardware systems. Many variations, modifications, additions, and improvements are possible.