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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/033—Theoretical methods to calculate these checking codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/2757—Interleaver with an interleaving rule not provided for in the subgroups H03M13/2703 - H03M13/2753
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/2771—Internal interleaver for turbo codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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/2957—Turbo codes and decoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0064—Concatenated codes
- H04L1/0066—Parallel concatenated codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes 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
Description
- 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.
- 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.
- 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 ofFIG. 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 inFIG. 6 . - 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 toFIG. 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 inFIG. 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 toFIG. 2 andFIG. 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 inFIG. 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. InFIG. 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) ofFIG. 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 inFIG. 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 andFIG. 5B illustrate two different networks, which are both covered by the present invention. InFIG. 5C , terminals (103-1), (103-2), (103-3) and (103-4) of the network inFIG. 5A are connected to terminals (501-1), (501-2), (501-3) and (501-4) of the network inFIG. 5B , respectively. For persons skilled in the art, practically the structure inFIG. 5C ) can be simplified to become the structure ofFIG. 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 inFIG. 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 includepaths paths paths paths - 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)
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)
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)
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)
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)
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 |
-
2006
- 2006-04-28 US US11/414,433 patent/US7856579B2/en not_active Expired - Fee Related
-
2007
- 2007-04-24 EP EP07106882A patent/EP1850521A3/en not_active Withdrawn
- 2007-04-27 CN CN2007100976502A patent/CN101064517B/en not_active Expired - Fee Related
- 2007-04-27 TW TW096114905A patent/TWI376885B/en not_active IP Right Cessation
- 2007-04-27 TW TW098125946A patent/TW200950351A/en unknown
-
2008
- 2008-03-27 US US12/057,283 patent/US20090168801A1/en not_active Abandoned
Patent Citations (31)
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)
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)
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 |