US20090168801A1 - Butterfly network for permutation or de-permutation utilized by channel algorithm - Google Patents

Butterfly network for permutation or de-permutation utilized by channel algorithm Download PDF

Info

Publication number
US20090168801A1
US20090168801A1 US12/057,283 US5728308A US2009168801A1 US 20090168801 A1 US20090168801 A1 US 20090168801A1 US 5728308 A US5728308 A US 5728308A US 2009168801 A1 US2009168801 A1 US 2009168801A1
Authority
US
United States
Prior art keywords
nodes
columns
terminals
butterfly network
column
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.)
Abandoned
Application number
US12/057,283
Inventor
Yan-Xiu Zheng
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.)
National Chiao Tung University NCTU
Highdimension Ltd
Original Assignee
National Chiao Tung University NCTU
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 National Chiao Tung University NCTU filed Critical National Chiao Tung University NCTU
Priority to US12/057,283 priority Critical patent/US20090168801A1/en
Assigned to NATIONAL CHIAO TUNG UNIVERSITY reassignment NATIONAL CHIAO TUNG UNIVERSITY ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HIGHDIMENSION LTD.
Assigned to NATIONAL CHIAO TUNG UNIVERSITY reassignment NATIONAL CHIAO TUNG UNIVERSITY ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LEE, CHEN-YI, LIN, CHIEN-CHING, CHANG, HSIE-CHIA, SU, YU TEH, WONG, CHENG-CHI, TANG, CHENG-HAO
Publication of US20090168801A1 publication Critical patent/US20090168801A1/en
Assigned to HIGHDIMENSION LTD. reassignment HIGHDIMENSION LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ZHENG, YAN-XIU
Abandoned legal-status Critical Current

Links

Images

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
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/033Theoretical methods to calculate these checking codes
    • 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/2771Internal interleaver for turbo codes
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • 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
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes

Definitions

  • the present invention relates to a network for permutation or de-permutation, especially a butterfly network for permutation or de-permutation utilized by channel coding and a channel coding security concept thereof.
  • a so-called “butterfly network” is used to perform a method to illustrate FFT (Fast Fourier Transform), which is intensively used in the field of signal processing.
  • FFT Fast Fourier Transform
  • its concept is also applied in other fields, for instance, U.S. Pat. No. 6,618,371 B1 and US Publication No. 2006/0039555 A1.
  • the butterfly network is used to create two independent paths ending at the same point for the purposes of load balancing, fault tolerance, or multicasting.
  • US Publication No. 2006/0039555 A1 the butterfly network is used in performing arbitrary permutation of a sequence in a processor.
  • none of the prior art references applies the concept in the field of channel coding permutation and de-permutation.
  • the present invention provides an innovative but simple algorithm and hardware architecture for performing inter-sequence permutation at either the encoder end or decoder end with this concept.
  • the channel coding applying this concept is referred as “ZYX code” hereinafter.
  • Examples of the present invention may provide a butterfly network for channel coding permutation and de-permutation.
  • the butterfly network may include a first side and a second side. Each of the first side and the second side may have at least one terminal.
  • the butterfly network may further include two or more columns of nodes located between the first side and the second side. A first column of the columns may interface the first side, and a second column of the columns may interface the second side. Each of the columns may include at least one node.
  • Each node of the columns may be connected to a first number of nodes of each of adjacent columns to the columns. The first number may be identical for all the nodes in the butterfly network.
  • the nodes that are selected as switches may be concurrently controlled to perform switching operations.
  • the butterfly network may include a first side and a second side, wherein each of the first side and second side has at least one terminal, two or more columns of nodes located between the first and second sides, wherein a first column of the columns interfaces the first side, a second column of the columns interfaces the second side and each of the columns comprises at least one node, wherein each node of one of the columns is connected to at least one node of an adjacent column next to the one of the columns, and wherein the nodes which are selected as switches are concurrently controlled to perform switching operations.
  • FIG. 1 is a diagram illustrating a network adopting a butterfly network according to an example of the present invention
  • FIG. 2 is a diagram illustrating an expanded network adopting three columns of nodes and the butterfly network according to another example of the present invention
  • FIG. 3 is a diagram illustrating a butterfly network expanded by an Omega network according to still another example of the present invention.
  • FIG. 4 is a diagram illustrating an exemplary butterfly network of FIG. 2 after “folding and combination”;
  • FIG. 5 is a diagram illustrating an exemplary pipelined-staged butterfly network formed by combining two networks at terminals according to yet another example of the present invention.
  • FIG. 6 is a flow chart illustrating a method of operating a butterfly network for channel coding permutation and de-permutation according to other example of the present invention.
  • FIG. 7 is a diagram illustrating actual operations of the method shown in FIG. 6 .
  • FIG. 1 is a diagram illustrating a butterfly network ( 100 ) according to an example of the present invention.
  • a basic structure of the butterfly network ( 100 ) may comprise a first side ( 101 ) and a second side ( 102 ). Each of the first side ( 101 ) and second side ( 102 ) may have 4 terminals ( 103 ).
  • the butterfly network ( 100 ) may comprise two columns ( 105 , 106 ) of nodes ( 104 ) located between the first and second sides ( 101 , 102 ).
  • a first column ( 105 ) may interface the first side ( 101 ) and a second column ( 106 ) may interface the second side ( 102 ).
  • Each of the columns ( 105 , 106 ) may comprise 4 nodes ( 104 ), wherein each of the nodes ( 104 ) may be connected to a first number of the nodes ( 104 ) (e.g. 2) of each of columns adjacent to the columns ( 105 , 106 ), and the first number may be identical for all the nodes in the butterfly network ( 100 ).
  • the nodes that are selected as switches may be concurrently controlled to perform switching operations.
  • each of the columns ( 105 , 106 ) may comprise a second number of nodes being identical for each of the columns.
  • the second number may be different for each column.
  • One reason for making the second number different for each column is memory management, and part of such examples will be discussed later in the specification.
  • the terminals of the first side ( 101 ) and second side ( 102 ) may have an exclusive node in the first column ( 105 ) and second column ( 106 ) respectively, and each of the terminals may be connected to each of the exclusive nodes. That is, one terminal may be connected to only one node and this node may be exclusively connected to this terminal in the present invention.
  • exceptions may exist, for example, for the purpose of memory management, which will also be discussed later in the specification.
  • connections between nodes, and between nodes and terminals are not limited to the present invention, which is in the form of a FFT butterfly network.
  • the FFT butterfly network may be expanded to comprise more columns, or the Omega network in FIG. 3 may be adopted instead.
  • ordinary Benes network and a fat tree network may be two possible alternatives. Even a network interiorly applying a p-by-p fully connected switching instead of a 2-by-2 fully connected switching can be used, where p is a positive integer.
  • Winograd Fourier Transform may use a network which applies p-by-p fully connected sub-network. It is easy to understand that many alternative patterns of connections all fall within the scope of the present invention as long as essential elements in the appended independent claims are utilized.
  • the nodes that are selected as switches may be concurrently controlled to perform switching operations.
  • the nodes selected as switches are the nodes of the first column ( 105 ), wherein every node may have two different switching operations because every node of the first column ( 105 ) may have two choices (flowing horizontally or obliquely) to output the data flow through the butterfly network. Therefore, all nodes may be concurrently controlled to perform one of possible switching operations.
  • every node of the second column ( 106 ) has only one choice to output the data flow through the butterfly network. Therefore, every node of the second column ( 106 ) may not serve as a switch. However, some or all of the nodes of the second column ( 106 ) may serve as switches if said some or all of the nodes outputting data to more than one terminal ( 103 ) in some examples.
  • the terminals of the first side ( 101 ) may be intra-block permuters and the terminals of the second side ( 102 ) may be memory buffers, or vice versa.
  • the terminals of the first side ( 101 ) may be a posteriori probability (APP) decoders and the terminals of the second side ( 102 ) may be memory buffers, or vice versa.
  • APP posteriori probability
  • terminals or nodes may be used after the procedure of “folding and combination” in FIG. 2 .
  • FIG. 2 and FIG. 4 for an example of “folding and combination.”
  • the “folding and combination” may be performed on either side of the network but never between sides. That is, terminals ( 103 - 1 ) may be combined with terminal ( 103 - 2 ), ( 103 - 3 ) or ( 103 - 4 ) but never with terminal ( 104 - 9 ), ( 104 - 10 ), ( 104 - 11 ) or ( 104 - 12 ).
  • a terminal of the terminals of the first side may be combined with another terminal of the first side
  • a terminal of the terminals of the second side may be combined with another terminal of the second side. Accordingly, a node of the nodes in a column of said columns may be combined with another node in the same column.
  • a preferred “folding and combination” is shown in FIG.
  • terminals ( 103 - 9 ) of FIG. 4 for example, terminals ( 103 - 5 ) and ( 103 - 7 ) are still represented as individual components in the terminal ( 103 - 9 ).
  • the terminals ( 103 - 5 ) and ( 103 - 7 ) may be seamlessly merged (or “unified”) into the terminal ( 103 - 9 ) and map be distinguished by “mapping”, which means, in the case that they are memory buffers, a connection ( 401 ) is mapped to access a certain range of addresses (representing terminal ( 103 - 5 )) and a connection ( 402 ) is mapped to another (representing terminal ( 103 - 7 ).)
  • the concept is the same for a terminal ( 103 - 10 ).
  • connections between the nodes and the terminals are combined to form a single connection, if the connections overlap and are identical. For instance, under the assumption that the mapping can be done within the terminal ( 103 - 9 ), connections ( 401 ) and ( 402 ) can be combined into a single connection. Similarly, connections between the nodes are combined to form a single connection, if the connections overlap and are identical. For instance, connections ( 403 ) and ( 404 ) can be combined into a single connection in FIG. 4 . These are conventional techniques and detailed explanation is not necessary.
  • FIG. 5 two or more said networks can be connected to each other in the manner that each terminal of the first side ( 101 ) of a network serves to be connected to a terminal of another network at the second side ( 102 ), or similarly, each terminal of the second side ( 102 ) of a network serves to be connected to a terminal of another network at the first side ( 101 ).
  • FIG. 5A and FIG. 5B illustrate two different networks, which are both covered by the present invention.
  • FIG. 5A are connected to terminals ( 501 - 1 ), ( 501 - 2 ), ( 501 - 3 ) and ( 501 - 4 ) of the network in FIG. 5B , respectively.
  • FIG. 5C practically the structure in FIG. 5C ) can be simplified to become the structure of FIG. 5D ) by combining terminals ( 103 - 1 ) with ( 501 - 1 ), ( 103 - 2 ) with ( 501 - 2 ), ( 103 - 3 ) with ( 501 - 3 ), and ( 103 - 4 ) with ( 501 - 4 ).
  • the new nodes after said combination are denoted as ( 504 - 1 ), ( 504 - 2 ), ( 504 - 3 ) and ( 504 - 4 ), respectively.
  • Each of the nodes ( 504 - 1 ), ( 504 - 2 ), ( 504 - 3 ) and ( 504 - 4 ) can work like an ordinary node with switching functions as stated before, or with an additional function of buffering.
  • the network in FIG. 5D is often called “pipelined-staged” in the art.
  • FIG. 6 is a diagram illustrating a method of operating a butterfly network according to an example of the present invention.
  • the method may include: determining a direction that a data flow from a first side to a second side through the butterfly network (a); determining control elements of control signals and the quantity of the control elements corresponding to said first number (b); selecting each of the control elements is associated with one of the switching operations of the nodes as switches (c); providing a control sequence composed of the control signals arranged in a row (d); reading at least one of the control signals for all the nodes (e); inputting a data flow to be manipulated to the butterfly network (f); performing a switching operation of the switching operations for the nodes according to the control element of the control signals read (g); and transferring at least one part of the data flow from the first side to the second side through paths established by the switching operations of the nodes (h).
  • the control elements determine what can be included in any of the control signals.
  • Each of the control elements can be represented by a binary number, or a number within a limited numerical range or set.
  • the control signals are composed of binary control elements.
  • the control elements are set to be “0” and “1.”
  • the control elements may be chosen within a set of numbers, such as a set of “100”, “0” and “ ⁇ 100”, in order to alleviate signal deterioration due to the presence of noise.
  • some or all of the nodes of a column in the butterfly network can be switched to output data through horizontal connections upon receipt of the control element “0” and through oblique connections upon receipt of the control element “1”, or vice versa.
  • FIG. 2 four sets of available signal paths can be derived since under the circumstance that all switching nodes on the same column are set to output data through either horizontally upon receipt of one of the control elements or output data at oblique connection upon receipt of another of the control elements.
  • the first set may include paths 201 , 203 , 206 , 208 , 209 , 212 , 213 and 216 .
  • the second set may include paths 201 , 203 , 206 , 208 , 210 , 211 , 214 and 215 .
  • the third set may include paths 202 , 204 , 205 , 207 , 209 , 212 , 213 and 216 .
  • the fourth set may include paths 202 , 204 , 205 , 207 , 210 , 211 , 214 and 215 . It should be noted that the four sets of paths illustrated above are just an example. For certain purposes, more than one set of paths can be activated at a time. One can assign each of switching nodes within a column different actions upon receipt of an identical control element.
  • node 104 - 1 outputs data horizontally and node 104 - 2 outputs data obliquely both upon receipt of the control element “0.”
  • the quantity of the control elements may equal to the first number for that the first number represents the number of possible choices of the switching operations. Therefore, only one control element is required to control switching of a plurality of nodes.
  • step (f) is repeated for reading another control signal, and subsequently performing steps (g) and (h) until the whole data flow is transmitted.
  • the number of control signals in the control sequence is 4, which is identical to the number of data elements in each of the input sequences.
  • the control sequence may be shorter or longer than the length of each of the input sequences for various purposes such as efficiency or security. If a control sequence is shorter than the length of each of the input sequences, at least one of the control signals is read more than once at the step (f), and used by more than one step (g). For example, the control sequence can be used again from the beginning if all 4 control signals are used and a fifth control signal is requested. On the contrary, at least one of the control signals may not be read in step (f) if the control sequence is longer than the length of each of the input sequences. Whether a control signal is used or not can depend on a security algorithm, for example.
  • the method of the present invention is particularly designed for permutation or de-permutation utilized in channel coding algorithms, wherein the data flow can be permuted in an encoder and permuted/de-permutated in a decoder. Note that permutations and de-permutations can both be performed in the decoder due to the internal algorithm of the decoder. De-permutations are actually performed in the same way as the permutations discussed above. As what can be seen from FIG.
  • the data flow manipulated by said method can be de-permuted to be the data flow of step (e) (the input sequences ( 705 , 706 , 707 , 708 )) by repeating said method again by providing a control sequence comprising contents identical to the control sequence.
  • step (e) the input sequences ( 705 , 706 , 707 , 708 )
  • control sequence comprising contents identical to the control sequence.
  • the direction of de-permutation is not necessary from the second side to the first side. It can also be performed from the first side to the second side with the same control sequence, which further simplifies manufacturing and broadens applications because an identical design of the network can be used in both an encoder side and a decoder side.
  • control sequence can be made different between two or more encoder-decoder pairs, and the control sequence can be applied in turbo code.
  • an encoder can be repeatedly used in more than one encoder-decoder pairs.
  • LDPC code can apply the same concept to construct a parity-check matrices.
  • control sequence can also be applied in LDPC code to attain the purpose of heightening security.
  • a third party without holding the correct control sequence cannot convert the manipulated data flow into original one, even if the transmission is intercepted between the encoder and decoder.
  • the control sequence is encrypted when delivered from the encoder to the decoder.
  • the term “delivered” is not limited to wireless communication.
  • the encoder is a wireless service provider and the decoder is an user
  • the control sequence can be delivered to the user by a mailed security data sheet (or card), encrypted Internet connection, and so on.

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)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Selective Calling Equipment (AREA)
  • Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)

Abstract

A butterfly network for channel coding permutation and de-permutation. The butterfly network may include a first side and a second side, wherein each of the first side and second side has at least one terminal and two or more columns of nodes located between the first and second sides, wherein a first column of the columns may interface the first side, a second column of the columns may interface the second side and each of the columns comprises at least one node, wherein each node of the columns may be connected to a first number of nodes in each of adjacent columns next to the columns, and said first number may be identical for all the nodes in the network, and wherein the nodes which may be selected as switches are concurrently controlled to perform switching operations.

Description

    BACKGROUND OF THE INVENTION
  • The present invention relates to a network for permutation or de-permutation, especially a butterfly network for permutation or de-permutation utilized by channel coding and a channel coding security concept thereof.
  • Turbo Code (TC), which is an example of the so-called channel coding, was invented in 1993 and can produce a near Shannon limit performance by applying an iterative decoding algorithm. In co-pending U.S. patent application Ser. No. 11/176,829 by Zheng et. al., innovative encoder and decoder designs were presented with real-time performance, wherein inter-sequence permutation and intra-sequence permutation are both utilized. Conventionally, many algorithms, e.g. lookup tables, can be used in performing permutations, but they are either complex or inflexible, and a new algorithm is preferred.
  • A so-called “butterfly network” is used to perform a method to illustrate FFT (Fast Fourier Transform), which is intensively used in the field of signal processing. However, its concept is also applied in other fields, for instance, U.S. Pat. No. 6,618,371 B1 and US Publication No. 2006/0039555 A1. In U.S. Pat. No. 6,618,371 B1, the butterfly network is used to create two independent paths ending at the same point for the purposes of load balancing, fault tolerance, or multicasting. In US Publication No. 2006/0039555 A1, the butterfly network is used in performing arbitrary permutation of a sequence in a processor. However, none of the prior art references applies the concept in the field of channel coding permutation and de-permutation.
  • The present invention provides an innovative but simple algorithm and hardware architecture for performing inter-sequence permutation at either the encoder end or decoder end with this concept. Preferably, the channel coding applying this concept is referred as “ZYX code” hereinafter.
  • BRIEF SUMMARY OF THE INVENTION
  • Examples of the present invention may provide a butterfly network for channel coding permutation and de-permutation. The butterfly network may include a first side and a second side. Each of the first side and the second side may have at least one terminal. The butterfly network may further include two or more columns of nodes located between the first side and the second side. A first column of the columns may interface the first side, and a second column of the columns may interface the second side. Each of the columns may include at least one node. Each node of the columns may be connected to a first number of nodes of each of adjacent columns to the columns. The first number may be identical for all the nodes in the butterfly network. The nodes that are selected as switches may be concurrently controlled to perform switching operations.
  • Some examples of the present invention may also provide a butterfly network for channel coding permutation and de-permutation. The butterfly network may include a first side and a second side, wherein each of the first side and second side has at least one terminal, two or more columns of nodes located between the first and second sides, wherein a first column of the columns interfaces the first side, a second column of the columns interfaces the second side and each of the columns comprises at least one node, wherein each node of one of the columns is connected to at least one node of an adjacent column next to the one of the columns, and wherein the nodes which are selected as switches are concurrently controlled to perform switching operations.
  • Additional features and advantages of the present invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The features and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims.
  • It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
  • BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
  • The foregoing summary, as well as the following detailed description of the invention, will be better understood when read in conjunction with the appended drawings. For the purpose of illustrating the invention, there are shown in the drawings examples which are presently preferred. It should be understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown.
  • In the drawings:
  • FIG. 1 is a diagram illustrating a network adopting a butterfly network according to an example of the present invention;
  • FIG. 2 is a diagram illustrating an expanded network adopting three columns of nodes and the butterfly network according to another example of the present invention;
  • FIG. 3 is a diagram illustrating a butterfly network expanded by an Omega network according to still another example of the present invention;
  • FIG. 4 is a diagram illustrating an exemplary butterfly network of FIG. 2 after “folding and combination”;
  • FIG. 5 is a diagram illustrating an exemplary pipelined-staged butterfly network formed by combining two networks at terminals according to yet another example of the present invention.;
  • FIG. 6 is a flow chart illustrating a method of operating a butterfly network for channel coding permutation and de-permutation according to other example of the present invention; and
  • FIG. 7 is a diagram illustrating actual operations of the method shown in FIG. 6.
  • DETAILED DESCRIPTION OF THE INVENTION
  • Reference will now be made in detail to the present examples of the invention illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like portions.
  • FIG. 1 is a diagram illustrating a butterfly network (100) according to an example of the present invention. Refer to FIG. 1, a basic structure of the butterfly network (100) may comprise a first side (101) and a second side (102). Each of the first side (101) and second side (102) may have 4 terminals (103). The butterfly network (100) may comprise two columns (105, 106) of nodes (104) located between the first and second sides (101, 102). A first column (105) may interface the first side (101) and a second column (106) may interface the second side (102). Each of the columns (105, 106) may comprise 4 nodes (104), wherein each of the nodes (104) may be connected to a first number of the nodes (104) (e.g. 2) of each of columns adjacent to the columns (105, 106), and the first number may be identical for all the nodes in the butterfly network (100). The nodes that are selected as switches may be concurrently controlled to perform switching operations.
  • In one example, each of the columns (105, 106) may comprise a second number of nodes being identical for each of the columns. In some examples, the second number may be different for each column. One reason for making the second number different for each column is memory management, and part of such examples will be discussed later in the specification.
  • Between the nodes (105, 106) and the terminals (103), certain logics of connection may exist. For example, the terminals of the first side (101) and second side (102) may have an exclusive node in the first column (105) and second column (106) respectively, and each of the terminals may be connected to each of the exclusive nodes. That is, one terminal may be connected to only one node and this node may be exclusively connected to this terminal in the present invention. However, exceptions may exist, for example, for the purpose of memory management, which will also be discussed later in the specification.
  • In the first paragraph of “DETAILED DESCRIPTION OF THE INVENTION”, a person of ordinary knowledge in related fields should understand that connections between nodes, and between nodes and terminals are not limited to the present invention, which is in the form of a FFT butterfly network. For example, referring to FIG. 2, the FFT butterfly network may be expanded to comprise more columns, or the Omega network in FIG. 3 may be adopted instead. In addition, ordinary Benes network and a fat tree network may be two possible alternatives. Even a network interiorly applying a p-by-p fully connected switching instead of a 2-by-2 fully connected switching can be used, where p is a positive integer. For example: Winograd Fourier Transform may use a network which applies p-by-p fully connected sub-network. It is easy to understand that many alternative patterns of connections all fall within the scope of the present invention as long as essential elements in the appended independent claims are utilized.
  • Also in the first paragraph of “DETAILED DESCRIPTION OF THE INVENTION”, the nodes that are selected as switches may be concurrently controlled to perform switching operations. For example in FIG. 1, assuming a direction of a data flow is from the first side (101) to the second side (103), the nodes selected as switches are the nodes of the first column (105), wherein every node may have two different switching operations because every node of the first column (105) may have two choices (flowing horizontally or obliquely) to output the data flow through the butterfly network. Therefore, all nodes may be concurrently controlled to perform one of possible switching operations.
  • One skilled in the art may have noted that every node of the second column (106) has only one choice to output the data flow through the butterfly network. Therefore, every node of the second column (106) may not serve as a switch. However, some or all of the nodes of the second column (106) may serve as switches if said some or all of the nodes outputting data to more than one terminal (103) in some examples.
  • The terminals of the first side (101) may be intra-block permuters and the terminals of the second side (102) may be memory buffers, or vice versa.
  • The terminals of the first side (101) may be a posteriori probability (APP) decoders and the terminals of the second side (102) may be memory buffers, or vice versa.
  • In one example, for purposes of memory management, cost saving, space saving, fewer terminals or nodes may be used after the procedure of “folding and combination” in FIG. 2. Please refer to FIG. 2 and FIG. 4 for an example of “folding and combination.” The “folding and combination” may be performed on either side of the network but never between sides. That is, terminals (103-1) may be combined with terminal (103-2), (103-3) or (103-4) but never with terminal (104-9), (104-10), (104-11) or (104-12). Moreover, a terminal of the terminals of the first side may be combined with another terminal of the first side, and a terminal of the terminals of the second side may be combined with another terminal of the second side. Accordingly, a node of the nodes in a column of said columns may be combined with another node in the same column. A preferred “folding and combination” is shown in FIG. 4, in which the terminal (103-5) is combined with the terminal (103-7), the terminal (103-6) is combined with the terminal (103-8), and the node (104-5) is combined with the node (104-7), the node (104-6) is combined with the node (104-8), accordingly. In FIG. 4, dotted lines represent connections that are moved. Node (104-13) is generated by a combination of nodes (104-5) and (104-7), and so forth for nodes (104-14), (104-15) and (104-16). As for the second side, only two terminals are left now: terminals (103-9) and (103-10), which are combinations of terminals (103-5), (103-7), and terminals (103-6), (103-8), respectively. Take terminal (103-9) of FIG. 4 for example, terminals (103-5) and (103-7) are still represented as individual components in the terminal (103-9). However, practically the terminals (103-5) and (103-7) may be seamlessly merged (or “unified”) into the terminal (103-9) and map be distinguished by “mapping”, which means, in the case that they are memory buffers, a connection (401) is mapped to access a certain range of addresses (representing terminal (103-5)) and a connection (402) is mapped to another (representing terminal (103-7).) The concept is the same for a terminal (103-10).
  • Again in FIG. 4, connections between the nodes and the terminals are combined to form a single connection, if the connections overlap and are identical. For instance, under the assumption that the mapping can be done within the terminal (103-9), connections (401) and (402) can be combined into a single connection. Similarly, connections between the nodes are combined to form a single connection, if the connections overlap and are identical. For instance, connections (403) and (404) can be combined into a single connection in FIG. 4. These are conventional techniques and detailed explanation is not necessary.
  • As shown in FIG. 5, two or more said networks can be connected to each other in the manner that each terminal of the first side (101) of a network serves to be connected to a terminal of another network at the second side (102), or similarly, each terminal of the second side (102) of a network serves to be connected to a terminal of another network at the first side (101). FIG. 5A and FIG. 5B illustrate two different networks, which are both covered by the present invention. In FIG. 5C, terminals (103-1), (103-2), (103-3) and (103-4) of the network in FIG. 5A are connected to terminals (501-1), (501-2), (501-3) and (501-4) of the network in FIG. 5B, respectively. For persons skilled in the art, practically the structure in FIG. 5C) can be simplified to become the structure of FIG. 5D) by combining terminals (103-1) with (501-1), (103-2) with (501-2), (103-3) with (501-3), and (103-4) with (501-4). The new nodes after said combination are denoted as (504-1), (504-2), (504-3) and (504-4), respectively. Each of the nodes (504-1), (504-2), (504-3) and (504-4) can work like an ordinary node with switching functions as stated before, or with an additional function of buffering. The network in FIG. 5D is often called “pipelined-staged” in the art.
  • FIG. 6 is a diagram illustrating a method of operating a butterfly network according to an example of the present invention. The method may include: determining a direction that a data flow from a first side to a second side through the butterfly network (a); determining control elements of control signals and the quantity of the control elements corresponding to said first number (b); selecting each of the control elements is associated with one of the switching operations of the nodes as switches (c); providing a control sequence composed of the control signals arranged in a row (d); reading at least one of the control signals for all the nodes (e); inputting a data flow to be manipulated to the butterfly network (f); performing a switching operation of the switching operations for the nodes according to the control element of the control signals read (g); and transferring at least one part of the data flow from the first side to the second side through paths established by the switching operations of the nodes (h).
  • The control elements determine what can be included in any of the control signals. Each of the control elements can be represented by a binary number, or a number within a limited numerical range or set. For example, in a digital system, the control signals are composed of binary control elements. The control elements are set to be “0” and “1.” In some communication systems, the control elements may be chosen within a set of numbers, such as a set of “100”, “0” and “−100”, in order to alleviate signal deterioration due to the presence of noise.
  • For instance, some or all of the nodes of a column in the butterfly network can be switched to output data through horizontal connections upon receipt of the control element “0” and through oblique connections upon receipt of the control element “1”, or vice versa. For example, in FIG. 2, four sets of available signal paths can be derived since under the circumstance that all switching nodes on the same column are set to output data through either horizontally upon receipt of one of the control elements or output data at oblique connection upon receipt of another of the control elements. The first set may include paths 201, 203, 206, 208, 209, 212, 213 and 216. The second set may include paths 201, 203, 206, 208, 210, 211, 214 and 215. The third set may include paths 202, 204, 205, 207, 209, 212, 213 and 216. The fourth set may include paths 202, 204, 205, 207, 210, 211, 214 and 215. It should be noted that the four sets of paths illustrated above are just an example. For certain purposes, more than one set of paths can be activated at a time. One can assign each of switching nodes within a column different actions upon receipt of an identical control element. For instance, node 104-1 outputs data horizontally and node 104-2 outputs data obliquely both upon receipt of the control element “0.” Note that normally the quantity of the control elements may equal to the first number for that the first number represents the number of possible choices of the switching operations. Therefore, only one control element is required to control switching of a plurality of nodes.
  • Furthermore, if the data flow is not completely transmitted, normally step (f) is repeated for reading another control signal, and subsequently performing steps (g) and (h) until the whole data flow is transmitted.
  • In this example, the number of control signals in the control sequence is 4, which is identical to the number of data elements in each of the input sequences. However, in some cases, the control sequence may be shorter or longer than the length of each of the input sequences for various purposes such as efficiency or security. If a control sequence is shorter than the length of each of the input sequences, at least one of the control signals is read more than once at the step (f), and used by more than one step (g). For example, the control sequence can be used again from the beginning if all 4 control signals are used and a fifth control signal is requested. On the contrary, at least one of the control signals may not be read in step (f) if the control sequence is longer than the length of each of the input sequences. Whether a control signal is used or not can depend on a security algorithm, for example.
  • The method of the present invention is particularly designed for permutation or de-permutation utilized in channel coding algorithms, wherein the data flow can be permuted in an encoder and permuted/de-permutated in a decoder. Note that permutations and de-permutations can both be performed in the decoder due to the internal algorithm of the decoder. De-permutations are actually performed in the same way as the permutations discussed above. As what can be seen from FIG. 6, the data flow manipulated by said method (permuted sequences (709, 710, 711, 712)) can be de-permuted to be the data flow of step (e) (the input sequences (705, 706, 707, 708)) by repeating said method again by providing a control sequence comprising contents identical to the control sequence. Note that the direction of de-permutation is not necessary from the second side to the first side. It can also be performed from the first side to the second side with the same control sequence, which further simplifies manufacturing and broadens applications because an identical design of the network can be used in both an encoder side and a decoder side.
  • For the purpose of security, the control sequence can be made different between two or more encoder-decoder pairs, and the control sequence can be applied in turbo code. In the case that multiple encoder-decoder pairs are utilized, an encoder can be repeatedly used in more than one encoder-decoder pairs. LDPC code can apply the same concept to construct a parity-check matrices. In a broad sense the control sequence can also be applied in LDPC code to attain the purpose of heightening security. In such a design, a third party without holding the correct control sequence cannot convert the manipulated data flow into original one, even if the transmission is intercepted between the encoder and decoder. Preferably, the control sequence is encrypted when delivered from the encoder to the decoder. The term “delivered” is not limited to wireless communication. For example, if the encoder is a wireless service provider and the decoder is an user, the control sequence can be delivered to the user by a mailed security data sheet (or card), encrypted Internet connection, and so on.
  • It will be appreciated by those skilled in the art that although in describing the above examples the specification may take the 4×4 block as the examples. However, it will be appreciated by those skilled in the art that the method of the present invention may also be capable of applying to an 8×8 block, 16×16 block or any other possible type of blocks in an H.264 video sequence. Therefore in the type of the block applied in the examples should not be construed as limitations on the claims.
  • Furthermore, in describing representative examples of the present invention, the specification may have presented the method and/or process of the present invention as a particular sequence of steps. However, to the extent that the method or process does not rely on the particular order of steps set forth herein, the method or process should not be limited to the particular sequence of steps described. As one of ordinary skill in the art would appreciate, other sequences of steps may be possible. Therefore, the particular order of the steps set forth in the specification should not be construed as limitations on the claims. In addition, the claims directed to the method and/or process of the present invention should not be limited to the performance of their steps in the order written, and one skilled in the art can readily appreciate that the sequences may be varied and still remain within the spirit and scope of the present invention.
  • It will be appreciated by those skilled in the art that changes could be made to the examples described above without departing from the broad inventive concept thereof. It is understood, therefore, that this invention is not limited to the particular examples disclosed, but it is intended to cover modifications within the spirit and scope of the present invention as defined by the appended claims.

Claims (19)

1. A butterfly network for channel coding permutation and de-permutation, the butterfly network comprising:
a first side and a second side, wherein each of the first side and second side has at least one terminal; and
two or more columns of nodes located between the first and second sides, wherein a first column of the columns interfaces the first side, a second column of the columns interfaces the second side and each of the columns comprises at least one node,
wherein each node of the columns is connected to a first number of nodes in each of adjacent columns next to the columns, and said first number is identical for all the nodes in the network, and
wherein the nodes which are selected as switches are concurrently controlled to perform switching operations.
2. The butterfly network of claim 1, wherein each of the columns comprises a second number of nodes and the second number is identical for each of the columns.
3. The butterfly network of claim 1, wherein the terminals of the first side and second side have an exclusive node in the first column and second column, respectively, and each of the terminals is connected to each of the exclusive nodes.
4. The butterfly network of claim 1, wherein a terminal of the terminals of the first side is combined with another terminal of the first side, and a terminal of the terminals of the second side is combined with another terminal of the second side.
5. The butterfly network of claim 1, wherein a node of the nodes in a column of the columns is combined with another node in the same column.
6. The butterfly network of claim 4, wherein the connections between the nodes and the terminals are combined to form a single connection, if the connections overlap and are identical.
7. The butterfly network of claim 5, wherein the connections between the nodes are combined to form a single connection, if said connections overlap and are identical.
8. The butterfly network of claim 1, wherein the nodes which are selected as switches are nodes of the first column, if a predetermined direction of data flow through the network is from the first side to the second side.
9. The butterfly network of claim 1, wherein the terminals of the first side or the second side are intra-block permuters and the terminals of the other side are memory buffers, wherein the other side of the first side is the second side and vise versa.
10. The butterfly network of claim 1, wherein the terminals of the first side or the second side are a posteriori probability (APP) decoders and the terminals of the other side are memory buffers, wherein the other side of the first side is the second side and vise versa.
11. A butterfly network for channel coding permutation and de-permutation, the butterfly network comprising:
a first side and a second side, wherein each of the first side and second side has at least one terminal; and
two or more columns of nodes located between the first and second sides, wherein a first column of the columns interfaces the first side, a second column of the columns interfaces the second side and each of the columns comprises at least one node,
wherein each node of one of the columns is connected to at least one node of an adjacent column next to the one of the columns, and
wherein the nodes which are selected as switches are concurrently controlled to perform switching operations.
12. The butterfly network of claim 11, wherein the terminals of the first side and second side have an exclusive node in the first column and second column, respectively, and each of the terminals is connected to each of the exclusive nodes.
13. The butterfly network of claim 11, wherein a terminal of the terminals of the first side is combined with another terminal of the first side, and a terminal of the terminals of the second side is combined with another terminal of the second side.
14. The butterfly network of claim 11, wherein a node of the nodes in a column of the columns is combined with another node in the same column.
15. The butterfly network of claim 14, wherein the connections between the nodes and the terminals are combined to form a single connection, if the connections overlap and are identical.
16. The butterfly network of claim 15, wherein the connections between the nodes are combined to form a single connection, if said connections overlap and are identical.
17. The butterfly network of claim 11, wherein the nodes which are selected as switches are nodes of the first column, if a predetermined direction of data flow through the network is from the first side to the second side.
18. The butterfly network of claim 11, wherein the terminals of the first side or the second side are intra-block permuters and the terminals of the other side are memory buffers,
wherein the other side of the first side is the second side and vise versa.
19. The butterfly network of claim 11, wherein the terminals of the first side or the second side are a posteriori probability (APP) decoders and the terminals of the other side are memory buffers,
wherein the other side of the first side is the second side and vise versa.
US12/057,283 2006-04-28 2008-03-27 Butterfly network for permutation or de-permutation utilized by channel algorithm Abandoned US20090168801A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/057,283 US20090168801A1 (en) 2006-04-28 2008-03-27 Butterfly network for permutation or de-permutation utilized by channel algorithm

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/414,433 US7856579B2 (en) 2006-04-28 2006-04-28 Network for permutation or de-permutation utilized by channel coding algorithm
US12/057,283 US20090168801A1 (en) 2006-04-28 2008-03-27 Butterfly network for permutation or de-permutation utilized by channel algorithm

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/414,433 Division US7856579B2 (en) 2005-07-07 2006-04-28 Network for permutation or de-permutation utilized by channel coding algorithm

Publications (1)

Publication Number Publication Date
US20090168801A1 true US20090168801A1 (en) 2009-07-02

Family

ID=38437366

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/414,433 Expired - Fee Related US7856579B2 (en) 2005-07-07 2006-04-28 Network for permutation or de-permutation utilized by channel coding algorithm
US12/057,283 Abandoned US20090168801A1 (en) 2006-04-28 2008-03-27 Butterfly network for permutation or de-permutation utilized by channel algorithm

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/414,433 Expired - Fee Related US7856579B2 (en) 2005-07-07 2006-04-28 Network for permutation or de-permutation utilized by channel coding algorithm

Country Status (4)

Country Link
US (2) US7856579B2 (en)
EP (1) EP1850521A3 (en)
CN (1) CN101064517B (en)
TW (2) TWI376885B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090187746A1 (en) * 2008-01-22 2009-07-23 Arm Limited Apparatus and method for performing permutation operations on data

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7856579B2 (en) * 2006-04-28 2010-12-21 Industrial Technology Research Institute Network for permutation or de-permutation utilized by channel coding algorithm
US20070011557A1 (en) * 2005-07-07 2007-01-11 Highdimension Ltd. Inter-sequence permutation turbo code system and operation methods thereof
US7797615B2 (en) * 2005-07-07 2010-09-14 Acer Incorporated Utilizing variable-length inputs in an inter-sequence permutation turbo code system
US8359515B2 (en) * 2009-12-02 2013-01-22 Lsi Corporation Forward substitution for error-correction encoding and the like
CN107276717B (en) * 2010-10-08 2020-06-26 黑莓有限公司 Message rearrangement for improved code performance
US8769365B2 (en) 2010-10-08 2014-07-01 Blackberry Limited Message rearrangement for improved wireless code performance
US9432180B2 (en) 2011-06-03 2016-08-30 Harris Corporation Method and system for a programmable parallel computation and data manipulation accelerator
KR102127021B1 (en) 2012-05-11 2020-06-26 블랙베리 리미티드 Method and system for uplink harq and csi multiplexing for carrier aggregation
US10686729B2 (en) 2017-03-29 2020-06-16 Fungible, Inc. Non-blocking any-to-any data center network with packet spraying over multiple alternate data paths
CN110710172A (en) * 2017-03-29 2020-01-17 芬基波尔有限责任公司 Multiplexing non-blocking arbitrary to arbitrary data center networks of packet injection within a group of access nodes
CN110710139A (en) 2017-03-29 2020-01-17 芬基波尔有限责任公司 Non-blocking full mesh data center network with optical displacers

Citations (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4400768A (en) * 1980-06-04 1983-08-23 Burroughs Corporation Parallel access computer memory system employing a power-of-two memory modules
US5224100A (en) * 1991-05-09 1993-06-29 David Sarnoff Research Center, Inc. Routing technique for a hierarchical interprocessor-communication network between massively-parallel processors
US5530707A (en) * 1994-03-09 1996-06-25 At&T Corp. Area-efficient decoders for rate-k/n convolutional codes and other high rate trellis codes
US5734962A (en) * 1996-07-17 1998-03-31 General Electric Company Satellite communications system utilizing parallel concatenated coding
US5815515A (en) * 1996-03-28 1998-09-29 Lsi Logic Corporation Edge metric calculation method and apparatus using permutations
US6044116A (en) * 1998-10-29 2000-03-28 The Aerospace Corporation Error-floor mitigated and repetitive turbo coding communication system
US20020159423A1 (en) * 2001-02-28 2002-10-31 Iwen Yao Interleaver for turbo decoder
US6477680B2 (en) * 1998-06-26 2002-11-05 Agere Systems Inc. Area-efficient convolutional decoder
US20030002474A1 (en) * 2001-03-21 2003-01-02 Thomas Alexander Multi-stream merge network for data width conversion and multiplexing
US20030041293A1 (en) * 2001-08-27 2003-02-27 Industrial Technology Research Institute Encoding and decoding apparatus and method
US20030058954A1 (en) * 2001-05-31 2003-03-27 Allen He Method and apparatus for a complementary encoder/decoder
US6553516B1 (en) * 1999-02-19 2003-04-22 Ntt Mobile Communications Network, Inc. Interleaving method, interleaving apparatus, turbo encoding method, and turbo encoder
US6603412B2 (en) * 2001-06-08 2003-08-05 Texas Instruments Incorporated Interleaved coder and method
US20030154343A1 (en) * 2001-12-25 2003-08-14 Takashi Yokokawa Interleaving apparatus and interleaving method, encoding apparatus and encoding method, and decoding apparatus and decoding mehtod
US6618371B1 (en) * 1999-06-08 2003-09-09 Cisco Technology, Inc. Butterfly network with switches set for two node disjoint paths and method for forming the paths
US6728927B2 (en) * 2000-05-26 2004-04-27 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communications Research Centre Method and system for high-spread high-distance interleaving for turbo-codes
US6745362B1 (en) * 1998-07-31 2004-06-01 France Telecom Method and device for error correction coding and corresponding decoding method and device
US20050216700A1 (en) * 2004-03-26 2005-09-29 Hooman Honary Reconfigurable parallelism architecture
US6957375B2 (en) * 2003-02-26 2005-10-18 Flarion Technologies, Inc. Method and apparatus for performing low-density parity-check (LDPC) code operations using a multi-level permutation
US6961888B2 (en) * 2002-08-20 2005-11-01 Flarion Technologies, Inc. Methods and apparatus for encoding LDPC codes
US20060039555A1 (en) * 2000-05-05 2006-02-23 Lee Ruby B Method and system for performing permutations using permutation instructions based on butterfly networks
US7058874B2 (en) * 2002-05-24 2006-06-06 Lucent Technologies Inc. Interleaver address generator and method of generating an interleaver address
US7137044B2 (en) * 2002-02-06 2006-11-14 Samsung Electronics Co., Ltd. Interleaver and interleaving method in a communication system
US7155642B2 (en) * 2000-09-29 2006-12-26 Samsung Electronics Co., Ltd. Interleaver for a turbo encoder in an UMTS and method for performing interleaving
US7180968B2 (en) * 2000-08-31 2007-02-20 Sony Corporation Soft-output decoding
US20070255849A1 (en) * 2006-04-28 2007-11-01 Yan-Xiu Zheng Network for permutation or de-permutation utilized by channel coding algorithm

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4754394A (en) 1984-10-24 1988-06-28 International Business Machines Corporation Multiprocessing system having dynamically allocated local/global storage and including interleaving transformation circuit for transforming real addresses to corresponding absolute address of the storage
JPH063589B2 (en) 1987-10-29 1994-01-12 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン Address replacement device
AU2001288209A1 (en) * 2000-05-05 2001-11-26 Ruby B. Lee A method and system for performing permutations using permutation instructions based on modified omega and flip stages
US20070011557A1 (en) 2005-07-07 2007-01-11 Highdimension Ltd. Inter-sequence permutation turbo code system and operation methods thereof

Patent Citations (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4400768A (en) * 1980-06-04 1983-08-23 Burroughs Corporation Parallel access computer memory system employing a power-of-two memory modules
US5224100A (en) * 1991-05-09 1993-06-29 David Sarnoff Research Center, Inc. Routing technique for a hierarchical interprocessor-communication network between massively-parallel processors
US5530707A (en) * 1994-03-09 1996-06-25 At&T Corp. Area-efficient decoders for rate-k/n convolutional codes and other high rate trellis codes
US5815515A (en) * 1996-03-28 1998-09-29 Lsi Logic Corporation Edge metric calculation method and apparatus using permutations
US5734962A (en) * 1996-07-17 1998-03-31 General Electric Company Satellite communications system utilizing parallel concatenated coding
US6477680B2 (en) * 1998-06-26 2002-11-05 Agere Systems Inc. Area-efficient convolutional decoder
US6745362B1 (en) * 1998-07-31 2004-06-01 France Telecom Method and device for error correction coding and corresponding decoding method and device
US6044116A (en) * 1998-10-29 2000-03-28 The Aerospace Corporation Error-floor mitigated and repetitive turbo coding communication system
US6553516B1 (en) * 1999-02-19 2003-04-22 Ntt Mobile Communications Network, Inc. Interleaving method, interleaving apparatus, turbo encoding method, and turbo encoder
US6618371B1 (en) * 1999-06-08 2003-09-09 Cisco Technology, Inc. Butterfly network with switches set for two node disjoint paths and method for forming the paths
US20060039555A1 (en) * 2000-05-05 2006-02-23 Lee Ruby B Method and system for performing permutations using permutation instructions based on butterfly networks
US6728927B2 (en) * 2000-05-26 2004-04-27 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communications Research Centre Method and system for high-spread high-distance interleaving for turbo-codes
US7180968B2 (en) * 2000-08-31 2007-02-20 Sony Corporation Soft-output decoding
US7155642B2 (en) * 2000-09-29 2006-12-26 Samsung Electronics Co., Ltd. Interleaver for a turbo encoder in an UMTS and method for performing interleaving
US20020159423A1 (en) * 2001-02-28 2002-10-31 Iwen Yao Interleaver for turbo decoder
US6845482B2 (en) * 2001-02-28 2005-01-18 Qualcomm Incorporated Interleaver for turbo decoder
US20030002474A1 (en) * 2001-03-21 2003-01-02 Thomas Alexander Multi-stream merge network for data width conversion and multiplexing
US20030058954A1 (en) * 2001-05-31 2003-03-27 Allen He Method and apparatus for a complementary encoder/decoder
US6603412B2 (en) * 2001-06-08 2003-08-05 Texas Instruments Incorporated Interleaved coder and method
US20050076286A1 (en) * 2001-08-27 2005-04-07 Yan-Xiu Zheng Encoding and decoding apparatus and method
US20050071727A1 (en) * 2001-08-27 2005-03-31 Yan-Xiu Zheng Encoding and decoding apparatus and method
US20050071728A1 (en) * 2001-08-27 2005-03-31 Yan-Xiu Zheng Encoding and decoding apparatus and method
US20030041293A1 (en) * 2001-08-27 2003-02-27 Industrial Technology Research Institute Encoding and decoding apparatus and method
US6944727B2 (en) * 2001-12-25 2005-09-13 Sony Corporation Interleaving apparatus and interleaving method, encoding apparatus and encoding method, and decoding apparatus and decoding method
US20030154343A1 (en) * 2001-12-25 2003-08-14 Takashi Yokokawa Interleaving apparatus and interleaving method, encoding apparatus and encoding method, and decoding apparatus and decoding mehtod
US7137044B2 (en) * 2002-02-06 2006-11-14 Samsung Electronics Co., Ltd. Interleaver and interleaving method in a communication system
US7058874B2 (en) * 2002-05-24 2006-06-06 Lucent Technologies Inc. Interleaver address generator and method of generating an interleaver address
US6961888B2 (en) * 2002-08-20 2005-11-01 Flarion Technologies, Inc. Methods and apparatus for encoding LDPC codes
US6957375B2 (en) * 2003-02-26 2005-10-18 Flarion Technologies, Inc. Method and apparatus for performing low-density parity-check (LDPC) code operations using a multi-level permutation
US20050216700A1 (en) * 2004-03-26 2005-09-29 Hooman Honary Reconfigurable parallelism architecture
US20070255849A1 (en) * 2006-04-28 2007-11-01 Yan-Xiu Zheng Network for permutation or de-permutation utilized by channel coding algorithm

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Mansour et al., "A Novel Design Methodology for High-Performance Programmable Decoder Cores for AA-LDPC Codes", IEEE SIPS Workshop 2003, pp. 29-34. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090187746A1 (en) * 2008-01-22 2009-07-23 Arm Limited Apparatus and method for performing permutation operations on data
US8423752B2 (en) * 2008-01-22 2013-04-16 Arm Limited Apparatus and method for performing permutation operations in which the ordering of one of a first group and a second group of data elements is preserved and the ordering of the other group of data elements is changed

Also Published As

Publication number Publication date
TW200807892A (en) 2008-02-01
EP1850521A3 (en) 2012-09-05
US20070255849A1 (en) 2007-11-01
US7856579B2 (en) 2010-12-21
TWI376885B (en) 2012-11-11
EP1850521A2 (en) 2007-10-31
CN101064517B (en) 2010-09-08
TW200950351A (en) 2009-12-01
CN101064517A (en) 2007-10-31

Similar Documents

Publication Publication Date Title
US20090168801A1 (en) Butterfly network for permutation or de-permutation utilized by channel algorithm
US10452621B2 (en) Network coded storage with multi-resolution codes
Shah et al. Interference alignment in regenerating codes for distributed storage: Necessity and code constructions
EP2160838A1 (en) Multiple access for parallel turbo decoder
WO2009034517A2 (en) Electronic device, barrel shifter unit and method of barrel shifting
TW200929892A (en) Method and apparatus of multi-stage network for iterative decoding
US20230350918A1 (en) Storage Network for Rebuilding Encoded Data Slices and Processing System for Use Therewith
US8024636B2 (en) Serially concatenated convolutional code decoder with a constrained permutation table
US20070208988A1 (en) Methods and devices for randomizing burst errors
US8065587B2 (en) Reduced complexity ARP (almost regular permutation) interleaves providing flexible granularity and parallelism adaptable to any possible turbo code block size
US7236591B2 (en) Method for performing turbo decoding in mobile communication system
US7870458B2 (en) Parallel arrangement of serial concatenated convolutional code decoders with optimized organization of data for efficient use of memory resources
WO2002071625A1 (en) Turbo decoder and turbo decoding method and storage medium where the method is stored
US9374107B1 (en) Time shared protograph LDPC decoder
US11323139B2 (en) Apparatuses and methods for mapping frozen sets between polar codes and product codes
Reehman et al. In-place memory mapping approach for optimized parallel hardware interleaver architectures
CN113986147A (en) RAID6 hardware acceleration circuit structure and RAID6 hardware acceleration implementation method
Mahdaviani et al. Product matrix minimum storage regenerating codes with flexible number of helpers
US7725798B2 (en) Method for recovering information from channel-coded data streams
Marchand Implementation of an LDPC decoder for the DVB-S2,-T2 and-C2 standards
US8327033B2 (en) Method and device for interleaving data
Climent et al. Block Toeplitz matrices for burst-correcting convolutional codes
Lapotre et al. A dynamically reconfigurable multi-ASIP architecture for multistandard and multimode turbo decoding
Ur Reehman et al. A memory mapping approach based on network customization to design conflict-free parallel hardware architectures
KR102306927B1 (en) Area-efficient semi-parallel polar code encoder for long polar codes and implementation method thereof

Legal Events

Date Code Title Description
AS Assignment

Owner name: NATIONAL CHIAO TUNG UNIVERSITY, TAIWAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HIGHDIMENSION LTD.;REEL/FRAME:022128/0065

Effective date: 20071118

AS Assignment

Owner name: NATIONAL CHIAO TUNG UNIVERSITY, TAIWAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:WONG, CHENG-CHI;TANG, CHENG-HAO;LIN, CHIEN-CHING;AND OTHERS;REEL/FRAME:022673/0715;SIGNING DATES FROM 20090325 TO 20090406

AS Assignment

Owner name: HIGHDIMENSION LTD.,TAIWAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ZHENG, YAN-XIU;REEL/FRAME:023895/0027

Effective date: 20080425

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION