CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority from provisional application Serial No. 60/340,246, filed Dec. 18, 2001, which is incorporated by reference.[0001]
FIELD OF THE INVENTION

The present invention relates generally to rate enhanced SHDSL, more particularly, to a spectrally compliant and transparent method and system for rate enhanced SHDSL. [0002]
BACKGROUND OF THE INVENTION

The advent of the Internet and the widespread popularity of personal computers have created an unprecedented demand for high bandwidth networks. Generally, Internet applications, from simple email to real time video conferencing, from web surfing to interactive movies, from interactive games to virtual TV stations, from online trading to online gambling, demand a higher bandwidth communication network. A fundamental challenge for the communication industry is to provide a reliable and affordable high bandwidth communication link to all types of Internet users. Various competing wireline, wireless, and optical broadband technologies are deployed to partially meet the everincreasing demand for higher bandwidth. The fastest growing broadband technology is the Digital Subscriber Line (DSL) technology, which provides a high bandwidth alwayson connection over standard twisted pair copper media of the conventional telephone network. Among other wireline media, coaxial cables are capable of providing alwayson connections, however, its presence is insignificant compared to millions and millions of wired telephone customers who are connected by a twisted pair of copper wires. Other technologies, such as satellite, wireless, and optical, either provide limited coverage, limited bandwidth, or are too expensive for deployment to individual customers. As a result, DSL technology is uniquely positioned to provide the broadband link between individual customer premise and the central office, the socalled lastmile of the highbandwidth communication network. [0003]

DSL is the fastest growing among emerging broadband technologies for very good reasons. First of all, DSL utilizes the existing copper wire network infrastructure. Secondly, compared to the voice modems, such as V.34 and V.90, used in most personal computers that provide up to 56 kbps dialup connection, DSL provides a high bandwidth alwayson connection with typical connection speeds from 384 kbps to 6 Mbps. Moreover, DSL is affordable with easy installation, simple turnup, and high service reliability. The successful deployment of DSL is capable of providing digital broadband connection to anyone with an analog telephone line. [0004]

DSL services have been standardized over time by regional organizations such as, American National Standard Institute (ANSI), European Telecommunication Standard Institute (ETSI), and by world telecommunication organization International Telecommunication Union (ITU). These DSL standards define data communication protocols to connect customer premise equipment (CPE) to the central office (CO) and to provide connections to various networks, such as DSL service providers, virtual private networks (VPN), or the Internet. Various forms of digital data (e.g., voice, video, and data) can be transported using DSL technology. For transport of voice, DSL equipment is connected to the public switched telephone network (PSTN). For transport of video and data, DSL equipment uses the Internet via an Internet service provider (ISP). Voice over DSL (VoDSL) is capable of providing computertocomputer, computertotelephone, and telephonetotelephone voice services using an integrated access device (IAD). Video over DSL includes transport of MPEG1 or MPEG2 files, video conferencing using Internet Protocol (IP) standard such as ITU H.323, WebCam, and video mail. In addition, DSL supports simple data transport, e.g., bearer services, for virtual private network (VPN), leased data line such as T1 and E1, PointtoPoint Protocol (PPP), Asynchronous transfer mode (ATM), and Internet Protocol (IP). [0005]

Like other communication technologies, DSL has gone though a major evolution over the last decade and a collection of technologies, commonly referred to as xDSL, are developed under the umbrella of DSL. One type of subscriber loop digital transmission technology involves an integrated services digital network (ISDN), which has replaced a significant portion of the analog phone lines in Europe and Japan. ISDN offers integrated voice and data services and connection speed up to 144 kbps. Due to the high cost of deployment, an alternative solution called integrated digital loop carrier (IDLC) has been deployed in United States. However, resulting data rates were considered inadequate for individual customers. As a result, advanced DSL technologies were developed, which include HDSL, SDSL, ADSL, HDSL2, SHDSL, and VDSL, all of which are capable of connection speed in excess of 1 Mbps. These advanced DSL technologies were developed to address different needs and application demands, while serving different market segments. For example, SHDSL is a symmetric service designed for long reach office applications with connection speed of 1.5 Mbps, whereas, VDSL is designed to provide a very highspeed asymmetric service for a shortrange applications. [0006]

SHDSL is a wire line Digital Subscriber Line (DSL) transmission technology that is designed to accommodate the need for higher data rates in telecommunication access networks. In particular, SHDSL supports duplex transmission of symmetric data rates over mixed gauge twowire twisted metallic pairs, as described in the International Telecommunication Union (ITU) standard G.992.1—“Asymmetric Digital Subscriber Line (ADSL) Transceivers”, the body of which is incorporated herein by reference. [0007]

One feature of the SHDSL includes the ability to support a wide range of data rates from 192 kbps to 2.312 Mbps which may include existing T1 and E1 rate services. Though such a range of data rates is adequate to accommodate a large number of real world applications, there are applications, such as MDU/MTU, Ethernet and others, that require or at least prefer a data rate beyond 2.312 Mbps. Traditional methods for attempting to achieve a data rate over 2.312 Mbps generally involve an optional four wire mode as specified in the ITU standard. However, as the name suggests the four wire operation requires an additional pair of wires. Availability of such extra pairs of wire is not guaranteed and even if they are available, the four wire solution is not an efficient utilization of the infrastructure. [0008]

These and other drawbacks exist with current technologies. [0009]
SUMMARY OF THE INVENTION

Aspects of the present invention overcome the problems noted above, and realize additional advantages. [0010]

According to an aspect of an embodiment of the present invention, a RateEnhanced (RE)SHDSL of an embodiment of the present invention provides enhancement of the SHDSL transceiver to support a data rate beyond 2.312 Mbps as specified in ITU standard; development of a method that is efficient, easy to implement, and flexible to design; achievement of the enhanced data rate without additional transmit bandwidth, transmit power, or crosstalk to other applications; and enhanced transceivers that comply with spectral management and/or other requirements. [0011]

According to one embodiment of the present invention, a rate enhanced system for supporting duplex transmission of symmetric data rates, comprises an encoder comprising a serial to parallel converter for receiving a serial data bit, and for generating a parallel word having M bits; a convolutional encoder for receiving a first bit of the M bits of the parallel word, and for generating two encoded bits; and a mapper for receiving the two encoded bits and the remaining M−1 bits of the parallel word, and for generating a symbol; wherein M is greater than three. [0012]

In accordance with other aspects of this exemplary embodiment of the present invention, the encoder is a Trellis coded modulation encoder; a receiver comprises a Trellis decoder for accommodating a constellation size greater than 16PAM; the system supports an enhanced data rate which is greater than 2.312 Mbps; the enhanced data rate is defined as
[0013] ${R}_{\mathrm{ed}}=\frac{M}{3}\ue89e{R}_{d}$

wherein M>3 wherein R[0014] _{d }represents an original data rate for SHDSL; constellation size associated with the mapper is greater than 16PAM; a single pair of wires is implemented; the system is compatible with four wire operations for doubling of data rate; the transmit masks correspond to that of SHDSL standard; the mapper is a 2^{M+1 }PAM constellation, wherein M is greater than 3; a receiver comprises a deframer for supporting enhanced data rates greater than 2.312 Mbps; and a decoder for supporting a constellation size greater than 16PAM; the decoder is a Trellis decoder.

In accordance with another embodiment of the present invention, a method for supporting duplex transmission of symmetric data rates, comprises the steps of receiving a serial data bit; generating a parallel word having M bits in response to the serial data bit; receiving a first bit of the M bits of the parallel word; generating two encoded bits in response to the first bit; receiving the two encoded bits and the remaining M−1 bits of the parallel word; and generating a symbol in response to the two encoded bits and the remaining M−1 bits of the parallel word wherein M is greater than three. [0015]

The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate various embodiments of the invention and, together with the description, serve to explain the principles of the invention.[0016]
BRIEF DESCRIPTION OF THE DRAWINGS

The present invention can be understood more completely by reading the following Detailed Description of the Invention, in conjunction with the accompanying drawings, in which: [0017]

FIG. 1[0018] a is a table illustrating enhanced data rates of RESHDSL as a function of number of data bits per symbol, according to an embodiment of the present invention.

FIG. 1[0019] b is a table illustrating a mapper definition, according to an embodiment of an aspect of the present invention.

FIG. 1[0020] c is a table illustrating a mapper definition, according to an embodiment of an aspect of the present invention.

FIG. 2 illustrates a block diagram of TCM encoder for REG.SHDSL, according to an embodiment of an aspect of the present invention. [0021]

FIG. 3 illustrates a setup for fractionally spaced DFE with preequalizer, according to an embodiment of the present invention. [0022]

FIG. 4 illustrates a preequalizer design test case, according to an embodiment of the present invention. [0023]

FIG. 5 is a flowchart illustrating of an algorithm for determining preequalizer coefficients, according to an embodiment of the present invention. [0024]

FIG. 6 is a diagram of a receiver sigmadelta block, according to an embodiment of the present invention. [0025]

FIG. 7 is a diagram of a digital sigmadelta block, according to an embodiment of the present invention. [0026]

FIG. 8 is a diagram of a combiner structure, according to an embodiment of the present invention. [0027]

FIG. 9 is a diagram of a digital sigmadelta block with multiple decimation stages, according to an embodiment of the present invention. [0028]

FIG. 10 is a diagram of a first decimator stage with a sinc filter, according to an embodiment of the present invention. [0029]

FIG. 11 is a diagram of a combinersinc filter, according to an embodiment of the present invention. [0030]

FIG. 12 is a diagram of a polyphase combinersinc filter, according to an embodiment of the present invention. [0031]

FIG. 13 is the flowchart of an efficient bit loading algorithm, according to an embodiment of the present invention. [0032]

FIG. 14 illustrates a table of number of bits and required power levels for incorporation into the bit loading algorithm, according to an embodiment of the present invention. [0033]

FIG. 15 is a flowchart illustrating PCWPAM, according to an embodiment of the present invention. [0034]

FIG. 16 illustrates an example of an output of PCIPAM, according to an embodiment of the present invention. [0035]

FIG. 17 is a flowchart illustrating WFIPAM, according to an embodiment of the present invention. [0036]

FIG. 18 is a flowchart illustrating PCGSM, according to an embodiment of the present invention. [0037]

FIG. 19 illustrates an example of an output of GSM, according to an embodiment of the present invention. [0038]

FIG. 20 is a schematic diagram of a hardware architecture in which the inventive aspects of the present invention may be incorporated. [0039]

FIG. 21 is a block diagram illustrating details of SNR margin, according to an embodiment of the present invention. [0040]

FIG. 22 illustrates a flowchart describing hardware algorithm for SNR margin, according to an embodiment of the present invention. [0041]

FIG. 23 is a schematic diagram of a hardware architecture in which the inventive aspects of the present invention may be incorporated.[0042]
DETAILED DESCRIPTION OF THE INVENTION

The following description is intended to convey a thorough understanding of the invention by providing a number of specific embodiments and details involving compliancy testing applications. It is understood, however, that the invention is not limited to these specific embodiments and details, which are exemplary only. It is further understood that one possessing ordinary skill in the art, in light of known systems and methods, would appreciate the use of the invention for its intended purposes and benefits in any number of alternative embodiments, depending upon specific design and other needs. [0043]

The International Telecommunications Union (ITU) has adopted a standard for Singlepair Highspeed Digital Subscriber Line (SHDSL) technology to address the need for higher data rates in telecommunication access networks. The ITU recommendations for SHDSL (e.g., G.992.1) mandate the support of a wide range of data rates from 192 kilo bits per second (kbps) to 2.312 mega bits per second (Mbps). There are applications, such as MDU/MTU, Ethernet and others, that may require or at least prefer a data rate beyond 2.312 Mbps. According to an aspect of an embodiment of the present invention, an efficient, easy to implement, and flexible method and system for increasing the data rate of the existing SHDSL transceivers is provided. The RateEnhanced (RE)SHDSL of an embodiment of the present invention satisfies spectral compatibility requirements and is further transparent to other applications. [0044]

The RESHDSL of an embodiment of the present invention supports a variety of functions. RESHDSL is an efficient and easy to implement approach to increase the data rate of an existing SHDSL transceiver. Rate enhancement may be achieved by increasing the number of data bits per symbol thereby increasing signal constellations. The effective use of larger constellations is one difference between RESHDSL and SHDSL. The RESHDSL achieves a higher data rate without requiring additional transmit bandwidth or transmit power. The rate enhancement achieved by RESHDSL of an embodiment of the present invention is flexible compared to a four wire approach specified in the standard. As in SHDSL, RESHDSL may support a single pair wires. RESHDSL uses the same (or substantially similar) set of transmit masks as specified in SHDSL standard. As a result, there is no need for additional transmit masks. RESHDSL is compatible with four wire operations and may be used in a four wire mode (or other mode) to achieve an additional doubling of data rate. RESHDSL may be used for both region specific Annexes A and B of the ITU standard G.992.1 for SHDSL as well as other standards. [0045]

The RESHDSL system of an embodiment of the present invention does not require an additional pair of wires and provides a more flexible rate enhancement. Features of RESHDSL system include spectral compliance and transparency for successful deployment of any DSL as well as other technology. In other words, RESHDSL is fully compliant to spectral management requirements where the enhancements are transparent to other services deployed in the same binder, e.g., to any other service RESHDSL appears substantially the same as SHDSL. As a result, deployment of RESHDSL does not create additional crosstalk for other applications. [0046]

As specified in the ITU standard G.991.2, SHDSL transceivers may include a precoded system with Trellis Coded Pulse Amplitude Modulation (TCPAM) line code. In particular, an encoder may be used to convert 3 data bits into 4 coded bits. The coded 4 bits may be converted into a symbol using a 16PAM constellation mapper. For every 3 data bits, the SHDSL transceiver generates one symbol with a symbol rate R[0047] _{s}, which is onethird of the data rate R_{d}, e.g., R_{s}=Rd_{d}/3. The symbol rate is a system parameter that dictates the transmission bandwidth. Generally, the higher the symbol rate, the larger the required bandwidth. Hence, if the constellation size is fixed, a larger bandwidth may be used to support higher data rates. However, such an approach would violate spectral compatibility and would not be transparent to other applications.

In contrast to the SHDSL system where 3 data bits are used to form a symbol, RESHDSL of an embodiment of the present invention uses more then 3 data bits per symbol. The data rate may be increased by increasing a constellation size and allocating more bits per symbol while keeping the symbol rate fixed. Moreover, to simplify the transceiver design, the encoding scheme as described in SHDSL may be used with the exception that the number of uncoded bits are increased. An advantage of this approach is that there is no need to change signal processing blocks following the mapper. In other words, the change in number of bits per symbol and the consequent change in constellation size do not effect the signal processing operations that follow the mapper. In particular, the transmit filter and the transmit Power Spectral Density (PSD) remain identical (or substantially similar) to that of SHDSL. With that in mind, M (>3) may represent the number of data bits used per symbol for RESHDSL, where the enhanced data rate R
[0048] _{ed }is given by
${R}_{\mathrm{ed}}=\frac{M}{3}\ue89e{R}_{d},$

where R[0049] _{d}represents the original data rate for SHDSL. Since M is larger than 3, the enhanced date rate R_{ed }is larger than the original data rate R_{d}. The SHDSL system is capable of supporting data rates from 192 kbps up to 2.312 Mbps with an 8 kbps increment. For every supported data rate, there is a specific transmit mask defined in the standard G.992.1. The RESHDSL of an embodiment of the present invention uses the transmit mask corresponding to the particular SHDSL data rate from the specifications. As a result, RESHDSL is automatically spectrally compliant and transparent to other applications.

Typical exemplary values of M along with the corresponding enhanced date rates are shown in FIG. 1[0050] a. FIG. 1a is a table illustrating enhanced data rates of RESHDSL as a function of number of data bits per symbol according to an embodiment of the present invention. Column 110 provides a system type; column 112 provides data bits per symbol; column 114 provides coded bits per symbol; column 116 provides constellation size; column 118 provides data rate with 1.5 Mb PSD; column 120 provides data rate with 2.0 Mb PSD; and column 122 provides data rate with 2.312 Mb PSD. As shown in FIG. 1a, when M=4, a data rate of 3.08 Mbps may be achieved by implementing a constellation size of 32PAM. The RESHDSL approach of an embodiment of the present invention is applicable to region specific Annexes A and B of the ITU standard G.992.1 for SHDSL, as well as other standards.

The frame structure of RESHDSL incorporates a payload size that is larger than that of SHDSL. In SHDSL standard, each payload block is defined as k bits long, where k=12(i+8n) bits, and the corresponding payload rate is given by 64n+8i kbps. The parameters n and i are two integer defined by 3≦n≦36 and 0≦i≦7. For example, for n =36 and i=1, a payload rate is equal to 2.312 Mbps. For RESHDSL, the value of n is larger than 36. The exact range of n depends on the vale of M and is given by 3≦n≦12M. For M=6 or double rate applications, the range of values for n is 3≦n≦72. [0051]

FIG. 2 is a diagram of a Trellis Coded Modulation (TCM) Encoder, according to an embodiment of the present invention. For RESHDSL, more than 3 data bits are used to form a symbol y(m), as shown in FIG. 2. In this case, each M (>3) serial data bits, {d(n), d(n+1), d(n +2), . . . , d(n+M−1)} may be converted by converter
[0052] 210 to an M bit parallel word {s
_{1}(m), s
_{2}(m), s
_{3}(m), . . . , s
_{M}(m)}. The first bit s
_{1}(m) may be encoded using a convolutional encoder
220, such as a half rate convolutional encoder, to generate two encoded bits x
_{1}(m) and x
_{2}(m). The other M−1bits s
_{2}(m), S
_{3}(m), . . . , s
_{M}(m) may be essentially untouched and renamed x
_{3}(m), x
_{4}(m), . . . , x
_{M+1}(m), as follows:
$\begin{array}{ccc}{s}_{2}\ue8a0\left(m\right)& \to & {x}_{3}\ue8a0\left(m\right)\\ {s}_{3}\ue8a0\left(m\right)& \to & {x}_{4}\ue8a0\left(m\right)\\ \vdots & \text{\hspace{1em}}& \vdots \\ {s}_{M}\ue8a0\left(m\right)& \cdots & {x}_{M+1}\ue8a0\left(m\right).\end{array}$

The M+1 bits {x
[0053] _{1}(m), x
_{2}(m), x
_{3}(m), x
_{4}(m) . . . x
_{M+1}(m)} may then be used to form a symbol using a 2
^{M+1}PAM constellation
230. Symbol to bit error may be minimized (e.g., by a Gray Code or other code) to simplify the decoder design where the bit labeled x
_{1}(m) represents a Least Significant Bit (LSB) and x
_{M+1}(m) represents a Most Significant Bit (MSB). Using the Gray (or other) code, the M+1 output bits may be mapped to 2
^{M+1}PAM as described below. As K=2
^{M+1}, the K normalized constellation points may be defined as
$\mathrm{the}\ue89e\text{\hspace{1em}}\ue89ep\mathrm{th}\ue89e\text{\hspace{1em}}\ue89e\mathrm{point}=\frac{\left(2\ue89epK+1\right)}{K}\ue89e\text{\hspace{1em}}\ue89ep=0,\text{\hspace{1em}}\ue89e\dots \ue89e\text{\hspace{1em}},\ue89e\text{\hspace{1em}}\ue89eK1,\ue89e\text{\hspace{1em}}$ $\mathrm{where}$
$p=\sum _{l=1}^{M+1}\ue89e\text{\hspace{1em}}\ue89e{2}^{l}\ue89e{x}_{l},$

represents a decimal representation of the M+1 bits, where x
[0054] _{1 }is the LSB. In other words, the M+1 bits x
_{1}, x
_{2}, . . . , x
_{M+1 }are mapped to the pth normalized constellation point, e.g.,
${x}_{1},\text{\hspace{1em}}\ue89e{x}_{2},\text{\hspace{1em}}\ue89e\dots \ue89e\text{\hspace{1em}},\ue89e\text{\hspace{1em}}\ue89e{x}_{M+1}>\frac{\left(2\ue89epK+1\right)}{K},\text{\hspace{1em}}\ue89ep=0,\text{\hspace{1em}}\ue89e\dots \ue89e\text{\hspace{1em}}\ue89e\text{\hspace{1em}},\ue89e\text{\hspace{1em}}\ue89eK1.$

For example, if M=7, K=128 and the normalized 128 constellation points are represented as:
[0055] $\frac{\left(2\ue89ep127\right)}{128},\text{\hspace{1em}}\ue89ep=0,\text{\hspace{1em}}\ue89e\dots \ue89e\text{\hspace{1em}},\ue89e\text{\hspace{1em}}\ue89e128.$

For a fixed point implementation, the normalized constellation points may be represented using B binary bits in 2's complement form. The number of bits B may be larger than M+1 where the extra bits B−M−1 may determine the precision available for soft decision on the decoder and the overall performance of the Trellis Coded Modulation (TCM) scheme. For example, at least 8 extra bits may be provided for soft decision, e.g., B≧M+9. [0056]

An exemplary listing of 128PAM points are shown in FIGS. 1[0057] b and 1 c. FIG. 1b illustrates mapper definition for M=6 and a 128 PAM scenario. Column 130 indicates mapperin, column 132 indicates output level; column 134 indicates output (HEX), column 136 indicates mapperin; column 138 indicates output level and column 140 indicates output (HEX). FIG. 1c illustrates additional information for the M=6 and a 128 PAM scenario. Column 150 indicates mapperin, column 152 indicates output level; column 154 indicates output (HEX), column 156 indicates mapperin; column 158 indicates output level and column 160 indicates output (HEX). The binary representation of the output of the mapper may be given with B=16.

As mentioned above, there is generally no other signal processing requirement to support the larger constellation for RESHDSL of an embodiment of the present invention. In other words, following the mapper of FIG. 2 the signal processing for the RESHDSL is identical (or substantially similar) to that of the SHDSL. Hence, most or all the blocks that follow the TCMmapper remain unchanged. In particular, the precoder, transmit filter, and analog front end do not require modification. [0058]

The ITU standard for SHDSL specifies transmit power spectral densities, e.g., transmit masks, for every supported rate from 192 kbps to 2.312 Mbps with 8 kbps increment. According to an embodiment of the present invention, the RESHDSL transmit signal uses one of the masks defined in SHDSL standard. The selection process for a transmit mask involves using an appropriate transmit mask corresponding to the SHDSL rate R[0059] _{d}. The enhanced data rate R_{ed }is defined as (M/3)R_{d }where R_{d }is the original SHDSL rate and M is number of data bits per symbol. For each M, every enhanced data rate R_{ed }corresponds to a SHDSL data rate R_{d }and hence, a specific transmit mask. For an enhanced data rate R_{ed}, an embodiment of the present invention uses a transmit mask corresponding to the SHDSL rate R_{d}, thereby eliminating a need for any new transmit masks and guarantees spectral compatibility and transparency to other users.

According to another embodiment of the present invention, the RESHDSL receiver may include a deframer and a Trellis decoder. The deframer may provide added capacity for handling enhanced data rates. The Trellis decoder may be redesigned to handle a constellation size higher than 16PAM. Additional bits added to the RESHDSL may be uncoded bits, which do not effect the convolutional coding. As a result, it is possible to design the Trellis decoder to accommodate higher constellations with minimal change. In addition, the Gray code used in the mapper definition may simplify the decoder design for higher constellations. One such implementation may include a situation where the major blocks of the decoder remain substantially same with minor changes to the input and output stages. Using such an implementation of the Trellis decoder, a SHDSL receiver may be modified to handle RESHDSL with minimal redesign effort. [0060]

For practical implementations, the constellation size cannot be increased without limit, e.g., the value of M cannot be too larger. Generally, for every additional bit, the signal to noise ratio (SNR) required at the receiver may increase by approximately 6 dB. For example, with M=6 the required SNR is about 43.5 dB as opposed to the 27.5 dB required for SHDSL. [0061]

Various modifications may be implemented for a standard SHDSL transceiver to incorporate RESHDSL functionality. RESHDSL frame structure has the ability to handle a higher payload rate or larger payload blocks. In particular, the maximum allowed value for the parameter n, that determines the payload rate and the payload block size, is 12M instead of 36 as specified in SHDSL. Note that M (>3) is the number of bits per symbol for the RESHDSL system. [0062]

The TCMencoder may accommodate a larger number of uncoded bits as shown in FIG. 2. This effects the serial to parallel converter [0063] 210 and the mapper block 230 within the TCMencoder. The Trellis decoder block in the receiver may accommodate higher size constellations. As pointed out, there are efficient implementations available that require minimal changes to the decoder block. In the exemplary case where M=4, a 4bit serial to parallel converter and a 16PAM mapper may be implemented where d(n) may be converted into a 4 bit word, which may include si(m), s_{2}(m), s_{3}(m) and s_{4}(m). Convolutional encoder 220 may receive first bit s_{1}(m) and generate two bits x_{1}(m) and x_{2}(m). The 16PAM mapper 230 may receive x_{1}(m), x_{2}(m), x_{3}(m), x_{4}(m) and x_{5}(m) to generate y(m).

RESHDSL of an embodiment of the present invention is an efficient and easy to implement approach for increasing the data rate of existing SHDSL transceivers. The rate enhancement may be achieved by increasing the number of data bits per symbol (M >3). Generally, the SHDSL standard specifies the use of 3 bits per symbol and 16PAM constellation. In contrast, 4 or more bits per symbol and constellation size larger than 16PAM are used in RESHDSL of an embodiment of the present invention. In addition, an embodiment of the present invention provides a method for effective use of larger constellations. [0064]

The RESHDSL of an embodiment of the present invention achieves a higher data rate without requiring any additional transmit bandwidth or transmit power. The rate enhancement achieved by RESHDSL of an embodiment of the present invention is flexible compared to the standard specified four wire approach. The rate enhancement may depend in part on the number of bits per symbol M. As in SHDSL, RESHDSL of an embodiment of the present invention may use a single pair of wire, at a minimum. RESHDSL uses the same (or substantially similar) set of transmit masks as specified in SHDSL standard. As a result, there is no need for additional transmit masks. RESHDSL satisfies spectral compatibility requirements and is transparent to other applications. Deployment of RESHDSL does not create additional crosstalk to other services. RESHDSL is further compatible with four wire operations as well as other modes. For example, RESHDSL may be used in a four wire mode to achieve an additional doubling of data rate. RESHDSL may be used for both region specific Annexes A and B of the ITU standard G.992.1 for SHDSL, as well as other standards. [0065]

According to another aspect of the present invention, an efficient iterative algorithm for the computation of preequalizer coefficients is provided. A preequalizer is a nonadaptive filter that precedes the adaptive equalizer filter. The preequalizer serves to counteract against fixed components of a communication channel. An algorithm of an embodiment of the present invention may be used to compute preequalizer coefficients in an optimal manner based on a worst case mean square error minimization. [0066]

A preequalizer may be considered a nonadaptive component of an overall equalizer structure. Linear distortion to be corrected by the equalization process may be partly caused by known transmit filter characteristics. This results in a common component for different channel scenarios where the use of a preequalizer block basically targets to exploit this fact. Viewing the functioning of a feedforward filter as a combination of signal to noise ratio (SNR) improvement through matched filtering and postcursor inter symbol interference (ISI) correction motivates the use of a preequalizer to match the stationary component of the channel. This provides a greater degree of freedom for the feedforward equalizer to handle ISI. [0067]

A preequalizer block increases an effective equalizer length without increasing the number of taps to be trained. This provides potentially longer loops as the need for a longer equalizer increases with the increasing impulse response length of longer loops. [0068]

An increased equalizer length also improves SNR performance in noise cases by enhancing the ability to increase noise rejection and ISI compensation. This property is especially beneficial for cases where the SNR gap between an infinite length Decision Feedback Equalizer (DFE) and a finite impulse response (FIR) DFE equalizer is considerably large. Even in the cases where this gap is small, use of a preequalizer may provide enhanced whitening of an error spectrum and therefore an improved Bit Error Rate (BER) performance. [0069]

The use of a preequalizer may also increase the speed and performance of equalizer training, in particular, a blind section, by providing a preprocessing of the signal input to the equalizer. [0070]

An embodiment of the present invention is directed to providing an algorithm for computing preequalizer coefficients. FIG. 3 illustrates an overall equalization model for a fractionally spaced Decision Feedback Equalizer (DFE) with an oversampling factor M that employs a preequalizer filter, according to an embodiment of the present invention. [0071]

Signal xk represents a transmitted digital input sequence that is received by upsampling block [0072] 310. Signal x_{k }is upsampled by a factor M at 310, where upsampling may involve the insertion of M−1 zeros in between the samples of signal x_{k}. Other methods of upsampling may also be implemented. The upsampled signal is received by channel 312. Channel 312 models an overall linear distortion caused by a combination of a transmit filter, communication medium and/or a receive filter. Channel 312 may be modeled by a linear time invariant filter with coefficients h_{l}. An output of channel 312 may be corrupted by a noise sequence n_{k }where n_{k }is formed by passing a white noise sequence v_{k }through a noise shaping filter 314 with an impulse response g_{k}.

Signal y[0073] _{k }is an input sequence received by preequalizer 316 which may include a combination of an output of channel 312 and noise sequence n_{k}. The preequalizer 316 and decision feedback equalizer, which may include components such as feedforward equalizer 318 and feedback equalizer 322, process signal y_{k }to counteract against the effects of channel and noise.

Signal y[0074] _{k }is first processed by a preequalizer filter 316 with impulse response{p_{k}; k ∈ {0, . . . , 2N_{P}−1}} where the preequalizer filter may be nonadaptive. The output of the preequalizer filter 316 is further filtered by a feedforward equalizer 318 with coefficients {f_{k}; k ∈ {0, . . . , 2N_{F}−1}} where the feedforward equalizer may be adaptive and then downsampled by a factor M by downsampling block 320. Downsampling may involve selecting one sample out of M consecutive samples.

The output of the downsampling unit [0075] 320 may be combined with an output of a feedback equalizer 322 to produce output sequence z_{k }where the feedback equalizer 322 may be adaptive. The feedback equalizer processes the previous decisions where the feedback equalizer has coefficients {b_{k}; k ∈ {0, . . . , N_{B}−1}}. Finally, the decision unit 324 uses z_{k }to produce final decisions d_{k}.

According to an embodiment of the present invention, the algorithm performs the computation of the preequalizer coefficients for the structure, such as one illustrated in FIG. 3 where M=2. As shown in FIG. 4, there may exist N[0076] _{T }test cases with corresponding channel impulse responses 412 ({h_{l} ^{(i)}; l ∈ {0, . . . , N_{C}−1}, i ∈ {0, . . . , N_{T}}}) and noise shaping filters 414 ({g_{k} ^{(i)}; k ∈ {0, . . . , N_{G}−1}, i ∈ {0, . . . , N_{G}−1}}) that may be targeted to optimize the preequalizer coefficients. As shown in FIG. 4, preequalizer coefficients 416 {p_{k}} are kept fixed while the adaptive feedforward filter coefficients 418 {f_{k} ^{(i)}} and the adaptive feedback equalizer coefficients 422 {b_{k} ^{(i)}} may be different for each test case.

An embodiment of the present invention provides an algorithm for computing static preequalizer coefficients and minimizing the maximum value of the mean square of the error between z[0077] _{k }and x_{k }over a range of possible test cases.

Algorithm parameters may include predetermined constants independent of the data to be used in the algorithm. The following values may be adjusted to achieve different levels of performance.
[0078]
N_{p}: Half Preequalizer Length.
N_{F}: Half Feedforward Equalizer Length.
N_{B}: Feedback Equalizer Length.
N_{I}: Number of algorithm iterations.
N_{C}: Half Channel Length.
N_{T}: Number of test cases.
σ^{2}x: Transmit signal power.
N_{G}: The length of noise shaping filter.

{g[0079] _{l} ^{(i)}, l ∈ {0, . . . , N_{G}−1}}: The impulse response of a noise shaping filter for the i^{th }test case.

{h[0080] _{l} ^{(i)}, l ∈ {0, . . . , 2N_{C}−1}}: The channel impulse response for the i^{th }test case.

{h[0081] _{e,l} ^{(i)}, l ∈ {0, . . . , N_{C}−1}}: The evenindexed samples of a channel impulse response for the i^{th }test case, where

h _{e,l} ^{(i)} =h _{2l} ^{(i) } l ∈ {0, . . . , N _{C}−1}

{h[0082] _{o,l} ^{(i)}, l ∈ {0, . . . , N_{C}−1}}: The oddindexed samples of a channel impulse response for the i^{th }test case, where

h _{o,l} ^{(i)} =h _{2l+1} ^{(i) } l ∈ {0, . . . , N _{C}−1}

The following provides descriptions of variables that may be used in an algorithm of an embodiment of the present invention. [0083]

{P[0084] _{l}, l ∈ {0, . . . , 2N_{P}−1}}: The preequalizer filter coefficients.

{P[0085] _{e,l}, l ∈ {0, . . . , N_{P}−1}}: The evenindexed preequalizer filter coefficients, where

p _{e,l} =p _{2l } l ∈ {0, . . . , N _{P}−1}.

{p[0086] _{o,l}, l ∈ {0, . . . , N_{P}−1}}: The oddindexed preequalizer filter coefficients, where

p _{o,l} =p _{2l+1 } l ∈ {0, . . . , N _{P}−1}.

p: (2N
[0087] _{P}×1) preequalizer coefficient vector:
$p=\left[\begin{array}{c}{p}_{e,\text{\hspace{1em}}\ue89e0}\\ {p}_{e,\text{\hspace{1em}}\ue89e1}\\ \vdots \\ {p}_{e,\text{\hspace{1em}}\ue89e\mathrm{Np}1}\\ {p}_{o,\text{\hspace{1em}}\ue89e0}\\ {p}_{o,\text{\hspace{1em}}\ue89e1}\\ \vdots \\ {p}_{o,\text{\hspace{1em}}\ue89e\mathrm{Np}1}\end{array}\right]\ue89e\text{\hspace{1em}}.$

{f[0088] _{k} ^{(i)}, k ∈ {0, . . . , 2N_{F}−1}}: Feedforward filter coefficients in the i^{th }test case.

{f[0089] _{e,k} ^{(i)}, k ∈ {0, . . . , N_{F}−1}}: Even feedforward filter coefficients in the i^{th }test case,

where [0090]

f _{e,k} ^{(i)} =f _{2k} ^{(i) } k ∈ {0, . . . , N _{F}−1}

{f[0091] _{o,k} ^{(i)}, k ∈ {0, . . . , N_{F}−1}}: Odd feedforward filter coefficients in the i^{th }test case.

f _{o,k} ^{(i)} =f _{2k+1} ^{(i) } k ∈ {0, . . . , N_{F}−1}

f
[0092] ^{(i)}: Feedforward coefficient vector in the i
^{th }test case:
${f}^{\left(i\right)}=\left[\begin{array}{c}{f}_{e,\text{\hspace{1em}}\ue89e0}^{\left(i\right)}\\ {f}_{e,\text{\hspace{1em}}\ue89e1}\\ \vdots \\ {f}_{e,\text{\hspace{1em}}\ue89e{N}_{F}1}^{\left(i\right)}\\ {f}_{o,\text{\hspace{1em}}\ue89e0}^{\left(i\right)}\\ {f}_{o,\text{\hspace{1em}}\ue89e1}^{\left(i\right)}\\ \vdots \\ {f}_{o,\text{\hspace{1em}}\ue89e{N}_{F}1}^{\left(i\right)}\end{array}\right]\ue89e\text{\hspace{1em}}.$

{b[0093] _{k} ^{(i)}, k ∈ {0, . . . , N_{B}−1}}: Feedback coefficients in the i^{th }test case.

b(i): Feedback coefficient vector:
[0094] ${b}^{\left(i\right)}=\left[\begin{array}{c}{b}_{0}^{\left(i\right)}\\ {b}_{1}^{\left(i\right)}\\ \vdots \\ {b}_{{N}_{B}1}^{\left(i\right)}\end{array}\right]\ue89e\text{\hspace{1em}}.$

L[0095] _{1} ^{(i)}: scalar, length variable.

L[0096] _{2} ^{(i)}: scalar, length variable.

L[0097] _{3} ^{(i)}: scalar, length variable.

L[0098] _{d} ^{(i)}: (d^{(i)}+L_{3} ^{(i)}+1×1) Vector, intermediate variable.

Q[0099] ^{(i)}: (N_{B}+L_{3} ^{(i)}−d^{(i)}×N_{T}×N_{B}) Matrix, intermediate variable.

C[0100] _{o} ^{(i)}: (N_{F}+N_{P}×N_{F}+N_{P}+N_{C}−1) Matrix, odd channel convolution matrix.

C[0101] _{e} ^{(i)}: (N_{F}+N_{P}−1×N_{F}+N_{P}+N_{C}−2) Matrix, even channel convolution matrix.

C[0102] ^{(i)}: (2N_{F}+2N_{P}−1×L_{3} ^{(i)}) Matrix, intermediate variable.

q[0103] ^{(i)}: (1×2N_{P}+N_{B}N_{T}) Vector, intermediate variable.

Z[0104] ^{(i)}: (2N_{P}+N_{B}N_{T}×2N_{P}+N_{B}N_{T}) Matrix, intermediate variable.

A[0105] ^{(i)}: ((N_{T}N_{B}+2N_{P})×(N_{T}N_{B}+2N_{P})) Matrix, intermediate variable.

t: scalar, intermediate search variable used in optimization algorithm. [0106]

G[0107] ^{(i)}: (N_{P}+N_{F}−1×N_{P}+N_{F}+N_{G}−2) Matrix, convolution matrix for the noise shaping filter.

M[0108] ^{(i)}: (N_{B}×L_{1} ^{(i)}) Matrix, intermediate variable.

H[0109] _{o} ^{(i)}: (N_{F}+N_{P}−1)×N_{F}+N_{P}+N_{C}−2) Matrix, odd channel convolution matrix.

H[0110] _{e} ^{(i)}: (N_{F}+N_{P}−1)×N_{F}+N_{P}+N_{C}−2) Matrix, even channel convolution matrix.

H[0111] ^{(i)}: (N_{F}+N_{P}−1×L_{1} ^{(i)}) Matrix, intermediate variable.

P[0112] _{o}: (N_{F}×N_{F}+N_{P}−1) Matrix, odd preequalizer convolution matrix.

P[0113] _{e}: (N_{F}×N_{F}+N_{P}−1) Matrix, even preequalizer convolution matrix.

P[0114] _{1}: (N_{F}×2N_{F}+2N_{P}−1) Matrix, intermediate variable.

P[0115] _{2}: (N_{F}×2N_{F}+2N_{P}−1) Matrix, intermediate variable.

P: (2N[0116] _{F}×2N_{F}+2N_{P}−1) Matrix, intermediate variable.

Rs[0117] _{n} ^{1}x_{n−d} ^{i}: (2N_{F}+N_{B}×1) Matrix, cross correlation vector.

Rs[0118] _{n} ^{1}: (2N_{F}+N_{B}×2N_{F}+N_{B}) Matrix, covariance matrix.

FIG. 5 illustrates a flowchart of an algorithm for determining preequalizer coefficients, according to an embodiment of the present invention. At step [0119] 510, iteration may be initialized to a predetermined value, such as 0. At step 512, AlgorithmI described below may be applied to obtain f^{(i) }for all i=1, . . . , N_{T}. At step 514, AlgorithmII described below may be applied to obtain p. At step 516, iteration may be incremented by a predetermined value, such as 1. For example, iteration may be set to iteration+1. At step 518, it may be determined whether iteration=N_{I}. If so, then stop at step 520 else go to step 512.

AlgorithmI [0120]

Step 1. Set L[0121] _{1} ^{(i) }as the maximum of the following 2 quantities:

N_{P}+N_{C}+N_{F}−2,

d^{(i)}+1+N_{B }

Step 2. Set L[0122] _{2} ^{(i) }using the formula

L _{2} ^{(i)} =L _{1} ^{(i)} −N _{C} −N _{F} −N _{P}+1,

Step 3. Form the (N
[0123] _{P}+N
_{F}−1)×(N
_{P}+N
_{F}+N
_{G}−2) matrices G
^{(i) }for all i=1, . . . , N
_{T }using the formula
${G}^{\left(i\right)}=\left[\begin{array}{ccccccccccc}0& {g}_{0}^{\left(i\right)}& {g}_{1}^{\left(i\right)}& {g}_{2}^{\left(i\right)}& \cdots & {g}_{{N}_{G}2}^{\left(i\right)}& {g}_{{N}_{G}1}^{\left(i\right)}& 0& \cdots & 0& 0\\ 0& 0& 0& {g}_{0}& \cdots & {g}_{{N}_{G}4}^{\left(i\right)}& {g}_{{N}_{G}3}^{\left(i\right)}& {g}_{{N}_{G}2}^{\left(i\right)}& \cdots & 0& 0\\ \vdots & \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \vdots \\ \cdots & \cdots & \cdots & \cdots & \cdots & \cdots & \cdots & \cdots & \cdots & {g}_{{N}_{G}1}^{\left(i\right)}& 0\\ {g}_{0}^{\left(i\right)}& {g}_{1}^{\left(i\right)}& {g}_{2}^{\left(i\right)}& {g}_{3}^{\left(i\right)}& \cdots & {g}_{{N}_{G}1}^{\left(i\right)}& 0& 0& \cdots & 0& 0\\ 0& 0& {g}_{0}^{\left(i\right)}& {g}_{1}^{\left(i\right)}& \cdots & {g}_{{N}_{G}3}^{\left(i\right)}& {g}_{{N}_{G}2}^{\left(i\right)}& {g}_{{N}_{G}1}^{\left(i\right)}& \cdots & 0& 0\\ \vdots & \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \vdots \\ \cdots & \cdots & \cdots & \cdots & \cdots & \cdots & \cdots & \cdots & \cdots & {g}_{{N}_{G}2}^{\left(i\right)}& {g}_{{N}_{G}1}^{\left(i\right)}\end{array}\right].$

Step 4. Form the N[0124] _{B}×L_{1} ^{(i) }matrices M^{(i) }for all i=1, . . . , N_{T}, using the formula

M ^{(i)}=[0N _{B} ×d ^{(i)}+1 IN _{B }0N _{B} ×L _{1} ^{(i)} −d ^{(i)}−1N _{B}].

Step 5. Form the (N
[0125] _{F}+N
_{P})×(N
_{F}+N
_{P}+N
_{C}−1) matrices H
_{o} ^{(i) }for all i=1, . . . , N
_{T}, using the formula
${H}_{o}^{\left(i\right)}=\left[\begin{array}{cccccccc}{h}_{o,0}^{\left(i\right)}& {h}_{o,1}^{\left(i\right)}& {h}_{0,2}^{\left(i\right)}& \dots & {h}_{o,{N}_{c}1}^{\left(i\right)}& 0& 0& \dots \\ 0& {h}_{o,0}^{\left(i\right)}& {h}_{o,1}^{\left(i\right)}& \dots & {h}_{o,{N}_{c}2}^{\left(i\right)}& {h}_{o,{N}_{c}1}^{\left(i\right)}& 0& \dots \\ \vdots & \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \vdots \\ 0& 0& 0& \cdots & \cdots & \cdots & \cdots & {h}_{o,{N}_{c}1}^{\left(i\right)}\end{array}\right].$

Step 6. Form the (N
[0126] _{F}+N
_{P}−1)×(N
_{F}+N
_{P}+N
_{C}−1) matrices H
_{e} ^{(i) }for all i=1, . . . , N
_{T}, using the formula
${H}_{e}^{\left(i\right)}=\left[\begin{array}{ccccccccc}{h}_{e,0}^{\left(i\right)}& {h}_{e,1}^{\left(i\right)}& {h}_{e,2}^{\left(i\right)}& \dots & {h}_{e,{N}_{c}1}^{\left(i\right)}& 0& 0& \dots & 0\\ 0& {h}_{e,0}^{\left(i\right)}& {h}_{e,1}^{\left(i\right)}& \dots & {h}_{e,{N}_{c}2}^{\left(i\right)}& {h}_{e,{N}_{c}1}^{\left(i\right)}& 0& \dots & 0\\ \vdots & \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \vdots & \vdots \\ 0& 0& 0& \cdots & \cdots & \cdots & \cdots & {h}_{e,{N}_{c}1}^{\left(i\right)}& 0\end{array}\right].$

Step 7. Form the matrices H
[0127] ^{(i) }for all i=1, . . . , N
_{T}, using the formula
${H}^{\left(i\right)}=\left[\begin{array}{cc}{H}_{e}^{\left(i\right)}& {0}_{{N}_{F}+{N}_{p}1\ue89e\text{\hspace{1em}}\ue89ex\ue89e\text{\hspace{1em}}\ue89e{L}_{2}^{\left(i\right)}}\\ {H}_{o}^{\left(i\right)}& {0}_{{N}_{F}+{N}_{p\ue89e\text{\hspace{1em}}\ue89ex\ue89e\text{\hspace{1em}}\ue89e{L}_{2}^{\left(i\right)}}}\end{array}\right].$

Step 8. Form the N
[0128] _{F}×(N
_{F}+N
_{P}−1) matrix P
_{o }using the formula
${P}_{o}=\left[\begin{array}{cccccccc}{p}_{o,0}& {p}_{o,1}& {p}_{o,2}& \dots & {p}_{o,{N}_{p}1}& 0& 0& \dots \\ 0& {p}_{o,0}& {p}_{o,1}& \dots & {p}_{o,{N}_{p}2}& {p}_{o,{N}_{p}1}& 0& \dots \\ \vdots & \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \vdots \\ 0& 0& 0& \cdots & \cdots & \cdots & \cdots & {p}_{o,{N}_{p}1}\end{array}\right].$

Step 9. Form the N
[0129] _{F}×(N
_{F}+N
_{P}−1) matrix P
_{e }using the formula
${P}_{e}=\left[\begin{array}{cccccccc}{p}_{e,0}& {p}_{e,1}& {p}_{e,2}& \dots & {p}_{o,{N}_{p}1}& 0& 0& \dots \\ 0& {p}_{e,0}& {p}_{e,1}& \dots & {p}_{e,{N}_{p}2}& {p}_{e,{N}_{p}1}& 0& \dots \\ \vdots & \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \vdots \\ 0& 0& 0& \cdots & \cdots & \cdots & \cdots & {p}_{e,{N}_{p}1}\end{array}\right].$

Step 10. Form the matrix P[0130] _{1 }using the formula

P _{1} =[P _{e }0N _{F}×1 P _{o}].

Step 11. Form the matrix P[0131] _{2 }using the formula

P _{2} =[P _{o } P _{e }0N _{F}×1].

Step 12. Form the matrix P using the formula
[0132] $P=\left[\begin{array}{c}{P}_{1}\\ {P}_{2}\end{array}\right],$

Step 13. Finally compute f[0133] ^{(i) }for all i=1, . . . , N_{T}, using the formula

f ^{(i)}=(P(H ^{(i)}(I−M ^{(i)} M ^{(i)T})H ^{(i)T} +G ^{(i)} G ^{(i)T})^{(i)} P ^{T})^{−1} PH ^{(i) }

Algorithm II [0134]

Step 1. Set L[0135] _{3} ^{(i) }as the maximum of the below 2 quantities:

d^{(i)}+N_{B }

N_{P}+N_{F}+N_{C}−1

Step 2. Form the matrices L
[0136] _{d} ^{(i) }for all i=1, . . . , N
_{T}, using the formula
${L}_{d}^{\left(i\right)}=\left[\begin{array}{c}{0}_{{d}^{\left(i\right)}1\ue89e\mathrm{x1}}\\ 2\ue89e\text{\hspace{1em}}\ue89e{\sigma}_{X}^{2}\\ {0}_{{L}_{3}^{\left(i\right)}{d}^{\left(i\right)}\ue89e\mathrm{x1}}\end{array}\right],$

Step 3. Form the N
[0137] _{F}+N
_{P}×N
_{F}+N
_{P}+N
_{C}−1 matrices C
_{o} ^{(i) }for all i=1, . . . , N
_{T }using the formula
${C}_{o}^{\left(i\right)}=\left[\begin{array}{cccccccc}{h}_{o,0}^{\left(i\right)}& {h}_{o,1}^{\left(i\right)}& {h}_{o,2}^{\left(i\right)}& \dots & {h}_{o,{N}_{c}1}^{\left(i\right)}& 0& 0& \dots \\ 0& {h}_{o,0}^{\left(i\right)}& {h}_{o,1}^{\left(i\right)}& \dots & {h}_{o,{N}_{c}2}^{\left(i\right)}& {h}_{o,{N}_{c}1}^{\left(i\right)}& 0& \dots \\ \vdots & \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \vdots \\ 0& 0& 0& \cdots & \cdots & \cdots & \cdots & {h}_{o,{N}_{c}1}^{\left(i\right)}\end{array}\right].$

Step 4. Form the N
[0138] _{F}+N
_{P}−1×N
_{F}+N
_{P}+N
_{C}−2 matrices C
_{e} ^{(i) }for all i=1, . . . , N
_{T }using the formula
${C}_{e}^{\left(i\right)}=\left[\begin{array}{cccccccc}{h}_{e,0}^{\left(i\right)}& {h}_{e,1}^{\left(i\right)}& {h}_{e,2}^{\left(i\right)}& \dots & {h}_{e,{N}_{c}1}^{\left(i\right)}& 0& 0& \dots \\ 0& {h}_{e,0}^{\left(i\right)}& {h}_{e,1}^{\left(i\right)}& \dots & {h}_{e,{N}_{c}2}^{\left(i\right)}& {h}_{e,{N}_{c}1}^{\left(i\right)}& 0& \dots \\ \vdots & \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \vdots \\ 0& 0& 0& \cdots & \cdots & \cdots & \cdots & {h}_{e,{N}_{c}1}^{\left(i\right)}\end{array}\right].$

Step 5. Form the matrices C
[0139] ^{(i) }for all i=1, . . . , N
_{T }using the formula
$C\ue8a0\left(i\right)=\left[\begin{array}{cc}{C}_{e}^{\left(i\right)}& {0}_{\left({N}_{p}+{N}_{F}1\right)\ue89ex\ue8a0\left({L}_{3}^{\left(i\right)}{N}_{p}{N}_{F}{N}_{C}+2\right)}\\ {C}_{o}^{\left(i\right)}& {0}_{\left({N}_{p}+{N}_{F}\right)\ue89ex\ue8a0\left({L}_{3}^{\left(i\right)}{N}_{p}{N}_{F}{N}_{C}+1\right)}\end{array}\right].$

Step 6. Form the matrices Q
[0140] ^{(i) }for all i=1, . . . , N
_{T }using the formula
${Q}^{\left(i\right)}=\left[\begin{array}{ccc}{0}_{{d}^{\left(i\right)}\ue89ex\ue8a0\left(i1\right)\ue89e{N}_{B}}& {0}_{{d}^{\left(i\right)}\ue89e{\mathrm{xN}}_{B}}& {0}_{{d}^{\left(i\right)}\ue89ex\ue8a0\left({N}_{T}i\right)\ue89e{N}_{B}}\\ {0}_{{N}_{B}\ue89ex\ue8a0\left(i1\right)\ue89e{N}_{B}}& {I}_{{N}_{B}}& {0}_{{N}_{B}\ue89ex\ue8a0\left({N}_{T}i\right)\ue89e{N}_{B}}\\ {0}_{\left({L}_{3}^{\left(i\right)}{d}^{\left(i\right)}{N}_{B}\right)\ue89ex\ue8a0\left(i1\right)\ue89e{N}_{B}}& {0}_{\left({L}_{3}^{\left(i\right)}{d}^{\left(i\right)}{N}_{B}\right)\ue89e{\mathrm{xN}}_{B}}& {0}_{\left({L}_{3}^{\left(i\right)}{d}^{\left(i\right)}{N}_{B}\right)\ue89ex\ue8a0\left({N}_{T}i\right)\ue89e{N}_{B}}\end{array}\right].$

Step 7. Form the N
[0141] _{P}−1×N
_{F}+N
_{P }matrices F
_{11} ^{(i) }for all i=1, . . . , N
_{T}, using the formula
${F}_{11}^{\left(i\right)}=\left[\begin{array}{ccccccccccccc}0& {f}_{e,0}^{\left(i\right)}& {f}_{e,1}^{\left(i\right)}& {f}_{e,2}^{\left(i\right)}& \cdots & \cdots & \cdots & {f}_{e,{N}_{F}1}& 0& 0& \cdots & 0& 0\\ 0& 0& {f}_{e,0}^{\left(i\right)}& {f}_{e,1}^{\left(i\right)}& \cdots & \cdots & \cdots & {f}_{e,{N}_{F}2}& {f}_{e,{N}_{F}1}& 0& \cdots & 0& 0\\ \vdots & \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \vdots \\ 0& 0& 0& \cdots & {f}_{e,0}& \cdots & \cdots & \cdots & \cdots & \cdots & \cdots & {f}_{e,{N}_{F}1}& 0\end{array}\right].$

Step 8. Form the N
[0142] _{P}−1×N
_{F}+N
_{P}−1 matrices F
_{12} ^{(i) }for all i=1, . . . , N
_{T}, using the formula
${F}_{12}^{\left(i\right)}=\left[\begin{array}{ccccccccccc}{f}_{o,0}^{\left(i\right)}& {f}_{o,1}^{\left(i\right)}& {f}_{o,2}^{\left(i\right)}& \cdots & \cdots & {f}_{o,{N}_{F}1}& 0& 0& \cdots & 0& 0\\ 0& {f}_{o,0}^{\left(i\right)}& {f}_{o,1}^{\left(i\right)}& \cdots & \cdots & {f}_{o,{N}_{F}2}& {f}_{o,{N}_{F}1}& 0& \cdots & 0& 0\\ \vdots & \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \vdots \\ 0& 0& 0& {f}_{o,0}& \cdots & \cdots & \cdots & \cdots & \cdots & {f}_{o,{N}_{F}1}& 0\end{array}\right].$

Step 9. Form the N
[0143] _{P}×N
_{F}+N
_{P }matrices F
_{21} ^{(i) }for all i=1, . . . , N
_{T}, using the formula
${F}_{21}^{\left(i\right)}=\left[\begin{array}{ccccccccccc}{f}_{o,0}^{\left(i\right)}& {f}_{o,1}^{\left(i\right)}& {f}_{o,2}^{\left(i\right)}& \cdots & \cdots & {f}_{o,{N}_{F}1}& 0& 0& \cdots & 0& 0\\ 0& {f}_{o,0}^{\left(i\right)}& {f}_{o,1}^{\left(i\right)}& \cdots & \cdots & {f}_{o,{N}_{F}2}& {f}_{o,{N}_{F}1}& 0& \cdots & 0& 0\\ \vdots & \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \vdots \\ 0& 0& 0& {f}_{o,0}& \cdots & \cdots & \cdots & \cdots & \cdots & {f}_{o,{N}_{F}1}& 0\end{array}\right].$

Step 10. Form the N
[0144] _{P}×N
_{F}+N
_{P}−1 matrices F
_{22} ^{(i) }for all i=1, . . . , N
_{T}, using the formula
${F}_{22}^{\left(i\right)}=\left[\begin{array}{ccccccccccc}{f}_{e,0}^{\left(i\right)}& {f}_{e,1}^{\left(i\right)}& {f}_{e,2}^{\left(i\right)}& \cdots & \cdots & {f}_{e,{N}_{F}1}& 0& 0& \cdots & 0& 0\\ 0& {f}_{e,0}^{\left(i\right)}& {f}_{e,1}^{\left(i\right)}& \cdots & \cdots & {f}_{e,{N}_{F}2}& {f}_{e,{N}_{F}1}& 0& \cdots & 0& 0\\ \vdots & \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \u22f0& \vdots \\ 0& 0& 0& {f}_{e,0}& \cdots & \cdots & \cdots & \cdots & \cdots & {f}_{e,{N}_{F}1}& 0\end{array}\right].$

Step II. For 2N
[0145] _{P}−1×2N
_{P}+2N
_{F}−1 matrices F
^{(i) }for all i=1, . . . , N
_{T}, using formula
${F}^{\left(i\right)}=\left[\begin{array}{cc}{F}_{11}^{\left(i\right)}& {F}_{12}^{\left(i\right)}\\ {F}_{21}^{\left(i\right)}& {F}_{22}^{\left(i\right)}\end{array}\right].$

Step 12. Form the matrices q[0146] ^{(i) }for all i=1, . . . , N_{T}, using formula

q ^{(i)} =L _{d} ^{(i)T} [C ^{(i)T} F ^{(i)T} Q ^{(i)T}]^{T}.

Step 13. Form the matrices Z
[0147] ^{(i) }for all i=1, . . . , N
_{T}, using formula
${Z}^{\left(i\right)}=\left[\begin{array}{cc}{F}^{\left(i\right)}& {C}^{\left(i\right)}\\ {Q}^{{\left(i\right)}^{T}}& \text{\hspace{1em}}\end{array}\right]\ue89e\text{\hspace{1em}}\ue89e{{\sigma}_{x}^{2}\ue8a0\left[\begin{array}{cc}{F}^{\left(i\right)}& {C}^{\left(i\right)}\\ {Q}^{{\left(i\right)}^{T}}& \text{\hspace{1em}}\end{array}\right]}^{T}.$

Step 14. Form the matrices A[0148] ^{(i) }by taking square root of matrices Z^{(i) }e.g., Z^{(i)}=A^{(i) }A^{(i)}*, where the operation * refers to taking transpose of matrix and taking the complex conjugate of its entries. Here A^{(i) }may be computed using any matrix square root algorithm.

Step 15. Set vector x as
[0149] $x=\left[\begin{array}{c}p\\ {b}^{\left(1\right)}\\ \vdots \\ {b}^{\left({N}_{T}\right)}\end{array}\right].$

Step 16. Solve the following semidefinite programming optimization problem (using any SDP solver or optimization tool with SDP capability) [0150]

minimize t
[0151] $t,p,{b}^{\left(1\right)},\dots \ue89e\text{\hspace{1em}},{b}^{\left({N}_{T}\right)}$ $s.t.\left[\begin{array}{cc}\mathrm{tI}& {A}^{\left(i\right)}\ue89ex\\ {x}^{T}\ue89e{A}^{{\left(i\right)}^{T}}& {q}^{\left(i\right)}\ue89ex+{\uf74d}^{\left(\uf74e\right)}\end{array}\right]\ge 0,\text{\hspace{1em}}\ue89ei=1\ue89e\text{\hspace{1em}}\ue89e\dots \ue89e\text{\hspace{1em}}\ue89e{N}_{T}.$

Step 17. Set p=x[0152] _{1:(Np) }

Another aspect of the present invention relates to Analog to Digital Conversion (ADC), which is a process of sampling a continuoustime analog signal in time and mapping these time samples into a digital sequence with finite levels. ADC refers to discretization of an input analog signal in both time and magnitude. For example, Sigma Delta converters provide high resolution analog to digital conversion. The high resolution may be achieved through oversampling of an input signal at a rate higher than its bandwidth. [0153]

A Sigma Delta Analog to Digital (AD) Converter may include at least two stages, such as an Analog Quantizer block and a Digital CombinerDownsampling block. The Analog Quantizer block oversamples an input analog signal and produces a highrate digital signal with typically two levels (e.g., 1 bit) or four levels (e.g., 2bits), for example. This low magnitude resolution oversampled signal may be converted to a higher magnitude resolution (e.g. 16 bits) and a lower rate signal by the Digital CombinerDownsampling block. [0154]

An embodiment of the present invention is directed to a polyphase combiner and sigmadelta decimator block structure. An embodiment of the present invention provides an efficient implementation of a sigmadelta decimator block which may be enabled by an effective decoupling of a polyphase IIR structure into a cascade of a polyphase FIR bank and a single phase IIR filter. As a result, a reduction in hardware implementation may be achieved by reducing timing requirements for filtering and high rate clock generation. In addition, a reduction in power consumption may be achieved by the use of a lower rate clock. Thus, an embodiment of the present invention provides a low complexity, low power consumption implementation of a sigma delta combiner and decimator blocks through the use of a polyphase structure. [0155]

FIG. 6 illustrates an analog to digital converter, according to an embodiment of the present invention. Analog signals are converted into digital signals by A/D Converters by various methods, which may include SigmaDelta A/D conversion. For high performance SigmaDelta A/D conversion, an input analog signal may be sampled into a 2bit (in some cases one bit or other number of bits) highrate digital signal by Analog SigmaDelta block [0156] 610. The digital signal is then downsampled and converted into a high resolution (e.g., 16bit) and lower rate digital signal by a Digital SigmaDelta Decimator block 620. As shown in FIG. 6, Analog SigmaDelta block 610 generates a twobit digital output, D_{1 }and D_{2}. Both D_{1 }and D_{2 }are binary signals with rate R. For example, D_{1 }carries a sampled signal with quantization noise and D_{2 }carries quantization noise cancellation information. The Digital SigmaDelta Decimator 620 combines D_{1 }and D_{2 }and then decimates the combination by a factor M.

FIG. 7 illustrates components of a Digital SigmaDelta Decimator, according to an embodiment of the present invention. A Digital SigmaDelta Decimator [0157] 620 may include a Combine 710 and a decimation filter stage which may include a Multistage Decimator 720. Combiner 710 receives D_{1 }and D_{2 }from the Analog SigmaDelta block 610 and generates a combined signal. The Multistage Decimator 720 receives the combined signal and generates a digital sigmadelta output.

FIG. 8 illustrates components of a combiner, according to an embodiment of the present invention. Combiner may include two filters, C[0158] _{1 }and C_{2 }one for each input branch and a summing junction. For example, D_{1 }may be filtered by filter C_{1 }and D_{2 }may be filtered by filter C_{2 }wherein the filtered signals are combined by a summing junction. Additional filters may be implemented for additional inputs.

FIG. 9 illustrates components of a multistage decimator, according to an embodiment of the present invention. As far as the structure of the decimator is concerned, it may be assumed for an exemplary application that the decimation factor M is not a prime number and therefore may be factored into multiple integer factors, e.g., [0159]

M=M_{1}M_{2 }. . . M_{L}.

As a result, the decimator, as shown by [0160] 720, may be implemented as a Lstage decimator, as shown in FIG. 9. A subsampling factor for the first stage, M_{1}, may be an even number, e.g., M_{1}=2*N where N is an integer. The combined signal of D_{1 }and D_{2 }may be received by a first decimation stage having a subsampling factor of M_{1}. The output of the first decimation stage may be received by a second decimation stage having a subsampling factor of M_{2}. Finally, a Lth decimation stage having a subsampling factor of M_{L }may generate a digital sigmadelta output.

According to one example of an embodiment of the present invention, the first stage may operate with a highest clock rate. The first stage may be implemented with a simple filter such as a Finite Impulse Response (FIR) sinc filter of order K. The combination of the sinc filter and a downsampling function may be efficiently implemented as shown in FIG. 10. S[0161] _{1 }represents a Kth order integrator filter implemented as a cascade of K integrators and S_{2 }represents a Kth order differentiator which may be implemented as a cascade of K differentiators. An advantage of this implementation is that mathematical operations are limited to addition thereby enhancing the simplicity of the method and system.

FIG. 11 illustrates components of a decimator, according to an embodiment of the present invention. FIG. 11 shows a combiner [0162] 1110 and a first stage decimator 1120 with a sinc filter structure. According to an example, the combiner 1110 may operate at a high clock with frequency R MHz. Combiner 1110 includes a filter C_{1}, a filter C_{2 }and a summer. A polyphase structure for the combiner 1110 and sinc filter integrator combination may be implemented such that a lower rate clock may be implemented. This may be accomplished by merging the combiner 1110 and sinc integrator filter operations with a decimation operation as shown by 1120 in FIG. 11. In particular, decimator 1120 includes S_{1}, a downsampling block M and S_{2}. An embodiment of the present invention proposes a low complexity solution for the polyphase structure.

FIG. 12 illustrates a low complexity, efficient polyphase structure, according to an embodiment of the present invention. A first portion of the polyphase structure includes filters C[0163] _{11}, C_{12}, C_{13 }and C_{14 }for receiving inputs D_{11}, D_{12}, D_{21}, and D_{22 }respectively. The outputs of filters C_{11}, C_{12}, C_{13 }and C_{14 }are then combined by a first summer and received by filter F_{1}. A second portion of the polyphase structure includes filters C_{21}, C_{22}, C_{23 }and C_{24 }for receiving inputs D_{11}, D_{12}, D_{21}, and D_{22 }respectively. The outputs of filters C_{21}, C_{22}, C_{23 }and C_{24 }are then combined by a second summer and received by filter F_{2}. The outputs of filters F_{1 }and F_{2 }are combined by a third summer and received by a decimator structure. The decimator structure may include a Kth order integrator filter S_{1}, a downsampling function block N and a Kth order differentiator S_{2}. The decimator structure generates a digital sigmadelta output.

The parameter descriptions used in the structures discussed above may include the following: [0164]

Combiner Filter C[0165] _{1 }of FIG. 11: Combiner Filter 1 has filter coefficients given as {c1_{k}; k ∈ {0, . . . , (2N_{1}−1)}} where 2N_{1 }is the filter length which is an even value.

Combiner Filter C[0166] _{2 }of FIG. 11: Combiner Filter 2 has filter coefficients given as {c2_{k}; k ∈ {0, . . . , (2N_{2}−1)}} where 2N_{2 }is the filter length which is an even value.

According to an embodiment of the present invention as shown in FIG. 12, the following may apply: [0167]

Subsampling factor N: N=M[0168] _{1}/2.

Filter C11 has coefficients {c11[0169] _{k}; k ∈ {0, . . . , N_{1}−1}} where

c11_{k} =c1_{2k } k ∈ {0, . . . , N _{1}−1}.

Filter C12 has coefficients {c12[0170] _{k}; k ∈ {0, . . . , N_{1}}} where c12_{0}=0 and

c12_{k+1} =c1_{2k+1 } k ∈ {0, . . . , N _{1}−1}.

Filter C13 has coefficients {c13[0171] _{k}; k ∈ {0, . . . , N_{2}−1}} where

c13_{k} =c2_{2k } k ∈ {0, . . . , N _{2}−1}.

Filter C14 has coefficients {c14[0172] _{k}; k ∈ {0, . . . , N_{2}}} where c14_{0}=0

c14_{k+1} =c2_{2k+1 } k ∈ {0, . . . , N _{2}−1}.

Filter C21 has coefficients {c21[0173] _{k}; k ∈ {0, . . . , N_{1}−1}} where

c21_{k} =c1_{2k+1 } k ∈ {0, . . . , N _{1}−1}.

Filter C22 has coefficients {c22[0174] _{k}; k ∈ {0, . . . , N_{1}−1}} where

c22_{k} =c ^{(1)} _{2k } k ∈ {0, . . . , N_{1}−1}.

Filter C23 has coefficients {c23[0175] _{k}; k ∈ {0, . . . , N_{2}−1}} where

c23_{k} =c2_{2k+1 } k ∈ {0, . . . , N _{2}−1}.

Filter C24 has coefficients {c24[0176] _{k}; k ∈ {0, . . . , N_{2}−1}} where

c24_{k} =c2_{2k } k ∈ {0, . . . , N _{2}−1}.

Filter F
[0177] _{1 }has coefficients {f1
_{k}; k ∈ {0, . . . , L
_{F1}−1}} where
${L}_{\mathrm{F1}}=\{\begin{array}{cc}\frac{K+1}{2}& \mathrm{when}\ue89e\text{\hspace{1em}}\ue89eK\ue89e\text{\hspace{1em}}\ue89e\mathrm{is}\ue89e\text{\hspace{1em}}\ue89e\mathrm{odd}\\ \frac{K}{2}+1& \mathrm{when}\ue89e\text{\hspace{1em}}\ue89eK\ue89e\text{\hspace{1em}}\ue89e\mathrm{is}\ue89e\text{\hspace{1em}}\ue89e\mathrm{even}\end{array}\ue89e\text{}\ue89e\mathrm{and}\ue89e\text{}\ue89e{\mathrm{f1}}_{k}=\left(\begin{array}{c}n\\ 2\ue89ek\end{array}\right)\ue89e\text{\hspace{1em}}\ue89ek\in \left\{0,\dots \ue89e\text{\hspace{1em}},{L}_{\mathrm{F1}}1\right\}.\text{}\ue89e\mathrm{where}\ue89e\text{\hspace{1em}}\ue89e\left(\begin{array}{c}n\\ k\end{array}\right)=\frac{n!}{\left(nk\right)!\ue89ek!}\ue89e\text{\hspace{1em}}\ue89e\mathrm{and}\ue89e\text{\hspace{1em}}\ue89en!=n*\left(n1\right)*\dots \ue89e\text{\hspace{1em}}*2*1.$

Filter F
[0178] _{2 }has coefficients {f2
_{k}; k ∈ {0, . . . , L
_{F2}−1} where
${L}_{\mathrm{F2}}=\{\begin{array}{c}\frac{K+1}{2}\ue89e\text{\hspace{1em}}\ue89e\mathrm{when}\ue89e\text{\hspace{1em}}\ue89eK\ue89e\text{\hspace{1em}}\ue89e\mathrm{is}\ue89e\text{\hspace{1em}}\ue89e\mathrm{odd}\\ \frac{K}{2}\ue89e\text{\hspace{1em}}\ue89e\mathrm{when}\ue89e\text{\hspace{1em}}\ue89eK\ue89e\text{\hspace{1em}}\ue89e\mathrm{is}\ue89e\text{\hspace{1em}}\ue89e\mathrm{even}\end{array}\ue89e\text{}\ue89e\mathrm{and}\ue89e\text{}\ue89e{\mathrm{f2}}_{k}=\left(\begin{array}{c}n\\ 2\ue89ek+1\end{array}\right)\ue89e\text{\hspace{1em}}\ue89ek\in \left\{0,\text{\hspace{1em}}\ue89e\dots \ue89e\text{\hspace{1em}},\ue89e\text{\hspace{1em}}\ue89e{N}_{\mathrm{F2}}1\right\}.$

For input data sequences D[0179] _{11 }and D_{12}, even subsamples of D_{1 }may be represented by D_{11 }and odd subsamples of the D_{1 }may be represented by D_{12}. An analog sigma delta may provide two outputs, for example, for D_{1 }with one output for (D_{11}) and one output for (D_{12}) where each line has a rate of R/2. In addition, an analog sigma delta may provide a single output with clock of R/2 with even samples (D_{11}) sent at a rising edge and odd samples (D_{12}) sent at a falling edge. In the latter case, D_{11 }and D_{12 }may be obtained as separate lines with rate of R/2 by appropriately sampling the single line output for D_{1}.

For input data Sequences D[0180] _{21 }and D_{22}, even subsamples of D_{2 }may be represented by D_{21 }and odd subsamples of the D_{2 }may be represented by D_{22}. An analog sigma delta may provide two outputs, for example, for D_{2 }with one output for (D_{21}) and one output for (D_{22}) where each line has a rate of R/2. In addition, an analog sigma delta may provide a single output with clock of R/2 but even samples (D_{21}) sent at a rising edge and odd samples (D_{22}) sent at a falling edge. In the latter case, D_{21 }and D_{22 }may be obtained as separate lines with rate of R2 by appropriately sampling the single line output for D_{1}.

In a Discrete MultiTone (DMT) based communication system (e.g., for supporting ADSL modems), a data stream is partitioned and modulated to be transmitted on several independent subchannels (also called subcarriers or tones). Each subchannel may have a different data rate, depending on transmission conditions and/or other factors. The total data rate of the system may be defined as a summation of the data rates of individual subchannels. The data rate of each subchannel may be determined with the consideration of various factors, including the SignaltoNoise Ratio (SNR) at each tone, the PSD constraint, and/or other considerations. Algorithms that attempt to operate with these often conflicting requirements and further attempt to optimize the data rate allocation among the tones are referenced as bit loading algorithms. According to an embodiment of the present invention, an efficient bit loading algorithm (EBLA) is provided. EBLA may be optimized for DMT systems with a QAM (QuadratureAmplitude Modulation) scheme and constraints on the transmitting PSD. The bit loading algorithm of an embodiment of the present invention may be applied in any DMT communication systems. [0181]

According to an embodiment of the present invention, EBLA may automatically decide whether an optimal solution can be obtained efficiently. If so, an optimal solution is generated. If not, a suboptimal solution with a performance close to an optimal solution is calculated. For example, EBLA may be optimized for QAMbased systems with PSD constraints where optimal solutions may be obtained efficiently when possible. [0182]

An adjustment mechanism may be incorporated into the bit loading algorithm of an embodiment of the present invention to minimize the amount of processing of a Greedy Search Module (GSM). As a result, total computational time may be reduced. When a suboptimal solution is desired, a waterfilling procedure may be implemented to expedite solutions. EBLA may accommodate different modulation and coding methods used in various communication systems. [0183]

An embodiment of the present invention provides a reliable and efficient bit loading algorithm for generating an optimal solution when conditions permit, or a suboptimal solution when computational costs associated with obtaining optimal solutions is formidable. [0184]

The following variables may be implemented in the bit loading algorithm of an embodiment of the present invention. [0185]

b[0186] _{n }represents the number of data bits allocated to the nth tone, where n represents the tone index. According to an embodiment of the present invention, a total of N tones may be used, e.g., n=1, . . . , N. In ADSL systems, b_{n }may be an integer ranging from 2 to 15, or may be set to 0, for example.

e[0187] _{n}(b_{n}) represents power allocated at nth tone in order to transmit b_{n }data bits.

Δe[0188] _{n}(b_{n}) represents an increment in power required at the nth tone to load one more bit, from b_{n−1 }bits to b_{n }bits, e.g.,

Δe _{n}(b _{n})=e _{n}(b _{n})−e _{n}(b _{n}−1).

E represents an aggregate power allocated for the system, e.g.,
[0189] $E=\sum _{n=1}^{N}\ue89e\text{\hspace{1em}}\ue89e{e}_{n}\ue8a0\left({b}_{n}\right).$

B represents an aggregate data rate, e.g.,
[0190] $B=\sum _{n=1}^{N}\ue89e\text{\hspace{1em}}\ue89e{b}_{n}.$

c[0191] _{n }represents a PSD constraint at the nth tone. According to an example, the power level allocated for the nth tone may not exceed this constraint, e.g., e_{n}(b_{n}) is less than or equal to c_{n}.

P represents an aggregate power budget. This parameter restricts how much power is allocated for the system, e.g., E is less than or equal to P. [0192]

α[0193] _{n }represents a tone condition indicator at the nth tone. This parameter may be proportional to the noise power and depend on the choice of coding scheme.

At least two different bit loading scenarios are recognized. A first scenario involves a BitRate Maximization (BRM) problem. In this scenario, the aggregate data rate B is maximized under certain constraints. These constraints may involve the total power being less or equal to P and the power at each tone being less or equal to the PSD constraint, e.g., e[0194] _{n}(b_{n})≦c_{n}. A second scenario involves a Margin Maximization (MM) problem. In this scenario, an aggregate data rate B is given and the total power required by the system is maximized to support that data rate, with or without the PSD and/or other constraints. Other scenarios may be implemented.

For example, in a DMT system, such as a system for supporting ADSL modems, the BRM problem generally occurs more frequently. In this scenario, a total power constraint is closely related to the PSD constraint. As a result, an optimal solution may be obtained easily for the BRM problem. On the other hand, the MM problem is inherently a more complicated scenario. Therefore, an optimal solution may be determined with a much higher computational cost. [0195]

EBLA of an embodiment of the present invention exploits advantages of the first scenario (the BRM problem) and generates one or more optimal solutions. For the MM problem, an embodiment of the present invention provides one or more acceptable suboptimal solutions with a moderate or reasonable computational cost. [0196]

FIG. 13 is the flowchart of an efficient bit loading algorithm, according to an embodiment of the present invention. FIG. 13 incorporates functional modules, which may include Scenario Selection Module (SSM) [0197] 1310, PSDConstrained Initial Power/bit Allocation Module (PCIPAM) 1312, WaterFilling Initial Power/bit Allocation Module (WFEPAM) 1314, PSDConstrained Greedy Search Module (PCGSM) 1316, and WaterFilling Greedy Search Module (WFGSM) 1318. Other functional modules may also be incorporated in accordance with an embodiment of the present invention.

According to an embodiment of the present invention, there are at least two paths in the execution of the bit loading algorithm. SSM [0198] 1310 determines which path to implement based on various conditions and factors. Based on an output of SSM 1310, PCIPAM 1312 and PCGSM 1316 may be used to generate optimal bit loading solutions. If an optimal solution is not deemed feasible at SSM 1310, WFIPAM 1314 and WFGSM 1318 may be used to generate suboptimal solutions in an efficient manner.

SSM [0199] 1310 decides whether a BRM or MM problem applies and invokes PCIPAM 1312 or WFIPAM 1314 accordingly. In addition, SSM 1310 may distinguish among other problems or scenarios as well. SSM 1310 also obtains information on the transmission condition and calculates the tone condition indicator α_{n}, which reflects the condition on the nth tone.

IPAM generates an initial power and/or bit allocation efficiently. In particular, the initial power or bit allocation should be close to an optimal bit loading solution so that a small number of adjustments may be made by GSM for obtaining optimal or suboptimal solutions. Depending on the output of SSM [0200] 1310, either PCIPAM 1312 or WFIPAM 1314 may be invoked.

For a BRM problem, PCIPAM [0201] 1312 efficiently obtains an initial power and/or bit allocation close to an optimal bit loading solution. The procedure takes advantage of the fact that the scenario (or condition) is essentially PSDconstrained. In ADSL systems, a total power constraint may include the power transmitted by a “nominal” PSD, which refers to the PSD constraint lowered by the amount of approximately 2.5 dB.

To devise an efficient PCIPAM [0202] 1312, information related to a system's modulation may be incorporated into the bit loading algorithm of an embodiment of the present invention. For example, in ADSL systems, the QAM scheme may be adopted for modulation (or other purpose). IPAM may incorporate a builtin table (or other reference) of power e_{n}(b_{n}) based on QAM (or other schemes). FIG. 14 illustrates a table of number of bits and power levels for incorporation into the bit loading algorithm, according to an embodiment of the present invention. Other variations or types of references may be used. In particular, the table of FIG. 14 illustrates the relation between the number of data bits and the power level for supporting the number of data bits in an ADSL modem compliant to ITU G.992.1 standard (or other standard). Based on this table (or other similar reference), FPAM may determine an initial bit and power allocation.

FIG. 15 is a flowchart illustrating PCIPAM, according to an embodiment of the present invention. The steps of FIG. 15 may be designed for ADSL modems. At step [0203] 1510, a value of b_{n }may be determined. The value of b_{n }may be selected such that e_{n}(b_{n}) ≦c_{n}−q<e_{n}(b_{n}+1) for each tone, where c_{n }is the PSD constraint, b_{n }is the bit allocation, e_{n}(b_{n}) is the power allocation, and q is an adjustment factor, as determined at step 1512. At step 1514, if a bit number at some tones equals 1, then the bit number at that tone may be set to 0, at step 1516 and the allocated power may be set to 0, at step 1518 because G.992.1 does not allow 1 bit to be loaded. The resulting bit and power allocation may be referred to as an initial bit and power allocation. Depending on other conditions and constraints, other values may be assigned to the variables.

The adjustment factor q, if chosen properly, is highly effective in enabling the initial power and bit allocation to represent an optimal solution, thereby reducing computational costs at GSM. For example, a value corresponding to 1.5 dB decrease is a reasonable choice. However, for additional effectiveness, the value for the adjustment factor should be chosen based on conditions, such as a transmission condition. For example, if the transmission condition is such that many tones are usable on the condition that they are allocated with a power level greater the nominal PSD, then q may be reduced. [0204]

FIG. 16 illustrates an example of an output of PCIPAM [0205] 1312, according to an embodiment of the present invention. There are 10 tones in this example. The thick solid line 1610 represents PSD constraint c_{n}. The dotted line 1616 represents a power level c_{n}−q. The thin solid line 1614 represents an initial power allocation e_{n}(b_{n}) and the dashed line 1612 represents a power level to support one more bit, e.g., e_{n}(b_{n}+1). The inequality

e _{n}(b _{n})≦c_{n} −q<e _{n}(b _{n}+1)

holds for all n=1 to 10. As shown in FIG. 16, several tones may be loaded with one more bit without violating the PSD constraint. For example, tone 1 and 2 are examples of such tones. Also, there are tones where no more bits can be loaded without violating the PSD constraint. Tone 3 and 5 are examples of such tones. Whether to load more bits may depend on the amount of the total power budget remaining. This decision as well as choosing which tones to load more bits may be handled in the next procedure, GSM, as discussed in detail below. [0206]

For a MM scenario, the computational cost to obtain optimal solutions may be considered formidable. The bit loading algorithm of an embodiment of the present invention incorporates a combination of WFIPAM [0207] 1314 and WFGSM 1318 to provide suboptimal solutions which are close to the optimal solutions at low costs and effort. The name “WaterFilling” refers to a procedure of calculating optimal transmitting PSDs for general communication systems. WFIPAM 1314 generates waterfilling solutions and then truncates the solutions to meet various requirements and/or conditions associated with DMT systems, e.g., ADSL modems. The resulting solutions of an embodiment of the present invention are close to optimal solutions, also known as suboptimal solutions.

FIG. 17 is a flowchart illustrating WFIPAM, according to an embodiment of the present invention. The procedure of FIG. 17 may be designed for ADSL modems, for example. At step [0208] 1710, the values of {log_{2}(α_{1}), log_{2}(α_{2}), . . . , log_{2}(α_{N})} may be calculated. At step 1712, these calculated values may be sorted in an order, such as in ascending order. At step 1714, the sorted values may be renamed as {log_{2}(α_{1}), log_{2}(α_{2}), . . . , log_{2}(α_{nN})}. At step 1716, a waterfilling procedure may be initiated by setting an iteration index k=1 and λ_{1}=B+log_{2}(α_{n1}). At step 1718, it may be determined whether λ_{k}>log_{2}(α_{nk+1}) and k<N are satisfied. If so, at step 1720, the equation λ_{k+1}=(1/(k+1))(kλ_{k}+log_{2}(α_{nk+1})) is set where k is increased by a predetermined value, such as 1. Step 1716 is then repeated. Otherwise, the value of λ_{k }is recorded at step 1722. At step 1724, the initial bit number b_{n }may be determined by truncating the value of λ_{k}−log_{2}(α_{n}) to an integer. If it is determined that the value of the bit number is 1, at step 1726, then b_{n }is set to a predetermined value, such as 0, at step 1728. The initial power allocation may be calculated as e_{n}(b_{n}), at step 1730.

There may be instances where the initial bit allocation does not achieve the aggregate data rate. In other words, the summation of b[0209] _{n }may be less than B. Therefore, WFGSM provides a fine tuning function for the truncated waterfilling solution. The details of WFGSM are discussed below.

GSM functionality fine tunes the initial power and bit allocation. Depending on the output of SSM [0210] 1310, PCGSM 1316 or WFGSM 1318 may be implemented. Other options may also be available. PCGSM 1316 produces optimal bit loading solutions, while WFGSM 1318 produces suboptimal solutions, in response to the particular conditions and/or other factors.

FIG. 18 is a flowchart illustrating PCGSM, according to an embodiment of the present invention. In particular, FIG. 18 illustrates the steps involved in PCGSM [0211] 1316. At step 1810, an efficient tone may be determined. This may involve determining which tone has the smallest (or a small enough) Δe_{n}(b_{n}+1) and whether the tone is permissible as determined by an increased power level not exceeding the PSD constraint c_{n }and the number of bits not exceeding a predetermined value. Other constraints may be taken into consideration. At step 1812, whether enough power budget is left for the tone may be determined. If so, the power at that tone may be increased to e_{n}(b_{n}+1) at step 1816. At step 1818, the bit number may be updated to (b_{n}+1). These steps may be repeated until no other bits can be added without exceeding the aggregate power budget or until permissible tones are unavailable, at which point the process is terminated at step 1814.

The procedure as used in ADSL modems, for example, may be further optimized by taking into account special requirements and/or conditions associated with ADSL. When choosing an efficient and permissible tone, Δe[0212] _{n}(b_{n}+1) may be used for tones whose initial b_{n }is larger than 1, and (½)Δe_{n}(2) for tones whose initial b_{n }is 0. If a tone with initial b_{n}=0 is chosen, power allocation for that tone may be increased from 0 to e_{n}(2) and the bit number from 0 to 2.

FIG. 19 illustrates an example of an output of PCGSM [0213] 1316, according to an embodiment of the present invention. In response to an input received from PCIPAM 1312, PCGSM 1316 may choose tones 1, 2, 4, and 6 to increase the allocated power and bit number, as shown in FIG. 19. Even though tone 8 may be loaded one more bit without violating the PSD constraint, it is not chosen because the remaining power budget is not enough to support an additional bit.

WFGSM [0214] 1318 follows the steps as illustrated in FIG. 18, according to an embodiment of the present invention. The steps discussed above in connection with FIG. 18 may be repeated until the aggregate data rate requirement is met, the remained power budget is not enough, or permissible tones are unavailable. For ADSL modems, WFGSM 1318 may be modified in a similar manner as PCGSM 1316 may be optimized for ADSL. Other modifications may be made for other types of modems and/or systems.

The computational complexity of the PCIPAM [0215] 1312 and PCGSM 1316 is approximately kN where N represents a number of tones involved and k represents an integer, usually around 20 to 30 when N=256, for example.

GlobespanVirata Corporation's Aluminum™ DSL PHY is designed for full duplex symmetric transmission over ordinary single twisted copper pair when used, for instance, with the Aluminum Analog Front End (AFE). This chipset supports programmable data rates ranging from 192 Kbps to 4.6 Mbps on a single pair, and provides reach greater than 18,000 feet at 1.5 Mbps. Looplengths of up to 26,000 ft are supported at lower data rates. [0216]

The Aluminum™ chipset includes digital communications subsystems, which may include a combination of echo canceller, precoder, feed forward equalizer and decision feedback equalizer. GlobespanVirata also offers its customers a comprehensive suite of technology solutions available to aid in the design, development and deployment of symmetric DSL products. This includes the BD3801 development reference platform for the Aluminum™ chipset. Aluminum™ and the Aluminum™ AFE are HDSL2/G.shdsl/2B1Q Synchronous Digital Subscriber Line (SDSL) compliant. [0217]

The Aluminum™ chipset provides customers with a data throughput increase of up to 100 percent over competitive G.shdsl solutions and enables the development of symmetric DSL products with lower power consumption, greater reach and higher performance than was previously possible. Aluminum™ and Aluminum™ AFE may be purchased as a bundle with GlobespanVirata's Helium™ communications processor and comprehensive network protocol stack, creating a complete customer premises equipment solution for symmetric DSL gateways, routers, and integrated access devices (IAD). In support of this symmetric DSL chipset and software solution, GlobespanVirata is also delivering a symmetric DSL to Ethernet router reference design. [0218]

Helium™ is a lowcost, Physical Layer Device (PHY)neutral communications processor that enables highspeed Internet access capability for single and multipleuser endpoint devices such as Universal Serial Bus (USB) modems, home gateway devices and small office/home office (SOHO) routers. The Helium™ chip may be fully integrated with a networking and protocol software suite that handles Asynchronous Transfer Mode (ATM), frame, routing, bridging and signaling functions, as well as Simple Network Management Protocol (SNMP) management. [0219]

FIG. 20 is a schematic diagram of a hardware architecture in which the inventive aspects of the present invention may be incorporated. The inventive concepts discussed above may be achieved with the processing aid of Million Instructions per Second (MIPS) [0220] 2010 shown in FIG. 20. For example, the functionality related to rate enhanced SHDSL and efficient polyphase implementation of sigma delta analog to digital converter may be implemented in the Aluminum™ 200 and/or 204 DSL Processor, as detailed below. The inventive concepts discussed above may be incorporated into chip sets, such as GlobespanVirata Corporation's Aluminum™ 200 or 204 DSL Processor, which is also known as GlobespanVirata's second generation symmetric highspeed DSL processor. Aluminum™ 200 or 204 may support several modes of operation including: International Telecommunications Union (ITU) G.991.2 (G.shdsl), American National Standard Institute (ANSI) T1E1.4 (High Speed Digital Subscriber Line (HDSL) 2) and singlepair 2B1Q SDSL. A solution for customer premises G.shdsl equipment, Aluminum™ 200 or 204 provides compliance with the ITU G.991.2 standard, as well as other standards. Data rates from 192 Kbps to 2.3 Mbps are supported on 8 Kbps boundaries. In addition, Aluminum™ 200 or 204 provides at least three additional base data rates above 2.3 Mbps: 3.096 Mbps, 4.104 Mbps and 4.616 Mbps.

The power spectral density (PSD) of the transmitted signal is programmable and supports defined symmetric and asymmetric PSDs. In addition, the adaptability of the PSD shaper may allow support of new PSDs that may be defined in the future. [0221]

The Aluminum™ 200 or 204 DSL Processor may support Transmission Protocol Specific—Transmission Convergence (TPSTC) defined in G.991.2 including dualbearer mode. By providing at least two independent serial channels, in addition to a UTOPIA Level 2 port, the Aluminum™ 200 or 204 may provide services such as simultaneous Synchronous Transfer Mode (STM) voice and ATM data transport. [0222]

Support for analog voice and G.shdsl on the same copper pair is provided through the Aluminum™ 200's or 204's G.shdsloverPOTS mode. By using this capability, vendors and other entities may deliver the reach and symmetric performance of G.shdsl without giving up POTS service. G.shdsloverPOTS further works with current ADSL splitters and microfilters, as well as other devices and components. [0223]

The Aluminum™ 200 or 204 DSL Processor may work in conjunction with GlobespanVirata's Aluminum™ 200 Smart Analog Front End/Line Driver device, for example. The Aluminum™ 200 or 204 may control the Aluminum™ 200 AFE through a digital serial bus and may further provide for parameter calibration, power cutback and other functions. This configurability of the present invention allows the AFE to better match line conditions for higher performance and greater reach. [0224]

The BD3802 is a development platform for Aluminum™ 200 or 204 DSL Chipset, providing a comprehensive set of hardware and firmware tools to assist users in rapid development and deployment of products and services. [0225]

Product applications may include Symmetric DSL routers and Integrated Access Devices (IAD); DSL Access Multiplexers (DSLAMs); Multitenant and Multidwelling unit networks; T1/E1 distribution products; and T1/E1 pairgain systems (using 3 Mbps and higher data rates). [0226]

Specification details may include ITU G.991.2 (G.shdsl) compliant; T1E1.4 HDSL2 compliant; ETSL ETR152 compliant (single pair); support for data rates, presently, from 192 Kbps to 4616 Kbps on 8 Kbps increments; programmable framer supports G.shdsl, HDSL2, European Telecommunications Standard Institute (ETSI) SDSL, HDSL and transparent framing; UTOPIA Level 2 interface for ATM data and two independent serial interfaces for STM data; and 8bit multiplexed or nonmultiplexed host bus to connect to a variety of host Central Processing Units (CPUs). [0227]

As shown in FIG. 20, MIPS Reduced Instruction Set Computing (RISC) engine and control registers [0228] 2010 may be coupled to a host interface 2022, which may in turn be coupled to a 8bit host interface. A serial data input may be coupled to an input of Tx Framer TPSTC 2012, which is further coupled to a Trellis Encoder/Mapper 2014. Trellis Encoder/Mapper 2014 may provide an input to Precoder 2016 where Precoder 2016 may be coupled to a Tx Filter 2018. Tx Filter 2018 may be coupled to (sigmadelta) SD interpolating filter 2020 which is coupled to an output, Tx out. Utopia2 Interface 2024 may be coupled to an input of Tx Framer TPSTC 2012 and may further receive data from a Rx Framer TPSTC 2026. SD Decimation filter 2038 receives an input from Rx In and is coupled to an adder 2040. Adder 2030 sums outputs from filter 2038 and echo canceller 2032 and generates an output to Feed Forward (FF) equalizer 2030. FF equalizer 2030 may be coupled to a Timing Recovery Phase Locked Loop (PLL) 2036 at an input. At an output, Timing Recover PLL 2036 may be coupled to Volt Controlled Oscillator Digital Analog Converter (VCXO DAC), which in the case of the STUR is used to adjust the sampling phase to match that of the transmitting modem. FF equalizer 2030 may be coupled to a Trellis Decoder 2028, which may be in turn coupled to Rx Framer TPSTC 2026. In addition, in the case of the Aluminum™ 204, a SNR margin 2042 may be coupled to FF equalizer 2030 and Rx Framer TPSTC 2026, which may be further coupled to a Serial Data output.

In particular, Aluminum™ 204 may include SNR margin [0229] 2042, as discussed above and as shown in FIG. 20. Details of SNR margin 2042 are shown in FIG. 21. A purpose of a SNRmargin estimator may include determining SNR for a given constellation and input signal. The output of the estimator may include the SNR margin value in dB. The SNRmargin estimator may include a hardware module that performs the SNR computation. Software may select certain parameters based on the constellation type. FIG. 21 illustrates a block diagram showing the basic operation of a SNRmargin estimator.

A hardware module may perform a SNRmargin estimate that operates on a continuous stream of input samples and produces a SNR value. The margin may be found by comparing SNR to a minimum value. The software may perform a function of specifying the number of samples to average over as well as the signal power for a particular constellation. [0230]

The error signal may be computed by subtracting an input sample from a decoder or slicer output as shown in equation below. [0231]

e(n)=d(n)−x(n−K)

For example, slicer or decoder [0232] 2110 may receive an input signal x(n) to generate an output of d(n). In addition, input signal x(n) may be an input to function 2112 (e.g., z^{−K}) for generating an output to be subtracted from d(n) by adder 2114. The output of adder 2114 may include an error signal as defined in the equation above.

K may be defined as the delay through the decoder or slicer and d(n) may be a softdecision output of Trellis decoder or an output of a slicer
[0233] 2110. This error signal may be equal to the noise in the signal if the assumption is made that the decision, d(n), is correct. This leads to a meansquarederror (MSE) being approximately equal to the noise power as shown in equation below.
$\begin{array}{c}E\ue8a0\left[{e}^{2}\ue8a0\left(n\right)\right]=\ue89e\mathrm{MSE}\cong \frac{1}{N}\ue89e\sum _{n=0}^{N1}\ue89e\text{\hspace{1em}}\ue89e{\left(d\ue8a0\left(n\right)x\ue8a0\left(nK\right)\right)}^{2}\cong {P}_{n}\\ \mathrm{SNR}=\ue89e10\ue89e\text{\hspace{1em}}\ue89e{\mathrm{log}}_{10}\ue8a0\left(\frac{{P}_{s}}{{P}_{n}}\right)\cong 10\ue89e\text{\hspace{1em}}\ue89e{\mathrm{log}}_{10}\ue8a0\left(\frac{{P}_{s}}{\mathrm{MSE}}\right)\\ =\ue89e10\ue89e\text{\hspace{1em}}\ue89e{\mathrm{log}}_{10}\ue8a0\left({P}_{s}\right)10\ue89e\text{\hspace{1em}}\ue89e{\mathrm{log}}_{10}\ue8a0\left(\mathrm{MSE}\right)\end{array}$

Function [0234] 2116 may receive error signal e(n) and generate a square of the error signal e^{2}(n). Function 2118 may receive squared error signal and generate MSE. In particular, function 2118 may accumulate N values and right shift by log2(N).

The signal power for a given constellation is known, so the first term on the right of equation above is a constant and the MSE dB value may be computed. For the log estimation, the following may be used. The desire is to estimate log[0235] _{2}(MSE),

MSE=2^{k}=2^{(k} ^{ i } ^{+k} ^{ f } ^{)}=2^{k} _{ i }2^{k} _{ f }

where the exponent k is the sum of an integer part, k[0236] _{i}, and a fractional part (less than 1), k_{f}, as shown below.

k=k
_{i}
+k
_{f }

A rough approximation of log
[0237] _{2}(MSE) may be found using the following equation,
${\mathrm{log}}_{2}\ue8a0\left(\mathrm{MSE}\right)\cong {k}_{i}+{\hat{k}}_{f}={k}_{i}+\frac{x}{{2}^{{k}_{i}}}1$

Where k[0238] _{i }is found by noting the position of the most significant bit (MSB). Function 2120 may receive MSE and generate 10log_{10}(MSE). In particular, the estimate of the fraction, k_{f}, may then be improved by estimating the logarithms nonlinear fractional component using equation below.

k _{f}≅0.0090+1.3211{circumflex over (k)} _{f}−0.3369k _{f} ^{2 }

The result is the approximate log[0239] _{2}(MSE) of an integer number. To find 10log_{10}(MSE), the scaling operation in equation below may be performed.

10log _{10}(MSE)=10log _{10}(2)log _{2}(MSE)

Finally, the SNR margin may be computed using equation below. [0240]

SNR
_{margin}
=SNR−SNR
_{min }

Adder [0241] 2122 may be used to calculate SNR margin by subtracting the result of function 2120 from 10log_{10}(P_{s})−SNR_{min}. The following precisions may be assumed, such as Polynomial coefficients are 10bits {0x002, 0x152, 0x3aa}; power samples are 16bits; the rough estimate of the log fraction, {circumflex over (k)}_{f}, is minimum 8bits; the resulting log is 16 bits, 6 integer and 10 fractional bits.

An example may include the following log estimation where log[0242] _{2}(0000000010101010b) may be calculated.

The bit location of the first 1 is 7 so this means k[0243] _{i}=7=111. To estimate {circumflex over (k)}_{f}, the MSB is removed leaving 0101010b, which is the rough estimate of the fractional part of the log. The rough estimate of log_{2 }is then 111.0101010, which is 7.328125. k_{f}≅(0.0090)+(1.3211)(0.328125)+(0.3369)(0.328125)^{2}. Therefore, k≅7.4062 To find 10log_{10}(0000000010101010b), 10log_{10}(2)*k=22.2949. The actual result calculated with a calculator is 22.304.

Several parameters may be implemented by software for the proper operation of the SNRmargin estimator. The number of samples to average over, N, may be input by software. This is input as log[0244] _{2}(N) and hardware will set the appropriate bit in a counter and then use the input value for the final shift. Another parameter may include the logarithm of the signal power. This value may be constellation specific and may be a parameter input by software even if the module works with one constellation. Yet another parameter may include the minimum SNR acceptable, SNR_{min}.

FIG. 22 illustrates a flowchart describing a hardware algorithm for SNR margin, according to an embodiment of the present invention. At step [0245] 2210, a start of a hardware algorithm for SNR margin may be initiated. Variables, such as n and sum may be initialized. At step 2212, an error signal, the square of the error signal and an accumulated result may be determined. At step 2214, it may be determined whether n=N−1 wherein N may be a summation length. If not, variable n may be adjusted by a predetermined value (as shown by n++) where step 2212 may be invoked. Otherwise, a logarithm may be determined and further scaled, at step 2216. At step 2218, the margin may be determined by subtracting a signal. Step 2220 indicates the end of the algorithm.

An input to the hardware algorithm may include summation length, N. This number may be a power of 2 and may range from approximately 64 to approximately 32768. Summation length may be input as log[0246] _{2}(N). Other inputs may include constellation type, 10log_{10}(P_{s}) and SNR_{min}, which represents a minimum SNR to obtain a specific BER, for example. Storage factors may include log_{2}(N_{max})+22=15+22=37 bit accumulator to store the power sum. This accumulator may be cleared to zero every time a new average is started. Other storage factors may include K+1, where K represents the delay from a Trellis decoder input to output, samples of the input signal, 12bits each, for example. The output may include SNR margin, which may include five integer bits. This means that a maximum value this output may have is approximately 31 dB. This may be compared to a threshold of 015 dB to determine if the margin is too small. The 16bit SNR value may be subtracted from the reference, which may also be 16 bits. The value may then be rounded and the lower 5 integer bits compared to the threshold.

FIG. 23 is a schematic diagram of a hardware architecture which may function with devices supporting certain inventive aspects of the present invention. AFE, such as the Aluminum™ 200 AFE, is a G.SHDSL/HDSL2/2B1Q SDS1 compliant Analog Front End (AFE) with integrated line driver designed to be used with GlobespanVirata's Aluminum™ 200 or 204 Symmetric DSL Processor to an external 2/4 wire hybrid. [0247]

The Aluminum™ 200 AFE conforms to G.shdsl PSD masks for every rate when interfaced to the Aluminum™ 200 or 204 DSL Processor, Aluminum™ 200 AFE also conforms to the HDSL2 OPTIS PSD mask at 1.544 Mbps. Aluminum™ 200 AFE may be used in a central office or remote application mode, selectable by configuring the programmable filters in the Aluminum™ 200 or 204 DSL Processor. [0248]

The Aluminum™ 200 AFE may include a high resolution 16bit TX Digital Analog Converter (DAC) in the transmit path and one high resolution 16bit RX Analog Digital Converter (ADC) in the receive path. A 10bit DAC for the VCXO control is also integrated in the Aluminum™ 200 AFE to reduce the number of required external components. The transmitter programmable attenuation control (PAC) and the receiver programmable gain amplifier (PGA) may be programmed via the Aluminum™ 200 or 204 processor through a twowire serial bus. [0249]

Aluminum™ 200 AFE has a low total power consumption of less than 800 mWatt (including the line drive) in full operation mode. An external line driver may also be used for HDSL2 and asymmetric PSD applications. Aluminum™ 200 AFE may also provide a power down mode for standby operation. [0250]

Product applications may include symmetric DSL routers and integrated access devices; DSL access multiplexers (DSLAMs); multitenant and multidwelling unit networks; T1/E1 distribution products; and T1/E1 pairgain systems (using proprietary 3 Mbps and higher data rates). Specification details may include ITU G.991.2 (G.shdsl) compliant; T1E1.4 HDSL2 compliant; ETSI ETR152 compliant (single pair); and support for data rates from 192 Kbps to 2.312 Mbps and 8 Kbps increments, plus three additional rates of 3.096 Mbps, 4.104 Mbps and 4.616 Mbps. [0251]

As shown in FIG. 23, a transmission line may include a Tx Digital Audio Video (DAV) [0252] 2310 coupled to a Tx Filter 2312, further coupled to a Programmable Attenuation Control (PAC) 2314. PAC 2314 is coupled to a Line Driver 2316, which is coupled to a Tx Tip & Ring. PAC 2314 may be further coupled to a HDSL2 bypass. A receiving line includes Automatic Gain Control (AGC) 2318 coupled to Rx Tip & Ring at an input and Rx Filter 2320 at an output. Rx Filter 2320 is coupled to Rx ADC 2322. A control/testing interface 2326 may be provided on a serial line. A clocking subsystem 2324 may receive a plurality of inputs. The hardware architecture of FIG. 23 may further include a Current and Voltage Reference Generator (IVREF) Subsystem 2328.

While the foregoing description includes many details and specificities, it is to be understood that these have been included for purposes of explanation only, and are not to be interpreted as limitations of the present invention. Many modifications to the embodiments described above can be made without departing from the spirit and scope of the invention. [0253]

The present invention is not to be limited in scope by the specific embodiments described herein. Indeed, various modifications of the present invention, in addition to those described herein, will be apparent to those of ordinary skill in the art from the foregoing description and accompanying drawings. Thus, such modifications are intended to fall within the scope of the following appended claims. Further, although the present invention has been described herein in the context of a particular implementation in a particular environment for a particular purpose, those of ordinary skill in the art will recognize that its usefulness is not limited thereto and that the present invention can be beneficially implemented in any number of environments for any number of purposes. Accordingly, the claims set forth below should be construed in view of the full breath and spirit of the present invention as disclosed herein. [0254]