Turbo code multiplexer design method in the combined channel safe coding
Technical field
The present invention relates to Turbo code, also referred to as Parallel Concatenated Convolutional Code (Parallel Concatenated Convolutional Code, PCCC) a kind of coder method for designing relates generally to multiplexer (Complexor) method for designing of the encoding code stream with encryption function.
Background technology
In order to carry out transmitting on noisy channel, need to overcome the Noise and Interference in channel.Chnnel coding (Channel Coding) or title forward error correction coding (Forward Error Correction, FEC), add necessary verification code element in information code element to be sent according to certain criterion, receiving terminal utilizes the coding criterion between verification code element and information code element, detect and correct mistake, improve the reliability of information code element transmission.The target of research chnnel coding is to utilize minimum verification code element, improves the reliability of transmission, namely under the prerequisite that guarantees transmission reliability, improves code efficiency as far as possible.Channel coding schemes commonly used mainly comprises: Hamming code, linear block codes, convolution code, BCH code, RS code etc.
Along with the development of channel coding theorem and computer hardware technology, on the international communication conference of holding in 1993, the scholars such as C.Berrou have proposed volume, the decoding scheme of Turbo code.It is by 2 (or l) recursive systematic convolutional code (Recursive System Convolutional Code, RSCC) be combined in the mode of parallel cascade by 1 (or l-1) interleaver, therefore also referred to as Parallel Concatenated Convolutional Code (Parallel Concatenated Convolutional Code, PCCC).Turbo code adopts iterated algorithm decoding, and Simulation results shows, through 18 iterative decodings, at signal to noise ratio E
b/ N
0During 〉=0.7dB, code check is 1/2 bit error rate (Bite Error Rate, the BER) P of Turbo code on additive white Gaussian noise (Additive White Gaussian Noise, AWGN) channel
b≤ 10
-8, reached the performance that nearly Shannon (Shannon) is limit.So far, the research of Turbo has been advanced to a new height with channel coding technology: make thereafter the chnnel coding performance no longer take mutually relatively as target, but directly compare with shannon limit.The Turbo encoder block diagram of 2 components as shown in Figure 1.
Can find out from encoder block diagram 1, at first the Turbo code encoder encodes to incoming bit stream u, obtains 3 code stream u, c
1And c
2, becoming 1 code stream for multiplexing, encoder has been introduced multiplexer (Complexor).Multiplexer becomes 1 code stream according to certain order with 3 code stream multiplexs, and traditional multiplexer generally adopts u, c
1And c
2Order carry out multiplexing, thereby this code stream does not possess encryption function.
For making encoding code stream have encryption function, reduce the coded system complexity, the present invention improves the Turbo code encoder, output order to multiplexer adopts cipher controlled, receiving terminal is in the situation that key the unknown, can not obtain correct code stream order, thereby make the code stream of amended encoder output have encryption function, the encoder block diagram after improvement as shown in Figure 2.
Summary of the invention
In classical Turbo code encoder, multiplexer designs simply in order to solve, and encoding code stream does not possess the problem of encryption function, and the present invention has designed a kind of random multiplexing method based on cipher controlled.The method has designed a kind of random multiplexer isometric with interleaver (Interleaver) the Turbo code encoder, has realized the encrypted bit stream function of Turbo code encoder.
The technical scheme that technical solution problem of the present invention adopts is: adopting key K ey is seed, produces a random sequence that equates with interleaver sizes N.3 circuit-switched data stream u, c due to input
1And c
2Add up to 6 kinds of different arrangement modes, that is: 0) uc
1c
21) uc
2c
12) c
2uc
13) c
2c
1u; 4) c
1uc
25) c
1c
2u。Therefore the present invention carries out mould 6 (mod6) computing by this random sequence, produce the 6 system random sequences that a length is N, namely the element in this sequence is taken from set { 0,1,2,3,4,5}.With 3 circuit-switched data stream u, c
1And c
2Inputoutput multiplexer, multiplexer 6 system random sequences long according to N determine the output order, its corresponding relation is: the corresponding i kind output of i order, i=0,1,2,3,4,5.During demultiplexing, use the key identical with transmitting terminal to produce the long 6 system random sequences of identical N, according to the correct code stream order of this sequence output, carry out at last channel decoding.
Beneficial effect is that the multiplexer of the present invention's design makes encoding code stream have encryption function, thereby channel encoder and encryption equipment merging are become a combined channel safe coding device, has reduced the channel encoder of separation and coding and the decoding complexity of encryption equipment.On the other hand, be N personal attendant's machine sequence that seed produces by key K ey, this random sequence is used for interleaver and multiplexer simultaneously, thus the present invention does not significantly increase the complexity of coder.
Description of drawings
The encoder model of Fig. 1 tradition Turbo code
In figure: 1. the first component convolutional codes encoder, 2. random sequence interleaver, 3. second component encoder for convolution codes, 4. multiplexer, u is input sequence to be encoded, u
IBe interleaver output sequence, c
1And c
2Be respectively two recursive convolution code coder output sequences, c is the multiplexer output sequence.
The amended Turbo code encoder model of Fig. 2
In figure: Key is the input key.
Fig. 3 multiplexer model is the specific implementation of the module 4 in Fig. 2
In figure: 5. random sequence generator, 6. mould 6 arithmetic units, 7. order decision device, Key is input key, c
iBe N personal attendant's machine sequence, c
6Be the long 6 system random sequences of N, u, c
1, c
2Be input code flow, c is the multiplexer output sequence.
Embodiment
Multiplexer design method of the present invention mainly is divided into the multiplexing and demultiplexing of encoding code stream, realizes the encryption function of code stream.
1. multiplexer design method
Analyze the code stream of Turbo code encoder as can be known: on the one hand, can the transfer encoding code stream in order to make channel, 3 code stream multiplexs need to be become 1 code stream; On the other hand, if the code stream order of exporting is random, in the situation that output code flow is intercepted and captured, the listener-in can not obtain correct encoding code stream, thereby has realized the confidentiality of encoding code stream.Multiplexer of the present invention is used for the Turbo code coded system of Fig. 2, multiplexer is comprised of user's control key Key, random sequence generator, mould 6 arithmetic units and order decision device, it is input as 3 coded sequences, is output as through random multiplexing coded sequence afterwards, and detailed construction as shown in Figure 3.The specific embodiments of the multiplexer of the present invention's design is as follows, sets forth as an example of amended Turbo code encoder (Fig. 2) example.
At first list entries u is encoded.In Fig. 2, establishing interleaver sizes is N, and sequence u is carried out the long grouping of N, and obtain 3 tunnel outputs by following encoding scheme: the first via is output as sequence u to be encoded.The the second tunnel output: list entries u is through the output c of the first component convolutional codes coding module 1
1Third Road output: list entries u exports u through interleaver module 2 after rearrangement
I, with u
IAs the input of second component convolution code module 3, the output encoder code stream is c
2
Secondly, the key K ey input random sequence generator module 5 with the user controls produces 1 N personal attendant's machine sequence c
i, with these sequence input mould 6 computing modules 6, produce the long 6 system random sequence c of 1 N
6
At last, with 3 road encoding code stream u, c
1, c
2With the long 6 system random sequence c of N
6Input order decision device module 7, module 7 is according to 6 system random sequence c
6Determine the output order of code stream, merge into 1 code stream output c.In design of the present invention, the randomly ordered output random sequence c that can adopt random sequence generator of random interleaver module 2
i, the component convolutional codes encoder of module 1 and module 3 adopts identical recursive systematic convolutional code encoder.
For example, establish N=5, u=10011, c
1=01100, c
2=10010, c
6=30154, before improving, Turbo encoder (Fig. 1) is output as c=101 010 010 101 100.After adopting the multiplexer module 4 of the present invention's design, the coded sequence of improved Turbo encoder (Fig. 2) output is: due to c
6=30154, the output order is: c
2c
1U, uc
1c
2, uc
2c
1, c
1c
2U, c
1uc
2Thereby output code flow is c=101 010 001 011 010.
2. code stream Deplexing method design
Receive after the code stream of ovennodulation at the receiving terminal of communication system, carry out demultiplexing through following four steps: at first, code stream is carried out demodulation, obtain the digital code stream signal; Secondly, digital code stream is carried out the long grouping of 3N, every group is subdivided into length again is 3 N group; Again, use the key identical with coding side, produce the long 6 system random sequences of a N; At last, according to the value of 6 system random sequences, recover the proper order of each group, can recover the long sequence of 3N of proper order.
For example, establish N=5, c
6=30154, receiving terminal receives that sequence is c=101 010 001 011 010.By c
6=30154 as can be known, and the code stream order of transmitting terminal is: c
2c
1U, uc
1c
2, uc
2c
1, c
1c
2U, c
1uc
2, so just can adjust as required the code stream order, make the output order be uc
1c
2By correct Order exchange, at last demultiplexing is output as: 101 010 010 101 100, can obtain the output of correct encoding code stream, i.e. u=10011, c
1=01100, c
2=10010, thus can carry out correct decoding.