Patent ID: 7774398

Claim:
A method in a hardware based system, having a processor and memory for processing indexed Digital Subscriber Line (DSL) data, the method comprising: (1) receiving a user data vector; (2) receiving a set of indices and angles that identify data entries to be rotated from the received user data vector; (3) performing, via the hardware based system, a 2×2 complex rotation of selected vector elements, wherein performing the 2×2 complex rotation comprises: obtaining a first angle, a second angle, a first index and a second index from the set of indices and angles received, obtaining a first original data entry from the indexed DSL data using the first index, obtaining a second original data entry from the indexed DSL data using the second index, performing a complex rotation of the first original data entry and the second original data entry as follows: applying a first real rotation using a first real rotation angle to a real part of the first and second original data entries resulting in a first complex output; applying a second real rotation using the first real rotation angle to an imaginary part of the first and second original data entries, resulting in a second complex output; applying a third real rotation using a second real rotation angle to the first complex output, resulting in the first rotated data entry complex output; applying a fourth real rotation using a third real rotation angle to the second complex output, resulting in the second rotated data entry complex output; replacing the first original data entry with the first rotated data entry in the indexed DSL data, and replacing the second original data entry with the second rotated data entry in the indexed DSL data; (4) repeating steps 2-3 until the 2×2 complex rotation is complete for one of a plurality of tones in the indexed DSL data; and (5) repeating steps 1-4 for each of the plurality of tones present in the indexed DSL data.