EP2005630A1 - Methods and apparatus for dynamic packet reordering - Google Patents

Methods and apparatus for dynamic packet reordering

Info

Publication number
EP2005630A1
EP2005630A1 EP07760058A EP07760058A EP2005630A1 EP 2005630 A1 EP2005630 A1 EP 2005630A1 EP 07760058 A EP07760058 A EP 07760058A EP 07760058 A EP07760058 A EP 07760058A EP 2005630 A1 EP2005630 A1 EP 2005630A1
Authority
EP
European Patent Office
Prior art keywords
parallel streams
llr metrics
modulation symbols
stream
produce
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.)
Withdrawn
Application number
EP07760058A
Other languages
German (de)
French (fr)
Inventor
Jinxia Bai
Chinnappa K. Ganapathy
Thomas Sun
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.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of EP2005630A1 publication Critical patent/EP2005630A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/26Systems using multi-frequency codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/26Systems using multi-frequency codes
    • H04L27/2601Multicarrier modulation systems
    • H04L27/2647Arrangements specific to the receiver only
    • 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/0045Arrangements at the receiver end
    • 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/0064Concatenated codes
    • H04L1/0066Parallel concatenated codes
    • 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/007Unequal error protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/06Dc level restoring means; Bias distortion correction ; Decision circuits providing symbol by symbol detection
    • H04L25/067Dc level restoring means; Bias distortion correction ; Decision circuits providing symbol by symbol detection providing soft decisions, i.e. decisions together with an estimate of reliability

Definitions

  • the present application relates generally to the distribution of data over a data network, and more particularly, to methods and apparatus for dynamic packet reordering.
  • Data networks such as wireless communication networks, have to trade off between services customized for a single terminal and services provided to a large number of terminals.
  • services customized for a single terminal For example, the distribution of multimedia content to a large number of resource limited portable devices (subscribers) is a complicated problem. Therefore, it is very important for network administrators, content retailers, and service providers to have a way to distribute content and/or other network services in a fast and efficient manner for presentation on networked devices.
  • a communication network may utilize Orthogonal Frequency Division Multiplexing (OFDM) to provide communications between a network server and one or more mobile devices.
  • OFDM Orthogonal Frequency Division Multiplexing
  • This technology provides a transmission frame having data slots that are packed with services to be delivered over a distribution network.
  • data representing one or more services is rate adjusted and processed using one or more error correction techniques.
  • the data may be turbo encoded, bit interleaved, and then divided to slots that are bit scrambled. Additionally, constellation mapping and symbol interleaving may be performed. Finally, the data may be mapped into interlaces to form an OFDM symbol.
  • the above processes need to be reversed in order to obtain data packets that can be decoded to recover the transmitted services.
  • conventional systems may reverse the above processes in a step by step manner utilizing intermediate memories. This not only increases the size and cost of the receiving logic, but introduces processing latencies. For example, if all of the above processes are reversed step by step, intermediate memories will be needed between steps and significant processing latencies will occur.
  • a reordering system comprising methods and apparatus, operates to provide dynamic packet reordering.
  • the system operates "on-the-fly" and using parallel processing to reorder received modulation symbols into decodable packets that can be used to recover services transmitted over a distribution network. Since the system operates on- the-fly using parallel processing, intermediate memories are reduced or eliminated thereby minimizing processing latencies.
  • a method for processing slot data on-the-fly to produce decodable packets, wherein the slot data comprises interleaved modulation symbols.
  • the method comprises de-interleaving a stream of the interleaved modulation symbols to produce a stream of modulation symbols, calculating parallel streams of LLR metrics based on the stream of modulation symbols, and mapping the parallel streams of LLR metrics to produce a stream of decodable packets.
  • an apparatus is provided for processing slot data on-the-fly to produce decodable packets, wherein the slot data comprises interleaved modulation symbols.
  • the apparatus comprises de -interleaving logic configured to de-interleave a stream of the interleaved modulation symbols to produce a stream of modulation symbols.
  • the apparatus also comprises metric processing logic configured to produce parallel streams of LLR metrics based on the stream of modulation symbols, and mapping logic configured to map the parallel streams of LLR metrics to produce a stream of decodable packets.
  • an apparatus for processing slot data on-the-fly to produce decodable packets, wherein the slot data comprises interleaved modulation symbols.
  • the apparatus comprises means for de -interleaving a stream of the interleaved modulation symbols to produce a stream of modulation symbols.
  • the apparatus also comprises means for calculating parallel streams of LLR metrics based on the stream of modulation symbols, and means for mapping the parallel streams of LLR metrics to produce a stream of decodable packets.
  • a computer-readable medium comprises a computer program, which when executed by at least one processor, operates to process slot data on-the-fly to produce decodable packets, wherein the slot data comprises interleaved modulation symbols.
  • the computer program comprises instructions for de- interleaving a stream of the interleaved modulation symbols to produce a stream of modulation symbols.
  • the computer program also comprises instructions for calculating parallel streams of LLR metrics based on the stream of modulation symbols, and instructions for mapping the parallel streams of LLR metrics to produce a stream of decodable packets.
  • At least one processor is provided that is configured to perform a method for processing slot data on-the-fly to produce decodable packets, wherein the slot data comprises interleaved modulation symbols.
  • the method comprises de-interleaving a stream of the interleaved modulation symbols to produce a stream of modulation symbols, calculating parallel streams of LLR metrics based on the stream of modulation symbols, and mapping the parallel streams of LLR metrics to produce a stream of decodable packets.
  • FIG. 1 shows a network that comprises an embodiment of a reordering system
  • FIG. 2 shows an embodiment of a frame that illustrates OFDM slots and slot allocation for a logical channel for use in a reordering system
  • FIG. 3 shows an embodiment of a modulation table for use in a reordering system
  • FIG. 4 shows an embodiment of a reorder pipeline for use in a reordering system
  • FIG. 5 shows an embodiment of a PN sequence generator for use in a reordering system
  • FIG. 6 shows an embodiment of de-interleaving table logic for use in a reordering system
  • FIG. 7 shows an embodiment of a packet buffer for use in a reordering system
  • FIG. 8 shows an embodiment of a method for operating a reorder pipeline for use in a reordering system
  • FIG. 9 shows an embodiment of LLR calculation logic for use in a reordering system
  • FIG. 10 shows an embodiment of a reordering system.
  • a reordering system operates to provide dynamic on-the-fly reordering of data received in a transmission frame.
  • the transmission frame comprises multiplexed content flows having a particular arrangement, sequence, mixing, interleaving, scrambling, and/or other encoding of real-time and/or other than real-time services.
  • the system operates to dynamically reorder the received data on-the-fly using parallel processing to produce packets that can be decoded to obtain the transmitted services.
  • the need for intermediate memories is reduced or eliminated and processing latencies are minimized.
  • the system is especially well suited for use in wireless network environments, but may be used in any type of network environment, including but not limited to, communication networks, public networks, such as the Internet, private networks, such as virtual private networks (VPN), local area networks, wide area networks, long haul networks, or any other type of data network.
  • VPN virtual private networks
  • a reordering system utilizes Orthogonal Frequency Division Multiplexing (OFDM) to provide communications between a network server and one or more mobile devices.
  • OFDM Orthogonal Frequency Division Multiplexing
  • a frame is defined that comprises time division multiplex (TDM) pilot signals, frequency division multiplex (FDM) pilot signals, overhead information symbols (OIS), and data symbols.
  • TDM time division multiplex
  • FDM frequency division multiplex
  • OFIS overhead information symbols
  • data symbols are used to transport services from the server to receiving devices.
  • a data slot is defined as a set of 500 data symbols that occur over one OFDM symbol time. Additionally, an OFDM symbol time in the frame carries seven slots of data.
  • Flow An element of a service may have two flows - an audio flow and a video flow.
  • Service A media content that can have one or more flows.
  • MLC media logical channel ("channel") used for data or control information.
  • OFIS Overhead Information Symbols
  • FIG. 1 shows a network 100 that comprises an embodiment of a reordering system.
  • the network 100 comprises a mobile device 102, a server 104, and a data network 106.
  • the data network 106 operates to provide communications between the server 104 and one or more portable devices using OFDM technology; however, embodiments of the reordering system are suitable for use with other transmission technologies as well.
  • the server 104 operates to provide services that may be subscribed to by devices in communication with the network 106.
  • the server 104 is coupled to the network 106 through the communication link 108.
  • the communication link 108 comprises any suitable communication link, such as a wired and/or wireless link that operates to allow the server 104 to communicate with the network 106.
  • the network 106 comprises any combination of wired and/or wireless networks that allows services to be delivered from the server 104 to devices in communication with the network 106, such as the device 102.
  • the network 106 may communicate with any number and/or types of portable devices within the scope of the embodiments.
  • portable devices suitable for use in embodiments of the reordering system include, but are not limited to, a personal digital assistant (PDA), email device, pager, a notebook computer, mp3 player, video player, or a desktop computer.
  • PDA personal digital assistant
  • the wireless link 110 comprises a wireless communication link based on OFDM technology; however, in other embodiments the wireless link may comprise any suitable wireless technology that operates to allow devices to communicate with the network 106.
  • the device 102 in this embodiment comprises a mobile telephone that communicates with the network 106 through the wireless link 110.
  • the device 102 takes part in an activation process that allows the device 102 to subscribe to receive services over the network 106.
  • the activation process may be performed with the server 104; however, the activation process may also be performed with some other server, service provider, content retailer, or other network entity not shown. For the purpose of this description, it will be assumed that the device 102 performs the activation process with the server 104 and is now ready to subscribe and receive services from the server 104.
  • the server 104 comprises content that includes one or more real time services (RTS) 112, and/or one or more "other than real time services" (ORTS) 114.
  • the services (112, 114) comprise multimedia content that includes news, sports, weather, financial information, movies, and/or applications, programs, scripts, or any other type of suitable content or service.
  • the services (112, 120) may comprise video, audio or other information formatted in any suitable format.
  • the server 104 also comprises a multiplexer (MUX) 116 that operates to multiplex one or more of the services (112, 114) into a transmission frame 118 for transmission over the network 106 to the device 102, as shown by the path 120.
  • MUX multiplexer
  • the device 102 receives the transmission frame 118 and performs basic physical layer processing to obtain slot data.
  • the device 102 comprises a reorder pipeline 122 that operates to receive the slot data and reverse the encoding processes performed at the transmitter. This operation will hereinafter be referred to as "reordering.”
  • the reorder pipeline 122 operates on-the-fly using parallel processing to provide de -interleaving, descrambling, and/or any other process needed to reverse encoding processes performed at the transmitter.
  • reorder pipeline 122 Since the reorder pipeline 122 reorders data on-the-fly using parallel processing, intermediate data storage is eliminated and process latencies are thereby minimized.
  • packets 124 Once the packets 124 are recovered, they are input to a decoder 126 that operates to decode the packets to obtain the transmitted services (112, 114).
  • a decoder 126 that operates to decode the packets to obtain the transmitted services (112, 114).
  • a more detailed description of the operation of the reorder pipeline 122 is provided in another section of this document. [0034] Therefore, embodiments of a reordering system operate to efficiently reorder data on-the-fly using parallel processing to generate packets that can be decoded to recover one or more RTS and/or ORTS services. It should be noted that the reordering system is not limited to the implementations described with reference to FIG.
  • FIG. 2 shows an embodiment of a frame 200 that illustrates OFDM data slots and slot allocation for a logical channel for use a reordering system.
  • the frame 200 comprises "N" OFDM symbols each having seven (7) data slots.
  • a slot allocation for a logic channel is shown generally by the shaded region at 302. Two variables are used to describe the slot allocation, namely; length and height. The length is in OFDM symbols and the height is in slots.
  • FIG. 3 shows an embodiment of a modulation table 300 for use in a reordering system.
  • the modulation table comprises a mode indicator 302, a meaning descriptor 304, packet length indicator 306, slot per packet indicator 308, memory reset address indicator 310, and read start pointer 312.
  • the modulation table 300 provides information relating to various data modes in which data may be formatted. As shown in the table 300, the data may be formatted in a quadrature phase shift keying (QPSK) or quadrature amplitude modulation (QAM) format. Each of the twelve modes 302 has an associated turbo packet length 306 and slot per turbo packet 308 allocations.
  • the parameters in the table 300 are use by various portions of a reordering system to produce decodable packets.
  • FIG. 4 shows an embodiment of a reorder pipeline 400 for use in a reordering system.
  • the reorder pipeline 400 may be used as the reorder pipeline 122 shown in FIG. 1.
  • the reorder pipeline 400 comprises symbol de- interleaving logic 402, log likelihood ratio (LLR) calculation logic 404, LLR metric descrambling logic 406, LLR metric de -interleaving logic 408, and mapping logic 410.
  • LLR log likelihood ratio
  • the reorder pipeline 400 represents just one implementation and that other implementations are possible within the scope of the embodiments.
  • the functions of the reorder pipeline 400 may be implemented by one or more processors configured to execute a computer program.
  • low level receiving logic 438 operates to receive transmission frames and store received interleaved modulation symbols 416 into a slot buffer 412.
  • the slot buffer 412 may comprise any suitable memory or buffering logic.
  • the symbol de -interleaving logic 402 comprises a CPU, processor, gate array, hardware logic, virtual machine, software, and/or any combination of hardware and software.
  • the symbol de -interleaving logic 402 is configured to de-interleave the interleaved modulation symbols 416 stored in the slot buffer 412 on-the-fly by generating a slot buffer read address 422 according to the following procedure.
  • the interleaved modulation symbols 416 are read out of the slot buffer 412 every clock cycle for QPSK modes and every other clock cycle for QAM modes.
  • This read-out process de-interleaves the interleaved modulation symbols 416 to produce a stream of modulation symbols 428 that are output from the symbol de-interleaving logic 402 and input to the LLR calculating logic 404.
  • the LLR calculation logic 404 comprises a CPU, processor, gate array, hardware logic, virtual machine, software, and/or any combination of hardware and software.
  • the LLR calculation logic 404 is configured to receive the stream of modulation symbols 428 and a channel estimation parameter 426 to generate parallel streams of scrambled LLR metrics 430 (6-bits each) in one clock cycle, depending on the data mode. For example, in QPSK modes, two scrambled LLR metrics will be generated in one clock cycle and four scrambled LLR metrics will be generated for 16QAM modes. From this point forward, the reordering pipeline 400 operates in a parallel configuration to process the parallel streams of scrambled LLR metrics in one clock cycle. For example, the LLR calculating logic 404 outputs the parallel streams of scrambled LLR metrics 430, which are input to the LLR metric descrambling logic 406.
  • the channel estimation parameter 426 may be provided by the receiving logic 438 and comprise any suitable parameters to estimate the transmission channel.
  • LLR calculation logic 404 operates to calculate the LLR metrics of binary symbols from the received signals.
  • the received signals are non- binary symbols corrupted by noise and interference. For example, assume that N binary symbols ⁇ 1 b 2 ... O x are grouped to form a single non-binary symbol S, which is then modulated onto a high-order constellation through Gray mapping.
  • the modulated symbol is denoted as G(S) (with unitary averaged amplitude) and the corresponding received signal is r.
  • the LLR of the binary symbol b s can be calculated as follows;
  • Equation (1) becomes;
  • the LLR metric descrambling logic 406 comprises a CPU, processor, gate array, hardware logic, virtual machine, software, and/or any combination of hardware and software.
  • the LLR metric descrambling logic 406 is configured to reverse a descrambling process performed at the source transmitter.
  • the transmitter uses a 20th order pseudorandom noise (PN) sequence generator to perform bit scrambling.
  • PN pseudorandom noise
  • the same PN sequence is used by the LLR metric descrambling logic 406 to descramble the parallel streams of scrambled LLR metrics 430 to produce parallel streams of interleaved LLR metrics 432, which are input to the LLR metric de-interleaving logic 408.
  • FIG. 5 shows an embodiment of a PN sequence generator 500 for use in a reordering system.
  • the generator 500 is suitable for use by the LLR metric descrambling logic 406 to generate PN sequences to reverse a scrambling process performed at a source transmitter.
  • the generator 500 outputs two sequences. One sequence is output by generator portion 502 and another sequence is output by generator portion 504.
  • Each of the parallel streams of scrambled LLR metrics 430 will be inverted if the corresponding descrambling bit sequence is a ' 1 '; otherwise, the data will pass through.
  • LFSR linear feedback shift registers
  • the LLR metric de -interleaving logic 408 comprises a CPU, processor, gate array, hardware logic, virtual machine, software, and/or any combination of hardware and software.
  • the LLR metric de-interleaving logic 408 receives the parallel streams of interleaved LLR metrics 432 and generates parallel streams of LLR metrics 434. De-interleaving of the parallel streams of interleaved LLR metrics 432 is achieved by hopping addresses when writing the parallel streams of interleaved LLR metrics 432 to the packet buffer 414.
  • the LLR metric de-interleaving logic 408 comprises a state machine and a counter that are used to generate the addresses with which to de -interleave the parallel streams of interleaved LLR metrics 432. It should be noted that the blocks 404, 406, and 408 may be referred to as metric processing logic as shown by 436. [0050] FIG. 6 shows one embodiment of de-interleaving table logic 600 suitable for use in a reordering system.
  • the LLR metric de-interleaving logic 408 comprises the table logic 600, a state machine and a counter to generate the addresses with which to write a stream of interleaved LLR metrics 602 into de-interleaving tables 604, and read a stream de-interleaved LLR metrics 606 out of the de-interleaving tables 604.
  • the LLR metric de-interleaving logic 408 may comprise multiple versions of the table logic 600 so that parallel streams of interleaved LLR metrics can be de- interleaved.
  • the mapping logic 410 comprises a CPU, processor, gate array, hardware logic, virtual machine, software, and/or any combination of hardware and software.
  • the mapping logic 410 operates to provide read/write control signals 424 to map how the parallel stream of LLR metrics 434 are written into the packet buffer 414 so that decodable turbo packets 418 can be read out of the packet buffer 414.
  • the mapping logic 410 receives status inputs 440 that indicate status of the slot buffer 412 and other elements of the pipeline 400. A more detailed description of the operation of the packet buffer 414 is provided with reference to the description of FIG. 7.
  • FIG. 7 shows an embodiment of a packet buffer 700 for use in a reordering system.
  • the packet buffer 700 is suitable for use as the packet buffer 414 shown in FIG. 4.
  • the operation of the packet buffer 700 will be described with reference to the mapping logic 410 shown in FIG. 4.
  • the packet buffer 700 comprises four buffers referred to as T BUFFO,
  • the four buffers have multiple banks and associated status conditions.
  • the status conditions are as follows.
  • buff_full() indicates when a buffer is full
  • buff_empty() indicates when a buffer is empty
  • buff_mode() indicates a buffer mode
  • buff_plc() indicates an MLC identifier of a turbo packet in memory.
  • buffwr stat() indicates a buffer's write status
  • reading, writing and status conditions are provided using the control signals 424.
  • the mapping logic 410 operates to provide the mapping process by choosing a selected T BUFF to write the parallel stream of LLR metrics 434 in to, and another T BUFF to readout decodable packets 418.
  • the mapping logic 410 comprises a polling algorithm to poll all the T BUFFs to control the write and read operations to output the decodable packets 418.
  • the mapping logic 410 comprises one T BUFF memory write address counter (tbufwr_cnt[9:0]). This counter is one-fourth of the turbo packet length and will increase every other clock cycle.
  • the write sequence is bankO, bankl, bankl, bankO, bankO, bankl, bankl, bankO, bankO, etc.
  • the mapping logic 410 also comprises four 11-bit registers, corresponding to the four different T BUFF memories, which are used to store the counter value for each memory write. The registers are used because a slot may contain only a partial turbo packet.
  • the tbufwr_cnt[9:0] will be loaded with the corresponding register value and will increase thereafter.
  • the turbo packet size of the OIS data is large, but the rate is low (i.e., QPSK 1/5).
  • only the first two T BUFF memories are used for OIS turbo packets. For example, the read and write polling occurs between the two T BUFF memories, T BUFFO and T BUFFl.
  • mapping logic 410 and packet buffer 414 may comprise any suitable hardware and/or software.
  • One implementation can be found in the application (Attorney Docket No. 060940) cross-referenced above.
  • the reordering system comprises a computer program having one or more program instructions ("instructions") stored on a computer-readable medium, which when executed by at least one processor, for instance, a processor at the reorder pipeline 400, provides the functions of the reordering system described herein.
  • instructions may be loaded into the reorder pipeline 400 from a computer-readable media, such as a floppy disk, CDROM, memory card, FLASH memory device, RAM, ROM, or any other type of memory device or computer-readable medium that interfaces to the reorder pipeline 400.
  • the instructions may be downloaded into the reorder pipeline 400 from an external device or network resource that interfaces to the reorder pipeline 400.
  • the instructions when executed by the processing logic operate to provide embodiments of a reordering system as described herein.
  • the reorder pipeline 400 operates to provide an embodiment of a reordering system to efficiently reorder slot data on-the-fly in a parallel process to produce decodable packets in a way that eliminates intermediate memories and minimizes processing latencies.
  • FIG. 8 shows an embodiment of a method 800 for operating a reorder pipeline for use in a reordering system.
  • the reorder pipeline 300 operates to provide the functions of the method 800 as describe below.
  • an idle state is entered to wait for valid slot data.
  • the symbol de-interleaving logic 402 waits for interleaved modulation symbols 416 to become available in the slot buffer 412.
  • receiving logic 438 operates to receive a transmission frame comprising interleaved modulation symbols that are stored in the slot buffer 412.
  • symbol de-interleaving is performed.
  • the symbol de-interleaving logic 402 operates to de-interleave the interleaved modulation symbols 416 to produce the stream of modulation symbols 428.
  • an LLR calculation is performed.
  • the LLR calculating logic 404 operates to provide LLR calculations so that the stream of modulation symbols 428 can be used to produce the parallel streams of scrambled LLR metrics 430.
  • an LLR descrambling is performed.
  • the LLR metric descrambling logic 406 operates to provide descrambling so that the parallel streams of scrambled LLR metrics 430 can be descrambled to produce the parallel streams of interleaved LLR metrics 432.
  • an LLR de -interleaving is performed.
  • the LLR metric de-interleaving logic 408 operates to provide de-interleaving so that the parallel streams of interleaved LLR metrics 432 can be processed to produce the parallel streams of LLR metrics 434.
  • mapping and packet output is performed.
  • the mapping logic 410 operates to control the write and read operations of the packet buffer 414 using the control signals 424.
  • the mapping logic 410 operates to provide write control to control how the parallel streams of LLR metrics 434 are written into the packet buffer 414.
  • the mapping logic 410 also operates to provide read control to control how stored LLR metrics are read out of the packet buffer 414 to produce decodable turbo packets 418.
  • the mapping logic 410 operates to control the packet buffer 414 as described with reference to FIG. 7.
  • the reordering system provides dynamic packet reordering for use in receiving devices.
  • the method 800 represents just one implementation and the changes, additions, deletions, combinations or other modifications of the method 800 are possible within the scope of the embodiments.
  • the method 800 only two groups of memories are utilized for performing symbol de- interleaving, LLR calculation, LLR metric descrambling, LLR metric de-interleaving, and turbo packet mapping on-the-fly using a parallel processing technique. As a result, process latencies and buffer requirements are minimized.
  • the reordering system described herein has no limitation at to the maximum number of MLCs that can be handled within one OFDM symbol. [0069] FIG.
  • the LLR calculating logic 900 is suitable for use as the LLR calculating logic 404 shown in FIG. 4.
  • the LLR calculating logic 900 comprises LLR generator 902 and a multiplexer 904.
  • the generator 902 and multiplexer 904 comprises any suitable processor, CPU, gate array, hardware, and/or software.
  • the generator 902 is configured to receive a channel estimation parameter 906 and modulation symbol data 908.
  • the generator 902 operates to perform an algorithm to produce QPSK and QAM signals shown generally at 910.
  • the generator 902 calculates LLR metrics to produce the QPSK and QAM signals.
  • the multiplexer 904 is configured to receive the signals shown at 910 and produce parallel streams of metrics shown generally at 912.
  • FIG. 10 shows an embodiment of a reordering system 1000.
  • the reordering system 1000 comprises means (1002) for de-interleaving a stream of the interleaved modulation symbols, means (1004), for calculating parallel streams of LLR metrics, and means (1006) for mapping parallel streams of LLR metrics to produce a stream of decodable packets.
  • the means 1002, 1004, and 1006 comprise one or more processors configured to execute program instructions to provide embodiments of a reordering system as described herein.
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • a general-purpose processor may be a microprocessor, but, in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine.
  • a processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
  • a software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
  • An exemplary storage medium is coupled to the processor, such that the processor can read information from, and write information to, the storage medium.
  • the storage medium may be integral to the processor.
  • the processor and the storage medium may reside in an ASIC.
  • the ASIC may reside in a user terminal.
  • the processor and the storage medium may reside as discrete components in a user terminal.

Abstract

Methods and apparatus for dynamic packet reordering. In an aspect, a method is provided for processing slot data on-the-fly to produce decodable packets, wherein the slot data includes interleaved modulation symbols. The method includes de-interleaving a stream of the interleaved modulation symbols to produce a stream of modulation symbols, calculating parallel streams of LLR metrics based on the stream of modulation symbols, and mapping the parallel streams of LLR metrics to produce a stream of decodable packets. In another aspect, an apparatus is provided the includes de-interleaving logic to de-interleave a stream of interleaved modulation symbols to produce a stream of modulation symbols, metric processing logic configured to produce parallel streams of LLR metrics based on the stream of modulation symbols, and mapping logic configured to map the parallel streams of LLR metrics to produce a stream of decodable packets.

Description

METHODS AND APPARATUS FOR DYNAMIC PACKET
REORDERING
BACKGROUND Field
[0001] The present application relates generally to the distribution of data over a data network, and more particularly, to methods and apparatus for dynamic packet reordering.
Background
[0002] Data networks, such as wireless communication networks, have to trade off between services customized for a single terminal and services provided to a large number of terminals. For example, the distribution of multimedia content to a large number of resource limited portable devices (subscribers) is a complicated problem. Therefore, it is very important for network administrators, content retailers, and service providers to have a way to distribute content and/or other network services in a fast and efficient manner for presentation on networked devices.
[0003] In current content delivery/media distribution systems, real time and non real time services are packed into a transmission frame and delivered to devices on a network. For example, a communication network may utilize Orthogonal Frequency Division Multiplexing (OFDM) to provide communications between a network server and one or more mobile devices. This technology provides a transmission frame having data slots that are packed with services to be delivered over a distribution network. [0004] Typically, data representing one or more services is rate adjusted and processed using one or more error correction techniques. For example, the data may be turbo encoded, bit interleaved, and then divided to slots that are bit scrambled. Additionally, constellation mapping and symbol interleaving may be performed. Finally, the data may be mapped into interlaces to form an OFDM symbol. [0005] At a receiving device, the above processes need to be reversed in order to obtain data packets that can be decoded to recover the transmitted services. Unfortunately, conventional systems may reverse the above processes in a step by step manner utilizing intermediate memories. This not only increases the size and cost of the receiving logic, but introduces processing latencies. For example, if all of the above processes are reversed step by step, intermediate memories will be needed between steps and significant processing latencies will occur.
[0006] Therefore what is needed is a system to process data in a received transmission frame so that the processes used to encode the data can be reversed, while the amount of intermediate memories are reduced or eliminated thereby minimizing processing latencies.
SUMMARY
[0007] In one or more embodiments, a reordering system, comprising methods and apparatus, is provided that operates to provide dynamic packet reordering. For example, in one aspect, the system operates "on-the-fly" and using parallel processing to reorder received modulation symbols into decodable packets that can be used to recover services transmitted over a distribution network. Since the system operates on- the-fly using parallel processing, intermediate memories are reduced or eliminated thereby minimizing processing latencies.
[0008] In an aspect, a method is provided for processing slot data on-the-fly to produce decodable packets, wherein the slot data comprises interleaved modulation symbols. The method comprises de-interleaving a stream of the interleaved modulation symbols to produce a stream of modulation symbols, calculating parallel streams of LLR metrics based on the stream of modulation symbols, and mapping the parallel streams of LLR metrics to produce a stream of decodable packets. [0009] In another aspect, an apparatus is provided for processing slot data on-the-fly to produce decodable packets, wherein the slot data comprises interleaved modulation symbols. The apparatus comprises de -interleaving logic configured to de-interleave a stream of the interleaved modulation symbols to produce a stream of modulation symbols. The apparatus also comprises metric processing logic configured to produce parallel streams of LLR metrics based on the stream of modulation symbols, and mapping logic configured to map the parallel streams of LLR metrics to produce a stream of decodable packets.
[0010] In another aspect, an apparatus is provided for processing slot data on-the-fly to produce decodable packets, wherein the slot data comprises interleaved modulation symbols. The apparatus comprises means for de -interleaving a stream of the interleaved modulation symbols to produce a stream of modulation symbols. The apparatus also comprises means for calculating parallel streams of LLR metrics based on the stream of modulation symbols, and means for mapping the parallel streams of LLR metrics to produce a stream of decodable packets.
[0011] In another aspect, a computer-readable medium is provided that comprises a computer program, which when executed by at least one processor, operates to process slot data on-the-fly to produce decodable packets, wherein the slot data comprises interleaved modulation symbols. The computer program comprises instructions for de- interleaving a stream of the interleaved modulation symbols to produce a stream of modulation symbols. The computer program also comprises instructions for calculating parallel streams of LLR metrics based on the stream of modulation symbols, and instructions for mapping the parallel streams of LLR metrics to produce a stream of decodable packets.
[0012] In still another aspect, at least one processor is provided that is configured to perform a method for processing slot data on-the-fly to produce decodable packets, wherein the slot data comprises interleaved modulation symbols. The method comprises de-interleaving a stream of the interleaved modulation symbols to produce a stream of modulation symbols, calculating parallel streams of LLR metrics based on the stream of modulation symbols, and mapping the parallel streams of LLR metrics to produce a stream of decodable packets.
[0013] Other aspects of the embodiments will become apparent after review of the hereinafter set forth Brief Description of the Drawings, Description, and the Claims.
BRIEF DESCRIPTION OF THE DRAWINGS
[0014] The foregoing aspects of the embodiments described herein will become more readily apparent by reference to the following detailed description when taken in conjunction with the accompanying drawings wherein:
[0015] FIG. 1 shows a network that comprises an embodiment of a reordering system;
[0016] FIG. 2 shows an embodiment of a frame that illustrates OFDM slots and slot allocation for a logical channel for use in a reordering system; [0017] FIG. 3 shows an embodiment of a modulation table for use in a reordering system;
[0018] FIG. 4 shows an embodiment of a reorder pipeline for use in a reordering system;
[0019] FIG. 5 shows an embodiment of a PN sequence generator for use in a reordering system;
[0020] FIG. 6 shows an embodiment of de-interleaving table logic for use in a reordering system;
[0021] FIG. 7 shows an embodiment of a packet buffer for use in a reordering system;
[0022] FIG. 8 shows an embodiment of a method for operating a reorder pipeline for use in a reordering system;
[0023] FIG. 9 shows an embodiment of LLR calculation logic for use in a reordering system; and
[0024] FIG. 10 shows an embodiment of a reordering system.
DESCRIPTION
[0025] In one or more embodiments, a reordering system is provided that operates to provide dynamic on-the-fly reordering of data received in a transmission frame. For example, the transmission frame comprises multiplexed content flows having a particular arrangement, sequence, mixing, interleaving, scrambling, and/or other encoding of real-time and/or other than real-time services. The system operates to dynamically reorder the received data on-the-fly using parallel processing to produce packets that can be decoded to obtain the transmitted services. Thus, the need for intermediate memories is reduced or eliminated and processing latencies are minimized. The system is especially well suited for use in wireless network environments, but may be used in any type of network environment, including but not limited to, communication networks, public networks, such as the Internet, private networks, such as virtual private networks (VPN), local area networks, wide area networks, long haul networks, or any other type of data network.
[0026] For the purpose of this description, embodiments of a reordering system are described herein with reference to a communication network that utilizes Orthogonal Frequency Division Multiplexing (OFDM) to provide communications between a network server and one or more mobile devices. For example, in an embodiment of an OFDM system, a frame is defined that comprises time division multiplex (TDM) pilot signals, frequency division multiplex (FDM) pilot signals, overhead information symbols (OIS), and data symbols. The data symbols are used to transport services from the server to receiving devices. A data slot is defined as a set of 500 data symbols that occur over one OFDM symbol time. Additionally, an OFDM symbol time in the frame carries seven slots of data.
[0027] The following definitions are used herein to describe one or more embodiments of a multiplexer system.
Flow An element of a service, for example, a service may have two flows - an audio flow and a video flow. Service A media content that can have one or more flows. MLC A media logical channel ("channel") used for data or control information. Overhead Information Symbols (OIS)
Symbols in a frame that carry information about the location of various MLCs in the frame. Slot The smallest unit of bandwidth allocated to a MLC over an
OFDM symbol.
[0028] FIG. 1 shows a network 100 that comprises an embodiment of a reordering system. The network 100 comprises a mobile device 102, a server 104, and a data network 106. For the purpose of this description, it will be assumed that the data network 106 operates to provide communications between the server 104 and one or more portable devices using OFDM technology; however, embodiments of the reordering system are suitable for use with other transmission technologies as well. [0029] In one embodiment, the server 104 operates to provide services that may be subscribed to by devices in communication with the network 106. The server 104 is coupled to the network 106 through the communication link 108. The communication link 108 comprises any suitable communication link, such as a wired and/or wireless link that operates to allow the server 104 to communicate with the network 106. The network 106 comprises any combination of wired and/or wireless networks that allows services to be delivered from the server 104 to devices in communication with the network 106, such as the device 102.
[0030] It should be noted that the network 106 may communicate with any number and/or types of portable devices within the scope of the embodiments. For example, other devices suitable for use in embodiments of the reordering system include, but are not limited to, a personal digital assistant (PDA), email device, pager, a notebook computer, mp3 player, video player, or a desktop computer. The wireless link 110 comprises a wireless communication link based on OFDM technology; however, in other embodiments the wireless link may comprise any suitable wireless technology that operates to allow devices to communicate with the network 106.
[0031] The device 102 in this embodiment comprises a mobile telephone that communicates with the network 106 through the wireless link 110. The device 102 takes part in an activation process that allows the device 102 to subscribe to receive services over the network 106. The activation process may be performed with the server 104; however, the activation process may also be performed with some other server, service provider, content retailer, or other network entity not shown. For the purpose of this description, it will be assumed that the device 102 performs the activation process with the server 104 and is now ready to subscribe and receive services from the server 104.
[0032] The server 104 comprises content that includes one or more real time services (RTS) 112, and/or one or more "other than real time services" (ORTS) 114. For example, the services (112, 114) comprise multimedia content that includes news, sports, weather, financial information, movies, and/or applications, programs, scripts, or any other type of suitable content or service. Thus, the services (112, 120) may comprise video, audio or other information formatted in any suitable format. The server 104 also comprises a multiplexer (MUX) 116 that operates to multiplex one or more of the services (112, 114) into a transmission frame 118 for transmission over the network 106 to the device 102, as shown by the path 120. During the generation of the transmission frame 118, data representing the services (112, 114) may be encoded, rate adjusted, interleaved, scrambled, or otherwise processed so as be transmitted in a bandwidth efficient manner that is resistant to transmission errors. [0033] The device 102 receives the transmission frame 118 and performs basic physical layer processing to obtain slot data. In an embodiment, the device 102 comprises a reorder pipeline 122 that operates to receive the slot data and reverse the encoding processes performed at the transmitter. This operation will hereinafter be referred to as "reordering." For example, the reorder pipeline 122 operates on-the-fly using parallel processing to provide de -interleaving, descrambling, and/or any other process needed to reverse encoding processes performed at the transmitter. Since the reorder pipeline 122 reorders data on-the-fly using parallel processing, intermediate data storage is eliminated and process latencies are thereby minimized. Once the packets 124 are recovered, they are input to a decoder 126 that operates to decode the packets to obtain the transmitted services (112, 114). A more detailed description of the operation of the reorder pipeline 122 is provided in another section of this document. [0034] Therefore, embodiments of a reordering system operate to efficiently reorder data on-the-fly using parallel processing to generate packets that can be decoded to recover one or more RTS and/or ORTS services. It should be noted that the reordering system is not limited to the implementations described with reference to FIG. 1, and that other implementations are possible within the scope of the embodiments. [0035] FIG. 2 shows an embodiment of a frame 200 that illustrates OFDM data slots and slot allocation for a logical channel for use a reordering system. The frame 200 comprises "N" OFDM symbols each having seven (7) data slots. A slot allocation for a logic channel is shown generally by the shaded region at 302. Two variables are used to describe the slot allocation, namely; length and height. The length is in OFDM symbols and the height is in slots.
[0036] FIG. 3 shows an embodiment of a modulation table 300 for use in a reordering system. The modulation table comprises a mode indicator 302, a meaning descriptor 304, packet length indicator 306, slot per packet indicator 308, memory reset address indicator 310, and read start pointer 312. The modulation table 300 provides information relating to various data modes in which data may be formatted. As shown in the table 300, the data may be formatted in a quadrature phase shift keying (QPSK) or quadrature amplitude modulation (QAM) format. Each of the twelve modes 302 has an associated turbo packet length 306 and slot per turbo packet 308 allocations. The parameters in the table 300 are use by various portions of a reordering system to produce decodable packets. It should be noted that embodiments of the reordering system operate to satisfy the constraints of all twelve modes 302 on-the-fly to produce the decodable packets. [0037] FIG. 4 shows an embodiment of a reorder pipeline 400 for use in a reordering system. For example, the reorder pipeline 400 may be used as the reorder pipeline 122 shown in FIG. 1. The reorder pipeline 400 comprises symbol de- interleaving logic 402, log likelihood ratio (LLR) calculation logic 404, LLR metric descrambling logic 406, LLR metric de -interleaving logic 408, and mapping logic 410. It should be noted that the reorder pipeline 400 represents just one implementation and that other implementations are possible within the scope of the embodiments. For example, the functions of the reorder pipeline 400 may be implemented by one or more processors configured to execute a computer program.
[0038] It will be assumed for the purpose of this description that low level receiving logic 438 operates to receive transmission frames and store received interleaved modulation symbols 416 into a slot buffer 412. The slot buffer 412 may comprise any suitable memory or buffering logic.
[0039] In an embodiment, the symbol de -interleaving logic 402 comprises a CPU, processor, gate array, hardware logic, virtual machine, software, and/or any combination of hardware and software. The symbol de -interleaving logic 402 is configured to de-interleave the interleaved modulation symbols 416 stored in the slot buffer 412 on-the-fly by generating a slot buffer read address 422 according to the following procedure.
1. Initialize a variable h to 0. Assume h is a 9-bit counter in the range (ib e {0,511} ).
2. Reverse the bits of h and denote the resulting value as hr- If hr <500, assign ibr to a slot read address (slot addr) 422 and read the interleaved modulation symbols 416 out of the slot buffer 412 as shown at 420.
3. If ibr >500, increment ib by 1 and go to step 2.
[0040] As a result of the above operations, the interleaved modulation symbols 416 are read out of the slot buffer 412 every clock cycle for QPSK modes and every other clock cycle for QAM modes. This read-out process ( as shown at 420) de-interleaves the interleaved modulation symbols 416 to produce a stream of modulation symbols 428 that are output from the symbol de-interleaving logic 402 and input to the LLR calculating logic 404. [0041] In an embodiment, the LLR calculation logic 404 comprises a CPU, processor, gate array, hardware logic, virtual machine, software, and/or any combination of hardware and software. The LLR calculation logic 404 is configured to receive the stream of modulation symbols 428 and a channel estimation parameter 426 to generate parallel streams of scrambled LLR metrics 430 (6-bits each) in one clock cycle, depending on the data mode. For example, in QPSK modes, two scrambled LLR metrics will be generated in one clock cycle and four scrambled LLR metrics will be generated for 16QAM modes. From this point forward, the reordering pipeline 400 operates in a parallel configuration to process the parallel streams of scrambled LLR metrics in one clock cycle. For example, the LLR calculating logic 404 outputs the parallel streams of scrambled LLR metrics 430, which are input to the LLR metric descrambling logic 406. The channel estimation parameter 426 may be provided by the receiving logic 438 and comprise any suitable parameters to estimate the transmission channel.
[0042] In an embodiment, LLR calculation logic 404 operates to calculate the LLR metrics of binary symbols from the received signals. The received signals are non- binary symbols corrupted by noise and interference. For example, assume that N binary symbols ^1 b2... Ox are grouped to form a single non-binary symbol S, which is then modulated onto a high-order constellation through Gray mapping. The modulated symbol is denoted as G(S) (with unitary averaged amplitude) and the corresponding received signal is r. The LLR of the binary symbol bs can be calculated as follows;
LLR „ = In (P (r \ bM = 9 ) )- In (P (r \ bΛ = I) )
= ta f J P (/- | G (S))] - In f 2 P(i- | G {S))1
[0043] The following channel model is assumed. r - C - O(B) I jf (2)
where c is the lumped (complex) channel gain and assumed to be known, and n is a white complex Gaussian noise process with zero mean and variance Sn . [0044] In this case, equation (1) becomes;
[0045] In implementing the above calculation, all values of f— eO{Ft /f t If t for all constellation points St 's are first calculated, the max*( .,.) [1], defined by;
max VJO = hi fc»P« + «Pθθ) = ™< '-Jf) +In fi + rupf- |r -, (4) is then used to get LLRx for different bit position n's. When;
|i - y |» 0 taC. +αp(-| κ -yp]ftι0 n I mm *^ y) wmjcφc. y)
Therefore;
[0046] Applying equation (5) to equation (3) yields the following "dual-max" approximation;
[0047] In an embodiment, the LLR metric descrambling logic 406 comprises a CPU, processor, gate array, hardware logic, virtual machine, software, and/or any combination of hardware and software. The LLR metric descrambling logic 406 is configured to reverse a descrambling process performed at the source transmitter. For example, the transmitter uses a 20th order pseudorandom noise (PN) sequence generator to perform bit scrambling. The same PN sequence is used by the LLR metric descrambling logic 406 to descramble the parallel streams of scrambled LLR metrics 430 to produce parallel streams of interleaved LLR metrics 432, which are input to the LLR metric de-interleaving logic 408.
[0048] FIG. 5 shows an embodiment of a PN sequence generator 500 for use in a reordering system. For example, the generator 500 is suitable for use by the LLR metric descrambling logic 406 to generate PN sequences to reverse a scrambling process performed at a source transmitter. The generator 500 outputs two sequences. One sequence is output by generator portion 502 and another sequence is output by generator portion 504. Each of the parallel streams of scrambled LLR metrics 430 will be inverted if the corresponding descrambling bit sequence is a ' 1 '; otherwise, the data will pass through. The generator portions 502, 504 comprise 20-tap linear feedback shift registers (LFSR) that produce a descrambling bit sequence corresponding to h(D) = D20+D17+1. Because the QPSK modes can generate two scrambled LLR metrics and the 16QAM modes can generate four scrambled LLR metrics in one clock cycle, the descrambling is performed in parallel to reduce latency.
[0049] Referring again to FIG. 4, the LLR metric de -interleaving logic 408 comprises a CPU, processor, gate array, hardware logic, virtual machine, software, and/or any combination of hardware and software. During operation, the LLR metric de-interleaving logic 408 receives the parallel streams of interleaved LLR metrics 432 and generates parallel streams of LLR metrics 434. De-interleaving of the parallel streams of interleaved LLR metrics 432 is achieved by hopping addresses when writing the parallel streams of interleaved LLR metrics 432 to the packet buffer 414. In an embodiment, the LLR metric de-interleaving logic 408 comprises a state machine and a counter that are used to generate the addresses with which to de -interleave the parallel streams of interleaved LLR metrics 432. It should be noted that the blocks 404, 406, and 408 may be referred to as metric processing logic as shown by 436. [0050] FIG. 6 shows one embodiment of de-interleaving table logic 600 suitable for use in a reordering system. For example, the LLR metric de-interleaving logic 408 comprises the table logic 600, a state machine and a counter to generate the addresses with which to write a stream of interleaved LLR metrics 602 into de-interleaving tables 604, and read a stream de-interleaved LLR metrics 606 out of the de-interleaving tables 604. The LLR metric de-interleaving logic 408 may comprise multiple versions of the table logic 600 so that parallel streams of interleaved LLR metrics can be de- interleaved.
[0051] Referring again to FIG. 4, in an embodiment, the mapping logic 410 comprises a CPU, processor, gate array, hardware logic, virtual machine, software, and/or any combination of hardware and software. The mapping logic 410 operates to provide read/write control signals 424 to map how the parallel stream of LLR metrics 434 are written into the packet buffer 414 so that decodable turbo packets 418 can be read out of the packet buffer 414. In an embodiment, the mapping logic 410 receives status inputs 440 that indicate status of the slot buffer 412 and other elements of the pipeline 400. A more detailed description of the operation of the packet buffer 414 is provided with reference to the description of FIG. 7.
[0052] FIG. 7 shows an embodiment of a packet buffer 700 for use in a reordering system. For example, the packet buffer 700 is suitable for use as the packet buffer 414 shown in FIG. 4. For clarity, the operation of the packet buffer 700 will be described with reference to the mapping logic 410 shown in FIG. 4.
[0053] The packet buffer 700 comprises four buffers referred to as T BUFFO,
T BUFFl, T BUFF2, and T BUFF3. The four buffers have multiple banks and associated status conditions. The status conditions are as follows.
1. buff_full() indicates when a buffer is full
2. buff_empty() indicates when a buffer is empty
3. buff_mode() indicates a buffer mode
4. buff_plc() indicates an MLC identifier of a turbo packet in memory.
5. buffwr stat() indicates a buffer's write status
[0054] In an embodiment, reading, writing and status conditions are provided using the control signals 424. The mapping logic 410 operates to provide the mapping process by choosing a selected T BUFF to write the parallel stream of LLR metrics 434 in to, and another T BUFF to readout decodable packets 418. In an embodiment, the mapping logic 410 comprises a polling algorithm to poll all the T BUFFs to control the write and read operations to output the decodable packets 418.
[0055] During operation, the parallel streams of LLR metrics 434 are alternatively written to the T BUFF banks (i.e., bankO and bankl). The mapping logic 410 comprises one T BUFF memory write address counter (tbufwr_cnt[9:0]). This counter is one-fourth of the turbo packet length and will increase every other clock cycle. The write sequence is bankO, bankl, bankl, bankO, bankO, bankl, bankl, bankO, bankO, etc. [0056] The mapping logic 410 also comprises four 11-bit registers, corresponding to the four different T BUFF memories, which are used to store the counter value for each memory write. The registers are used because a slot may contain only a partial turbo packet. At the beginning of a slot processing operation, the tbufwr_cnt[9:0] will be loaded with the corresponding register value and will increase thereafter. [0057] The turbo packet size of the OIS data is large, but the rate is low (i.e., QPSK 1/5). In an embodiment, only the first two T BUFF memories are used for OIS turbo packets. For example, the read and write polling occurs between the two T BUFF memories, T BUFFO and T BUFFl.
[0058] It should be noted that the mapping logic 410 and packet buffer 414 may comprise any suitable hardware and/or software. One implementation can be found in the application (Attorney Docket No. 060940) cross-referenced above. [0059] Referring again to FIG. 4, in an embodiment, the reordering system comprises a computer program having one or more program instructions ("instructions") stored on a computer-readable medium, which when executed by at least one processor, for instance, a processor at the reorder pipeline 400, provides the functions of the reordering system described herein. For example, instructions may be loaded into the reorder pipeline 400 from a computer-readable media, such as a floppy disk, CDROM, memory card, FLASH memory device, RAM, ROM, or any other type of memory device or computer-readable medium that interfaces to the reorder pipeline 400. In another embodiment, the instructions may be downloaded into the reorder pipeline 400 from an external device or network resource that interfaces to the reorder pipeline 400. The instructions, when executed by the processing logic operate to provide embodiments of a reordering system as described herein.
[0060] Thus, the reorder pipeline 400 operates to provide an embodiment of a reordering system to efficiently reorder slot data on-the-fly in a parallel process to produce decodable packets in a way that eliminates intermediate memories and minimizes processing latencies.
[0061] FIG. 8 shows an embodiment of a method 800 for operating a reorder pipeline for use in a reordering system. For example, the reorder pipeline 300 operates to provide the functions of the method 800 as describe below.
[0062] At block 802, an idle state is entered to wait for valid slot data. For example, the symbol de-interleaving logic 402 waits for interleaved modulation symbols 416 to become available in the slot buffer 412. For example, receiving logic 438 operates to receive a transmission frame comprising interleaved modulation symbols that are stored in the slot buffer 412. [0063] At block 804, symbol de-interleaving is performed. For example, the symbol de-interleaving logic 402 operates to de-interleave the interleaved modulation symbols 416 to produce the stream of modulation symbols 428.
[0064] At block 806, an LLR calculation is performed. For example, the LLR calculating logic 404 operates to provide LLR calculations so that the stream of modulation symbols 428 can be used to produce the parallel streams of scrambled LLR metrics 430.
[0065] At block 808, an LLR descrambling is performed. For example, the LLR metric descrambling logic 406 operates to provide descrambling so that the parallel streams of scrambled LLR metrics 430 can be descrambled to produce the parallel streams of interleaved LLR metrics 432.
[0066] At block 810, an LLR de -interleaving is performed. For example, the LLR metric de-interleaving logic 408 operates to provide de-interleaving so that the parallel streams of interleaved LLR metrics 432 can be processed to produce the parallel streams of LLR metrics 434.
[0067] At block 812, packet mapping and packet output is performed. For example, the mapping logic 410 operates to control the write and read operations of the packet buffer 414 using the control signals 424. The mapping logic 410 operates to provide write control to control how the parallel streams of LLR metrics 434 are written into the packet buffer 414. The mapping logic 410 also operates to provide read control to control how stored LLR metrics are read out of the packet buffer 414 to produce decodable turbo packets 418. For example, the mapping logic 410 operates to control the packet buffer 414 as described with reference to FIG. 7.
[0068] Thus, the reordering system provides dynamic packet reordering for use in receiving devices. It should be noted that the method 800 represents just one implementation and the changes, additions, deletions, combinations or other modifications of the method 800 are possible within the scope of the embodiments. In the method 800, only two groups of memories are utilized for performing symbol de- interleaving, LLR calculation, LLR metric descrambling, LLR metric de-interleaving, and turbo packet mapping on-the-fly using a parallel processing technique. As a result, process latencies and buffer requirements are minimized. It should also be noted that the reordering system described herein has no limitation at to the maximum number of MLCs that can be handled within one OFDM symbol. [0069] FIG. 9 shows an embodiment of LLR calculating logic 900. For example, the LLR calculating logic 900 is suitable for use as the LLR calculating logic 404 shown in FIG. 4. The LLR calculating logic 900 comprises LLR generator 902 and a multiplexer 904. The generator 902 and multiplexer 904 comprises any suitable processor, CPU, gate array, hardware, and/or software. The generator 902 is configured to receive a channel estimation parameter 906 and modulation symbol data 908. The generator 902 operates to perform an algorithm to produce QPSK and QAM signals shown generally at 910. For example, the generator 902 calculates LLR metrics to produce the QPSK and QAM signals. The multiplexer 904 is configured to receive the signals shown at 910 and produce parallel streams of metrics shown generally at 912. It should be noted the LLR calculating logic 900 represents just one implementation and that other implementations are possible within the scope of the embodiments. [0070] FIG. 10 shows an embodiment of a reordering system 1000. The reordering system 1000 comprises means (1002) for de-interleaving a stream of the interleaved modulation symbols, means (1004), for calculating parallel streams of LLR metrics, and means (1006) for mapping parallel streams of LLR metrics to produce a stream of decodable packets. In an embodiment, the means 1002, 1004, and 1006 comprise one or more processors configured to execute program instructions to provide embodiments of a reordering system as described herein.
[0071] Therefore various illustrative logics, logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but, in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
[0072] The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor, such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.
[0073] The description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments may be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments, e.g., in an instant messaging service or any general wireless data communication applications, without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein. The word "exemplary" is used exclusively herein to mean "serving as an example, instance, or illustration." Any embodiment described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments.
[0074] Accordingly, while embodiments of a reordering system have been illustrated and described herein, it will be appreciated that various changes can be made to the embodiments without departing from their spirit or essential characteristics. Therefore, the disclosures and descriptions herein are intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.

Claims

CLAIMSWHAT IS CLAIMED IS:
1. A method for processing slot data on-the-fly to produce decodable packets, wherein the slot data comprises interleaved modulation symbols, the method comprising: de-interleaving a stream of the interleaved modulation symbols to produce a stream of modulation symbols; calculating parallel streams of LLR metrics based on the stream of modulation symbols; and mapping the parallel streams of LLR metrics to produce a stream of decodable packets.
2. The method of claim 1, wherein said calculating comprises: calculating parallel streams of scrambled LLR metrics based on the stream of modulation symbols; descrambling the parallel streams of scrambled LLR metrics to produce parallel streams of interleaved LLR metrics; and de-interleaving the parallel streams of interleaved LLR metrics to produce the parallel streams of LLR metrics.
3. The method of claim 2, further comprising calculating the parallel streams of scrambled LLR metrics using a channel estimation parameter.
4. The method of claim 2, further comprising descrambling the parallel streams of scrambled LLR metrics using a pseudorandom sequence.
5. The method of claim 2, further comprising de-interleaving the parallel streams of interleaved LLR metrics using a de-interleaving table.
6. The method of claim 1, further comprising mapping the parallel streams of LLR metrics using a packet buffer.
7. The method of claim 1, further comprising receiving the interleaved modulation symbols in an OFDM transmission frame.
8. Apparatus for processing slot data on-the-fly to produce decodable packets, wherein the slot data comprises interleaved modulation symbols, the apparatus comprising: de-interleaving logic configured to de-interleave a stream of the interleaved modulation symbols to produce a stream of modulation symbols; metric processing logic configured to produce parallel streams of LLR metrics based on the stream of modulation symbols; and mapping logic configured to map the parallel streams of LLR metrics to produce a stream of decodable packets.
9. The apparatus of claim 8, wherein said metric processing logic comprises: calculation logic configured to calculate parallel streams of scrambled LLR metrics based on the stream of modulation symbols; descrambling logic configured to descramble the parallel streams of scrambled LLR metrics to produce parallel streams of interleaved LLR metrics; and de-interleaving logic configured to de-interleave the parallel streams of interleaved LLR metrics to produce the parallel streams of LLR metrics.
10. The apparatus of claim 9, wherein said calculating logic is configured to calculate the parallel streams of scrambled LLR metrics using a channel estimation parameter.
11. The apparatus of claim 9, wherein said descrambling logic is configured to descramble the parallel streams of scrambled LLR metrics using a pseudorandom sequence.
12. The apparatus of claim 9, wherein said de-interleaving logic is configured to de-interleave the parallel streams of interleaved LLR metrics using a de- interleaving table.
13. The apparatus of claim 8, wherein said mapping logic is configured to map the parallel streams of LLR metrics using a packet buffer.
14. The apparatus of claim 8, further comprising receiving logic configured to receive the interleaved modulation symbols in an OFDM transmission frame.
15. Apparatus for processing slot data on-the-fly to produce decodable packets, wherein the slot data comprises interleaved modulation symbols, the apparatus comprising: means for de-interleaving a stream of the interleaved modulation symbols to produce a stream of modulation symbols; means for calculating parallel streams of LLR metrics based on the stream of modulation symbols; and means for mapping the parallel streams of LLR metrics to produce a stream of decodable packets.
16. The apparatus of claim 15, wherein said calculating comprises: means for calculating parallel streams of scrambled LLR metrics based on the stream of modulation symbols; means for descrambling the parallel streams of scrambled LLR metrics to produce parallel streams of interleaved LLR metrics; and means for de-interleaving the parallel streams of interleaved LLR metrics to produce the parallel streams of LLR metrics.
17. The apparatus of claim 16, further comprising means for calculating the parallel streams of scrambled LLR metrics using a channel estimation parameter.
18. The apparatus of claim 16, further comprising means for descrambling the parallel streams of scrambled LLR metrics using a pseudorandom sequence.
19. The apparatus of claim 16, further comprising means for de-interleaving the parallel streams of interleaved LLR metrics using a de-interleaving table.
20. The apparatus of claim 15, further comprising means for mapping the parallel streams of LLR metrics using a packet buffer.
21. The apparatus of claim 15, further comprising means for receiving the interleaved modulation symbols in an OFDM transmission frame.
22. A computer-readable medium comprises a computer program, which when executed by at least one processor, operates to process slot data on-the-fly to produce decodable packets, wherein the slot data comprises interleaved modulation symbols, the computer program comprising: instructions for de-interleaving a stream of the interleaved modulation symbols to produce a stream of modulation symbols; instructions for calculating parallel streams of LLR metrics based on the stream of modulation symbols; and instructions for mapping the parallel streams of LLR metrics to produce a stream of decodable packets.
23. The computer program of claim 22, wherein said calculating comprises: instructions for calculating parallel streams of scrambled LLR metrics based on the stream of modulation symbols; instructions for descrambling the parallel streams of scrambled LLR metrics to produce parallel streams of interleaved LLR metrics; and instructions for de-interleaving the parallel streams of interleaved LLR metrics to produce the parallel streams of LLR metrics.
24. The computer program of claim 23, further comprising instructions for calculating the parallel streams of scrambled LLR metrics using a channel estimation parameter.
25. The computer program of claim 23, further comprising instructions for descrambling the parallel streams of scrambled LLR metrics using a pseudorandom sequence.
26. The computer program of claim 23, further comprising instructions for de-interleaving the parallel streams of interleaved LLR metrics using a de-interleaving table.
27. The computer program of claim 22, further comprising instructions for mapping the parallel streams of LLR metrics using a packet buffer.
28. The computer program of claim 22, further comprising instructions for receiving the interleaved modulation symbols in an OFDM transmission frame.
29. At least one processor configured to perform a method for processing slot data on-the-fly to produce decodable packets, wherein the slot data comprises interleaved modulation symbols, the method comprising: de-interleaving a stream of the interleaved modulation symbols to produce a stream of modulation symbols; calculating parallel streams of LLR metrics based on the stream of modulation symbols; and mapping the parallel streams of LLR metrics to produce a stream of decodable packets.
30. The method of claim 29, wherein said calculating comprises: calculating parallel streams of scrambled LLR metrics based on the stream of modulation symbols; descrambling the parallel streams of scrambled LLR metrics to produce parallel streams of interleaved LLR metrics; and de-interleaving the parallel streams of interleaved LLR metrics to produce the parallel streams of LLR metrics.
31. The method of claim 30, further comprising calculating the parallel streams of scrambled LLR metrics using a channel estimation parameter.
32. The method of claim 30, further comprising descrambling the parallel streams of scrambled LLR metrics using a pseudorandom sequence.
33. The method of claim 30, further comprising de-interleaving the parallel streams of interleaved LLR metrics using a de-interleaving table.
34. The method of claim 29, further comprising mapping the parallel streams of LLR metrics using a packet buffer.
35. The method of claim 29, further comprising receiving the interleaved modulation symbols in an OFDM transmission frame.
EP07760058A 2006-04-04 2007-04-03 Methods and apparatus for dynamic packet reordering Withdrawn EP2005630A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/398,205 US8213548B2 (en) 2006-04-04 2006-04-04 Methods and apparatus for dynamic packet reordering
PCT/US2007/065904 WO2007115284A1 (en) 2006-04-04 2007-04-03 Methods and apparatus for dynamic packet reordering

Publications (1)

Publication Number Publication Date
EP2005630A1 true EP2005630A1 (en) 2008-12-24

Family

ID=38421701

Family Applications (1)

Application Number Title Priority Date Filing Date
EP07760058A Withdrawn EP2005630A1 (en) 2006-04-04 2007-04-03 Methods and apparatus for dynamic packet reordering

Country Status (8)

Country Link
US (1) US8213548B2 (en)
EP (1) EP2005630A1 (en)
JP (1) JP2009532996A (en)
KR (1) KR100984987B1 (en)
CN (1) CN101461166B (en)
AR (1) AR060373A1 (en)
TW (1) TW200746738A (en)
WO (1) WO2007115284A1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7889800B2 (en) * 2007-05-31 2011-02-15 Telefonaktiebolaget Lm Ericsson (Publ) Memory-saving method for generating soft bit values from an OFDM signal
US8112697B2 (en) * 2007-12-21 2012-02-07 Broadcom Corporation Method and apparatus for buffering an encoded signal for a turbo decoder
US8276052B1 (en) * 2009-01-20 2012-09-25 Marvell International Ltd. Iterative PRBS seed recovery using soft decisions
CN102158446B (en) * 2010-02-11 2014-03-19 中兴通讯股份有限公司 Method and device for decoding physical broadcast channel (PBCH) in time division duplex (TDD) system
US20110216857A1 (en) * 2010-03-04 2011-09-08 Designart Networks Ltd Receiver for a wireless telecommunication system with a channel deinterleaver
EP2523412B1 (en) * 2011-05-11 2018-09-26 Samsung Electronics Co., Ltd. Apparatus and method for soft demapping
CN108259402B (en) * 2016-12-29 2019-08-16 大唐移动通信设备有限公司 A kind of method and device of signal demodulation
US11134493B2 (en) * 2018-10-02 2021-09-28 Nxp Usa, Inc. WLAN physical layer design for efficient hybrid ARQ

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5917812A (en) * 1996-04-16 1999-06-29 Qualcomm Incorporated System and method for reducing interference generated by a digital communication device
US5870628A (en) * 1996-06-11 1999-02-09 International Business Machines Corporation Adaptor for receiving and processing asynchronous transfer mode cells within a computer network
JPH1051495A (en) 1996-07-31 1998-02-20 Kokusai Electric Co Ltd Multimedia multiplex communication system
KR100267532B1 (en) * 1997-12-30 2000-10-16 서평원 Module for atm interface in atm communication terminal
JPH11298437A (en) * 1998-04-10 1999-10-29 Sony Corp Demodulation method and demodulator
US6252917B1 (en) * 1998-07-17 2001-06-26 Nortel Networks Limited Statistically multiplexed turbo code decoder
US6381728B1 (en) * 1998-08-14 2002-04-30 Qualcomm Incorporated Partitioned interleaver memory for map decoder
KR100306282B1 (en) * 1998-12-10 2001-11-02 윤종용 Apparatus and for interleaving and deinterleaving frame date in communication system
US6728803B1 (en) * 1999-03-30 2004-04-27 Mcdata Corporation Interconnection architecture for managing multiple low bandwidth connections over a high bandwidth link
KR100382470B1 (en) * 1999-04-08 2003-05-01 엘지전자 주식회사 Radio Protocol in IMT-2000 Mobile Communication System
JP4298140B2 (en) * 2000-06-29 2009-07-15 富士通株式会社 Transceiver
JP2002052770A (en) 2000-08-10 2002-02-19 Seiko Epson Corp Power transmission device and ink-jet recording apparatus having the power transmission device
US6624767B1 (en) * 2000-09-06 2003-09-23 Qualcomm, Incorporated Data buffer structure for asynchronously received physical channels in a CDMA system
US7340664B2 (en) * 2000-09-20 2008-03-04 Lsi Logic Corporation Single engine turbo decoder with single frame size buffer for interleaving/deinterleaving
US7075936B2 (en) * 2000-11-02 2006-07-11 Agere Systems, Inc. Voice packet processor and method of operation thereof
US6781992B1 (en) * 2000-11-30 2004-08-24 Netrake Corporation Queue engine for reassembling and reordering data packets in a network
US7177279B2 (en) * 2001-04-24 2007-02-13 Agere Systems Inc. Buffer management for merging packets of virtual circuits
EP1267511B1 (en) 2001-05-18 2008-01-30 Interuniversitair Microelektronica Centrum Vzw A method and apparatus for interleaving, deinterleaving
US7171110B1 (en) * 2001-11-30 2007-01-30 Keen Personal Media, Inc. System and a method for storing audio/video programs on a hard disk drive for presentation to a viewer
CA2369432A1 (en) * 2002-01-24 2003-07-24 Alcatel Canada Inc. System and method for reassembling packets in a network element
GB2388756A (en) 2002-05-17 2003-11-19 Hewlett Packard Co Calculating an estimate of bit reliability in a OFDM receiver by multiplication of the channel state modulus
US7349462B2 (en) * 2002-12-23 2008-03-25 International Business Machines Corporation Acquisition and adjustment of gain, receiver clock frequency, and symbol timing in an OFDM radio receiver
US7386057B2 (en) 2003-02-20 2008-06-10 Nec Corporation Iterative soft interference cancellation and filtering for spectrally efficient high-speed transmission in MIMO systems
DE10308614A1 (en) * 2003-02-27 2004-09-16 Siemens Ag Method and arrangement for routing data packets in a packet-switching data network
US7319659B2 (en) 2003-04-24 2008-01-15 Silicon Integrated System Corp. OFDM receiver, mode detector therefor, and method for processing OFDM signals
JP4257838B2 (en) * 2003-06-09 2009-04-22 パナソニック株式会社 Sealed battery and manufacturing method thereof
US7292650B2 (en) 2003-07-01 2007-11-06 Silicon Integrated Systems Corp. OFDM receiver and metric generator thereof
KR20050022556A (en) 2003-08-20 2005-03-08 삼성전자주식회사 Reliable decoder and decoding method
US8908496B2 (en) * 2003-09-09 2014-12-09 Qualcomm Incorporated Incremental redundancy transmission in a MIMO communication system
US7724838B2 (en) * 2003-09-25 2010-05-25 Qualcomm Incorporated Hierarchical coding with multiple antennas in a wireless communication system
TWI235560B (en) 2003-10-31 2005-07-01 Ind Tech Res Inst Apparatus and method for synchronization of OFDM systems
JP2005167420A (en) 2003-11-28 2005-06-23 Toshiba Corp Video audio reproducing apparatus
KR20050061142A (en) * 2003-12-18 2005-06-22 삼성전자주식회사 Demodulation apparatus for efficiently embodying adaptive modulation and coding method in ofdma based packet communication system and method thereof
US7702968B2 (en) * 2004-02-27 2010-04-20 Qualcomm Incorporated Efficient multi-symbol deinterleaver
JP2005323173A (en) 2004-05-10 2005-11-17 Sony Corp Information processor and method for processing information
GB2415336B (en) * 2004-06-18 2006-11-08 Toshiba Res Europ Ltd Bit interleaver for a mimo system
US7430163B2 (en) 2004-07-19 2008-09-30 Tzero Technologies, Inc. Data stream transmission preprocessing
US7433946B2 (en) * 2004-08-12 2008-10-07 Microsoft Corporation Mechanism for transmitting elementary streams in a broadcast environment
TWI377564B (en) * 2004-08-17 2012-11-21 Panasonic Corp Information storage medium and multiplexing device
US20060045169A1 (en) * 2004-08-27 2006-03-02 Qualcomm Incorporated Coded-bit scrambling for multi-stream communication in a mimo channel
EP1667353A1 (en) * 2004-12-03 2006-06-07 STMicroelectronics N.V. Method and device for decoding packets of data within an hybrid ARQ scheme
JP4434034B2 (en) * 2005-02-18 2010-03-17 株式会社日立製作所 Baseband demodulation architecture suitable for adaptive modulation schemes
US20060198454A1 (en) * 2005-03-02 2006-09-07 Qualcomm Incorporated Adaptive channel estimation thresholds in a layered modulation system
WO2006124071A1 (en) * 2005-05-18 2006-11-23 The Governors Of The University Of Alberta Decoder for low-density parity-check convolutional codes
US7464316B2 (en) * 2005-08-26 2008-12-09 Agere Systems Inc. Modified branch metric calculator to reduce interleaver memory and improve performance in a fixed-point turbo decoder
US7409606B2 (en) * 2005-08-31 2008-08-05 Motorola, Inc. Method and system for interleaving in a parallel turbo decoder
US7555071B2 (en) * 2005-09-29 2009-06-30 Agere Systems Inc. Method and apparatus for non-linear scaling of log likelihood ratio (LLR) values in a decoder
US8135046B2 (en) * 2005-11-11 2012-03-13 Broadcom Corporation Method and apparatus for demultiplexing, merging, and duplicating packetized elementary stream/program stream/elementary stream data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2007115284A1 *

Also Published As

Publication number Publication date
AR060373A1 (en) 2008-06-11
KR100984987B1 (en) 2010-10-04
CN101461166A (en) 2009-06-17
WO2007115284A1 (en) 2007-10-11
CN101461166B (en) 2013-03-27
KR20080109904A (en) 2008-12-17
US20070230632A1 (en) 2007-10-04
JP2009532996A (en) 2009-09-10
US8213548B2 (en) 2012-07-03
TW200746738A (en) 2007-12-16

Similar Documents

Publication Publication Date Title
KR100984987B1 (en) Methods and apparatus for dynamic packet reordering
US7809902B2 (en) Method and system for copying DMA with separate strides by a modulo-n counter
US6263470B1 (en) Efficient look-up table methods for Reed-Solomon decoding
US7945001B2 (en) Apparatus and method for receiving data in a wireless communication system using bit interleaving, symbol interleaving and symbol mapping
AU721048B2 (en) Iterative demapping
JP5571764B2 (en) Technology for encoding PLCP header
US7644340B1 (en) General convolutional interleaver and deinterleaver
US8640009B2 (en) Methods and apparatus for providing linear erasure codes
JP5629877B2 (en) System and method for error detection in a retransmission return channel
JPH08265290A (en) Method and device for receiving quadrature frequency division multiplex signal
JP2000092139A (en) Packet binary convolution code
CN103460607A (en) Apparatus and method for mapping and demapping signals in a communication system using a low density parity check code
US8139612B2 (en) Methods and apparatus for dynamic packet mapping
CN117411596B (en) Demodulation method, demodulation device, storage medium and electronic equipment

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20081022

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC MT NL PL PT RO SE SI SK TR

17Q First examination report despatched

Effective date: 20090902

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20111101