CN108400829B - method and device for generating ZC sequence - Google Patents

method and device for generating ZC sequence Download PDF

Info

Publication number
CN108400829B
CN108400829B CN201810135002.XA CN201810135002A CN108400829B CN 108400829 B CN108400829 B CN 108400829B CN 201810135002 A CN201810135002 A CN 201810135002A CN 108400829 B CN108400829 B CN 108400829B
Authority
CN
China
Prior art keywords
sequence
index value
idx
idxsym
value
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.)
Active
Application number
CN201810135002.XA
Other languages
Chinese (zh)
Other versions
CN108400829A (en
Inventor
李文佳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xiaomi Pinecone Electronic Co Ltd
Original Assignee
Beijing Pinecone Electronics 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 Beijing Pinecone Electronics Co Ltd filed Critical Beijing Pinecone Electronics Co Ltd
Priority to CN201810135002.XA priority Critical patent/CN108400829B/en
Publication of CN108400829A publication Critical patent/CN108400829A/en
Application granted granted Critical
Publication of CN108400829B publication Critical patent/CN108400829B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J13/00Code division multiplex systems
    • H04J13/10Code generation
    • H04J13/14Generation of codes with a zero correlation zone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J13/00Code division multiplex systems
    • H04J13/0007Code type
    • H04J13/0055ZCZ [zero correlation zone]
    • H04J13/0059CAZAC [constant-amplitude and zero auto-correlation]
    • H04J13/0062Zadoff-Chu

Abstract

The method comprises the steps of carrying out double recursive operation on a function f (n) and a function g (n) when a ZC sequence with the length of NZC and the serial number of n is generated to obtain f (n-1) and g (n-1); performing modular operation according to the f (n-1), the g (n-1) and the length NZC to obtain an index value idx; and searching in a preset lookup table according to the index value idx to obtain a ZC sequence with the sequence number n. Therefore, a multiplier or a divider which is needed in the modulus taking process in the prior art is avoided, only an adder and a comparator are needed in the whole process of generating the ZC sequence, the complexity of realizing the universal ZC sequence by hardware is reduced, the hardware processing delay is reduced, the hardware realization area is reduced, and the hardware realization power consumption is reduced.

Description

method and device for generating ZC sequence
Technical Field
The present disclosure relates to the field of communications technologies, and in particular, to a method and an apparatus for generating a ZC sequence.
background
the ZC sequence, namely, the Zadoff-Chu sequence, is a constant envelope sequence of a complex form, and is widely used in 4G LTE and subsequent wireless communication systems due to its good autocorrelation and cross-correlation. For the 4GLTE system, a Primary Synchronization Sequence (PSS), a random access sequence (PRACH), a PUCCH carrying HARQACK/NACK response and a Sounding RS (SRS) all use ZC sequences in different forms. For NB-IOT systems, the primary synchronization sequence (NPSS) and the secondary synchronization sequence also take advantage of the properties of ZC sequences. A ZC sequence of length NZC is formulated as follows,
Wherein q ∈ {1, 2.,. NZC-1} in the formula is a root index of the ZC sequence, and n in the formula represents a sequence number of the ZC sequence, where n ═ 0,1, 2.,. NZC-1, k is an arbitrary integer.
Because the complexity of directly realizing the ZC sequence through a formula is higher, a realization method of the ZC sequence which relatively reduces the complexity and can ensure the precision is provided in a plurality of documents. The reduced complexity implementation still does not avoid the use of at least one of multipliers and dividers in the use of hardware, and thus hardware area and power consumption are still not low enough. In the existing improved method, the simplified ZC sequence is generally implemented, that is, k in the default formula (1) is 0, and a ZC sequence in LTE or NB-IOT is targeted, so that a method for implementing a general ZC sequence, that is, an implementation method of a ZC sequence under the condition that k is not 0, is not well improved, and the implementation method of a general ZC sequence is still high in complexity, complex in hardware implementation, large in implementation area, and high in power consumption.
Disclosure of Invention
The invention aims to provide a method and a device for generating a ZC sequence, which can reduce the complexity of hardware realization of a universal ZC sequence, reduce the processing delay of the hardware, reduce the realization area of the hardware and reduce the power consumption of the hardware.
in order to achieve the above object, the present disclosure provides a method of generating a ZC sequence, the method comprising:
When generating a ZC sequence of length NZC and sequence number n, performing a double recursive operation on a function f (n) and a function g (n) by the following formula to obtain f (n-1) and g (n-1):
f(n+1)=f(n)+g(n),
wherein f (n) ═ qn (n +1) +2qkn, g (n) ═ 2qn +2q (1+ k), q is a root index in the ZC sequence, k is an arbitrary integer, 0< n ≦ NZC-1;
performing modular operation according to the f (n-1), the g (n-1) and the length NZC to obtain an index value idx;
And searching in a preset lookup table according to the index value idx to obtain a ZC sequence with the sequence number n.
Optionally, performing a modulo operation according to the f (n-1), the g (n-1), and the length NZC to obtain an index value idx, including:
according to the f (n-1), the g (n-1) and the length NZC, performing modular operation by the following formula to obtain an index value idx:
idx=mod[mod(f(n-1),2N)+mod(g(n-1),2N),2N]。
optionally, the obtaining, by searching in a preset lookup table according to the index value idx, a ZC sequence with a sequence number n includes:
And searching in a preset lookup table with the depth of n according to the index value idx to obtain a ZC sequence with the sequence number of n.
Optionally, the finding, according to the index value, a ZC sequence with a sequence number n in a preset lookup table with a depth of n includes:
At this time, the ZC sequence is obtained by a first obtaining operation that: directly indexing in the preset lookup table according to the index value idx to search the ZC sequence with the sequence number n;
at that time, the ZC sequence is obtained through a second acquisition operation that: mapping the index value idx into an interval, indexing in the preset lookup table according to a mapped index value idxsym to obtain a first lookup value and a second lookup value, and calculating by using an interpolation algorithm according to the first lookup value, the second lookup value and the mapped index value idxsym to obtain a ZC sequence with the serial number n, wherein the first lookup value is a ZC sequence obtained by searching in the preset lookup table according to a maximum integer smaller than the mapped index value idxsym, and the second lookup value is a ZC sequence found in the preset lookup table according to a minimum integer larger than the mapped index value idxsym;
when the NZC is not more than idx and is less than 2NZC-1, firstly mapping the index value idx into a section [0, NZC-1], then taking the mapped index value as an updated index value idx, obtaining the ZC sequence through the first obtaining operation when the updated index value idx is satisfied, and obtaining the ZC sequence through the second obtaining operation when the updated index value idx is satisfied.
optionally, at this time, mapping the index value idx into an interval, and performing an index in the preset lookup table according to the mapped index value idxsym to obtain a first lookup value and a second lookup value, and obtaining the ZC sequence with the sequence number n by calculating through an interpolation algorithm according to the first lookup value, the second lookup value, and the mapped index value idxsym:
mapping the index value idxsym into an interval in a symmetric manner to obtain a mapped index value idxsym, wherein when the mapping logic is current, the mapping logic is idxsym ═ NZC-idx, and the mapped index value idxsym is a non-integer;
decomposing the mapped index value idxsym into an integer part idxsym _ int and a decimal part idxsym _ fra, indexing in the preset lookup table according to the integer part idxsym _ int and the integer part idxsym _ int +1 to obtain the first lookup value and the second lookup value, and interpolating according to the first lookup value, the second lookup value and the decimal part idxsym _ fra to obtain the ZC sequence with the serial number n.
The present disclosure also provides a device for generating a ZC sequence, the device including:
A double recursive operation module, configured to, when a ZC sequence with a length NZC and a sequence number n is generated, perform double recursive operation on the function f (n) and the function g (n) by using the following formula to obtain f (n-1) and g (n-1):
f(n+1)=f(n)+g(n),
Wherein f (n) ═ qn (n +1) +2qkn, g (n) ═ 2qn +2q (1+ k), q is a root index in the ZC sequence, k is an arbitrary integer, 0< n ≦ NZC-1;
the modulus operation module is used for performing modulus operation according to the f (n-1), the g (n-1) and the length NZC to obtain an index value idx;
and the acquisition module is used for searching in a preset lookup table according to the index value idx to obtain the ZC sequence with the sequence number n.
Optionally, the modulo operation module is configured to perform a modulo operation according to the f (n-1), the g (n-1), and the length NZC by using the following formula to obtain an index value idx:
idx=mod[mod(f(n-1),2N)+mod(g(n-1),2N),2N]。
optionally, the depth of the preset lookup table is
optionally, the obtaining module includes a first obtaining sub-module, configured to obtain the ZC sequence through a first obtaining operation at that time, where the first obtaining operation is: directly indexing in the preset lookup table according to the index value idx to search the ZC sequence with the sequence number n;
The obtaining module further includes a second obtaining sub-module, configured to obtain the ZC sequence through a second obtaining operation at that time, where the second obtaining operation is: mapping the index value idx into an interval, indexing in the preset lookup table according to a mapped index value idxsym to obtain a first lookup value and a second lookup value, and calculating by using an interpolation algorithm according to the first lookup value, the second lookup value and the mapped index value idxsym to obtain a ZC sequence with the serial number n, wherein the first lookup value is a ZC sequence obtained by searching in the preset lookup table according to a maximum integer smaller than the mapped index value idxsym, and the second lookup value is a ZC sequence found in the preset lookup table according to a minimum integer larger than the mapped index value idxsym;
The obtaining module further comprises a third obtaining submodule, which is used for firstly mapping the index value idx into a section [0, NZC-1] when the NZC is not more than idx <2NZC-1, then using the mapped index value as an updated index value idx, obtaining the ZC sequence through the first obtaining submodule when the updated index value idx is satisfied, and obtaining the ZC sequence through the second obtaining submodule when the updated index value idx is satisfied.
Optionally, the second obtaining sub-module is configured to: mapping the index value idx into an interval in terms of symmetry to obtain a mapped index value idxsym, wherein when mapping logic is current, the mapping logic is idxsym ═ NZC-idx, and the mapped index value idxsym is a non-integer;
decomposing the mapped index value idxsym into an integer part idxsym _ int and a decimal part idxsym _ fra, indexing in the preset lookup table according to the integer part idxsym _ int and the integer part idxsym _ int +1 to obtain the first lookup value and the second lookup value, and interpolating according to the first lookup value, the second lookup value and the decimal part idxsym _ fra to obtain the ZC sequence with the serial number n.
according to the technical scheme, a generating formula of the ZC sequence is decomposed into two related parts, then double recursion is carried out on the related parts, the modulus operation is carried out on a recursion result, so that an index value is obtained, and finally a final ZC sequence is obtained in a lookup table according to the index value.
Additional features and advantages of the disclosure will be set forth in the detailed description which follows.
drawings
the accompanying drawings, which are included to provide a further understanding of the disclosure and are incorporated in and constitute a part of this specification, illustrate embodiments of the disclosure and together with the description serve to explain the disclosure without limiting the disclosure. In the drawings:
fig. 1 is a flowchart illustrating a method of generating a ZC sequence according to an exemplary embodiment of the present disclosure.
Fig. 2 is a block diagram illustrating a hardware implementation of modulo logic according to an exemplary embodiment of the present disclosure.
Fig. 3 is a schematic block diagram illustrating a ZC sequence generation apparatus according to an exemplary embodiment of the present disclosure.
Fig. 4 is a schematic block diagram illustrating an acquisition module in a ZC sequence generation apparatus according to an exemplary embodiment of the present disclosure.
Detailed Description
The following detailed description of specific embodiments of the present disclosure is provided in connection with the accompanying drawings. It should be understood that the detailed description and specific examples, while indicating the present disclosure, are given by way of illustration and explanation only, not limitation.
Fig. 1 is a flowchart illustrating a method for generating a ZC sequence according to an exemplary embodiment of the present disclosure, the method including steps 101 to 103, as shown in fig. 1.
In step 101, when a ZC sequence with a length of NZC and a sequence number of n is generated, a function f (n) and a function g (n) are subjected to double recursive operation by the following formula to obtain f (n-1) and g (n-1):
f(n+1)=f(n)+g(n) (2)
Where f (n) ═ qn (n +1) +2qkn, g (n) ═ 2qn +2q (1+ k), q is a root index in the ZC sequence, k is an arbitrary integer, and 0< n ≦ NZC-1.
A general formula of a ZC sequence of length NZC is shown in formula (1), where f (n) and g (n) are decompositions of formula (1), and the specific derivation process is as follows:
first, if f (n) is set to qn (n +1) +2qkn, then there is a case where
f(n+1)=q(n+1)(n+2)+2qk(n+1)
=q(n+n)+2qkn+2q(n+1)+2qk
=f(n)+2q(n+1)+2qk
then, if g (n) is set to 2qn +2q (1+ k), the formula (2) can be obtained.
The specific recursive process for obtaining f (n-1) and g (n-1) by double recursion is as follows:
n=0:f(0)=0,g(0)=2q(1+k);
n=1:f(1)=f(0)+g(0),g(1)=g(0)+2q;
n=2:f(2)=f(1)+g(1),g(2)=g(1)+2q;
.......
n=N-1:f(N-1)=f(N-2)+g(N-2),g(N-1)=g(N-2)+2q。
In step 102, a modulus operation is performed according to the f (n-1), the g (n-1) and the length NZC to obtain an index value idx. In one possible implementation, the modulo operation may be performed by the following equation (3):
idx=mod[mod(f(n-1),2N)+mod(g(n-1),2N),2N] (3)
wherein, the formula (3) is obtained from the following formula (4) and formula (5) of the modulo additive property:
mod(a+b,p)=mod([mod(a,p)+mod(b,p)],p) (4)
idx=mod(qn(n+1)+2qkn,2N) (5)
Wherein p in the formula (4) is any positive integer, and a and b are any integers;
The specific derivation process is as follows:
idx=mod(qn(n+1)+2qkn,2N)
=mod(f(n),2N)
=mod[mod(f(n-1),2N)+mod(g(n-1),2N),2N]。
In step 103, a ZC sequence with a sequence number n is obtained by searching in a preset lookup table according to the index value idx.
and presetting a lookup table, namely a lookup table of sin and cos, and indexing the index value idx obtained after double recursion and modular operation in the preset lookup table to obtain the ZC sequence. The storage data of the preset lookup table should include data of 2NZC sampling points, so as to satisfy that all index values idx can find corresponding ZC sequences in the preset lookup table.
Fig. 2 is a block diagram illustrating a hardware implementation of modulo logic according to an exemplary embodiment of the present disclosure, wherein the block diagram is formed according to equation (3), and includes recursive modulo logic 1, recursive modulo logic 2, a flip-flop FF0, and a flip-flop FF 1.
wherein, recursion modulo logic 1 and recursion modulo logic 2 are combinational logic, FF0 represents g (n) in the formula, and FF1 represents g (n) in the formula. The reset values before FF0 and FF1 are both 0.
For recursive modulo logic 1, where q ranges from [1, 2., NZC-1], then the maximum value of 2q is 2NZC-2 and the maximum value of FF0 is 2NZC-1, so the maximum value of FF0+2q is 4NZC-3, so recursive modulo logic 1 is only used to determine if the output of the accumulator exceeds 2NZC-1, and if so the accumulator result is subtracted by 2 NZC; for recursive modulo logic 2, both FF0 and FF1 have modulo 2NZC, so both maxima are 2NZC-1, then FF0+ FF1 has a maximum of 4NZC-2, so recursive modulo logic 1 is the same use as recursive modulo logic 2.
according to the technical scheme, a generating formula of the ZC sequence is decomposed into two related parts, then double recursion is carried out on the related parts, the modulus operation is carried out on a recursion result, so that an index value is obtained, and finally a final ZC sequence is obtained in a lookup table according to the index value.
in a possible embodiment, the finding of the ZC sequence with index n from the preset lookup table according to the index value idx includes: and searching in a preset lookup table with the depth of n according to the index value idx to obtain a ZC sequence with the sequence number of n. As can be known from the generation formula (1) of the ZC sequence, 2NZC sampling points in the preset lookup table are symmetric with respect to pi, and then points in the [ pi, 2 pi ] interval can be obtained by using data in the [0, pi ] interval, that is, only data in the [0, pi ] interval can be stored in the preset lookup table. However, even if only the data in the [0, pi ] interval is stored, the data amount is still too large, so in this embodiment, the preset lookup table only stores the data in the [0, pi/4 ] interval, that is, the depth of the preset lookup table is such that the size of the preset lookup table is greatly reduced.
in a possible embodiment, the finding a ZC sequence with a sequence number n in a preset lookup table with a depth of n according to the index value includes:
At this time, the ZC sequence is obtained by a first obtaining operation that: directly indexing in the preset lookup table according to the index value idx to search the ZC sequence with the sequence number n;
At that time, the ZC sequence is obtained through a second acquisition operation that: mapping the index value idx into an interval, indexing in the preset lookup table according to a mapped index value idxsym to obtain a first lookup value and a second lookup value, and calculating by using an interpolation algorithm according to the first lookup value, the second lookup value and the mapped index value idxsym to obtain a ZC sequence with the serial number n, wherein the first lookup value is a ZC sequence obtained by searching in the preset lookup table according to a maximum integer smaller than the mapped index value idxsym, and the second lookup value is a ZC sequence found in the preset lookup table according to a minimum integer larger than the mapped index value idxsym;
when the NZC is not more than idx and is less than 2NZC-1, firstly mapping the index value idx into a section [0, NZC-1], then taking the mapped index value as an updated index value idx, obtaining the ZC sequence through the first obtaining operation when the updated index value idx is satisfied, and obtaining the ZC sequence through the second obtaining operation when the updated index value idx is satisfied. In the interval, points in the interval can be directly mapped to the interval 0 being more than or equal to idx < NZC by utilizing the symmetry of 2NZC sampling points about pi, so that a ZC sequence with the serial number of n is searched according to a table look-up rule in the interval 0 being more than or equal to idx < NZC.
in this embodiment, only the data in the [0, pi/4 ] interval is stored in the preset lookup table, and NZC is a prime number and is not symmetric with respect to pi/4, so that after points in other intervals outside the interval [0, pi/4 ] are mapped to the interval [0, pi/4 ] through symmetry, the points may not fall onto the storage points, and at this time, the points may be obtained by linear interpolation or fitting coefficient interpolation of two adjacent storage points, that is, the above-mentioned method flow at that time. Therefore, the method solves the problem that the point in the non-interval [0, pi/4 ] cannot fall on the storage point after being mapped to the interval [0, pi/4 ] through interpolation, and guarantees the availability of the preset lookup table with the depth.
The interpolation algorithm may be, for example, a linear interpolation algorithm, or any algorithm that can achieve the same effect, such as an interpolation algorithm with a correction coefficient.
In a possible embodiment, at the time, mapping the index value idx into an interval, and performing an index in the preset lookup table according to the mapped index value idxsym to obtain a first lookup value and a second lookup value, and obtaining the ZC sequence with a sequence number n by calculating through an interpolation algorithm according to the first lookup value, the second lookup value, and the mapped index value idxsym includes:
mapping the index value idx into an interval in terms of symmetry to obtain a mapped index value idxsym, wherein when mapping logic is current, the mapping logic is idxsym ═ NZC-idx, and the mapped index value idxsym is a non-integer;
decomposing the mapped index value idxsym into an integer part idxsym _ int and a decimal part idxsym _ fra, indexing in the preset lookup table according to the integer part idxsym _ int and the integer part idxsym _ int +1 to obtain the first lookup value and the second lookup value, and interpolating according to the first lookup value, the second lookup value and the decimal part idxsym _ fra to obtain the ZC sequence with the serial number n.
an embodiment is given below to illustrate the process of looking up a table based on the index value idx.
setting the preset lookup table as an LUT, wherein each row of the table comprises sin and cos, and making the depth of the table be the value of sin and cos stored in the preset lookup table, after calculating the index value idx, performing different table lookup operations by judging different intervals where the index value idx is located, and the judgment is as follows:
at that time, szc (idx) ═ LUT [ idx ], directly querying in a table LUT according to an index value idx to obtain a ZC sequence;
At that time, mapping the index value idx into the interval, wherein different mapping logics are selected according to the specific interval in which the index value idx is located, the mapping logic is at that time, and the mapping logic is idxsym ═ NZC-idx; the mapped index value idxsym is non-integer, and is decomposed into an integer part idxsym _ int and a decimal part idxsym _ fra, the integer part idxsym _ int and the integer part idxsym _ int +1 are used as indexes to be respectively looked up to obtain a first lookup value Spre ═ LUT [ idxsym _ int ] and a second lookup value spost (idx) ═ LUT [ idxsym _ int +1], and finally, interpolation is carried out according to the first lookup value, the second lookup value and the decimal part idxsym _ fra to obtain a ZC sequence with the serial number n;
when the NZC is not more than idx and is less than 2NZC-1, mapping the index value idx into a section [0, NZC-1], then taking the mapped index value idx as an updated index value idx, and searching the ZC sequence with the sequence number n according to the section where the updated index value idx is located. That is, the index value idx mapped to the zone [0, NZC-1] is again subjected to zone judgment, and then the ZC sequence with the index n is searched for according to the table search rule in the zone 0 ≦ idx < NZC.
Since idxsym is a symmetric mapping of idx, idxsym _ fra ∈ {0.25,0.5,0.75}, that is, idxsym _ fra specifies the positions of 3 interpolation points, and therefore, in the case of linear interpolation, the strategy of interpolation according to the first lookup value, the second lookup value, and the fractional part idxsym _ fra is as follows.
for the fractional part idxsym _ fra ═ 0.25, the interpolation result is:
{(LUT[idx]+LUT[idx+1])<<1+LUT[idx]}<<1;
For the fractional part idxsym _ fra ═ 0.5, the interpolation result is:
(LUT[idx]+LUT[idx+1])<<1;
for the fractional part idxsym _ fra ═ 0.75, the interpolation result is:
{(LUT[idx]+LUT[idx+1])<<1+LUT[idx+1]}<<1。
Therefore, the index value idx obtained by double recursion and modular operation can be searched in a preset lookup table with the depth of zero to obtain a corresponding ZC sequence.
According to the technical scheme, the interpolation algorithm adopts linear interpolation, namely 4 times of interpolation, interpolation points can be obtained through shift addition, hardware implementation cost is greatly reduced, and the depth of the preset lookup table is the hardware storage space required for storing the preset lookup table data is greatly reduced.
Fig. 3 is a schematic block diagram illustrating an apparatus for generating a ZC sequence according to an exemplary embodiment of the present disclosure, the apparatus including, as shown in fig. 3:
and a double recursive operation module 10, configured to perform double recursive operation on the function f (n) and the function g (n) through formula (2) to obtain f (n-1) and g (n-1) when generating a ZC sequence with a length NZC and a sequence number n. Wherein f (n) ═ qn (n +1) +2qkn, g (n) ═ 2qn +2q (1+ k), q is a root index in the ZC sequence, k is an arbitrary integer, 0< n ≦ NZC-1;
A modulus operation module 20, configured to perform modulus operation according to the f (n-1), the g (n-1), and the length NZC to obtain an index value idx;
and the obtaining module 30 is configured to search a preset lookup table according to the index value idx to obtain a ZC sequence with a sequence number n.
in a possible embodiment, the module-taking module 20 is configured to perform a module-taking operation according to the formula (3) based on the f (n-1), the g (n-1) and the length NZC to obtain an index value idx.
In a possible embodiment, the depth of the predetermined lookup table is
fig. 4 is a schematic block diagram of an acquisition module 30 in a ZC sequence generation apparatus according to an exemplary embodiment of the present disclosure, and as shown in fig. 4, the acquisition module 30 includes a first acquisition submodule 301 for acquiring the ZC sequence through a first acquisition operation: directly indexing in the preset lookup table according to the index value idx to search the ZC sequence with the sequence number n;
the obtaining module 30 further includes a second obtaining sub-module 302, configured to obtain the ZC sequence through a second obtaining operation at that time, where the second obtaining operation is: mapping the index value idx into an interval, indexing in the preset lookup table according to a mapped index value idxsym to obtain a first lookup value and a second lookup value, and calculating by using an interpolation algorithm according to the first lookup value, the second lookup value and the mapped index value idxsym to obtain a ZC sequence with the serial number n, wherein the first lookup value is a ZC sequence obtained by searching in the preset lookup table according to a maximum integer smaller than the mapped index value idxsym, and the second lookup value is a ZC sequence found in the preset lookup table according to a minimum integer larger than the mapped index value idxsym;
The obtaining module 30 further includes a third obtaining submodule 303, configured to map the index value idx into a zone [0, NZC-1] when NZC is equal to or less than idx <2NZC-1, then use the mapped index value as an updated index value idx, obtain the ZC sequence through the first obtaining submodule 301 when the updated index value idx is satisfied, and obtain the ZC sequence through the second obtaining submodule 302 when the updated index value idx is satisfied.
in a possible implementation, the second obtaining sub-module 302 is configured to: mapping the index value idxsym into an interval in a symmetric manner to obtain a mapped index value idxsym, wherein when mapping logic is current, the mapping logic is idxsym ═ NZC-idx, and the mapped index value idxsym is a non-integer;
Decomposing the mapped index value idxsym into an integer part idxsym _ int and a decimal part idxsym _ fra, indexing in the preset lookup table according to the integer part idxsym _ int and the integer part idxsym _ int +1 to obtain the first lookup value and the second lookup value, and interpolating according to the first lookup value, the second lookup value and the decimal part idxsym _ fra to obtain the ZC sequence with the serial number n.
it is obvious to those skilled in the art that, for convenience and simplicity of description, the foregoing division of the functional modules is merely used as an example, and in practical applications, the above function distribution may be performed by different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules to perform all or part of the above described functions. For the specific working process of the functional module, reference may be made to the corresponding process in the foregoing method embodiment, which is not described herein again.
the preferred embodiments of the present disclosure are described in detail with reference to the accompanying drawings, however, the present disclosure is not limited to the specific details of the above embodiments, and various simple modifications may be made to the technical solution of the present disclosure within the technical idea of the present disclosure, and these simple modifications all belong to the protection scope of the present disclosure.
it should be noted that the various features described in the above embodiments may be combined in any suitable manner without departing from the scope of the invention. In order to avoid unnecessary repetition, various possible combinations will not be separately described in this disclosure.
in addition, any combination of various embodiments of the present disclosure may be made, and the same should be considered as the disclosure of the present disclosure, as long as it does not depart from the spirit of the present disclosure.

Claims (10)

1. a method of generating a ZC sequence, the method comprising:
when generating a ZC sequence of length NZC and sequence number n, performing a double recursive operation on a function f (n) and a function g (n) by the following formula to obtain f (n-1) and g (n-1):
f(n+1)=f(n)+g(n),
wherein f (n) ═ qn (n +1) +2qkn, g (n) ═ 2qn +2q (1+ k), q is a root index in the ZC sequence, k is an arbitrary integer, 0< n ≦ NZC-1;
Performing modular operation according to the f (n-1), the g (n-1) and the length NZC to obtain an index value idx;
and searching in a preset lookup table according to the index value idx to obtain a ZC sequence with the sequence number n, wherein the preset lookup table is a lookup table of Sin and Cos, and each row of the preset lookup table comprises the Sin and the Cos.
2. the method as claimed in claim 1, wherein obtaining an index value idx by performing a modulo operation according to the f (n-1), the g (n-1) and the length NZC comprises:
according to the f (n-1), the g (n-1) and the length NZC, performing modular operation by the following formula to obtain an index value idx:
idx=mod[mod(f(n-1),2N)+mod(g(n-1),2N),2N]。
3. the method as claimed in claim 1, wherein the finding of the ZC sequence with index n from the index idx in a predetermined lookup table comprises:
And searching in a preset lookup table with the depth of n according to the index value idx to obtain a ZC sequence with the sequence number of n.
4. The method as claimed in claim 3, wherein the finding of the ZC sequence with sequence number n in the preset lookup table with depth n according to the index value comprises:
At this time, the ZC sequence is obtained by a first obtaining operation that: directly indexing in the preset lookup table according to the index value idx to search the ZC sequence with the sequence number n;
At that time, the ZC sequence is obtained through a second acquisition operation that: mapping the index value idx into an interval, indexing in the preset lookup table according to a mapped index value idxsym to obtain a first lookup value and a second lookup value, and calculating by using an interpolation algorithm according to the first lookup value, the second lookup value and the mapped index value idxsym to obtain a ZC sequence with the serial number n, wherein the first lookup value is a ZC sequence obtained by searching in the preset lookup table according to a maximum integer smaller than the mapped index value idxsym, and the second lookup value is a ZC sequence found in the preset lookup table according to a minimum integer larger than the mapped index value idxsym;
When the NZC is not more than idx and is less than 2NZC-1, firstly mapping the index value idx into a section [0, NZC-1], then taking the mapped index value as an updated index value idx, obtaining the ZC sequence through the first obtaining operation when the updated index value idx is satisfied, and obtaining the ZC sequence through the second obtaining operation when the updated index value idx is satisfied.
5. The method of claim 4, wherein the then mapping the index value idx into a span and indexing the mapped index value idxsym in the predetermined lookup table to obtain a first lookup value and a second lookup value, and calculating the ZC sequence with sequence number n by an interpolation algorithm according to the first lookup value, the second lookup value and the mapped index value idxsym comprises:
Mapping the index value idx into an interval in terms of symmetry to obtain a mapped index value idxsym, wherein when mapping logic is current, the mapping logic is idxsym ═ NZC-idx, and the mapped index value idxsym is a non-integer;
Decomposing the mapped index value idxsym into an integer part idxsym _ int and a decimal part idxsym _ fra, indexing in the preset lookup table according to the integer part idxsym _ int and the integer part idxsym _ int +1 to obtain the first lookup value and the second lookup value, and interpolating according to the first lookup value, the second lookup value and the decimal part idxsym _ fra to obtain the ZC sequence with the serial number n.
6. An apparatus for generating a ZC sequence, the apparatus comprising:
a double recursive operation module, configured to, when a ZC sequence with a length NZC and a sequence number n is generated, perform double recursive operation on the function f (n) and the function g (n) by using the following formula to obtain f (n-1) and g (n-1):
f(n+1)=f(n)+g(n),
wherein f (n) ═ qn (n +1) +2qkn, g (n) ═ 2qn +2q (1+ k), q is a root index in the ZC sequence, k is an arbitrary integer, 0< n ≦ NZC-1;
the modulus operation module is used for performing modulus operation according to the f (n-1), the g (n-1) and the length NZC to obtain an index value idx;
and the acquisition module is used for searching a ZC sequence with the sequence number n in a preset lookup table according to the index value idx, wherein the preset lookup table is a lookup table of Sin and Cos, and each row of the preset lookup table comprises the Sin and the Cos.
7. the apparatus of claim 6, wherein the modulo operation module is configured to perform a modulo operation according to the f (n-1), the g (n-1), and the length NZC by the following formula to obtain an index value idx:
idx=mod[mod(f(n-1),2N)+mod(g(n-1),2N),2N]。
8. The apparatus of claim 6, wherein the predetermined lookup table has a depth of
9. The apparatus of claim 8, wherein the obtaining module comprises:
A first obtaining sub-module, configured to obtain the ZC sequence through a first obtaining operation at that time, where the first obtaining operation is: directly indexing in the preset lookup table according to the index value idx to search the ZC sequence with the sequence number n;
a second obtaining submodule, configured to obtain the ZC sequence through a second obtaining operation at that time, where the second obtaining operation is: mapping the index value idx into an interval, indexing in the preset lookup table according to a mapped index value idxsym to obtain a first lookup value and a second lookup value, and calculating by using an interpolation algorithm according to the first lookup value, the second lookup value and the mapped index value idxsym to obtain a ZC sequence with the serial number n, wherein the first lookup value is a ZC sequence obtained by searching in the preset lookup table according to a maximum integer smaller than the mapped index value idxsym, and the second lookup value is a ZC sequence found in the preset lookup table according to a minimum integer larger than the mapped index value idxsym;
And the third obtaining submodule is used for firstly mapping the index value idx into a section [0, NZC-1] when the NZC is not more than idx <2NZC-1, then using the mapped index value as an updated index value idx, obtaining the ZC sequence through the first obtaining submodule when the updated index value idx is met, and obtaining the ZC sequence through the second obtaining submodule when the updated index value idx is met.
10. The apparatus of claim 9, wherein the second obtaining sub-module is configured to:
mapping the index value idx into an interval in terms of symmetry to obtain a mapped index value idxsym, wherein when mapping logic is current, the mapping logic is idxsym ═ NZC-idx, and the mapped index value idxsym is a non-integer;
decomposing the mapped index value idxsym into an integer part idxsym _ int and a decimal part idxsym _ fra, indexing in the preset lookup table according to the integer part idxsym _ int and the integer part idxsym _ int +1 to obtain the first lookup value and the second lookup value, and interpolating according to the first lookup value, the second lookup value and the decimal part idxsym _ fra to obtain the ZC sequence with the serial number n.
CN201810135002.XA 2018-02-09 2018-02-09 method and device for generating ZC sequence Active CN108400829B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810135002.XA CN108400829B (en) 2018-02-09 2018-02-09 method and device for generating ZC sequence

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810135002.XA CN108400829B (en) 2018-02-09 2018-02-09 method and device for generating ZC sequence

Publications (2)

Publication Number Publication Date
CN108400829A CN108400829A (en) 2018-08-14
CN108400829B true CN108400829B (en) 2019-12-06

Family

ID=63095367

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810135002.XA Active CN108400829B (en) 2018-02-09 2018-02-09 method and device for generating ZC sequence

Country Status (1)

Country Link
CN (1) CN108400829B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109600191A (en) * 2018-12-13 2019-04-09 浙江天则通信技术有限公司 A kind of generation method and system of ZC sequence
CN112752351A (en) * 2019-10-31 2021-05-04 华为技术有限公司 Method and communication device for sequence-based signal transmission

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101068135B (en) * 2007-06-27 2011-11-23 中兴通讯股份有限公司 Main scrambler sequence generator
EP2045939B1 (en) * 2007-10-02 2015-12-09 Nokia Solutions and Networks Oy Allocation of preamble sequences
CN102202027B (en) * 2010-03-26 2015-08-12 中兴通讯股份有限公司 A kind of production method of pilot frequency sequence and device
CN101917356A (en) * 2010-07-19 2010-12-15 中国科学院计算技术研究所 Generation method of LTE (Long Term Evolution) system upstream reference signal q-step ZC (Zadoff-Chu) sequence system thereof
CN103812596B (en) * 2012-11-09 2017-07-04 联芯科技有限公司 The generation method and device of pseudo-random sequence

Also Published As

Publication number Publication date
CN108400829A (en) 2018-08-14

Similar Documents

Publication Publication Date Title
JP7025456B2 (en) Polar code coding method and equipment
US9628140B2 (en) Method and system for determining sounding reference signal frequency hopping pattern
CN108400829B (en) method and device for generating ZC sequence
EP2525539B1 (en) Method and apparatus for implementing preamble generation
KR20100017769A (en) Transmitter and receiver for wireless access system, transmission method and reception method for wireless access system, and program
KR20090026019A (en) Method of generating reference signal in wireless communication system
WO2010011863A1 (en) Apparatus and methods for computing constant amplitude zero auto-correlation sequences
CN109391577B (en) Signal processing method and device
EP2332275A1 (en) Efficient zadoff-chu sequence generation
EP2981103A1 (en) Allocation of preamble sequences
US20230156526A1 (en) Resource allocation for configurable bandwidths
US20150271853A1 (en) Fourier transform for a signal to be transmitted on a random access channel
JP7121199B2 (en) Method and apparatus for generating and processing sequences
CN102958188B (en) Random access lead code generating method
CN109547149B (en) Data transmission method, synchronization sequence construction method and device
CN103457888B (en) Combine communicate signalling method and the device of liter sampling with digital fabrication
CN111629394A (en) Random access method and device
WO2020228677A1 (en) Positioning method and apparatus based on binary periodic sequence
CN111740935A (en) Method for DFT operation of ZC sequence in 5GNR system
KR101318992B1 (en) Modulo n calculation method and apparatus thereof
CN108282432B (en) Synchronous signal transmission method, synchronous signal detection method, base station and user equipment
CN108400863A (en) A kind of implementation method based on Hyperbolic Function Method multi scroll chaotic attactors
CN112311710B (en) Data processing method and communication device
Liu et al. Constructions of optimal variable-weight OOCs via quadratic residues
CN105429923A (en) Phase sequence generation method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 100085 unit C, building C, lin66, Zhufang Road, Qinghe, Haidian District, Beijing

Patentee after: Beijing Xiaomi pinecone Electronic Co., Ltd

Address before: 100085 Beijing city Haidian District Qinghe Shun Yip things Park Building 3 unit A

Patentee before: BEIJING PINECONE ELECTRONICS Co.,Ltd.