CN105680992A - Construction method of coset partition (n, n(n-1), n-1) permutation group code and code set generator thereof - Google Patents

Construction method of coset partition (n, n(n-1), n-1) permutation group code and code set generator thereof Download PDF

Info

Publication number
CN105680992A
CN105680992A CN201610051144.9A CN201610051144A CN105680992A CN 105680992 A CN105680992 A CN 105680992A CN 201610051144 A CN201610051144 A CN 201610051144A CN 105680992 A CN105680992 A CN 105680992A
Authority
CN
China
Prior art keywords
permutation
output
code
parallel
input
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.)
Granted
Application number
CN201610051144.9A
Other languages
Chinese (zh)
Other versions
CN105680992B (en
Inventor
彭立
李高峰
魏蛟龙
梁琨
周波
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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201610051144.9A priority Critical patent/CN105680992B/en
Priority to US15/060,111 priority patent/US10230397B2/en
Publication of CN105680992A publication Critical patent/CN105680992A/en
Priority to US16/263,947 priority patent/US10763896B2/en
Application granted granted Critical
Publication of CN105680992B publication Critical patent/CN105680992B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0091Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location arrangements specific to receivers, e.g. format detection
    • 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1525Determination and particular use of error location polynomials
    • 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/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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/611Specific encoding aspects, e.g. encoding by means of decoding
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/617Polynomial operations, e.g. operations related to generator polynomials or parity-check polynomials
    • 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/0076Distributed coding, e.g. network coding, involving channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3027Output queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/54Systems for transmission via power distribution lines
    • H04B3/542Systems for transmission via power distribution lines the information being in digital form

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Error Detection And Correction (AREA)

Abstract

The invention discloses a construction method of a coset partition (n, n(n-1), n-1) permutation group code. The coset partition (n, n(n-1), n-1) permutation group code has error correcting capability d-1 and has strong inhibiting capability in simultaneous channel disturbance on the mixed multi-frequency noise and signal fading. The construction method of the coset partition (n, n(n-1), n-1) permutation group code is as follows: when a code length n is a prime number, aiming at a permutation code family with minimum distance of n-1 and code set size of n(n-1), firstly using FOMRLA to compute n-1 track head permutation codeword, and then using FORMULA to enumerate other codewords in the code set. The invention further provides a code set generator of the corresponding (n, n(n-1), n-1) permutation group code. The coset partition (n, n(n-1), n-1) permutation group code provided by the invention is an algebraic structure code, n-1 codeword in a track head array can be used for replacing the multiplication of positive integer through the adoption of a simple summing unit and (modn) calculator; a cyclic shift composite operation function with good definition is used for replacing the compositional operation of a cyclic subgroup to the track head permutation, and a cyclic shift register bank is used for realize the operation from the cyclic group to the permutation.

Description

Construction method of coset division (n, n (n-1), n-1) permutation group code and code set generator thereof
Technical Field
The invention belongs to the technical field of channel coding in communication transmission, and particularly relates to a construction method of a coset partition (n, n (n-1), n-1) permutation group code and a code set generator thereof.
Background
The situation that multiple kinds of interference such as multipath fading, narrow-band permanent noise, broadband pulse noise, colored background noise and the like coexist or occur simultaneously exists on a power line channel, and the situation that the multiple kinds of interference occur simultaneously rarely occurs on a wireless channel and a wired channel, so that the reliability of information transmission is hard to guarantee if the existing mature technologies of wireless and wired communication are directly moved to a power line carrier communication channel. From this point of view, it is necessary to provide a solution of error correction code with higher reliability requirement for the problem of multi-form and multi-frequency interference in power line carrier communication. In addition to the power line carrier channel, other wireless and wired channels in which various forms and various frequency interferences occur simultaneously also need to use a more reliable error correction code scheme.
Vinck introduced permutation codes into power line carrier communication in 2000, published article "code modulation for power line communications", aeuint.j.electron.com., vol.54, No.1, pp:45-49,2000 ", and proposed a solution for power line carrier code modulation combining M-dimensional FSK modulation and permutation codes. According to the scheme, at the transmitter end, time diversity and frequency diversity are introduced simultaneously by utilizing the nonlinear redundancy of the permutation codes, so that the capacity of resisting multi-frequency and fading interference is enhanced; at the receiver end, a constant envelope demodulation algorithm can be adopted to detect the received signal, and a simple noncoherent demodulation scheme is naturally formed. Of particular concern is that Vinck analyzes a group of permutation codes with the code length of 4 to obtain a permutation code with a special structure, which has the error correction capability of d-1, but not the permutation code with the special structureAnd (4) concluding. However, Vinck does not provide an effective replacement code construction method, and the replacement code with the error correction capability of d-1 is not practically applied at present, and the key reason of slow development is that the algebraic structure design method of the replacement code is less, and particularly, the hardware executable scheme is not effectively solved.
Disclosure of Invention
The invention provides a construction method of a coset division (n, n (n-1), n-1) permutation group code and a code set generator thereof, in particular to a permutation code algebraic structure design method and a code set enumerator of a code length n, a minimum distance n-1, a code number n (n-1) and an error correction capability d-1-n-2. Aiming at the condition that multiple interferences such as multipath fading, narrow-band permanent noise, broadband pulse noise, colored background noise and the like in power line carrier communication coexist or occur simultaneously, the invention provides a high-reliability error correction code design scheme for effectively resisting the combined interferences. In addition, the permutation group code provided by the invention also has stronger inhibition capability for multi-frequency interference and man-made malicious frequency interference in wireless communication. In summary, in an operating environment where the data transmission rate requirement is not high but various mixed frequency interference and deep fading exist simultaneously, the coset division (n, n (n-1), n-1) permutation group code provided by the invention has protection capability on transmitted signals.
To achieve the above object, according to one aspect of the present invention, there is provided a method for constructing a coset-partitioned (n, n (n-1), n-1) permutation group code having a code length n and a minimum distance n-1 and having a code set size n (n-1) by constructing a permutation group code having a code length n and a minimum distance n (n-1) The code set Pn=CnOnBy cyclically permuting subgroup CnAnd a different subgroup OnAre cosets of each other; the code set Pn={{Cno1},{Cno2},...,{Cnon-1Is permutation subgroup CnWill PnDivided into n-1 cosets, each coset { CnoαIs formed by a substitution oαOrbital or circular Latin Square (C-LS); the code set Is each permutation code word pβαFrom subgroup CnSubstitution of (1) to (c)βAnd subgroup OnSubstitution of (1) toαThe synthesis operation of (a) yields, α ═ 1,2,. n-1 and β ═ 1,2,. n.
According to another aspect of the present invention, there is also provided a code set generator of a coset-partitioned (n, n (n-1), n-1) permutation group code, including a track head array generator, a ROM memory, and a bidirectional cyclic shift register set, wherein:
the track head array generator is used for executingCalculating to generate n-1 track head permutations;
the ROM stores the output result of the track head array generator and the output result of the bidirectional cyclic shift register group;
the bidirectional cyclic shift register set executes1)n-1Or (r)n)n-1For one permutation operation, realize each track head permutation oαTrack of (l { (l)1)n-1oαEither (r)n)n-1oαComputation and code set of { (l)1)n-1OnEither (r)n)n-1OnCalculation of, α ═ 1, 2.., n-1.
Has the advantages that: the coset division (n, n (n-1), n-1) permutation group code provided by the invention is an algebraic structure code, the track head permutation code word in the code set can be completed by simple addition operation and (modn) operation without complex synthesis operation, and the whole code set can be realized by using circular shift register hardware; the error correction capability of the multi-system error correction code class is d-1, which is the error correction capability of the traditional multi-system error correction code classTwice of; when combined with the MFSK modulation technique, the receiver end can employ a simple non-coherent constant envelope demodulation technique for demodulation; the reliability of signal transmission can be ensured on an interference channel in which mixed multi-frequency noise and deep fading exist simultaneously.
Drawings
FIG. 1 is a block diagram of a (n, n (n-1), n-1) permuting group code generator circuit according to the present invention;
FIG. 2 is a schematic diagram of a track head array generating circuit according to the present invention;
FIG. 3 is a diagram of a ROM memory according to the present invention;
FIG. 4 is a diagram of an n-ary bidirectional circular shift register set according to the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention. In addition, the technical features involved in the embodiments of the present invention described below may be combined with each other as long as they do not conflict with each other.
Basic principle
This section describes the basic principle of coset partitioning (n, n (n-1), n-1) permutated group codes to which the present invention relates.
The coded symbols may take values in two finite fields, i.e. setIs an n-order finite field containing 0 elementIs an n-order finite positive integer field that does not contain 0 elements, and is also a cyclic group of order n. Is defined inOrAll n of the n elements on! The set formed by the permutations is called a symmetric group, with Sn={π1,...,πk,...,πn!Denotes, where each element can be replaced by a permutation of πk=[a1...ai...an]To indicate that each permuted element isOrThe degree (dimension) of each permutation is | πkN, the potential (order) of the symmetry group is | Sn| n! . Let pi0=e=[a1a2...an]=[01...n-1]Or pi0=e=[a1a2...an]=[12...n]Represents a symmetric group SnA unit cell of (a). [ a ] A1a2...an]Denotes Sn(ii) replacement of (a)1a2...an) A permutation operator is represented.
If the group is H mu SnIs generated from a single element, i.e. there is an element x ∈ H such that there is a resultant operationThen H is a cyclic permutation group denoted as H < x > and is said to be produced by x, or x is the generator of H.
Let γ ═ γ2Is a cyclic permutation group consisting of n permutation operators, which generates the child γ2=(a2a3...ana1) Its potential is | γ | ═ n. If the operator set gamma is made to be < gamma2Acting on a permutation pi ═ a1...ai...an]To obtain { γ pi } ═ { { γ { }23,...,γn1}[a1...ai...an]}={〈γ2〉π}={{γ22 2,...,γ2 n-12 n}[a1...ai...an]Then { γ pi } is an orbital that contains the permutation pi under the action of the cyclic group γ, and the number of elements contained in this orbital is | { γ pi } | ═ n.
The following three theorems or lemmas provide the basic structure of coset partitioning (n, n (n-1), n-1) permutation group codes without evidence.
Introduction 1[ circulation group CnStructure of (1)]: is provided with Cn={γπ}={〈γ2〉[a1a2...an]Y is specified as { y ═ y }12,...,γnEach subscript value of } and CnThe index value of the first element of each permutation remains the same, i.e. c1=γ1π=c2 n=γ2 nπ=(a2a3...ana1)n[a1a2...an]=[a1a2...an],c2=γ2π=[a2a3...ana1],c3=γ3π=c2 2=γ2 2π=(a2a3...ana1)2[a1a2...an]=[a3a4...ana1a2],…,cn=γnπ=c2 n-1=γ2 n-1π=(a2a3...ana1)n-1[a1a2...an]=[ana1a2...an-1]Then Cn={c1,c2,...,cn}=〈c2〉={〈γ2Is SnIs also a cyclic permutation group, the minimum distance of which isIts potential is | Cn|=n。
Theorem 2[ O ]nStructure of (1)]: let OnIs a permutation array of (n-1) × n or a set of n-1 permutationsWherein o is1=[12...n]Is a unit permutation, α ═ 1, 2., n-1 is permutation array OnIs also the set OnIf and only if 1) n is a prime number, 2) for all α,1,2nIs SnSubgroup of, array OnIs all n, and OnIs a minimum distance ofIts potential is | On|=n-1。
Theorem 3[ by CnAnd OnConstructing a permutated group code Pn]: for any prime number n, let Pn={p11,...,pβα,...,pn(n-1)Is SnA non-trivial subgroup of (a). With CnAnd OnTo construct PnThat is to say have Wherein c isβοoαRepresents a substitution cβAnd substitution oαThe synthesis operation of (1). If C is presentn∩On=e=[12...n]Then PnIs CnAnd OnMutual coset permutation group code, PnThe minimum Hamming distance of isIts potential is | Pn|=n(n-1)。
Example 1: when n is 5, the following C is obtained according to the theorem 15
C 5 = c 1 , c 2 , c 3 , c 4 , c 5 = < c 2 > = c 2 5 , c 2 1 , c 2 2 , c 2 3 , c 2 4 = < &gamma; 2 &pi; > = &gamma; 2 5 &pi; , &gamma; 2 1 &pi; , &gamma; 2 2 &pi; , &gamma; 2 3 &pi; , &gamma; 2 4 &pi; = ( a 2 a 3 a 4 a 5 a 1 ) 5 &lsqb; a 1 a 2 a 3 a 4 a 5 &rsqb; , ( a 2 a 3 a 4 a 5 a 1 ) &lsqb; a 1 a 2 a 3 a 4 a 5 &rsqb; , ( a 2 a 3 a 4 a 5 a 1 ) 2 &lsqb; a 1 a 2 a 3 a 4 a 5 &rsqb; , ( a 2 a 3 a 4 a 5 a 1 ) 3 &lsqb; a 1 a 2 a 3 a 4 a 5 &rsqb; , ( a 2 a 3 a 4 a 5 a 1 ) 4 &lsqb; a 1 a 2 a 3 a 4 a 5 &rsqb; = a 1 a 2 a 3 a 4 a 5 , a 2 a 3 a 4 a 5 a 1 , a 3 a 4 a 5 a 1 a 2 , a 4 a 5 a 1 a 2 a 3 , a 5 a 1 a 2 a 3 a 4 , = 12345 , 23451 , 34512 , 45123 , 51234
The following O was obtained according to theorem 25In the form of a permuted array
O 5 = o 1 o 2 o 3 o 4 = 1 o 1 2 o 2 3 o 3 4 o 4 = 1 &CenterDot; 1 1 &CenterDot; 2 1 &CenterDot; 3 1 &CenterDot; 4 1 &CenterDot; 5 2 &CenterDot; 1 2 &CenterDot; 2 2 &CenterDot; 3 2 &CenterDot; 4 2 &CenterDot; 5 3 &CenterDot; 1 3 &CenterDot; 2 3 &CenterDot; 3 3 &CenterDot; 4 3 &CenterDot; 5 4 &CenterDot; 1 4 &CenterDot; 2 4 &CenterDot; 3 4 &CenterDot; 4 4 &CenterDot; 5 ( mod 5 ) = 1 2 3 4 5 2 4 6 8 10 3 6 9 12 15 4 8 12 16 20 ( mod 5 ) = 1 2 3 4 5 2 4 1 3 5 3 1 4 2 5 4 3 2 1 5
Then O5In the form of a collection of O 5 = o 1 , o 2 , o 3 , o 4 = a 1 a 2 a 3 a 4 a 5 , a 2 a 4 a 1 a 3 a 5 , a 3 a 1 a 4 a 2 a 5 , a 4 a 5 a 1 a 2 a 3 , a 4 a 3 a 2 a 1 a 5 = 12345 , 24135 , 31425 , 43215 ,
Let c1=o1=e=[12345]The following P was obtained according to theorem 35
Example 1 description of P5The code length is 5, the minimum distance is 4, the number of code words is 20, and the error correction capability is 3. From P5In can be seen that P5From 4 tracks { C5o1},{C5o2},{C5o3},{C5o4And (5) composition.
Technical scheme
The technical scheme is divided into two parts. The first part is a construction method based on coset division (n, n (n-1), n-1) permutation group codes; the second part is the structural design of the code set generator of the (n, n (n-1), n-1) permutation group code.
A first part: construction method of coset division (n, n (n-1), n-1) permutation group code
According to theorem 1, theorem 2 and theorem 3, the construction method of the coset division (n, n (n-1), n-1) permutation group code is as follows: all codewords in the code set are composed of Calculation of where PnIs a symmetric group SnOf size | PnN (n-1), the minimum distance beingCnIs PnIs also a cyclic group Cn={c1,...,cβ,...,cn}=〈c2Dimension is | CnN, the minimum distance beingβ=1,2,...,n;On={o1,...,oα,...,on-1Is PnAnd CnAnother subgroup that is not identical, also called the head-of-track array of the (n, n (n-1), n-1) permuted group code, has a size | OnN-1, the minimum distance beingα is 1,2, n-1, and CnAnd OnOf (2) intersection Cn∩OnE is a unit permutation. In the code set PnIn, CnWill PnDivided into n-1 cosets Pn={Cno1,Cno2,...,Cnon-1Each coset { C }noαIs formed by a substitution oαAlso called the circular Latin Square (C-LS).
Each code word in the permutation code set is composed of pβα=cβοoαCalculation of which is two permutations cβAnd oαThe synthesis operation of (2) is not favorable for hardware implementation, and therefore, a permutation operation function which can be executed by a circuit needs to be constructed. Due to CnIs a cyclic array, and it is conceivable to replace C with a cyclic shift of the pair permutationnThereby equivalently converting the permuted synthesis operation into a cyclic shift operation and can be performed by a basic cell circuit cyclic shift register, for which the following operation functions and composite operation functions are first defined.
Constructing an operation function: let T denote the set of all the operating functions that act on the permutation. Constructing a right shift operation function set Tright={r2,r3,...,rn-1,rnAn element of an construct, which is an arbitrary element ri∈TrightIs a function ri:Sn→SnAnd is formed byiπ=ri[a1...ai...an]=[aia1...ai-1ai+1...an]∈SnTo define, call ri∈TrightIs a permuted partial loop right shift operation function; when i is n, there is rnπ=rn[a1a2...an]=[ana1a2...an-1]∈SnBalance rnIs a permuted circular right shift operation function. Similarly, a set of left shift opfunctions T is constructedleft={l1,l2,...,ln-1Mu.l of an element lj∈TleftIs a function lj:Sn→SnAnd is composed ofjπ=lj[a1...aj...an]=[a1...aj-1aj+1...anaj]∈SnTo define, term lj∈TleftIs a permuted partial loop left shift operation function; when j is 1, there is l1π=l1[a1a2...an]=[a2a3...an-1ana1]∈SnBalance l1Is a permuted circular left shift operation function.
Constructing a composite operation function of cyclic shift: according to a certain sorting rule, T is addedleftOr TrightSome or all of the operation functions in the set are arranged in strings or in multiples of powers of different functions, and the strings of operation functions or products of powers of the operation functions form a composite operation function, denoted as fCF(u, Λ), wherein u represents the synthesis function fCF(u, Λ) and Λ denotes the order rule of the operation functions Λ is the order rule of the operation functions that a certain function is repeatedly used λ -1 times, and when λ is equal to n, a loop left-shift composite operation function is constructedConstructing a cyclic right-shift composite operation functionIf the two classes of complex operating functions are each acted upon by a permutation pi ═ a1a2...an]Then two sets of n permutations are obtained, respectively, expressed as: { ( l 1 ) n - 1 &pi; } = &Delta; { &pi; , l 1 &pi; , l 1 2 &pi; , ... , l 1 n - 1 &pi; } and { ( r n ) n - 1 &pi; } = &Delta; { &pi; , r n &pi; , r n 2 &pi; , ... , r n n - 1 &pi; } . set { (l)1)n-1Pi } sum { (rn)n-1Pi and set { Cnπ are equally well the ones replacing π, i.e. { Cnπ}={(l1)n-1π}={(rn)n-1Pi, that is to say the tracks formed by the three different operations constitute equivalent classes, but the ordering of the permutations in each track is different, and therefore the C-LS in each track is different.
Thus, coset partition (n, n (n-1), n-1) code set P of permutation group coden={CnOnThe circulating group C innThe operation function (l) can be compounded by moving the loop left1)n-1Or circularly right-shift the composite operation function (r)n)n-1Instead, each track { CnoαExecution expression of { C }noα}={(rn)n-1oα}={(l1)n-1oαThe expression enumerating all codewords is α ═ 1,2n=CnOn={(rn)n-1On}={{(rn)n-1o1},{(rn)n-1o2},...,{(rn)n-1on-1}}={(l1)n- 1On}={{(l1)n-1o1},{(l1)n-1o2},...,{(l1)n-1on-1}}。
Head of track array O provided below for theorem 2nStructural feature analysis is carried out, and then O is givennSome different design methods.
Rail head array OnHas the structural characteristics that the track head array of the (n, n (n-1), n-1) permutation group code has the following structural characteristics that one is the array of (n-1) × n, and each row is SnA permutation of (c) and the presence of a unique column containing the same element akK, whereinOrSecondly, if the column of the same element is removed, the remaining rows and columns form a Latin square of size (n-1) × (n-1), and thirdly, the head array of tracks OnEach row of (a) has n different adjacent pairs (a)μ,an) Comprising pairs of cyclic neighbors, and a head array OnItself comprising n (n-1) non-identical pairs of adjacent (or cyclically adjacent) numbers, whereinOrAnd a isμ≠an,μ≠v。In general, when n positive integers form a pair (a)μ,av) When there are a total of n (n-1) different pairs, this is a sufficient condition for the track head array to contain n (n-1) non-identical pairs of adjacent numbers.
Rail head array OnThe design method of (1): the track head array satisfying the three structural characteristics can be calculated by an explicit expression, for example, theorem 2, and the hardware executable design scheme has two. Scheme 1, the substitutions contain 0 elements. Is provided withRepresents the array On1Intermediate α1Line β1An element of the column, wherein α1N-2 represents array On1Line index of β1N-1 denotes array On1Column index of (1), k10,1, n-1 represents On1Middle (k) th1The columns have the same elements. When n is a prime number, if calculatedWhen it is a multiple of n, xn, it is specified that n is modulo, the result is 0, i.e.Where x is an arbitrary integer, the head array of tracks On1Each element of each permutation is calculated as follows
a &alpha; 1 , &beta; 1 ( k 1 ) = &lsqb; ( &alpha; 1 + 1 ) &times; ( &beta; 1 - k 1 ) + k 1 &rsqb; ( mod n ) - - - ( i )
O n 1 ( k 1 ) = { o 0 , o 1 , ... , o n - 2 } = { { a &alpha; 1 , &beta; 1 ( k 1 ) } &alpha; 1 = 0 n - 2 } &beta; 1 = 0 n - 1 When k is10,1, n-1 (ii)
In case 2, the substitution does not contain 0 element. Is provided withRepresents the array On2Intermediate α2Line β2An element of the column, wherein α21,2, n-1 denotes array OnLine index of β21,2, n denotes the array On2Column index of (1), k21,2, n represents On2Middle (k) th2The columns have the same elements. When n is a prime number, if calculatedIs a multiple of n, xn, it is specified that it is modulo n, resulting in n, i.e. n Where x is an arbitrary integer, the head array of tracks On2Each element of each permutation is calculated as follows
a &alpha; 2 , &beta; 2 ( k 2 ) = &lsqb; &alpha; 2 ( &beta; 2 - k 2 ) + k 2 &rsqb; ( mod n ) - - - ( i i i )
O n 2 ( k 2 ) = { o 1 , o 2 , ... , o n - 1 } = { { a &alpha; 2 , &beta; 2 ( k 2 ) } &alpha; 2 = 1 n - 1 } &beta; 2 = 1 n When k is21,2, when n is (iv)
When k is2When n, expressions (iii) and (iv) of scheme 2 can be simplified to
aα,b(n)=[α·β](modn) when α is 1,2,.., n-1 and β is 1,2,.., n, (v)
O n = { o 1 , o 2 , ... , o n - 1 } = { { a &alpha; , &beta; ( n ) } &beta; = 1 n } &alpha; = 1 n - 1 = &lsqb; &lsqb; &alpha; . &beta; &rsqb; &beta; = 1 n &rsqb; &alpha; = 1 n - 1 ( mod n ) = { &alpha; &CenterDot; o 1 } &alpha; = 1 n - 1 ( mod n ) - - - ( v i )
Expression formula(vi) O of theorem 2nThe calculation is the same.
Example 2: let n be 5, according to OnIf 1, ifThen c0=o0=e=[01234]When each element of each permutation consists of (i)Calculation of, for different k10,1,2,3,4, O of (ii)n1(k1) Respectively calculate the following different rail head arrays
01234 , 02413 , 03142 , 04321 k 1 = 0 01234 , 41302 , 31420 , 21043 k 1 = 1 01234 , 30241 , 14203 , 43210 k 1 = 2 01234 , 24130 , 42031 , 10432 k 1 = 3 01234 , 13024 , 20314 , 32104 k 1 = 4
If a loop left shift is used to compound the operation function (l)1)4Or circularly right-shift the composite operation function (r)5)4Respectively act on On1(k1)(k15 head of track arrays of 0,1,2,3,4), the obtained 10 permutation code sets are all equivalent.
Then n is 5, then according to OnDesign 2 and simplification ifThen c1=o1=e=[12345]When each element of each permutation consists of (iii)(modn) is calculated or calculated from (v) aα,β(n)=[α·β](modn) calculation for different k21,2,3,4,5 and simplified version, O of (iv)n2(k2) And (vi) OnRespectively calculate the following different rail head arrays
12345 , 13524 , 14253 , 15432 k 2 = 1 12345 , 52413 , 42513 , 32154 k 2 = 2 12345 , 41352 , 25314 , 54321 k 2 = 3 12345 , 35241 , 53142 , 21543 k 2 = 4 12345 , 24135 , 31425 , 43215 k 2 = 5 O 5 = 12345 , 24135 , 31425 , 43215
If a loop left shift is used to compound the operation function (l)1)4Or circularly right-shift the composite operation function (r)5)4Respectively act on On2(k2)(k21,2,3,4,5) and a simplified head-of-track array O5The obtained 12 permutation code sets are all equivalent to the permutation group code based on coset division obtained by the synthesis operation, that is, k is 1,2,3,4,5, there are
P 5 = C 5 O 5 = { ( r 5 ) 4 O 52 ( k 2 ) } = { ( l 1 ) 4 O 52 ( k 2 ) } = { ( r 5 ) 4 O 5 } = { ( l 4 ) 4 O 5 } = 12345 , 24135 , 31425 , 43215 , 23451 , 35241 , 42531 , 54312 , 34512 , 41352 , 53142 , 15432 , 45123 , 52413 , 14253 , 21543 , 51234 , 13524 , 25314 , 32154
Code set generator structure design of second part coset division (n, n (n-1), n-1) permutation group code
The structure of a code set generator for coset partitioning (n, n (n-1), n-1) permutation group codes is divided into 4 parts: the code set generator architecture comprises a code set generator architecture, a track head array generator, a ROM memory and a bidirectional cyclic shift register set.
Binary representation of permutations if each element of an n-long permutation is represented by an m-bit binary, then the n-long permutation may be described by a binary array of m × n, m and n satisfying 2m-1+1≤n≤2m
Code set generator architecture: the method comprises a track head array generator, a ROM (read only memory) and a bidirectional cyclic shift register set, and is shown in figure 1. The principle circuit of the track head array generator is constructed by taking expressions (i) - (vi) as a basis, and the specific working process is to execute the calculation of the expression (vi)Generating a head-of-track array O comprising n-1 permutationsn={o1,o2,...,on-1}. The ROM memory is used for firstly storing the output result O of the track head array generatorn={o1,o2,...,on-1And storing an output result P of the bidirectional cyclic shift register groupn={{(l1)n-1o1},{(l1)n-1o2},...,{(l1)n-1on-1} or Pn={{(rn)n-1o1},{(rn)n-1o2},...,{(rn)n-1on-1}}. The bidirectional circular shift register group is used for executing a circular left shift composite operation function (l) to a replacement1)n-1Or circularly right-shift the composite operation function (r)n)n-1In particular to the head of the track replacement oαPerforming n-1 times of cyclic left shift or n-1 times of cyclic right shift operation to realize the first replacement o of each trackαTrack of (l { (l)1)n-1oαEither (r)n)n-1oαSince each track { (l) }, α { (1, 2., n-1 { (l)1)n-1oαEither (r)n)n-1oαN permutations are contained, if the generation process of each track is repeated for n-1 times, a code set of coset division (n, n (n-1), n-1) permutation group codes is formed, and the specific calculation expression is Pn=CnOn={(l1)n-1On}={{(l1)n-1o1},{(l1)n-1o2},...,{(l1)n-1on-1} or Pn=CnOn={(rn)n- 1On}={{(rn)n-1o1},{(rn)n-1o2},...,{(rn)n-1on-1}}。
Track head array generator: see figure 2. In the case of optimizing the circuit structure, the structural parameters are designed as follows: n is any prime number, and in order to avoid collision between the situation that the amplitude is attenuated to 0 due to fading interference and the code element in the code word is 0, the amplitude is takenIt is guaranteed that no 0-bit occurs in each permuted codeword. To facilitate symbol tracking, take k2N denotes that the last column of the track head array is the same column, and has a value of n, which can simplify expressions (i) and (iii) to the maximum extent as expression (v): a isα,β(n)=[α·β](modn) of the trackHead array OnIs simplified intoWhere α is 1, 2.., n-1 denotes that the head array of tracks contains n-1 permutations, and β is 1, 2.., n denotes that each permutation contains n elements.
The function of the head array generator is to generate the head array when the initial permutation is o1=e=[12...n]When n-1 head of track permutations are performed O n = { &alpha;o 1 } &alpha; = 1 n - 1 ( mod n ) = { o 1 , 2 o 1 , ... , ( n - 1 ) o 1 } ( mod n ) The calculation of (2) yields n-1 track head permutations, which are transferred to the ROM memory via the bus for each permutation.
The track head array generator is composed of five parts: the device comprises n parallel operation input buffers (10), n parallel operation positive integer adders (11), n parallel operation modn calculators (12), n parallel operation output buffers (13), n input single output switches (14) and an enable signal generator (15). The working principle of each part is described as follows:
n parallel operation input buffers (10) are formed of n m-bit registers each storing one of n input data in m-bit binary, each buffer having m parallel data line inputs and outputs. Input initial permutation o1=e=[12...n]To n parallel running input buffers (10), the track head array generator starts to operate.
n parallel-running positive integer adders (11) for adding the n parallel-running positive integer addersMultiplication operation in (1) { o }1,2o1,...,(n-1)o1Conversion to the initial permutation o1=[12...n]The accumulation operation of each element is mainly completedCalculating; the initial unit replacement is transmitted to the output buffer directly without accumulation, so that the accumulation is needed n-2 times to complete the aggregationThe operation of (1); each of n parallel-running positive integer adders (11) is formed by m 'binary full adders and m' bit B registersm data lines are input in parallel, and m' data lines are output in parallel; one input end of each binary full adder receives data of the input buffer, the other input end of each binary full adder is connected with the output end of the register B, and the output end of each binary full adder is connected with the input end of the register B; the working principle of the n parallel operation positive integer adders (11) is as follows: when the enable signal E is equal to 1, each adder adds the last summation result, namely the content in the B register, and the input results of n parallel operation input buffers (10) once, stores the summation result in the B register, and stores the content in the B registerOutputting to n parallel operation modn calculators (12); when the enable signal E is 0, the adder does not operate.
n parallel running modn calculators (12) for performingCalculating, specifically, performing modn calculation on data transmitted from B registers in n parallel operation positive integer adders (11); each modn calculator is composed of a two-input-end single-output-end general modn calculator, an m-bit C register and an m-bit D register, m' data lines are input in parallel, and m data lines are output in parallel; one input end of the general modn calculator is provided with an m' bit parallel input data line connected with the output end of the B register, the other input end of the general modn calculator is provided with an m bit parallel input data line connected with the output end of the C register, and one output end of the general modn calculator is provided with an m bit parallel output data line; the register C stores invariant data n, and the register D is used for storing the output result of the general modn calculator; if the data | x | of the D register is not 0, the data of the D register is output, and if the data | x | of the D register is 0, the data of the C register is output.
The n parallel operation output buffers (13) have the same structure as the n parallel operation input buffers (10), namely are composed of n m-bit registers and are used for storing the currently generated track head replacement; when the current data of the (n-1) th buffer of the n parallel operation output buffers (13) is ready, a signal is sent to the first switch of the n input single output switches (14) to close.
The n input single output switches (14) are used for serially outputting each of n data of n parallel operation output buffers (13) to a bus, and each switch is switched on from 1 to n, which is equivalent to that m data lines of each output buffer are switched on with m parallel buses; when the (n-1) th buffer of the n parallel operation output buffers (13) is ready for current data, a first switch of the n input single output switch (14) is sent out to close the switch; when the nth switch is closed and the last bit of data is transmitted to the ROM through the bus, a high level signal is output to the input terminal of the enable signal generator (15).
The enabling signal generator (15) provides enabling signals for n parallel operation positive integer adders (11), and the enabling signals comprise a binary plus 1 counter and a monostable trigger, and an input signal line, an output signal line and a normal output low level are connected in series; the input end of the enable signal generator is connected with an output control signal line of an nth switch of the n input single output switches (14), and the output end of the enable signal generator is connected with enable ends E of the n parallel operation positive integer adders (11); the working principle of the enabling signal generator (15) is as follows: when the nth switch of the n-input single-output switch (14) is closed, the enabling signal generator (15) works, the binary plus 1 counter performs one-time plus 1 operation, the monostable trigger generates high-level pulses with the duration of 1 cp and outputs the high-level pulses to the enabling ends of n parallel operation positive integer adders (11), and E is made to be 1; when the nth switch of the n-input single-output switch (14) is turned off, the enable signal generator (15) does not work and keeps E equal to 0. When the binary 1-up counter is n-1 times, the enable signal generator (15) outputs a low level.
ROM memory: see figure 3. The ROM memory (16) can be a programmable memory PROM, an erasable programmable memory EPROM, an electrically erasable programmable memory E2PROM, or flash memory. The storage structure of the ROM memory (16) is: each element of a permutation being represented by an m-bit binary, e.g. the first element of a permutation being represented by an m-bit binary b1,1,b2,1,...,bm-1,1,bm,1Representing the last element by m-bit binary b1,n,b2,n,...,bm-1,n,bm,nIs shown in the specification, wherein bi,j(i-0, 1., m-1, j-0, 1., n-1) is a binary value that takes the value 0 or 1. The m-bit binary system of one element of each permutation occupies m storage units and is defined as one element storage word of the memory; one permutation occupies n element storage words, n-1 orbital head permutations occupy n (n-1) element storage words, and n (n-1) permutation code words occupy n2(n-1) element storage words. The ROM memory (16) has m-bit parallel data inputs and m-bit parallel data outputs. Specific operation of ROM memory (16)Comprises the following steps: when Wr is 1, m-bit data of one element storage word is input in parallel; when Rd is 1, m-bit data of one element memory word is output in parallel. When Wr is 0 and Rd is 0, the ROM memory (16) does not operate.
Bidirectional cyclic shift register set: see figure 4. The bidirectional cyclic shift register group (17) is used for realizing a cyclic left shift composite operation function (l)1)n-1Or circularly right-shift the composite operation function (r)n)n-1For a permuted operation, the track { (l) is executed1)n- 1oαAnd { (r) }n)n-1oαThe generation calculation implementation of { and the code set { (l)1)n-1OnAnd { (r) }n)n-1OnThe generation calculation of the N-dimensional permutation vector has the storage structure that each element of the n-dimensional permutation vector can be represented by an m-dimensional binary sequence, each n-dimensional permutation vector is mapped into an m × n-dimensional binary number array, m × n triggers form a trigger array with m rows and n columns, each row of m rows is formed by n triggers into a register capable of circularly moving left and circularly moving right, namely the n triggers form a bidirectional cyclic shift register, and m bidirectional cyclic shift registers are required to form m bidirectional cyclic shift register groups, wherein the first cyclic shift register stores n-bit binary numbers b1,1,b1,2,...,b1,n-1,b1,nThe mth cyclic shift register stores n-bit binary number bm,1,bm,2,...,bm,n-1,bm,n(note that the array is m × n, the array of the ROM memory (16) is n × m.) the m parallel switches (18) are connected in series in a circular left shift loop, with the switches closed, performing a circular left shift operation of m data in parallel, and with the switches open, performing a left shift input and a left shift output operation of m data in parallel.two control signal inputs REG-in and REG-out are provided, and four control signals 00,01,10,11 can be combined, corresponding to the four operating states of the bi-directional circular shift register set, respectively, left shift input, left shift output, circular left shift, and circular right shift. the operation of the bi-directional circular shift register set (17) is described as follows:
procedure a — input to perform a permutation. When REG-in is 0, REG-out is 0 and Rd is 1, m parallel switches (18) of the loop of the circulation left shift are turned off, and the first track in the ROM (16) is firstly permutated and transferred to a bidirectional circulation shift register group (17), during which the circulation shift register group executes the input operation of m-bit parallel n-bit serial left shift;
procedure b-move left with a loop to generate a new permutation. When REG-in is equal to 0 and REG-out is equal to 1, m parallel switches (18) of the loop for left shift circularly are closed, and a bidirectional circular shift register group (17) executes m-bit parallel n-bit serial circular left shift operation to generate a new permutation;
procedure c — output of one permutation is performed. When REG-in is 1, REG-out is 0 and Wr is 1, m parallel switches (18) of the loop left shift are closed, and the bidirectional loop shift register group (17) completes two operations: transferring the current permutation generated in the process b to a ROM (read only memory) (16) through m-bit parallel n-bit serial left shift output operation, and simultaneously finishing m-bit parallel n-bit serial circulation left shift operation of the current permutation to keep the permutation generated in the process b;
process d-Generation of a { (l)1)n-1oαAnd (6) track. The process b and the process c are combined, m parallel switches (18) of a loop for left shift are closed in the period, and the two processes work in turn: during 1 cp clock pulse, REG-in is equal to 0 and REG-out is equal to 1, the bidirectional cyclic shift register group (17) executes a serial left shift operation of m bits in parallel and n bits once to obtain a new permutation; during the next n cp clock pulses, REG-in is 1, REG-out is 0 and Wr is 1, the bi-directional cyclic shift register bank (17) simultaneously performs an m-bit parallel n-bit serial left shift output operation and an m-bit parallel n-bit serial cyclic left shift operation on the current permutation, saves the current permutation, and transfers it to the ROM memory (16). Procedure d corresponds to the replacement of o for one track headαCompletion (l)1)n-1Operate to generate a complete { (l)1)n-1oαTrack and will be defined by track (l)1)n-1oαN-1 generatedThe permutation is saved to a ROM memory (16).
Process e-generating a set of codes { (l)1)n-1On}. The method is formed by combining the process a and the process d, and the process e is repeatedly operated for n-1 times to complete the code set { (l) of a coset division (n, n (n-1), n-1) permutation group code1)n-1OnThe generation process of.
Procedure b' -a new permutation is generated with a loop right shift. Modify process b to process b': when REG-in is 1 and REG-out is 1, m parallel switches of the loop for left shift cycle are turned off, and the bidirectional cyclic shift register group (17) executes m bit parallel n bit serial cyclic right shift operation to generate a new permutation.
The process d': generating a { (r)n)n-1oαAnd (6) track. Combined by process b' and process c, equivalent to completing the permutation oαTrack of (r { (r)n)n-1oαIs generated and stored in a ROM memory (16) { (r)n)n-1oα}。
The process e': generating a set of codes { (r)n)n-1On}. The method is formed by combining the process a and the process d ', and n-1 times of repeated operation is carried out on the process e', so that the code set { (r) of a coset division (n, n (n-1), n-1) permutation group code is completedn)n-1OnThe generation process of.
It will be understood by those skilled in the art that the foregoing is only a preferred embodiment of the present invention, and is not intended to limit the invention, and that any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the scope of the present invention.

Claims (6)

1. A method for constructing a coset-partitioned (n, n (n-1), n-1) permutation group code, comprising: the structure of a permutation group code having a code length of n and a minimum distance of n-1 and a code set size of n (n-1) is The code set Pn=CnOnBy cyclically permuting subgroup CnAnd a different subgroup OnAre cosets of each other; the code set Pn={{Cno1},{Cno2},...,{Cnon-1Is permutation subgroup CnWill PnDivided into n-1 cosets, each coset { CnoαIs formed by a substitution oαOrbital or circular Latin Square (C-LS); the code set Is each permutation code word pβαFrom subgroup CnSubstitution of (1) to (c)βAnd subgroup OnSubstitution of (1) toαThe synthesis operation of (a) yields, α ═ 1,2,. n-1 and β ═ 1,2,. n.
2. The method for constructing coset-partitioned (n, n (n-1), n-1) permutation group code as claimed in claim 1, wherein the operation function (l) is a circular left-shift complex operation function1)n-1Or circularly right-shift the composite operation function (r)n)n-1Substituted CnTwo permutation subgroups CnAnd OnThe synthesis operation of (2) is converted into a cyclic shift operation which can be executed by hardware; said (l) is prepared from1)n-1Or (r)n)n-1Substituted CnThe operation of (1) is specifically: each track in the permutation group { CnoαUsing its equivalent expression { C }noα}={(rn)n-1oα}={(l1)n-1oαIs performed, α ═ 1, 2.. n-1, the set of codes Pn=CnOnBy its equivalent expression Pn=CnOn={(rn)n-1On}={{(rn)n- 1o1},{(rn)n-1o2},...,{(rn)n-1on-1} or Pn=CnOn={(l1)n-1On}={{(l1)n-1o1},{(l1)n- 1o2},...,{(l1)n-1on-1} is performed.
3. The method for constructing a coset-partitioned (n, n (n-1), n-1) permutation group code according to claim 1, wherein the permutation subgroup OnThe method is equivalent to a track head array, and the construction method specifically comprises the following steps:
if the permutation contains 0 element, then setRepresents the array On1Intermediate α1Line β1An element of the column, wherein α1N-2 represents array On1Line index of β1N-1 denotes array On1Column index of (1), k10,1, n-1 represents On1Middle (k) th1Column is and1the same elements; when n is a prime number, specifyingx is any integer; rail head array On1The computational expression of each element of each permutation isThe computational expression of n-1 permutations of the head array of tracks is O n 1 ( k 1 ) = { o 0 , o 1 , ... , o n - 2 } = { { a &alpha; 1 , &beta; 1 ( k 1 ) } &alpha; 1 = 0 n - 2 } &beta; 1 = 0 n - 1 , Wherein k is10,1,., n-1; or,
if the permutation does not contain 0 elements: is provided withRepresents the array On2Intermediate α2Line β2An element of the column, wherein α21,2, n-1 denotes array On2Line index of β21,2, n denotes the array On2Column index of (1), k21,2, n represents On2Middle (k) th2Column is and2the same elements(ii) a When n is a prime number, specifyingx is any integer; rail head array On2The computational expression of each element of each permutation isThe computational expression of n-1 permutations of the head array of tracks is O n 2 ( k 2 ) = { o 1 , o 2 , ... , o n - 1 } = { { a &alpha; 2 , &beta; 2 ( k 2 ) } &alpha; 2 = 1 n - 1 } &beta; 2 = 1 n , Wherein k is21,2, n; let k2N andthe rail head array On2The computational expression of each element of each permutation is reduced to aα,β(n)=[α·β](modn), head of track array On2The computational expression of n-1 permutations of (1) is simplified toWherein o is1=e=[a1a2...an]=[12...n],α is 1,2,. n-1 and β is 1,2,. n.
4. A code set generator for a coset-partitioned (n, n (n-1), n-1) permutation group code, comprising a track head array generator, a ROM memory, and a bi-directional cyclic shift register set, wherein:
the track head array generator is used for executingCalculating to generate n-1 track head permutations;
the ROM stores the output result of the track head array generator and the output result of the bidirectional cyclic shift register group;
the bidirectional cyclic shift register set executes1)n-1Or (r)n)n-1For one permutation operation, realize each track head permutation oαTrack of (l { (l)1)n-1oαEither (r)n)n-1oαComputation and code set of { (l)1)n-1OnEither (r)n)n-1OnCalculation of, α ═ 1, 2.., n-1.
5. The code set generator of the coset-partitioning (n, n (n-1), n-1) permutation group code as claimed in claim 4, wherein: the track head array generator is used for inputting the unit permutation o when the initial permutation is1=e=[12...n]Under the condition of (1), performing n-1 track head replacement And storing the n-1 track head replacement into a ROM; the track head array generator comprises n parallel operation input buffers, n parallel operation positive integer adders, n parallel operation modn calculators, n parallel operation output buffers, n input single output switches and an enable signal generator, wherein:
the n parallel operation input buffers are composed of n m-bit binary registers, the input end and the output end of each register are connected with m parallel data lines, and m satisfies 2m-1+1≤n≤2m
The n parallel-running positive integer adder executionsOperation, each positive integer adder is composed of m 'binary full adders and m' bit B registers,m data lines are input in parallel, and m' data lines are output in parallel; one input end of the binary full adder receives data of the input buffer, the other input end of the binary full adder is connected with the output end of the B register,the output end of the binary full adder is connected with the input end of the register B; when the enable signal E is equal to 1, the n parallel operation positive integer adders work, and when E is equal to 0, the n parallel operation positive integer adders do not work;
the n parallel running modn calculators are used for completingCalculating, wherein each modn calculator comprises a two-input-end single-output-end general modn calculator, an m-bit C register and an m-bit D register, m' data lines are input in parallel, and m data lines are output in parallel; one input end of the general modn calculator is provided with m 'parallel input data lines which are connected with the output ends of the m' bit B registers in the n parallel operation positive integer adders, and the other input end of the general modn calculator is provided with m parallel input data lines which are connected with the output ends of the m bit C registers; the output end of the general modn calculator is provided with m parallel output data lines; the m-bit C register stores an m-bit binary value corresponding to the data n and keeps unchanged; the m-bit D register stores the output value of the general modn calculator, if the value of the D register is not 0, the value of the D register is used as the output value, otherwise, the value of the C register is output;
the n parallel operation output buffers are composed of n m-bit registers, and the input end and the output end of each register are connected with m parallel data lines; when the (n-1) th buffer of the n parallel operation output buffers is ready for current data, sending a signal to close the first switch of the n input single output switches;
the n input single output switches are used for serially outputting each of n data of the n parallel operation output buffers to a bus, each switch is switched on from 1 to n, and m data lines of each output buffer are switched on with m parallel buses; the signal of the first switch closing of the n input single output switches is a control signal sent by the (n-1) th buffer of the n parallel operation output buffers; when the nth switch of the n-input single-output switch is closed, a high level signal is output to the input end of the enable signal generator;
the enabling signal generator provides enabling signals for the n parallel operation positive integer adders, and consists of a binary plus 1 counter and a monostable trigger, wherein the enabling signals comprise an input signal line, an output signal line and a normal output low level; the input end of the n-system plus 1 counter is connected with the output signal line of the nth switch of the n-input single-output switch, when an input control signal is received, the binary plus 1 counter performs a plus 1 operation, and enables the monostable trigger to generate a high level pulse with the duration of 1 cp and output the high level pulse to the E signal ends of the n parallel operation positive integer summers through a signal line; and a binary plus 1 counter is added for n-1 times, the monostable trigger does not send a pulse signal, and the enable signal generator outputs low level.
6. The coset-partitioning (n, n (n-1), n-1) permuted group code generator of claim 4, wherein said bi-directional cyclic shift register set is used for track { (l) }1)n-1oαAnd { (r) }n)n-1oαImplementation of, and code set { (l)1)n-1OnAnd { (r) }n)n-1OnImplementation of the method is carried out; the structure of the bidirectional cyclic shift register group is formed by a trigger array with m rows and n columns, and each row is provided with n triggers to form a bidirectional shift register which can circularly move left and right; connecting a switch in series in each loop of the circulation left shift loop, wherein m switches run in parallel, when m switches are closed, the circulation left shift operation of m data in parallel is executed, and when m switches are opened, the left shift input and left shift output operation of m data in parallel is executed; two control signal input ends REG-in and REG-out are arranged, four control signals 00,01,10 and 11 can be combined, and respectively correspond to four working states of the bidirectional cyclic shift register group: left shift input, left shift output, cyclic left shift, and cyclic right shift.
CN201610051144.9A 2016-01-26 2016-01-26 A kind of communication channel coding method and permutation code set generator Active CN105680992B (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201610051144.9A CN105680992B (en) 2016-01-26 2016-01-26 A kind of communication channel coding method and permutation code set generator
US15/060,111 US10230397B2 (en) 2016-01-26 2016-03-03 Construction method for (n,n(n-1),n-1) permutation group code based on coset partition and codebook generator thereof
US16/263,947 US10763896B2 (en) 2016-01-26 2019-01-31 Construction method for (n,n(n-1),n-1) permutation group code based on coset partition and codebook generator thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610051144.9A CN105680992B (en) 2016-01-26 2016-01-26 A kind of communication channel coding method and permutation code set generator

Publications (2)

Publication Number Publication Date
CN105680992A true CN105680992A (en) 2016-06-15
CN105680992B CN105680992B (en) 2019-05-03

Family

ID=56302623

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610051144.9A Active CN105680992B (en) 2016-01-26 2016-01-26 A kind of communication channel coding method and permutation code set generator

Country Status (2)

Country Link
US (2) US10230397B2 (en)
CN (1) CN105680992B (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110022278A (en) * 2019-03-06 2019-07-16 华中科技大学 The coding method of (n, n (n-1), n-1)-PGC and encoder in communication modulation systems
CN110022187A (en) * 2019-03-06 2019-07-16 华中科技大学 (n, n (n-1), n-1)-PGC algebraic decoding methods and decoder in communication modulation systems
CN110928725A (en) * 2019-12-17 2020-03-27 西安电子科技大学 Matrix representation-based multiple permutation code construction and decoding method in flash memory
CN111835670A (en) * 2020-06-09 2020-10-27 华中科技大学 N-dimensional amplitude and phase combined modulation method and modulator
US11758407B2 (en) 2020-06-20 2023-09-12 Huazhong University Of Science And Technology Construction method of TFDMA random self-organizing ad hoc network

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3732616A1 (en) * 2017-12-29 2020-11-04 INTEL Corporation Polar encoding and polar decoding systems and methods
CN115296971B (en) * 2022-06-23 2024-05-14 华中科技大学 Ultra-low complexity receiver consisting of permutated array signal constellations in a communication system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1461530A (en) * 2001-04-19 2003-12-10 皇家菲利浦电子有限公司 Method and device for encoding information words, method and device for decoding information words, storage medium and signal
EP1463255A1 (en) * 2003-03-25 2004-09-29 Sony United Kingdom Limited Interleaver for mapping symbols on the carriers of an OFDM system
CN101385245A (en) * 2006-02-17 2009-03-11 法国电信公司 Improved encoding/decoding of digital signals, in particular in vector quantification with codes with permutations
CN104836634A (en) * 2015-02-12 2015-08-12 华中科技大学 Method for constructing permutation code with code length of n and least distance of n-1, and code word sequence generator

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1461530A (en) * 2001-04-19 2003-12-10 皇家菲利浦电子有限公司 Method and device for encoding information words, method and device for decoding information words, storage medium and signal
EP1463255A1 (en) * 2003-03-25 2004-09-29 Sony United Kingdom Limited Interleaver for mapping symbols on the carriers of an OFDM system
CN101385245A (en) * 2006-02-17 2009-03-11 法国电信公司 Improved encoding/decoding of digital signals, in particular in vector quantification with codes with permutations
CN104836634A (en) * 2015-02-12 2015-08-12 华中科技大学 Method for constructing permutation code with code length of n and least distance of n-1, and code word sequence generator

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
STERGIOS STERGIOU: "Implicit Permutation Enumeration Networks and Binary Decision Diagrams Reordering", 《IEEE》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110022278A (en) * 2019-03-06 2019-07-16 华中科技大学 The coding method of (n, n (n-1), n-1)-PGC and encoder in communication modulation systems
CN110022187A (en) * 2019-03-06 2019-07-16 华中科技大学 (n, n (n-1), n-1)-PGC algebraic decoding methods and decoder in communication modulation systems
CN110928725A (en) * 2019-12-17 2020-03-27 西安电子科技大学 Matrix representation-based multiple permutation code construction and decoding method in flash memory
CN111835670A (en) * 2020-06-09 2020-10-27 华中科技大学 N-dimensional amplitude and phase combined modulation method and modulator
US11758407B2 (en) 2020-06-20 2023-09-12 Huazhong University Of Science And Technology Construction method of TFDMA random self-organizing ad hoc network

Also Published As

Publication number Publication date
US20190165814A1 (en) 2019-05-30
US10230397B2 (en) 2019-03-12
US10763896B2 (en) 2020-09-01
US20170214414A1 (en) 2017-07-27
CN105680992B (en) 2019-05-03

Similar Documents

Publication Publication Date Title
CN105680992B (en) A kind of communication channel coding method and permutation code set generator
CN107786211B (en) Algebraic structure obtaining method, encoding method and encoder of IRA-QC-LDPC code
CN102694625A (en) Polarization code decoding method for cyclic redundancy check assistance
CN112468161B (en) RS high-speed coding circuit
US11374596B2 (en) Algebraic decoding method and decoder for (n,n(n-1),n-1)-PGC in communication modulation system
Camion et al. Correlation-immune and resilient functions over a finite alphabet and their applications in cryptography
CN110022278B (en) Coding method and coder of (n, n (n-1), n-1) -PGC in communication modulation system
CN101296053A (en) Method and system for calculating cyclic redundancy check code
CN103023603A (en) Method for realizing bit-interleaved coded modulation based on low-density parity-check (LDPC) matrix
CN111835670B (en) N-dimensional amplitude and phase combined modulation method and modulator
Abbe Polarization and randomness extraction
US11552732B2 (en) Polar coding system and parallel computation method for polar coding system
CN100459438C (en) Reed-solomon decoder key equation and error value solving-optimizing circuit
Maiti et al. Generating nonlinear codes for multi-bit symbol error correction using cellular automata
CN102244521A (en) Blind identification method for coding parameter of return-to-zero Turbo code
CN104811211A (en) Construction method and device of Turbo code interleaver
KR100913467B1 (en) System And Method For Generating Parallel Cyclic Redundancy Codes
Li et al. AlgSAT---a SAT Method for Search and Verification of Differential Characteristics from Algebraic Perspective
RU51428U1 (en) FAULT-RESISTANT PROCESSOR OF INCREASED FUNCTIONAL RELIABILITY
CN112953878A (en) Construction method of n-dimensional time amplitude modulation signal permutation array constellation diagram and modulator
Etzion An algorithm for generating shift-register cycles
KR20080052832A (en) Method and apparatus for quasi-cyclic ldpc coding
Baïsse et al. Secret and Shared Keys Recovery on Hamming Quasi-Cyclic with SASCA
Fu et al. Overhead-free in-place recovery scheme for XOR-based storage codes
RU2793301C1 (en) Control machine with status monitoring

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant