WO2018076894A1 - 一种获取伪随机序列的方法和装置、存储介质 - Google Patents

一种获取伪随机序列的方法和装置、存储介质 Download PDF

Info

Publication number
WO2018076894A1
WO2018076894A1 PCT/CN2017/097350 CN2017097350W WO2018076894A1 WO 2018076894 A1 WO2018076894 A1 WO 2018076894A1 CN 2017097350 W CN2017097350 W CN 2017097350W WO 2018076894 A1 WO2018076894 A1 WO 2018076894A1
Authority
WO
WIPO (PCT)
Prior art keywords
sequence
subsequence
values
sub
partial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2017/097350
Other languages
English (en)
French (fr)
Inventor
韩健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanechips Technology Co Ltd
Original Assignee
Sanechips Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sanechips Technology Co Ltd filed Critical Sanechips Technology Co Ltd
Publication of WO2018076894A1 publication Critical patent/WO2018076894A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation
    • H04B1/7073Synchronisation aspects
    • H04B1/7075Synchronisation aspects with code phase acquisition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J13/00Code division multiplex systems
    • H04J13/10Code generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/18Phase-modulated carrier systems, i.e. using phase-shift keying

Definitions

  • the present invention relates to a pseudo-random sequence generation technique, and in particular, to a method and apparatus for acquiring a pseudo-random sequence, and a storage medium.
  • the pseudo-random sequence has both the excellent correlation of the random signal and the regularity that the random signal does not have, making it extremely easy to be identified and/or separated from the interference signal, and is easy to generate and copy repeatedly. Due to these characteristics, pseudo-random sequences have wide applications in spread spectrum communication, multiple access communication, error detection, and signal synchronization.
  • pseudo-random sequences sequence values of pseudo-random sequences commonly used in long-term evolution (LTE) systems are generated by a serial iterative formula method and a state transition matrix multiplication-based generating method.
  • the serial iterative formula method has low computational efficiency and requires a long iteration time to calculate the pseudo-random sequence.
  • the generation method based on state transition matrix multiplication makes the calculation amount greatly increased due to the multiplication operation of the matrix and the large calculation of the matrix increases the large occupation of the storage space, which is disadvantageous for the storage space saving.
  • an embodiment of the present invention provides a pseudo random sequence.
  • the method and device and the storage medium can at least realize fast calculation of the pseudo-random sequence, reduce the calculation amount and save the storage space.
  • An embodiment of the present invention provides a method for obtaining a pseudo random sequence, where the method includes:
  • N is a positive integer
  • a pseudo-random sequence is obtained based on the sequence value of each sub-sequence in the first sequence and the sequence value of each sub-sequence in the second sequence.
  • sequence value of each sub-sequence in the N-segment sub-sequence of the second sequence is calculated, wherein at least the sequence values of the sub-sequences of the second sequence are performed in parallel, including:
  • the first L values of each sub-sequence and the other values of the corresponding segment sub-sequence except the first L values are collected to obtain sequence values of the sub-sequences of the second sequence.
  • the method before determining the sequence value of the initial sequence of the second sequence, the method further includes:
  • the subsequences of each segment in the second sequence are obtained.
  • the first L values of the column including:
  • the first L values of each sub-sequence in the second sequence are calculated according to the relationship between the first L-bit of the segment subsequence and the initial value sequence and the sequence value of the initial value sequence.
  • the first partial subsequence and the second partial subsequence according to the first target sequence are obtained by using other values than the first L values in the subsequence, including:
  • Determining a second partial subsequence of the first target sequence to a second partial subsequence of the penultimate target sequence and a set of the last target sequence is a value other than the first L values in the segment subsequence.
  • An embodiment of the present invention further provides an apparatus for acquiring a pseudo random sequence, where the apparatus includes:
  • the first dividing unit is configured to divide the first sequence and the second sequence into N segments respectively to obtain an N-segment subsequence of the first sequence and an N-segment subsequence of the second sequence, where N is a positive integer;
  • a first calculating unit configured to calculate a sequence value of each subsequence in the N segment subsequence of the first sequence
  • a second calculating unit configured to calculate a sequence value of each sub-sequence in the N-segment sub-sequence of the second sequence, wherein at least the sequence values of the sub-sequences of the second sequence are performed in parallel;
  • the first obtaining unit is configured to obtain a pseudo random sequence according to the sequence value of each subsequence in the first sequence and the sequence value of each subsequence in the second sequence.
  • the second calculating unit is configured to:
  • the first L values of each sub-sequence and the other values of the corresponding segment sub-sequence except the first L values are collected to obtain sequence values of the sub-sequences of the second sequence.
  • the second calculating unit is configured to:
  • the first L values of each sub-sequence in the second sequence are calculated according to the relationship between the first L-bit of the segment subsequence and the initial value sequence and the sequence value of the initial value sequence.
  • the second calculating unit is further configured to:
  • the second calculating unit is further configured to:
  • Determining a second partial subsequence of the first target sequence to a second partial subsequence of the penultimate target sequence and a set of the last target sequence is a value other than the first L values in the segment subsequence.
  • Embodiments of the present invention also provide an apparatus for obtaining a pseudo-random sequence, comprising: a processor and a memory configured to store a computer program executable on a processor, wherein the processor is configured to run the computer program Perform the steps of the method described above.
  • An embodiment of the present invention further provides a computer readable storage medium having stored thereon a computer program, wherein the computer program is executed by a processor to implement the steps of the method described above.
  • the method and device for acquiring a pseudo-random sequence and the storage medium include: dividing the first sequence and the second sequence into N segments, respectively, to obtain the N-segment subsequence and the second sequence of the first sequence The N-segment subsequence, and then calculate the sequence value of each sub-sequence in the N-segment subsequence of the first sequence and the second sequence, according to the sequence value of each sub-sequence in the first sequence and the sequence value of each sub-sequence in the second sequence. Pseudo-random sequence.
  • the sequence values of the sub-sequences are performed in parallel. Compared with related technologies, fast calculation of pseudo-random sequences can be realized, which can effectively reduce the amount of calculation and save storage space.
  • FIG. 1 is a schematic flowchart of an implementation process of a first embodiment for acquiring a pseudo random sequence according to the present invention
  • FIG. 2 is a schematic flowchart of an implementation process of a second embodiment for acquiring a pseudo random sequence according to the present invention
  • FIG. 3 is a schematic flowchart of an implementation process of a third embodiment for acquiring a pseudo random sequence according to the present invention
  • FIG 4 is a schematic sequence value to obtain a second sequence of N p scripts provided by the present invention, the sequence
  • FIG. 5 is a schematic structural diagram of a device for acquiring a pseudo random sequence according to the present invention.
  • the first embodiment of the present invention for obtaining a pseudo-random sequence is applied to a communication system such as a code division multiple access system, a time division multiple access system, a frequency division multiple access system, and an LTE system, preferably an LTE system.
  • a communication system such as a code division multiple access system, a time division multiple access system, a frequency division multiple access system, and an LTE system, preferably an LTE system.
  • the 3rd Generation Partnership Project 3GPP LTE specification specifies that a pseudo-random sequence c(n) can be generated by the operation of equations (1) to (3) using a 31-bit Gold sequence.
  • x 2 (n+31) (x 2 (n+3)+x 2 (n+2)+x 2 (n+1)+x 2 (n))mod 2 (3)
  • FIG. 1 is a schematic flowchart of a first embodiment of acquiring a pseudo-random sequence according to the present invention; as shown in FIG. 1, the method includes:
  • Step 101 Perform N segmentation on the first sequence and the second sequence respectively to obtain an N-segment subsequence of the first sequence and an N-segment subsequence of the second sequence, where N is a positive integer;
  • the communication entity performing step 101 may be a terminal and/or a base station.
  • the terminal includes, but is not limited to, a conventional mobile phone, a smart phone, a handheld computer PAD, a smart watch, a smart bracelet, and the like.
  • the sequence lengths of x 1 (n) and x 2 (n) are both M PN + N c .
  • the first value c(0) is related to x 1 (N C ), x 2 (N C ), and the second value c(1) of the pseudo-random sequence c(n) is x 1 (1+N C ), x 2 (1+N C ) is related, and thus it can be seen that the pseudo-random sequences c(0), c(1)...c(M PN -1) and x 1 (0)...x 1 (N C -1 ) ) is independent of x 2 (0)...x 2 (N C -1).
  • the first sequence is x 1 (N C ), x 1 (1+N C )...x 1 (M PN +N C ); the second sequence is x 2 (N C ), x 2 (1+N C )...x 2 (M PN -1+N C ).
  • N 2 x , where x is a natural number.
  • the first subsequence of the second sequence is x 2 (1600), x 2 (1601)...x 2 (2599), and the second subsequence is x 2 (2600), x 2 (2601)...x 2 (3599)... And so on.
  • Step 102 Calculate a sequence value of each sub-sequence in the N-segment subsequence of the first sequence
  • the communication entity performing step 102 may be a terminal and/or a base station.
  • the sequence values of each sub-sequence are calculated.
  • the initial sequence of the first sequence is x 1 (0)...x 1 (30)
  • the sequence value of the initial sequence ie, the value of x 1 (0) is taken to x 1 (30)
  • the value is fixed, then the sequence value of each sub-sequence in the first sequence according to formula (2) can be calculated.
  • the values of the respective bits in the first sequence may be sequentially calculated (serial operation), or the sequence of each sub-sequence may be obtained according to the formula (2) and the division result of each sub-sequence of the first sequence.
  • the value is simultaneously operated (parallel operation).
  • parallel computing is that it saves computation time.
  • Step 103 Calculate sequence values of each sub-sequence in the N-segment sub-sequence of the second sequence, where at least the sequence values of the sub-sequences of the second sequence are performed in parallel;
  • the communication entity performing step 103 may be a terminal and/or a base station.
  • the initial sequence x 2 (0)...x 2 (30) of the second sequence is usually not fixed, and varies according to the usage scenario, so that in the second sequence x 2 (N C ), x 2 (1+N C )...x 2 (M PN -1+N C )
  • the sequence values of the sub-sequences are simultaneously operated (parallel operation).
  • parallel operation has the advantage of saving computation time and accelerating the operation of the pseudo-random sequence c(n).
  • step 102 and step 103 can be performed simultaneously.
  • Step 104 Obtain a pseudo-random sequence according to the sequence value of each sub-sequence in the first sequence and the sequence value of each sub-sequence in the second sequence.
  • the communicating entity performing step 104 may be a terminal and/or a base station.
  • the sequence value of each segment subsequence in the first sequence and the sequence value of the corresponding subsequence in the second sequence are substituted into the formula (1) to obtain the value of the pseudo random sequence.
  • M PN 16000
  • N 16 segments
  • N C 1600 as an example
  • the first value of the pseudo-random sequence c(0) (x 1 (1600)+x 2 (1600) mod2)
  • the first sequence and the second sequence are respectively divided into N segments, and the N-segment subsequence of the first sequence and the N-segment subsequence of the second sequence are obtained, and then the N-segment of the first sequence and the second sequence are calculated.
  • the sequence value of each subsequence in the sequence is based on the sequence value of each subsequence in the first sequence and the sequence value of each subsequence in the second sequence, to obtain a pseudo random sequence.
  • the present embodiment is in the second sequence x 2 (N C ), x 2 (1+N C )...x 2 (M PN - 1+N C )
  • the sequence values of the sub-sequences of each segment are operated in parallel.
  • the parallel operation of the sequence values of the subsequences of the second sequence can realize the fast calculation of the pseudo random sequence, which can effectively reduce the calculation amount and save the storage space.
  • step 102 further includes:
  • Step 1021 Determine a sequence value of an initial value sequence of the second sequence
  • the communication entity performing step 1021 may be a terminal and/or a base station.
  • the initial sequence of the second sequence x 2 (N C ), x 2 (1+N C )...x 2 (M PN -1+N C ) is x 2 (0)...x 2 (30), the initial sequence
  • These 31 values can be obtained by initializing the initial value sequence.
  • Step 1022 Obtain, according to the sequence value of the initial value sequence, the first L values of each sub-sequence in the second sequence, where L is a positive integer;
  • the communication entity performing step 1022 may be a terminal and/or a base station.
  • L may have a value of 31.
  • L can also take other values and flexibly take values according to actual usage.
  • Step 1023 Obtain values other than the first L values in each sub-sequence according to the first L values of each sub-sequence;
  • the communicating entity performing step 1023 may be a terminal and/or a base station.
  • each segment has the same number of bit values in the subsequence.
  • the first L values of the subsequences of each segment can be obtained, and in addition to the first L values in each segment subsequence, Other values.
  • the remaining (1000-L) bit values in the subsequence can be calculated from the first L values of the subsequence.
  • Step 1024 Combine the first L values of each segment subsequence and other values of the corresponding segment subsequence except the first L values to obtain sequence values of the segment subsequences in the second sequence.
  • the communication entity performing step 1024 may be a terminal and/or a base station.
  • the sequence value of a subsequence in the second sequence is the set of the first L values and the remaining values of the subsequence of the segment.
  • the second sequence has been divided into N-segment sub-sequences, in the embodiment of the present invention, it is not necessary to sequentially calculate the first L values of the sub-sequences of each segment and the remaining values of the corresponding segment sub-sequences, which need to be the first
  • the first L values of the segment subsequence to the Nth subsequence and the residual values of the corresponding segment subsequence are simultaneously calculated (parallel calculation), which can shorten the calculation time of the pseudo random sequence.
  • the method before determining the sequence value of the initial sequence of the second sequence, the method further comprises:
  • the first L values of each sub-sequence include: calculating the front L of each sub-sequence in the second sequence according to the relationship between the first L-bit of the sub-sequence and the initial value sequence and the sequence value of the initial value sequence Values.
  • the initial sequence of the second sequence is x 2 (0)...x 2 (30). Determining the relationship between the first L bits of each subsequence in the second sequence and the initial value sequence is that the first L bits of each subsequence are expressed by some or all elements in the initial value sequence, and the first L bits of each subsequence are obtained.
  • the aforementioned relational expression can be realized by setting in advance.
  • the initial sequence of the second sequence is x 2 (0)...x 2 (30), and the former 31 of the first subsequence
  • the 6-bit relationship expressed by some elements of the initial value sequence is:
  • x 2 (31) (x 2 (0)+x 2 (1)+x 2 (2)+x 2 (3)) mod 2;
  • x 2 (32) (x 2 (1)+x 2 (2)+x 2 (3)+x 2 (4)) mod 2;
  • x 2 (33) (x 2 (2)+x 2 (3)+x 2 (4)+x 2 (5)) mod 2;
  • x 2 (34) (x 2 (3)+x 2 (4)+x 2 (5)+x 2 (6)) mod 2;
  • x 2 (35) (x 2 (7)+x 2 (4)+x 2 (5)+x 2 (6)) mod 2;
  • the first six values x 2 (31) to x 2 (35) in the first segment subsequence can be obtained.
  • the first sequence and the second sequence are respectively divided into N segments, and the N-segment subsequence of the first sequence and the N-segment subsequence of the second sequence are obtained, and each segment of the N-segment subsequence of the first sequence is further calculated.
  • a sequence value of the sequence determining a sequence value of the initial value sequence of the second sequence, and obtaining, according to the sequence value of the initial value sequence, the first L values of each segment of the second sequence, according to the first L values of each segment sequence Obtaining values other than the first L values in each sub-sequence, and collecting the first L values of each sub-sequence and other values of the corresponding sub-sequence except the first L values, to obtain each of the second sequence
  • the sequence value of the segment subsequence is obtained according to the sequence value of each subsequence in the first sequence and the sequence value of each subsequence in the second sequence, to obtain a pseudo random sequence.
  • the present embodiment is in the second sequence x 2 (N C ), x 2 (1+N C )...x 2 (M PN - 1+N C )
  • the first L values of each sub-sequence in the second sequence are simultaneously obtained, and according to the first L values of each sub-sequence,
  • the values other than the first L values in the segment subsequence that is, the parallel operation of the sequence values of the subsequences of each segment.
  • the parallel operation of the sequence values of the subsequences of the second sequence can realize the fast calculation of the pseudo random sequence, which can effectively reduce the calculation amount and save the storage space.
  • the third embodiment for obtaining a pseudo-random sequence provided by the present invention is based on the foregoing second embodiment. As shown in FIG. 3, according to the first L values of each sub-sequence, the pre-L is obtained in each sub-sequence. Other values than the value (step 1023), including:
  • Step 1023A For the first L values of any sub-sequence in each sub-sequence, the first L values of the sub-sequence are shifted M times to obtain M first shift sequences.
  • the communication entity performing steps 1024A to 1023D may be a terminal and/or a base station. Because The second sequence is divided into N sub-sequences, and each sub-sequence is independent of each other. The sub-sequences can be calculated simultaneously for each sub-sequence. After the calculation is completed, the sequence values of each sub-sequence are followed by the segment number. Sequence values of the second sequence are obtained by performing sequential collection. The second sequence and the first sequence are substituted for the sequence values according to the above formula (1) to obtain a pseudo-random sequence c(n).
  • steps 1023A to 1023D is a method for calculating the sequence values of any segment subsequence of the second sequence.
  • the first L values of each segment subsequence can be obtained according to the relationship between the initial value formula of the second sequence and the first L bits of each segment subsequence.
  • the first L values of each sub-sequence are shifted M times, such as M times left shift or M times right shift. Each time the same number of bits can be moved, such as one bit at a time, of course, each time Move two or three, not limited here. A first shift sequence is obtained for each move.
  • Step 1023B performing an exclusive-OR operation on the first L values of the segment subsequence and the M first shift sequences to obtain a first target sequence, where M is a positive integer;
  • the M first shift sequences obtained by shifting the first L values and the previous L values in the sub-sequence are subjected to an M-OR exclusive-OR operation.
  • the number of bits of M is greater than the number of bits of L.
  • M can take 32 bits.
  • M can also take other values.
  • Step 1023C Segmenting the first target sequence to obtain a first partial subsequence and a second partial subsequence of the first target sequence, wherein the second partial subsequence of the first target sequence is longer than the first partial subsequence of the first target sequence length;
  • the two-part sub-sequence is divided into two parts, that is, the first partial sub-sequence and the second partial sub-sequence, and the bit lengths of the two partial sub-sequences are different, and the length of the second partial sub-sequence which is usually divided Greater than the length of the first partial subsequence.
  • Step 1023D According to the first partial subsequence and the second partial subsequence of the first target sequence, The values other than the first L values in the segment subsequence are obtained.
  • the two-part subsequence obtained by dividing the first target sequence obtains values other than L values in the segment subsequence.
  • the second partial subsequence of the first target sequence, the second partial subsequence shift of the second target sequence, and other target sequences (third target sequence, fourth target sequence, ... last target sequence)
  • the number of shifts of the second partial subsequence needs to be the same, and the direction and number of bits of each movement need to be the same, preferably the number of shifts and the number of bits of the first L values of the corresponding segment subsequence are the same but the moving direction in contrast.
  • the sequence values of the sub-sequences in the second sequence are performed in parallel, and the segments are obtained by the relationship between the first L bits of the sub-sequences and the initial sequence of the second sequence.
  • the first L values of the sequence are for the first L values of any subsequence in each subsequence, and the first L values of the subsequence are shifted M times to obtain M first shift sequences.
  • values other than the first L values in the segment subsequence are obtained.
  • a certain value in a certain sub-sequence on the hardware occupies less bits, preferably occupying 1 bit, which can effectively save storage space and shift compared with the generation method of pseudo-random sequence based on state transition matrix multiplication in the related art. Bit operations are simpler than matrix multiplication and are easy to implement physically.
  • the operation of the sequence values of each sub-sequence can realize the fast calculation of the pseudo-random sequence and save the calculation time.
  • the first first shift sequence is further shifted right and shifted to the right by one bit, and the second first shift sequence is obtained as shown by the value 2 to 30 in the third row of FIG. grid.
  • the second first shift sequence is shifted right and shifted to the right by one bit, and the third first shift sequence is obtained as shown in the fourth row of FIG. 4 by the values 3 to 30.
  • Performing an exclusive OR operation of the first L 31 values and the first to third first shift sequences by 32 bits to obtain a first target sequence, as shown in the fifth row of FIG. 58 and the small grid occupied by H0 ⁇ H3.
  • the first target sequence is divided into two parts to obtain a first partial subsequence (the small cells occupied by H0 to H3 shown in the fifth row of FIG. 4) and a second partial subsequence (as shown in the fifth row of FIG. 4).
  • the small value occupied by the values 31 to 58) retains the second partial subsequence of the first target sequence as the data of the sixth row in Fig. 4.
  • the left partial subsequence is shifted to the left and left to the left to obtain a first second shift sequence, as shown in the seventh row of FIG. 4, the value 31 to 58, and then the first The second shift sequence is shifted left and left by one bit, and the second second shift sequence is obtained as shown in the fourth row of FIG.
  • the bit sequence is shifted to the left by one bit and shifted to the left by one bit, and the third second shift sequence is obtained as shown in the fourth row of FIG. 4, and the first partial subsequence of the first target sequence is the first sub-sequence.
  • the small cells occupied by H0 to H3 shown in the 5th row are retained as the lower four bits of the 32-bit XOR operation.
  • the values in the 11th row of Fig. 4 are 59 to 86 and the small cells occupied by H0 to H3.
  • the second target sequence is divided into two parts to obtain a first partial subsequence (the small cells occupied by H0 to H3 shown in the 11th line in FIG. 4) and a second partial subsequence (as shown in the eleventh row in FIG. 4).
  • the small values occupied by the values 59 to 86) retain the second partial subsequence of the second target sequence as the data of the 12th line in Fig. 4.
  • the left second sub-sequence is shifted to the left and left to the left to obtain the first second shift sequence, as shown in the third row of the figure 34, the values of 59 to 86, and then the first
  • the second shift sequence is shifted to the left by one bit and shifted to the left by one bit, and the second second shift sequence is obtained as shown in the fourth row of FIG. 4, the value of 59-86 is occupied by the small cell, and then the second second shift is performed.
  • the bit sequence is shifted left and left by one bit, and the third second shift sequence is obtained as shown in the fifth row of FIG. 4, and the first partial subsequence of the second target sequence is the first subsequence.
  • the small cells occupied by H0 to H3 shown in line 16 are retained and used as the lower four bits of the 32-bit XOR operation.
  • performing a 32-bit XOR operation on the second partial subsequence of the second target sequence, the first to third third shift sequences, and the first partial subsequence of the second target sequence to obtain a third target sequence Figure 4 The 17th line in the value 87 to 114 and the small grid occupied by H0 to H3).
  • the second partial subsequence of the first target sequence to the second partial subsequence of the penultimate target sequence and the last set of target sequences are values other than the first L values in the Nth p subsequence.
  • the first target sequence, the second target sequence, the third target sequence, and a part of the subsequences of other target sequences occupy 4 small cells because x 2 (n+31) in the above formula (3) x 2 (n+3), x 2 (n+2), x 2 (n+1), and x 2 (n) are related to the four values.
  • sequence value N piece of the second sequence is a sequence of parallel operation
  • the second sequence is calculated immediately read the first sequence of N p
  • the sequence value of the segment subsequence, and the partial sequence value of the pseudo random sequence is obtained according to the above formula (1).
  • the exclusive-OR operation is performed by using a 32-bit arithmetic unit, that is, one small cell in FIG. 4 occupies only one bit, which is compared with the pseudo-random sequence generation method based on state transition matrix multiplication in the related art.
  • the storage space is effectively saved, and the shift operation is simpler than the matrix multiplication operation, and is easy to implement physically.
  • the operation of the sequence values of each sub-sequence can realize the fast calculation of the pseudo-random sequence and save the calculation time.
  • the apparatus for obtaining a pseudo-random sequence provided by the present invention is applied to a communication system such as a code division multiple access system, a time division multiple access system, a frequency division multiple access system, and an LTE system, and is preferably an LTE system.
  • a communication system such as a code division multiple access system, a time division multiple access system, a frequency division multiple access system, and an LTE system, and is preferably an LTE system.
  • the device includes: a first dividing unit 501, a first calculating unit 502, a second calculating unit 503, and a first acquiring unit 504;
  • the first dividing unit 501 is configured to perform N segments for the first sequence and the second sequence respectively. Dividing, obtaining an N-segment subsequence of the first sequence and an N-segment subsequence of the second sequence, where N is a positive integer;
  • the first calculating unit 502 is configured to calculate a sequence value of each sub-sequence in the N-segment sub-sequence of the first sequence
  • the second calculating unit 503 is configured to calculate a sequence value of each sub-sequence in the N-segment sub-sequence of the second sequence, where at least the sequence values of the sub-sequences of the second sequence are performed in parallel;
  • the first obtaining unit 504 is configured to obtain a pseudo random sequence according to the sequence value of each sub-sequence in the first sequence and the sequence value of each sub-sequence in the second sequence.
  • the second calculating unit 502 is further configured to:
  • the first L values of each sub-sequence and the other values of the corresponding segment sub-sequence except the first L values are collected to obtain sequence values of the sub-sequences of the second sequence.
  • the second calculating unit 502 is configured to: determine an initial value sequence of the second sequence before determining a sequence value of the initial sequence of the second sequence;
  • the first L values of each sub-sequence in the second sequence are calculated according to the relationship between the first L-bit of the segment subsequence and the initial value sequence and the sequence value of the initial value sequence.
  • the second calculating unit 502 is further configured to:
  • the second calculating unit 502 is further configured to:
  • Determining a second partial subsequence of the first target sequence to a second partial subsequence of the penultimate target sequence and a set of the last target sequence is a value other than the first L values in the segment subsequence.
  • the first sequence and the second sequence are respectively divided into N segments, and the N-segment subsequence of the first sequence and the N-segment subsequence of the second sequence are obtained, and then the N-segment of the first sequence and the second sequence are calculated.
  • the sequence value of each subsequence in the sequence is based on the sequence value of each subsequence in the first sequence and the sequence value of each subsequence in the second sequence, to obtain a pseudo random sequence.
  • the present embodiment is in the second sequence x 2 (N C ), x 2 (1+N C )...x 2 (M PN - 1+N C )
  • the sequence values of the sub-sequences of each segment are operated in parallel.
  • the parallel operation of the sequence values of the subsequences of the second sequence can realize the fast calculation of the pseudo random sequence, which can effectively reduce the calculation amount and save the storage space.
  • the apparatus for obtaining a pseudo-random sequence in the embodiment of the present invention is similar to the foregoing method for acquiring a pseudo-random sequence, and the implementation process and implementation principle of the device can be referred to the foregoing obtaining pseudo.
  • the implementation process of the method of random sequence and the description of the implementation principle are not repeated here.
  • the first dividing unit 501, the first calculating unit 502, the second calculating unit 503, and the first obtaining unit 504 may each be a central processing unit (CPU), or a digital signal processing (DSP, Digital Signal Processor, or Microprocessor Unit (MPU), or Field Programmable Gate Array (FPGA).
  • CPU central processing unit
  • DSP digital signal processing
  • MPU Microprocessor Unit
  • FPGA Field Programmable Gate Array
  • the present invention also provides an apparatus for obtaining a pseudo-random sequence, comprising: a processor and a memory configured to store a computer program executable on the processor, wherein the processor is configured to execute when the computer program is executed The following steps:
  • N is a positive integer
  • a pseudo-random sequence is obtained based on the sequence value of each sub-sequence in the first sequence and the sequence value of each sub-sequence in the second sequence.
  • the first L values of each sub-sequence and the other values of the corresponding segment sub-sequence except the first L values are collected to obtain sequence values of the sub-sequences of the second sequence.
  • the first L values of each sub-sequence in the second sequence are obtained according to the sequence value of the initial value sequence, including:
  • the first L values of each sub-sequence in the second sequence are calculated according to the relationship between the first L-bit of the segment subsequence and the initial value sequence and the sequence value of the initial value sequence.
  • Determining a second partial subsequence of the first target sequence to a second partial subsequence of the penultimate target sequence and a set of the last target sequence is a value other than the first L values in the segment subsequence.
  • the processor may be an integrated circuit chip with signal processing capabilities.
  • each step of the above method may be completed by an integrated logic circuit of hardware in a processor or an instruction in a form of software.
  • the above described processor may be a general purpose processor, a DSP, or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, or the like.
  • the processor may implement or perform the methods, steps, and logic blocks disclosed in the embodiments of the present invention.
  • a general purpose processor can be a microprocessor or any conventional processor or the like.
  • the steps of the method disclosed in the embodiment of the present invention may be directly implemented as a hardware decoding processor, or may be performed by a combination of hardware and software modules in the decoding processor.
  • the software module can be located in a storage medium, the storage medium being located in the memory, the processor reading the information in the memory, and completing the steps of the foregoing methods in combination with the hardware thereof.
  • Embodiments of the present invention also provide a computer readable storage medium, such as a memory including a computer program that can be executed by a processor of a device that acquires a pseudo-random sequence to perform the steps described in the foregoing methods.
  • the computer readable storage medium may be a magnetic random access memory (FRAM), a ROM, a Programmable Read-Only Memory (PROM), an Erasable programmable read only memory (EPROM, Erasable).
  • Programmable Read-Only Memory Programmable Read-Only Memory
  • Flash Memory Magnetic Surface Memory, Optical Disk, or Read Only Disc (CD-ROM) Memory such as Compact Disc Read-Only Memory; or various devices including one or any combination of the above memories.
  • the computer readable storage medium stores a computer program, wherein when the computer program is executed by the processor, the following steps are implemented:
  • N is a positive integer
  • a pseudo-random sequence is obtained based on the sequence value of each sub-sequence in the first sequence and the sequence value of each sub-sequence in the second sequence.
  • the first L values of each sub-sequence and the other values of the corresponding segment sub-sequence except the first L values are collected to obtain sequence values of the sub-sequences of the second sequence.
  • the first L values of each sub-sequence in the second sequence are obtained according to the sequence value of the initial value sequence, including:
  • the first L values of each sub-sequence in the second sequence are calculated according to the relationship between the first L-bit of the segment subsequence and the initial value sequence and the sequence value of the initial value sequence.
  • Determining a second partial subsequence of the first target sequence to a second partial subsequence of the penultimate target sequence and a set of the last target sequence is a value other than the first L values in the segment subsequence.
  • each processing unit in the apparatus for acquiring a pseudo random sequence can be understood by referring to the related description of the foregoing method for obtaining a pseudo random sequence. It should be understood by those skilled in the art that the functions of the processing units in the apparatus for acquiring a pseudo-random sequence shown in FIG. 5 can be implemented by a program running on a processor, or can be implemented by a specific logic circuit.
  • embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention can take the form of a hardware embodiment, a software embodiment, or a combination of software and hardware. Moreover, the invention can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) including computer usable program code.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.
  • the embodiment of the present invention can perform parallel operations on the sequence values of the sub-sequences. Therefore, compared with the related art, the fast calculation of the pseudo-random sequence can be realized, which can effectively reduce the calculation. Quantity and save storage space.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明实施例公开了一种获取伪随机序列的方法和装置、存储介质,所述方法包括:对第一序列、第二序列分别进行N段的划分,得到第一序列的N段子序列、第二序列的N段子序列,再计算第一序列、第二序列的N段子序列中每段子序列的序列值,依据第一序列中每段子序列的序列值和第二序列中每段子序列的序列值,得到伪随机序列。还公开了一种获取伪随机序列的装置。可实现伪随机序列的快速计算,可有效减少计算量和节约存储空间。

Description

一种获取伪随机序列的方法和装置、存储介质
相关申请的交叉引用
本申请基于申请号为201610927601.6、申请日为2016年10月31日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请作为参考。
技术领域
本发明涉及伪随机序列生成技术,具体涉及一种获取伪随机序列的方法和装置、存储介质。
背景技术
伪随机序列既有随机信号所具备的优良的相关性,又具有随机信号不具备的规律性,使得它极易于从干扰信号中被识别和/或分离出来,且易于重复的产生和复制。由于具有这些特点,伪随机序列在扩频通信、多址通信、误码测试、信号同步等方面有着广泛的应用。
目前,在长期演进(LTE)系统中常用的伪随机序列(伪随机序列的序列值)产生方法有串行迭代公式法和基于状态转移矩阵乘法的产生方法。其中,串行迭代公式法计算效率低,需要很长的迭代时间才能将伪随机序列计算出来。基于状态转移矩阵乘法的产生方法由于存在矩阵的乘法运算使得计算量大大增加且矩阵的大量计算增加了对存储空间的较大占用,不利于存储空间的节省。
发明内容
为解决现有存在的技术问题,本发明实施例提供一种获取伪随机序列 的方法和装置、存储介质,至少能够实现伪随机序列的快速计算,减少计算量和节约存储空间。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种获取伪随机序列的方法,所述方法包括:
对第一序列、第二序列分别进行N段的划分,得到第一序列的N段子序列、第二序列的N段子序列,N为正整数;
计算第一序列的N段子序列中每段子序列的序列值;
计算第二序列的N段子序列中每段子序列的序列值,其中至少对第二序列的各段子序列的序列值进行并行运算;
依据第一序列中每段子序列的序列值和第二序列中每段子序列的序列值,得到伪随机序列。
上述方案中,所述计算第二序列的N段子序列中每段子序列的序列值,其中至少对第二序列的各段子序列的序列值进行并行运算,包括:
确定第二序列的初值序列的序列值;
依据所述初值序列的序列值,得到第二序列中各段子序列的前L个值,L为正整数;
依据各段子序列的前L个值,得到各段子序列中除前L个值之外的其它值;
将各段子序列的前L个值和对应段子序列中除前L个值之外的其它值进行集合,得到第二序列中各段子序列的序列值。
上述方案中,在确定第二序列的初值序列的序列值之前,所述方法还包括:
确定第二序列的初值序列;
确定第二序列中各段子序列的前L位与所述初值序列的关系式;
相应的,所述依据所述初值序列的序列值,得到第二序列中各段子序 列的前L个值,包括:
根据各段子序列的前L位与所述初值序列的关系式和所述初值序列的序列值,计算第二序列中各段子序列的前L个值。
上述方案中,所述依据各段子序列的前L个值,得到各段子序列中除前L个值之外的其它值,包括:
针对各段子序列中任意一段子序列的前L个值;
将该段子序列的前L个值进行M次移位,得到M个第一移位序列,M为正整数;
将该段子序列的所述M个第一移位序列的前L个值进行M位的异或运算,得到第一目标序列;
将第一目标序列进行分割,得到第一目标序列的第一部分子序列和第二部分子序列,第一目标序列的第二部分子序列的长度长于第一目标序列的第一部分子序列的长度;
依据第一目标序列的第一部分子序列和第二部分子序列,得到该段子序列中除前L个值之外的其它值。
上述方案中,所述依据第一目标序列的第一部分子序列和第二部分子序列,得到该段子序列中除前L个值之外的其它值,包括:
将第一目标序列的第二部分子序列进行M次移位,得到M个第二移位序列;
将第一目标序列的第一部分子序列与所述M个第二移位序列进行最多M+1位的异或运算,得到第二目标序列;
将第二目标序列进行分割,得到第二目标序列的第一部分子序列和第二部分子序列,第二目标序列的第二部分子序列的长度大于第二目标序列的第一部分子序列的长度;
将第二目标序列的第二部分子序列进行M次移位,得到M个第三移位 序列;
将第二目标序列的第一部分子序列与所述M个第三移位序列进行最多M+1位的异或运算,得到第三目标序列;
以此类推,直至计算出最后一个目标序列;
确定第一目标序列的第二部分子序列至倒数第二个目标序列的第二部分子序列以及最后一个目标序列的集合为该段子序列中除前L个值之外的其它值。
本发明实施例还提供一种获取伪随机序列的装置,所述装置包括:
第一划分单元,配置为对第一序列、第二序列分别进行N段的划分,得到第一序列的N段子序列、第二序列的N段子序列,N为正整数;
第一计算单元,配置为计算第一序列的N段子序列中每段子序列的序列值;
第二计算单元,配置为计算第二序列的N段子序列中每段子序列的序列值,其中至少对第二序列的各段子序列的序列值进行并行运算;
第一获取单元,配置为依据第一序列中每段子序列的序列值和第二序列中每段子序列的序列值,得到伪随机序列。
上述方案中,所述第二计算单元,配置为:
确定第二序列的初值序列的序列值;
依据所述初值序列的序列值,得到第二序列中各段子序列的前L个值,L为正整数;
依据各段子序列的前L个值,得到各段子序列中除前L个值之外的其它值;
将各段子序列的前L个值和对应段子序列中除前L个值之外的其它值进行集合,得到第二序列中各段子序列的序列值。
上述方案中,所述第二计算单元,配置为:
确定第二序列的初值序列;
确定第二序列中各段子序列的前L位与所述初值序列的关系式;
根据各段子序列的前L位与所述初值序列的关系式和所述初值序列的序列值,计算第二序列中各段子序列的前L个值。
上述方案中,所述第二计算单元,还配置为:
针对各段子序列中任意一段子序列的前L个值;
将该段子序列的前L个值进行M次移位,得到M个第一移位序列;
将该段子序列的前L个值及所述M个第一移位序列进行M位的异或运算,得到第一目标序列,M为正整数;
将第一目标序列进行分割,得到第一目标序列的第一部分子序列和第二部分子序列,第一目标序列的第二部分子序列的长度长于第一目标序列的第一部分子序列的长度;
依据第一目标序列的第一部分子序列和第二部分子序列,得到该段子序列中除前L个值之外的其它值。
上述方案中,所述第二计算单元,还配置为:
将第一目标序列的第二部分子序列进行M次移位,得到M个第二移位序列;
将第一目标序列的第一部分子序列与所述M个第二移位序列进行最多M+1位的异或运算,得到第二目标序列;
将第二目标序列进行分割,得到第二目标序列的第一部分子序列和第二部分子序列,第二目标序列的第二部分子序列的长度大于第二目标序列的第一部分子序列的长度;
将第二目标序列的第二部分子序列进行M次移位,得到M个第三移位序列;
将第二目标序列的第一部分子序列与所述M个第三移位序列进行最多 M+1位的异或运算,得到第三目标序列;
以此类推,直至计算出最后一个目标序列;
确定第一目标序列的第二部分子序列至倒数第二个目标序列的第二部分子序列以及最后一个目标序列的集合为该段子序列中除前L个值之外的其它值。
本发明实施例还提供一种获取伪随机序列的装置,包括:处理器和配置为存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器配置为运行所述计算机程序时,执行以上所述方法的步骤。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其中,该计算机程序被处理器执行时实现以上所述方法的步骤。
本发明实施例提供的获取伪随机序列的方法和装置、存储介质,所述方法包括:对第一序列、第二序列分别进行N段的划分,得到第一序列的N段子序列、第二序列的N段子序列,再计算第一序列、第二序列的N段子序列中每段子序列的序列值,依据第一序列中每段子序列的序列值和第二序列中每段子序列的序列值,得到伪随机序列。本实施例在对第二序列进行N段子序列的划分后,对各段子序列的序列值进行并行运算。与相关技术相比,可实现伪随机序列的快速计算,可有效减少计算量和节约存储空间。
附图说明
图1为本发明提供的获取伪随机序列的第一实施例的实现流程示意图;
图2为本发明提供的获取伪随机序列的第二实施例的实现流程示意图;
图3为本发明提供的获取伪随机序列的第三实施例的实现流程示意图;
图4为本发明提供的获取第二序列的第Np段子序列的序列值的示意图;
图5为本发明提供的获取伪随机序列的装置的组成结构示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明提供的获取伪随机序列的第一实施例,应用于通信系统中如码分多址系统、时分多址系统、频分多址系统及LTE系统中,优选为LTE系统。第三代合作伙伴计划3GPP LTE规范规定可采用一种31-bit戈尔德(Gold)序列经公式(1)~(3)的运算产生伪随机序列c(n)。
c(n)=(x1(n+NC)+x2(n+NC)mod 2)   (1)
x1(n+31)=(x1(n+3)+x1(n))mod 2  (2)
x2(n+31)=(x2(n+3)+x2(n+2)+x2(n+1)+x2(n))mod 2  (3)
其中,x1(n)、x2(n)为Gold序列;NC为预先设置的数值,可以根据实际情况而取值,如取值为1600;n=0,1,...,MPN-1,MPN为伪随机序列c(n)的长度。
图1为本发明提供的获取伪随机序列第一实施例的流程示意图;如图1所示,所述方法包括:
步骤101:对第一序列、第二序列分别进行N段的划分,得到第一序列的N段子序列、第二序列的N段子序列,N为正整数;
这里,执行步骤101的通信实体可以为终端和/或基站。所述终端包括但不限定于传统手机、智能手机、掌上电脑PAD、智能手表、智能手环等。当伪随机序列c(n)的长度是MPN时,x1(n)、x2(n)的序列长度均为MPN+Nc。在公式(1)中,当n=0时,c(n)=c(0)=(x1(0+NC)+x2(0+NC)mod2)即伪随机序列c(n)的第一个值c(0)与x1(NC)、x2(NC)有关,伪随机序列c(n)的第二个值c(1)与x1(1+NC)、x2(1+NC)有关,由此可见,伪随机序列c(0)、c(1)…c(MPN-1)与 x1(0)…x1(NC-1)和x2(0)…x2(NC-1)无关。基于此,第一序列是x1(NC)、x1(1+NC)…x1(MPN+NC);第二序列是x2(NC)、x2(1+NC)…x2(MPN-1+NC)。对第一序列x1(NC)、x1(1+NC)…x1(MPN-1+NC),第二序列是x2(NC)、x2(1+NC)…x2(MPN-1+NC)进行N段的划分,得到第一序列的第1段子序列~第N段子序列、第二序列的第1段子序列~第N段子序列,N为正整数,优选为N=2x,x为自然数。在第一序列的各段子序列中具有的bit位相同,在第二序列的各段子序列中具有的bit位相同。举个例子,假定要获取的伪随机序列c(n)的长度是MPN=16000,那么第一序列和第二序列的长度也应该是16000,如果取N=16段,那么第一序列、第二序列中的每段子序列均具有c(n)/16=16000/16=1000位。当NC=1600时,第一序列的第1段子序列是x1(1600)、x1(1601)…x1(2599),第2段子序列是x1(2600)、x1(2601)…x1(3599)…以此类推。第二序列的第1段子序列是x2(1600)、x2(1601)…x2(2599),第2段子序列是x2(2600)、x2(2601)…x2(3599)…以此类推。
步骤102:计算第一序列的N段子序列中每段子序列的序列值;
这里,执行步骤102的通信实体可以为终端和/或基站。将第一序列x1(NC)、x1(1+NC)…x1(MPN+NC)按段进行划分后,计算每段子序列的序列值。在LTE系统中,第一序列的初值序列是x1(0)…x1(30),该初值序列的序列值(即x1(0)的取值至x1(30)的取值)是固定好的,那么根据公式(2)第一序列中的各段子序列的序列值是可以计算出来的。根据公式(2),可以将第一序列中各个位的值进行依次计算(串行运算),也可以根据公式(2)及对第一序列的各段子序列的划分结果对各段子序列的序列值进行同时运算(并行运算)。并行运算的好处在于节省计算时间。
步骤103:计算第二序列的N段子序列中每段子序列的序列值,其中至少对第二序列的各段子序列的序列值进行并行运算;
这里,执行步骤103的通信实体可以为终端和/或基站。在LTE系统中,第二序列的初值序列x2(0)…x2(30)通常是不固定的,根据使用场景的不同而不同,如此在对第二序列x2(NC)、x2(1+NC)…x2(MPN-1+NC)进行N段子序列的划分后,对各段子序列的序列值进行同时运算(并行运算),具体运算过程参见后续说明此处暂不详细描述。与相关计算技术中的串行迭代公式法相比,并行运算的好处在于节省计算时间,加速对伪随机序列c(n)的运算。
需要说明的是,由于第一序列和第二序列是两个独立的序列,所以可同时计算各自的子序列的序列值,即步骤102和步骤103可以同时进行。
步骤104:依据第一序列中每段子序列的序列值和第二序列中每段子序列的序列值,得到伪随机序列。
这里,执行步骤104的通信实体可以为终端和/或基站。将第一序列中各段子序列的序列值和第二序列中对应子序列的序列值代入至公式(1)中,得到伪随机序列的取值。以MPN=16000、N=16段、NC=1600为例,伪随机序列的第一个值c(0)=(x1(1600)+x2(1600)mod2);第二个值c(1)=(x1(1601)+x2(1601)mod2)…以此类推得到伪随机序列c(0)、c(1)…c(MPN-1)的取值。
本发明实施例中,对第一序列、第二序列分别进行N段的划分,得到第一序列的N段子序列、第二序列的N段子序列,再计算第一序列、第二序列的N段子序列中每段子序列的序列值,依据第一序列中每段子序列的序列值和第二序列中每段子序列的序列值,得到伪随机序列。其中,考虑到在LTE系统中第二序列的初值序列通常为不固定,本实施例在对第二序列x2(NC)、x2(1+NC)…x2(MPN-1+NC)进行N段子序列的划分后,对各段子序列的序列值进行并行运算。与相关技术相比,对第二序列的各段子序列的序列值进行并行运算可实现伪随机序列的快速计算,可有效减少计算量和节约存储空间。
本发明提供的获取伪随机序列的第二实施例,在前述第一实施例的基础上,如图2所示,步骤102进一步包括:
步骤1021:确定第二序列的初值序列的序列值;
这里,执行步骤1021的通信实体可以为终端和/或基站。第二序列x2(NC)、x2(1+NC)…x2(MPN-1+NC)的初值序列是x2(0)…x2(30),初值序列的这31个数值(初值序列的序列值)是可以通过对初值序列的初始化得到。
步骤1022:依据所述初值序列的序列值,得到第二序列中各段子序列的前L个值,L为正整数;
这里,执行步骤1022的通信实体可以为终端和/或基站。考虑到在L TE系统中采用31-bit Gold序列进行伪随机序列c(n)的生成,此处L可取值为31。当然,L还可以取为其它值,根据实际使用情况而灵活取值。
步骤1023:依据各段子序列的前L个值,得到各段子序列中除前L个值之外的其它值;
这里,执行步骤1023的通信实体可以为终端和/或基站。通过前面对第二序列的N段划分,各段子序列中具有相同数量的位值,本步骤中可通过各段子序列的前L个值,可得到各段子序列中除了前L个值之外的其它值。举个例子,针对第二序列的某段子序列,如果其具有1000位,可通过该段子序列的前L个值计算出该段子序列中剩余的(1000-L)位值。
步骤1024:将各段子序列的前L个值和对应段子序列中除前L个值之外的其它值进行集合,得到第二序列中各段子序列的序列值。
这里,执行步骤1024的通信实体可以为终端和/或基站。第二序列中某段子序列的序列值就是该段子序列的前L个值和剩余值的集合。
这里,因为已经将第二序列划分为N段子序列,本发明实施例中,不需要依次计算各段子序列的前L个值和对应段子序列的剩余值,需要对第1 段子序列至第N段子序列的前L个值和对应段子序列的剩余值进行同时计算(并行计算),可缩短伪随机序列的计算时间。
在一个优选的实施例中,在确定第二序列的初值序列的序列值之前,所述方法还包括:
确定第二序列的初值序列;确定第二序列中各段子序列的前L位与所述初值序列的关系式;相应的,所述依据所述初值序列的序列值,得到第二序列中各段子序列的前L个值,包括:根据各段子序列的前L位与所述初值序列的关系式和所述初值序列的序列值,计算第二序列中各段子序列的前L个值。
考虑到在L TE系统中采用31-bit Gold序列进行伪随机序列c(n)的生成,所以第二序列的初值序列是x2(0)…x2(30)。确定第二序列中各段子序列的前L位与所述初值序列的关系式就是各段子序列的前L位用初值序列中的部分或全部元素来表达,得到各段子序列的前L位与第二序列的初值序列的关系(表达)式;再将初值序列的序列值代入至所得到的关系式,得到各段子序列的前L个值。前述的关系式可通过预先设置而实现。
下面,举个例子,假定L=31、NC=31为例,第二序列的初值序列是x2(0)…x2(30),第1段子序列中的前31位中的前6位用初值序列的部分元素来表达的关系式是:
x2(31)=(x2(0)+x2(1)+x2(2)+x2(3))mod 2;
x2(32)=(x2(1)+x2(2)+x2(3)+x2(4))mod 2;
x2(33)=(x2(2)+x2(3)+x2(4)+x2(5))mod 2;
x2(34)=(x2(3)+x2(4)+x2(5)+x2(6))mod 2;
x2(35)=(x2(7)+x2(4)+x2(5)+x2(6))mod 2;
将初值序列的序列值代入至上述的关系式,就可以得到第1段子序列中的前6个值x2(31)~x2(35)。
上述的关系式仅为具体举例而已,并不限定于本发明实施例的所有表 现形式。当第二序列的初值序列确定后,只要找出第二序列中的各子序列的前L位与初值序列的部分或全部元素之间的关系,并用初值序列中的部分或全部元素对各段子序列的前L位进行关系式表达即可。
本发明实施例中,对第一序列、第二序列分别进行N段的划分,得到第一序列的N段子序列、第二序列的N段子序列,再计算第一序列的N段子序列中每段子序列的序列值;确定第二序列的初值序列的序列值,依据所述初值序列的序列值,得到第二序列中各段子序列的前L个值,依据各段子序列的前L个值,得到各段子序列中除前L个值之外的其它值,将各段子序列的前L个值和对应段子序列中除前L个值之外的其它值进行集合,得到第二序列中各段子序列的序列值,依据第一序列中每段子序列的序列值和第二序列中每段子序列的序列值,得到伪随机序列。其中,考虑到在LTE系统中第二序列的初值序列通常为不固定,本实施例在对第二序列x2(NC)、x2(1+NC)…x2(MPN-1+NC)进行N段子序列的划分后,依据初值序列的序列值,同时得到第二序列中各段子序列的前L个值,并依据各段子序列的前L个值,同时得到各段子序列中除前L个值之外的其它值,即对各段子序列的序列值进行并行运算。与相关技术相比,对第二序列的各段子序列的序列值进行并行运算可实现伪随机序列的快速计算,可有效减少计算量和节约存储空间。
本发明提供的获取伪随机序列的第三实施例,在前述第二实施例的基础上,如图3所示,所述依据各段子序列的前L个值,得到各段子序列中除前L个值之外的其它值(步骤1023),包括:
步骤1023A:针对各段子序列中任意一段子序列的前L个值,将该段子序列的前L个值进行M次移位,得到M个第一移位序列;
这里,执行步骤1024A~1023D的通信实体可以为终端和/或基站。因为 对第二序列进行了N段子序列的划分,各个子序列之间是相互独立的,可以同时对各段子序列进行自身序列值的计算,在计算完成后再将每段子序列的序列值按照段号进行依次集合即可得到第二序列的序列值。第二序列与第一序列按照前述公式(1)进行序列值的代入即可得到伪随机序列c(n)。
由于第二序列的各段子序列的序列值是同时运算且运算方法相同,所以步骤1023A~步骤1023D中描述的方法是针对第二序列的任意段子序列的序列值的计算方法。
在前述方案中,可以根据第二序列的初值公式与各段子序列的前L位的关系式,得到各段子序列的前L个值。在硬件实现上,对每段子序列的前L个值进行M次移位如M次左移或M次右移,每次可移动相同的位数如每次移动一位,当然也可以每次移动二位或三位,此处不做限定。每次移动得到一个第一移位序列。
步骤1023B:将该段子序列的前L个值及所述M个第一移位序列进行M位的异或运算,得到第一目标序列,M为正整数;
这里,针对N段子序列中的其中一段子序列,将该子序列中的前L个值及前L值经过M次移位而得到的M个第一移位序列进行M位的异或运算。通常选取M的位数大于L的位数,如L=31bit时,M可取32bit,当然M还可以取其它值。
步骤1023C:将第一目标序列进行分割,得到第一目标序列的第一部分子序列和第二部分子序列,第一目标序列的第二部分子序列的长度长于第一目标序列的第一部分子序列的长度;
这里,对第一目标序列进行两部分的分割得到两部分子序列即第一部分子序列和第二部分子序列,这两部分子序列的bit长度需不同,通常分割的第二部分子序列的长度大于第一部分子序列的长度。
步骤1023D:依据第一目标序列的第一部分子序列和第二部分子序列, 得到该段子序列中除前L个值之外的其它值。
这里,通过对第一目标序列分割而得到的两部分子序列得到该段子序列中的除了L个值之外的其他值。
其中,所述依据第一目标序列的第一部分子序列和第二部分子序列,得到该段子序列中除前L个值之外的其它值(步骤1023D),进一步为:
将第一目标序列的第二部分子序列进行M次移位,得到M个第二移位序列;将第一目标序列的第一部分子序列与所述M个第二移位序列进行最多M+1位的异或运算,得到第二目标序列;将第二目标序列进行分割,得到第二目标序列的第一部分子序列和第二部分子序列,第二目标序列的第二部分子序列的长度大于第二目标序列的第一部分子序列的长度;将第二目标序列的第二部分子序列进行M次移位,得到M个第三移位序列;将第二目标序列的第一部分子序列与所述M个第三移位序列进行最多M+1位的异或运算,得到第三目标序列;以此类推,直至计算出最后一个目标序列;确定第一目标序列的第二部分子序列至倒数第二个目标序列的第二部分子序列以及最后一个目标序列的集合为该段子序列中除前L个值之外的其它值。
此处,在硬件实现上,第一目标序列的第二部分子序列、第二目标序列的第二部分子序列移位以及其它目标序列(第三目标序列、第四目标序列…最后一个目标序列)的第二部分子序列的移位的次数需相同,每次移动的方向及位数也需相同,优选为与对应段子序列的前L个值的移位次数与位数保持一致但移动方向相反。
在本发明实施例中,对第二序列中的各段子序列的序列值进行并行运算,具体的先通过各段子序列的前L位与第二序列的初值序列之间的关系式得到各段子序列的前L个值,针对各段子序列中任意一段子序列的前L个值,将该段子序列的前L个值进行M次移位,得到M个第一移位序列, 将第一目标序列进行分割,得到第一目标序列的第一部分子序列和第二部分子序列,第一目标序列的第二部分子序列的长度长于第一目标序列的第一部分子序列的长度,依据第一目标序列的第一部分子序列和第二部分子序列,得到该段子序列中除前L个值之外的其它值。在硬件上某段子序列中的某个值占用的比特位较少,优选为占用1bit,与相关技术中基于状态转移矩阵乘法的伪随机序列的产生方法相比,可有效节省存储空间,且移位运算较矩阵乘法运算更为简单,有易于物理实现。另外,同时对各段子序列的序列值进行运算可实现伪随机序列的快速计算,节省计算时间。
下面结合图4对本发明实施例做进一步的说明,以加深对本实施例的理解。
在图4中假定L=31,是第二序列的N段子序列中其中一段子序列如第Np(Np=1、2…N)段子序列的序列值的计算过程。同时,M=32,采用32bit(图4中的每一行均具有32个小格)的运算单元进行异或运算。
在第Np段子序列中,根据第二序列的初值公式x2(0)…x2(30)与第Np段子序列的前L=31位的关系式,得到第Np段子序列的前L=31个值,如图4中的第1行所示的数值0~数值30所占用的小格。将第Np段子序列的前L=31个值进行一次右移,右移一位,得到第一个第一移位序列如图4中的第2行所示的数值1~30所占的小格。然后,将第一个第一移位序列再进行一次右移且右移一位,得到第二个第一移位序列如图4中的第3行所示的数值2~30所占的小格。再将第二个第一移位序列进行一次右移且右移一位,得到第三个第一移位序列如图4中的第4行所示的数值3~30所占的小格。将所述前L=31个值、第一个~第三个第一移位序列进行32位的异或运算,得到第一目标序列,如图4中的第5行所示的数值31~58及H0~H3所占的小格。
将第一目标序列进行两部分的分割得到第一部分子序列(如图4中第5行所示的H0~H3所占的小格)和第二部分子序列(如图4中第5行所示的数值31~58所占的小格),将第一目标序列的第二部分子序列保留下来作为图4中第6行的数据。将所保留下来的第二部分子序列进行一次左移且左移一位,得到第一个第二移位序列如图4中第7行数值31~58所占的小格,再将第一个第二移位序列进行一次左移且左移一位,得到第二个第二移位序列如图4中第8行数值31~58所占的小格,再将第二个第二移位序列进行一次左移且左移一位,得到第三个第二移位序列如图4中第9行数值31~58所占的小格,将第一目标序列的第一部分子序列即第5行所示的H0~H3所占的小格保留下来并作为32位异或运算的低四位。接下来,将第一目标序列的第二部分子序列、第一个~第三个第二移位序列及第一目标序列的第一部分子序列进行32位的异或运算,得到第二目标序列如图4中的第11行数值59~86以及H0~H3所占的小格)。
将第二目标序列进行两部分的分割得到第一部分子序列(如图4中第11行所示的H0~H3所占的小格)和第二部分子序列(如图4中第11行所示的数值59~86所占的小格),将第二目标序列的第二部分子序列保留下来作为图4中第12行的数据。将所保留下来的第二部分子序列进行一次左移且左移一位,得到第一个第二移位序列如图4中第13行数值59~86所占的小格,再将第一个第二移位序列进行一次左移且左移一位,得到第二个第二移位序列如图4中第14行数值59~86所占的小格,再将第二个第二移位序列进行一次左移且左移一位,得到第三个第二移位序列如图4中第15行数值59~86所占的小格,将第二目标序列的第一部分子序列即第16行所示的H0~H3所占的小格保留下来并作为32位异或运算的低四位。接下来,将第二目标序列的第二部分子序列、第一个~第三个第三移位序列及第二目标序列的第一部分子序列进行32位的异或运算,得到第三目标序列如图4 中的第17行数值87~114以及H0~H3所占的小格)。
以此类推,直至计算出第Np段子序列中的最后一个目标序列。第一目标序列的第二部分子序列至倒数第二个目标序列的第二部分子序列以及最后一个目标序列的集合为第Np段子序列中除前L个值之外的其它值。
需要说明的是第一目标序列、第二目标序列、第三目标序列及其他目标序列的一部分子序列之所以占用4个小格,是因为前述公式(3)中x2(n+31)与x2(n+3),x2(n+2),x2(n+1),x2(n)这4个值有关。
这里,因为第一序列x1(NC)、x1(1+NC)…x1(MPN+NC)的初值序列x1(0)…x1(30)是已知的,根据前述公式(2)可得出第一序列的N段子序列中的各个元素的值即第一序列的N段子序列的序列值是已知的。考虑到第二序列中的N段子序列的序列值是并行运算的,当第二序列中的N段子序列中的第Np段子序列的序列值计算出时立即读取第一序列的第Np段子序列的序列值,并根据前述公式(1)得出伪随机序列的部分序列值。
在上述实施例中,采用32bit的运算单元进行异或运算即图4中的一个小格仅占用1个比特位,与相关技术中基于状态转移矩阵乘法的伪随机序列的产生方法相比,可有效节省存储空间,且移位运算较矩阵乘法运算更为简单,有易于物理实现。另外,同时对各段子序列的序列值进行运算可实现伪随机序列的快速计算,节省计算时间。
本发明提供的获取伪随机序列的装置,应用于通信系统中如码分多址系统、时分多址系统、频分多址系统及LTE系统中,优选为LTE系统。如图5所示,
所述装置包括:第一划分单元501、第一计算单元502、第二计算单元503、第一获取单元504;其中,
第一划分单元501,配置为对第一序列、第二序列分别进行N段的划 分,得到第一序列的N段子序列、第二序列的N段子序列,N为正整数;
第一计算单元502,配置为计算第一序列的N段子序列中每段子序列的序列值;
第二计算单元503,配置为计算第二序列的N段子序列中每段子序列的序列值,其中至少对第二序列的各段子序列的序列值进行并行运算;
第一获取单元504,配置为依据第一序列中每段子序列的序列值和第二序列中每段子序列的序列值,得到伪随机序列。
其中,所述第二计算单元502,进一步配置为:
确定第二序列的初值序列的序列值;
依据所述初值序列的序列值,得到第二序列中各段子序列的前L个值,L为正整数;
依据各段子序列的前L个值,得到各段子序列中除前L个值之外的其它值;
将各段子序列的前L个值和对应段子序列中除前L个值之外的其它值进行集合,得到第二序列中各段子序列的序列值。
所述第二计算单元502,配置为:在确定第二序列的初值序列的序列值之前,确定第二序列的初值序列;
确定第二序列中各段子序列的前L位与所述初值序列的关系式;
根据各段子序列的前L位与所述初值序列的关系式和所述初值序列的序列值,计算第二序列中各段子序列的前L个值。
上述方案中,所述第二计算单元502,还配置为:
针对各段子序列中任意一段子序列的前L个值,
将该段子序列的前L个值进行M次移位,得到M个第一移位序列;
将该段子序列的前L个值及所述M个第一移位序列进行M位的异或运算,得到第一目标序列,M为正整数;
将第一目标序列进行分割,得到第一目标序列的第一部分子序列和第二部分子序列,第一目标序列的第二部分子序列的长度长于第一目标序列的第一部分子序列的长度;
依据第一目标序列的第一部分子序列和第二部分子序列,得到该段子序列中除前L个值之外的其它值。
所述第二计算单元502,还配置为:
将第一目标序列的第二部分子序列进行M次移位,得到M个第二移位序列;
将第一目标序列的第一部分子序列与所述M个第二移位序列进行最多M+1位的异或运算,得到第二目标序列;
将第二目标序列进行分割,得到第二目标序列的第一部分子序列和第二部分子序列,第二目标序列的第二部分子序列的长度大于第二目标序列的第一部分子序列的长度;
将第二目标序列的第二部分子序列进行M次移位,得到M个第三移位序列;
将第二目标序列的第一部分子序列与所述M个第三移位序列进行最多M+1位的异或运算,得到第三目标序列;
以此类推,直至计算出最后一个目标序列;
确定第一目标序列的第二部分子序列至倒数第二个目标序列的第二部分子序列以及最后一个目标序列的集合为该段子序列中除前L个值之外的其它值。
本发明实施例中,对第一序列、第二序列分别进行N段的划分,得到第一序列的N段子序列、第二序列的N段子序列,再计算第一序列、第二序列的N段子序列中每段子序列的序列值,依据第一序列中每段子序列的序列值和第二序列中每段子序列的序列值,得到伪随机序列。其中,考虑 到在LTE系统中第二序列的初值序列通常为不固定,本实施例在对第二序列x2(NC)、x2(1+NC)…x2(MPN-1+NC)进行N段子序列的划分后,对各段子序列的序列值进行并行运算。与相关技术相比,对第二序列的各段子序列的序列值进行并行运算可实现伪随机序列的快速计算,可有效减少计算量和节约存储空间。
需要说明的是,本发明实施例的获取伪随机序列的装置,由于该装置解决问题的原理与前述的获取伪随机序列的方法相似,因此,装置的实施过程及实施原理均可以参见前述获取伪随机序列的方法的实施过程及实施原理描述,重复之处不再赘述。
在实际应用中,所述第一划分单元501、第一计算单元502、第二计算单元503及第一获取单元504均可由中央处理单元(CPU,Central Processing Unit)、或数字信号处理(DSP,Digital Signal Processor)、或微处理器(MPU,Micro Processor Unit)、或现场可编程门阵列(FPGA,Field Programmable Gate Array)等来实现。
本发明还提供了一种获取伪随机序列的装置,包括:处理器和配置为存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器配置为运行所述计算机程序时,执行以下步骤:
对第一序列、第二序列分别进行N段的划分,得到第一序列的N段子序列、第二序列的N段子序列,N为正整数;
计算第一序列的N段子序列中每段子序列的序列值;
计算第二序列的N段子序列中每段子序列的序列值,其中至少对第二序列的各段子序列的序列值进行并行运算;
依据第一序列中每段子序列的序列值和第二序列中每段子序列的序列值,得到伪随机序列。
在一具体实施例中,还执行:
确定第二序列的初值序列的序列值;
依据所述初值序列的序列值,得到第二序列中各段子序列的前L个值,L为正整数;
依据各段子序列的前L个值,得到各段子序列中除前L个值之外的其它值;
将各段子序列的前L个值和对应段子序列中除前L个值之外的其它值进行集合,得到第二序列中各段子序列的序列值。
在一具体实施例中,还执行:
确定第二序列的初值序列;
确定第二序列中各段子序列的前L位与所述初值序列的关系式;
相应的,所述依据所述初值序列的序列值,得到第二序列中各段子序列的前L个值,包括:
根据各段子序列的前L位与所述初值序列的关系式和所述初值序列的序列值,计算第二序列中各段子序列的前L个值。
在一具体实施例中,还执行:
针对各段子序列中任意一段子序列的前L个值,
将该段子序列的前L个值进行M次移位,得到M个第一移位序列;
将该段子序列的前L个值及所述M个第一移位序列进行M位的异或运算,得到第一目标序列,M为正整数;
将第一目标序列进行分割,得到第一目标序列的第一部分子序列和第二部分子序列,第一目标序列的第二部分子序列的长度长于第一目标序列的第一部分子序列的长度;
依据第一目标序列的第一部分子序列和第二部分子序列,得到该段子序列中除前L个值之外的其它值。
在一具体实施例中,还执行:
将第一目标序列的第二部分子序列进行M次移位,得到M个第二移位序列;
将第一目标序列的第一部分子序列与所述M个第二移位序列进行最多M+1位的异或运算,得到第二目标序列;
将第二目标序列进行分割,得到第二目标序列的第一部分子序列和第二部分子序列,第二目标序列的第二部分子序列的长度大于第二目标序列的第一部分子序列的长度;
将第二目标序列的第二部分子序列进行M次移位,得到M个第三移位序列;
将第二目标序列的第一部分子序列与所述M个第三移位序列进行最多M+1位的异或运算,得到第三目标序列;
以此类推,直至计算出最后一个目标序列;
确定第一目标序列的第二部分子序列至倒数第二个目标序列的第二部分子序列以及最后一个目标序列的集合为该段子序列中除前L个值之外的其它值。
这里,所述处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成前述方法的步骤。
本发明的实施例还提供了一种计算机可读存储介质,例如包括计算机程序的存储器,上述计算机程序可由获取伪随机序列的装置的处理器执行,以完成前述方法所述步骤。计算机可读存储介质可以是磁性随机存取存储器(FRAM,ferromagnetic random access memory)、ROM、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory)等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
进一步地,所述计算机可读存储介质上存储有计算机程序,其中,该计算机程序被处理器执行时实现以下步骤:
对第一序列、第二序列分别进行N段的划分,得到第一序列的N段子序列、第二序列的N段子序列,N为正整数;
计算第一序列的N段子序列中每段子序列的序列值;
计算第二序列的N段子序列中每段子序列的序列值,其中至少对第二序列的各段子序列的序列值进行并行运算;
依据第一序列中每段子序列的序列值和第二序列中每段子序列的序列值,得到伪随机序列。
在一具体实施例中,还执行:
确定第二序列的初值序列的序列值;
依据所述初值序列的序列值,得到第二序列中各段子序列的前L个值,L为正整数;
依据各段子序列的前L个值,得到各段子序列中除前L个值之外的其它值;
将各段子序列的前L个值和对应段子序列中除前L个值之外的其它值进行集合,得到第二序列中各段子序列的序列值。
在一具体实施例中,还执行:
确定第二序列的初值序列;
确定第二序列中各段子序列的前L位与所述初值序列的关系式;
相应的,所述依据所述初值序列的序列值,得到第二序列中各段子序列的前L个值,包括:
根据各段子序列的前L位与所述初值序列的关系式和所述初值序列的序列值,计算第二序列中各段子序列的前L个值。
在一具体实施例中,还执行:
针对各段子序列中任意一段子序列的前L个值,
将该段子序列的前L个值进行M次移位,得到M个第一移位序列;
将该段子序列的前L个值及所述M个第一移位序列进行M位的异或运算,得到第一目标序列,M为正整数;
将第一目标序列进行分割,得到第一目标序列的第一部分子序列和第二部分子序列,第一目标序列的第二部分子序列的长度长于第一目标序列的第一部分子序列的长度;
依据第一目标序列的第一部分子序列和第二部分子序列,得到该段子序列中除前L个值之外的其它值。
在一具体实施例中,还执行:
将第一目标序列的第二部分子序列进行M次移位,得到M个第二移位序列;
将第一目标序列的第一部分子序列与所述M个第二移位序列进行最多M+1位的异或运算,得到第二目标序列;
将第二目标序列进行分割,得到第二目标序列的第一部分子序列和第 二部分子序列,第二目标序列的第二部分子序列的长度大于第二目标序列的第一部分子序列的长度;
将第二目标序列的第二部分子序列进行M次移位,得到M个第三移位序列;
将第二目标序列的第一部分子序列与所述M个第三移位序列进行最多M+1位的异或运算,得到第三目标序列;
以此类推,直至计算出最后一个目标序列;
确定第一目标序列的第二部分子序列至倒数第二个目标序列的第二部分子序列以及最后一个目标序列的集合为该段子序列中除前L个值之外的其它值。
这里,本领域技术人员应当理解,本发明实施例所述的获取伪随机序列的装置中的各处理单元的实现功能可参照前述获取伪随机序列方法的相关描述而理解。本领域技术人员应当理解,图5所示的获取伪随机序列的装置中各处理单元的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得 通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
工业实用性
本发明实施例在对第二序列进行N段子序列的划分后,能够对各段子序列的序列值进行并行运算,所以,与相关技术相比,可实现伪随机序列的快速计算,可有效减少计算量和节约存储空间。

Claims (12)

  1. 一种获取伪随机序列的方法,所述方法包括:
    对第一序列、第二序列分别进行N段的划分,得到第一序列的N段子序列、第二序列的N段子序列,N为正整数;
    计算第一序列的N段子序列中每段子序列的序列值;
    计算第二序列的N段子序列中每段子序列的序列值,其中至少对第二序列的各段子序列的序列值进行并行运算;
    依据第一序列中每段子序列的序列值和第二序列中每段子序列的序列值,得到伪随机序列。
  2. 根据权利要求1所述的方法,其中,所述计算第二序列的N段子序列中每段子序列的序列值,其中至少对第二序列的各段子序列的序列值进行并行运算,包括:
    确定第二序列的初值序列的序列值;
    依据所述初值序列的序列值,得到第二序列中各段子序列的前L个值,L为正整数;
    依据各段子序列的前L个值,得到各段子序列中除前L个值之外的其它值;
    将各段子序列的前L个值和对应段子序列中除前L个值之外的其它值进行集合,得到第二序列中各段子序列的序列值。
  3. 根据权利要求2所述的方法,其中,在确定第二序列的初值序列的序列值之前,所述方法还包括:
    确定第二序列的初值序列;
    确定第二序列中各段子序列的前L位与所述初值序列的关系式;
    相应的,所述依据所述初值序列的序列值,得到第二序列中各段子序 列的前L个值,包括:
    根据各段子序列的前L位与所述初值序列的关系式和所述初值序列的序列值,计算第二序列中各段子序列的前L个值。
  4. 根据权利要求2或3所述的方法,其中,所述依据各段子序列的前L个值,得到各段子序列中除前L个值之外的其它值,包括:
    针对各段子序列中任意一段子序列的前L个值;
    将该段子序列的前L个值进行M次移位,得到M个第一移位序列;
    将该段子序列的前L个值及所述M个第一移位序列进行M位的异或运算,得到第一目标序列,M为正整数;
    将第一目标序列进行分割,得到第一目标序列的第一部分子序列和第二部分子序列,第一目标序列的第二部分子序列的长度长于第一目标序列的第一部分子序列的长度;
    依据第一目标序列的第一部分子序列和第二部分子序列,得到该段子序列中除前L个值之外的其它值。
  5. 根据权利要求4所述的方法,其中,所述依据第一目标序列的第一部分子序列和第二部分子序列,得到该段子序列中除前L个值之外的其它值,包括:
    将第一目标序列的第二部分子序列进行M次移位,得到M个第二移位序列;
    将第一目标序列的第一部分子序列与所述M个第二移位序列进行最多M+1位的异或运算,得到第二目标序列;
    将第二目标序列进行分割,得到第二目标序列的第一部分子序列和第二部分子序列,第二目标序列的第二部分子序列的长度大于第二目标序列的第一部分子序列的长度;
    将第二目标序列的第二部分子序列进行M次移位,得到M个第三移位 序列;
    将第二目标序列的第一部分子序列与所述M个第三移位序列进行最多M+1位的异或运算,得到第三目标序列;
    以此类推,直至计算出最后一个目标序列;
    确定第一目标序列的第二部分子序列至倒数第二个目标序列的第二部分子序列以及最后一个目标序列的集合为该段子序列中除前L个值之外的其它值。
  6. 一种获取伪随机序列的装置,所述装置包括:
    第一划分单元,配置为对第一序列、第二序列分别进行N段的划分,得到第一序列的N段子序列、第二序列的N段子序列,N为正整数;
    第一计算单元,配置为计算第一序列的N段子序列中每段子序列的序列值;
    第二计算单元,配置为计算第二序列的N段子序列中每段子序列的序列值,其中至少对第二序列的各段子序列的序列值进行并行运算;
    第一获取单元,配置为依据第一序列中每段子序列的序列值和第二序列中每段子序列的序列值,得到伪随机序列。
  7. 根据权利要求6所述的装置,其中,所述第二计算单元,配置为:
    确定第二序列的初值序列的序列值;
    依据所述初值序列的序列值,得到第二序列中各段子序列的前L个值,L为正整数;
    依据各段子序列的前L个值,得到各段子序列中除前L个值之外的其它值;
    将各段子序列的前L个值和对应段子序列中除前L个值之外的其它值进行集合,得到第二序列中各段子序列的序列值。
  8. 根据权利要求7所述的装置,其中,所述第二计算单元,配置为:
    确定第二序列的初值序列;
    确定第二序列中各段子序列的前L位与所述初值序列的关系式;
    根据各段子序列的前L位与所述初值序列的关系式和所述初值序列的序列值,计算第二序列中各段子序列的前L个值。
  9. 根据权利要求7或8所述的装置,其中,所述第二计算单元,还配置为:
    针对各段子序列中任意一段子序列的前L个值;
    将该段子序列的前L个值进行M次移位,得到M个第一移位序列;
    将该段子序列的前L个值及所述M个第一移位序列进行M位的异或运算,得到第一目标序列,M为正整数;
    将第一目标序列进行分割,得到第一目标序列的第一部分子序列和第二部分子序列,第一目标序列的第二部分子序列的长度长于第一目标序列的第一部分子序列的长度;
    依据第一目标序列的第一部分子序列和第二部分子序列,得到该段子序列中除前L个值之外的其它值。
  10. 根据权利要求9所述的装置,其中,所述第二计算单元,还配置为:
    将第一目标序列的第二部分子序列进行M次移位,得到M个第二移位序列;
    将第一目标序列的第一部分子序列与所述M个第二移位序列进行最多M+1位的异或运算,得到第二目标序列;
    将第二目标序列进行分割,得到第二目标序列的第一部分子序列和第二部分子序列,第二目标序列的第二部分子序列的长度大于第二目标序列的第一部分子序列的长度;
    将第二目标序列的第二部分子序列进行M次移位,得到M个第三移位 序列;
    将第二目标序列的第一部分子序列与所述M个第三移位序列进行最多M+1位的异或运算,得到第三目标序列;
    以此类推,直至计算出最后一个目标序列;
    确定第一目标序列的第二部分子序列至倒数第二个目标序列的第二部分子序列以及最后一个目标序列的集合为该段子序列中除前L个值之外的其它值。
  11. 一种获取伪随机序列的装置,包括:处理器和配置为存储能够在处理器上运行的计算机程序的存储器,
    其中,所述处理器配置为运行所述计算机程序时,执行权利要求1至5所述方法的步骤。
  12. 一种计算机可读存储介质,其上存储有计算机程序,其中,该计算机程序被处理器执行时实现权利要求1至5所述方法的步骤。
PCT/CN2017/097350 2016-10-31 2017-08-14 一种获取伪随机序列的方法和装置、存储介质 Ceased WO2018076894A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610927601.6 2016-10-31
CN201610927601.6A CN108023661B (zh) 2016-10-31 2016-10-31 一种获取伪随机序列的方法和装置

Publications (1)

Publication Number Publication Date
WO2018076894A1 true WO2018076894A1 (zh) 2018-05-03

Family

ID=62023077

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/097350 Ceased WO2018076894A1 (zh) 2016-10-31 2017-08-14 一种获取伪随机序列的方法和装置、存储介质

Country Status (2)

Country Link
CN (1) CN108023661B (zh)
WO (1) WO2018076894A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020001499A1 (zh) * 2018-06-28 2020-01-02 南京中兴新软件有限责任公司 数据处理方法、设备以及计算机可读存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114063980A (zh) * 2020-07-31 2022-02-18 深圳市中兴微电子技术有限公司 产生伪随机序列的方法和装置、电子设备、存储介质
CN116232919A (zh) * 2022-12-31 2023-06-06 支付宝(杭州)信息技术有限公司 一种密态数据统计的方法、装置、存储介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070273401A1 (en) * 2006-04-20 2007-11-29 Naoki Kiryu Systems and Methods for Improved Fault Coverage of LBIST Testing
US20070294508A1 (en) * 2006-06-20 2007-12-20 Sussman Myles A Parallel pseudorandom number generation
CN101132383A (zh) * 2007-09-26 2008-02-27 中兴通讯股份有限公司 伪随机序列的生成方法
CN101394266A (zh) * 2008-10-24 2009-03-25 华中科技大学 一种生成变参数混沌信号的方法及混沌保密通信系统
CN105227259A (zh) * 2015-07-02 2016-01-06 中国科学院计算技术研究所 一种m序列并行产生方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1783939A1 (fr) * 2005-11-07 2007-05-09 Alcatel Lucent Dispositif de génération de séquences d'éléments de codage pour un équipement de transmission d'un réseau de communication de type CDMA
CN101662305B (zh) * 2009-09-25 2012-06-27 西安电子科技大学 直接序列扩频系统伪随机码估计方法
CN103812596B (zh) * 2012-11-09 2017-07-04 联芯科技有限公司 伪随机序列的生成方法和装置
CN105515608A (zh) * 2014-09-26 2016-04-20 中兴通讯股份有限公司 一种扩频处理方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070273401A1 (en) * 2006-04-20 2007-11-29 Naoki Kiryu Systems and Methods for Improved Fault Coverage of LBIST Testing
US20070294508A1 (en) * 2006-06-20 2007-12-20 Sussman Myles A Parallel pseudorandom number generation
CN101132383A (zh) * 2007-09-26 2008-02-27 中兴通讯股份有限公司 伪随机序列的生成方法
CN101394266A (zh) * 2008-10-24 2009-03-25 华中科技大学 一种生成变参数混沌信号的方法及混沌保密通信系统
CN105227259A (zh) * 2015-07-02 2016-01-06 中国科学院计算技术研究所 一种m序列并行产生方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020001499A1 (zh) * 2018-06-28 2020-01-02 南京中兴新软件有限责任公司 数据处理方法、设备以及计算机可读存储介质

Also Published As

Publication number Publication date
CN108023661B (zh) 2019-08-06
CN108023661A (zh) 2018-05-11

Similar Documents

Publication Publication Date Title
CN110262773B (zh) 一种计算机数据处理方法及装置
CN103729307B (zh) 数据压缩装置和方法以及包括数据压缩装置的存储系统
TWI570736B (zh) 利用混碼器的編碼器旁路
CN109375897B (zh) 伪随机序列的生成方法
WO2018076894A1 (zh) 一种获取伪随机序列的方法和装置、存储介质
CN103020018A (zh) 一种基于多维伪随机序列的压缩感知矩阵构造方法
WO2022022311A1 (zh) 产生伪随机序列的方法和装置、电子设备、存储介质
CN110022158B (zh) 一种译码方法及装置
RU2598781C1 (ru) Способ линейного преобразования (варианты)
US10024911B2 (en) Debug circuit, semiconductor device, and debug method
CN116505959A (zh) 基于bch码的译码方法及相关设备
US20150127924A1 (en) Method and apparatus for processing shuffle instruction
CN115280696B (zh) 在接收器中验证数据完整性
CN117060932A (zh) 基于基本图的并行ldpc译码方法、装置、设备及介质
CN111713023A (zh) 一种极化码译码方法及译码装置
CN110278055A (zh) 咬尾卷积编码处理方法、装置和通信设备
CN113741972A (zh) 一种sm3算法的并行处理方法及电子设备
JP4436830B2 (ja) 構成可能なマルチステップ線形フィードバックシフトレジスタ
CN102710280B (zh) 可分块而扩展的高速流水线移位解扩方法及装置
CN113922913B (zh) 一种lte系统的gold扰码序列生成方法、系统及设备
CN106778874A (zh) 一种可回溯的动态时间弯曲并行计算方法
CN111324678B (zh) 数据处理方法、装置和计算机可读存储介质
Yang et al. An MPCN-based BCH codec architecture with arbitrary error correcting capability
CN107291422B (zh) 一种生成自定义长度零替换prbs图形的方法
Li et al. The blind recognition of systematic convolutional code based on digital signal processor

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17863554

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17863554

Country of ref document: EP

Kind code of ref document: A1