Embodiment
I. summarize
The up-to-date technology of multi-user comm comprises: CDMA and time division multiple access (TDMA).These technology are widely used in single sub-district or many community mobile communications, and wherein TDMA is the basis of gsm mobile telephone system.
Fig. 1 represents the environment that multi-user comm exists.With reference to Fig. 1, communication channel 100 is expressed as the communication channel of additive noise.As an example, communication channel can be an air, the space, and such as lead, transmission line, or the electrical connection of microwave component, or optical fiber.Transmission produces signal (s+noise) by the influence that the incoming signal s of communication channel 100 is subjected to additive noise in the communication channel at the transmission line far-end.
Fig. 2 represents multi-address coding-the separate schematic diagram of code communication system 200.Communication system 200 comprises as a plurality of message transfers that are input to encoding block 210.Encoding block 210 these message of coding and by the communication channel 100 launching code message of making an uproar as composite signal.Decoding block 220 receives the composite signal that comprises noise and by such process this coded message of decoding, under the situation of zero interchannel noise, this process generally is the inverse process of cataloged procedure, or approaches inverse process at least.
Encoding block 210 and decoding block 220 all are expressed as monolithic.For example, under the situation of multiplexing fiber-optic communication system, may be single encoded and decoding block really, they are connected to the optical fiber as communication channel 100.Perhaps, in mobile communication system, one or two in encoding block 210 and the decoding block 220 can be the encoding block or the decoding block of uncoupling, and each user has one, and unique relative tertiary location is arranged between every.Fig. 3 A and 3B represent this situation.
Fig. 3 A represents a communication system.This communication system can comprise: for example, mobile unit 300 or mobile comm unit 310 are as employed in the cellular communication.System 300,310 can comprise: be coupled to the modulation/demodulation unit 320 of antenna 340, coding unit 210 and decoding unit 220, optional preposition and rearmounted coding and decoding unit 330, processor 350, memory 360 and I/O unit 370.
Processor 350 can be a microprocessor, microcontroller, digital signal processor, application-specific integrated circuit (ASIC), or any other devices that are suitable for control system 300,310 operations.Processor 350 control device 300 and 310 operation, and can be coupled to each functional block of their operations of control.Perhaps, any or all functional block can be implemented on processor in the device 300,310.By program stored instruction in the execute store 360, processor can control device 300,310, makes functional unit become activation, and is irrelevant with their specific embodiment.
Memory 360 storage data also can storage device 300,310 inner treaters 350 or the program command carried out of other unit.Memory can comprise: volatile memory, and nonvolatile memory, or the two.Memory can comprise: for example, read-only memory (ROM) and ROM device, as the CD-ROM device, hard disk and floppy disk, random-access memory (ram), database and any other type memory or storage arrangement.
I/O unit 370 can comprise the input/output device of any kind.These devices can comprise: display, and keyboard, microphone, loudspeaker, video camera, vibrating device is connected to the modem of network, and as PSTN, the interference networks of local area network (LAN) or wide area network or server are referred to as the router and the bridge of the Internet.
At run duration, processor 350 can make device 300,310 open communication channel with another communicator through antenna 340, and this communicator is followed CDMA or TDMA agreement.Under the situation of wireless cellular telephony, communication channel can be used for carrying out call.Processor 350 can also be from I/O unit 370 or memory 360 received signals, for example, speech or data-signal, and based on the data or the voice signal that receive, can dateout message to preposition and rearmounted coding and decoding unit 330.Data-message can send according to this by coding unit 210 and modulation/demodulation unit 320, and from following the antenna output of suitable communication protocols.Similarly, in the opposite direction, processor can be through antenna 340, and decoding unit 220 and preposition and rearmounted decoding unit 330 receive data-message.Then, based on the data-message that receives, processor can output signal or other data to one or more I/O unit 370, or the storage data are to memory 360.In this manner, on behalf of this device users, device 300,310 can finish communication function.
Preposition and rearmounted coding and decoding piece 330 is chosen wantonly.Its purposes can be to insert (being deciphering) error correcting code under the decoding situation in data-message, or before coding or after the decoding, intersects or goes to intersect data or deal with data message.Under the situation of inserting error correcting code, can utilize any error correction or error protection pattern, comprise Cyclic Redundancy Check pattern and forward error correction (FEC) pattern.
The Code And Decode piece can be conventional CDMA or TDMA encoding block, or the title of October 5 calendar year 2001 application is the Go-CDMA encoding block described in the U.S. Patent application of " Method and Apparatus for Non-LinearCode-Division Multiple Access Technology ", it is incorporated in this is for reference.Encoding block 210 and decoding block 220 can be implemented the Go-CDMA Code And Decode pattern according to embodiments of the invention.Perhaps, Go-CDMA coding and CDMA coding can be present in the hybrid system shown in Fig. 4 B simultaneously.
Modulation/demodulation unit 320 can combine with any suitable amplifier, is used to set up the modulated output signal s based on TDMA or CDMA pattern, comprises the CDMA pattern of utilizing the Go-CDMA technology.
Consider CDMA mode communication apparatus 300,310, it comprises: the processor of execution of program instructions or other devices are used to finish the decoding function of the encoding function and the decoding block 220 of encoding block 210.In the case, can utilize data and program command updated stored device 360, configuration codes piece 210 and decoding block 220 are to implement according to Go-CDMA Code And Decode pattern of the present invention.Program command and data or the data that receive through antenna 340 can be encased in memory 360 through one or more I/O unit 370.
Fig. 3 B represents that a plurality of mobile units 310 carry out the schematic diagram of cellular communication by make an uproar wireless channel 100 and base station 300 are arranged.Mobile radio station 300 and each coding unit 210 separately can be considered to and be equivalent to single encoded unit 210 shown in Figure 2, and n the data message that is used to encode is launched by noisy channel 100.In this case, base station and decoding unit 220 thereof can be considered to and be equivalent to single decoding unit 220 shown in Figure 2, and n of the composite signal plus noise that is used to decode receives data-message.
In the wide-band mobile communication of third generation standard, chosen the CDMA scheme.Potential technology is the majority logic coding, and it does not also send any widely used communication system in a large number to.This potential technology is the basis of Go-CDMA technology of the present invention in the co-applications patent, and therefore, it also is the basis that the present invention strengthens the Go-CDMA technology.
The polynomial construction of majority logic code signal
Go-CDMA nonlinear code division multiple access technology partly utilizes sign or sgn majority logic function, wherein:
With
Or (1.2)
The majority logic code signal, for example, Go-CDMA code signal s (τ) | τ ∈ [0, t] is as the function of time τ, according to as give a definition:
Or
I=1 wherein ..., n channel number, d
i± 1 is the information bit of i channel, and X
i(τ) | τ ∈ [0, t] is the bipolar code word of i channel.Code word is in time cycle [0, t] interior m interim equal time piecewise constant.In some applications, it is orthonormal requiring code word:
I wherein, j=1 ..., if n is i ≠ j, then δ
Ij=0; Otherwise δ
Ij=1, but always not this situation.
In 1964, following s (τ) is proposed | the multinomial series structure of τ ∈ [0, t]:
The formula that wherein provides is only to calculate ρ according to n
0, ρ
1And ρ
n, as follows:
ρ
0=0
For i=2,3 ..., n-1, | ρ
i|<ρ
1
We observe herein, and all possible selection provides (n+1) individual unknown number ρ
0, ρ
1... ρ
n(n+1) individual linear formula, and, can find the solution all ρ for the integer of any n 〉=2
iEqually, when n is even number, for the different s of s (τ)
±(τ), identical polynomial construction is arranged, and can calculate unknown number ρ
0, ρ
1... ρ
nIn fact, when n is even number, the ρ among the s (τ)
0=0, and s
±ρ (τ)
0≠ 0.When n is odd number, s
±(τ)=and s (τ), at all unknown number ρ
0, ρ
1, ρ
2... ρ
nIn, ρ
0=ρ
2=...=ρ
N-1, therefore, s
±Coefficient ρ (τ)
iBe ρ
1, ρ
1, ρ
3, ρ
3... ρ
N-2, ρ
N-2, ρ
n, wherein (n+1) is even number.
Equally in some applications, require these functions X
i(τ), X
i(τ) X
i(τ) ..., X
1(τ) X
2(τ) ... X
n(τ) be mutually orthogonal.
The best PRML of majority logic code signal detects
When the data flow of n channel of coding, because data have 2
nIndividual different combination, so 2
nIndividual different signal s
*(τ) | τ ∈ [0, t] also is possible.Herein, s
*(τ) expression s (τ) or s
±(τ).Therefore, measure, utilize 2 according to the least square of standard
nIndividual correlator or matched filter banks, 2
nEach signal in the individual possibility signal has one can realize the optimum detection of majority logic to choose the signal that optimum Match is arranged, particularly the n position signal data vector { d of Go-CDMA coding
1, d
2... d
3.The cost of this optimum detection algorithm is the complexity of detection architecture, and it is to increase by exponential manner with data channel number n.
The conventional suboptimum of majority logic code signal detects
Conventional majority logic decoding schema is based on following rule estimation d
iInformation:
I=1 wherein ... n.(1.7)
Can utilize this detection algorithm with decoding Go-CDMA nonlinear code division multiple access technology.According to formula (1.7) and (1.3), can observe this detection algorithm and under required orthogonality, extract nonzero term in the polynomial construction (1.5).This is effectively, because the nonzero term that can observe among the polynomial construction s (t) according to formula (1.6) is carried most information bit signal energy.
The improvement suboptimum of majority logic code signal detects
At n is under the situation of odd number, and the actual augmentation that above suboptimum detects is the last term of extracting in decoding among the polynomial construction s (τ), because this also carries d
iMost information position signal, as follows:
(a) estimation z
iCorrelation, i=1 wherein ..., n+1,
i=1,...,n,
(b) estimation information bit
Defer to following rule:
I=1 wherein ..., n (1.9)
Perhaps, as | z
i|>| z
j| the time, i=1 wherein ... j-1, j+1 ... n+1, and j=1 ..., n.
This improvement can produce the better estimated value of a n information bit, and this estimation that is based on correlation in (1.5) last term replaces the most weak information bit estimated value
Be this situation under the low noise that meets the following conditions:
(a) mistake occurs in the point of least correlativing coefficient value, | z
j|;
(b) every other information bit
Be zero defect, i=1 wherein ... n and i ≠ j.
Herein, we observe, and it is odd number and only consider s that identical method can be used for situation that n is an even number and n
±(τ) situation of replacement s (τ).
The Go-CDMA sign indicating number
These sign indicating numbers be October 5 calendar year 2001 day header for described in the co-applications United States Patent (USP) of " Method and Apparatusfor Non-Linear Code-Division Multiple Access Technology ", it is incorporated in this is for reference.Put it briefly, these sign indicating numbers are elements set 1, the sign indicating number of generator matrix G form among the+1}, for element gather 1, the bipolar vector d the among+1}, then
If d is a ternary, or in the particular subset of trinary data is closed, then
Wherein | x| is the amplitude of x.This means, in the building block of multi-address communication system, form the bipolar data of excited users of data d vector and possible pseudo-excited users data and zero non-excited users " data " and can be decoded into s=sgn
±(Gd).For the error-free communication in the zero interchannel noise incident, this amount is launched and is decoded into
Perhaps, it by chance is healthy and strong estimated value.
Multistage Go-CDMA coding
Parallel encoding or decoding block constitute coding or decoder stage, are connected in series these grades formation multilevel coding and decode system.Intergrade can relate to various in-place computations.
Convolutional encoding
According to embodiments of the invention, convolutional encoding and decoding technique can be used for the coding transmission signal.An example of convolution decoder technology is the PRML decoding that is referred to as the Viterbi algorithm.
Armed information sequence transmission can realize convolutional encoding by linear finite state register.In general, with reference to figure 5, shift register 504 comprises M (m position) level and n linear algebra function generator 503.The input data 501 of supposing encoder 500 are binary datas, and displacement enters shift register 504 according to this, each m position.The carry-out bit number of each m position list entries is the n position.Therefore, code check is defined as
Parameter M is referred to as the constraint length of convolution code.
A kind of method of describing convolution code is to utilize its generator matrix.In general, the generator matrix of convolution code is semi-infinite, because the length of list entries is semi-infinite.As the another kind of scheme of regulation generator matrix, we stipulate limited dimension generation system.We stipulate one group of n vector, give vector of each adder in n modulus 2 adders 503.The amplitude of each vector is Mm, and comprises the connection of encoder 500 to modulus 2 adders 503.
In particular, we consider binary convolution encoder 500, its constraint length M=3, and m=1 and n=3, Fig. 6 represent this situation.At first, suppose that shift register 504 is in all-zero state.Suppose that the first input position is ' 1 '.Then 3 output sequence is ' 111 '.Suppose that second is ' 0 ', then output sequence is ' 001 '.If the 3rd is ' 1 ', then output is ' 100 ', or the like.Now, suppose that we are numbered 1,2 and 3 for the function maker output that produces per 3 output sequences, from top to bottom, similarly, give each respective function maker numbering.So because only the first order is connected to the first function maker (not needing modulus 2 adders), then maker is
g
1=[100] (1.12)
The second function maker is connected to the first order and the third level.Therefore.
g
2=[101] (1.13)
At last,
g
3=[111] (1.14)
Sometimes, the maker of planting sign indicating number is to provide with the octal system form easily, as (4,5,7).
Different with the block code that regular length n is arranged, convolution coder is finite state machine basically.So the best decoding of convolutional encoding sequence relates to dynamic programming and searches for by grid to obtain the most probable sequence.Detector carries out hard decision or soft decision after depending on demodulator, and the correspondence metric in the grid search is respectively Hamming tolerance or Euclidean tolerance.The best decoder of convolutional encoding is referred to as the Viterbi algorithm, and it has PRML sequence estimation amount.
The details that in application text, provide the present invention to utilize convolutional encoding, but in standard textbook, can find standard convolutional encoding and decoding, the definition of different sign indicating number tolerance and the more particulars of best Viterbi algorithm.According to the present invention, can utilize any convolutional encoding and decoding schema.
The Turbo coding
The citation form of the encoder of Turbo encoder 400 comprises: two systematic encoders 410 that link together by means of interleaver 420, as shown in Figure 7.The Turbo code utilization is only to the pseudorandom interleaver 420 of system bits computing.In the Turbo coding, utilize interleaver that two reasons are arranged, that is:
Half incidental mistake in the Turbo code and in second half utmost point do not allow incident mistake to link together.This really why the Turbo coding because the main cause of conventional code.
Provide healthy and strong performance to mismatch decoding, the mismatch decoding is a problem unknown in channel statistical or that occur during by wrong regulation.
Usually, but needn't be like this, identical sign indicating number is used for two encoders 410 of Fig. 7.Composition sign indicating number to the Turbo code suggestion is short constraint length recursive system convolution (RSC) sign indicating number.Provide the example of eight state rsc encoders 410 among Fig. 8.The reason that makes convolution code become recurrence (input is got back in one or more tap output feed-ins in the shift register) is to make the internal state of shift register depend on output in the past.The feature (single error in the system bits produces the parity error of infinite number) that this influences the mistake figure consequently realizes the better performance of overall coding strategy.We also know, utilize the conversion of particular transform algorithm, and each rsc encoder 410 has suitable standard convolution coder.
In Fig. 7, input directly is added to encoder 1, and the pseudorandom of the same data stream version that reorders is added to encoder 2.Two group coding positions of system bits (that is original message bits) and two encoder 410 generations constitute the output of Turbo encoder 400.Though becoming demal is convolution code, in fact, Turbo code is a block code, and its block length is determined by interleaver 420 length.In addition, because two rsc encoders 410 among Fig. 7 are linear, we can describe Turbo code is linear block code.
In receiver, the signal that two stage Turbo encoders 450 shown in Figure 9 can be used for encoding and receive.In described example, every grade in two decoder stage 451 is utilized Bahl, Cocke, and Jelinek and Raviv (BCJR) algorithm is to solve (MAP) detection problem of maximum " posterior probability ".Bcjr algorithm is different from the Viterbi algorithm at following two basic sides:
1.BCJR algorithm is " soft input, soft output " decoding algorithm that twice recurrence arranged, forward direction and once the back to, this twice recurrence all relates to soft decision.Contrast therewith, Viterbi algorithm are " soft input, hard output " decoding algorithms, and the single forward recursive relates to soft decision; The recurrence end is hard decision, therefore obtains specific remaining path between several other paths.Consider that from the evaluation work aspect because backward recursive, bcjr algorithm is more complicated than Viterbi algorithm.
2.BCJR algorithm is the MAP decoder, by " posterior probability " of individual bits in the estimation code word, it makes the faults minimum; In order to rebuild original data sequence, the soft output of bcjr algorithm is hard-limiting.On the other hand, the Viterbi algorithm is a PRML sequence estimation amount, and it makes whole sequence rather than every 's likelihood function maximum.Therefore, bcjr algorithm can be better than the Viterbi algorithm slightly; It will not be poorer.
In Turbo decoder shown in Figure 9, the system bits u ' of reception
kWith bits of coded d '
1 kFeedback data with the early decoding process is handled by first order BCJR decoder 451.The result of this process is intersected by pseudorandom interleaver 420 again.The output of interleaver and the bits of coded d ' of reception
2 kHandled by second level BCJR decoder 451 together.The output of this second level BCJR decoder 451 is gone interleaver 421 to go to intersect by two pseudorandoms of separating.A pseudorandom goes the output of interleaver to feed back to first order BCJR decoder, as receiving position decode procedure afterwards.Another pseudorandom goes the output transmission of interleaver by hard limiter threshode devices 430, obtains transmitting the estimated value of information bit.
The details that in application text, provide the present invention to utilize Turbo coding, but in standard textbook, can find the more particulars of standard Turbo Code And Decode and best bcjr algorithm.Should be understood that according to the present invention and can utilize any Turbo Code And Decode pattern.
The linear block coding
The normal linearity coding techniques, for example, the sign indicating number generator matrix, parity-check matrix and bug list can be as the part cataloged procedures according to the embodiment of the invention.
Block code comprises one group of regular length vector that is referred to as code word.Code word size is the element number in the vector and is masked as n.Element in the code word is selected from the letter of q element.When letter was made up of two
elements 0 and 1, this sign indicating number was a binary code.When code word element is selected from q element alphabetical (q>2), this sign indicating number is a nonbinary code.In being the binary system block code of n, length has 2
nIndividual possibility code word.From these 2
nIn the individual code word, we can choose V=2
mIndividual code word (m<n) to form a sign indicating number.Therefore, the piece of m information bit is transformed into and is selected from V=2
mLength is the code word of n in the individual codeword set.The block code ratio that forms is
Make u
V1, u
V2... u
VmThe presentation code vector code word N that embarks on journey
vM information bit.Therefore, m the information bit sign vector that enters the linear block code encoder is
U
v=[u
v1,u
v2,...u
vm] (1.15)
And the output of encoder is vector
N
v=[n
v1,n
v2,...n
vn] (1.16)
The coding computing of finishing in the linear binary block encoder can be represented with one group of n equation form.
n
vj=u
v1g
1j+u
v2g
2j+...+u
vmg
mj,j=1,2,...n (1.17)
G wherein
Ij∈ 0,1}, and u
Xig
IjRepresent u
XiWith g
IjProduct.These formula can also be expressed as matrix form:
N
v=U
vG (1.18)
Wherein G is referred to as the generator matrix of sign indicating number, and G is expressed as
Can be by row operation (and column permutation) ratio
The generator matrix of linear block code is reduced to " system form "
I wherein
mBe m * m unit matrix, and P is the matrix of the m that determines n-m redundant digit or parity check bit * (n-m).For the system linear block code, its generator matrix G is provided by its " system form ", and then parity check matrix H is
H=[-P′|I
n-m] (1.21)
Wherein P ' is a P transpose of a matrix matrix.When handling binary code, the negative sign the among-P ' can omit, because modulus 2 subtractions are identical with modulus 2 additions.
Generator matrix G is used in the coding computing in the transmitter.On the other hand, parity matrix is used in the decoding computing in the receiver.Under the linguistic context of latter's computing, make r represent that 1 * n receives vector, it is to obtain by the code vector c that noisy channel sends.Therefore, r can be expressed as following form
r=c+e (1.22)
Wherein e is referred to as error vector or error mode.If the corresponding element of r is identical with the element of c, then the i element of e equals ' 0 '.On the other hand, if the corresponding element of r is different with the element of c, then the i element of e equals ' 1 ', in the case, just says that error occurs in the i position.The task of receiver is according to receiving vector r decoding code vector c.Being generally used for finishing this algorithm of decoding computing is at first to calculate 1 * (n-m) vector that is referred to as fault.Provide 1 * n and receive vector r, corresponding fault definition is
Fault=rH ' (1.23)
Wherein H ' is the matrix transpose of parity check matrix H.The complete form of fault is referred to as bug list usually.
The details that in application text, provide the present invention to utilize linear block coding, but in standard textbook, can find the more particulars of calibrated bolck Code And Decode.Should be understood that according to embodiments of the invention, can utilize any linear block coding mode.
Grid coding
The sign indicating number lattice are diagrammatic representations of convolution code or block code, and wherein every paths is represented code word (or sign indicating number sequence).This expression might be implemented the PRML decoding (MLD) of sign indicating number, can reduce the complexity of decoding greatly.The grid base MLD algorithm of knowing most is the Viterbi algorithm.The error control of convolution code grid representation in the Viterbi decoding algorithm causes convolution code over the past two decades Applied Digital is communicated by letter widely.The grid representation of linear block code also causes effective MLD pattern of linear block code.
The Coded by Linear Codes device that comprises the convolution code and the block code of finite memory, the model that can be used as finite state machine, wherein Γ={ 0,1, any instantaneous output code position of 2...} is by current input information position and coder state is definite uniquely at this moment during encoded interval.Utilize this model, the dynamic characteristic of encoder represents it is lattice diagram form shown in Figure 10.The trellis encoder of convolutional encoding process has mesh transformations, and it begins and proceed to next state from nought state, and is relevant with system next input.Usually, for given system restriction length, preceding after what, mesh transformations will arrive the transient state that repeats with state in the past.Be typically, trellis encoder is to be made of finite state encoder and transform block, and transform block becomes signal in the given signal constellation which to the output transform of encoder.
Usually, grid decoder is to constitute (for example, Viterbi decoder) by one group of filter and a MLD decoder.Signal Matching in each filter and the given planisphere.The output of filter is used to calculate the branch metric of Euclidean range measurement.This tolerance is used for the MLD decoder to determine the PRML list entries.
The lattice figure of convolution code generally is that the time is constant.Yet, the lattice figure of linear block code normally the time variable.Figure 11 and 12 represents the variable lattice figure of time of constant lattice figure of the time of convolution code and linear block code respectively.
The details of the uniform enconding grid representation of convolutional encoding of the present invention and linear block coding are provided in application text, but in standard textbook, can find standard network trellis coding and decoding, different trellis code defined matrixs and the optimal mapping sign indicating number lattice more particulars on the modulated signal constellation.According to embodiments of the invention, can utilize any grid coding and decoding schema.
Utilize convolution or the Turbo or the block encoding of trellis coded modulation
Output in convolution or Turbo or the background block error correcting encoder process can transform to maximum Euclidean distance or maximum Hamming distance from a networking trellis code word.Finish trellis coded modulation (TCM) technology that this conversion can propose in nineteen eighty-two based on Ungerboeck or according to the deriving technology of this technology.
The optimal detector of this TCM based system is PRML detector (MLD).MLD base detector often has complicated hardware, and complexity increases by exponential manner with the signal sum that may detect.
According to embodiments of the invention, can utilize any trellis coded modulation and demodulation modes.One of this TCM basic mode formula is that the output transform of the embodiment of the invention is become non-linear block code matrix.
The nonlinear code matrix
The nonlinear code matrix is a rectangle nonlinear code matrix, and if possible, this matrix is to be made of the less non-linear and linear code matrix that satisfies the Plotkin boundary.This non-linear code word matrix utilizes the Levenshtein structure to constitute.If find that non-linear code word matrix not in the Plotkin boundary, then utilizes other building method, for example, utilize | u|u v| building method.Because the non-linear code word matrix of the latter is not in the Plotkin boundary, their concrete length does not have best minimum code distance.Yet the minimum range of these non-linear code word matrixes can have maximum probable value.
At given minimum code distance c
Min-distDown, the Plotkin boundary is the possible maximum length upper limit of the non-linear code word matrix of control.
The Plotkin boundary
If c
Min-distBe even number and 2c
Min-dist>l, then
Wherein l is the length of nonlinear code word, and 2
mIt is possible non-linear number of codewords.If c
Min-distBe odd number and 2c
Min-dist+ 1>l, then
The Plotkin boundary is the good measure that the given length of non-linear block code descends best minimum code distance.
The Levenshtein structure
This building method can utilize the Hamming matrix of smaller length.In order to construct nonlinear code ξ, just require following definition:
1. if 2c
Min-dist>l 〉=c
Min-dist, then definition
With
α=c
min-dist(2k+1)-l(k+1),β=kl-c
min-dist(2k-1)。
α and β all be nonnegative integer and
l=(2k-1)α+(2k+1)β
c
min-dist=kα+(k+1)β
Therefore, when l was even number, then α and β were even numbers.When l is odd number and k when being even number, then β is an even number, otherwise when l and k were odd number, then α was an even number.
Utilize the Levenshtein structure, nonlinear code ξ is:
Wherein is modulus 2 additions, A
nBe deletion first row and length be n binary system Hadamard (all elements be gather 0, among the 1}), and A '
nBe at A
nThe code word that basis zero begins in the matrix is also deleted the zero initial set of matrices of deriving.
| u|u v| structure
This building method is to set up non-linear code word matrix in such a way from less matrix:
1. suppose (l, 2
M1, c
Min-dist1) sign indicating number ξ
1(l, 2
M2, c
Min-dist2) sign indicating number ξ
2Identical length is arranged, can form new nonlinear code ξ
3, comprise all vectors
ξ
3=|u|uv|,u∈ξ
1,v∈ξ
2,
Wherein all non-linear code words be binary system 0,1}
2. the sign indicating number ξ that forms
3Be (2l, 2
M1m2, c
Min-dist3=min{2 c
Min-dist1, c
Min-dist2)
In conjunction with above various building methods, can extract the nonlinear code matrixing of the present invention's output from the row and column of quadrature Hadamard matrix, or according to less non-linear code word matrix construction, or from the output signal of itself, derive.
The RAKE receiver structure
When the processing propagation was selected the signal of broad-band channel by frequency, the problem of multipath fading often appearred.If L different mulitpath is to add up independently, then we can obtain L duplicate of identical traffic signal in receiver.Therefore, press best mode and handle the performance that the receiver of received signal obtains the L level diversity communication system of equivalence.RAKE receiver is the receiver that diversity is optimized.Figure 13 represents to utilize the RAKE receiver ideal device of wall scroll delay line, and signal r (t) transmission of reception is by this delay line.The signal of each tap place is and X
Nj(t) pn
Ch(t) relevant, j=1 wherein, 2 ... L and ch=1,2.Figure 13 represents the structure 700 of this receiver.In fact, tapped delay receiver 700 is attempted to collect signal energy from all signal paths, and these signal paths drop in the span of delay line and carry identical information.In Figure 13, every is detected the path by each tap place
Postpone 701 separately.In in-phase channel (i=1), also be referred to as real channel and, also be referred to as empty phase channel at quadrature phase channels (i=2), the broadband signal of reception is at first by pseudo random sequence pn
i702 descramblings.Be signaling interval X subsequently for different chip offset
n(t), the signal that receives on the every paths of decorrelation.In Figure 13, this is in step 703, finishes in 704 and 705.In addition, in step 704, the signal plus of all RX path makes the signal strength signal intensity maximization of reception together.At last, step 706 is removed the phase difference between reality bit channel and the empty phase channel, and the information of detection is fed into sample-and-hold device 707, prepares to do further decoding.
Be important to note that,, then can utilize the matched-filter approach among Figure 13 to finish " RAKE symbol detection " if the signal that receives has known signature or symbol, otherwise, " detection of RAKE chip " method only can be attempted.Last method is easier to implement, and can do very effectively, and back one method requires very complicated chip signal follower, and is easy to generate intersymbol interference.
The details that in application text, provide the present invention to utilize the RAKE receiver structure, but in standard textbook, can find the more particulars of different RAKE receiver structures.Should be understood that according to embodiments of the invention, can implement any RAKE receiver pattern.
Intersect
Interleaver is the input-output converting means, replaces the ordering of symbol sebolic addressing in the fixing letter according to complete certainty mode, in other words, takes out symbol at input, and produces the same-sign of different time order at output.Therefore, interleaver is effective ways of handling sudden mistake channel, because its intersect coding data in such a manner makes sudden channel conversion become to have the channel of independent error.
Interleaver can have a lot of types, and two kinds on preiodic type and pseudorandom type wherein arranged.Interleaver can also adopt one of two kinds of forms: block structure and convolution structure.The latter is applicable to the convolutional encoding pattern.
The details that in application text, provide the present invention to utilize intersection, but in standard textbook, can find the more particulars of intersecting and going to intersect.According to embodiments of the invention, can implement any intersection and go cross-mode.
The II.Go-CDMA detecting pattern
The Go-CDMA decoding that strengthens
Accurate suboptimum detection algorithm (1.8)-(1.10) of majority logic coding can advantageously be applied to the Go-CDMA decoding block.This be applied under the following condition may be particularly advantageous: low noise environment, Go-CDMA decoding block are decoder stage in the end, perhaps are convolution decoder at it after, and Turbo decoding or piece are decoded.
The enhancing information flow of decoding to subordinate
According to embodiments of the invention, the Go-CDMA decoding block has output z
i, i=1 wherein ... n, and at i=1 ... under the situation of n+1, the z that provides by (1.9) then
iTransmission extra order z
I+1To next decoder stage.Following n=3, the situation of n=5 has special nature:
The situation of n=3.If channel number n equals 3, then the Go-CDMA code signal is:
Consequently, under muting situation, information bit satisfies d
i=z
i, i=1 wherein, 2,3, and d
1d
2d
3=-z
4Really, for 3 * l Go-CDMA sign indicating number, X
i() is orthonormal, and perpendicular to product X
1() X
2() X
3() therefore, can extract d by decorrelation
i=z
i, i=1 wherein, 2,3, and d
1d
2d
3=-z
4
The situation of n=5.If channel number n equals 5, then the Go-CDMA code signal is:
For 3 * l Go-CDMA sign indicating number, X
i() is orthonormal, and X
i(), X
i() X
i() X
k() and x
1() X
2() X
3() X
4() X
5Orthogonality is also arranged between ().According to formula (1.25) as can be seen, can information extraction position d by decorrelation
iWith product d
id
jd
kAnd d
1d
2d
3d
4d
5
Under the situation of n>5, point out that following this point is useful, in decorrelation, extract
The value of all multinomial coefficients is relatively little.This is because ρ
iThe factor reduces when n>5 apace, wherein
An example of this situation is n=7.In the case, the Go-CDMA code signal is:
Herein, when i ∈ 2, during n-1}, ρ
iValue is very little.In addition, relate to the required orthogonality of function and be false, except approximate situation, it is coarse therefore making any extraction.
Certainly, suboptimum detecting pattern (1.8)-(1.10) can be used for the situation of other n.According to coefficient ρ among Figure 14
iRelation between value and the n value, wherein n is an odd number, we can observe under unusual opposite extreme situations, when n=65, from (1.5) first nonzero term and last term still can extract signal amplitude 10% (corresponding to signal power 1%).Under actual conditions, we only need to utilize n≤9 of suboptimum detecting pattern in (1.8)-(1.10), wherein can extract about 10% signal power at the most.
III. the multilevel coding that has the Go-CDMA code level
As above described in the joint, the Go-CDMA decoding not only can provide Go-CDMA information encoded position d
1, d
2... d
n∈+1, the estimated value of-1}, but also parity check bit d is provided
N+1:=d
1d
2... d
n∈+1, the estimated value of-1}.These soft estimated value is masked as
Can be used in any subsequent decoding.The key of this point is to consider that the Go-CDMA encoder is driven by these n+1 positions, and estimates these positions in the Go-CDMA decoding.Any previous coding produces the n+1 position to obtain n information bit as by the model of augmentation with the generation additional parity bit so lump together.When the estimated value of these n+1 positions of decoding, decoding is the encoder that utilizes augmentation.This provides in following coding example, the various Go-CDMA coding techniquess that wherein utilize the Go-CDMA coding to follow.
A) secondary convolution/Go-CDMA coding
Consider to have the standard or the optimization of M shift register
The ratio convolution coder.This encoder is discrete time finite memory dynamical system or finite state machine, and m bipolar input arranged, and is masked as u
kM bipolar state is masked as x
kWith n bipolar output, be masked as d
kHerein, k=0,1,2 ... be the discrete time index.Suitable encoder act on set 0, unipolar signal among the+1}.In order to simplify, the special circumstances of the single input of we concentrated discussion m=1, therefore, input is a bipolar data stream, and n output is the n vector current of bipolar coding data, its element is (d
K1, d
K2..., d
Kn) ∈+1 ,-1}.In the case, our formula that provides encoder is
x
k=Ax
k-1+Bu
k; x
0=0,
Herein,
And g
i|
I ∈ 1,2,3...n}It is the row n vector that bipolar element is arranged.(if u
kWith the element of G be one pole, x then
kAnd d
kAlso be one pole, provide now
Wherein []
2Point out that any addition all is modulus 2 additions.
Now, we this encoder augmentation to output (d is arranged
K1, d
K2..., d
K (n+1)) ∈+1 ,-1}'s
Rate encoder, wherein d
K (n+1)=d
K1d
K2... d
KnMatrix G in the formula (1.28)
TOnly by additional column g
N+1Augmentation, wherein each element g
N+1, iBe " parity check " of above element, g
N+1, i=g
1, ig
2, i... g
N, i
Figure 15 provides simple case of this situation of explanation, and wherein solid line is pointed out two shift registers
Ratio convolution coder, dotted line point out that augmentation becomes
Convolution coder, therefore, m=1, M=2, n=3.Shown in Figure 15
Convolution coder, but do not have convolution carry-out
bit 502x, { 0, the single information bit stream of+1} produces the
binary bit stream 502 of 3 vector convolutional encodings to the coding binary form, is masked as d
K1, d
K2And d
K3Then, utilize the d shown in the 502x
K4=d
K1 d
K2 d
K3Carry out augmentation, form
The ratio convolution coder, wherein is
modulus 2 add operations.Then, bit stream d
K1, d
K2And d
K3(ignore d
K4) at { d
1, d
2, d
3Intersect (process 600) in the symbolic blocks.Then, by means of 0 →+1 ,+1 →-the 1} conversion, make these convert bipolar binary form to.Then, utilize Go-CDMA cataloged
procedure 210, encoded in these bipolar coding positions, produce some extension bits according to the required channel expansion factor.Then, use scrambling at random and shelter
sign indicating number 365.
In receiver, after sheltering
yard descrambling 368 at random and going to intersect before 610, can in 502x, recover d
4Estimated value, be masked as
This is the contribution of Go-CDMA decoding embodiment, and it utilizes the last term in the formula (1.5).In receiver, utilize the soft decision Go-CDMA decoded signal of can decoding.Then, decoded signal through conversion+1 → 0 ,-1 →+1} converts binary form to.The data of going to intersect can be fed into carries out soft decision Viterbi convolution decoder
Convolution coder.
Figure 15 only represents the simple case of the embodiment of the invention.Other embodiment can have different m and n value, has the delay shift register 504 of different number M and the different tapped delay of each convolution process 503 to be connected.
Figure 16 A represents that random code in transceiver system 300 and 310 shelters 365 and go to shelter the simple block diagram of general structure before 368, comprising: convolution coder 500 and decoder 510, Go-CDMA encoder 210 and decoder 220, interleaver 600 and remove interleaver 610.Figure 16 B-16D represents the various variations of this embodiment general structure.
Utilize any block encoding after convolutional encoding, for example, Go-CDMA coding is to allow ' RAKE symbol detection ' receiver structure to be used to detect the convolutional encoding sequence and the signature expansion is needed.It is to utilize pure convolutional encoding to make Achilles heel of channel expansion in spread spectrum system that pure convolutional encoding can not be signed detection to bits of coded.In utilizing the Go-CDMA coding of augmentation convolution process, allow to utilize the advantage of ' RAKE symbol detection ' receiver structure to be, former convolutional encoding ratio from
Bring up to
There is corresponding performance to improve.Utilize the Go-CDMA coding to have the actual loss of some signal energies, compensate but this loss partly is utilized the parity check bit estimated value that strengthens the Go-CDMA decoding.
Even do not utilize the parity check bit estimated value with the situation that obtains the gain of better convolutional encoding under, the embodiment of the invention is utilized convolutional encoding and combining that Go-CDMA encodes, allow to utilize ' RAKE symbol detection ' receiver structure, otherwise this is impossible, and utilizes the Go-CDMA coding can obtain more healthy and stronger antinoise and the characteristics of signals of better peak value with the ratio (PAP) of average power.
Basic embodiment
In such as 3G and the application of 3G+ employing wireless, the basic embodiment of the embodiment of the invention is to utilize the system of convolution coder in the transmitter, and its parameter is in following scope, m ∈ 1,2,3,4,5,6,7, and 8}, n≤9, M ∈ 3,4,5,6,7,8,9 ... M
MAX, M wherein
MAXIt is the shift register maximum number that current technology can be supported.About the Go-CDMA encoder, its parameter n is in scope n≤9, and l is arranged to the required spreading factor of spread spectrum system, and for example, data rate is 4 chips of 1Mbps in contemporary 3G standard.Preferred n value be odd number value 3,5,7,9}.Interleaver should have sufficient length to handle the sudden mistake of expecting in the transmission channel.In receiver, the compatible interleaver that goes is used in after the soft decision Go-CDMA decoding.Utilizing the convolution interleaver is preferably to select among the convolutional encoding embodiment.Go the output of interleaver to be handled by soft decision Viterbi convolution decoder process, wherein the depth of decode of Li Yonging is to postpone 6 times of tap length in the convolution coder at least.
At given g
N+1The constraint and
Under the ratio sign indicating number, can utilize other convolution code multinomial generator matrix G.The performance metric of these code generators comprises: no code distance, and optimum distance distributes, and best minimum range and optimal spectrum distribute.In a preferred basic embodiment, utilize the G generator matrix of optimizing.Yet,, also can utilize " suboptimum " convolution code multinomial generator matrix G according to embodiments of the invention.
Complicated embodiment
Except the basic embodiment of above convolutional encoding embodiment, below provide complicated or preferred embodiment.
Complicated embodiment such as 3G and 3G+ wireless application is the system that utilizes convolution coder in transmitter, and its parameter is in following scope, m ∈ 1,2,3,4,5,6,7, and 8}, n≤9, M ∈ 3,4,5,6,7,8,9 ... M
MAX, M wherein
MAXIt is the shift register maximum number that current technology can be supported.About the Go-CDMA encoder, parameter n is in scope n≤9, and l is arranged to provide the required spreading factor of spread spectrum system, and for example, data rate is 4 chips of 1Mbps under contemporary 3G standard.Preferred n value be odd number value 3,5,7,9}.Interleaver should have sufficient length to handle the sudden mistake of expecting in the transmission channel.In receiver, the compatible interleaver that goes is used for after the soft decision Go-CDMA decoding.Utilizing the convolution interleaver in this convolutional encoding base embodiment is preferred selection.Go the output of interleaver to be handled by soft decision Viterbi convolution decoder process, the depth of decode of utilization is to postpone 6 times of tap length in the convolution coder at least.
In complicated embodiment structure linguistic context scope, at given g
N+1Constraint and ratio
Under the convolution code, can utilize other convolution code multinomial generator matrix G.In preferred complicated embodiment, utilize the G generator matrix of this optimization.Yet,, also can utilize " suboptimum " convolution code multinomial generator matrix G according to embodiments of the invention.
Figure 17 represents to can be used for to finish the block diagram of the more complicated embodiment of channel expansion.With reference to Figure 17, coding ratio is
The output of one or more standard convolutional encoding pieces 500 be fed into two or more Go-CDMA encoding blocks 210 through interleaver 600.The Go-CDMA encoding block is finished the Go-CDMA coding according to any Go-CDMA coding embodiment, and the output of Go-CDMA encoder is connected in series in chronological order, forms the sequence of vectors s (the gray shade district 1000 among Figure 17) of emission, wherein
s=[s
1?s
2 ...s
F] (1.29)
Wherein F represents the Go-CDMA encoder sum that uses.Before transmission, this sequence of vectors of random code concealed blocks 365 scramblings.Convolutional encoding piece 500 can have nothing in common with each other with Go-CDMA encoder 210 or be identical.
In receiver, after the random code in descrambler 368 is sheltered descrambling, the sequence of vectors r of reception (the gray shade district 1100 among Figure 17),
R=s+ interference=[r
1r
2... r
F(1.30)
Be divided into sub-vector { r
1r
2... r
F.Then, these sub-vectors are fed into Go-
CDMA decoder 220 respectively.The output of these Go-
CDMA decoders 220 is gone to intersect in piece 610.Then, go the output of
interleaver 610 to be fed into separately standard convolutional decoder, wherein the Viterbi decoding algorithm is used for ratio
The augmentation convolution coder.The rearmounted decoder stage of channel in 330 is handled the output of these augmentation convolutional decoders again.
In more complicated embodiment, the spreading factor of communication system is to be provided by following formula
Length (s wherein
i) be vector s
iThe tolerance of chip lengths, and the ratio of β=utilization
The sum of convolution coder.
Shall also be noted that the identical change of interleaver and basic enforcement figure shown in location following Figure 16 A to Figure 16 D that removes the interleaver piece.In addition, when encoder 500 is to have nothing in common with each other and Go-CDMA encoder 210 is when having nothing in common with each other, corresponding difference also appears in the receiver.
In order to further specify this complicated embodiment, this embodiment is divided into two subclasses again, that is, and non-overlapped complexity (NOC) embodiment and overlapping complexity (OC) embodiment.
Non-overlapped complexity (NOC) embodiment
Non-overlapped complexity (NOC) embodiment comprises: augmentation one or more standard convolutional encoding piece and a plurality of Go-CDMA encoding block.
Figure 18 provides the simple case of NOC embodiment, and wherein solid line is pointed out the ratio of four shift registers
Convolution coder, dotted line point out that augmentation arrives
Convolution coder, therefore, m=2, M=4, n=6.Shown in Figure 180
Convolution coder, but do not have convolution carry-out
bit 502x, the coding binary form 0, the input binary information position u of+1}
k 1And u
k 2, produce 6 bit vector convolutional encoding two-dimensional currents, be masked as d
K1, d
K2, d
K3, d
K4, d
K5And d
K6Utilize the d shown in the 502x
K6+1=d
K1 d
K2 d
K3And d
K6+2=d
K4 d
K5 d
K6, can become these augmentation
The ratio convolution coder.Then, bit stream d
K1, d
K2, d
K3, d
K4, d
K5And d
K6(ignore d
K6+1And d
K6+2) at symbolic blocks { d
K1, d
K2, d
K3And { d
K4, d
K5And d
K6Middle intersected (
process 600).These bit streams through conversion 0 →+1 ,+1 →-1} converts bipolar binary form to.Utilize 210 pairs of bipolar coding positions of Go-CDMA cataloged procedure to encode again, produce several extension bits according to the required channel expansion factor.Add then scrambling at random shelter the
sign indicating number 365.
In receiver, after sheltering
yard descrambling 368 at random and before going to intersect, can in 502x, recover d
K6+1And d
K6+2Estimated value, be masked as
With
This is the contribution that utilizes the enhancing Go-CDMA decoding of last term in (1.5).In receiver, utilize soft decision and subsequently go the intersection process, the Go-CDMA decoded signal is decoded.The data of going to intersect are fed into
Carry out soft decision Viterbi convolution decoder in the convolution coder.
Figure 18 represents the simple declaration example of this embodiment embodiment.Other embodiment can have different m and n value, and the delay shift register 504 of different number M is arranged, and the different tapped delay of each convolution process 503 connect, by the convolutional encoding position d of each Go-CDMA fgs encoder
KiVarious combination, i=1 wherein, 2 ... n, the convolution coder 500 of different numbers and decoder 510, and the Go-CDMA encoder 210 of different numbers and Go-CDMA decoder 220.A notable feature of NOC embodiment is not have overlapping in utilizing the tapped delay connection that strengthens Go-CDMA decode procedure recovery augmentation position.In other words, in the NOC embodiment, each convolutional encoding position d
KiOnly encoded by a Go-CDMA encoder, i=1 wherein, 2 ... n.
Overlapping complexity (OC) embodiment
In overlapping complexity (OC) embodiment, still can utilize Figure 17 and same general structure shown in Figure 180, but in the OC embodiment, each convolutional encoding position d
KiCan be encoded by a plurality of Go-CDMA encoders, i=1 wherein, 2 ... n.
Provide the simple case of OC embodiment among Figure 19, wherein solid line is pointed out the ratio of four shift registers
Convolution coder, and dotted line points out that augmentation arrives
Convolution coder, therefore, m=2, M=4, n=6.Shown in Figure 19
Convolution coder, but do not have convolution carry-out bit 502x, the coding binary form 0, the input binary information position u of+1}
k 1And u
k 2, produce 6 bit vector convolutional encoding two-dimensional currents, be masked as d
K1, d
K2, d
K3, d
K4, d
K5And d
K6Utilize the d shown in the 502x
K6+1=d
K1 d
K2 d
K3 d
K4 d
K5And d
K6+2=d
K2 d
K3 d
K4 d
K5 d
K6, can become these augmentation
The ratio convolution coder.Then, bit stream d
K1, d
K2, d
K3, d
K4, d
K5And d
K6(ignore d
K6+1And d
K6+2) at symbolic blocks { d
K1, d
K2, d
K3, d
K4, d
K5And { d
K2, d
K3, d
K4, d
K5And d
K6Middle intersected (process 600).These bit streams through conversion 0 →+1 ,+1 →-1} converts bipolar binary form to.Utilize 210 pairs of bipolar coding positions of Go-CDMA cataloged procedure to encode again, produce several extension bits according to the required channel expansion factor.Add then scrambling at random shelter the sign indicating number 365.
In receiver, after sheltering
yard descrambling 368 at random and before going to intersect, can in 502x, recover d
K6+1And d
K6+2Estimated value, be masked as
With
This is the contribution that utilizes the enhancing Go-CDMA decoding of last term in (1.5).In receiver, utilize soft decision and subsequently go the intersection process, the Go-CDMA decoded signal is decoded.The data of going to intersect are fed into
Convolution coder carries out soft decision Viterbi convolution decoder.
Figure 19 represents the simple case of this embodiment embodiment.Other embodiment can have different m and n value, the delay shift register 504 of different number M, and the different tapped delay of each convolution process 503 connect, by the overlapping convolutional encoding position d of each Go-CDMA encoder encodes
KiVarious combination, i=1 wherein, 2 ... n, the convolution coder 500 of different numbers and decoder 510, and the Go-CDMA encoder 210 of different numbers and decoder 220.A notable feature of OC embodiment is to have some overlapping in utilizing the tapped delay connection that strengthens Go-CDMA decode procedure recovery augmentation position.This means, in the OC embodiment, each convolutional encoding position d
KiCan be encoded by a plurality of Go-CDMA encoders, i=1 wherein, 2 ... n.
NOC allows greater flexibility with the OC embodiment in the different secondary convolution/Go-CDMA coding mode of configuration, in order that at spreading factor, the given constraint of shift register and data rate realizes best performance down.
In complicated embodiment linguistic context, at given g
N+1Following and the ratio of constraint
Under the convolutional encoding, there is the scope (with no code distance, optimum distance distributes, and best minimum range and optimal spectrum distribute and represent) of desirable convolution code multinomial generator matrix G.In preferred complicated embodiment, utilize the G generator matrix of optimizing.Yet, can utilize other " suboptimum " convolution code multinomial generator matrix G.
Other variation
Other variations of present embodiment can comprise:
1) repeated encoding that utilizes low data rate to support
When information data rate was lower than the maximum information data rate of support, repeated encoding perhaps was desirable.Or the information level before being input to convolution coder, or, under the speed that is higher than desired data speed, sample and to realize the repetition of information bit in the coded data level that convolution coder is exported.Perhaps, the output at the Go-CDMA coding can utilize the repetition of extended code chip level.Choosing of number of repetition to reach the compatible extensions factor under the low information data rate.
The example of this situation is an information data rate of supporting 512kbps under 3G WCDMA communication system linguistic context.Required in the case spreading factor is 8 chips.The natural embodiment of present embodiment is to utilize ratio
Convolution coder, wherein m ∈ 1,2,3,4,5,6,7, follow by Go-CDMA coding in 8} and n≤9, and wherein l ∈ 8,16,32,64,128,256}.A kind of may the variation of nature embodiment is to utilize ratio
Convolution coder, wherein m ∈ { 1, follow by the Go-CDMA coding, and wherein l=4 and repeated encoding rate are 2 by 2} and n=3.
In receiver, finish identical but opposite process.In addition, to all decoded signal energy additions of duplicate message position, so that in receiver, obtain the estimated value of emission information bit.
2) rate-compatible punctured convolutional (RCPC) the coding replacement standard convolutional encoding of utilizing low data rate to support
It is the standard convolutional encoding of utilizing in rate-compatible punctured convolutional (RCPC) the coding replacement present embodiment that the another kind of this embodiment changes, in order that support the different information data rates of identical convolution coded hardware structure.Utilize above-mentioned repeated encoding also can replenish this variation.
In receiver, finish identical but opposite process (RCPC decoding) to received signal.
B) secondary Turbo/Go-CDMA coding
Consider standard or optimization respectively
Ratio Turbo encoder and ratio are
Two parallel recurrence system convolution (RSC) encoder, n wherein
TurboIt is the coding carry-out bit number of Turbo encoder.Each rsc encoder has M shift register, and before second rsc encoder coding, the pseudorandom intersection is added to information bit.Fig. 7 represents this situation.The Turbo encoder also can be regarded parallel convolution (PCC) encoder that connects as.Therefore, each rsc encoder in the Turbo encoder is discrete time finite memory dynamical system or finite state machine, and m bipolar output is wherein arranged, and is masked as u
kM bipolar state is masked as x
kWith n bipolar output, be masked as d
k ζ, wherein { 1,2} represents rsc encoder 1 and rsc encoder 2 in the Turbo encoder to ζ ∈.Herein, k=0,1 ... be the discrete time index.Fig. 8 represents the basic structure of rsc encoder.Suitable encoder act on set 0, the unipolar signal the among+1}.
Because each rsc encoder in the Turbo encoder can be represented with suitable convolution coder, this is an alternative embodiment of the invention, and wherein secondary convolution/Go-CDMA coding can be added to each rsc encoder in the Turbo encoder.This just allows us to obtain the enhancing of secondary Turbo/Go-CDMA coding.
In order to simplify, the single input condition that our concentrated discussion is special, m=1 wherein, therefore, input is a bipolar data stream, and n the n bit vector stream that output is the bipolar coding data, its element
For the Turbo encoder, we advise that identical sign indicating number is used for this two rsc encoders.In addition, in each rsc encoder, suitable convolution coder is arranged.Based on these hypothesis, do not lose generality, we can provide the formula in (1.27) and (1.28) to rsc encoder, wherein
x
k=Ax
k-1+Bu
k;x
0=0,
Herein,
And g
i|
I ∈ 1,2,3 ... n}It is the row n vector that bipolar element is arranged.(if u
kWith the element of G be one pole, x then
kAnd d
k ζAlso be one pole, provide now
Wherein []
2Point out that any addition all is modulus 2 additions.Therefore, utilize the PCC configuration of convolution coder in (1.32) and (1.33), we can realize ratio
The Turbo encoder.Because in each convolution coder, because in its rsc encoder system path is arranged; Therefore, the PCC encoder in the Turbo encoder has two system paths, rather than as has only a system path in standard Turbo coding.This conversion has following advantage:
The Turbo coder structure is transformed into the PCC coder structure of two identical standard convolution coders.So we can use Go-CDMA coding now and be strengthened on separately the convolution coder, are entitled as " secondary convolution/Go-CDMA coding " described mode according to last joint acceptance of the bid.
In addition, in the PCC coder structure, two system paths are arranged, and a system path is only arranged in the Turbo coder structure.
For this purpose, we become to have output to the convolution coder augmentation of (1.32) and (1.33) now
Rate encoder, wherein
(by utilizing Go-CDMA coding and improved decoding, as in above several joints, describing in detail).(1.33) the matrix G in
TOnly by additional row g
N+1Augmentation, wherein element g
N+1, iBe " odd-even check " of above element, g
N+1, j=g
1, ig
2, i... g
N, i
Being intended that of this embodiment of the present invention is applied to each convolution coder in the standard Turbo coding structure to title for " secondary convolution/Go-CDMA coding " goes up all embodiment in the joint.
In receiver, " parity check bit " of from improved Go-CDMA decoding, deriving augmentation.These " parity check bits " can be used for strengthening the decoding algorithm performance in the Turbo decoder.In addition, because secondary Turbo/Go-CDMA coding method allows the transmission of two system paths, rather than a system path in the standard Turbo coding, we obtain further to improve to the overall code capacity of standard Turbo coding mode.
C) second-order block/Go-CDMA coding
Based on analog study and the observation to formula (1.5), we infer is under the situation of even number at n in the Go-CDMA system, when access channel (being input to encoder) number when n channel is increased to n+1 channel, performance does not worsen.Now, utilize the Go-CDMA coding of describing in this supposition and above two joints to strengthen, construct second-order block/Go-CDMA coding.The advantage that obtains of expectability is not big as under convolution/Go-CDMA coding or the Turbo/Go-CDMA coding situation for we, and really, the relative merit of expection reduces with the increase of block length.
Embodiments of the invention are the second-order block/Go-CDMA coding modes under n the information bit situation, and wherein n is an even number.Block code only increases a parity check bit 1, is referred to as first parity check bit, to obtain odd number n+1 position.Now, this odd bits is applied to the Go-CDMA coding mode.Increase a parity check bit and can not cause the performance loss of essence for other Go-CDMA coding, because n is an even number, but the estimated value of parity check bit can improve the estimated value of information bit.
The Go-CDMA that the utilization of Go-CDMA code level strengthens detects, and the additional parity bit of its estimation coding n+1 position is referred to as second parity check bit.N is more little, and then the influence of first second parity check bit is just big more.Value n=2 provides maximum gain, provides than ordinary circumstance more detailed description now.
Embodiments of the invention are, when group of information bits is made into b * n piece (matrix D), wherein b is a positive integer, and n is even positive integer.Relevant with the value of b, can implement various linear block codings to information bit and select, realize first parity check bit relevant with every row among the D, expand row for information bit matrix D, be masked as p.Every row to [Dp] expands second parity check bit again, and it is the product of row element under bipolar element situation, and is modulus 2 additions under one pole element situation, expands an additional column for [Dp], is masked as φ, as B=[Dp φ] shown in.Then, this matrix B of the Go-CDMA of enhancing decoding estimation.The best decode procedure of estimation original information bits is that PRML detects.This is for b, and the situation that n is very little is very simple.
An example is n=2, the situation of b=2.Information bit is processed in 4 pieces.These information bits are labeled as { d
1, d
2, d
3, d
4, first parity check bit of interpolation is { p
1, p
2And second parity check bit be { φ
1, φ
2, they appear among the matrix format B, and then information of Shou Jiing and interpolation parity check bit are exactly as follows:
A kind of result who bipolar information bit is implemented the linear block coding is
p
1=d
1d
3d
4;p
2=d
1d
2d
3; (1.35)
Therefore,
φ
1=p
1d
2d
1=d
2d
3d
4;φ
2=p
2d
3d
4=d
1d
2d
4 (1.36)
In this embodiment, each parity check bit is supported an information specific position d
i, i={1 wherein, 2,3,4}.Under the situation of one pole information bit, d
T={ d
1d
2d
3d
4, then
Wherein []
2Illustrate that once more addition is modulus 2 arithmetical operations, and G is a generator matrix,
Under the best decoding was selected, above example utilized PRML to detect, and checks the information bit that receives
With 2 of D
4Individual relation that may figure, and with the relation of B.Other suboptimal solution code calculations of above example comprise the standard utilization of hard decision base decoding, and are as described below.
The corresponding bug list that the decoding of hard decision base utilizes parity matrix and has the mistake figure that can revise.
In above example, corresponding parity check matrix H is
According to d
T AugH
T, below provide 2
4Individual possible data and relevant d
AugThe bug list that produces.In addition, give can revise might one and the corresponding mistake figure of some two information bit mistake.
Fault mistake figure
(1.40)
Other embodiments
Other possibility embodiments of the present invention are included in the Go-CDMA coded system that strengthens error correction utilizes the whole bag of tricks of parity check bit, but does not change the spreading factor of Go-CDMA sign indicating number.The possible example of these methods is:
Example A: consider to have two information bit d
1And d
2, and first parity check bit is p
1=d
1And second parity check bit be φ
1=d
2Situation.In this case, each parity check bit is supported an information bit.
Example B: considering has 9 channels in 9 * l Go-CDMA system, 8 information bit { d only encode
1... d
8And 1 parity check bit p
1, p wherein
1=d
1d
2d
3d
4Therefore, utilize the intrinsic polynomial construction of Go-CDMA code signal, second parity check bit is φ
1=p
1d
1d
2... d
8=d
5d
6d
7d
8In this example, first parity check bit is supported preceding 4 information bits, and second parity check bit is supported back 4 information bits.
Example C: consider in 9 * l Go-CDMA system, to have 9 channels, coding 8 * 8 block message position D
8 * 8And the situation of a parity check vector p, wherein
p=p
1?p
2?p
3?p
4?p
5?p
6?p
7?p
8]
Each parity check bit inspection message position piece D
8 * 8In one row, that is, and p
1Be that inspection message ranks p
1, p
9, p
17, p
25, p
33, p
41, p
49And p
57The parity check bit of last information bit.Then, this block of information of parity check vector augmentation forms 8 * 9 matrix-blocks, and wherein the 9th row are parity check vector p, as [D
8 * 8P].
Utilize this method, implement 2 dimension checksum coding patterns, wherein first parity check bit is checked the vertical direction of 8 * 8 information bit matrixs, and the second parity check bit inspection [D
8 * 8D
8 * 8] horizontal direction of matrix.
D) secondary convolution or piece/many yards Go-CDMA codings
In this embodiment, can finish convolutional encoding or Turbo coding or block encoding according to the above embodiments.
Many yards Go-CDMA (MC-Go-CDMA) coding refers to and utilizes the Go-CDMA sign indicating number as " nonlinear tolerance " Go-CDMA sign indicating number, as being " described in the related U.S. patent application of Methodand Apparatus for Non-Linear Code-Division Multiple AccessTechnology; application on October 5 calendar year 2001, to be incorporated in that this is for reference at title.
Described at above related application, when Go-CDMA sign indicating number during as the extended code in the MC-CDMA structure, many level composite signal of formation is allowed big nonlinear distortion.Therefore, the MC-Go-CDMA decoded signal is more reliable.Utilize the reliability of this increase, provide an alternative embodiment of the invention herein.
The convolution of above embodiment or block encoding are to be used in combination with MC-Go-CDMA coding in the transmitter.In receiver, at the signal r (t) that detects reception afterwards, wherein r (t)=s (t)+interference is according to the estimated value of following computing derivation parity check bit
Or (1.42)
Therefore, in this embodiment of the present invention, the soft decoded bits of formation
Be used further to convolution decoder or Turbo decoding or piece decoding among some embodiment herein.
Error correction computing in pre-coded and the rearmounted decoder stage can be made up, assimilation or with the Go-CDMA replacement that has error correction coding in the foregoing description.
The sign indicating number lattice of the uniform enconding pattern of e) introducing in this patent are represented
Linear finite state coding mode can be expressed as the form of trellis code.Therefore, for the sake of completeness, we provide the following sign indicating number lattice of the basic coding pattern that proposes in this patent and represent.
Secondary convolution/Go-CDMA encodes as grid coding
Consider to have the standard or the optimization of M shift register
The ratio convolution coder.This encoder is discrete time finite memory dynamical system or finite state machine, and m bipolar input wherein arranged, and is masked as u
kM bipolar state is masked as x
kWith n bipolar output, be masked as d
kHerein, k=0,1,2 ... be the discrete time index.In order to simplify, our concentrated discussion n output forms the special circumstances of the n vector current of bipolar coding data, and element is (d
K1, d
K2..., d
Kn) ∈+1 ,-1}.
N output is the Go-CDMA coding.Because have 2
nIndividual possible n bit vector is input to the Go-CDMA encoder, just has 2
nIndividual possible output sequence.Therefore, the Go-CDMA coding is that the n bit vector transforms to output sequence.This conversion can be regarded the part of modulated process as.Convolution coder is the effective status encoder, and it constitutes special trellis encoder with this conversion.
A) optimization of trellis code
The optimization of trellis code relates to the combined optimization of convolution code and modulation (conversion).Traditionally, when the design trellis code, take good convolution code, thereby make conversion optimization.Yet in convolution/Go-CDMA coding, conversion is fixing by the Go-CDMA coding.So the optimization of convolution code is depended in the optimization of trellis code.
B) trellis decode
Convolution/Go-CDMA coding is regarded as grid coding, and then Go-CDMA decoding and convolution decoder can replace with the single step trellis decode.
The sequence transmission that receives in the signaling interval is by one group 2
nIndividual filter.Each filter and the output sequence coupling that one of them is possible.The output of filter is used for branch's matrix of computing grid.Decoding utilizes the Viterbi algorithm to finish.
Though trellis decode is possible, yet the convolution decoder after the Go-CDMA decoding remains preferred in practice.In the Go-CDMA decoding, only need n+1 filter, and in trellis decode, need 2
nIndividual filter.
Secondary Turho/Go-CDMA coding is as grid coding
In Turbo/Go-CDMA coding, utilize with the convolutional encoding situation under identical basic code lattice represent, but under the linguistic context of convolution (PCC) encoder of parallel connection.
Second-order block/Go-CDMA encodes as grid coding
In piece/Go-CDMA coding mode, can consider the binary of generator matrix G and parity-check matrix H
Linear block code generated code lattice are represented.During each encoded interval, the message of m information bit is displaced in the encoder memory and is encoded into the code word of n sign indicating number position.Form n sign indicating number position, and at n bit time internal shift to channel.So coding span Γ is limited, it comprises n+1 time instance, wherein
Γ={1,2,...,N} (1.43)
Therefore, utilize time span Γ to go up n section lattice figure, can represent binary
Linear block code.In addition, because the n of block code encoder output is the Go-CDMA coding, and owing to have 2
nIndividual possible n bit vector is input to the Go-CDMA encoder, so, just have 2
nIndividual possible output sequence.Therefore, the Go-CDMA coding is that the n bit vector transforms to output sequence.This conversion can be regarded the part of modulated process as.The linear block encoder is the finite state encoder that trellis code is arranged, and combines with this Go-CDMA conversion to constitute special trellis encoder.
A) optimization of trellis code
The optimization of trellis code requires the combined optimization of linear block code and modulation (conversion).Traditionally, when the design trellis code, take the favorable linearity block code, thereby make conversion optimization.Yet in piece/Go-CDMA coding, conversion is fixing by the Go-CDMA coding.So the optimization of linear block code is depended in the optimization of trellis code.
B) trellis decode
Piece/Go-CDMA coding is regarded as grid coding, and then Go-CDMA decoding and piece decoding can replace with the single step trellis decode.
The sequence transmission that receives in the signaling interval is by one group 2
nIndividual filter.Each filter and a possible output sequence coupling.The output of filter is used for branch's matrix of computing grid.Decoding utilizes maximum-likelihood algorithm to finish.
Though can implement trellis decode, the piece decoding after the Go-CDMA decoding may remain preferred in practice.In the Go-CDMA decoding, need n+1 filter, and in trellis decode, need 2
nIndividual filter.
The trellis coded modulation (TCM) of the uniform enconding pattern of f) introducing in this patent
Utilization in the trellis coded modulation technology that nineteen eighty-two proposes, can also be modulated Go-CDMA coding output in the embodiment of the invention based on Ungerboeck.Utilize the TCM in the transmitter 3 to 6dB coding gain is provided for each embodiment of the present invention.Usually, only in receiver, utilize and just obtain this coding gain when detecting the corresponding TCM detecting pattern of (MLD) based on PRML.The MLD pattern has the complexity of enforcement, and complexity is to increase by exponential manner with the signal mode number that may detect.Therefore, possible signal mode number and the current enforcement of hardware technology physical constraints TCM in the mini system of limited channel number in the output.
According to another embodiment of the present invention, conventional TCM pattern can be used for conversion strengthens coding mode according to the present invention output.
Utilize the TCM conversion of non-linear block codewords matrix
One embodiment of the present of invention be utilize the TCM technology from the transmitter output transform that strengthens coding mode according to the present invention to non-linear code word matrix.Non-linear code word matrix can constitute by means of following method:
The Levenshtein building method;
| u|u v| building method; And
| u|u v| building method, wherein u and v are the non-overlapped parts of Go-CDMA coding output.
The receiver of this embodiment utilizes the PRML detection technique with bits of coded and additional parity check bit that estimation receives, is used in augmentation error-decoded process of the present invention then.Perhaps, the MLD process in the receiver can expand to before the error correction coding PRML of transmitted data signal estimated value is provided.
Actual coding embodiment
In Figure 17, be expressed as three grades of possible actual embodiments according to channel expansion of the present invention and next code embodiment.In this joint, possible actual embodiment is described.
Figure 20 represents the communication system functionality block diagram of actual coding embodiment of the present invention, comprises channel error correcting encoder (330a) and decoding (330b), channel expansion (210) and go expansion (220) and modulate forward transform (211) and reciprocal transformation (221).Between antenna and channel error correcting encoder and decoding block 330, comprise piece 330, each level course of system can be considered to different code level as shown in the figure.
An actual embodiment is a communication system shown in Figure 20 in the embodiment of the invention, wherein channel expansion (210) and go the expansion (220) functional block comprise two code level.First code level (210a) and decoder stage (220a) mainly contain the function that the error correction coding is provided, and second code level (210b) and decoder stage (220b) have first order error correction coding (210a and 220a) function and channel expansion function in the further reinforcement communication system.As shown in figure 20, the output of second level coding 210b can randomly be done further conversion by means of the trellis coded modulation technology before the Channel Modulation in the channel expansion functional block in 320.Opposite process also randomly is applicable to receiving terminal.
The another kind of actual embodiment of the embodiment of the invention is the communication system that is similar to system shown in Figure 20, wherein channel error correcting encoder (330a) and decoding (330b) functional block make up with first order encoding block (210a) and decoding block (220a) respectively, form stronger error correction encoding block.In this actual embodiment, modulation forward transform (211) and reciprocal transformation (221) are also chosen wantonly in system.
For two actual embodiments of the present invention, definite decorrelated signals pattern is arranged from the output of second level coding 210b.In receiver, utilize mathematical method described herein, can this decorrelated signals pattern of decorrelation, the complexity of this mathematical method increases according to linear mode with the data channel number.
Though we are each specific embodiment of the present invention openly, this area general professional can understand, under the condition that does not depart from spirit and scope of the invention, can do some variations to these embodiment.For example, though described various functions and code level, should be understood that one or more levels can be combined into the individual feature piece, on the contrary, the individual feature piece can resolve into one or more levels.Any embodiment of above-mentioned functions and technology is within the scope of the invention, implements to have nothing to do in any level with this function or technology, and be that enforcement is irrelevant in how many levels also with this function or technology.Be to be further appreciated that, utilize the mathematical operation of Go-CDMA sign indicating number with error correction coding and matrix and the matrix operation can be with hardware or software implementation.Under the situation of software implementation, software instruction and data can be included in the useable medium of computer, and store memory in the communicator into.Software instruction can comprise the control logic that processor or other hardware are carried out, and makes communicator based on Go-CDMA sign indicating number Code And Decode data-message, and wherein the error correction coding is described in the accompanying drawing.When utilizing hardware or firmware to implement, utilize the Go-CDMA sign indicating number with error correction coding and the mathematical operation and the matrix operation of matrix to provide by the logic on one or more chips, or can be burned in the EEPROM as program command and data.Be to be further appreciated that, Go-CDMA sign indicating number and matrix with error correction can be retrieved and utilize by system, can store memory into, are included in the hardware, receive from external source, or derive the storage data inside and outside system or from hardware, produce such as other hardware or memory.