Network Throughput Using Multiple Reed-Solomon Blocks
Embodiments of methods and systems are presented for generating PHY frames with multiple Reed-Solomon encoded blocks in PLC networks. In one embodiment, a MAC layer divides a data frame from a higher level into data blocks. The MAC layer may add a MAC header and/or an error-detection code to each data block. The MAC layer then passes the data blocks to a PHY layer to be individually Reed-Solomon encoded and combined into a single PHY frame for transmission on a PLC network. In other embodiments, the MAC layer passes a single data frame to the PHY layer, which divides the MAC data frame into segments to be individually Reed-Solomon encoded. The individual Reed-Solomon encoded segments are combined into a single PHY frame for transmission on a PLC network.
Latest Texas Instruments Incorporated Patents:
This application claims the benefit of the filing date of U.S. Provisional Patent Application No. 61/614,307, which is titled “Network Throughput Using Multiple RS-Block Transmission” and was filed on Mar. 22, 2012, the disclosure of which is hereby incorporated by reference herein in its entirety.
BACKGROUNDPower line communications (PLC) include systems for communicating data over the same medium that is also used to transmit electric power to residences, buildings, and other premises, such as wires, power lines, or other conductors. In its simplest terms, PLC modulates communication signals over existing power lines. This enables devices to be networked without introducing any new wires or cables. This capability is extremely attractive across a diverse range of applications that can leverage greater intelligence and efficiency through networking. PLC applications include utility meters, home area networks, and appliance and lighting control.
PLC is a generic term for any technology that uses power lines as a communications channel. Various PLC standardization efforts are currently in work around the world. The different standards focus on different performance factors and issues relating to particular applications and operating environments. Two of the most well-known PLC standards are G3 and PRIME. G3 has been approved by the International Telecommunication Union (ITU). IEEE is developing the IEEE P1901.2 standard that is based on G3. Each PLC standard has its own unique characteristics.
Using PLC to communicate with utility meters enable applications such as Automated Meter Reading (AMR) and Automated Meter Infrastructure (AMI) communications without the need to install additional wires. Consumers may also use PLC to connect home electric meters to an energy monitoring device or in-home display monitor their energy consumption and to leverage lower-cost electric pricing based on time-of-day demand.
As the home area network expands to include controlling home appliances for more efficient consumption of energy, OEMs may use PLC to link these devices and the home network. PLC may also support home and industrial automation by integrating intelligence into a wide variety of lighting products to enable functionality such as remote control of lighting, automated activation and deactivation of lights, monitoring of usage to accurately calculate energy costs, and connectivity to the grid.
The manner in which PLC systems are implemented depends upon local regulations, characteristics of local power grids, etc. The frequency band available for PLC users depends upon the location of the system. In Europe, PLC bands are defined by the CENELEC (European Committee for Electrotechnical Standardization). The CENELEC-A band (3 kHz-95 kHz) is exclusively for energy providers. The CENELEC-B, C, D bands are open for end user applications, which may include PLC users. Typically, PLC systems operate between 35-90 kHz in the CENELEC A band using 36 tones spaced 1.5675 kHz apart. In the United States, the FCC has conducted emissions requirements that start at 535 kHz and therefore the PLC systems have an FCC band defined from 154-487.5 kHz using 72 tones spaced at 4.6875 kHz apart. In other parts of the world different frequency bands are used, such as the Association of Radio Industries and Businesses (ARIB)-defined band in Japan, which operates at 10-450 kHz, and the Electric Power Research Institute (EPRI)-defined bands in China, which operates at 3-90 kHz.
SUMMARY OF THE INVENTIONEmbodiments of methods and systems for improving overall network throughput using multiple RS-blocks in PLC networks are presented. In one embodiment, multiple RS-blocks are transmitted in a single packet transmission. This is especially advantageous when large data packet sizes need to be transmitted and the channel condition is good, thereby allowing for higher modulation constellations to be used. One such example is in medium communication links in a power line communication topology. For example, using existing power-line communication standards, such as IEEE, P1901.2, only a single RS-block may be transmitted per packet transmission. However, this leaves excess symbols available that are not used. Throughput can be increased by increasing the number of multiple RS-blocks per packet transmission.
Having thus described the invention in general terms, reference will now be made to the accompanying drawings, wherein:
The invention now will be described more fully hereinafter with reference to the accompanying drawings. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. One skilled in the art may be able to use the various embodiments of the invention.
The PLC standards provide for OFDM transmission of packets using Reed Solomon encoding. Embodiments of the present invention are directed to increasing the number of RS-blocks transmitted per data packet. An example of such a system is described below in
The power line topology illustrated in
An illustrative method for transmitting data over power lines may use a carrier signal having a frequency different from that of the power signal. The carrier signal may be modulated by the data, for example, using an OFDM technology or the like described, for example, G3-PL standard.
PLC modems or gateways 112a-n at residences 102a-n use the MV/LV power grid to carry data signals to and from PLC data concentrator or router 114 without requiring additional wiring. Concentrator 114 may be coupled to either MV line 103 or LV line 105. Modems or gateways 112a-n may support applications such as high-speed broadband Internet links, narrowband control applications, low bandwidth data collection applications, or the like. In a home environment, for example, modems or gateways 112a-n may further enable home and building automation in heat and air conditioning, lighting, and security. Also, PLC modems or gateways 112a-n may enable AC or DC charging of electric vehicles and other appliances. An example of an AC or DC charger is illustrated as PLC device 113. Outside the premises, power line communication networks may provide street lighting control and remote power meter data collection.
One or more PLC data concentrators or routers 114 may be coupled to control center 130 (e.g., a utility company) via network 120. Network 120 may include, for example, an IP-based network, the Internet, a cellular network, a WiFi network, a WiMax network, or the like. As such, control center 130 may be configured to collect power consumption and other types of relevant information from gateway(s) 112 and/or device(s) 113 through concentrator(s) 114. Additionally or alternatively, control center 130 may be configured to implement smart grid policies and other regulatory or commercial rules by communicating such rules to each gateway(s) 112 and/or device(s) 113 through concentrator(s) 114.
PLC engine 202 may be configured to transmit and/or receive PLC signals over wires 108a and/or 108b via AC interface 201 using a particular frequency band. In some embodiments, PLC engine 202 may be configured to transmit OFDM signals, although other types of modulation schemes may be used. As such, PLC engine 202 may include or otherwise be configured to communicate with metrology or monitoring circuits (not shown) that are in turn configured to measure power consumption characteristics of certain devices or appliances via wires 108, 108a, and/or 108b. PLC engine 202 may receive such power consumption information, encode it as one or more PLC signals, and transmit it over wires 108, 108a, and/or 108b to higher-level PLC devices (e.g., PLC gateways 112n, data aggregators 114, etc.) for further processing. Conversely, PLC engine 202 may receive instructions and/or other information from such higher-level PLC devices encoded in PLC signals, for example, to allow PLC engine 202 to select a particular frequency band in which to operate.
In some embodiments, PLC gateway 112 may be disposed within or near premises 102n and serve as a gateway to all PLC communications to and/or from premises 102n. In other embodiments, however, PLC gateway 112 may be absent and PLC devices 113 (as well as meter 106n and/or other appliances) may communicate directly with PLC data concentrator 114. When PLC gateway 112 is present, it may include database 304 with records of frequency bands currently used, for example, by various PLC devices 113 within premises 102n. An example of such a record may include, for instance, device identification information (e.g., serial number, device ID, etc.), application profile, device class, and/or currently allocated frequency band. As such, gateway engine 301 may use database 305 in assigning, allocating, or otherwise managing frequency bands assigned to its various PLC devices.
Peripherals 604 may include any desired circuitry, depending on the type of PLC system. For example, in an embodiment, peripherals 604 may implement local communication interface 303 and include devices for various types of wireless communication, such as Wi-Fi, ZigBee, Bluetooth, cellular, global positioning system, etc. Peripherals 604 may also include additional storage, including RAM storage, solid-state storage, or disk storage. In some cases, peripherals 604 may include user interface devices such as a display screen, including touch display screens or multi-touch display screens, keyboard or other input devices, microphones, speakers, etc.
External memory 603 may include any type of memory. For example, external memory 603 may include SRAM, nonvolatile RAM (NVRAM, such as “flash” memory), and/or dynamic RAM (DRAM) such as synchronous DRAM (SDRAM), double data rate (DDR, DDR2, DDR3, etc.) SDRAM, DRAM, etc. External memory 603 may include one or more memory modules to which the memory devices are mounted, such as single inline memory modules (SIMMs), dual inline memory modules (DIMMs), etc.
The characteristics and parameters for a power line channel vary with frequency, location, time, and the type of equipment connected to the power line. The power line channel is very frequency selective. Lower frequency regions are especially sensitive to interference. Additional impediments on the power line channel include background noise, impulsive noise, narrow band interference, and channel group delays.
OFDM modulation can efficiently utilize the limited bandwidth of the power line channel and allows the use of advanced channel coding techniques. This facilitates very robust communications over a power line channel. The available bandwidth is divided into a number of subchannels that may be viewed as many independent PSK- or QAM-modulated carriers having different noninterfering (i.e., orthogonal) carrier frequencies. Convolutional and Reed-Solomon (RS) coding provide redundancy bits that allow the receiver to recover lost bits caused by noise. A time-frequency interleaving scheme is used to decrease the correlation of received noise at the input of the decoder.
An OFDM signal is generated in a modulator 706 by performing inverse fast Fourier transform (IFFT) on the encoded bits. OFDM modulator 706 adds a cyclic prefix (CP) to the output of the IFFT block. The output of the OFDM modulator 706 is provided to power line circuit 707, such as a medium voltage (MV) or low voltage (LV) power line, thorough analog front end (AFE) 708 and coupling circuitry 709. The coupling circuitry may include, for example, line drivers, transformers, filters, and MV/LV couplers.
In one embodiment, FCH 802 includes a frame length (FL) bit field that indicates the number of data symbols 803. In the IEEE P1901.2 standard, for example, the frame length bit field is 9 bits long, which allows for up to 511 OFDM symbols per data payload 803.
The Reed Solomon encoder (704,
In one embodiment, multiple RS-blocks are transmitted per packet transmission. Interleaving may be done on a per RS-block basis as illustrated in
The MAC layer may be made aware of the presence of multiple RS-blocks. The PHY-MAC interface may be defined so that the MAC understands which bytes come from which RS-block within a received packet. This allows the receiver to know which RS-block failed when the CRC fails for only one of the RS-blocks, for example.
If the receiver can identify which RS-block failed, then it can tell the transmitter to retransmit only those portions of the data that were present in the failed RS-block.
In the example of
The MAC may also determine the source address of the frame even if one block is successfully received. The MAC may then use this info to transmit selective Acknowledgement (ACK) frames to the transmitter, wherein the ACK frames may identify which RS-block was received in error and should be retransmitted. The transmitter may selectively transmit only those frames, thus helping to improve network performance.
In another embodiment, the MHR may be present only in the first block 1103 while the CRC may be present on all blocks. In this case, the MAC can still determine which RS-block was received with error. However, a selective ACK may be sent back to the source only if the first RS-block was received successfully.
Therefore, in one embodiment the MAC address, which uniquely identifies the destination, is only present in the first RS-block 1103. If a CRC check on the first RS-block fails, then the receiver does not need to decode the remaining RS-blocks 1104-1106 and can go into a power-save mode until the end of the frame 1100.
In another embodiment, the MAC address is present in all of the RS-blocks 1103-1106. This allows the receiver to decode each of the RS-blocks 1103-1106. If the CRC check fails for any one of the RS-blocks, then there are at least two possibilities.
In a first case, the receiver does need not send an ACK frame back to the transmitter. When the transmitter does not receive the ACK frame, the lack of an ACK frame implies that the data transmission has failed. In that case, the transmitter may resend the data packet automatically.
In a second case, the receiver sends an ACK or a Negative Acknowledgement (NACK) back to the transmitter and also indicates to the transmitter which one of the RS-blocks failed to pass CRC. Two additional fields may be introduced in the frame control header (FCH) to indicate that a retransmission of an RS-block is required.
A RSblock retransmission field is used to indicate whether a retransmission is required or not. The RSblock retransmission field may be a one-bit field in which “1” indicaters a retransmission is required, and a “0” indicates that no retransmission is required
A RSblock address field is an address field that indicates which RS-block needs to be re-transmitted. For example, if up to four RS-blocks may be transmitted, then a two-bit RSblock address field can be used to identify the RS-block for retransmission. For example,
00b: indicates RS block 1 needs to be retransmitted;
01b: indicates RS block 2 needs to be retransmitted;
10b: indicates RS block 3 needs to be retransmitted; and
11b: indicates RS block 4 needs to be retransmitted.
Depending upon the embodiment, upon receiving a request for a RS-block retransmission, the transmitter may choose to transmit:
a) the whole packet again;
b) only the RS-block(s) that failed; or
c) the RS-block(s) that failed, and any new RS-blocks that are passed to it by the MAC.
In some embodiments, the transmitter may also choose a modulation scheme that has a better probability of success for the subsequent transmission or retransmission.
It will be understood that in various embodiments, the modules shown in
Many of the operations described herein may be implemented in hardware, software, and/or firmware, and/or any combination thereof. When implemented in software, code segments perform the necessary tasks or operations. The program or code segments may be stored in a processor-readable, computer-readable, or machine-readable medium. The processor-readable, computer-readable, or machine-readable medium may include any device or medium that can store or transfer information. Examples of such a processor-readable medium include an electronic circuit, a semiconductor memory device, a flash memory, a ROM, an erasable ROM (EROM), a floppy diskette, a compact disk, an optical disk, a hard disk, a fiber optic medium, etc.
Software code segments may be stored in any volatile or non-volatile storage device, such as a hard drive, flash memory, solid state memory, optical disk, CD, DVD, computer program product, or other memory device, that provides tangible computer-readable or machine-readable storage for a processor or a middleware container service. In other embodiments, the memory may be a virtualization of several physical storage devices, wherein the physical storage devices are of the same or different kinds The code segments may be downloaded or transferred from storage to a processor or container via an internal bus, another computer network, such as the Internet or an intranet, or via other wired or wireless networks.
Many modifications and other embodiments of the invention(s) will come to mind to one skilled in the art to which the invention(s) pertain having the benefit of the teachings presented in the foregoing descriptions, and the associated drawings. Therefore, it is to be understood that the invention(s) are not to be limited to the specific embodiments disclosed. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
Claims
1. A method, comprising:
- performing, by a power line communication (PLC) transmitter device, generating a PHY frame comprising two or more Reed-Solomon encoded blocks; and transmitting the PHY frame on a PLC network to a receiver.
2. The method of claim 1, further comprising:
- receiving a media access control (MAC) frame at a PHY layer of the PLC transmitter from a MAC layer; and
- dividing the MAC frame into the two or more Reed-Solomon encoded blocks at the PHY layer.
3. The method of claim 2, further comprising:
- adding a PHY error-detecting code to each of the two or more Reed-Solomon encoded blocks.
4. The method of claim 2, wherein a MAC header from the MAC frame is present in only one of the two or more Reed-Solomon encoded blocks.
5. The method of claim 2, wherein a MAC header from the MAC frame is present in each of the two or more Reed-Solomon encoded blocks.
6. The method of claim 1, further comprising:
- receiving a data frame at a media access control (MAC) layer from a higher layer of the PLC transmitter;
- dividing the data frame into two or more MAC data blocks;
- adding a MAC header and an error-detecting code to each of the two or more MAC data blocks; and
- creating the two or more Reed-Solomon encoded blocks from the two or more MAC data blocks.
7. A power line communication (PLC) transmitter device coupled to a PLC network, comprising:
- a forward error correction (FEC) encoder configured to receive MAC data from a media access control (MAC) layer, the FEC encoder configured to: generate Reed-Solomon encoded blocks from segments of the MAC data using a Reed-Solomon encoder; and combine two or more of the Reed-Solomon blocks into a PHY frame for transmission to a PLC receiver.
8. The PLC transmitter of claim 7, further configured to:
- receive MAC data at a PHY layer from a MAC layer; and
- divide the MAC frame into the two or more Reed-Solomon encoded blocks at the PHY layer.
9. The PLC transmitter of claim 8, further configured to:
- adding a PHY error-detecting code to each of the two or more Reed-Solomon encoded blocks.
10. The PLC transmitter of claim 7, further configured to:
- receive a data frame at a media access control (MAC) layer from a higher layer of the PLC transmitter;
- divide the data frame into two or more MAC data blocks;
- add a MAC header and an error-detecting code to each of the two or more MAC data blocks; and
- create the two or more Reed-Solomon encoded blocks from the two or more MAC data blocks.
11. A method, comprising:
- performing, by a power line communication (PLC) receiver device, receive a PHY frame from a PLC transmitter device, the PHY frame comprising two or more Reed-Solomon encoded blocks; decode at least one of the Reed-Solomon encoded blocks; and perform an error-detection check on the at least one decoded Reed-Solomon encoded block.
12. The method of claim 11, further comprising:
- decode a first of the two or more Reed-Solomon encoded blocks, wherein the first Reed-Solomon encoded blocks comprises a media access control (MAC) header;
- perform the error-detection check on the decoded first Reed-Solomon encoded block; and
- if the error-detection check fails on the decoded first Reed-Solomon encoded block, then stopping decoding of remaining Reed-Solomon encoded blocks.
13. The method of claim 11, further comprising:
- decode a first of the two or more Reed-Solomon encoded blocks, wherein the first Reed-Solomon encoded blocks comprises a media access control (MAC) header;
- perform the error-detection check on the decoded first Reed-Solomon encoded block; and
- if the error-detection check passes on the decoded first Reed-Solomon encoded block, then decoding all remaining Reed-Solomon encoded blocks.
14. The method of claim 13, further comprising:
- identify any remaining Reed-Solomon encoded blocks that fail the error-detection check; and
- send an acknowledgement frame to the PLC transmitter device, the acknowledgement frame indicating which Reed-Solomon encoded block failed the error-detection check.
15. The method of claim 13, further comprising:
- identify any remaining Reed-Solomon encoded blocks that fail the error-detection check; and
- send an acknowledgement frame to the PLC transmitter device, the acknowledgement frame requesting retransmission of one or more Reed-Solomon encoded blocks that failed the error-detection check.
16. A power line communication (PLC) receiver device coupled to a PLC network, the PLC receiver configured to:
- receive a PHY frame from a PLC transmitter device, the PHY frame comprising two or more Reed-Solomon encoded blocks;
- decode at least one of the Reed-Solomon encoded blocks; and
- perform an error-detection check on the at least one decoded Reed-Solomon encoded block.
17. The PLC receiver of claim 16, further configured to:
- decode a first of the two or more Reed-Solomon encoded blocks, wherein the first Reed-Solomon encoded blocks comprises a media access control (MAC) header;
- perform the error-detection check on the decoded first Reed-Solomon encoded block; and
- if the error-detection check fails on the decoded first Reed-Solomon encoded block, then stopping decoding of remaining Reed-Solomon encoded blocks.
18. The PLC receiver of claim 16, further configured to:
- decode a first of the two or more Reed-Solomon encoded blocks, wherein the first Reed-Solomon encoded blocks comprises a media access control (MAC) header;
- perform the error-detection check on the decoded first Reed-Solomon encoded block; and
- if the error-detection check passes on the decoded first Reed-Solomon encoded block, then decoding all remaining Reed-Solomon encoded blocks.
19. The PLC receiver of claim 18, further configured to:
- identify any remaining Reed-Solomon encoded blocks that fail the error-detection check; and
- send an acknowledgement frame to the PLC transmitter device, the acknowledgement frame indicating which Reed-Solomon encoded block failed the error-detection check.
20. The PLC receiver of claim 18, further configured to:
- identify any remaining Reed-Solomon encoded blocks that fail the error-detection check; and
- send an acknowledgement frame to the PLC transmitter device, the acknowledgement frame requesting retransmission of one or more Reed-Solomon encoded blocks that failed the error-detection check.
Type: Application
Filed: Mar 20, 2013
Publication Date: Sep 26, 2013
Patent Grant number: 9203757
Applicant: Texas Instruments Incorporated (Dallas, TX)
Inventors: Kumaran Vijayasankar (Dallas, TX), Tarkesh Pande (Dallas, TX), Ramanuja Vedantham (Allen, TX)
Application Number: 13/848,054
International Classification: H04L 12/70 (20130101); H04L 1/08 (20060101); H03M 13/09 (20060101);