WO2006136883A1 - Dynamic minimum-memory interleaving - Google Patents

Dynamic minimum-memory interleaving Download PDF

Info

Publication number
WO2006136883A1
WO2006136883A1 PCT/IB2006/000629 IB2006000629W WO2006136883A1 WO 2006136883 A1 WO2006136883 A1 WO 2006136883A1 IB 2006000629 W IB2006000629 W IB 2006000629W WO 2006136883 A1 WO2006136883 A1 WO 2006136883A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory cells
interleaver
array
byte
period
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/IB2006/000629
Other languages
English (en)
French (fr)
Inventor
John M. Cioffi
Georgios Ginis
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Adaptive Spectrum and Signal Alignment Inc
Original Assignee
Adaptive Spectrum and Signal Alignment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Adaptive Spectrum and Signal Alignment Inc filed Critical Adaptive Spectrum and Signal Alignment Inc
Priority to CN2006800222250A priority Critical patent/CN101204014B/zh
Priority to JP2008517616A priority patent/JP5162455B2/ja
Priority to EP06727342A priority patent/EP1900106A1/en
Publication of WO2006136883A1 publication Critical patent/WO2006136883A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2732Convolutional interleaver; Interleavers using shift-registers or delay lines like, e.g. Ramsey type interleaver
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2757Interleaver with an interleaving rule not provided for in the subgroups H03M13/2703 - H03M13/2753
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2782Interleaver implementations, which reduce the amount of required interleaving memory
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2789Interleaver providing variable interleaving, e.g. variable block sizes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2792Interleaver wherein interleaving is performed jointly with another technique such as puncturing, multiplexing or routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving

Definitions

  • This invention relates generally to methods, systems and apparatus for digital communications systems.
  • Digital communications system transmitters use modules known as interleavers and corresponding receiver modules known as deinterleavers.
  • these modules are used to increase the systems' coding gain and Io improve their impulse noise correction capability. These improvements allow reliable transmission of information at data rates higher than those achievable without interleaver/deinterleaver modules.
  • Interleaver/deinterleaver configuration parameters have previously been set before starting data transmission. Thus, the interleaver and deinterleaver modules are not in operation while their parameters are adjusted. However, it has been proposed that "dynamic" changes to the interleaver/deinterleaver parameters should be allowed even while these modules are in operation (that is, while data is being passed through these modules).
  • interleaver/deinterleaver designs are known to those skilled in the art, previous systems have always had to reserve enough memory in advance to accommodate the maximum potential values of the interleaver/deinterleaver parameters.
  • Embodiments of the present invention provide methods, techniques and apparatus for interleaving/deinterleavmg that permit use of minimum memory for a given set of settings and further permit dynamic adjustment of the interleaving/deinterleaving when the depth is increased or decreased.
  • a controller can be used to control, instruct, etc. one or more interleaving/deinterleaving devices, modules, software components, etc.
  • Embodiments of the present invention allow minimum-memory-implementation for use with any depth and period in DSL interleaving/deinterleaving, always allowing the minimum amount of memory to be used in both transmitter and receiver without loss of performance or of basic triangular structure, even if the interleaver/deinterleaver parameters change dynamically.
  • Other embodiments of the present invention utilize the same general methods and/or structures but do not require implementation using the minimum memory, hi the present invention, a novel cell-scheduling process ensures availability of the minimum amount of memory (or any other desired memory usage) to implement an image of the perfect triangle and works for any co-prime depth and interleaver period.
  • Minimal memory use may be further characterized by a simple off-line method that determines an addressing order for each of the memory cells in a minimum-memory (or other) implementation of an interleaver/deinterleaver according to the invention. Time variation of interleaver depth in operation can be accommodated easily with absolute minimum memory requirement at all time instants.
  • Figure 1 is a schematic block reference model system per the G.997.1 standard applicable to ADSL, VDSL and other communication systems in which embodiments of the present invention may be used.
  • Figure 2A is a schematic diagram illustrating generic, exemplary DSL deployment.
  • Figure 2B is a schematic diagram of a transmitter in which embodiments of the present invention can be implemented in a system such as the generic, exemplary DSL deployment of Figure 2A.
  • Figure 2C is a schematic diagram of a receiver in which embodiments of the present invention can be implemented in a system such as the generic, exemplary DSL deployment of Figure 2A.
  • Figure 3 is a triangular DSL interleaver/deinterleaver pair.
  • Figure 4 is a DSL interleaver/deinterleaver configuration implementing one or more embodiments of the present invention.
  • Figure 5 is a DSL interleaver/deinterleaver configuration implementing one or more embodiments of the present invention.
  • Figure 6 is a generalized triangular DSL interleaver/deinterleaver configuration implementing one or more embodiments of the present invention.
  • Figure 7 is a method according to one or more embodiments of the present invention for scheduling memory cells in an interleaver/deinterleaver system.
  • Figure 8 A is a method according to one or more embodiments of the present invention showing dynamic adjustment of interleaving/deinterleaving when the interleaving depth is decreased.
  • Figure 8B is a method according to one or more embodiments of the present invention showing dynamic adjustment of interleaving/deinterleaving when the interleaving depth is increased.
  • Figure 9 is a method according to one or more embodiments of the present invention showing the generation of a new schedule and/or schedule set for use during dynamic adjustment of interleaving/deinterleaving.
  • Figure 10 is a schematic block diagram of a memory-cell based implementation of the minimum-memory interleaving system, etc. embodiments of the present invention.
  • Figure 11 is a controller including an interleaver/deinterleaver control unit according to one embodiment of the present invention.
  • Figure 12 is a block diagram of a typical computer system or integrated circuit system suitable for implementing embodiments of the present invention.
  • inventions according to the present invention include apparatus, methods and computer program products.
  • the communications systems in which embodiments of the present invention may be used may include ADSL, VDSL and/or or any other communications system and/or lines with which the present invention is practical, as will be appreciated by those skilled in the art after reading the present disclosure.
  • ADSL systems are used herein, but the invention is not so limited.
  • a method of performing convolutional interleaving of a data flow uses a depth D and a period I. The method begins by determining a schedule for each of R memory cells and then performing for each time sample a series of operations. A first memory cell is selected from the R memory cells based on the schedules of the R memory cells. A first byte is read and stored in the first memory cell and is later written to the interleaver output. A second byte is received at the input of the interleaver and later written to the first memory cell.
  • the schedule for each of the R memory cells can be generated by constructing an array having a plurality of rows, wherein each row of the array has a first element defining a period index P and a second element defining a byte index B.
  • the arrays can be constructed by generating a first row of the array using initialization values for P and B and then constructing one or more additional rows. This can be done in a variety of ways using D, I 3 P, B and a position index L.
  • Selecting a first memory cell from the R memory cells can be done in different ways, for example by examining the schedules of the R memory cells to identify the memory cell whose schedule includes a current time sample or, in another example, by reading a scheduling table that has rows corresponding to period indices and columns corresponding to byte indices, where the contents of the table consist of pointers to memory cells for period indices and byte indices corresponding to time samples.
  • R — .
  • a method for dynamically changing the depth for convolutionally interleaving a data flow begins with determining a first schedule set for R memory cells using a depth D and an interleaving period I 3 where R is based on D and I.
  • Read and write operations are performed on the R memory cells using a first schedule set (for example, "Schedule A").
  • a second schedule set (for example, ''Schedule B") is generated using a new depth D' and a new R' based on D' and I.
  • the method then switches to read and write operations on the R' memory cells using the second schedule set.
  • D' is greater than D
  • switching to read and write operations on the R 1 memory cells using the second schedule set allows transferring from the first schedule set to the second schedule set immediately.
  • a minimum-memory-capable interleaver/deinterleaver uses period I and first depth D.
  • the interleaver/deinterleaver has an input configured to provide consecutive data bytes for interleaving/deinterleaving and an output configured to deliver consecutive data bytes after interleaving/deinterleaving.
  • the interleaver/deinterleaver also uses R memory cells, each of which is coupled between the input and the output.
  • a controller controls the memory cells so that, at a given time sample, a first data byte is written from a first memory cell to the output and a second data byte is read to a second memory cell from the input.
  • controller operation is based on schedules dete ⁇ nined for each of the R memory cells.
  • the interleaver/deinterleaver can be configured to operate consistent with the methods described above, including a minimum memory
  • implementation of one or more interleavers and/or deinterleavers using one or more embodiments of the present invention can be part of a communication device (for example, a transmitter, receiver, modem, transceiver, controller, DSL optimizer, DSLAM, LT device, RT device, DSL modem and the like).
  • a communication device for example, a transmitter, receiver, modem, transceiver, controller, DSL optimizer, DSLAM, LT device, RT device, DSL modem and the like.
  • Such implementation may be controlled and/or assisted by an interleaving/deinterleaving control unit in a local device (again, for example, a DSLAM, LT device, modem, etc.) and/or in a remote device, such as a controller (for example, in or as a DSL optimizer, dynamic spectrum manager or spectrum management center).
  • the term "interleaver/deinterleaver” and the like in this disclosure and the claims refer to either an interleaver,
  • the control unit for interleaving/deinterleaving can be located anywhere.
  • a controller having an interleaving/deinterleaving control unit resides in a DSL CO, while in other cases it maybe operated by a third party located outside the CO.
  • the structure, programming and other specific features of a controller and/or control unit usable for interleaving/deinterleaving in connection with embodiments of the present invention will be apparent to those skilled in the art after reviewing the present disclosure.
  • a controller such as a DSL optimizer, dynamic-spectrum-management center (DSM Center), a "smart” modem and/or computer system can be used to collect and analyze the operational data and/or performance parameter values as described in connection with the various embodiments of the present invention.
  • the controller and/or other components can be a computer-implemented device or combination of devices, hi some embodiments, the controller is in a location remote from modems or other communication equipment coupled to a communication line. In other cases, the controller may be collocated with one of or both of the "local" devices (that is, devices directly coupled to a communication line or part of such a local device) as equipment directly connected to a modem, DSLAM or other communication system device, thus creating a "smart” modem.
  • the phrases “coupled to” and “connected to” and the like are used herein to describe a connection between two elements and/or components and are intended to mean coupled either directly together, or indirectly, for example via one or more intervening elements or via a wireless connection
  • DSL digital subscriber system
  • certain conventions, rales, protocols, etc. may be used to describe operation of the exemplary DSL system and the information and/or data available from customers (also referred to as "users") and/or equipment on the system.
  • customers also referred to as "users”
  • embodiments of the present invention may be applied to various communications systems, and the invention is not limited to any particular system.
  • a network-management framework consists of one or more managed nodes, each containing an agent.
  • the managed node could be a router, bridge, switch, modem or other.
  • At least one NMS Network Management System
  • NMS Network Management System
  • EMS Element Management System
  • a network management protocol is used by the manager and agents to exchange management information and data.
  • the unit of management infonnation is an object.
  • a collection of related objects is defined as a Management Information Base (MIB).
  • MIB Management Information Base
  • FIG 1 shows the reference model system according to the G.997.1 standard (G.ploam), which applies to various ADSL and VDSL systems, which is well known to those skilled in the art, and in which embodiments of the present invention can be implemented.
  • This model applies to ADSL and VDSL systems meeting the various standards that may or may not include splitters, such as ADSLl (G.992.1), ADSL-Lite (G.992.2), ADSL2 (G.992.3), ADSL2-Lite (G.992.4), ADSL2+ (G.992.5), VDSLl (G.993.1) and other G.993.X emerging VDSL standards, as well as the G.991.1 and G.991.2 SHDSL standards, all with and without bonding.
  • splitters such as ADSLl (G.992.1), ADSL-Lite (G.992.2), ADSL2 (G.992.3), ADSL2-Lite (G.992.4), ADSL2+ (G.992.5), VDSLl (G.993.1) and other G.993.X emerging VDSL standards, as well as the G.991.1 and G.991.2 SHD
  • the G.997.1 standard specifies the physical layer management for ADSL and VDSL transmission systems based on the clear embedded operation channel (EOC) defined in G.997.1 and use of indicator bits and EOC messages defined in G.99x standards. Moreover, G.997.1 specifies network management elements content for configuration, fault and performance management. In performing these functions, the system utilizes a variety of operational data that are available at and can be collected from an access node (AN).
  • AN access node
  • the DSL Forum's TR69 report also lists the MIB and how it might be accessed.
  • customers' terminal equipment 110 is coupled to a home network 112, which in rum is coupled to a network termination unit (NT) 120.
  • NT network termination unit
  • NT 120 includes an ATU-R 122 (for example, a modem, also referred to as a transceiver in some cases, defined by one of the ADSL and/or VDSL standards) or any other suitable network termination modem, transceiver or other communication unit.
  • ATU-R 122 for example, a modem, also referred to as a transceiver in some cases, defined by one of the ADSL and/or VDSL standards
  • the remote device in a VDSL system would be a VTU-R.
  • each modem interacts with the communication system to which it is connected and may generate operational data as a result of the modem's performance in the communication system.
  • NT 120 also includes a management entity (ME) 124.
  • ME 124 can be any suitable hardware device, such as a microprocessor, microcontroller, or circuit state machine in firmware or hardware, capable of performing as required by any applicable standards and/or other criteria.
  • ME 124 collects and stores performance data in its MIB, which is a database of information maintained by each ME, and which can be accessed via network management protocols such as SNMP (Simple Network Management Protocol), an administration protocol used to gather information from a network device to provide to an administrator console/program or via TLl commands, TLl being a long- established command language used to program responses and commands between telecommunication network elements.
  • SNMP Simple Network Management Protocol
  • Each ATU-R in a system is coupled to an ATU-C in a CO or other upstream and/or central location.
  • each VTU-R in a system is coupled to a VTU-O in a CO or other upstream and/or central location (for example, any line termination device such as an ONU/LT, DSLAM, RT, etc.).
  • ATU-C 142 is located at an access node (AN) 140 in a CO 146.
  • AN 140 may be a DSL system component, such as a DSLAM, ONU/LT, RT or the like, as will be appreciated by those skilled in the art.
  • An ME 144 likewise maintains an MIB of performance data pertaining to ATU-C 142.
  • the AN 140 maybe coupled to a broadband network 170 or other network, as will be appreciated by those skilled in the art.
  • ATU-R 122 and ATU-C 142 are coupled together by a loop 130, which in the case of ADSL (and VDSL) typically is a telephone twisted pair that also carries other communication services.
  • a bonded system such as those described in United States Serial No. 10/808,771, which is incorporated herein by reference for all potposes, multiple loops 130 can be "bonded" to operate together for a single user, thus providing additional bandwidth to that user.
  • a bonded line set also provides the opportunity for improved cancellation of crosstalk that is induced between the bonded lines. Use of this characteristic and the joint optimization of the lines' transmitters in connection with the present invention is explained in more detail below.
  • the Q-interface 155 provides the interface between the NMS 150 of the operator and ME 144 in AN 140. All the parameters specified in the G.997.1 standard apply at the Q-interface 155.
  • the near-end parameters supported in ME 144 are derived from ATU-C 142, while the far-end parameters from ATU-R 122 can be derived by either of two interfaces over the U-interface.
  • Indicator bits and EOC messages which are sent using embedded channel 132 and are provided at the PMD layer, can be used to generate the required ATU-R 122 parameters in ME 144.
  • the OAM (Operations, Administrations and Management) channel and a suitable protocol can be used to retrieve the parameters from ATU-R 122 when requested by ME 144.
  • the far-end parameters from ATU-C 142 can be derived by either of two interfaces over the U-interface.
  • Indicator bits and EOC messages which are provided at the PMD layer, can be used to generate the required ATU-C 142 parameters in ME 124 of NT 120.
  • the OAM channel and a suitable protocol can be used to retrieve the parameters from ATU-C 142 when requested by ME 124.
  • Interface 157 provides ATU-C near-end parameters for ATU-R 122 to retrieve over the U-interface 130.
  • interface 158 provides ATU-R near-end parameters for ATU-C 142 to retrieve over the U-interface 130.
  • the parameters that apply may be dependent upon the transceiver standard being used (for example, G.992.1 or G.992.2).
  • the G.997.1 standard specifies an optional OAM communication channel across the U-interface. If this channel is implemented, ATU-C and ATU-R pairs may use it for transporting physical layer OAM messages. Thus, the transceivers 122, 142 of such a system share various operational and performance data maintained in their respective MIBs.
  • Part of the loop maybe located inside a binder, where the loop is sometimes shielded from external electromagnetic interference, but is subject to crosstalk.
  • the drop wire is often unaffected by crosstalk when this pair is far from other pairs for most of the drop, but transmission can also be more significantly impaired by electromagnetic interference because the drop wires are unshielded.
  • Many drops have 2 to 8 twisted-pairs within them and in situations of multiple services to a home or bonding (multiplexing and demultiplexing of a single service) of those lines, additional substantial crosstalk can occur between these lines in the drop segment.
  • FIG. 2A A generic, exemplary DSL deployment scenario is shown in Figure 2A. All the subscriber loops of a total of (L + M) users 291, 292 pass through at least one common binder. Each user is connected to a Central Office (CO) 210, 220 through a dedicated line. However, each subscriber loop may be passing through different environments and mediums, hi Figure 2A, L customers or users 291 are connected to CO 210 using a combination of optical fiber 213 and twisted copper pairs 217, which is commonly referred to as Fiber to the Cabinet (FTTCab) or Fiber to the Curb. Signals from transceivers 211 in CO 210 have their signals converted by optical line terminal 212 and optical network terminal 215 in CO 210 and optical network unit (ONU) 218. Modems 216 in ONU 218 act as transceivers for signals between the ONU 218 and users 291.
  • CO Central Office
  • ONU optical network unit
  • Users' lines that co-terminate in locations such as COs 210, 218 and ONU 220 (as well as others) may be operated in a coordinated fashion, such as vectoring.
  • vectored communication systems such as vectored ADSL and/or VDSL systems
  • Downstream vectoring occurs when multiple lines' transmit signals from a DSLAM or LT are co-generated with a common clock and processor.
  • VDSL systems with such a common clock the crosstalk between users occurs separately for each tone.
  • upstream vectoring occurs when a common clock and processor are used to co-receive multiple lines' signals.
  • Pn VDSL systems with such a common clock the crosstalk between users occurs separately for each tone.
  • each of the upstream tones for many users can be independently processed by a common vector receiver.
  • the loops 227 of the remaining M users 292 are copper twisted pairs only, a scenario referred to as Fiber to the Exchange (FTTEx).
  • FTTEx Fiber to the Exchange
  • FTTCab is preferable to FTTEx, since this reduces the length of the copper part of the subscriber loop, and consequently increases the achievable rates.
  • FTTCab is expected to become an increasingly popular topology. This type of topology can lead to substantial crosstalk interference and may mean that the lines of the various users have different data carrying and perfonnance capabilities due to the specific environment in which they operate.
  • the topology can be such that fiber-fed "cabinet" lines and exchange lines can be mixed in the same binder.
  • crosstalk noises created by lines terminating at different places usually cannot be canceled directly by well-known decision-feedback mechanisms and instead represent time-varying spatial noises that can be completely or partially canceled by the invention described herein.
  • the lines from CO 220 to users 292 share binder 222, which is not used by the lines between CO 210 and users 291.
  • another binder 240 is common to all the lines to/from CO 210 and CO 220 and their respective users 291, 292.
  • far end crosstalk (FEXT) 282 and near end crosstalk (NEXT) 281 are illustrated as affecting at least two of the lines 227 collocated at CO 220.
  • FIG. 2B illustrates one embodiment of the present invention in the context of a DSL transmitter 230 (for example, the type found in a DSLAM or other upstream-end device).
  • Payload data 231 of U lines is provided to a framer 232, which can include scrambling and FEC coding 233 for the U lines, then interleaving 234 and encoding 235, as well as other processing 236 (for example, precoding of some sort), as will be appreciated by those skilled in the art.
  • Data may be sent to an interleaver 234 implementing an embodiment of the present invention as described herein.
  • an upstream transmitter from a single user can implement this same general scheme, except that only a single DSL line or a bonded line set would be used to transmit data to an upstream-end device.
  • the same processing, including interleaving, would be implemented in such a CPE device.
  • the data from processing 236 may then consequently be sent to an inverse fast Fourier transform (IFFT) unit 237 prior to transmission at 238.
  • IFFT inverse fast Fourier transform
  • a controller 239 may control, update, etc. the interleaver 234 and its operation in a manner consistent with the present invention.
  • a receiver likewise implementing one or more embodiments of the present invention is shown in Figure 2C.
  • the receiver 240 operates in a manner generally complementary to that of transmitter 230 in Figure 2B.
  • Received data 241 is sent to an FFT 242 and may be processed at 243 (for example, a GDFE function or the like). Thereafter, the data is decoded 244 and sent to a deinterleaver 245. After deinterleaving at 245, the data may be passed to FEC decoding and descrambling 246 and deframing 247 before payload data 248 is generated.
  • a controller 249 may control, update, etc. the deinterleaver 245 and its operation in a manner consistent with the present invention.
  • RS Reed-Solomon
  • RS encoding is used to generate an encoded message in such a manner that, upon decoding of the received encoded message, the number and location of any errors in the received message may be determined.
  • RS decoding is especially beneficial in the detection and correction of random errors in a communicated bitstream.
  • burst errors or impulse noise in the art.
  • Convolutional interleaving is a conventional technique used to overcome this limitation of RS coding.
  • convolutional interleaving operates by scrambling the time sequence of the transmitted bitstream from that of the conventional first-in-first-out sequence.
  • the received bitstream is then descrambled, or resequenced, to recover the transmitted message or data. Because of the scrambled sequence of the transmitted data, errors occurring within the scrambled bitstream over the communications facility are dispersed over time.
  • Embodiments of the present invention provide minimum-memory-implementation for use with any depth and period in DSL interleaving, always allowing the minimum amount of memory to be used in both transmitter and receiver without loss of performance or of the basic triangular structure, even if the interleaver parameters change dynamically.
  • Other embodiments of the present invention utilize the same general methods and/or structures but do not require implementation using the minimum memory.
  • a novel cell-scheduling process ensures use of the minimum amount of memory to implement an image of the perfect triangle and works for any co-prime depth and interleaver period, hi the foregoing description of embodiments of the invention, most of the description is given in terms of an interleaver.
  • the description of an interleaver is adequate for the purposes of understanding the corresponding functions of a deinterleaver.
  • a basic outline of the correspondence is given below.
  • Minimal memory use is further characterized by a simple off-line method that determines an addressing order for each of the memory cells in a minimum-memory implementation of the interleaver.
  • Time variation of interleaver depth in operation can be accommodated easily with absolute minimum memory requirement at all time instants, unlike time-variable interleavers of earlier systems, which had to allocate enough memory in advance to account for the worst-case (maximum) memory needed at some time instant.
  • DSL interleaving generally reorders transmitted symbols, which are bytes from the perspective of the interleaver in all DSLs.
  • byte will refer to any convenient data packet and/or data packet size of any number of bits used in interleaving and/or deinterleaving.
  • the deinterleaver inverts the reordering to the original order of the bytes. Interleavers typically are characterized by a depth D and a period /.
  • the period of the interleaver often is the codeword length or some other convenient packet size (the period is often erroneously called the "codeword length," but in general the period need not have a relationship with codeword length, just as a convolutional code may not have a finite codeword length).
  • the period of the interleaver typically has been defined as the time period (in byte intervals) over which the reordering algorithm or process repeats itself. The depth is the smallest separation between two adjacent input symbols after re-ordering.
  • a burst of eiTors can be corrected by a system using RS coding and interleaving when the following conditions are satisfied:
  • the error burst length must be less than the interleaver depth (D) times the number of correctable bytes of the RS code; and — The burst of errors must be separated from any other burst of errors by more than the interleaver depth times the interleaver period (D* T).
  • DSL's forward-error-correcting (FEC) code is magnified by the depth in this situation, essentially for large depths making the system more resilient to impulse noise.
  • All DSLs use a special and veiy practical form of interleaving, which in ADSL is often called a “convolutional interleaver,” but is in fact constrained by having a period equal to the codeword length.
  • convolutional interleaver a special case of more general convolutional interleaving and can be implemented by a structure similar to VDSL's "triangular interleaver.”
  • Notation used herein may not be conventional and may differ from the notation often used in textbooks, research papers and other works in the field of interleaving, in particular with respect to the well-known results of Forney.
  • the essential difference is that embodiments of the present invention may be described as DSL interleavers in terms of an I x I generator matrix G[D ).
  • the notational difference specifically here is that the delay element (a register or byte of RAM in DSL) is denoted in terms of the symbol (byte) clock and is denoted D sym and represents a delay of one byte period.
  • Time 0 will be referenced in this approach as the first byte time of the first interleaver period of operation, or any other convenient start of a period of the interleaver in subsequent operation.
  • the input/output relationship of the interleaver in the notation used herein is
  • the entries in the input and output are "D" transforms that symbolically form for each of the /positions in the input vector u ⁇ D srm J , or in the output vector u' [D J, the
  • each row and column has one and only one non-zero element that is either 1 or D s k ym .
  • Such a matrix reorders the inputs uniquely and is invertible.
  • the inverse characterizes the deinterleaver.
  • the deinterleaver then delays by any remaining amount to make the total delay for all bytes equal to (D - 1) • (/ - 1) byte periods. It is obvious that the minimum number of memory locations is necessarily the full system delay (D - 1)- (/ - 1) bytes. This memory is also half in the transmitter and half in the receiver.
  • DSL' s triangular interleavers all have the diagonal form (time 0 is the leftmost entry in the vector in this form):
  • the generator in this disclosure's notation shows that the positional delay of i bytes relative to the start of the period plus the further delay of an additional i - (D - 1) bytes generates a total time delay of i • D byte periods with respect to the beginning of a period.
  • D the triangular interleaver
  • ADSL handles any D and 7 with common factors by inserting dummy bytes (that are not transmitted) at the transmitter, thus increasing / to its next largest value that is co-prime with D.
  • VDSL2 (G.993.2) allows any choice of D and I such that D and I are co-prime.
  • the input bytes are applied successively by an input commutator 302 over each period of 5 bytes to the 5 lines 310 of the interleaver 300A.
  • the first byte in each period passes immediately to the channel 320 via output commutator 322, the second byte is delayed 5 bytes (which is one period in this case) by delay element 315 before entering the channel with respect to its time of entiy (which is 6 byte periods after the beginning of the period in which that byte occurred), and so on.
  • the output commutator 422 of the interleaver 400A does not move sequentially from one line 410 to the next. Instead, a time-slot interchange is used to move from line 0 to line 3 at 431, line 3 to line 1 at 432, line 1 to line 4 at 433, line 4 to line 2 at 434, and finally line 2 to line 0, before beginning the sequence again.
  • Each delay element 415 is D ⁇ rather than D 1 .
  • the deinterleaver 400B operates in an analogous fashion, as will be appreciated by those skilled in the art.
  • the sequence followed by input commutator 522 of the interleaver 50OA of Figure 5 is line 0 to line 2 at 531, line 2 to line 4 at 532, line 4 to line 1 at 533, line 1 to line 3 at 534, line 3 to line 0 at 535, and then repeats.
  • the deinterleaver 500B operates in an analogous manner.
  • the interleaver-input at time k within a period corresponds to an interleaver- output position of i(k) or just i.
  • the interleaver may only write into line i if the data already in that line is leaving (to avoid losing the stored value).
  • the output position as a "read-line" index
  • This total delay, mod / must be then equal to the input position k because the data leaves the line after exactly that many delays with respect to the start of the interleaver period.
  • D and / are co-prime, the full depth is achieved and any two originally adjacent bytes are separated by at least D bytes in the channel.
  • D and / are not co- prime, one or more .dummy bytes are added to information blocks every period to enlarge the period until it is the smallest value co-prime with the depth. These bytes are not transmitted and the receiver knows when to insert its own dummies, which are then ignored in final decoding.
  • This procedure works as long as D ⁇ I + 1 .
  • a generalized triangular interleaver can be used, as described in more detail below. Thus, for ADSL and any depth D ⁇ I + 1 , this triangular structure may be used, if the extra time-slot interchange is added with the above switch order as determined uniquely for each pairing of period and depth.
  • the isosceles triangle implementing the time-slot interchange is used to derive a different structure that is projected into a minimum number of memory cells.
  • the deinterleaver then delays by any remaining amount to make the total delay for all bytes (D - 1) • (/ - 1) byte periods.
  • the generalized triangular interleaver allows depths that exceed the period of the interleaver, but otherwise follows exactly the same triangular rule.
  • time-slot interchange to the generalized triangular interleaver allows any co-prime depth and period to be used instead.
  • the delays of depth- minus-one bytes still occur as usual. These are often expressed in VDSLl standards as being equal to f ⁇ rst-in-first-out (FIFO) registers of length M bytes each. With such an interpretation, the delay on each line again is Z) - 1 byte periods, or D byte periods with respect to the beginning of the period corresponding to the byte. Larger M values mean larger depths.
  • delay groupings are now in multiples of Mbytes (instead of one byte) in this more general case with the same formula for the commutator position
  • FIG 5 respectively, the situation where the minimum number R of RAM cells can be reused.
  • the theoretical minimum number R of memory cells for interleaving is 2, while the time-slot-interchange structure in Figure 4 uses 10 memory cells.
  • Table 1 illustrates the storage of bytes for the interleaver 400A of Figure 4 in terms of line number and time, hi Table 1, time is indexed over 3 successive interleaving periods, with no prime used for the first period time slots, a single prime for the second period's slots, and a double prime for the two byte intervals shown in the third period.
  • a byte is indexed by the period in which it occurred as BO, Bl, B2, B3 or B4 with single and double primes also used.
  • Line O's bytes (BO, BO', BO", etc.) are always passed immediately at time 0 and therefore never use any memory (and thus line 0 bytes do not appear in Table 1 or Table 2).
  • Hyphens indicate "idle” or empty memory corresponding to initialization of the interleaver.
  • the interleaver After byte time 3 of the first interleaver period, the interleaver is in steady state and it is clear that there are never more than 2 bytes stored at any time (presuming the interleaver reads each memory location before writing to it on each byte time slot).
  • two memory cells can be used for this triangular/convolutional interleaver.
  • One half of the bytes in time 1 of the interleave period (called Bl with various primes) are in Cell 1 while the other half of those bytes are in Cell 2. This is true for all bytes, and in general, 1 ID of the bytes in any symbol position within a period are in any particular cell.
  • the deinterleaver also only needs 2 Cells of memory and can be described by letting
  • a schedule for the use of the minimum number of memory cells can be implemented simply by recognizing that the same cell that is read on any byte period of any period must also be written with the next available input byte with minimum RAM.
  • a set of — fake RAM cells can be
  • the relationship to the triangular structure in the memory connection is still inherent, but it evolves in time to prevent essentially idle memory cells.
  • the structure is no longer triangular, but was derived from knowing the progression of memory use in the triangular structure.
  • a schedule is created for each cell of the
  • a cell's schedule can be described as an array with two columns and multiple rows. The first column indicates a period, and the second column indicates a byte within the period that is indicated by the first column. Each row of this array defines the time at which the cell is read (that is, becomes empty) and is immediately afterwards written (that is, becomes full). Exactly one cell becomes empty for each input symbol of the interleaver during steady-state operation.
  • the schedule for cell 1 can be expressed as:
  • the schedule repeats after row 5; that is, rows 5 to 8 are the same as rows 1 to 4 with only the periods (column 1) being offset by 4.
  • the schedule array can be represented with a finite number of rows.
  • the cell 2 schedule can be:
  • the schedule of cell 2 is related to the schedule of cell 1, the difference being that the cell 2 schedule is missing the first 3 rows of the cell 1 schedule, and the 3 period offset
  • An interleaver controller module accesses the cell schedules and controls which cell is used at each time instant to read a byte from the interleaver and to immediately write a byte to the interleaver.
  • a controller would perform read/write operations in memory cells as shown in Table 4. (Note that no memory is needed for byte 0 of each period.)
  • a schedule can be obtained using the pseudo-code shown next, which is described in more detail below.
  • FIG. 7 Another method 700 according to one or more embodiments of the present invention for scheduling cell emptying/filling (that is, performing read and write operations on cells) is shown in Figure 7.
  • the depth D and period I parameters of the interleaver (that is, applicable to all cells) are set for at 710, at which point a first cell for scheduling also is selected.
  • a sub-method 702 that is applied to each cell then commences and is executed for each cell in the interleaver.
  • a period index P represents the number of the period in which the cell is emptied/filled.
  • a byte index B represents the byte number within each period which the cell is emptied/filled.
  • the period index initialization value Pj and the byte index initialization value B; for the cell of interest are set at 720 to establish when a "first byte" will fill the current cell.
  • the position (row) index L also is incremented to 2 at 730.
  • a new schedule row is generated at 750, which can be performed in a variety of ways, as will be appreciated by those skilled in the art.
  • the period index P and byte index B are updated, which can include generating a temporary new byte index at 752 (for example, by adding to the current byte index the quantity of the byte index multiplied by (D - 1)), followed by generating a new period index at 754 (for example, updated by incrementing the current period index by the result of the integer division of the new byte index by the interleaver period - that is, the floor function of that quotient), followed by any needed re-definition of the temporary new byte index (for example, using mod I, where the remainder of the integer division of the temporary new byte index by the interleaver period gives the redefined new byte index) at 756.
  • mod I where the remainder of the integer division of the temporary new byte index by the interleaver period gives the redefined new byte index
  • next row of the schedule (that is, row L) is then formed by assigning the current period index P to the first element and the current byte index B to the second element at 762, after which the position/row index is incremented at 764. If the current byte index is not equal to the start byte index Bj at 770, then method 700 returns to 750 to continue constructing the current cell's schedule. If the current byte index value is equal to the byte index initialization value, then all needed schedule row info ⁇ nation has been generated for the given cell. At 780 the method 700 checks to see if all cells have been scheduled. If so, then method 700 ends. If not, a new cell is selected and method 700 returns to sub-method 702 and initializes at 720 for the new cell. The schedule of the next cell is created by choosing a start period index and start byte index pair that differs from any period index and byte index pair appearing in any row of the already created schedules. Method 700 thus continues until schedules have been created for
  • interleaving and interleavers according to the present invention allow DSL interleaving to be implemented with any depth and period, and with minimum memoiy, if desired.
  • Interleavers according to embodiments of the present invention also can maintain the absolute minimum memory requirement while allowing graceful change during operation of the interleaver depth between values that maintain co-prime constraints.
  • Depth changes are desirable in DSL systems for a number of reasons and are necessary when the net data rate on a latency path of a DSL system changes during "SHOWTIME" (while delay must remain the same or approximately the same).
  • Such changes to the net data rate of a DSL system maybe part either of a Seamless Rate Adaptation (SRA) procedure, in which case the sum of the net data rate over all latency paths changes, or it may be part of a Dynamic Rate Repartitioning (DRR) procedure, in which case a portion of the net data rate of one latency path is reassigned to another latency path.
  • SRA Seamless Rate Adaptation
  • DDR Dynamic Rate Repartitioning
  • One objective of such changes is to preserve the delay as a constant or approximate constant.
  • delay is expressed as:
  • Delay j Eq. (10) In the above expression, q is the number of interleaver blocks per RS codeword, ⁇ is the number of DMT frames per second, N is the RS codeword size, and S is the number of DMT frames per RS codeword.
  • Increasing the net data rate (for example, by decreasing S, and/or by increasing N) has the effect of decreasing the delay as expressed in milliseconds. In order to maintain a constant delay, the depth D thus needs to be increased. The opposite effect takes place when the net data rate is decreased, and the opposite correction is then required for D; that is, it must be decreased.
  • the VDSL2 recommendation presently defines a procedure for implementing a depth change for an interleaver.
  • Embodiments of the present invention can implement such a depth change while always maintaining interleaver/deinterleaver minimum memory. This is a significant advancement compared to prior interleaver implementations that claim to be minimum memory implementations. Such earlier implementations require memory allocation for the maximum planned interleaver depth and thus do not maintain minimum memory for the interleaver during those times when the interleaver depth is smaller than the maximum planned interleaver depth.
  • the VDSL2 recommendation specifies that no write operations shall be performed for a transition period equal to:
  • the interleaver read operations continue to be performed on cells as before.
  • the interleaver output bytes experience a delay based on depth D.
  • the interleaver output bytes experience a delay that corresponds to a new depth D 'performing read and write operations on memory cells.
  • the VDSL2 recommendation specifies no transition period.
  • the interleaver output bytes Prior to the depth increase, the interleaver output bytes experience a delay that corresponds to an initial depth D. After the depth increase, the interleaver output bytes experience a delay that corresponds to the new depth D'.
  • Such depth changes can be implemented in an efficient manner through a minimum-memory cell-based interleaver/deinterleaver implementation of this invention.
  • the period / and the initial depth D are used to generate a schedule for each of the — cells. If the depth needs to change to D', then a new
  • schedule must first be generated for a number of cells equal to — .
  • Figure 8A shows a method 801 according to one or more embodiments of the present invention.
  • Schedule A is generated at 810, corresponding to depth D and period /.
  • the interleaver/deinterleaver operates normally at 820, performing read and consequent write operations on cells according to Schedule A.
  • a new Schedule B is generated at 830 corresponding to depth D' and period /.
  • One method of creating a Schedule B is shown in Figure 9, discussed in more detail below.
  • the depth increase is applied by having the interleaver/deinterleaver operate in normal mode, immediately switching to performing read and consequent write operations on cells according to Schedule B at 840. No transition period is needed since there is no conflict between Schedules A and B when the depth is increased.
  • Figure 8B shows a method 802 according to one or more embodiments of the present invention.
  • Schedule A is generated corresponding to depth D and period /.
  • the interleaver/deinterleaver then operate(s) normally at 820, performing read and consequent write operations on cells according to Schedule A.
  • a new Schedule B is generated at 830 (again, for example, according to the method of Figure 9) corresponding to depth D' and period /.
  • Switching at 840 to new Schedule B using the depth decrease is initiated at 850, after a transition period begins at 845, during which the interleaver/deinterleaver still operates according to Schedule A, but performs only read operations on cells, no write operations. Finally, after the end of the transition period is determined at 860, the interleaver/deinterleaver operate(s) normally at 870, performing read and consequent write operations on cells according to Schedule B.
  • a method 900 for generating a Schedule B is shown in Figure 9.
  • a non-empty cell is selected (at a time that may just precede the switch to a new schedule).
  • method 900 records the period index and byte index when the non-empty cell was last read/written. Using the recorded period and byte indices from 920 at initialization values, method 900 then computes at 930 a new schedule (using, for example, the method of Figure 7). If more non-empty cells are available at 940, then method 900 returns to 910 compute another non-empty cell's schedule. If no other nonempty cells are available at 940, then method 900 determines at 950 whether more cells are needed. In the case of minimum-memory usage, this means determining whether there are — cells. If no more cells are needed, then method can terminate.
  • method 900 computes a schedule for a new cell. This can be done, for example, using the method of Figure 7 and starting with any period/byte index pair not present in the already-scheduled cells as initialization values. Once this the new schedule has been computed at 960, method 900 can return to 950 to determine whether more cells are needed. Much of the information needed for method 900 can easily be extracted from Schedule A.
  • FIG. 10 One embodiment of the present invention showing the minimum-memory configuration is shown in Figure 10.
  • Data from a source 1005 is send via a device input 1007 to a multiplexer 1010.
  • Each line 1015, 1020 of the interleave!- 1000 is an input to a second multiplexer 1035.
  • Multiplexer 1035 operates to implement one or more of the interleaving methodologies discussed above, either taking a byte that has been sent on pass-through line 1015, or seeking the stored byte in a memory cell that is due for writing to the device output after being held in the cell 1030 for a delay of k(D-l).
  • Multiplexer 1035 can search for the cell or line that requires attention and the appropriate byte can be written to the output of multiplexer 1035, which is also the output of interleaver 1000.
  • the interleaver output 1040 then allows the byte stream to be transmitted on channel 1045, though some additional processing may take place between interleaver output 1040 and transmission.
  • Deinterleaver 1050 operates in a similar manner using input 1057, first multiplexer 1060, pass-through line 1065, delay lines 1070 which each have a variable- hold memory cell 1075-1, 1075-2, ..., 1075-R, second multiplexer 1080, and output 1085. Data arriving on input 1057 may have been processed after transmission. Deinterleaved data is delivered to a buffer or other location 1090. Each byte being delivered to the deinterleaver 1050 is delayed for any further time required to make its total delay in interleaver 1000 and deinterleaver 1050 (D-I)(I-I).
  • a byte that went to pass-through line 1015 in interleaver 1000 is held for a delay of (D-I)(I-I) in one of the deinterleaver' s cells 1075.
  • Operation of the interleaver 1000 and deinterleaver 1050 is readily understood by those skilled in the ait after reviewing the present disclosure.
  • an interleaving/deinterleaving control unit 1100 maybe part of an independent entity coupled to a DSL or other communication system, such as a controller 1110 (for example, a device functioning in a user's local equipment or a remote location controller as described above) assisting one or more users of the system.
  • a controller 1110 for example, a device functioning in a user's local equipment or a remote location controller as described above
  • a remote controller not located in a CO, telco, etc. may also be referred to as a dynamic spectrum manager, Dynamic Spectrum Management Center, Interleaver Implementation Module, User Assistance Center, DSM Center, System Maintenance Center, SMC or any other similar name.
  • the controller 1110 may be a completely independent entity.
  • controller 1110 can be part of the user's equipment or connected to user equipment to collect data in a manner similar to that described herein with regard to the collection of data from other parts of a DSL or other communication system. Moreover, controller 1110 may be coupled to and/or controlling DSL and/or other communication lines of multiple users.
  • the interleaving/deinterleaving control unit 1100 includes a data collection unit 1120 identified as a collecting means and an analysis unit 1140 identified as analyzing means.
  • the collecting means 1120 (which can be a computer, processor, IC, computer module, etc. of the type generally known) maybe coupled to NMS 150, ME 144 at AN 140, a modem, a transceiver and/or the MIB 148 maintained by ME 144, any or all of which may be part of a DSL system for example.
  • the collecting means 1120 may also be directly coupled to the ATU or VTU 142.
  • the controller 1110 may be a computer such as a home PC or the like running software or other computer program products that control and assist with communications. Data also may be collected through a broadband network 170 (for example, via the TCP/IP protocol or other protocol or means outside the normal internal data communication within a given DSL system).
  • a broadband network 170 for example, via the TCP/IP protocol or other protocol or means outside the normal internal data communication within a given DSL system.
  • One or more of these connections allows the interleaving/deinterleaving control unit 1100 to collect operational data from a user's line, if desired, and elsewhere (possibly the broader system), if appropriate. Data may be collected once or over time, hi some cases, the collecting means 1120 will collect on a periodic basis, though it also can collect data on-demand or any other non-periodic basis (for example, when a DSLAM or other component sends data to the preference-based control unit), thus allowing the preference- based control unit 1100 to update its information, operation, etc., if desired. Data collected by means 1120 is provided to the analyzing means 1140 (which also can be a computer, processor, IC, computer module, etc.
  • the analyzing means 1140 is coupled to a signal generating means 1150 in the controller 1110.
  • This signal generator 1150 (which can be a computer, processor, IC, computer module, etc.) is configured to generate and send instruction signals to the user's modem and/or other components of the user's link to the communication system.
  • These instructions may include instructions regarding data rates, transmit power levels, coding and latency requirements, interleaving/deinterleaving operational parameters, interleaving/deinterleaving parameter changes, etc.
  • Embodiments of the present invention can utilize a database, library or other collection of data pertaining to data collected, etc.
  • This collection of reference data may be stored, for example, as a library 1148 in the controller 1110 of Figure 11 and used by the analyzing means 1140 and/or collecting means 1120.
  • the controller 1110 also may access one or more libraries and/or databases outside the controller 1110, as will be appreciated by those skilled in the art.
  • the interleaving/deinterleaving control unit 1100 may be implemented in one or more computers such as PCs, workstations or the like and/or in one or more computer program products.
  • the collecting means 1120 and analyzing means 1140 may be software modules, hardware modules or a combination of both, as will be appreciated by those skilled in the art. When working with a large numbers of modems, lines, users, etc., databases may be introduced and used to manage the volume of data collected.
  • embodiments of the present invention employ various processes involving data stored in or transferred through one or more computer systems, which may be a single computer, multiple computers and/or a combination of computers (any and all of which may be referred to interchangeably herein as a "computer” and/or a “computer system”).
  • Embodiments of the present invention also relate to a hardware device or other apparatus for performing these operations.
  • This apparatus may be specially constructed for the required memeposes, or it may be a general-purpose computer and/or computer system selectively activated or reconfigured by a computer program and/or data structure stored in a computer.
  • the processes presented herein are not inherently related to any particular computer or other apparatus.
  • Embodiments of the present invention as described above employ various process steps involving data stored in computer systems. These steps are those requiring physical manipulation of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared and otherwise manipulated. It is sometimes convenient, principally for reasons of common usage, to refer to these signals as bits, bitstreams, data signals, control signals, values, elements, variables, characters, data structures or the like. It should be remembered, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities.
  • Embodiments of the present invention also relate to an apparatus for performing these operations.
  • This apparatus may be specially constructed for the required purposes, or it may be a general purpose computer selectively activated or reconfigured by a computer program stored in the computer.
  • the processes presented herein are not inherently related to any particular computer or other apparatus.
  • various general purpose machines may be used with programs written in accordance with the teachings herein, or it may be more convenient to construct a more specialized apparatus to perform the required method steps. The required structure for a variety of these machines will appear from the description given above.
  • embodiments of the present invention further relate to computer readable media that include program instructions for performing various computer- implemented operations.
  • the media and program instructions may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well known and available to those having skill in the computer software arts.
  • Examples of computer-readable media include, but are not limited to, magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROM disks; magneto-optical media such as floptical disks; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory devices (ROM) and random access memory (RAM).
  • Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter.
  • FIG. 12 illustrates a typical computer system that can be used by a user and/or controller in accordance with one or more embodiments of the present invention.
  • the computer system 1200 includes any number of processors 1202 (also referred to as central processing units, or CPUs) that are coupled to storage devices including primaiy storage 1206 (typically a random access memory, or RAM), primary storage 1204 (typically a read only memory, or ROM).
  • primaiy storage 1206 typically a random access memory, or RAM
  • primary storage 1204 typically a read only memory, or ROM.
  • primaiy storage 1206 typically a random access memory, or ROM
  • primary storage 1204 acts to transfer data and instructions uni-directionally to the CPU and primaiy storage 1206 is used typically to transfer data and instructions in a bi-directional manner. Both of these primaiy storage devices may include any suitable of the computer-readable media described above.
  • a mass storage device 1208 also is coupled bi-directionally to CPU 1202 and provides additional data storage capacity and may include any of the computer- readable media described above.
  • the mass storage device 1208 maybe used to store programs, data and the like and is typically a secondary storage medium such as a hard disk that is slower than primary storage. It will be appreciated that the information retained within the mass storage device 1208, may, in appropriate cases, be incorporated in standard fashion as part of primary storage 1206 as virtual memory.
  • a specific mass storage device such as a CD-ROM 1214 may also pass data uni-directionally to the CPU.
  • CPU 1202 also is coupled to an interface 1210 that includes one or more input/output devices such as such as video monitors, track balls, mice, keyboards, microphones, touch-sensitive displays, transducer card readers, magnetic or paper tape readers, tablets, styluses, voice or handwriting recognizers, or other well-known input devices such as, of course, other computers.
  • CPU 1202 optionally may be coupled to a computer or telecommunications network using a network connection as shown generally at 1212. With such a network connection, it is contemplated that the CPU might receive information from the network, or might output information to the network in the course of performing the above-described method steps.
  • the above- described devices and materials will be familiar to those of skill in the computer hardware and software arts.
  • the hardware elements described above may define multiple software modules for performing the operations of this invention.
  • instructions for running a codeword composition controller may be stored on mass storage device 1208 or 1214 and executed on CPU 1202 in conjunction with primary memory 1206. hi a preferred embodiment, the controller is divided into software submodules.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
PCT/IB2006/000629 2005-06-22 2006-03-16 Dynamic minimum-memory interleaving Ceased WO2006136883A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN2006800222250A CN101204014B (zh) 2005-06-22 2006-03-16 对数据流进行卷积交织的方法和系统
JP2008517616A JP5162455B2 (ja) 2005-06-22 2006-03-16 動的最小メモリインタリーブ
EP06727342A EP1900106A1 (en) 2005-06-22 2006-03-16 Dynamic minimum-memory interleaving

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US69288905P 2005-06-22 2005-06-22
US60/692,889 2005-06-22
US11/363,769 US7657818B2 (en) 2005-06-22 2006-02-28 Dynamic minimum-memory interleaving
US11/363,769 2006-02-28

Publications (1)

Publication Number Publication Date
WO2006136883A1 true WO2006136883A1 (en) 2006-12-28

Family

ID=36933450

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2006/000629 Ceased WO2006136883A1 (en) 2005-06-22 2006-03-16 Dynamic minimum-memory interleaving

Country Status (5)

Country Link
US (1) US7657818B2 (https=)
EP (1) EP1900106A1 (https=)
JP (1) JP5162455B2 (https=)
CN (1) CN101204014B (https=)
WO (1) WO2006136883A1 (https=)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2051387A1 (en) * 2007-10-15 2009-04-22 CoreOptics, Inc., c/o The Corporation Trust Center Receiver, interleaving and deinterleaving circuit and method
GB2454193A (en) * 2007-10-30 2009-05-06 Sony Corp DVB interleaver for odd/even symbol streams splits memory for sub-carrier number up to half maximum/has common memory and immediate location reuse otherwise
GB2454308A (en) * 2007-10-30 2009-05-06 Sony Corp DVB-T2 OFDM interleaver with large symbol sequential write/PR read/PR write/sequential read mode and small symbol sequential write/PR read mode
JP2011503955A (ja) * 2007-11-06 2011-01-27 サムスン エレクトロニクス カンパニー リミテッド ビット列間のエラー制御コードをエンコードする方法およびエンコードシステム
US8170091B2 (en) 2007-10-30 2012-05-01 Sony Corporation 1K mode interleaver in a digital video broadcasting (DVB) standard
US8179955B2 (en) 2007-10-30 2012-05-15 Sony Corporation Low density parity check (LDPC) coding for a 32K mode interleaver in a digital video broadcasting (DVB) standard
US8885761B2 (en) 2003-03-25 2014-11-11 Sony Corporation Data processing apparatus and method
US9490872B2 (en) 2008-07-01 2016-11-08 Ikanos Communications, Inc. Reduced memory vectored DSL
CN109495207A (zh) * 2017-09-11 2019-03-19 上海诺基亚贝尔股份有限公司 用于在无线通信系统中交织数据的方法和设备

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8031759B2 (en) * 2006-03-15 2011-10-04 Ikanos Communications, Inc. Configuring transmission signals
CA2580280C (en) * 2004-10-12 2015-03-10 Aware, Inc. Resource sharing in a telecommunications environment
EP3866416B1 (en) * 2006-04-12 2023-08-23 TQ Delta, LLC Method and apparatus for packet retransmission and memory sharing
KR20090102840A (ko) * 2006-12-29 2009-09-30 프랑스 텔레콤 동적 시간 인터리빙 방법 및 관련 디바이스
EP2301216A4 (en) * 2008-06-10 2016-06-22 Ikanos Communications Inc VECTED AD-ADDITIONAL ADDRESSING
US8190848B2 (en) * 2008-07-28 2012-05-29 Lantiq Deutschland Gmbh Interleaver memory allocation method and apparatus
US8572456B1 (en) * 2009-05-22 2013-10-29 Altera Corporation Avoiding interleaver memory conflicts
US8296624B2 (en) * 2009-06-30 2012-10-23 Comcast Cable Communications, Llc Variable interleave data transmission
TWI520502B (zh) * 2012-11-23 2016-02-01 晨星半導體股份有限公司 迴旋解交錯裝置及迴旋解交錯方法
EP3001572A1 (en) * 2014-09-29 2016-03-30 Panasonic Corporation Interleaving by concatenation of convolutional and block interleaving
KR20220162814A (ko) 2014-09-29 2022-12-08 파나소닉 홀딩스 코퍼레이션 콘볼루션 인터리버와 콘볼루션 디인터리버 및 콘볼루션 인터리빙 방법과 콘볼루션 디인터리빙 방법
US10033483B2 (en) * 2015-05-18 2018-07-24 Microsoft Technology Licensing, Llc Adjustable interleaving for communication data
TWI551062B (zh) * 2015-07-07 2016-09-21 晨星半導體股份有限公司 時間及單元解交錯電路及執行時間及單元解交錯處理之方法
CN104993837B (zh) * 2015-07-24 2018-08-03 丽水博远科技有限公司 一种卷积交织方法和卷积交织器
WO2018187902A1 (en) 2017-04-10 2018-10-18 Qualcomm Incorporated An efficient interleaver design for polar codes
CN109495210B (zh) * 2017-09-13 2020-07-31 上海诺基亚贝尔股份有限公司 用于在无线通信系统中交织数据的方法、设备和计算机可读存储介质
US11036642B2 (en) * 2019-04-26 2021-06-15 Intel Corporation Architectural enhancements for computing systems having artificial intelligence logic disposed locally to memory
CN115390545A (zh) * 2022-08-16 2022-11-25 北京经纬恒润科技股份有限公司 车辆诊断方法、装置、设备、可读存储介质及程序产品

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0856949A1 (en) * 1997-01-31 1998-08-05 Alcatel Interleaving and de-interleaving method for digital data, interleaving and de-interleaving devices, and communication system
US20030021338A1 (en) * 2000-07-18 2003-01-30 Simone Mazzoni Device for transmitting/receiving digital data capable of variable-rate processing, in particular on a vdsl environment

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4547887A (en) 1983-11-30 1985-10-15 The United States Of America As Represented By The Secretary Of The Army Pseudo-random convolutional interleaving
US4901319A (en) 1988-03-18 1990-02-13 General Electric Company Transmission system with adaptive interleaving
FR2639781B1 (fr) 1988-11-25 1991-01-04 Alcatel Thomson Faisceaux Procede d'entrelacement pour dispositif de transmission numerique
US5042033A (en) 1989-06-05 1991-08-20 Canadian Marconi Corporation RAM-implemented convolutional interleaver
US5572532A (en) * 1993-12-29 1996-11-05 Zenith Electronics Corp. Convolutional interleaver and deinterleaver
US5537420A (en) 1994-05-04 1996-07-16 General Instrument Corporation Of Delaware Convolutional interleaver with reduced memory requirements and address generator therefor
JPH08265177A (ja) * 1995-03-22 1996-10-11 Toshiba Corp インターリーブ・データ処理装置
JP2917853B2 (ja) * 1995-04-07 1999-07-12 日本電気株式会社 コンボリューショナル・インターリーブ回路
US5764649A (en) 1996-03-29 1998-06-09 Amati Communications Corporation Efficient address generation for convolutional interleaving using a minimal amount of memory
US6229812B1 (en) * 1996-10-28 2001-05-08 Paxonet Communications, Inc. Scheduling techniques for data cells in a data switch
EP1125366B1 (en) 1998-10-30 2003-04-16 Broadcom Corporation Generalized convolutional interleaver/deinterleaver
KR100602538B1 (ko) 1999-01-22 2006-07-19 텍사스 인스트루먼츠 인코포레이티드 콘볼루션 인터리빙을 위한 효율적인 메모리 어드레싱
US6823002B1 (en) 1999-12-15 2004-11-23 Paradyne Corporation Linear block interleaver for discrete multi-tone modulation
US6651194B1 (en) 2000-08-14 2003-11-18 Silicon Integrated Systems Corp. Method and apparatus for interleaving an incoming stream of data blocks
US6745277B1 (en) * 2000-10-04 2004-06-01 Force10 Networks, Inc. Intelligent interleaving scheme for multibank memory
US6853643B1 (en) * 2000-12-21 2005-02-08 Cisco Technology, Inc. Interleaved read/write operation in a data switch
US6785862B1 (en) 2001-08-14 2004-08-31 Mindspeed Technologies, Inc. Convolutional interleaver employing an efficient memory scheme
US6772377B2 (en) 2001-09-28 2004-08-03 Texas Instruments Incorporated Convolutional interleaving with interleave depth larger than codeword size
US6874070B2 (en) * 2002-02-22 2005-03-29 Hewlett-Packard Development Company, L.P. System and method for memory interleaving using cell map with entry grouping for higher-way interleaving
US7502390B2 (en) 2003-10-30 2009-03-10 Lsi Corporation Optimized interleaver and/or deinterleaver design
US7529984B2 (en) * 2004-11-16 2009-05-05 Infineon Technologies Ag Seamless change of depth of a general convolutional interleaver during transmission without loss of data
US7457993B2 (en) 2004-11-16 2008-11-25 Texas Instruments Incorporated Error free dynamic rate change in a digital subscriber line DSL with constant delay
US20060153285A1 (en) 2005-01-12 2006-07-13 Texas Instruments Incorporaated Dynamic interleaver depth change for a general convolutional interleaver

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0856949A1 (en) * 1997-01-31 1998-08-05 Alcatel Interleaving and de-interleaving method for digital data, interleaving and de-interleaving devices, and communication system
US20030021338A1 (en) * 2000-07-18 2003-01-30 Simone Mazzoni Device for transmitting/receiving digital data capable of variable-rate processing, in particular on a vdsl environment

Cited By (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10333753B2 (en) 2003-03-25 2019-06-25 Saturn Licensing Llc Data processing apparatus and method
US10044540B2 (en) 2003-03-25 2018-08-07 Saturn Licensing Llc Data processing apparatus and method
US9722836B2 (en) 2003-03-25 2017-08-01 Saturn Licensing Llc Data processing apparatus and method
US9300515B2 (en) 2003-03-25 2016-03-29 Sony Corporation Data processing apparatus and method
US9106494B2 (en) 2003-03-25 2015-08-11 Sony Corporation Data processing apparatus and method
US8885761B2 (en) 2003-03-25 2014-11-11 Sony Corporation Data processing apparatus and method
EP2051387A1 (en) * 2007-10-15 2009-04-22 CoreOptics, Inc., c/o The Corporation Trust Center Receiver, interleaving and deinterleaving circuit and method
WO2009050121A1 (en) * 2007-10-15 2009-04-23 Coreoptics Inc. Receiver, interleaving and deinterleaving circuit and method
US8874988B2 (en) 2007-10-15 2014-10-28 Cisco Technology, Inc. Modification of error statistics behind equalizer to improve inter-working with different FEC codes
US8555132B2 (en) 2007-10-15 2013-10-08 Cisco Technology, Inc. Modification of error statistics behind equalizer to improve inter-working with different FEC codes
EP2437398A3 (en) * 2007-10-15 2012-05-09 Cisco Technology, Inc. Receiver, interleaving and deinterleaving circuit and method
US8396104B2 (en) 2007-10-30 2013-03-12 Sony Corporation 4K mode interleaver with odd interleaving only and per OFDM symbol permutation code change in a digital video broadcasting (DVB) standard
AU2008229928B2 (en) * 2007-10-30 2012-02-16 Sony Corporation Data processing apparatus and method
US8199802B2 (en) 2007-10-30 2012-06-12 Sony Corporation 8K mode interleaver with odd interleaving only and per OFDM symbol permutation code change in a digital video broadcasting (DVB) standard
US8208525B2 (en) 2007-10-30 2012-06-26 Sony Corporation 2K mode interleaver with odd interleaving only and per OFDM symbol permutation code change in a digital video broadcasting (DVB) standard
US8208524B2 (en) 2007-10-30 2012-06-26 Sony Corporation 4K mode interleaver with odd interleaving only and per OFDM symbol permutation code change in a digital video broadcasting (DVB) standard
GB2454193B (en) * 2007-10-30 2012-07-18 Sony Corp Data processing apparatus and method
US8320484B2 (en) 2007-10-30 2012-11-27 Sony Corporation 1K mode interleaver in a digital video broadcasting (DVB) standard
US8351541B2 (en) 2007-10-30 2013-01-08 Sony Corporation Low density parity check (LDPC) coding for a 32k mode interleaver in a digital video broadcasting (DVB) standard
US8351528B2 (en) 2007-10-30 2013-01-08 Sony Corporation 8K mode interleaver with odd interleaving only and per OFDM symbol permutation code change in a digital video broadcasting (DVB) standard
US8369434B2 (en) 2007-10-30 2013-02-05 Sony Corporation 16k mode interleaver in a digital video broadcasting (DVB) standard
US8374269B2 (en) 2007-10-30 2013-02-12 Sony Corporation Odd interleaving only of an odd-even interleaver when half or less data subcarriers are active in a digital video broadcasting (DVB) system
US8179954B2 (en) 2007-10-30 2012-05-15 Sony Corporation Odd interleaving only of an odd-even interleaver when half or less data subcarriers are active in a digital video broadcasting (DVB) standard
US8406339B2 (en) 2007-10-30 2013-03-26 Sony Corporation 2K mode interleaver with odd interleaving only and per OFDM symbol permutation code change in a digital video broadcasting (DVB) standard
US8170091B2 (en) 2007-10-30 2012-05-01 Sony Corporation 1K mode interleaver in a digital video broadcasting (DVB) standard
USRE48147E1 (en) 2007-10-30 2020-08-04 Saturn Licensing Llc 16K mode interleaver in a digital video broadcasting (DVB) standard
US8737522B2 (en) 2007-10-30 2014-05-27 Sony Corporation Data processing apparatus and method for interleaving and deinterleaving data
US8155178B2 (en) 2007-10-30 2012-04-10 Sony Corporation 16k mode interleaver in a digital video broadcasting (DVB) standard
US8179955B2 (en) 2007-10-30 2012-05-15 Sony Corporation Low density parity check (LDPC) coding for a 32K mode interleaver in a digital video broadcasting (DVB) standard
US8891692B2 (en) 2007-10-30 2014-11-18 Sony Corporation Data processing apparatus and method for interleaving and deinterleaving data
US9100251B2 (en) 2007-10-30 2015-08-04 Sony Corporation Data processing apparatus and method for interleaving and deinterleaving data
GB2454193A (en) * 2007-10-30 2009-05-06 Sony Corp DVB interleaver for odd/even symbol streams splits memory for sub-carrier number up to half maximum/has common memory and immediate location reuse otherwise
GB2454308B (en) * 2007-10-30 2009-11-18 Sony Corp Data processing apparatus and method
GB2454308A (en) * 2007-10-30 2009-05-06 Sony Corp DVB-T2 OFDM interleaver with large symbol sequential write/PR read/PR write/sequential read mode and small symbol sequential write/PR read mode
GB2454267A (en) * 2007-10-30 2009-05-06 Sony Corp DVB interleaver for odd/even symbol streams splits memory for sub-carrier number up to half maximum/has common memory and immediate location reuse otherwise
US9722835B2 (en) 2007-10-30 2017-08-01 Saturn Licensing Llc Data processing apparatus and method for interleaving and deinterleaving data
USRE46550E1 (en) 2007-10-30 2017-09-12 Saturn Licensing Llc 16k mode interleaver in a digital video broadcasting (DVB) standard
US10020970B2 (en) 2007-10-30 2018-07-10 Saturn Licensing Llc Data processing apparatus and method for interleaving and deinterleaving data
JP2011503955A (ja) * 2007-11-06 2011-01-27 サムスン エレクトロニクス カンパニー リミテッド ビット列間のエラー制御コードをエンコードする方法およびエンコードシステム
KR101355633B1 (ko) * 2007-11-06 2014-01-29 삼성전자주식회사 인코더 및 인코딩 방법
US9490872B2 (en) 2008-07-01 2016-11-08 Ikanos Communications, Inc. Reduced memory vectored DSL
CN109495207A (zh) * 2017-09-11 2019-03-19 上海诺基亚贝尔股份有限公司 用于在无线通信系统中交织数据的方法和设备
CN109495207B (zh) * 2017-09-11 2021-08-10 上海诺基亚贝尔股份有限公司 用于在无线通信系统中交织数据的方法和设备
US11381342B2 (en) 2017-09-11 2022-07-05 Nokia Technologies Oy Method and device for interleaving data in wireless communication system

Also Published As

Publication number Publication date
CN101204014B (zh) 2012-05-09
JP5162455B2 (ja) 2013-03-13
EP1900106A1 (en) 2008-03-19
US7657818B2 (en) 2010-02-02
US20070011559A1 (en) 2007-01-11
CN101204014A (zh) 2008-06-18
JP2008547298A (ja) 2008-12-25

Similar Documents

Publication Publication Date Title
US7657818B2 (en) Dynamic minimum-memory interleaving
US7817745B2 (en) Tonal precoding
EP2030454B2 (en) Vectored dsl system
CN101238693B (zh) Dsl系统装载和排序
US7688884B2 (en) Vectored DSL nesting
US7773497B2 (en) Phantom use in DSL systems
US9941928B2 (en) Systems, methods, and apparatuses for implementing a DSL system
EP1894401A1 (en) Dsl system training
CN101248431B (zh) 用于处理dsl数据的方法和dsl系统
US20060153311A1 (en) Method and system for dynamic interleaver adaptation scheme in VDSL
Horsfield ATM over an asymmetric digital subscriber line
Brown et al. DSL Standardization

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2152/MUMNP/2007

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 200680022225.0

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2008517616

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Ref document number: DE

REEP Request for entry into the european phase

Ref document number: 2006727342

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2006727342

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2006727342

Country of ref document: EP