WO2022161330A1 - Data storage method and apparatus, storage medium, user equipment, and network side device - Google Patents

Data storage method and apparatus, storage medium, user equipment, and network side device Download PDF

Info

Publication number
WO2022161330A1
WO2022161330A1 PCT/CN2022/073622 CN2022073622W WO2022161330A1 WO 2022161330 A1 WO2022161330 A1 WO 2022161330A1 CN 2022073622 W CN2022073622 W CN 2022073622W WO 2022161330 A1 WO2022161330 A1 WO 2022161330A1
Authority
WO
WIPO (PCT)
Prior art keywords
coefficient
input
sequence
data
input data
Prior art date
Application number
PCT/CN2022/073622
Other languages
French (fr)
Chinese (zh)
Inventor
顾明飞
Original Assignee
展讯半导体(成都)有限公司
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 展讯半导体(成都)有限公司 filed Critical 展讯半导体(成都)有限公司
Publication of WO2022161330A1 publication Critical patent/WO2022161330A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management

Definitions

  • the present invention relates to the field of data processing, and in particular, to a data storage method and device, a storage medium, user equipment, and network side equipment.
  • the New Radio (NR) communication system is the fifth generation mobile communication system (5G) led by the 3rd Generation Partnership Project (3GPP), which involves discrete Fourier transform spread spectrum (Discrete Fourier transform) Transform, for DFT) Orthogonal Frequency Division Multiplexing Multiple Access (DFT-S-OFDM) modulation technology, requires the realization of a large number of non-2 exponential power points Fourier transform.
  • 3GPP 3rd Generation Partnership Project
  • the technical problem solved by the present invention is how to improve the storage efficiency of input data.
  • determining each input coefficient of the input data whose order is 1 according to the prime factorization algorithm and the number of sampling points includes: calculating a first decomposition formula for determining the number of sampling points: Traverse the range of possible values of each input coefficient to calculate each input coefficient of the input data whose order is 1; wherein, N is the number of sampling points, n is the order of the input data, and a i is the ith of the sampling point number +1 input parameters, L is the number of input parameters, n i is the i+1 th input coefficient of the input data in sequence n, N is a positive integer, L is a positive integer other than 1, and i is a natural number , 0 ⁇ i ⁇ L, 0 ⁇ n ⁇ N.
  • calculating and obtaining each input coefficient of the input data in the order of n according to the input coefficients of the input data in the order of n-1 includes: calculating and determining the i+1 th input of the input data in the order of n-1.
  • the i+1 th first preset coefficient is the i+1 th input coefficient of the input data whose order is 1.
  • the i+1 th intermediate coefficient of the input data in the sequence n and the i+2 intermediate coefficient of the input data in the sequence n satisfy the first carry condition determine the input data in the sequence n.
  • the i+1 th intermediate coefficient of includes: if the i+2 th intermediate coefficient of the input data in the sequence n does not satisfy the first carry condition, then the i+ th intermediate coefficient of the input data in the sequence n 1 first coefficient and the i+1 th intermediate coefficient of the input data in the sequence n; otherwise, add 1 to the i+1 first coefficient sum of the input data in the sequence n as the The i+1-th intermediate coefficient of the input data with the predicate order n.
  • the i+2 th intermediate coefficient of the input data in sequence n does not satisfy the first carry condition includes: the sum of the i+2 th first coefficient of the input data in sequence n is greater than or equal to The number of possible values of the i+2 th input coefficient, or, the i+1 th input parameter and the i+2 th input parameter are relatively prime.
  • the first carry condition determines the i+1 intermediate coefficient of the input data of order n:
  • n i_nxt is the i+1 th intermediate coefficient of the input data in the sequence n
  • n i is the i+1 th input coefficient in the input data in the sequence n-1
  • coefin i is the i+1 th input coefficient of the input data in the sequence n-1
  • i+1 first preset coefficients, ceil i is the i+1th reference coefficient
  • the i+1th reference coefficient is the value obtained by subtracting 1 from the number of possible values of the i+1th input coefficient
  • n i+1_nxt is the i+2 th intermediate coefficient of the input data in sequence n.
  • the method before determining each input coefficient of the input data with order 1 based on the prime factorization algorithm, the method further includes: determining each input coefficient of the input data with order 0.
  • the storage address of the input data includes a storage block identifier and a relative storage address, and the following formula is used to calculate the storage address of the input data with a certain sequence of n:
  • bank_sel is the storage block identifier
  • bank_addr is the relative storage address
  • ci and di are the first adjustment parameter and the second adjustment parameter, respectively, wherein M is the number of the storage blocks.
  • the method further includes: performing multiple rounds of discrete Fourier transform on the input data in the memory using the number of possible values of each input coefficient as a small point basis.
  • performing multiple rounds of discrete Fourier transform on the input data in the memory by using the number of possible values of each input coefficient as the small point basis respectively includes: in each round of operation, according to the small point basis in A corresponding amount of data is read from the memory to perform discrete Fourier transform on a small point basis to obtain a calculation result; the calculation result in each round of operation is written back to the storage address where the data read in the round of operation is stored.
  • the respective output coefficients of the sequence k are calculated to obtain the respective output coefficients of the output data in the sequence k; whenever the respective output coefficients of the output data in the sequence k are determined, the storage address of the output data in the sequence k is calculated and read out. Store the data stored in the address to obtain the output data.
  • determining each output coefficient of the output data whose order is 1 according to the prime factorization algorithm and the number of sampling points includes: calculating a second decomposition formula for determining the number of sampling points: Traverse the range of possible values of each output coefficient to calculate each output coefficient of the output data whose order is 1; wherein, k is the order of the output data, b i is the i+1 th output parameter of the number of sampling points, k i is the i+1 th output coefficient of the output data in order k, 0 ⁇ k ⁇ N.
  • calculating and obtaining each output coefficient of the output data in the sequence k according to each output coefficient of the output data in the sequence k-1 includes: calculating and determining the i+1 th output of the output data in the sequence k-1.
  • the storage address of the data is input, and then the input data in sequence n is written into the storage address of the memory.
  • An embodiment of the present invention further provides a storage medium on which a computer program is stored, and the computer program executes the steps of the above data storage method when the computer program is run by a processor.
  • An embodiment of the present invention further provides a user equipment, including a memory and a processor, the memory stores a computer program that can run on the processor, and the processor executes the above data storage method when the computer program runs A step of.
  • An embodiment of the present invention further provides a network-side device, including a memory and a processor, the memory stores a computer program that can run on the processor, and the processor executes the above-mentioned data storage when running the computer program steps of the method.
  • each input coefficient of the input data in the sequence n can be obtained by calculating sequentially according to each input coefficient of the input data in the sequence n-1, Then, the storage address of the input data can be determined according to the input coefficient of each input data, that is, in the solution of the embodiment of the present invention, the input coefficient of the next input input data can be quickly determined according to the input coefficient of the previous input data. , since the storage address of each input data is calculated according to the input coefficient of the input data, the calculation time for determining the storage address of each input data can be reduced, thereby improving the storage efficiency of the input data.
  • each output coefficient of the output data in the order of k can be calculated according to the output coefficients of the output data in the order of k-1 in turn to obtain the output coefficients of the output data in the order of k.
  • the storage address of the output data can be calculated according to the output coefficient of each output data, that is, in the solution of the embodiment of the present invention, the output of the output data of the next output can be quickly determined according to the output coefficient of the output data of the previous output. Since the storage address of each output data is calculated according to the output coefficient of the output data, the calculation time for determining the storage address of each output data can be reduced, thereby improving the efficiency of reading the data to be output in the memory .
  • FIG. 1 is a schematic flowchart of a data storage method in an embodiment of the present invention.
  • FIG. 2 is a schematic flowchart of a specific implementation manner of step S102 in FIG. 1 .
  • FIG. 3 is a schematic flowchart of another data storage method in an embodiment of the present invention.
  • FIG. 4 is a schematic structural diagram of a data storage device in an embodiment of the present invention.
  • the input data in the order of n can be calculated according to each input coefficient of the input data in the order of n-1 in turn to obtain the input data in the order of n each input coefficient, and then the storage address of the input data can be determined according to the input coefficient of each input data, that is, in the solution of the embodiment of the present invention, the input coefficient of the previous input data can be quickly determined.
  • the calculation time for determining the storage address of each input data can be reduced, thereby improving the storage efficiency of the input data.
  • FIG. 1 is a schematic flowchart of a data storage method in an embodiment of the present invention.
  • the method may be performed by a terminal, and the terminal may be various appropriate terminals, for example, may be a user equipment (User Equipment, UE), such as a mobile phone, etc., or a network side device, such as a base station, etc., but not limited to this.
  • UE User Equipment
  • UE User Equipment
  • the data storage method shown in FIG. 1 may specifically include the following steps:
  • Step S101 Determine the number of sampling points of the discrete Fourier transform, and determine each input coefficient of the input data with an order of 1 according to the prime factorization algorithm and the number of sampling points;
  • Step S103 Whenever each input coefficient of the input data in the sequence n is determined, obtain the input data in the sequence n, and calculate the storage address of the input data in the sequence n according to each input coefficient of the input data in the sequence n, and then Write the input data of sequence n into this memory address of the memory.
  • step S101 the number of sampling points N of the discrete Fourier transform is determined, and each input coefficient of the input data with the order of 1 is determined according to the prime factorization algorithm and the number of sampling points.
  • the terminal when the terminal is in communication, after obtaining the time domain signal to be sent, it needs to perform discrete Fourier transform, modulate the time domain signal to the frequency domain for expansion, and then go through inverse fast Fourier transform to obtain signal sent.
  • the terminal can also obtain the discrete Fourier transform points, and then sample the time-domain signal according to the discrete Fourier transform points to obtain multiple input data (that is, , sampling point data).
  • N is the number of sampling points
  • n and k are natural numbers ranging from 0 to N-1
  • x(n) is the input data of the discrete Fourier transform
  • X(k) is the discrete Fourier transform.
  • Output data n is the order of the input data, k is the order of the output data.
  • the input data with the sequence n in the embodiment of the present invention refers to the n+1 th input data.
  • the input data with the sequence 0 refers to the first input data written into the memory
  • the input data with the sequence 1 refers to the first input data written into the memory.
  • Input data refers to the second input data written to the memory.
  • the output data whose sequence is k in the embodiment of the present invention refers to the k+1 th output data.
  • the output data whose sequence is 0 refers to the first data read out from the memory, that is, the first data read out from the memory.
  • One output data, the output data with sequence 1 refers to the second data read from the memory, that is, the second output data is read.
  • the number of points of the discrete Fourier transform is an exponential power other than 2.
  • the DFT-S-OFDM technology of the 5G NR standard has a variety of discrete Fourier transform points, including: 12, 24, 36, 48, 60, 72, 96, 108, 120, 144, 180, 192, 216, 240, 288, 300, 324, 360, 384, 432, 480, 540, 576, 600, 648, 720, 768, 864, 900, 960, 972, 1080, 1152, 1200, 1296, 1440, 1500, 1536, 1620, 1728, 1800, 1920, 1944, 2160, 2304, 2400, 2592, 2700, 2880, 2916, 3000, 3072, 3240.
  • the number N of sampling points in the embodiment of the present invention may be any other value that can be implemented, and is not limited to the above-mentioned value, which is not limited in the embodiment of
  • the terminal may determine each input coefficient of the input data with the order of 1 according to the prime factorization algorithm and the number of sampling points.
  • the sequence n of the input data can be expressed as:
  • N 1 and N 2 can continue to be decomposed until the factor obtained after the number of sampling points is decomposed only includes 5, 3, 4, and 2. At this point, the first decomposition formula of the number of sampling points is obtained:
  • N is the number of sampling points
  • n is the sequence of the input data
  • a i is the i+1th input parameter of the number of sampling points
  • L is the number of the input parameters
  • n i is the sequence of n
  • the i+1th input coefficient of the input data of , N is a positive integer
  • L is a positive integer other than 1
  • i is a natural number, 0 ⁇ i ⁇ L, 0 ⁇ n ⁇ N.
  • each input coefficient of the input data of order n can be solved, that is, the values of n 0 to n L-1 can be solved.
  • the number of sampling points can be decomposed into multiple factors, and the input coefficients n 0 to n L-1 are the indices of the decomposed factors, respectively.
  • the value range of the input coefficient n 0 to n L-1 is respectively related to the value of the corresponding factor, that is, if the factor corresponding to the input coefficient n i is X, the value range of n i is between 0 and X-1. Natural numbers, the number of values of n i is X.
  • the number of input parameters is the same as the number of factors decomposed by the number of sampling points N.
  • the decomposition when using the prime factorization algorithm to decompose the sampling points to obtain the first decomposition formula, the decomposition may be performed in the order of factors 5, 3, 4, and 2, so as to simplify the decomposition steps and effective.
  • the following describes the process of decomposing the number of sampling points N according to the prime factorization algorithm to obtain the first decomposition formula of the number of sampling points N by taking the sampling point number N as 3240 as an example.
  • n 0 The number of possible values is 5, and the value range of n 0 is ⁇ 0, 1, 2, 3, 4 ⁇ ; the number of possible values of n 1 is 3, and the value range of n 1 is ⁇ 0, 1, 2 ⁇ ; the number of possible values for n 2 is 3, and the range of values for n 2 is ⁇ 0, 1, 2 ⁇ ; the number of possible values for n 3 is 3, and the range of values for n 3 is ⁇ 0, 1, 2 ⁇ ; the number of possible values for n 4 is 3, and the range of values for n 4 is ⁇ 0, 1, 2 ⁇ ; the number of possible values for n 4 is 3, and the range of values for n 4 is ⁇ 0, 1, 2 ⁇ ; the number of possible values for n 4 is 3, and the range of values for n 3 is ⁇ 0, 1, 2 ⁇ ; the number of possible values for n 5 is 4, and the range of values for n 5 is ⁇ 0, 1, 2, 3 ⁇ ; the number of possible values of n 1 is 3, and the range of values for n 5 is
  • each input coefficient of the input data whose order is 1 may be determined by traversing the possible value ranges of each input coefficient. For example, when the number of sampling points is 3240, the values of n 0 to n 6 are determined according to the respective value ranges of n 0 to n 6 , so that the values of n 0 to n 6 satisfy:
  • each of the input coefficients of the input data with the order of 0 may also be determined first. For example, each input coefficient of the input data whose order is 0 can be directly assigned as 0.
  • each input coefficient of the input data with the order 0 ie, the first input data
  • each input coefficient of the input data with the order 1 ie, the second input data
  • each input coefficient of the input data in the sequence n may be calculated according to each input coefficient of the input data in the sequence n-1 in sequence.
  • each input coefficient of the next input data may be updated at each rising edge of the clock.
  • FIG. 2 shows a schematic flowchart of a specific implementation manner of step S102.
  • Step S102 shown in FIG. 2 may specifically include the following steps:
  • Step S201 Calculate and determine the sum of the i+1 th input coefficient and the i+1 th first preset coefficient of the input data in the sequence n-1, denoted as the i th input data in the sequence n +1 first coefficient sum;
  • Step S203 Determine whether the i+1-th intermediate coefficient of the input data in the sequence n is less than the number of possible values of the i+1-th input coefficient;
  • the i+1 th intermediate coefficient is used as the i+1 th input coefficient of the input data in the order n, otherwise, the i+1 th intermediate coefficient of the input data in the order n is calculated for the i+
  • the result of taking the modulo of the number of possible values of one input coefficient is taken as the i+1th input coefficient of the input data in sequence n.
  • step S201 after each input coefficient in the order of n-1 is obtained by calculation, the sum of each first coefficient of the input data in the order of n-1 can be calculated and the sum of the first coefficients of the input data in the order of n-1 can be calculated.
  • the i+1 first coefficient sum is the sum of the i+1 th input coefficient n i and the i+1 th first preset coefficient of the input data.
  • the first preset coefficient has a one-to-one correspondence with the number of sampling points.
  • the terminal may store a plurality of sets of first preset coefficients, each set of first preset coefficients corresponds to a number of sampling points, each set of first preset coefficients includes a plurality of first preset coefficients, the first preset coefficients It is assumed that the number of coefficients is the same as the number of input parameters or input coefficients corresponding to the number of sampling points.
  • each of the first preset coefficients is each input coefficient of the input data with the same sampling point number in the order of 1, that is, the i+1 th first preset coefficient is in the order of The i+1th input coefficient of the input data of 1.
  • the values of the input coefficients n 0 to n 6 of the input data in sequence 1 are 2, 2, 2, 2, 1, 2, and 1 respectively. Therefore, when the number of sampling points is 3240, The values of the first preset coefficients coefin 0 to coefin 6 are 2, 2, 2, 2, 2, 1, 2, and 1, respectively.
  • each intermediate coefficient of the input data in sequence n is calculated.
  • the Lth intermediate coefficient of the input data in the sequence n is first calculated, and the Lth intermediate coefficient of the input data in the sequence n is the sum of the Lth first coefficients of the input data in the sequence n.
  • i L-1.
  • the L-1 th intermediate coefficient to the first intermediate coefficient of the input data in sequence n are sequentially calculated, that is, in the case of i ⁇ L-1, each intermediate coefficient is determined.
  • the L-th intermediate coefficient of the input data in the sequence n satisfies the first carry condition. If not, the L-th intermediate coefficient of the input data in the sequence n is the input of the sequence n-1.
  • the sum of the L-1 th input coefficient of the data and the L-1 th first preset coefficient, that is, the L-1 th intermediate coefficient of the input data in sequence n is the L-1 th of the input data The first coefficient sum. If the first carry condition is satisfied, the L-1 th intermediate coefficient of the input data in the sequence n is the i+1 th first coefficient of the input data and the value added by 1.
  • the situation where the Lth intermediate coefficient of the input data in the sequence n does not satisfy the first carry condition may include: the Lth first coefficient of the input data in the sequence n is greater than or equal to the Lth input coefficient
  • the number of possible values of , or, the L-1 th input parameter in the first decomposition formula is relatively prime to the L th input parameter.
  • the L-2th, L-3th, ... 1st intermediate coefficients of the input data in sequence n can be sequentially determined.
  • step S201 when the terminal performs steps S201 and S202, it may first perform step S201 to calculate the sum of the first coefficients of the input data in the order n, and then perform step S202 to calculate the input data in the order n.
  • Each intermediate coefficient of wherein, in step S202, the L th intermediate coefficient is calculated first, and then the intermediate coefficients are calculated sequentially according to the decreasing order of i.
  • the terminal can also obtain the Lth first coefficient sum of the input data sequence n by calculating in step S201, and then perform step S202 to calculate the Lth intermediate coefficient, and then return to step S201 to calculate the L-1th first coefficient.
  • step S202 is executed again to calculate the L-1 th intermediate coefficient, and each intermediate coefficient in sequence n is obtained by executing steps S201 and S202 multiple times in a decreasing order of i.
  • n i_nxt is the i+1 th intermediate coefficient of the input data in the sequence n
  • n i is the i+1 th in the input data in the sequence n-1 input coefficients
  • coefin i is the i+1 th first preset coefficient
  • ceil i is the i+1 th reference coefficient
  • the i+1 th reference coefficient is the possible value of the i+1 th input coefficient
  • the value after subtracting 1 from the number, n i+1_nxt is the i+2 th intermediate coefficient of the input data in sequence n.
  • the reference coefficient may be pre-stored in the terminal, and for different sequences of input data,
  • the L reference coefficients ceil i are obtained by subtracting 1 from the value of each factor obtained by decomposing the number of sampling points N.
  • the value of the i+1 th reference coefficient ceil i may also be the possible value of the i+1 th input coefficient.
  • the i+1th reference coefficient corresponds to the i+1th input parameter, so the i+1th input parameter is related to the The judgment result of whether the i+2 th input parameter is co-prime may be determined according to whether the i+1 th reference coefficient and the i+2 th reference coefficient are co-prime.
  • the reference coefficient is the value of each factor obtained by the decomposition of the number of sampling points N minus 1
  • the data of the reference coefficient is The bit width is 3 bits, which is usually much smaller than the data bit width of the input parameter, which can reduce the storage space of the memory.
  • each reference coefficient is stored in the terminal storage in binary form, it is possible to compare whether the values of the 0th and 2nd positions of the i+1th reference coefficient and the i+2th reference coefficient are the same, To judge whether the i+1th reference coefficient and the i+2th reference coefficient are co-prime, because only the values of two digits need to be compared, the time required for judgment can be reduced, thereby reducing the calculation of input coefficients time.
  • step S203 it is judged whether each intermediate coefficient of the input data in sequence n is smaller than the number of possible values of the corresponding input coefficient. For example, it is determined whether the third intermediate coefficient of the input data with the sequence n is less than the number of possible values of the third input coefficient n 2 . As mentioned above, the number of possible values of each input coefficient is determined by the factor of the corresponding number of sampling points.
  • the i+1-th intermediate coefficient of the input data in sequence n is less than the number of possible values of the i+1-th input coefficient, it means that the i+1-th intermediate coefficient does not exceed the i+1-th input coefficient.
  • the i+1 th intermediate coefficient of the input data in the sequence n may be directly used as the i+1 th input coefficient in the input data in the sequence n. Otherwise, calculate the result of taking the modulo of the i+1-th intermediate coefficient of the input data to the number of possible values of the i+1-th input coefficient, and use the modulo result as the input data of the sequence n. i+1 input coefficients.
  • the method in the embodiment of the present invention is adopted.
  • the scheme can quickly calculate the input coefficient of the next input data according to the order of the previous input data.
  • step S301 to step S303 are described below by taking the number of sampling points as 3240 as an example.
  • the factors of 3240 are 5, 3, 3, 3, 3, 4, 2, respectively, and the input coefficients n 0 to n 6 of the input data with sequence 1 are respectively 2, 2, 2 , 2, 1, 2, 1, the values of the first preset coefficients coefin 0 to coefin 6 are respectively 2, 2, 2, 2, 1, 2, 1, and the values of the reference coefficients ceil 0 to ceil 6 are respectively as 4, 2, 2, 2, 2, 3, 1.
  • each intermediate coefficient n 0_nxt to n 6_nxt of the order n can be calculated first, and then the input coefficients n 0 to n 6_nxt of the order n-1 can be further determined. n 6 .
  • each intermediate coefficient n 0_nxt to n 6_nxt of the input data in sequence n can be calculated in sequence by using the following formula:
  • n 6_nxt n 6 +coefin 6 ; (11)
  • the value of the corresponding input coefficient is determined according to each intermediate coefficient.
  • the value of the i+1th reference coefficient ceil i can also be the value of the number of possible values of the i+1th input coefficient minus 1
  • the value of the input data in the sequence n can be changed to
  • the value of the i+1 intermediate coefficient n i_nxt is compared with the value of the i+1 th reference coefficient ceil i to determine whether each intermediate coefficient of the input data in the order n is less than the number of possible values of the corresponding input coefficient, If n i_nxt >ceil i , then n i is assigned the value of n i_nxt +( ⁇ ceil i ), otherwise, n i is assigned the value of n i_nxt .
  • n 0_nxt >ceil 0
  • n 0 is assigned as n 0_nxt +( ⁇ ceil 0 )
  • n 1 is assigned as n 1_nxt +( ⁇ ceil 1 )
  • n 1 is assigned as n 1_nxt
  • n 2_nxt >ceil 2
  • n 2 is assigned as n 2_nxt +( ⁇ ceil 2 )
  • n 2 is assigned as n 2_nxt
  • n 3_nxt >ceil 3
  • n 3 is assigned as n 3_nxt +( ⁇ ceil 3 ), otherwise, n 3 is assigned as n 3_nxt
  • n 4_nxt >ceil 4
  • n 4 is assigned as n 4_nxt
  • each input coefficient of the next input data may be determined at the rising edge of each clock, and the next input data may be acquired.
  • the storage address of the input data can be determined, and then the input data is written into the determined storage address, thereby writing the input data with the number of sampling points into the memory.
  • the memory includes a plurality of storage blocks, a storage address needs to be calculated for each input data, and each storage address includes a storage block identification and a relative storage address.
  • the storage block identifier points to a specific storage block, and the relative storage address indicates the storage address in the storage block.
  • the calculation formulas of the storage block identifier bank_sel and the relative storage address bank_addr are respectively expressed by the following formulas:
  • bank_sel is the storage block identifier
  • bank_addr is the relative storage address
  • ci and di are the first adjustment parameter and the second adjustment parameter, respectively
  • M is the number of the storage blocks.
  • the number of storage blocks may be 12 or 6, but is not limited thereto.
  • the first adjustment parameter c i when the number of possible values of the input coefficient n i is 2, 3, 4, and 5, the first adjustment parameter c i is 1, 2, 1, and 1, respectively.
  • the first input coefficient corresponding to the number of possible values is 5.
  • the second adjustment parameter is 1, the second adjustment parameter corresponding to the first input coefficient whose number of possible values is 3 is 0, and the other second adjustment parameters are the items that are immediately preceding and whose second adjustment parameter is not 0
  • the sampled number of input data can be sequentially written into the corresponding storage addresses of the memory. Due to the solution in the embodiment of the present invention, the input coefficient of the next input data can be quickly calculated according to the sequence of the previous input data, Therefore, the speed of determining the storage address of each input data can be further improved, thereby improving the efficiency of storing the input data to the memory.
  • FIG. 3 shows a schematic flowchart of another data storage method in an embodiment of the present invention.
  • the data storage method shown in FIG. 3 may include the following steps:
  • Step S301 Determine the number of sampling points of the discrete Fourier transform, and determine each input coefficient of the input data with an order of 1 according to the prime factorization algorithm and the number of sampling points;
  • Step S303 Whenever each input coefficient of the input data in the sequence n is determined, obtain the input data in the sequence n, and calculate the storage address of the input data in the sequence n according to each input coefficient of the input data in the sequence n, and then Write the input data of sequence n into the storage address of the memory;
  • Step S304 Perform multiple rounds of discrete Fourier transform on the input data in the memory using the number of possible values of each input coefficient as a small point basis;
  • Step S305 Determine each output coefficient whose order of output data is 1 according to the prime factorization algorithm and the number of sampling points;
  • Step S307 each time each output coefficient of the output data in the sequence k is determined, calculate and determine the storage address of the output data in the sequence k, and read the data stored in the storage address to obtain the output data.
  • step S301 to step S303 For the specific content of step S301 to step S303, reference may be made to the relevant descriptions of FIG. 1 and FIG. 2 above, which will not be repeated here.
  • step S304 multiple rounds of discrete Fourier transform may be performed on the input data in the memory, and more specifically, L rounds of discrete Fourier transform may be performed.
  • the number of possible values of each input coefficient is used as a small-point basis, and in each round of operation, a corresponding amount of data is read from the memory according to the small-point basis to perform a small-point basis discrete Fourier transform Transform to get the calculation result; write the calculation result in each round of operation back to the storage address where the data read in the round of operation is stored.
  • the memory stores the data read during each round of discrete Fourier transform
  • the calculation result after each round of operation is also returned to the memory for storage, and is used as the read data of the next round of operation, so that each round of operation can be
  • the calculation result in the operation is stored in the storage address where the data is read in this round of operation for co-address write-back. After one round of operation, the sampling number of data is updated, so that the storage address can be efficiently reuse. After multiple rounds of discrete Fourier transform, the final calculation result of discrete Fourier transform is stored in the memory.
  • step S305 according to the prime factorization algorithm and formula (2), the sequence k of the output data can be expressed as:
  • the factor obtained after the number of sampling points is decomposed only includes 5, 3, 4, and 2
  • the second decomposition formula of the number of sampling points can be obtained:
  • k is the sequence of the output data
  • b i is the i+1 th output parameter of the number of sampling points
  • ki is the i +1 th output coefficient of the output data whose sequence is k, 0 ⁇ k ⁇ N .
  • the sequence k of each output data satisfies the second decomposition formula, and each output parameter is obtained in the decomposition process.
  • each output coefficient of the output data in order k can be solved, that is, the values of k 0 to k L-1 can be solved.
  • the output coefficients k 0 to k L-1 are respectively the indexes of the decomposed factors to the order of the output data, and the index search of each output data can be realized by the output coefficients k 0 to k L-1 .
  • the following takes the number of sampling points as 3240 as an example to describe the process of obtaining the second decomposition formula of the number of sampling points N.
  • the number of possible values of the i+1 th output coefficient is the same as the number of possible values of the i+1 th input coefficient, and the value ranges are the same.
  • each output coefficient of the output data whose order is 1 may be determined by traversing the range of possible values of each output coefficient. For example, when the number of sampling points is 3240, the values of k 0 to k 6 are determined according to the respective value ranges of k 0 to k 6 .
  • each output coefficient of the output data in the order 0 may also be determined first. For example, each output coefficient of the output data whose order is 0 can be directly assigned as 0. Thereby, each output coefficient of the output data in the order 0 (ie, the first output data) and each output coefficient of the output data in the order of 1 (that is, the second output data) can be sequentially determined.
  • each intermediate coefficient of the output data in the sequence k may be calculated, and the output coefficients of the output data in the sequence k are calculated and determined according to each intermediate coefficient of the output data in the sequence k.
  • the sum of the second coefficients of the output data in the order k can be calculated, and the sum of the i+1 second coefficients of the output data in the order k can be calculated.
  • the second preset coefficient has a one-to-one correspondence with the number of sampling points.
  • the second preset coefficient may be pre-stored in the terminal.
  • each second preset coefficient is each output coefficient of the output data with the same sampling point number in the order of 1, that is, the i+1th second preset coefficient is in the order of The i+1 th output coefficient of the output data of 1.
  • the i+1 th in the output data in the sequence k satisfies the condition.
  • the intermediate coefficients are the i+1 th second coefficient sum of the output data. If the second carry condition is satisfied, the i+1 th intermediate coefficient of the output data in sequence k is the i+1 th second coefficient of the output data and the value added by 1.
  • the situation where the i+1 th intermediate coefficient of the output data in sequence k does not satisfy the second carry condition may include: the sum of the i+1 th second coefficient of the output data in sequence k is greater than or equal to the The number of possible values of the i+1 th output coefficient, or, the i+1 th output parameter in the second decomposition formula is relatively prime to the i+2 th output parameter.
  • the judgment result of whether the i+1 th output parameter and the i+1 th output parameter in the second decomposition formula are mutually prime is the same as the i+1 th input parameter in the first decomposition formula and the i+1 th input parameter.
  • the judgment results of whether i+2 input parameters are co-prime are the same.
  • the number of possible values of the i+1 th output coefficient is also the same as the number of possible values of the i+1 th input coefficient.
  • k i_kxt is the i+1 th intermediate coefficient of the output data in the order k
  • ki is the i +1 th output coefficient of the output data in the order k-1
  • coef outi is the i+1 th output coefficient of the output data in the order k-1.
  • i+1 second preset coefficients, ceil i is the i+1th reference coefficient
  • k i+1_kxt is the i+2th intermediate coefficient of the output data in sequence k.
  • the input parameters and output parameters may be different, but the reference coefficients in formula (27) and formula (10) may be the same.
  • the reference coefficient and the output parameter also have a one-to-one correspondence, that is, the i+1th reference coefficient corresponds to the i+1th output parameter, so the i+1th output parameter is associated with the i+1th output parameter.
  • the judgment result of whether the two output parameters are co-prime may be determined according to whether the i+1 th reference coefficient and the i+2 th reference coefficient are co-prime.
  • the i+2th reference coefficient ceil i can also be the value of the number of possible values of the i+2 th output coefficient minus 1. Therefore, it can be directly judged whether the sum of the i+2 th second coefficient of the output data in sequence k is greater than The i+2th reference coefficient ceil i+1 .
  • each intermediate coefficient of the output data of order k is less than the number of possible values of the corresponding output coefficient. If the i+1 th intermediate coefficient of the output data in sequence k is less than the number of possible values of the i+1 th output coefficient, it means that the i+1 th intermediate coefficient does not exceed the value of the i+1 th output coefficient.
  • the value range, the i+1 th intermediate coefficient of the output data in the sequence k can be directly used as the i+1 th output coefficient of the output data in the sequence k. Otherwise, calculate the result of taking the modulo of the i+1-th intermediate coefficient of the output data to the number of possible values of the i+1-th output coefficient, and use the modulo result as the output data of the sequence k. i+1 output coefficients.
  • the method in the embodiment of the present invention is: The scheme can quickly calculate the output coefficient of the next output data according to the sequence of the previous output data.
  • step S306 The specific steps of step S306 are described below by taking the number of sampling points as 3240 as an example.
  • each intermediate coefficients k 0_kxt to k 6_kxt of the order k may be calculated first, and then the output coefficients k 0 to k 6_kxt of the order k-1 may be further determined. k 6 .
  • each intermediate coefficient k 0_kxt to k 6_kxt of the output data in sequence k can be calculated in sequence by using the following formula:
  • the values of the corresponding output coefficients are respectively determined according to the intermediate coefficients.
  • the value of the i+1th reference coefficient ceil i can also be the value of the number of possible values of the i+1th output coefficient minus 1
  • the value of the output data in the order k can be The value of the i+1 intermediate coefficient k i_kxt is compared with the value of the i+1 th reference coefficient ceil i to judge whether each intermediate coefficient of the output data of order k is less than the number of possible values of the corresponding output coefficient, If ki_kxt >ceil i , then ki is assigned as ki_kxt +( ⁇ ceil i ), otherwise, ki is assigned as ki_kxt .
  • k 0_kxt >ceil 0
  • k 0 is assigned as k 0_kxt +( ⁇ ceil 0 )
  • k 1 is assigned as k 1_kxt +( ⁇ ceil 1 )
  • k 1 is assigned as k 1_kxt
  • k 2_kxt >ceil 2
  • k 2 is assigned as k 2_kxt +( ⁇ ceil 2 )
  • k 2 is assigned as k 2_kxt
  • k 3_kxt >ceil 3
  • k 3 is assigned as k 3_kxt +( ⁇ ceil 3 ), otherwise, k 3 is assigned as k 3_kxt
  • k 4_kxt >ceil 4
  • k 4 is assigned as k 4_kxt
  • the terminal can update the storage address of the next output data at the rising edge of each clock, and read the stored data from the storage address, and determine the output data in sequence according to the natural order.
  • the final calculation result of the discrete Fourier transform can be obtained, that is, the final output data can be obtained.
  • the output address of the output data can be determined by calculating the output coefficient of the output data with reference to the formula (18) and the formula (19).
  • steps S305 to S307 For more specific content of steps S305 to S307, reference may be made to the relevant descriptions of FIG. 1 to FIG. 2 above, which will not be repeated here.
  • the input coefficient of the next input data is determined according to the input coefficient calculation of the previous input data
  • the output coefficient of the next output data is determined according to the output coefficient calculation of the previous output data, so that the input coefficient can be quickly determined.
  • FIG. 4 shows a data storage device in an embodiment of the present invention.
  • the device may include: a first determination module 41, configured to determine the number of sampling points of the discrete Fourier transform, and determine the number of sampling points according to the prime factorization algorithm.
  • the input module 43 is used to obtain the input data of the sequence n whenever each input coefficient of the input data of the sequence n is determined, and according to each input coefficient of the input data of the sequence n The input coefficient calculation determines the storage address of the input data in the sequence n, and then writes the input data in the sequence n into the storage address in the memory.
  • the device may also include: a transformation module (not shown in the figure), the calculation module is configured to use the number of possible values of each input coefficient as a small-point basis to perform multiple rounds of the input data in the memory.
  • a transformation module (not shown in the figure)
  • the calculation module is configured to use the number of possible values of each input coefficient as a small-point basis to perform multiple rounds of the input data in the memory.
  • Discrete Fourier Transform is configured to use the number of possible values of each input coefficient as a small-point basis to perform multiple rounds of the input data in the memory.
  • a second determination module (not shown in the figure), configured to determine each output coefficient of the order 1 of the output data according to the prime factorization algorithm and the number of sampling points
  • the data storage device may be a chip, a chip module, or the like.
  • each module/unit included in each device and product described in the above-mentioned embodiments it may be a software module/unit, a hardware module/unit, or a part of a software module/unit and a part of a hardware module/unit .
  • each module/unit included therein may be implemented by hardware such as circuits, or at least some of the modules/units may be implemented by a software program.
  • the remaining (if any) part of the modules/units can be implemented by hardware such as circuits; for each device and product applied to or integrated in the chip module, the modules/units contained therein can be They are all implemented by hardware such as circuits, and different modules/units can be located in the same component of the chip module (such as chips, circuit modules, etc.) or in different components, or at least some of the modules/units can be implemented by software programs.
  • the software program runs on the processor integrated inside the chip module, and the remaining (if any) part of the modules/units can be implemented by hardware such as circuits; for each device and product applied to or integrated in the terminal, each module contained in it
  • the units/units may all be implemented in hardware such as circuits, and different modules/units may be located in the same component (eg, chip, circuit module, etc.) or in different components in the terminal, or at least some of the modules/units may be implemented by software programs Realization, the software program runs on the processor integrated inside the terminal, and the remaining (if any) part of the modules/units can be implemented in hardware such as circuits.
  • the embodiment of the present invention further discloses a storage medium, which is a computer-readable storage medium, and stores a computer program thereon, and the computer program can execute the steps of the method shown in FIG. 1 when running.
  • the storage medium may include ROM, RAM, magnetic or optical disks, and the like.
  • the storage medium may also include a non-volatile memory (non-volatile) or a non-transitory (non-transitory) memory and the like.
  • An embodiment of the present invention further discloses a user equipment, the user equipment may include a memory and a processor, and the memory stores a computer program that can run on the processor.
  • the processor may perform the steps of the methods shown in FIGS. 1 to 3 when running the computer program.
  • the user equipment includes but is not limited to terminal equipment such as mobile phones, computers, and tablet computers.
  • the embodiment of the present invention further discloses a network side device, the network side device may include a memory and a processor, and the memory stores a computer program that can run on the processor.
  • the processor may perform the steps of the methods shown in FIGS. 1 to 3 when running the computer program.
  • the technical solution of the present invention is also applicable to different network architectures, including but not limited to relay network architecture, dual link architecture, Vehicle-to-Everything (vehicle-to-anything communication) architecture and other architectures.
  • the core network described in the embodiments of the present application may be an evolved packet core (EPC for short), a 5G Core Network (5G core network), or a new type of core network in a future communication system.
  • the 5G Core Network consists of a set of devices, and implements access and mobility management functions (Access and Mobility Management Function, AMF) for functions such as mobility management, and provides functions such as packet routing and forwarding and QoS (Quality of Service) management.
  • AMF Access and Mobility Management Function
  • UPF User Plane Function
  • SMF Session Management Function
  • EPC consists of MME that provides functions such as mobility management and gateway selection, Serving Gateway (S-GW) that provides functions such as packet forwarding, and PDN Gateway (P-GW) that provides functions such as terminal address allocation and rate control.
  • S-GW Serving Gateway
  • P-GW PDN Gateway
  • a base station (base station, BS for short) in the embodiments of the present application which may also be referred to as base station equipment, is a device deployed in a radio access network (RAN) to provide a wireless communication function.
  • the equipment that provides base station functions in 2G networks includes base transceiver stations (English: base transceiver station, referred to as BTS), the equipment that provides base station functions in 3G networks includes NodeB (NodeB), and the equipment that provides base station functions in 4G networks.
  • the device that provides the base station function is the access point (access point, referred to as AP), 5G new wireless (New Radio) , referred to as NR), the equipment gNB that provides base station functions, and the node B (ng-eNB) that continues to evolve, wherein the gNB and the terminal use NR technology for communication, and the ng-eNB and the terminal use E-UTRA (Evolved Universal Terrestrial Radio Access) technology to communicate, both gNB and ng-eNB can be connected to the 5G core network.
  • the base station in the embodiment of the present application also includes a device and the like that provide the function of the base station in a new communication system in the future.
  • the base station controller in this embodiment of the present application is a device for managing base stations, such as a base station controller (BSC) in a 2G network and a radio network controller (RNC) in a 3G network. ), and may also refer to a device for controlling and managing base stations in a new communication system in the future.
  • BSC base station controller
  • RNC radio network controller
  • the network side network in the embodiment of the present invention refers to a communication network that provides communication services for terminals, including a base station of a radio access network, a base station controller of a radio access network, and a device on the core network side.
  • the terminal in the embodiments of the present application may refer to various forms of user equipment (user equipment, UE for short), access terminal, subscriber unit, subscriber station, mobile station, mobile station (mobile station, built as MS), remote station, remote station A terminal, mobile device, user terminal, terminal equipment, wireless communication device, user agent or user equipment.
  • the terminal device may also be a cellular phone, a cordless phone, a Session Initiation Protocol (SIP) phone, a Wireless Local Loop (WLL) station, a Personal Digital Assistant (PDA), Handheld devices, computing devices or other processing devices connected to wireless modems, in-vehicle devices, wearable devices with wireless communication capabilities, terminal devices in future 5G networks or future evolved public land mobile communication networks (Public Land Mobile Network, referred to for short) PLMN), which is not limited in this embodiment of the present application.
  • SIP Session Initiation Protocol
  • WLL Wireless Local Loop
  • PDA Personal Digital Assistant
  • the embodiment of the present application defines the unidirectional communication link from the access network to the terminal as the downlink, the data transmitted on the downlink is the downlink data, and the transmission direction of the downlink data is called the downlink direction;
  • the unidirectional communication link is the uplink, the data transmitted on the uplink is the uplink data, and the transmission direction of the uplink data is called the uplink direction.
  • connection in the embodiments of the present application refers to various connection modes such as direct connection or indirect connection, so as to realize communication between devices, which is not limited in the embodiments of the present application.
  • the processor may be a central processing unit (central processing unit, CPU for short), and the processor may also be other general-purpose processors, digital signal processors (digital signal processor, DSP for short) , application specific integrated circuit (ASIC), off-the-shelf programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • a general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
  • the memory in the embodiments of the present application may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory.
  • the non-volatile memory may be read-only memory (ROM for short), programmable read-only memory (PROM for short), erasable programmable read-only memory (EPROM for short) , Electrically Erasable Programmable Read-Only Memory (electrically EPROM, EEPROM for short) or flash memory.
  • Volatile memory may be random access memory (RAM), which acts as an external cache.
  • RAM random access memory
  • SRAM static random access memory
  • DRAM dynamic random access memory
  • DRAM synchronous Dynamic random access memory
  • SDRAM synchronous Dynamic random access memory
  • DDR SDRAM double data rate synchronous dynamic random access memory
  • ESDRAM enhanced synchronous dynamic random access memory
  • SLDRAM Synchronous connection dynamic random access memory
  • DR RAM direct memory bus random access memory
  • the above embodiments may be implemented in whole or in part by software, hardware, firmware or any other combination.
  • the above-described embodiments may be implemented in whole or in part in the form of a computer program product.
  • the computer program product includes one or more computer instructions or computer programs. When the computer instructions or computer programs are loaded or executed on a computer, all or part of the processes or functions described in the embodiments of the present application are generated.
  • the computer may be a general purpose computer, special purpose computer, computer network, or other programmable device.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be downloaded from a website site, computer, server, or data center Transmission by wire or wireless to another website site, computer, server or data center.
  • the computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, a data center, or the like that contains one or more sets of available media.
  • the usable media may be magnetic media (eg, floppy disks, hard disks, magnetic tapes), optical media (eg, DVDs), or semiconductor media.
  • the semiconductor medium may be a solid state drive.
  • the size of the sequence numbers of the above-mentioned processes does not mean the sequence of execution, and the execution sequence of each process should be determined by its functions and internal logic, and should not be dealt with in the embodiments of the present application. implementation constitutes any limitation.
  • the disclosed method, apparatus and system may be implemented in other manners.
  • the apparatus embodiments described above are only illustrative; for example, the division of the units is only a logical function division, and other division methods may be used in actual implementation; for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may be physically included individually, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units can be implemented in the form of hardware, or can be implemented in the form of hardware plus software functional units.
  • the above-mentioned integrated units implemented in the form of software functional units can be stored in a computer-readable storage medium.
  • the above-mentioned software functional unit is stored in a storage medium, and includes several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute part of the steps of the methods described in the various embodiments of the present invention.
  • the aforementioned storage medium includes: U disk, mobile hard disk, Read-Only Memory (ROM for short), Random Access Memory (RAM for short), magnetic disk or CD, etc. that can store program codes medium.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)

Abstract

A data storage method and apparatus, a storage medium, a user equipment, and a network side device. The method comprises: determining the number of sampling points in discrete Fourier transform, and determining, according to a prime factorization algorithm and the number of sampling points, various input coefficients of input data the order of which is 1; starting from n=2, calculating, in sequence according to various input coefficients of input data the order of which is n-1, various input coefficients of input data the order of which is n; and whenever various input coefficients of the input data the order of which is n are determined, obtaining the input data the order of which is n, calculating, according to the various input coefficients of the input data the order of which is n, the storage address of the input data the order of which is n, and then writing the input data the order of which is n into the storage address of a memory. By means of the solution of the present invention, the data storage efficiency can be improved.

Description

数据存储方法及装置、存储介质、用户设备、网络侧设备Data storage method and device, storage medium, user equipment, and network side equipment
本申请要求于2021年1月29日提交中国专利局、申请号为202110128760.0、发明名称为“数据存储方法及装置、存储介质、用户设备、网络侧设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application filed on January 29, 2021 with the application number 202110128760.0 and the title of the invention is "data storage method and device, storage medium, user equipment, network side equipment", all of which are The contents are incorporated herein by reference.
技术领域technical field
本发明涉及数据处理领域,尤其涉及一种数据存储方法及装置、存储介质、用户设备、网络侧设备。The present invention relates to the field of data processing, and in particular, to a data storage method and device, a storage medium, user equipment, and network side equipment.
背景技术Background technique
新空口(New Radio,NR)通信系统为由第三代合作伙伴计划(3rd Generation Partnership Project,3GPP)主导的第五代移动通信系统(5G),其中涉及离散傅里叶变换扩频(Discrete Fourier Transform,为DFT)的正交频分复用多址接入(DFT-S-OFDM)的调制技术,要求实现大量非2的指数次幂点数的傅里叶变换。The New Radio (NR) communication system is the fifth generation mobile communication system (5G) led by the 3rd Generation Partnership Project (3GPP), which involves discrete Fourier transform spread spectrum (Discrete Fourier transform) Transform, for DFT) Orthogonal Frequency Division Multiplexing Multiple Access (DFT-S-OFDM) modulation technology, requires the realization of a large number of non-2 exponential power points Fourier transform.
其中,提高输入数据存储至存储器的效率是降低调制时延的重要环节之一,因此,亟需一种数据存储方法,能够提高输入数据的存储效率,以便尽快进入后续的离散傅里叶变化处理过程。Among them, improving the efficiency of storing the input data to the memory is one of the important links to reduce the modulation delay. Therefore, a data storage method is urgently needed, which can improve the storage efficiency of the input data, so as to enter the subsequent discrete Fourier transform processing as soon as possible process.
发明内容SUMMARY OF THE INVENTION
本发明解决的技术问题是如何提高输入数据的存储效率。The technical problem solved by the present invention is how to improve the storage efficiency of input data.
为解决上述技术问题,本发明实施例提供一种数据存储方法,所述方法包括:确定离散傅里叶变换的采样点数,并根据素因子分解算 法和所述采样点数确定序为1的输入数据的各个输入系数;自n=2起,依次根据序为n-1的输入数据的各个输入系数计算得到序为n的输入数据的各个输入系数;每当确定序为n的输入数据的各个输入系数,获取序为n的输入数据,并根据序为n的输入数据的各个输入系数计算确定序为n的输入数据的存储地址,然后将序为n的输入数据写入存储器的该存储地址中。In order to solve the above technical problem, an embodiment of the present invention provides a data storage method, the method includes: determining the number of sampling points of discrete Fourier transform, and determining the input data of order 1 according to the prime factorization algorithm and the number of sampling points each input coefficient of ; from n=2, according to each input coefficient of the input data in sequence n-1, each input coefficient of the input data in sequence n is calculated to obtain each input coefficient of the input data in sequence n; each input coefficient of the input data in sequence n is determined coefficient, obtain the input data in the sequence n, and calculate and determine the storage address of the input data in the sequence n according to each input coefficient of the input data in the sequence n, and then write the input data in the sequence n into the storage address of the memory .
可选的,根据素因子分解算法和所述采样点数确定序为1的输入数据的各个输入系数包括:计算确定所述采样点数的第一分解式:
Figure PCTCN2022073622-appb-000001
遍历各个输入系数的可取值范围计算确定序为1的输入数据的各个输入系数;其中,N为所述采样点数,n为所述输入数据的序,a i为所述采样点数的第i+1个输入参数,L为所述输入参数的个数,n i为序为n的输入数据的第i+1个输入系数,N为正整数,L为非1的正整数,i为自然数,0≤i<L,0≤n<N。
Optionally, determining each input coefficient of the input data whose order is 1 according to the prime factorization algorithm and the number of sampling points includes: calculating a first decomposition formula for determining the number of sampling points:
Figure PCTCN2022073622-appb-000001
Traverse the range of possible values of each input coefficient to calculate each input coefficient of the input data whose order is 1; wherein, N is the number of sampling points, n is the order of the input data, and a i is the ith of the sampling point number +1 input parameters, L is the number of input parameters, n i is the i+1 th input coefficient of the input data in sequence n, N is a positive integer, L is a positive integer other than 1, and i is a natural number , 0≤i<L, 0≤n<N.
可选的,根据序为n-1的输入数据的各个输入系数计算得到序为n的输入数据的各个输入系数包括:计算确定所述序为n-1的输入数据的第i+1个输入系数与第i+1个第一预设系数之和,记为序为n的输入数据的第i+1个第一系数和;如果i=L-1,将序为n的输入数据的第L个第一系数和作为序为n的输入数据的第L个中间系数,如果i<L-1,根据序为n的输入数据的第i+1个第一系数和以及序为n的输入数据的第i+2个中间系数是否满足第一进位条件,确定序为n的输入数据的第i+1个中间系数;判断所述序为n的输入数据的第i+1个中间系数是否小于第i+1个输入系数的可取值个数,如果是,则将所述序为n的输入数据的第i+1个中间系数作为序为n的输入数据的第i+1个输入系数,否则,计算序为n的输入数据的第i+1个中间系数对所述第i+1个输入系数的可取值个数取模的结果,并将取模的结果作为序为n的输入数据的第i+1个输入系数。Optionally, calculating and obtaining each input coefficient of the input data in the order of n according to the input coefficients of the input data in the order of n-1 includes: calculating and determining the i+1 th input of the input data in the order of n-1. The sum of the coefficient and the i+1th first preset coefficient is denoted as the i+1th first coefficient sum of the input data in sequence n; if i=L-1, the sum of the i+1th first coefficient in the input data in sequence n L first coefficients and the Lth intermediate coefficient as the input data of order n, if i<L-1, according to the sum of the i+1th first coefficient of the input data of order n and the input of order n Whether the i+2 th intermediate coefficient of the data satisfies the first carry condition, determine the i+1 th intermediate coefficient of the input data in the sequence n; determine whether the i+1 th intermediate coefficient of the input data in the sequence n is The number of possible values less than the i+1th input coefficient, if yes, the i+1th intermediate coefficient of the input data in sequence n is taken as the i+1th input of the input data in sequence n coefficient, otherwise, calculate the result of taking the modulo of the i+1-th intermediate coefficient of the input data with the order of n to the number of possible values of the i+1-th input coefficient, and take the result of the modulo as the order of n The i+1th input coefficient of the input data of .
可选的,所述第i+1个第一预设系数为所述序为1的输入数据的 第i+1个输入系数。Optionally, the i+1 th first preset coefficient is the i+1 th input coefficient of the input data whose order is 1.
可选的,根据序为n的输入数据的第i+1个第一系数和以及序为n的输入数据的第i+2个中间系数是否满足第一进位条件,确定序为n的输入数据的第i+1个中间系数包括:如果所述序为n的输入数据的第i+2个中间系数不满足所述第一进位条件,则将所述序为n的输入数据的第i+1个第一系数和作为所述序为n的输入数据的第i+1个中间系数,否则,将所述序为n的输入数据的第i+1个第一系数和加1后作为所述序为n的输入数据的第i+1个中间系数。Optionally, according to whether the i+1 th first coefficient of the input data in the sequence n and the i+2 intermediate coefficient of the input data in the sequence n satisfy the first carry condition, determine the input data in the sequence n. The i+1 th intermediate coefficient of , includes: if the i+2 th intermediate coefficient of the input data in the sequence n does not satisfy the first carry condition, then the i+ th intermediate coefficient of the input data in the sequence n 1 first coefficient and the i+1 th intermediate coefficient of the input data in the sequence n; otherwise, add 1 to the i+1 first coefficient sum of the input data in the sequence n as the The i+1-th intermediate coefficient of the input data with the predicate order n.
可选的,所述序为n的输入数据的第i+2个中间系数不满足所述第一进位条件包括:所述序为n的输入数据的第i+2个第一系数和大于等于所述第i+2个输入系数的可取值个数,或者,第i+1个输入参数与所述第i+2个输入参数互素。Optionally, the i+2 th intermediate coefficient of the input data in sequence n does not satisfy the first carry condition includes: the sum of the i+2 th first coefficient of the input data in sequence n is greater than or equal to The number of possible values of the i+2 th input coefficient, or, the i+1 th input parameter and the i+2 th input parameter are relatively prime.
可选的,当i<L-1时,采用下述公式根据序为n的输入数据的第i+1个第一系数和以及序为n的输入数据的第i+2个中间系数是否满足第一进位条件,确定序为n的输入数据的第i+1个中间系数:Optionally, when i<L-1, use the following formula according to whether the i+1 th first coefficient of the input data in the sequence n and the i+2 th intermediate coefficient of the input data in the sequence n satisfy: The first carry condition determines the i+1 intermediate coefficient of the input data of order n:
n i_nxt=n i+coefin i+(((ceil i[2],ceil i[0])==(ceil i+1[2],ceil i+1[0]))&(n i+1_nxt>ceil i+1)) n i_nxt =n i +coefin i +(((ceil i [2],ceil i [0])==(ceil i+1 [2],ceil i+1 [0]))&(n i+1_nxt >ceil i+1 ))
其中,n i_nxt为所述序为n的输入数据的第i+1个中间系数,n i为所述序为n-1的输入数据的第i+1个输入系数,coefin i为所述第i+1个第一预设系数,ceil i为第i+1个参考系数,所述第i+1个参考系数为第i+1个输入系数的可取值个数减1后的值,n i+1_nxt为所述序为n的输入数据的第i+2个中间系数。 Wherein, n i_nxt is the i+1 th intermediate coefficient of the input data in the sequence n, n i is the i+1 th input coefficient in the input data in the sequence n-1, and coefin i is the i+1 th input coefficient of the input data in the sequence n-1. i+1 first preset coefficients, ceil i is the i+1th reference coefficient, and the i+1th reference coefficient is the value obtained by subtracting 1 from the number of possible values of the i+1th input coefficient, n i+1_nxt is the i+2 th intermediate coefficient of the input data in sequence n.
可选的,基于素因子分解算法确定序为1的输入数据的各个输入系数之前,所述方法还包括:确定序为0的输入数据的各个输入系数。Optionally, before determining each input coefficient of the input data with order 1 based on the prime factorization algorithm, the method further includes: determining each input coefficient of the input data with order 0.
可选的,输入数据的存储地址包括存储块标识和相对存储地址,采用下列公式计算确定序为n的输入数据的存储地址:Optionally, the storage address of the input data includes a storage block identifier and a relative storage address, and the following formula is used to calculate the storage address of the input data with a certain sequence of n:
Figure PCTCN2022073622-appb-000002
Figure PCTCN2022073622-appb-000002
其中,bank_sel为所述存储块标识,bank_addr为所述相对存储地址,ci和di分别为第一调节参数和第二调节参数,其中,M为所述存储块的个数。Wherein, bank_sel is the storage block identifier, bank_addr is the relative storage address, ci and di are the first adjustment parameter and the second adjustment parameter, respectively, wherein M is the number of the storage blocks.
可选的,所述方法还包括:分别将各个输入系数的可取值个数作为小点数基对所述存储器中的输入数据进行多轮离散傅里叶变换。Optionally, the method further includes: performing multiple rounds of discrete Fourier transform on the input data in the memory using the number of possible values of each input coefficient as a small point basis.
可选的,分别将各个输入系数的可取值个数作为小点数基对所述存储器中的输入数据进行多轮离散傅里叶变换包括:在每轮运算中,根据所述小点数基在所述存储器中读取对应数量的数据进行小点数基离散傅里叶变换以得到计算结果;将每轮运算中的计算结果写回该轮运算中读取的数据所存储的存储地址。Optionally, performing multiple rounds of discrete Fourier transform on the input data in the memory by using the number of possible values of each input coefficient as the small point basis respectively includes: in each round of operation, according to the small point basis in A corresponding amount of data is read from the memory to perform discrete Fourier transform on a small point basis to obtain a calculation result; the calculation result in each round of operation is written back to the storage address where the data read in the round of operation is stored.
可选的,所述方法还包括:根据所述素因子分解算法和所述采样点数确定序为1的输出数据的各个输出系数;自k=2起,依次根据序为k-1的输出数据的各个输出系数计算得到序为k的输出数据的各个输出系数;每当确定所述序为k的输出数据的各个输出系数,计算确定所述序为k的输出数据的存储地址并读出该存储地址中存储的数据,以得到所述输出数据。Optionally, the method further includes: determining each output coefficient of the output data in the order of 1 according to the prime factorization algorithm and the number of sampling points; starting from k=2, sequentially according to the output data in the order of k-1. The respective output coefficients of the sequence k are calculated to obtain the respective output coefficients of the output data in the sequence k; whenever the respective output coefficients of the output data in the sequence k are determined, the storage address of the output data in the sequence k is calculated and read out. Store the data stored in the address to obtain the output data.
可选的,根据所述素因子分解算法和所述采样点数确定序为1的输出数据的各个输出系数包括:计算确定所述采样点数的第二分解式:
Figure PCTCN2022073622-appb-000003
遍历各个输出系数的可取值范围计算确定序为1的输出数据的各个输出系数;其中,k为所述输出数据的序,b i为所述采样点数的第i+1个输出参数,k i为序为k的输出数据的第i+1个输出系数,0≤k<N。
Optionally, determining each output coefficient of the output data whose order is 1 according to the prime factorization algorithm and the number of sampling points includes: calculating a second decomposition formula for determining the number of sampling points:
Figure PCTCN2022073622-appb-000003
Traverse the range of possible values of each output coefficient to calculate each output coefficient of the output data whose order is 1; wherein, k is the order of the output data, b i is the i+1 th output parameter of the number of sampling points, k i is the i+1 th output coefficient of the output data in order k, 0≤k<N.
可选的,根据序为k-1的输出数据的各个输出系数计算得到序为k的输出数据的各个输出系数包括:计算确定所述序为k-1的输出数据的第i+1个输出系数与第i+1个第二预设系数之和,记为所述序为k的输出数据的第i+1个第二系数和;如果i=L-1,将所述序为k的输出数据的第L个第二系数和作为所述序为k的输出数据的第L个中 间系数,如果i<L-1,根据所述序为k的输出数据的第i+1个第二系数和以及所述序为k的输出数据的第i+2个中间系数是否满足第二进位条件,确定所述序为k的输出数据的第i+1个中间系数;判断所述序为k的输出数据的第i+1个中间系数是否小于第i+1个输出系数的可取值个数,如果是,则将所述序为k的输出数据的第i+1个中间系数作为所述序为k的输出数据的第i+1个输出系数,否则,计算所述序为k的输出数据的第i+1个中间系数对所述第i+1个输出系数的可取值个数取模的结果,并将取模的结果作为所述序为k的输出数据的第i+1个输出系数。Optionally, calculating and obtaining each output coefficient of the output data in the sequence k according to each output coefficient of the output data in the sequence k-1 includes: calculating and determining the i+1 th output of the output data in the sequence k-1. The sum of the coefficient and the i+1 th second preset coefficient is denoted as the i+1 th second coefficient sum of the output data in the order k; if i=L-1, the The Lth second coefficient of the output data and the Lth intermediate coefficient of the output data in the order k, if i<L-1, according to the i+1th second coefficient of the output data in the order k Whether the coefficient sum and the i+2 th intermediate coefficient of the output data in sequence k satisfy the second carry condition, determine the i+1 th intermediate coefficient in the output data in sequence k; determine that the sequence is k Whether the i+1-th intermediate coefficient of the output data is less than the number of possible values of the i+1-th output coefficient; The i+1th output coefficient of the output data whose sequence is k, otherwise, calculate the possible values of the i+1th intermediate coefficient of the output data whose sequence is k to the i+1th output coefficient. The result of taking the modulo is calculated, and the result of taking the modulo is taken as the i+1 th output coefficient of the output data in the sequence k.
本发明实施例还提供一种数据存储装置,所述装置包括:第一确定模块,用于确定离散傅里叶变换的采样点数,并根据素因子分解算法和所述采样点数确定序为1的输入数据的各个输入系数;第一计算模块,用于自n=2起,依次根据序为n-1的输入数据的各个输入系数计算得到序为n的输入数据的各个输入系数;输入模块,用于每当确定所述序为n的输入数据的各个输入系数,获取所述序为n的输入数据,并根据所述序为n的输入数据的各个输入系数计算确定所述序为n的输入数据的存储地址,然后将所述序为n的输入数据写入存储器的该存储地址中。An embodiment of the present invention further provides a data storage device, the device includes: a first determination module, configured to determine the number of sampling points of the discrete Fourier transform, and determine the number of sampling points with an order of 1 according to a prime factorization algorithm and the number of sampling points each input coefficient of the input data; the first calculation module is used to obtain each input coefficient of the input data in the sequence n according to each input coefficient of the input data in the sequence n-1 in turn from n=2; the input module, It is used to obtain the input data of the sequence n whenever the input coefficients of the input data of the sequence n are determined, and calculate and determine the input data of the sequence n of the input data according to the input coefficients of the input data of the sequence n. The storage address of the data is input, and then the input data in sequence n is written into the storage address of the memory.
本发明实施例还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述数据存储方法的步骤。An embodiment of the present invention further provides a storage medium on which a computer program is stored, and the computer program executes the steps of the above data storage method when the computer program is run by a processor.
本发明实施例还提供一种用户设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述数据存储方法的步骤。An embodiment of the present invention further provides a user equipment, including a memory and a processor, the memory stores a computer program that can run on the processor, and the processor executes the above data storage method when the computer program runs A step of.
本发明实施例还提供一种网络侧设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述数据存储方法的步骤。An embodiment of the present invention further provides a network-side device, including a memory and a processor, the memory stores a computer program that can run on the processor, and the processor executes the above-mentioned data storage when running the computer program steps of the method.
与现有技术相比,本发明实施例的技术方案具有以下有益效果:Compared with the prior art, the technical solutions of the embodiments of the present invention have the following beneficial effects:
在本发明实施例的方案中,确定序为1的输入数据的各个输入系数后,可以依次根据序为n-1的输入数据的各个输入系数计算得到序为n的输入数据的各个输入系数,然后根据各个输入数据的输入系数可以确定该输入数据的存储地址,也即,本发明实施例的方案中可以根据上一个输入的输入数据的输入系数快速地确定下一个输入的输入数据的输入系数,由于每个输入数据的存储地址是根据该输入数据的输入系数计算得到的,因此可以降低确定每个输入数据的存储地址的计算时间,从而提高了输入数据的存储效率。In the solution of the embodiment of the present invention, after each input coefficient of the input data in the sequence 1 is determined, each input coefficient of the input data in the sequence n can be obtained by calculating sequentially according to each input coefficient of the input data in the sequence n-1, Then, the storage address of the input data can be determined according to the input coefficient of each input data, that is, in the solution of the embodiment of the present invention, the input coefficient of the next input input data can be quickly determined according to the input coefficient of the previous input data. , since the storage address of each input data is calculated according to the input coefficient of the input data, the calculation time for determining the storage address of each input data can be reduced, thereby improving the storage efficiency of the input data.
进一步地,本发明实施例的方案中,确定序为1的输出数据的输出系数后,可以依次根据序为k-1的输出数据的各个输出系数计算得到序为k的输出数据的各个输出系数,然后根据各个输出数据的输出系数可以计算得到输出数据的存储地址,也即,本发明实施例的方案中可以根据上一个输出的输出数据的输出系数快速地确定下一个输出的输出数据的输出系数,由于每个输出数据的存储地址是根据该输出数据的输出系数计算得到的,因此可以降低确定每个输出数据的存储地址的计算时间,从而可以提高读取存储器中所要输出的数据的效率。Further, in the solution of the embodiment of the present invention, after determining the output coefficients of the output data in the order of 1, each output coefficient of the output data in the order of k can be calculated according to the output coefficients of the output data in the order of k-1 in turn to obtain the output coefficients of the output data in the order of k. , and then the storage address of the output data can be calculated according to the output coefficient of each output data, that is, in the solution of the embodiment of the present invention, the output of the output data of the next output can be quickly determined according to the output coefficient of the output data of the previous output. Since the storage address of each output data is calculated according to the output coefficient of the output data, the calculation time for determining the storage address of each output data can be reduced, thereby improving the efficiency of reading the data to be output in the memory .
附图说明Description of drawings
图1是本发明实施例中一种数据存储方法的流程示意图。FIG. 1 is a schematic flowchart of a data storage method in an embodiment of the present invention.
图2是图1中步骤S102的一种具体实施方式的流程示意图。FIG. 2 is a schematic flowchart of a specific implementation manner of step S102 in FIG. 1 .
图3是本发明实施例中另一种数据存储方法的流程示意图。FIG. 3 is a schematic flowchart of another data storage method in an embodiment of the present invention.
图4是本发明实施例中一种数据存储装置的结构示意图。FIG. 4 is a schematic structural diagram of a data storage device in an embodiment of the present invention.
具体实施方式Detailed ways
如背景技术所述,亟需一种数据存储方法,能够提高输入数据的存储效率。As described in the background art, there is an urgent need for a data storage method that can improve the storage efficiency of input data.
为了解决上述技术问题,本发明实施例的方案中,确定序为1的输入数据的各个输入系数后,可以依次根据序为n-1的输入数据的各个输入系数计算得到序为n的输入数据的各个输入系数,然后根据各个输入数据的输入系数可以确定该输入数据的存储地址,也即,本发明实施例的方案中可以根据上一个输入的输入数据的输入系数快速地确定下一个输入的输入数据的输入系数,由于每个输入数据的存储地址是根据该输入数据的输入系数计算得到的,因此可以降低确定每个输入数据的存储地址的计算时间,从而提高了输入数据的存储效率。In order to solve the above technical problem, in the solution of the embodiment of the present invention, after each input coefficient of the input data in the order of 1 is determined, the input data in the order of n can be calculated according to each input coefficient of the input data in the order of n-1 in turn to obtain the input data in the order of n each input coefficient, and then the storage address of the input data can be determined according to the input coefficient of each input data, that is, in the solution of the embodiment of the present invention, the input coefficient of the previous input data can be quickly determined. For the input coefficient of input data, since the storage address of each input data is calculated according to the input coefficient of the input data, the calculation time for determining the storage address of each input data can be reduced, thereby improving the storage efficiency of the input data.
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。In order to make the above objects, features and beneficial effects of the present invention more clearly understood, specific embodiments of the present invention will be described in detail below with reference to the accompanying drawings.
图1是本发明实施例中一种数据存储方法的流程示意图。所述方法可以由终端执行,所述终端可以是各种恰当的终端,例如,可以是用户设备(User Equipment,UE),如手机等,还可以是网络侧设备,如基站等,但并不限于此。FIG. 1 is a schematic flowchart of a data storage method in an embodiment of the present invention. The method may be performed by a terminal, and the terminal may be various appropriate terminals, for example, may be a user equipment (User Equipment, UE), such as a mobile phone, etc., or a network side device, such as a base station, etc., but not limited to this.
图1所示的数据存储方法具体可以包括如下步骤:The data storage method shown in FIG. 1 may specifically include the following steps:
步骤S101:确定离散傅里叶变换的采样点数,并根据素因子分解算法和采样点数确定序为1的输入数据的各个输入系数;Step S101: Determine the number of sampling points of the discrete Fourier transform, and determine each input coefficient of the input data with an order of 1 according to the prime factorization algorithm and the number of sampling points;
步骤S102:自n=2起,依次根据序为n-1的输入数据的各个输入系数计算得到序为n的输入数据的各个输入系数;Step S102: starting from n=2, successively obtain each input coefficient of the input data in the sequence n according to each input coefficient of the input data in the sequence n-1;
步骤S103:每当确定序为n的输入数据的各个输入系数,获取序为n的输入数据,并根据序为n的输入数据的各个输入系数计算确定序为n的输入数据的存储地址,然后将序为n的输入数据写入存储器的该存储地址中。Step S103: Whenever each input coefficient of the input data in the sequence n is determined, obtain the input data in the sequence n, and calculate the storage address of the input data in the sequence n according to each input coefficient of the input data in the sequence n, and then Write the input data of sequence n into this memory address of the memory.
在步骤S101的具体实施中,确定离散傅里叶变换的采样点数N,并根据素因子分解算法和采样点数确定序为1的输入数据的各个输入系数。In the specific implementation of step S101, the number of sampling points N of the discrete Fourier transform is determined, and each input coefficient of the input data with the order of 1 is determined according to the prime factorization algorithm and the number of sampling points.
具体而言,当终端在通信时,获取到需要发送的时域信号后,需要进行离散傅里叶变换,将时域信号调制到频域进行扩展,然后再经过快速傅里叶逆变换来得到发送的信号。当获取到需要发送的时域信号时,终端可以一并获取到离散傅里叶变换的点数,然后根据离散傅里叶变换的点数对时域信号进行采样,以得到多个输入数据(也即,采样点数据)。Specifically, when the terminal is in communication, after obtaining the time domain signal to be sent, it needs to perform discrete Fourier transform, modulate the time domain signal to the frequency domain for expansion, and then go through inverse fast Fourier transform to obtain signal sent. When the time-domain signal to be sent is obtained, the terminal can also obtain the discrete Fourier transform points, and then sample the time-domain signal according to the discrete Fourier transform points to obtain multiple input data (that is, , sampling point data).
本领域技术人员应当理解,离散傅里叶变换可以通过如下公式表示:Those skilled in the art should understand that the discrete Fourier transform can be represented by the following formula:
Figure PCTCN2022073622-appb-000004
Figure PCTCN2022073622-appb-000004
其中,N为采样点数,n和k均为在0至N-1之间取值的自然数,x(n)为离散傅里叶变换的输入数据,X(k)为离散傅里叶变换的输出数据,n为输入数据的序,k为输出数据的序。Among them, N is the number of sampling points, n and k are natural numbers ranging from 0 to N-1, x(n) is the input data of the discrete Fourier transform, and X(k) is the discrete Fourier transform. Output data, n is the order of the input data, k is the order of the output data.
需要说明的是,本发明实施例中序为n的输入数据是指第n+1个输入数据,例如,序为0的输入数据是指写入存储器的第1个输入数据,序为1的输入数据是指写入存储器的第2个输入数据。同理,本发明实施例中序为k的输出数据是指第k+1个输出数据,例如,序为0的输出数据是指从存储器读出的第1个数据,也即,读出第1个输出数据,序为1的输出数据是指从存储器读出的第2个数据,也即,读出第2个输出数据。It should be noted that the input data with the sequence n in the embodiment of the present invention refers to the n+1 th input data. For example, the input data with the sequence 0 refers to the first input data written into the memory, and the input data with the sequence 1 refers to the first input data written into the memory. Input data refers to the second input data written to the memory. Similarly, the output data whose sequence is k in the embodiment of the present invention refers to the k+1 th output data. For example, the output data whose sequence is 0 refers to the first data read out from the memory, that is, the first data read out from the memory. One output data, the output data with sequence 1 refers to the second data read from the memory, that is, the second output data is read.
在本发明的一个非限制性实施例中,所述离散傅里叶变化的点数为非2的指数次幂。具体而言,5G NR标准的DFT-S-OFDM技术中离散傅里叶变换的点数具有多种,包括:12、24、36、48、60、72、96、108、120、144、180、192、216、240、288、300、324、360、384、432、480、540、576、600、648、720、768、864、900、960、972、1080、1152、1200、1296、1440、1500、1536、1620、1728、1800、1920、1944、2160、2304、2400、2592、2700、2880、2916, 3000、3072、3240。需要说明的是,本发明实施例的采样点数N可以是其他任意可实施的数值,并不限于上述数值,本发明实施例对此不作限制。In a non-limiting embodiment of the present invention, the number of points of the discrete Fourier transform is an exponential power other than 2. Specifically, the DFT-S-OFDM technology of the 5G NR standard has a variety of discrete Fourier transform points, including: 12, 24, 36, 48, 60, 72, 96, 108, 120, 144, 180, 192, 216, 240, 288, 300, 324, 360, 384, 432, 480, 540, 576, 600, 648, 720, 768, 864, 900, 960, 972, 1080, 1152, 1200, 1296, 1440, 1500, 1536, 1620, 1728, 1800, 1920, 1944, 2160, 2304, 2400, 2592, 2700, 2880, 2916, 3000, 3072, 3240. It should be noted that the number N of sampling points in the embodiment of the present invention may be any other value that can be implemented, and is not limited to the above-mentioned value, which is not limited in the embodiment of the present invention.
进一步地,终端可以根据素因子分解算法和所述采样点数确定序为1的输入数据的各个输入系数。Further, the terminal may determine each input coefficient of the input data with the order of 1 according to the prime factorization algorithm and the number of sampling points.
具体而言,根据素因子分解算法对采样点数N进行分解,采样点数N被可以分解为互素的二个数,即N=N 1×N 2,其中,N1和N2互素。此时,输入数据的序n可以被表示为: Specifically, the number of sampling points N is decomposed according to the prime factorization algorithm, and the number of sampling points N can be decomposed into two mutually prime numbers, namely N=N 1 ×N 2 , where N1 and N2 are mutually prime. At this point, the sequence n of the input data can be expressed as:
Figure PCTCN2022073622-appb-000005
Figure PCTCN2022073622-appb-000005
其中,N 1和N 2中的至少一个仍可以继续分解,直至采样点数被分解后得到的因子仅包括5、3、4、2。此时,获得采样点数的第一分解式: Wherein, at least one of N 1 and N 2 can continue to be decomposed until the factor obtained after the number of sampling points is decomposed only includes 5, 3, 4, and 2. At this point, the first decomposition formula of the number of sampling points is obtained:
Figure PCTCN2022073622-appb-000006
Figure PCTCN2022073622-appb-000006
其中,N为所述采样点数,n为所述输入数据的序,a i为所述采样点数的第i+1个输入参数,L为所述输入参数的个数,n i为序为n的输入数据的第i+1个输入系数,N为正整数,L为非1的正整数,i为自然数,0≤i<L,0≤n<N。 Wherein, N is the number of sampling points, n is the sequence of the input data, a i is the i+1th input parameter of the number of sampling points, L is the number of the input parameters, n i is the sequence of n The i+1th input coefficient of the input data of , N is a positive integer, L is a positive integer other than 1, i is a natural number, 0≤i<L, 0≤n<N.
需要说明的是,根据素因子分解算法和采样点数得到第一分解式后,每个输入数据的序n均满足第一分解式,各个输入参数是在分解过程中得到的。此时,可以求解出序为n的输入数据的各个输入系数,也即求解出n 0到n L-1的值。 It should be noted that, after the first decomposition formula is obtained according to the prime factorization algorithm and the number of sampling points, the sequence n of each input data satisfies the first decomposition formula, and each input parameter is obtained during the decomposition process. At this time, each input coefficient of the input data of order n can be solved, that is, the values of n 0 to n L-1 can be solved.
还需要说明的是,采样点数可以被分解为多个因子,输入系数n 0到n L-1分别为所分解的各因子的索引。输入系数n 0到n L-1的取值范围分别与对应因子的数值相关,也即,输入系数n i对应的因子为X,则n i的取值范围为0至X-1之间的自然数,n i的取值个数为X个。此外,输入参数的个数与采样点数N分解后的因子个数相同。 It should also be noted that the number of sampling points can be decomposed into multiple factors, and the input coefficients n 0 to n L-1 are the indices of the decomposed factors, respectively. The value range of the input coefficient n 0 to n L-1 is respectively related to the value of the corresponding factor, that is, if the factor corresponding to the input coefficient n i is X, the value range of n i is between 0 and X-1. Natural numbers, the number of values of n i is X. In addition, the number of input parameters is the same as the number of factors decomposed by the number of sampling points N.
在本发明的一个非限制性实施例中,采用素因子分解算法分解采样点数以得到第一分解式时,可以按照因子5、3、4、2的先后顺序进行分解,以使得分解的步骤简化而有效。In a non-limiting embodiment of the present invention, when using the prime factorization algorithm to decompose the sampling points to obtain the first decomposition formula, the decomposition may be performed in the order of factors 5, 3, 4, and 2, so as to simplify the decomposition steps and effective.
下面以采样点数N为3240为例,说明根据素因子分解算法对采样点数N进行分解,以得到采样点数N的第一分解式的过程。The following describes the process of decomposing the number of sampling points N according to the prime factorization algorithm to obtain the first decomposition formula of the number of sampling points N by taking the sampling point number N as 3240 as an example.
当N=3240时,3240可以被分解为互素的5和648,此时输入数据的序n可以被表示为:When N=3240, 3240 can be decomposed into co-prime 5 and 648, and the order n of the input data can be expressed as:
Figure PCTCN2022073622-appb-000007
Figure PCTCN2022073622-appb-000007
符号
Figure PCTCN2022073622-appb-000008
表示n 1是可以被继续分解的,由于648=81×8,
Figure PCTCN2022073622-appb-000009
可以进一步被表示为:
symbol
Figure PCTCN2022073622-appb-000008
Indicates that n 1 can be decomposed continuously, since 648=81×8,
Figure PCTCN2022073622-appb-000009
can be further expressed as:
Figure PCTCN2022073622-appb-000010
Figure PCTCN2022073622-appb-000010
由于81=3×3×3×3;8=2×2×2,因此
Figure PCTCN2022073622-appb-000011
Figure PCTCN2022073622-appb-000012
可以进一步表示为:
Since 81=3×3×3×3; 8=2×2×2, so
Figure PCTCN2022073622-appb-000011
and
Figure PCTCN2022073622-appb-000012
It can be further expressed as:
Figure PCTCN2022073622-appb-000013
Figure PCTCN2022073622-appb-000013
Figure PCTCN2022073622-appb-000014
Figure PCTCN2022073622-appb-000014
将公式(5)、公式(6)、公式(7)均代入公式(4),可以得到:Substituting formula (5), formula (6), and formula (7) into formula (4), we can get:
Figure PCTCN2022073622-appb-000015
Figure PCTCN2022073622-appb-000015
其中,由于在分解过程中依次分解出3240的因子为5,3,3,3,4,2,也即,3240=5×3×3×3×3×4×2,因此,n 0的可取值个数为5,n 0的取值范围为{0,1,2,3,4};n 1的可取值个数为3,n 1的取值范围为{0,1,2};n 2的可取值个数为3,n 2的取值范围为{0,1,2};n 3的可取值个数为3,n 3的取值范围为{0,1,2};n 4的可取值个数为3,n 4的取值范围为{0,1,2};n 4的可取值个数为3,n 3的取值范围为{0, 1,2};n 5的可取值个数为4,n 5的取值范围为{0,1,2,3};n 6的可取值个数为2,n 6的取值范围为{0,1}。 Among them, since the factors of 3240 decomposed in turn in the decomposition process are 5, 3, 3, 3, 4, 2, that is, 3240=5×3×3×3×3×4×2, therefore, n 0 The number of possible values is 5, and the value range of n 0 is {0, 1, 2, 3, 4}; the number of possible values of n 1 is 3, and the value range of n 1 is {0, 1, 2}; the number of possible values for n 2 is 3, and the range of values for n 2 is {0, 1, 2}; the number of possible values for n 3 is 3, and the range of values for n 3 is {0, 1, 2}; the number of possible values for n 4 is 3, and the range of values for n 4 is {0, 1, 2}; the number of possible values for n 4 is 3, and the range of values for n 3 is { 0, 1, 2}; the number of possible values for n 5 is 4, and the range of values for n 5 is {0, 1, 2, 3}; the number of possible values for n 6 is 2, and the number of possible values for n 6 The value range is {0, 1}.
进一步地,可以遍历各个输入系数的可取值范围确定序为1的输入数据的各个输入系数。例如,采样点数为3240时,根据n 0至n 6的各自的取值范围确定n 0至n 6的取值,以使n 0至n 6的取值满足: Further, each input coefficient of the input data whose order is 1 may be determined by traversing the possible value ranges of each input coefficient. For example, when the number of sampling points is 3240, the values of n 0 to n 6 are determined according to the respective value ranges of n 0 to n 6 , so that the values of n 0 to n 6 satisfy:
1=(648n 0+1080n 1+360n 2+120n 3+40n 4+810n 5+405n 6)mod 3240     (9) 1 = (648n 0 +1080n 1 +360n 2 +120n 3 +40n 4 +810n 5 +405n 6 )mod 3240 (9)
然后通过遍历可以得到,采样点数为3240时,序为1的输入数据的输入系数n 0至n 6的取值分别为2,2,2,2,1,2,1。 Then, it can be obtained through traversal that when the number of sampling points is 3240, the values of the input coefficients n 0 to n 6 of the input data whose sequence is 1 are 2, 2, 2, 2, 1, 2, and 1, respectively.
需要说明的是,在确定序为1的输入数据的各个输入系数之前,还可以先确定序为0的输入数据的各个输入系数。例如,可以直接将序为0的输入数据的各个输入系数赋值为0。It should be noted that, before each input coefficient of the input data with the order of 1 is determined, each of the input coefficients of the input data with the order of 0 may also be determined first. For example, each input coefficient of the input data whose order is 0 can be directly assigned as 0.
由此,可以依次确定序为0的输入数据(也即,第1个输入数据)的各个输入系数和序为1的输入数据(也即,第2个输入数据)的各个输入系数。Thereby, each input coefficient of the input data with the order 0 (ie, the first input data) and each input coefficient of the input data with the order 1 (ie, the second input data) can be sequentially determined.
在步骤S102的具体实施中,当n>1时,可以依次根据序为n-1的输入数据的各个输入系数计算得到序为n的输入数据的各个输入系数。本发明实施例中可以在时钟的每个上升沿更新下一个输入数据的各个输入系数。In the specific implementation of step S102, when n>1, each input coefficient of the input data in the sequence n may be calculated according to each input coefficient of the input data in the sequence n-1 in sequence. In this embodiment of the present invention, each input coefficient of the next input data may be updated at each rising edge of the clock.
图2示出了步骤S102的一种具体实施方式的流程示意图。图2示出的步骤S102具体可以包括如下步骤:FIG. 2 shows a schematic flowchart of a specific implementation manner of step S102. Step S102 shown in FIG. 2 may specifically include the following steps:
步骤S201:计算确定所述序为n-1的输入数据的第i+1个输入系数与第i+1个第一预设系数之和,记为所述序为n的输入数据的第i+1个第一系数和;Step S201: Calculate and determine the sum of the i+1 th input coefficient and the i+1 th first preset coefficient of the input data in the sequence n-1, denoted as the i th input data in the sequence n +1 first coefficient sum;
步骤S202:如果i=L-1,将所述序为n的输入数据的第L个第一系数和作为所述序为n的输入数据的第L个中间系数,如果i<L-1,根据所述序为n的输入数据的第i+1个第一系数和以及所述序为n的 输入数据的第i+2个中间系数是否满足第一进位条件,确定所述序为n的输入数据的第i+1个中间系数;Step S202: If i=L-1, take the Lth first coefficient of the input data in the sequence n and the Lth intermediate coefficient of the input data in the sequence n, if i<L-1, According to whether the i+1 th first coefficient of the input data in the sequence n and the i+2 intermediate coefficient of the input data in the sequence n satisfy the first carry condition, it is determined that the the i+1 intermediate coefficient of the input data;
步骤S203:判断所述序为n的输入数据的第i+1个中间系数是否小于第i+1个输入系数的可取值个数,如果是,则将所述序为n的输入数据的第i+1个中间系数作为所述序为n的输入数据的第i+1个输入系数,否则,计算所述序为n的输入数据的第i+1个中间系数对所述第i+1个输入系数的可取值个数取模的结果,并将取模的结果作为所述序为n的输入数据的第i+1个输入系数。Step S203: Determine whether the i+1-th intermediate coefficient of the input data in the sequence n is less than the number of possible values of the i+1-th input coefficient; The i+1 th intermediate coefficient is used as the i+1 th input coefficient of the input data in the order n, otherwise, the i+1 th intermediate coefficient of the input data in the order n is calculated for the i+ The result of taking the modulo of the number of possible values of one input coefficient is taken as the i+1th input coefficient of the input data in sequence n.
需要说明的是,本实施例中各个步骤的序号并不代表对各个步骤的执行顺序的限定。It should be noted that the sequence numbers of the steps in this embodiment do not represent limitations on the execution order of the steps.
在步骤S201的具体实施中,当计算得到序为n-1的各个输入系数后,可以计算确定序为n-1的输入数据的各个第一系数和,序为n-1的输入数据的第i+1个第一系数和为该输入数据的第i+1个输入系数n i与第i+1个第一预设系数之和。其中,第一预设系数与采样点数具有一一对应的关系。 In the specific implementation of step S201, after each input coefficient in the order of n-1 is obtained by calculation, the sum of each first coefficient of the input data in the order of n-1 can be calculated and the sum of the first coefficients of the input data in the order of n-1 can be calculated. The i+1 first coefficient sum is the sum of the i+1 th input coefficient n i and the i+1 th first preset coefficient of the input data. The first preset coefficient has a one-to-one correspondence with the number of sampling points.
具体而言,所述终端可以存储有多组第一预设系数,每组第一预设系数对应一种采样点数,每组第一预设系数包括多个第一预设系数,第一预设系数的数量与对应的采样点数的输入参数或者输入系数的数量相同。Specifically, the terminal may store a plurality of sets of first preset coefficients, each set of first preset coefficients corresponds to a number of sampling points, each set of first preset coefficients includes a plurality of first preset coefficients, the first preset coefficients It is assumed that the number of coefficients is the same as the number of input parameters or input coefficients corresponding to the number of sampling points.
在本发明的一个非限制性实施例中,各个第一预设系数为相同采样点数下序为1的输入数据的各个输入系数,也即,第i+1个第一预设系数为序为1的输入数据的第i+1个输入系数。以采样点数为3240为例,序为1的输入数据的各个输入系数n 0至n 6的取值分别为2,2,2,2,1,2,1,因此,采样点数为3240时,第一预设系数coefin 0至coefin 6的取值分别为2,2,2,2,1,2,1。 In a non-limiting embodiment of the present invention, each of the first preset coefficients is each input coefficient of the input data with the same sampling point number in the order of 1, that is, the i+1 th first preset coefficient is in the order of The i+1th input coefficient of the input data of 1. Taking the number of sampling points as 3240 as an example, the values of the input coefficients n 0 to n 6 of the input data in sequence 1 are 2, 2, 2, 2, 1, 2, and 1 respectively. Therefore, when the number of sampling points is 3240, The values of the first preset coefficients coefin 0 to coefin 6 are 2, 2, 2, 2, 1, 2, and 1, respectively.
在步骤S202的具体实施中,计算序为n的输入数据的各个中间系数。In the specific implementation of step S202, each intermediate coefficient of the input data in sequence n is calculated.
具体而言,首先计算序为n的输入数据的第L个中间系数,序为n的输入数据的第L个中间系数即序为n的输入数据的第L个第一系数和。此时,i=L-1。Specifically, the Lth intermediate coefficient of the input data in the sequence n is first calculated, and the Lth intermediate coefficient of the input data in the sequence n is the sum of the Lth first coefficients of the input data in the sequence n. At this time, i=L-1.
进一步地,依次计算序为n的输入数据的第L-1个中间系数至第1个中间系数,也即在i<L-1的情况下,确定各个中间系数。Further, the L-1 th intermediate coefficient to the first intermediate coefficient of the input data in sequence n are sequentially calculated, that is, in the case of i<L-1, each intermediate coefficient is determined.
具体而言,需要判断序为n的输入数据的第L个中间系数是否满足第一进位条件,如果不满足,则序为n的输入数据的第L个中间系数为序为n-1的输入数据的第L-1个输入系数和第L-1个第一预设系数之和,也即,序为n的输入数据的第L-1个中间系数为该输入数据的第L-1个第一系数和。如果满足第一进位条件,所述序为n的输入数据的第L-1个中间系数为该输入数据的第i+1个第一系数和加1的值。Specifically, it is necessary to judge whether the L-th intermediate coefficient of the input data in the sequence n satisfies the first carry condition. If not, the L-th intermediate coefficient of the input data in the sequence n is the input of the sequence n-1. The sum of the L-1 th input coefficient of the data and the L-1 th first preset coefficient, that is, the L-1 th intermediate coefficient of the input data in sequence n is the L-1 th of the input data The first coefficient sum. If the first carry condition is satisfied, the L-1 th intermediate coefficient of the input data in the sequence n is the i+1 th first coefficient of the input data and the value added by 1.
其中,序为n的输入数据的第L个中间系数不满足第一进位条件的情形可以包括:所述序为n的输入数据的第L个第一系数和大于等于所述第L个输入系数的可取值个数,或者,第一分解式中第L-1个输入参数与所述第L个输入参数互素。Wherein, the situation where the Lth intermediate coefficient of the input data in the sequence n does not satisfy the first carry condition may include: the Lth first coefficient of the input data in the sequence n is greater than or equal to the Lth input coefficient The number of possible values of , or, the L-1 th input parameter in the first decomposition formula is relatively prime to the L th input parameter.
按照上述步骤,可以依次确定序为n的输入数据的第L-2个、第L-3个、……第1个中间系数。According to the above steps, the L-2th, L-3th, ... 1st intermediate coefficients of the input data in sequence n can be sequentially determined.
需要说明的是,终端在执行步骤S201和步骤S202时,可以先执行步骤S201以计算出序为n的输入数据的各个第一系数和,然后再执行步骤S202,计算出序为n的输入数据的各个中间系数,其中,在步骤S202时,先计算第L个中间系数,再按照i递减的顺序依次计算各个中间系数。终端也可以通过步骤S201计算得到序为n的输入数据的第L个第一系数和,再执行步骤S202计算第L个中间系数,然后再返回至步骤S201,计算第L-1个第一系数和,再执行步骤S202计算第L-1个中间系数,按照i递减的顺序通过多次循环执行步骤S201和步骤S202依次得到序为n的各个中间系数。It should be noted that, when the terminal performs steps S201 and S202, it may first perform step S201 to calculate the sum of the first coefficients of the input data in the order n, and then perform step S202 to calculate the input data in the order n. Each intermediate coefficient of , wherein, in step S202, the L th intermediate coefficient is calculated first, and then the intermediate coefficients are calculated sequentially according to the decreasing order of i. The terminal can also obtain the Lth first coefficient sum of the input data sequence n by calculating in step S201, and then perform step S202 to calculate the Lth intermediate coefficient, and then return to step S201 to calculate the L-1th first coefficient. And, step S202 is executed again to calculate the L-1 th intermediate coefficient, and each intermediate coefficient in sequence n is obtained by executing steps S201 and S202 multiple times in a decreasing order of i.
在本发明的一个非限制性实施例中,当i<L-1时,可以采用下列公式计算确定序为n的输入数据的第i+1个中间系数:In a non-limiting embodiment of the present invention, when i<L-1, the following formula can be used to calculate the i+1 th intermediate coefficient of the input data with the determination sequence n:
n i_nxt=n i+coefin i+(((ceil i[2],ceil i[0])==(ceil i+1[2],ceil i+1[0]))&(n i+1_nxt>ceil i+1))        (10)其中,n i_nxt为所述序为n的输入数据的第i+1个中间系数,n i为所述序为n-1的输入数据的第i+1个输入系数,coefin i为所述第i+1个第一预设系数,ceil i为第i+1个参考系数,第i+1个参考系数为第i+1个输入系数的可取值个数减1后的值,n i+1_nxt为所述序为n的输入数据的第i+2个中间系数。需要说明的是,所述参考系数可以是预先存储在终端的,对于不同的输入数据的序,第i+1个参考系数的值是确定且相同的。采样点数不同时,参考系数可以是不同的。 n i_nxt =n i +coefin i +(((ceil i [2],ceil i [0])==(ceil i+1 [2],ceil i+1 [0]))&(n i+1_nxt >ceil i+1 )) (10) Wherein, n i_nxt is the i+1 th intermediate coefficient of the input data in the sequence n, n i is the i+1 th in the input data in the sequence n-1 input coefficients, coefin i is the i+1 th first preset coefficient, ceil i is the i+1 th reference coefficient, and the i+1 th reference coefficient is the possible value of the i+1 th input coefficient The value after subtracting 1 from the number, n i+1_nxt is the i+2 th intermediate coefficient of the input data in sequence n. It should be noted that the reference coefficient may be pre-stored in the terminal, and for different sequences of input data, the value of the i+1th reference coefficient is determined and the same. When the number of sampling points is different, the reference coefficient can be different.
具体而言,将采样点数N分解得到的各个因子的值减1得到L个参考系数ceil i,换言之,第i+1个参考系数ceil i的值也可以为第i+1个输入系数的可取值个数的值减1的值。基于素因子分解算法的理论,参考系数与输入参数具有一一对应的关系,也即,第i+1个参考系数对应于第i+1个输入参数,因此,第i+1个输入参数与所述第i+2个输入参数是否互素的判断结果可以根据第i+1个参考系数与所述第i+2个参考系数是否是互素的来确定。 Specifically, the L reference coefficients ceil i are obtained by subtracting 1 from the value of each factor obtained by decomposing the number of sampling points N. In other words, the value of the i+1 th reference coefficient ceil i may also be the possible value of the i+1 th input coefficient. The value of the number of values minus 1. Based on the theory of prime factorization algorithm, there is a one-to-one correspondence between reference coefficients and input parameters, that is, the i+1th reference coefficient corresponds to the i+1th input parameter, so the i+1th input parameter is related to the The judgment result of whether the i+2 th input parameter is co-prime may be determined according to whether the i+1 th reference coefficient and the i+2 th reference coefficient are co-prime.
相比于直接判断第i+1个输入参数和第i+2个输入参数是否是互素的而言,由于参考系数为采样点数N分解得到的各个因子的值减1,因此参考系数的数据位宽为3比特,通常远远小于输入参数的数据位宽,可以减小存储器的存储空间。Compared with directly judging whether the i+1th input parameter and the i+2th input parameter are co-prime, since the reference coefficient is the value of each factor obtained by the decomposition of the number of sampling points N minus 1, the data of the reference coefficient is The bit width is 3 bits, which is usually much smaller than the data bit width of the input parameter, which can reduce the storage space of the memory.
进一步地,当各个参考系数分别以二进制的形式存储于终端储器时,可以比较第i+1个参考系数和第i+2个参考系数的第0位和第2位的取值是否相同,以判断第i+1个参考系数与所述第i+2个参考系数是否是互素的,由于只需要比较两位数字的取值,可以减少判断所需的时间,从而减少了计算输入系数的时间。Further, when each reference coefficient is stored in the terminal storage in binary form, it is possible to compare whether the values of the 0th and 2nd positions of the i+1th reference coefficient and the i+2th reference coefficient are the same, To judge whether the i+1th reference coefficient and the i+2th reference coefficient are co-prime, because only the values of two digits need to be compared, the time required for judgment can be reduced, thereby reducing the calculation of input coefficients time.
进一步地,判断序为n的输入数据的第i+2个第一系数和是否大于等于所述第L个输入系数的可取值个数时,由于第i+2个参考系数ceil i+1的值也可以为第i+2个输入系数的可取值个数的值减1的值,因此,可以直接判断序为n的输入数据的第i+2个第一系数和是否大于第i+2个参考系数ceil i+1Further, when judging whether the sum of the i+2 th first coefficient of the input data in the order of n is greater than or equal to the number of possible values of the L th input coefficient, because the i+2 th reference coefficient ceil i+1 The value of can also be the value of the number of possible values of the i+2th input coefficient minus 1. Therefore, it can be directly judged whether the sum of the i+2th first coefficient of the input data sequence n is greater than the ith +2 reference coefficients ceil i+1 .
在步骤S203的具体实施中,分别判断序为n的输入数据的各个中间系数是否小于对应的输入系数的可取值个数。例如,判断序为n的输入数据的第3个中间系数是否小于第3个输入系数n 2的可取值个数。如上文所述,各个输入系数的可取值个数由对应的采样点数的因子确定。 In the specific implementation of step S203, it is judged whether each intermediate coefficient of the input data in sequence n is smaller than the number of possible values of the corresponding input coefficient. For example, it is determined whether the third intermediate coefficient of the input data with the sequence n is less than the number of possible values of the third input coefficient n 2 . As mentioned above, the number of possible values of each input coefficient is determined by the factor of the corresponding number of sampling points.
进一步地,如果序为n的输入数据的第i+1个中间系数小于第i+1个输入系数的可取值个数,说明第i+1个中间系数并未超出第i+1个输入系数的取值范围,可以将所述序为n的输入数据的第i+1个中间系数直接作为所述序为n的输入数据的第i+1个输入系数。否则,计算该输入数据的第i+1个中间系数对第i+1个输入系数的可取值个数取模的结果,并将取模的结果作为所述序为n的输入数据的第i+1个输入系数。Further, if the i+1-th intermediate coefficient of the input data in sequence n is less than the number of possible values of the i+1-th input coefficient, it means that the i+1-th intermediate coefficient does not exceed the i+1-th input coefficient. For the value range of the coefficients, the i+1 th intermediate coefficient of the input data in the sequence n may be directly used as the i+1 th input coefficient in the input data in the sequence n. Otherwise, calculate the result of taking the modulo of the i+1-th intermediate coefficient of the input data to the number of possible values of the i+1-th input coefficient, and use the modulo result as the input data of the sequence n. i+1 input coefficients.
由上,相比于确定每个输入数据的输入系数时,均采用在各个输入系数的取值范围内进行遍历,以得到每个输入数据的输入系数的方法而言,采用本发明实施例中的方案,可以根据上一个输入数据的序快速地计算得到下一个输入数据的输入系数。From the above, compared with the method of traversing the value range of each input coefficient to obtain the input coefficient of each input data when determining the input coefficient of each input data, the method in the embodiment of the present invention is adopted. The scheme can quickly calculate the input coefficient of the next input data according to the order of the previous input data.
下面以采样点数为3240为例描述步骤S301至步骤S303的具体步骤。The specific steps from step S301 to step S303 are described below by taking the number of sampling points as 3240 as an example.
由上文分析可知,3240的各个因子分别为5,3,3,3,3,4,2,序为1的输入数据的输入系数n 0至n 6的取值分别为2,2,2,2,1,2,1,则第一预设系数coefin 0至coefin 6的取值分别为2,2,2,2,1,2,1,参考系数ceil 0至ceil 6的取值分别为4,2,2,2,2,3,1。 It can be seen from the above analysis that the factors of 3240 are 5, 3, 3, 3, 3, 4, 2, respectively, and the input coefficients n 0 to n 6 of the input data with sequence 1 are respectively 2, 2, 2 , 2, 1, 2, 1, the values of the first preset coefficients coefin 0 to coefin 6 are respectively 2, 2, 2, 2, 1, 2, 1, and the values of the reference coefficients ceil 0 to ceil 6 are respectively as 4, 2, 2, 2, 2, 3, 1.
在计算得到序n-1的输入系数n 0至n 6的取值后,可以首先计算确定序为n的各个中间系数n 0_nxt至n 6_nxt,然后进一步确定序n-1的输入系数n 0至n 6After the values of the input coefficients n 0 to n 6 of the order n-1 are obtained by calculation, each intermediate coefficient n 0_nxt to n 6_nxt of the order n can be calculated first, and then the input coefficients n 0 to n 6_nxt of the order n-1 can be further determined. n 6 .
具体而言,可以采用下列公式依次计算得到序为n的输入数据的各个中间系数n 0_nxt至n 6_nxtSpecifically, each intermediate coefficient n 0_nxt to n 6_nxt of the input data in sequence n can be calculated in sequence by using the following formula:
n 6_nxt=n 6+coefin 6;          (11) n 6_nxt =n 6 +coefin 6 ; (11)
n 5_nxt=n 5+coefin 5+(((ceil 5[2],ceil 5[0])==(ceil 6[2],ceil 6[0]))&(n 6_nxt>ceil 6))      (12) n 5_nxt =n 5 +coefin 5 +(((ceil 5 [2],ceil 5 [0])==(ceil 6 [2],ceil 6 [0]))&(n 6_nxt >ceil 6 )) ( 12)
n 4_nxt=n 4+coefin 4+(((ceil 4[2],ceil 4[0])==(ceil 5[2],ceil 5[0]))&(n 5_nxt>ceil 5))        (13) n 4_nxt =n 4 +coefin 4 +(((ceil 4 [2],ceil 4 [0])==(ceil 5 [2],ceil 5 [0]))&(n 5_nxt >ceil 5 )) ( 13)
n 3_nxt=n 3+coefin 3+(((ceil 3[2],ceil 3[0])==(ceil 4[2],ceil 4[0]))&(n 4_nxt>ceil 4))      (14) n 3_nxt =n 3 +coefin 3 +(((ceil 3 [2],ceil 3 [0])==(ceil 4 [2],ceil 4 [0]))&(n 4_nxt >ceil 4 )) ( 14)
n 2_nxt=n 2+coefin 2+(((ceil 2[2],ceil 2[0])==(ceil 3[2],ceil 3[0]))&(n 3_nxt>ceil 3))     (15) n 2_nxt =n 2 +coefin 2 +(((ceil 2 [2],ceil 2 [0])==(ceil 3 [2],ceil 3 [0]))&(n 3_nxt >ceil 3 )) ( 15)
n 1_nxt=n 1+coefin 1+(((ceil 1[2],ceil 1[0])==(ceil 2[2],ceil 2[0]))&(n 2_nxt>ceil 2))      (16) n 1_nxt =n 1 +coefin 1 +(((ceil 1 [2],ceil 1 [0])==(ceil 2 [2],ceil 2 [0]))&(n 2_nxt >ceil 2 )) ( 16)
n 0_nxt=n 0+coefin 0+(((ceil 0[2],ceil 0[0])==(ceil 1[2],ceil 1[0]))&(n 1_nxt>ceil 1))      (17) n 0_nxt =n 0 +coefin 0 +(((ceil 0 [2],ceil 0 [0])==(ceil 1 [2],ceil 1 [0]))&(n 1_nxt >ceil 1 )) ( 17)
计算确定序为n的输入数据的各个中间系数n 0_nxt至n 6_nxt后,分别根据各个中间系数确定对应的输入系数的值。在具体实施中,由于第i+1个参考系数ceil i的值也可以为第i+1个输入系数的可取值个数的值减1的值,可以将序为n的输入数据的第i+1个中间系数n i_nxt的值与第i+1个参考系数ceil i的值进行比较,以判断序为n的输入数据的各个中间系数是否小于对应的输入系数的可取值个数,如果n i_nxt>ceil i,则n i赋值为n i_nxt+(~ceil i),否则,n i赋值为n i_nxtAfter calculating each intermediate coefficient n 0_nxt to n 6_nxt of the input data in the determination order n, the value of the corresponding input coefficient is determined according to each intermediate coefficient. In a specific implementation, since the value of the i+1th reference coefficient ceil i can also be the value of the number of possible values of the i+1th input coefficient minus 1, the value of the input data in the sequence n can be changed to The value of the i+1 intermediate coefficient n i_nxt is compared with the value of the i+1 th reference coefficient ceil i to determine whether each intermediate coefficient of the input data in the order n is less than the number of possible values of the corresponding input coefficient, If n i_nxt >ceil i , then n i is assigned the value of n i_nxt +(~ceil i ), otherwise, n i is assigned the value of n i_nxt .
具体而言,如果n 0_nxt>ceil 0,则n 0赋值为n 0_nxt+(~ceil 0),否则, n 0赋值为n 0_nxt;如果n 1_nxt>ceil 1,则n 1赋值为n 1_nxt+(~ceil 1),否则,n 1赋值为n 1_nxt;如果n 2_nxt>ceil 2,则n 2赋值为n 2_nxt+(~ceil 2),否则,n 2赋值为n 2_nxt;如果n 3_nxt>ceil 3,则n 3赋值为n 3_nxt+(~ceil 3),否则,n 3赋值为n 3_nxt;如果n 4_nxt>ceil 4,则n 4赋值为n 4_nxt+(~ceil 4),否则,n 4赋值为n 4_nxt;如果n 5_nxt>ceil 5,则n 5赋值为n 5_nxt+(~ceil 5),否则,n 5赋值为n 5_nxt;如果n 6_nxt>ceil 6,则n 6赋值为n 6_nxt+(~ceil 6),否则,n 6赋值为n 6_nxtSpecifically, if n 0_nxt >ceil 0 , then n 0 is assigned as n 0_nxt +(~ceil 0 ), otherwise, n 0 is assigned as n 0_nxt ; if n 1_nxt >ceil 1 , then n 1 is assigned as n 1_nxt +( ~ceil 1 ), otherwise, n 1 is assigned as n 1_nxt ; if n 2_nxt >ceil 2 , then n 2 is assigned as n 2_nxt +(~ceil 2 ), otherwise, n 2 is assigned as n 2_nxt ; if n 3_nxt >ceil 3 , then n 3 is assigned as n 3_nxt +(~ceil 3 ), otherwise, n 3 is assigned as n 3_nxt ; if n 4_nxt >ceil 4 , then n 4 is assigned as n 4_nxt +(~ceil 4 ), otherwise, n 4 is assigned is n 4_nxt ; if n 5_nxt >ceil 5 , then n 5 is assigned the value of n 5_nxt +(~ceil 5 ), otherwise, n 5 is assigned the value of n 5_nxt ; if n 6_nxt >ceil 6 , then n 6 is assigned the value of n 6_nxt +( ~ceil 6 ), otherwise, n 6 is assigned the value of n 6_nxt .
继续参考图1,在步骤S103的具体实施中,可以在每个时钟的上升沿确定下一个输入数据的各个输入系数,并获取下一个输入数据。根据该输入数据的各个输入系数,可以确定该输入数据的存储地址,然后将该输入数据写入确定的存储地址中,从而将数量为所述采样点数的输入数据写入存储器中。Continuing to refer to FIG. 1 , in the specific implementation of step S103 , each input coefficient of the next input data may be determined at the rising edge of each clock, and the next input data may be acquired. According to each input coefficient of the input data, the storage address of the input data can be determined, and then the input data is written into the determined storage address, thereby writing the input data with the number of sampling points into the memory.
在本发明的一个非限制性实施例中,存储器包括多个存储块,针对每个输入数据需要计算一个存储地址,每一存储地址包括存储块标识和相对存储地址。存储块标识指向具体的存储块,相对存储地址表示在该存储块中的存储地址。存储块标识bank_sel和相对存储地址bank_addr的计算公式分别通过如下公式表示:In a non-limiting embodiment of the present invention, the memory includes a plurality of storage blocks, a storage address needs to be calculated for each input data, and each storage address includes a storage block identification and a relative storage address. The storage block identifier points to a specific storage block, and the relative storage address indicates the storage address in the storage block. The calculation formulas of the storage block identifier bank_sel and the relative storage address bank_addr are respectively expressed by the following formulas:
Figure PCTCN2022073622-appb-000016
Figure PCTCN2022073622-appb-000016
Figure PCTCN2022073622-appb-000017
Figure PCTCN2022073622-appb-000017
其中,bank_sel为所述存储块标识,bank_addr为所述相对存储地址,ci和di分别为第一调节参数和第二调节参数,M为所述存储块的个数。其中,存储块的个数可以为12,也可以为6,但并不限于此。Wherein, bank_sel is the storage block identifier, bank_addr is the relative storage address, ci and di are the first adjustment parameter and the second adjustment parameter, respectively, and M is the number of the storage blocks. The number of storage blocks may be 12 or 6, but is not limited thereto.
在本发明的一个非限制性实施例中,输入系数n i可取值个数为2、3、4和5时,第一调节参数c i分别为1、2、1、1。输入系数n 0至n L-1的多项按照n 0、n 1、……、n L-1的顺序从前向后排列时,第一个可取值个数为5的输入系数所对应的第二调节参数为1,第一个可取值个 数为3的输入系数所对应的第二调节参数为0,其余第二调节参数为其前面紧邻的、第二调节参数不为0的项中输入系数可取值的个数与相应第二调节参数的乘积。本发明实施例通过设置第一调节参数和第二调节参数,可以使得数据能够分散存储于存储器中,避免了数据存储时的地址冲突。 In a non-limiting embodiment of the present invention, when the number of possible values of the input coefficient n i is 2, 3, 4, and 5, the first adjustment parameter c i is 1, 2, 1, and 1, respectively. When the multinomial items of the input coefficients n 0 to n L-1 are arranged from front to back in the order of n 0 , n 1 , ..., n L-1 , the first input coefficient corresponding to the number of possible values is 5. The second adjustment parameter is 1, the second adjustment parameter corresponding to the first input coefficient whose number of possible values is 3 is 0, and the other second adjustment parameters are the items that are immediately preceding and whose second adjustment parameter is not 0 The product of the number of possible values of the input coefficient and the corresponding second adjustment parameter. By setting the first adjustment parameter and the second adjustment parameter in the embodiment of the present invention, data can be scattered and stored in the memory, thereby avoiding address conflict during data storage.
由此,可以将采样数量个输入数据依次写入存储器的对应的存储地址中,由于本发明实施例中的方案,可以根据上一个输入数据的序快速地计算得到下一个输入数据的输入系数,因此,可以进一步提高确定各个输入数据的存储地址的速度,从而提高了将输入数据存储至存储器的效率。In this way, the sampled number of input data can be sequentially written into the corresponding storage addresses of the memory. Due to the solution in the embodiment of the present invention, the input coefficient of the next input data can be quickly calculated according to the sequence of the previous input data, Therefore, the speed of determining the storage address of each input data can be further improved, thereby improving the efficiency of storing the input data to the memory.
参考图3,图3示出了本发明实施例中另一种数据存储方法的流程示意图。图3示出的数据存储方法可以包括如下步骤:Referring to FIG. 3 , FIG. 3 shows a schematic flowchart of another data storage method in an embodiment of the present invention. The data storage method shown in FIG. 3 may include the following steps:
步骤S301:确定离散傅里叶变换的采样点数,并根据素因子分解算法和采样点数确定序为1的输入数据的各个输入系数;Step S301: Determine the number of sampling points of the discrete Fourier transform, and determine each input coefficient of the input data with an order of 1 according to the prime factorization algorithm and the number of sampling points;
步骤S302:自n=2起,依次根据序为n-1的输入数据的各个输入系数计算得到序为n的输入数据的各个输入系数;Step S302: Starting from n=2, calculate each input coefficient of the input data in sequence n according to each input coefficient of the input data in sequence n-1;
步骤S303:每当确定序为n的输入数据的各个输入系数,获取序为n的输入数据,并根据序为n的输入数据的各个输入系数计算确定序为n的输入数据的存储地址,然后将序为n的输入数据写入存储器的该存储地址中;Step S303: Whenever each input coefficient of the input data in the sequence n is determined, obtain the input data in the sequence n, and calculate the storage address of the input data in the sequence n according to each input coefficient of the input data in the sequence n, and then Write the input data of sequence n into the storage address of the memory;
步骤S304:分别将各个输入系数的可取值个数作为小点数基对所述存储器中的输入数据进行多轮离散傅里叶变换;Step S304: Perform multiple rounds of discrete Fourier transform on the input data in the memory using the number of possible values of each input coefficient as a small point basis;
步骤S305:根据所述素因子分解算法和所述采样点数确定输出数据的序为1的各个输出系数;Step S305: Determine each output coefficient whose order of output data is 1 according to the prime factorization algorithm and the number of sampling points;
步骤S306:自k=2起,依次根据序为k-1的输出数据的各个输出系数计算得到序为k的输出数据的各个输出系数;Step S306: Starting from k=2, calculate each output coefficient of the output data in the sequence k according to the output coefficients of the output data in the sequence k-1 in turn;
步骤S307:每当确定所述序为k的输出数据的各个输出系数,计算确定所述序为k的输出数据的存储地址并读出该存储地址中存储的数据,以得到所述输出数据。Step S307 : each time each output coefficient of the output data in the sequence k is determined, calculate and determine the storage address of the output data in the sequence k, and read the data stored in the storage address to obtain the output data.
需要说明的是,本实施例中各个步骤的序号并不代表对各个步骤的执行顺序的限定。It should be noted that the sequence numbers of the steps in this embodiment do not represent limitations on the execution order of the steps.
关于步骤S301至步骤S303的具体内容可以参照上文关于图1和图2的相关描述,在此不再赘述。For the specific content of step S301 to step S303, reference may be made to the relevant descriptions of FIG. 1 and FIG. 2 above, which will not be repeated here.
在步骤S304的具体实施中,可以对存储器中的输入数据进行多轮离散傅里叶变换,更具体地,进行L轮离散傅里叶变换。In the specific implementation of step S304, multiple rounds of discrete Fourier transform may be performed on the input data in the memory, and more specifically, L rounds of discrete Fourier transform may be performed.
具体而言,将各个输入系数的可取值个数作为小点数基,在每轮运算中,根据所述小点数基在所述存储器中读取对应数量的数据进行小点数基离散傅里叶变换以得到计算结果;将每轮运算中的计算结果写回该轮运算中读取的数据所存储的存储地址。Specifically, the number of possible values of each input coefficient is used as a small-point basis, and in each round of operation, a corresponding amount of data is read from the memory according to the small-point basis to perform a small-point basis discrete Fourier transform Transform to get the calculation result; write the calculation result in each round of operation back to the storage address where the data read in the round of operation is stored.
由于存储器存储每轮进行离散傅里叶变换时读取的数据,每轮运算后的计算结果也回传到存储器进行存储,并且作为下一轮运算的读取的数据,由此可以将每轮运算中的计算结果存储于该轮运算中读取数据所存储的存储地址,以进行同址回写,在一轮运算结束后,采样数量个数据都完成了更新,从而使得存储地址能够高效地复用。经过多轮离散傅里叶变换后,存储器中存储有离散傅里叶变换的最终计算结果。Since the memory stores the data read during each round of discrete Fourier transform, the calculation result after each round of operation is also returned to the memory for storage, and is used as the read data of the next round of operation, so that each round of operation can be The calculation result in the operation is stored in the storage address where the data is read in this round of operation for co-address write-back. After one round of operation, the sampling number of data is updated, so that the storage address can be efficiently reuse. After multiple rounds of discrete Fourier transform, the final calculation result of discrete Fourier transform is stored in the memory.
在步骤S305的具体实施中,根据素因子分解算法以及公式(2),输出数据的序k可以被表示为:In the specific implementation of step S305, according to the prime factorization algorithm and formula (2), the sequence k of the output data can be expressed as:
Figure PCTCN2022073622-appb-000018
Figure PCTCN2022073622-appb-000018
其中,
Figure PCTCN2022073622-appb-000019
为N 1的模反元素,
Figure PCTCN2022073622-appb-000020
为N 2的模反元素,由于N 1和N 2中的至少一个仍然可以继续分解,
Figure PCTCN2022073622-appb-000021
Figure PCTCN2022073622-appb-000022
中的 至少一个也可以继续分解。
in,
Figure PCTCN2022073622-appb-000019
is the modulo inverse element of N 1 ,
Figure PCTCN2022073622-appb-000020
is the modulo inverse element of N 2 , since at least one of N 1 and N 2 can still continue to decompose,
Figure PCTCN2022073622-appb-000021
and
Figure PCTCN2022073622-appb-000022
At least one of them can also continue to decompose.
进一步地,当采样点数被分解后得到的因子仅包括5、3、4、2时,可以获得采样点数的第二分解式:Further, when the factor obtained after the number of sampling points is decomposed only includes 5, 3, 4, and 2, the second decomposition formula of the number of sampling points can be obtained:
Figure PCTCN2022073622-appb-000023
Figure PCTCN2022073622-appb-000023
其中,k为所述输出数据的序,b i为所述采样点数的第i+1个输出参数,k i为序为k的输出数据的第i+1个输出系数,0≤k<N。每个输出数据的序k均满足第二分解式,各个输出参数是在分解过程中得到的。此时,可以求解出序为k的输出数据的各个输出系数,也即求解出k 0到k L-1的值。其中,输出系数k 0到k L-1分别是所分解的各因子对输出数据的序的索引,通过输出系数k 0到k L-1可以实现对各个输出数据的索引查找。 Wherein, k is the sequence of the output data, b i is the i+1 th output parameter of the number of sampling points, ki is the i +1 th output coefficient of the output data whose sequence is k, 0≤k<N . The sequence k of each output data satisfies the second decomposition formula, and each output parameter is obtained in the decomposition process. At this time, each output coefficient of the output data in order k can be solved, that is, the values of k 0 to k L-1 can be solved. Wherein, the output coefficients k 0 to k L-1 are respectively the indexes of the decomposed factors to the order of the output data, and the index search of each output data can be realized by the output coefficients k 0 to k L-1 .
下面以采样点数为3240为例,说明得到采样点数N的第二分解式的过程。The following takes the number of sampling points as 3240 as an example to describe the process of obtaining the second decomposition formula of the number of sampling points N.
由上文分析可知,N 1=5,N 2=648,因此,
Figure PCTCN2022073622-appb-000024
输出数据的序k可以被表示为:
It can be seen from the above analysis that N 1 =5, N 2 =648, therefore,
Figure PCTCN2022073622-appb-000024
The order k of the output data can be expressed as:
Figure PCTCN2022073622-appb-000025
Figure PCTCN2022073622-appb-000025
根据公式(5),可以有:N 3=81,N 4=8,则
Figure PCTCN2022073622-appb-000026
According to formula (5), there can be: N 3 =81, N 4 =8, then
Figure PCTCN2022073622-appb-000026
因此,
Figure PCTCN2022073622-appb-000027
therefore,
Figure PCTCN2022073622-appb-000027
k 3=k 1+3k 2+9k 3+27k 4;            (24) k 3 =k 1 +3k 2 +9k 3 +27k 4 ; (24)
k 4=k 5+4k 6;            (25) k 4 =k 5 +4k 6 ; (25)
将公式(23)、公式(24)、公式(25)代入公式(22),可以得到:Substituting formula (23), formula (24), and formula (25) into formula (22), we can get:
Figure PCTCN2022073622-appb-000028
Figure PCTCN2022073622-appb-000028
其中,第i+1个输出系数的可取值个数与第i+1个输入系数的可取值个数相同,且取值范围相同。The number of possible values of the i+1 th output coefficient is the same as the number of possible values of the i+1 th input coefficient, and the value ranges are the same.
进一步地,可以遍历各个输出系数的可取值范围确定序为1的输出数据的各个输出系数。例如,采样点数为3240时,根据k 0至k 6的各自的取值范围确定k 0至k 6的取值。 Further, each output coefficient of the output data whose order is 1 may be determined by traversing the range of possible values of each output coefficient. For example, when the number of sampling points is 3240, the values of k 0 to k 6 are determined according to the respective value ranges of k 0 to k 6 .
需要说明的是,在确定序为1的输出数据的各个输出系数之前,还可以先确定序为0的输出数据的各个输出系数。例如,可以直接将序为0的输出数据的各个输出系数赋值为0。由此,可以依次确定序为0的输出数据(也即,第1个输出数据)的各个输出系数和序为1的输出数据(也即,第2个输出数据)的各个输出系数。It should be noted that, before each output coefficient of the output data in the order 1 is determined, each output coefficient of the output data in the order 0 may also be determined first. For example, each output coefficient of the output data whose order is 0 can be directly assigned as 0. Thereby, each output coefficient of the output data in the order 0 (ie, the first output data) and each output coefficient of the output data in the order of 1 (that is, the second output data) can be sequentially determined.
在步骤S306的具体实施中,可以计算序为k的输出数据的各个中间系数,并根据序为k的输出数据的各个中间系数计算确定序为k的输出数据的输出系数。In the specific implementation of step S306, each intermediate coefficient of the output data in the sequence k may be calculated, and the output coefficients of the output data in the sequence k are calculated and determined according to each intermediate coefficient of the output data in the sequence k.
具体而言,当计算得到序为k-1的各个输出系数后,可以计算确定序为k的输出数据的各个第二系数和,序为k的输出数据的第i+1个第二系数和为该输出数据的第i+1个输出系数k i与第i+1个第二预设系数coef outi之和。其中,第二预设系数与采样点数具有一一对应的关系。所述第二预设系数可以是预先存储在所述终端的。 Specifically, after each output coefficient in the order k-1 is calculated, the sum of the second coefficients of the output data in the order k can be calculated, and the sum of the i+1 second coefficients of the output data in the order k can be calculated. is the sum of the i+1 th output coefficient ki and the i+1 th second preset coefficient coef outi of the output data. The second preset coefficient has a one-to-one correspondence with the number of sampling points. The second preset coefficient may be pre-stored in the terminal.
在本发明的一个非限制性实施例中,各个第二预设系数为相同采样点数下序为1的输出数据的各个输出系数,也即,第i+1个第二预设系数为序为1的输出数据的第i+1个输出系数。In a non-limiting embodiment of the present invention, each second preset coefficient is each output coefficient of the output data with the same sampling point number in the order of 1, that is, the i+1th second preset coefficient is in the order of The i+1 th output coefficient of the output data of 1.
进一步地,计算序为k的输出数据的各个中间系数,当i=L-1时,序为k的输出数据的第L个中间系数为序为k的输出数据的第L个第二系数和。Further, each intermediate coefficient of the output data in the sequence k is calculated, and when i=L-1, the Lth intermediate coefficient of the output data in the sequence k is the Lth second coefficient of the output data in the sequence k and .
进一步地,当i<L-1时,需要判断序为k的输出数据的第i+2个 中间系数是否满足第二进位条件,如果不满足,则序为k的输出数据的第i+1个中间系数为该输出数据的第i+1个第二系数和。如果满足第二进位条件,所述序为k的输出数据的第i+1个中间系数为该输出数据的第i+1个第二系数和加1的值。Further, when i<L-1, it is necessary to judge whether the i+2 th intermediate coefficient of the output data in the sequence k satisfies the second carry condition, if not, then the i+1 th in the output data in the sequence k satisfies the condition. The intermediate coefficients are the i+1 th second coefficient sum of the output data. If the second carry condition is satisfied, the i+1 th intermediate coefficient of the output data in sequence k is the i+1 th second coefficient of the output data and the value added by 1.
进一步地,序为k的输出数据的第i+1个中间系数不满足第二进位条件的情形可以包括:所述序为k的输出数据的第i+1个第二系数和大于等于所述第i+1个输出系数的可取值个数,或者,第二分解式中第i+1个输出参数与所述第i+2个输出参数互素。Further, the situation where the i+1 th intermediate coefficient of the output data in sequence k does not satisfy the second carry condition may include: the sum of the i+1 th second coefficient of the output data in sequence k is greater than or equal to the The number of possible values of the i+1 th output coefficient, or, the i+1 th output parameter in the second decomposition formula is relatively prime to the i+2 th output parameter.
需要说明的是,第二分解式中第i+1个输出参数与所述第i+1个输出参数是否互素的判断结果与第一分解式中第i+1个输入参数与所述第i+2个输入参数是否互素的判断结果相同。所述第i+1个输出系数的可取值个数与第i+1个输入系数的可取值个数也相同。It should be noted that the judgment result of whether the i+1 th output parameter and the i+1 th output parameter in the second decomposition formula are mutually prime is the same as the i+1 th input parameter in the first decomposition formula and the i+1 th input parameter. The judgment results of whether i+2 input parameters are co-prime are the same. The number of possible values of the i+1 th output coefficient is also the same as the number of possible values of the i+1 th input coefficient.
在本发明的一个非限制性实施例中,当i<L-1时,可以采用下列公式计算确定序为k的输出数据的第i+1个中间系数:In a non-limiting embodiment of the present invention, when i<L-1, the following formula can be used to calculate the i+1 th intermediate coefficient of the output data with the determination sequence k:
k i_kxt=k i+coefout i+(((ceil i[2],ceil i[ 0])==(ceil i+1[2],ceil i+1[0]))&(k i+1_kxt>ceil i+1))     (27) k i_kxt =k i +coefout i +(((ceil i [2],ceil i [ 0 ])==(ceil i+1 [2],ceil i+1 [0]))&(k i+1_kxt >ceil i+1 )) (27)
其中,k i_kxt为所述序为k的输出数据的第i+1个中间系数,k i为所述序为k-1的输出数据的第i+1个输出系数,coef outi为所述第i+1个第二预设系数,ceil i为第i+1个参考系数,k i+1_kxt为所述序为k的输出数据的第i+2个中间系数。 Wherein, k i_kxt is the i+1 th intermediate coefficient of the output data in the order k, ki is the i +1 th output coefficient of the output data in the order k-1, and coef outi is the i+1 th output coefficient of the output data in the order k-1. i+1 second preset coefficients, ceil i is the i+1th reference coefficient, and k i+1_kxt is the i+2th intermediate coefficient of the output data in sequence k.
需要说明的是,输入参数和输出参数可以是不同的,但公式(27)和公式(10)中的参考系数可以是相同的。所述参考系数和输出参数也具有一一对应的关系,也即,第i+1个参考系数对应于第i+1个输出参数,因此,第i+1个输出参数与所述第i+2个输出参数是否互素的判断结果可以根据第i+1个参考系数与所述第i+2个参考系数是否是互素的来确定。It should be noted that the input parameters and output parameters may be different, but the reference coefficients in formula (27) and formula (10) may be the same. The reference coefficient and the output parameter also have a one-to-one correspondence, that is, the i+1th reference coefficient corresponds to the i+1th output parameter, so the i+1th output parameter is associated with the i+1th output parameter. The judgment result of whether the two output parameters are co-prime may be determined according to whether the i+1 th reference coefficient and the i+2 th reference coefficient are co-prime.
进一步地,判断序为k的输出数据的第i+2个第二系数和是否大 于等于所述第i+2个输出系数的可取值个数时,由于第i+2个参考系数ceil i+1的值也可以为第i+2个输出系数的可取值个数的值减1的值,因此,可以直接判断序为k的输出数据的第i+2个第二系数和是否大于第i+2个参考系数ceil i+1Further, when judging whether the sum of the i+2th second coefficient of the output data of the order k is greater than or equal to the number of possible values of the i+2th output coefficient, because the i+2th reference coefficient ceil i The value of +1 can also be the value of the number of possible values of the i+2 th output coefficient minus 1. Therefore, it can be directly judged whether the sum of the i+2 th second coefficient of the output data in sequence k is greater than The i+2th reference coefficient ceil i+1 .
进一步地,分别判断序为k的输出数据的各个中间系数是否小于对应的输出系数的可取值个数。如果序为k的输出数据的第i+1个中间系数小于第i+1个输出系数的可取值个数,说明第i+1个中间系数并未超出第i+1个输出系数的取值范围,可以将所述序为k的输出数据的第i+1个中间系数直接作为所述序为k的输出数据的第i+1个输出系数。否则,计算该输出数据的第i+1个中间系数对第i+1个输出系数的可取值个数取模的结果,并将取模的结果作为所述序为k的输出数据的第i+1个输出系数。Further, it is respectively judged whether each intermediate coefficient of the output data of order k is less than the number of possible values of the corresponding output coefficient. If the i+1 th intermediate coefficient of the output data in sequence k is less than the number of possible values of the i+1 th output coefficient, it means that the i+1 th intermediate coefficient does not exceed the value of the i+1 th output coefficient. The value range, the i+1 th intermediate coefficient of the output data in the sequence k can be directly used as the i+1 th output coefficient of the output data in the sequence k. Otherwise, calculate the result of taking the modulo of the i+1-th intermediate coefficient of the output data to the number of possible values of the i+1-th output coefficient, and use the modulo result as the output data of the sequence k. i+1 output coefficients.
由上,相比于确定每个输出数据的输出系数时,均采用在各个输出系数的取值范围内进行遍历,以得到每个输出数据的输出系数的方法而言,本发明实施例中的方案,可以根据上一个输出数据的序快速地计算得到下一个输出数据的输出系数。From the above, compared to the method of traversing the value range of each output coefficient to obtain the output coefficient of each output data when determining the output coefficient of each output data, the method in the embodiment of the present invention is: The scheme can quickly calculate the output coefficient of the next output data according to the sequence of the previous output data.
下面以采样点数为3240为例描述步骤S306的具体步骤。The specific steps of step S306 are described below by taking the number of sampling points as 3240 as an example.
在计算得到序k-1的输出系数k 0至k 6的取值后,可以首先计算确定序为k的各个中间系数k 0_kxt至k 6_kxt,然后进一步确定序k-1的输出系数k 0至k 6After calculating the values of the output coefficients k 0 to k 6 of the order k-1, each intermediate coefficients k 0_kxt to k 6_kxt of the order k may be calculated first, and then the output coefficients k 0 to k 6_kxt of the order k-1 may be further determined. k 6 .
具体而言,可以采用下列公式依次计算得到序为k的输出数据的各个中间系数k 0_kxt至k 6_kxtSpecifically, each intermediate coefficient k 0_kxt to k 6_kxt of the output data in sequence k can be calculated in sequence by using the following formula:
k 6_kxt=k 6+coefout 6;            (28) k 6_kxt =k 6 +coefout 6 ; (28)
k 5_kxt=k 5+coefout 5+(((ceil 5[2],ceil 5[0])==(ceil 6[2],ceil 6[0]))&(k 6_kxt>ceil 6))     (29) k 5_kxt =k 5 +coefout 5 +(((ceil 5 [2],ceil 5 [0])==(ceil 6 [2],ceil 6 [0]))&(k 6_kxt >ceil 6 )) ( 29)
k 4_nxt=k 4+coefout 4+(((ceil 4[2],ceil 4[0])==(ceil 5[2],ceil 5[0]))&(k 5_kxt>ceil 5))      (30) k 4_nxt = k 4 +coefout 4 +(((ceil 4 [2],ceil 4 [0])==(ceil 5 [2],ceil 5 [0]))&(k 5_kxt >ceil 5 )) ( 30)
k 3_nxt=k 3+coefout 3+(((ceil 3[2],ceil 3[0])==(ceil 4[2],ceil 4[0]))&(k 4_kxt>ceil 4))       (31) k 3_nxt =k 3 +coefout 3 +(((ceil 3 [2],ceil 3 [0])==(ceil 4 [2],ceil 4 [0]))&(k 4_kxt >ceil 4 )) ( 31)
k 2_nxt=k 2+coefout 2+(((ceil 2[2],ceil 2[0])==(ceil 3[2],ceil 3[0]))&(k 3_kxt>ceil 3))     (32) k 2_nxt =k 2 +coefout 2 +(((ceil 2 [2],ceil 2 [0])==(ceil 3 [2],ceil 3 [0]))&(k 3_kxt >ceil 3 )) ( 32)
k 1_nxt=k 1+coefout 1+(((ceil 1[2],ceil 1[0])==(ceil 2[2],ceil 2[0]))&(k 2_kxt>ceil 2))      (33) k 1_nxt =k 1 +coefout 1 +(((ceil 1 [2],ceil 1 [0])==(ceil 2 [2],ceil 2 [0]))&(k 2_kxt >ceil 2 )) ( 33)
k 0_kxt=k 0+coefout 0+(((ceil 0[2],ceil 0[0])==(ceil 1[2],ceil 1[0]))&(k 1_kxt>ceil 1))      (34) k 0_kxt =k 0 +coefout 0 +(((ceil 0 [2],ceil 0 [0])==(ceil 1 [2],ceil 1 [0]))&(k 1_kxt >ceil 1 )) ( 34)
计算确定序为k的输出数据的各个中间系数k 0_kxt至k 6_kxt后,分别根据各个中间系数确定对应的输出系数的值。在具体实施中,由于第i+1个参考系数ceil i的值也可以为第i+1个输出系数的可取值个数的值减1的值,可以将序为k的输出数据的第i+1个中间系数k i_kxt的值与第i+1个参考系数ceil i的值进行比较,以判断序为k的输出数据的各个中间系数是否小于对应的输出系数的可取值个数,如果k i_kxt>ceil i,则k i赋值为k i_kxt+(~ceil i),否则,k i赋值为k i_kxtAfter calculating the intermediate coefficients k 0_kxt to k 6_kxt of the output data in the determined order k, the values of the corresponding output coefficients are respectively determined according to the intermediate coefficients. In a specific implementation, since the value of the i+1th reference coefficient ceil i can also be the value of the number of possible values of the i+1th output coefficient minus 1, the value of the output data in the order k can be The value of the i+1 intermediate coefficient k i_kxt is compared with the value of the i+1 th reference coefficient ceil i to judge whether each intermediate coefficient of the output data of order k is less than the number of possible values of the corresponding output coefficient, If ki_kxt >ceil i , then ki is assigned as ki_kxt +(∼ceil i ), otherwise, ki is assigned as ki_kxt .
具体而言,如果k 0_kxt>ceil 0,则k 0赋值为k 0_kxt+(~ceil 0),否则,k 0赋值为k 0_kxt;如果k 1_kxt>ceil 1,则k 1赋值为k 1_kxt+(~ceil 1),否则,k 1赋值为k 1_kxt;如果k 2_kxt>ceil 2,则k 2赋值为k 2_kxt+(~ceil 2),否则,k 2赋值为k 2_kxt;如果k 3_kxt>ceil 3,则k 3赋值为k 3_kxt+(~ceil 3),否则,k 3赋值为k 3_kxt;如果k 4_kxt>ceil 4,则k 4赋值为k 4_kxt+(~ceil 4),否则,k 4赋值为k 4_kxt;如果k 5_kxt>ceil 5,则k 5赋值为k 5_kxt+(~ceil 5),否则,k 5赋值为k 5_kxt;如果k 6_kxt>ceil 6,则k 6赋值为k 6_kxt+(~ceil 6),否则,k 6赋值为k 6_kxtSpecifically, if k 0_kxt >ceil 0 , then k 0 is assigned as k 0_kxt +(~ceil 0 ), otherwise, k 0 is assigned as k 0_kxt ; if k 1_kxt >ceil 1 , then k 1 is assigned as k 1_kxt +( ~ceil 1 ), otherwise, k 1 is assigned as k 1_kxt ; if k 2_kxt >ceil 2 , then k 2 is assigned as k 2_kxt +(~ceil 2 ), otherwise, k 2 is assigned as k 2_kxt ; if k 3_kxt >ceil 3 , then k 3 is assigned as k 3_kxt +(~ceil 3 ), otherwise, k 3 is assigned as k 3_kxt ; if k 4_kxt >ceil 4 , then k 4 is assigned as k 4_kxt +(~ceil 4 ), otherwise, k 4 is assigned is k 4_kxt ; if k 5_kxt >ceil 5 , then k 5 is assigned as k 5_kxt +(~ceil 5 ), otherwise, k 5 is assigned as k 5_kxt ; if k 6_kxt >ceil 6 , then k 6 is assigned as k 6_kxt +( ~ceil 6 ), otherwise, k 6 is assigned as k 6_kxt .
在步骤S307的具体实施中,终端可以在每个时钟的上升沿更新下一个输出数据的存储地址,并从该存储地址中读出所存储的数据,当按照自然序的顺序依次确定输出数据的存储地址并读出其中的数据,即可以得到离散傅里叶变换的最终计算结果,也即,获得最终的 输出数据。需要说明的是,可以参照公式(18)和公式(19)根据输出数据的输出系数计算确定输出数据的输出地址。In the specific implementation of step S307, the terminal can update the storage address of the next output data at the rising edge of each clock, and read the stored data from the storage address, and determine the output data in sequence according to the natural order. By storing the address and reading out the data therein, the final calculation result of the discrete Fourier transform can be obtained, that is, the final output data can be obtained. It should be noted that the output address of the output data can be determined by calculating the output coefficient of the output data with reference to the formula (18) and the formula (19).
更多关于步骤S305至步骤S307的具体内容可以参照上文关于图1至图2的相关描述,在此不再赘述。For more specific content of steps S305 to S307, reference may be made to the relevant descriptions of FIG. 1 to FIG. 2 above, which will not be repeated here.
由上,本发明实施例中根据上一个输入数据的输入系数计算确定下一个输入数据的输入系数,并根据上一个输出数据的输出系数计算确定下一个输出数据的输出系数,可以快速地确定输入数据和输出数据的存储地址,大大地降低了时延,且本发明实施例只占用少量的逻辑资源降低了实现的复杂度。From the above, in the embodiment of the present invention, the input coefficient of the next input data is determined according to the input coefficient calculation of the previous input data, and the output coefficient of the next output data is determined according to the output coefficient calculation of the previous output data, so that the input coefficient can be quickly determined. The storage addresses of the data and the output data greatly reduce the time delay, and the embodiment of the present invention only occupies a small amount of logic resources, thereby reducing the complexity of implementation.
参考图4,图4示出了本发明实施例中一种数据存储装置,所述装置可以包括:第一确定模块41,用于确定离散傅里叶变换的采样点数,并根据素因子分解算法和采样点数确定序为1的输入数据的各个输入系数;第一计算模块42,用于自n=2起,依次根据序为n-1的输入数据的各个输入系数计算得到序为n的输入数据的各个输入系数;输入模块43,用于每当确定所述序为n的输入数据的各个输入系数,获取所述序为n的输入数据,并根据所述序为n的输入数据的各个输入系数计算确定所述序为n的输入数据的存储地址,然后将所述序为n的输入数据写入存储器的该存储地址中。Referring to FIG. 4, FIG. 4 shows a data storage device in an embodiment of the present invention. The device may include: a first determination module 41, configured to determine the number of sampling points of the discrete Fourier transform, and determine the number of sampling points according to the prime factorization algorithm. and the number of sampling points to determine each input coefficient of the input data in the order of 1; the first calculation module 42 is used to obtain the input in the order of n according to each input coefficient of the input data in the order of n-1 in turn from n=2 each input coefficient of the data; the input module 43 is used to obtain the input data of the sequence n whenever each input coefficient of the input data of the sequence n is determined, and according to each input coefficient of the input data of the sequence n The input coefficient calculation determines the storage address of the input data in the sequence n, and then writes the input data in the sequence n into the storage address in the memory.
进一步地,所述装置还可以包括:变换模块(图未示),所述计算模块用于分别将各个输入系数的可取值个数作为小点数基对所述存储器中的输入数据进行多轮离散傅里叶变换。Further, the device may also include: a transformation module (not shown in the figure), the calculation module is configured to use the number of possible values of each input coefficient as a small-point basis to perform multiple rounds of the input data in the memory. Discrete Fourier Transform.
进一步地,所述装置还可以包括:第二确定模块(图未示),用于根据所述素因子分解算法和所述采样点数确定输出数据的序为1的各个输出系数;第二计算模块(图未示),用于自k=2起,依次根据序为k-1的输出数据的各个输出系数计算得到序为k的输出数据的各个输出系数;输出模块(图未示),用于每当确定所述序为k的输出数据的各个输出系数,计算确定所述序为k的输出数据的存储地址并读出该存储地址中存储的数据,以得到所述输出数据。Further, the device may further include: a second determination module (not shown in the figure), configured to determine each output coefficient of the order 1 of the output data according to the prime factorization algorithm and the number of sampling points; the second calculation module (not shown in the figure), used to calculate each output coefficient of the output data in the sequence k according to the output coefficients of the output data in the sequence k-1 in turn from k=2; the output module (not shown in the figure), with Each time the output coefficients of the output data in the sequence k are determined, the storage address of the output data in the sequence k is calculated and determined, and the data stored in the storage address is read out to obtain the output data.
关于上述数据存储装置的工作原理、工作方式、有益效果的更多内容,可以参照图1至图3的相关描述,在此不再赘述。For more details on the working principle, working mode, and beneficial effects of the above-mentioned data storage device, reference may be made to the relevant descriptions in FIG. 1 to FIG. 3 , which will not be repeated here.
所述数据存储装置可以是:芯片、或者芯片模组等。The data storage device may be a chip, a chip module, or the like.
关于上述实施例中描述的各个装置、产品包含的各个模块/单元,其可以是软件模块/单元,也可以是硬件模块/单元,或者也可以部分是软件模块/单元,部分是硬件模块/单元。例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于芯片模组的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于芯片模组的同一组件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片模组内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于终端的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于终端内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现。Regarding each module/unit included in each device and product described in the above-mentioned embodiments, it may be a software module/unit, a hardware module/unit, or a part of a software module/unit and a part of a hardware module/unit . For example, for each device or product applied to or integrated in a chip, each module/unit included therein may be implemented by hardware such as circuits, or at least some of the modules/units may be implemented by a software program. Running on the processor integrated inside the chip, the remaining (if any) part of the modules/units can be implemented by hardware such as circuits; for each device and product applied to or integrated in the chip module, the modules/units contained therein can be They are all implemented by hardware such as circuits, and different modules/units can be located in the same component of the chip module (such as chips, circuit modules, etc.) or in different components, or at least some of the modules/units can be implemented by software programs. The software program runs on the processor integrated inside the chip module, and the remaining (if any) part of the modules/units can be implemented by hardware such as circuits; for each device and product applied to or integrated in the terminal, each module contained in it The units/units may all be implemented in hardware such as circuits, and different modules/units may be located in the same component (eg, chip, circuit module, etc.) or in different components in the terminal, or at least some of the modules/units may be implemented by software programs Realization, the software program runs on the processor integrated inside the terminal, and the remaining (if any) part of the modules/units can be implemented in hardware such as circuits.
本发明实施例还公开了一种存储介质,所述存储介质为计算机可读存储介质,其上存储有计算机程序,所述计算机程序运行时可以执行图1中所示方法的步骤。所述存储介质可以包括ROM、RAM、磁盘或光盘等。所述存储介质还可以包括非挥发性存储器(non-volatile)或者非瞬态(non-transitory)存储器等。The embodiment of the present invention further discloses a storage medium, which is a computer-readable storage medium, and stores a computer program thereon, and the computer program can execute the steps of the method shown in FIG. 1 when running. The storage medium may include ROM, RAM, magnetic or optical disks, and the like. The storage medium may also include a non-volatile memory (non-volatile) or a non-transitory (non-transitory) memory and the like.
本发明实施例还公开了一种用户设备,所述用户设备可以包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机 程序。所述处理器运行所述计算机程序时可以执行图1至图3中所示方法的步骤。所述用户设备包括但不限于手机、计算机、平板电脑等终端设备。An embodiment of the present invention further discloses a user equipment, the user equipment may include a memory and a processor, and the memory stores a computer program that can run on the processor. The processor may perform the steps of the methods shown in FIGS. 1 to 3 when running the computer program. The user equipment includes but is not limited to terminal equipment such as mobile phones, computers, and tablet computers.
本发明实施例还公开了一种网络侧设备,所述网络侧设备可以包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序。所述处理器运行所述计算机程序时可以执行图1至图3中所示方法的步骤。The embodiment of the present invention further discloses a network side device, the network side device may include a memory and a processor, and the memory stores a computer program that can run on the processor. The processor may perform the steps of the methods shown in FIGS. 1 to 3 when running the computer program.
本方明技术方案也适用于不同的网络架构,包括但不限于中继网络架构、双链接架构、Vehicle-to-Everything(车辆到任何物体的通信)架构等架构。The technical solution of the present invention is also applicable to different network architectures, including but not limited to relay network architecture, dual link architecture, Vehicle-to-Everything (vehicle-to-anything communication) architecture and other architectures.
本申请实施例中所述核心网可以是演进型分组核心网(evolved packet core,简称EPC)、5G Core Network(5G核心网),还可以是未来通信系统中的新型核心网。5G Core Network由一组设备组成,并实现移动性管理等功能的接入和移动性管理功能(Access and Mobility Management Function,AMF)、提供数据包路由转发和QoS(Quality of Service)管理等功能的用户面功能(User Plane Function,UPF)、提供会话管理、IP地址分配和管理等功能的会话管理功能(Session Management Function,SMF)等。EPC可由提供移动性管理、网关选择等功能的MME、提供数据包转发等功能的Serving Gateway(S-GW)、提供终端地址分配、速率控制等功能的PDN Gateway(P-GW)组成。需要说明的是,本方明技术方案可适用于5G(5 Generation)通信系统,还可适用于4G、3G通信系统,还可适用于未来新的各种通信系统,例如6G、7G等。The core network described in the embodiments of the present application may be an evolved packet core (EPC for short), a 5G Core Network (5G core network), or a new type of core network in a future communication system. The 5G Core Network consists of a set of devices, and implements access and mobility management functions (Access and Mobility Management Function, AMF) for functions such as mobility management, and provides functions such as packet routing and forwarding and QoS (Quality of Service) management. User Plane Function (UPF), Session Management Function (SMF) that provides functions such as session management, IP address allocation and management, etc. EPC consists of MME that provides functions such as mobility management and gateway selection, Serving Gateway (S-GW) that provides functions such as packet forwarding, and PDN Gateway (P-GW) that provides functions such as terminal address allocation and rate control. It should be noted that the technical solution of the present invention can be applied to 5G (5 Generation) communication systems, 4G and 3G communication systems, and various new communication systems in the future, such as 6G and 7G.
本申请实施例中的基站(base station,简称BS),也可称为基站设备,是一种部署在无线接入网(RAN)用以提供无线通信功能的装置。例如在2G网络中提供基站功能的设备包括基地无线收发站(英文:base transceiver station,简称BTS),3G网络中提供基站功能的设备包括节点B(NodeB),在4G网络中提供基站功能的设备包括演进 的节点B(evolved NodeB,eNB),在无线局域网络(wireless local area networks,简称WLAN)中,提供基站功能的设备为接入点(access point,简称AP),5G新无线(New Radio,简称NR)中的提供基站功能的设备gNB,以及继续演进的节点B(ng-eNB),其中gNB和终端之间采用NR技术进行通信,ng-eNB和终端之间采用E-UTRA(Evolved Universal Terrestrial Radio Access)技术进行通信,gNB和ng-eNB均可连接到5G核心网。本申请实施例中的基站还包含在未来新的通信系统中提供基站功能的设备等。A base station (base station, BS for short) in the embodiments of the present application, which may also be referred to as base station equipment, is a device deployed in a radio access network (RAN) to provide a wireless communication function. For example, the equipment that provides base station functions in 2G networks includes base transceiver stations (English: base transceiver station, referred to as BTS), the equipment that provides base station functions in 3G networks includes NodeB (NodeB), and the equipment that provides base station functions in 4G networks. Including the evolved NodeB (evolved NodeB, eNB), in the wireless local area networks (wireless local area networks, referred to as WLAN), the device that provides the base station function is the access point (access point, referred to as AP), 5G new wireless (New Radio) , referred to as NR), the equipment gNB that provides base station functions, and the node B (ng-eNB) that continues to evolve, wherein the gNB and the terminal use NR technology for communication, and the ng-eNB and the terminal use E-UTRA (Evolved Universal Terrestrial Radio Access) technology to communicate, both gNB and ng-eNB can be connected to the 5G core network. The base station in the embodiment of the present application also includes a device and the like that provide the function of the base station in a new communication system in the future.
本申请实施例中的基站控制器,是一种管理基站的装置,例如2G网络中的基站控制器(base station controller,简称BSC)、3G网络中的无线网络控制器(radio network controller,简称RNC)、还可指未来新的通信系统中控制管理基站的装置。The base station controller in this embodiment of the present application is a device for managing base stations, such as a base station controller (BSC) in a 2G network and a radio network controller (RNC) in a 3G network. ), and may also refer to a device for controlling and managing base stations in a new communication system in the future.
本发明实施例中的网络侧network是指为终端提供通信服务的通信网络,包含无线接入网的基站,还可以包含无线接入网的基站控制器,还可以包含核心网侧的设备。The network side network in the embodiment of the present invention refers to a communication network that provides communication services for terminals, including a base station of a radio access network, a base station controller of a radio access network, and a device on the core network side.
本申请实施例中的终端可以指各种形式的用户设备(user equipment,简称UE)、接入终端、用户单元、用户站、移动站、移动台(mobile station,建成MS)、远方站、远程终端、移动设备、用户终端、终端设备(terminal equipment)、无线通信设备、用户代理或用户装置。终端设备还可以是蜂窝电话、无绳电话、会话启动协议(Session Initiation Protocol,简称SIP)电话、无线本地环路(Wireless Local Loop,简称WLL)站、个人数字处理(Personal Digital Assistant,简称PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,未来5G网络中的终端设备或者未来演进的公用陆地移动通信网络(Public Land Mobile Network,简称PLMN)中的终端设备等,本申请实施例对此并不限定。The terminal in the embodiments of the present application may refer to various forms of user equipment (user equipment, UE for short), access terminal, subscriber unit, subscriber station, mobile station, mobile station (mobile station, built as MS), remote station, remote station A terminal, mobile device, user terminal, terminal equipment, wireless communication device, user agent or user equipment. The terminal device may also be a cellular phone, a cordless phone, a Session Initiation Protocol (SIP) phone, a Wireless Local Loop (WLL) station, a Personal Digital Assistant (PDA), Handheld devices, computing devices or other processing devices connected to wireless modems, in-vehicle devices, wearable devices with wireless communication capabilities, terminal devices in future 5G networks or future evolved public land mobile communication networks (Public Land Mobile Network, referred to for short) PLMN), which is not limited in this embodiment of the present application.
本申请实施例定义接入网到终端的单向通信链路为下行链路,在 下行链路上传输的数据为下行数据,下行数据的传输方向称为下行方向;而终端到接入网的单向通信链路为上行链路,在上行链路上传输的数据为上行数据,上行数据的传输方向称为上行方向。The embodiment of the present application defines the unidirectional communication link from the access network to the terminal as the downlink, the data transmitted on the downlink is the downlink data, and the transmission direction of the downlink data is called the downlink direction; The unidirectional communication link is the uplink, the data transmitted on the uplink is the uplink data, and the transmission direction of the uplink data is called the uplink direction.
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/“,表示前后关联对象是一种“或”的关系。It should be understood that the term "and/or" in this document is only an association relationship to describe associated objects, indicating that there can be three kinds of relationships, for example, A and/or B, which can mean that A exists alone, and A and B exist at the same time , there are three cases of B alone. In addition, the character "/" in this text indicates that the related objects before and after are an "or" relationship.
本申请实施例中出现的“多个”是指两个或两个以上。The "plurality" in the embodiments of the present application refers to two or more.
本申请实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本申请实施例中对设备个数的特别限定,不能构成对本申请实施例的任何限制。The descriptions of the first, second, etc. appearing in the embodiments of the present application are only used for illustration and distinguishing the description objects, and have no order. any limitations of the examples.
本申请实施例中出现的“连接”是指直接连接或者间接连接等各种连接方式,以实现设备间的通信,本申请实施例对此不做任何限定。The "connection" in the embodiments of the present application refers to various connection modes such as direct connection or indirect connection, so as to realize communication between devices, which is not limited in the embodiments of the present application.
应理解,本申请实施例中,所述处理器可以为中央处理单元(central processing unit,简称CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,简称DSP)、专用集成电路(application specific integrated circuit,简称ASIC)、现成可编程门阵列(field programmable gate array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。It should be understood that, in the embodiment of the present application, the processor may be a central processing unit (central processing unit, CPU for short), and the processor may also be other general-purpose processors, digital signal processors (digital signal processor, DSP for short) , application specific integrated circuit (ASIC), off-the-shelf programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,简称ROM)、可编程只读存储器(programmable ROM,简称PROM)、可擦除可编程只读存储器(erasable PROM,简称EPROM)、电可擦除可编程只读存储器(electrically EPROM,简称EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,简称RAM),其用 作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,简称RAM)可用,例如静态随机存取存储器(static RAM,简称SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,简称SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,简称DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,简称ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,简称SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,简称DR RAM)。It should also be understood that the memory in the embodiments of the present application may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory may be read-only memory (ROM for short), programmable read-only memory (PROM for short), erasable programmable read-only memory (EPROM for short) , Electrically Erasable Programmable Read-Only Memory (electrically EPROM, EEPROM for short) or flash memory. Volatile memory may be random access memory (RAM), which acts as an external cache. By way of example and not limitation, many forms of random access memory (RAM) are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous Dynamic random access memory (synchronous DRAM, referred to as SDRAM), double data rate synchronous dynamic random access memory (double data rate SDRAM, referred to as DDR SDRAM), enhanced synchronous dynamic random access memory (enhanced SDRAM, referred to as ESDRAM), Synchronous connection dynamic random access memory (synchlink DRAM, referred to as SLDRAM) and direct memory bus random access memory (direct rambus RAM, referred to as DR RAM).
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。The above embodiments may be implemented in whole or in part by software, hardware, firmware or any other combination. When implemented in software, the above-described embodiments may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions or computer programs. When the computer instructions or computer programs are loaded or executed on a computer, all or part of the processes or functions described in the embodiments of the present application are generated. The computer may be a general purpose computer, special purpose computer, computer network, or other programmable device. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be downloaded from a website site, computer, server, or data center Transmission by wire or wireless to another website site, computer, server or data center. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, a data center, or the like that contains one or more sets of available media. The usable media may be magnetic media (eg, floppy disks, hard disks, magnetic tapes), optical media (eg, DVDs), or semiconductor media. The semiconductor medium may be a solid state drive.
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。It should be understood that, in various embodiments of the present application, the size of the sequence numbers of the above-mentioned processes does not mean the sequence of execution, and the execution sequence of each process should be determined by its functions and internal logic, and should not be dealt with in the embodiments of the present application. implementation constitutes any limitation.
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、 装置和系统,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的;例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided in this application, it should be understood that the disclosed method, apparatus and system may be implemented in other manners. For example, the apparatus embodiments described above are only illustrative; for example, the division of the units is only a logical function division, and other division methods may be used in actual implementation; for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not implemented. On the other hand, the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may be physically included individually, or two or more units may be integrated into one unit. The above-mentioned integrated units can be implemented in the form of hardware, or can be implemented in the form of hardware plus software functional units.
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。The above-mentioned integrated units implemented in the form of software functional units can be stored in a computer-readable storage medium. The above-mentioned software functional unit is stored in a storage medium, and includes several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, Read-Only Memory (ROM for short), Random Access Memory (RAM for short), magnetic disk or CD, etc. that can store program codes medium.
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。Although the present invention is disclosed above, the present invention is not limited thereto. Any person skilled in the art can make various changes and modifications without departing from the spirit and scope of the present invention. Therefore, the protection scope of the present invention should be based on the scope defined by the claims.

Claims (18)

  1. 一种数据存储方法,其特征在于,所述方法包括:A data storage method, characterized in that the method comprises:
    确定离散傅里叶变换的采样点数,并根据素因子分解算法和所述采样点数确定序为1的输入数据的各个输入系数;Determine the number of sampling points of the discrete Fourier transform, and determine each input coefficient of the input data of order 1 according to the prime factorization algorithm and the number of sampling points;
    自n=2起,依次根据序为n-1的输入数据的各个输入系数计算得到序为n的输入数据的各个输入系数;Starting from n=2, each input coefficient of the input data in the sequence n is obtained by calculating according to each input coefficient of the input data in the sequence n-1;
    每当确定所述序为n的输入数据的各个输入系数,获取所述序为n的输入数据,并根据所述序为n的输入数据的各个输入系数计算确定所述序为n的输入数据的存储地址,然后将所述序为n的输入数据写入存储器的该存储地址中。Whenever each input coefficient of the input data in the sequence n is determined, obtain the input data in the sequence n, and calculate and determine the input data in the sequence n according to each input coefficient of the input data in the sequence n and then write the input data in sequence n into the storage address of the memory.
  2. 根据权利要求1所述的数据存储方法,其特征在于,根据素因子分解算法和所述采样点数确定序为1的输入数据的各个输入系数包括:The data storage method according to claim 1, wherein each input coefficient of the input data whose order is 1 is determined according to a prime factorization algorithm and the number of sampling points, comprising:
    计算确定所述采样点数的第一分解式:
    Figure PCTCN2022073622-appb-100001
    Calculate the first decomposition formula for determining the number of sampling points:
    Figure PCTCN2022073622-appb-100001
    遍历各个输入系数的可取值范围计算确定所述序为1的输入数据的各个输入系数;traversing the range of possible values of each input coefficient to calculate and determine each input coefficient of the input data whose sequence is 1;
    其中,N为所述采样点数,n为所述输入数据的序,a i为所述采样点数的第i+1个输入参数,L为所述输入参数的个数,n i为序为n的输入数据的第i+1个输入系数,N为正整数,L为非1的正整数,i为自然数,0≤i<L,0≤n<N。 Wherein, N is the number of sampling points, n is the sequence of the input data, a i is the i+1th input parameter of the number of sampling points, L is the number of the input parameters, n i is the sequence of n The i+1th input coefficient of the input data of , N is a positive integer, L is a positive integer other than 1, i is a natural number, 0≤i<L, 0≤n<N.
  3. 根据权利要求2所述的数据存储方法,其特征在于,根据序为n-1的输入数据的各个输入系数计算得到序为n的输入数据的各个输入系数包括:The data storage method according to claim 2, wherein calculating each input coefficient of the input data in the sequence n according to each input coefficient of the input data in the sequence n-1 comprises:
    计算确定所述序为n-1的输入数据的第i+1个输入系数与第i+1个第一预设系数之和,记为所述序为n的输入数据的第i+1个第一系数和;Calculate the sum of the i+1 th input coefficient and the i+1 th first preset coefficient of the input data in the sequence n-1, and denote the sum of the i+1 th input data in the sequence n the first coefficient sum;
    如果i=L-1,将所述序为n的输入数据的第L个第一系数和作为所述序为n的输入数据的第L个中间系数,如果i<L-1,根据所述序为n的输入数据的第i+1个第一系数和以及所述序为n的输入数据的第i+2个中间系数是否满足第一进位条件,确定所述序为n的输入数据的第i+1个中间系数;If i=L-1, use the L-th first coefficient of the input data in the order of n and the L-th intermediate coefficient as the input data in the order of n, if i<L-1, according to the Whether the i+1 th first coefficient sum of the input data in the sequence n and the i+2 intermediate coefficient of the input data in the sequence n satisfy the first carry condition, determine whether the input data in the sequence n i+1 intermediate coefficient;
    判断所述序为n的输入数据的第i+1个中间系数是否小于第i+1个输入系数的可取值个数,如果是,则将所述序为n的输入数据的第i+1个中间系数作为所述序为n的输入数据的第i+1个输入系数,否则,计算所述序为n的输入数据的第i+1个中间系数对所述第i+1个输入系数的可取值个数取模的结果,并将取模的结果作为所述序为n的输入数据的第i+1个输入系数。Judging whether the i+1 th intermediate coefficient of the input data in the sequence n is less than the number of possible values of the i+1 th input coefficient, if so, set the i+1 th intermediate coefficient of the input data in the sequence n 1 intermediate coefficient is used as the i+1 th input coefficient of the input data in sequence n, otherwise, calculate the i+1 th intermediate coefficient of the input data in sequence n for the i+1 th input The result of taking the modulo of the number of possible values of the coefficients is taken as the i+1 th input coefficient of the input data in sequence n.
  4. 根据权利要求3所述的数据存储方法,其特征在于,所述第i+1个第一预设系数为所述序为1的输入数据的第i+1个输入系数。The data storage method according to claim 3, wherein the i+1 th first preset coefficient is the i+1 th input coefficient of the input data whose order is 1.
  5. 根据权利要求3所述的数据存储方法,其特征在于,根据序为n的输入数据的第i+1个第一系数和以及序为n的输入数据的第i+2个中间系数是否满足第一进位条件,确定序为n的输入数据的第i+1个中间系数包括:The data storage method according to claim 3, wherein, according to whether the i+1 th first coefficient of the input data in sequence n and the i+2 th intermediate coefficient of the input data in sequence n satisfy the A carry condition, determining the i+1 th intermediate coefficient of the input data of order n includes:
    如果所述序为n的输入数据的第i+2个中间系数不满足所述第一进位条件,则将所述序为n的输入数据的第i+1个第一系数和作为所述序为n的输入数据的第i+1个中间系数,否则,将所述序为n的输入数据的第i+1个第一系数和加1后作为所述序为n的输入数据的第i+1个中间系数。If the i+2 th intermediate coefficient of the input data in the sequence n does not satisfy the first carry condition, the i+1 th first coefficient sum of the input data in the sequence n is used as the sequence is the i+1th intermediate coefficient of the input data of n, otherwise, the i+1th first coefficient sum of the input data of the sequence n is added 1 as the i-th coefficient of the input data of the sequence n +1 intermediate factor.
  6. 根据权利要求5所述的数据存储方法,其特征在于,所述序为n的输入数据的第i+2个中间系数不满足所述第一进位条件包括:The data storage method according to claim 5, wherein the i+2 th intermediate coefficient of the input data in sequence n does not satisfy the first carry condition comprising:
    所述序为n的输入数据的第i+2个第一系数和大于等于所述第i+2个输入系数的可取值个数,或者,第i+1个输入参数与所述第i+2个输入参数互素。The i+2 th first coefficient of the input data in the sequence n and the number of possible values that are greater than or equal to the i+2 th input coefficient, or, the i+1 th input parameter and the i th +2 input parameters are coprime.
  7. 根据权利要求3所述的数据存储方法,其特征在于,当i<L-1时,采用下述公式根据序为n的输入数据的第i+1个第一系数和以及序为n的输入数据的第i+2个中间系数是否满足第一进位条件,确定序为n的输入数据的第i+1个中间系数:The data storage method according to claim 3, wherein when i<L-1, the following formula is used according to the i+1 th first coefficient sum of the input data in sequence n and the input in sequence n Whether the i+2-th intermediate coefficient of the data satisfies the first carry condition, determine the i+1-th intermediate coefficient of the input data in sequence n:
    n i_nxt=n i+coefin i+(((ceil i[2],ceil i[0])==(ceil i+1[2],ceil i+1[0]))&(n i+1_nxt>ceil i+1)) n i_nxt =n i +coefin i +(((ceil i [2],ceil i [0])==(ceil i+1 [2],ceil i+1 [0]))&(n i+1_nxt >ceil i+1 ))
    其中,n i_nxt为所述序为n的输入数据的第i+1个中间系数,n i为所述序为n-1的输入数据的第i+1个输入系数,coefin i为所述第i+1个第一预设系数,ceil i为第i+1个参考系数,所述第i+1个参考系数为所述第i+1个输入系数的可取值个数减1后的值,n i+1_nxt为所述序为n的输入数据的第i+2个中间系数。 Wherein, n i_nxt is the i+1 th intermediate coefficient of the input data in the sequence n, n i is the i+1 th input coefficient in the input data in the sequence n-1, and coefin i is the i+1 th input coefficient of the input data in the sequence n-1. i+1 first preset coefficients, ceil i is the i+1th reference coefficient, and the i+1th reference coefficient is the number of possible values of the i+1th input coefficient minus 1 value, n i+1_nxt is the i+2 th intermediate coefficient of the input data of order n.
  8. 根据权利要求1所述的数据存储方法,其特征在于,基于素因子分解算法确定序为1的输入数据的各个输入系数之前,所述方法还包括:The data storage method according to claim 1, wherein before determining each input coefficient of the input data of order 1 based on a prime factorization algorithm, the method further comprises:
    确定序为0的输入数据的各个输入系数。Each input coefficient of the input data of order 0 is determined.
  9. 根据权利要求1所述的数据存储方法,其特征在于,输入数据的存储地址包括存储块标识和相对存储地址,采用下列公式计算确定序为n的输入数据的存储地址:data storage method according to claim 1, is characterized in that, the storage address of input data comprises storage block identification and relative storage address, adopts following formula calculation to determine the storage address of the input data of n:
    Figure PCTCN2022073622-appb-100002
    Figure PCTCN2022073622-appb-100002
    其中,bank_sel为所述存储块标识,bank_addr为所述相对存储地址,ci和di分别为第一调节参数和第二调节参数,M为所述存储块的个数。Wherein, bank_sel is the storage block identifier, bank_addr is the relative storage address, ci and di are the first adjustment parameter and the second adjustment parameter, respectively, and M is the number of the storage blocks.
  10. 根据权利要求1所述的数据存储方法,其特征在于,所述方法还包括:The data storage method according to claim 1, wherein the method further comprises:
    分别将各个输入系数的可取值个数作为小点数基对所述存储器中的输入数据进行多轮离散傅里叶变换。Multiple rounds of discrete Fourier transform are performed on the input data in the memory, respectively, using the number of possible values of each input coefficient as a small-point basis.
  11. 根据权利要求10所述的数据存储方法,其特征在于,分别将各个 输入系数的可取值个数作为小点数基对所述存储器中的输入数据进行多轮离散傅里叶变换包括:data storage method according to claim 10, is characterized in that, the input data in the described memory is carried out to the input data in the described memory for multiple rounds of discrete Fourier transform respectively by the number of possible values of each input coefficient as a small point basis and comprising:
    在每轮运算中,根据所述小点数基在所述存储器中读取对应数量的数据进行小点数基离散傅里叶变换以得到计算结果;In each round of operation, read a corresponding amount of data in the memory according to the small-point basis and perform discrete Fourier transform on the small-point basis to obtain a calculation result;
    将每轮运算中的计算结果写回该轮运算中读取的数据所存储的存储地址。Write the calculation result in each round of operation back to the storage address where the data read in this round of operation is stored.
  12. 根据权利要求1所述的数据存储方法,其特征在于,所述方法还包括:The data storage method according to claim 1, wherein the method further comprises:
    根据所述素因子分解算法和所述采样点数确定序为1的输出数据的各个输出系数;Determine each output coefficient of the output data in order 1 according to the prime factorization algorithm and the number of sampling points;
    自k=2起,依次根据序为k-1的输出数据的各个输出系数计算得到序为k的输出数据的各个输出系数;Starting from k=2, each output coefficient of the output data in the sequence k is obtained by calculating according to each output coefficient of the output data in the sequence k-1;
    每当确定所述序为k的输出数据的各个输出系数,计算确定所述序为k的输出数据的存储地址并读出该存储地址中存储的数据,以得到所述输出数据。Whenever each output coefficient of the output data in sequence k is determined, the storage address of the output data in sequence k is calculated and determined, and the data stored in the storage address is read out to obtain the output data.
  13. 根据权利要求12所述的数据存储方法,其特征在于,根据所述素因子分解算法和所述采样点数确定序为1的输出数据的各个输出系数包括:The data storage method according to claim 12, wherein each output coefficient of the output data with an order of 1 determined according to the prime factorization algorithm and the number of sampling points comprises:
    计算确定所述采样点数的第二分解式:
    Figure PCTCN2022073622-appb-100003
    Calculate the second decomposition to determine the number of sampling points:
    Figure PCTCN2022073622-appb-100003
    遍历各个输出系数的可取值范围计算确定序为1的输出数据的各个输出系数;Traverse the possible value range of each output coefficient to calculate each output coefficient of the output data whose order is 1;
    其中,k为所述输出数据的序,b i为所述采样点数的第i+1个输出参数,k i为序为k的输出数据的第i+1个输出系数,0≤k<N。 Wherein, k is the sequence of the output data, b i is the i+1 th output parameter of the number of sampling points, ki is the i +1 th output coefficient of the output data whose sequence is k, 0≤k<N .
  14. 根据权利要求13所述的数据存储方法,其特征在于,根据序为k-1的输出数据的各个输出系数计算得到序为k的输出数据的各个输出系数包括:The data storage method according to claim 13, wherein calculating each output coefficient of the output data in the sequence k according to each output coefficient of the output data in the sequence k-1 comprises:
    计算确定所述序为k-1的输出数据的第i+1个输出系数与第i+1个第二预设系数之和,记为所述序为k的输出数据的第i+1个第二系数和;Calculate and determine the sum of the i+1 th output coefficient of the output data in the order k-1 and the i+1 th second preset coefficient, and denote the sum of the i+1 th output data in the order k The second coefficient sum;
    如果i=L-1,将所述序为k的输出数据的第L个第二系数和作为所述序为k的输出数据的第L个中间系数,如果i<L-1,根据所述序为k的输出数据的第i+1个第二系数和以及所述序为k的输出数据的第i+2个中间系数是否满足第二进位条件,确定所述序为k的输出数据的第i+1个中间系数;If i=L-1, use the Lth second coefficient of the output data in the order k and the Lth intermediate coefficient as the output data in the order k, if i<L-1, according to the Whether the i+1 second coefficient sum of the output data in sequence k and the i+2 intermediate coefficient of the output data in sequence k satisfy the second carry condition, determine whether the output data in sequence k i+1 intermediate coefficient;
    判断所述序为k的输出数据的第i+1个中间系数是否小于第i+1个输出系数的可取值个数,如果是,则将所述序为k的输出数据的第i+1个中间系数作为所述序为k的输出数据的第i+1个输出系数,否则,计算所述序为k的输出数据的第i+1个中间系数对所述第i+1个输出系数的可取值个数取模的结果,并将取模的结果作为所述序为k的输出数据的第i+1个输出系数。Judging whether the i+1 th intermediate coefficient of the output data in the sequence k is less than the number of possible values of the i+1 th output coefficients, if so, set the i+1 th intermediate coefficient of the output data in the sequence k 1 intermediate coefficient is used as the i+1 th output coefficient of the output data in the order k, otherwise, the i+1 th intermediate coefficient of the output data in the order k is calculated for the i+1 th output The result of taking the modulo of the number of possible values of the coefficients is taken as the i+1 th output coefficient of the output data in sequence k.
  15. 一种数据存储装置,其特征在于,所述装置包括:A data storage device, characterized in that the device comprises:
    第一确定模块,用于确定离散傅里叶变换的采样点数,并根据素因子分解算法和所述采样点数确定序为1的输入数据的各个输入系数;The first determination module is used to determine the number of sampling points of discrete Fourier transform, and according to the prime factorization algorithm and the number of sampling points to determine each input coefficient of the input data of order 1;
    第一计算模块,用于自n=2起,依次根据序为n-1的输入数据的各个输入系数计算得到序为n的输入数据的各个输入系数;The first calculation module is used to obtain each input coefficient of the input data in the sequence n according to the input coefficients of the input data in the sequence n-1 in turn from n=2;
    输入模块,用于每当确定所述序为n的输入数据的各个输入系数,获取所述序为n的输入数据,并根据所述序为n的输入数据的各个输入系数计算确定所述序为n的输入数据的存储地址,然后将所述序为n的输入数据写入存储器的该存储地址中。The input module is configured to obtain the input data of the sequence n whenever each input coefficient of the input data of the sequence n is determined, and calculate and determine the sequence of the input data of the sequence n according to each input coefficient of the input data of the sequence n. is the storage address of the input data of n, and then the input data of sequence n is written into the storage address of the memory.
  16. 一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1至14中任一项所述数据存储方法的步骤。A storage medium on which a computer program is stored, characterized in that, when the computer program is run by a processor, the steps of the data storage method according to any one of claims 1 to 14 are executed.
  17. 一种用户设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求1至14中任一项所述数据存储方法的步骤。A user equipment, comprising a memory and a processor, the memory stores a computer program that can be run on the processor, characterized in that, when the processor runs the computer program, the processor executes any of claims 1 to 14 The steps of any one of the data storage methods.
  18. 一种网络侧设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求1至14中任一项所述数据存储方法的步骤。A network side device, comprising a memory and a processor, the memory stores a computer program that can run on the processor, wherein the processor executes claims 1 to 14 when running the computer program The steps of any one of the data storage methods.
PCT/CN2022/073622 2021-01-29 2022-01-25 Data storage method and apparatus, storage medium, user equipment, and network side device WO2022161330A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110128760.0A CN112905110B (en) 2021-01-29 2021-01-29 Data storage method and device, storage medium, user equipment and network side equipment
CN202110128760.0 2021-01-29

Publications (1)

Publication Number Publication Date
WO2022161330A1 true WO2022161330A1 (en) 2022-08-04

Family

ID=76121468

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/073622 WO2022161330A1 (en) 2021-01-29 2022-01-25 Data storage method and apparatus, storage medium, user equipment, and network side device

Country Status (2)

Country Link
CN (1) CN112905110B (en)
WO (1) WO2022161330A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112905110B (en) * 2021-01-29 2023-03-24 展讯半导体(成都)有限公司 Data storage method and device, storage medium, user equipment and network side equipment
CN114356408A (en) * 2021-01-29 2022-04-15 展讯半导体(成都)有限公司 Method, device, apparatus and storage medium for processing DFT with 12-fold-number-point basis

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5249150A (en) * 1990-05-03 1993-09-28 Landis & Gyr Betriebs Ag Process and circuit to determine estimates of the instantaneous value of parameters of at least one sinusoidal signal with constant and known frequency which is an additive component of a measuring signal
US6078745A (en) * 1997-03-29 2000-06-20 Siemens Ag Method and apparatus for size optimization of storage units
CN101667984A (en) * 2008-09-04 2010-03-10 上海明波通信技术有限公司 3780-point fast Fourier transform processor and computing control method thereof
CN102880592A (en) * 2012-10-09 2013-01-16 苏州威士达信息科技有限公司 High-precision processing device and high-precision processing method for 3780-point FFT (fast Fourier transform) by sequential output
CN103777896A (en) * 2012-10-10 2014-05-07 阿尔特拉公司 3D memory based address generator
CN108062289A (en) * 2018-01-25 2018-05-22 天津芯海创科技有限公司 Fast Fourier Transform (FFT) FFT changes sequence method, signal processing method and device in address
CN111737638A (en) * 2020-06-11 2020-10-02 Oppo广东移动通信有限公司 Data processing method based on Fourier transform and related device
CN112905110A (en) * 2021-01-29 2021-06-04 展讯半导体(成都)有限公司 Data storage method and device, storage medium, user equipment and network side equipment

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6490672B1 (en) * 1998-05-18 2002-12-03 Globespanvirata, Inc. Method for computing a fast fourier transform and associated circuit for addressing a data memory
KR100483462B1 (en) * 2002-11-25 2005-04-14 삼성전자주식회사 Apparatus for Fast Fourier Transmitting, Method for Fast Fourier Transmitting, and Orthogonal Frequency Division Multiplexing receiving device having the same
KR20130071683A (en) * 2011-12-21 2013-07-01 에릭슨 엘지 주식회사 Apparatus and method for discrete fourier transforming having reduced time delay
US9459812B2 (en) * 2014-02-03 2016-10-04 Ceva D.S.P. Ltd. System and method for zero contention memory bank access in a reorder stage in mixed radix discrete fourier transform
CN104657335A (en) * 2015-02-04 2015-05-27 航天科工深圳(集团)有限公司 FFT (fast Fourier transform)-based data sampling method and FFT-based data sampling device
CN105045766B (en) * 2015-06-29 2019-07-19 深圳市中兴微电子技术有限公司 Data processing method and processor based on the transformation of 3072 point quick Fouriers
CN107391440B (en) * 2017-07-31 2020-07-17 苏州浪潮智能科技有限公司 Processing device and method for output data of fast Fourier transform algorithm
CN108279978A (en) * 2018-01-17 2018-07-13 新联智慧信息技术(深圳)有限公司 The computational methods and system of big data
CN111435383B (en) * 2020-01-14 2023-06-20 珠海市杰理科技股份有限公司 Data processing method, data processing chip and electronic equipment

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5249150A (en) * 1990-05-03 1993-09-28 Landis & Gyr Betriebs Ag Process and circuit to determine estimates of the instantaneous value of parameters of at least one sinusoidal signal with constant and known frequency which is an additive component of a measuring signal
US6078745A (en) * 1997-03-29 2000-06-20 Siemens Ag Method and apparatus for size optimization of storage units
CN101667984A (en) * 2008-09-04 2010-03-10 上海明波通信技术有限公司 3780-point fast Fourier transform processor and computing control method thereof
CN102880592A (en) * 2012-10-09 2013-01-16 苏州威士达信息科技有限公司 High-precision processing device and high-precision processing method for 3780-point FFT (fast Fourier transform) by sequential output
CN103777896A (en) * 2012-10-10 2014-05-07 阿尔特拉公司 3D memory based address generator
CN108062289A (en) * 2018-01-25 2018-05-22 天津芯海创科技有限公司 Fast Fourier Transform (FFT) FFT changes sequence method, signal processing method and device in address
CN111737638A (en) * 2020-06-11 2020-10-02 Oppo广东移动通信有限公司 Data processing method based on Fourier transform and related device
CN112905110A (en) * 2021-01-29 2021-06-04 展讯半导体(成都)有限公司 Data storage method and device, storage medium, user equipment and network side equipment

Also Published As

Publication number Publication date
CN112905110B (en) 2023-03-24
CN112905110A (en) 2021-06-04

Similar Documents

Publication Publication Date Title
WO2022161330A1 (en) Data storage method and apparatus, storage medium, user equipment, and network side device
WO2019154425A1 (en) Pilot signal generation method and apparatus
WO2022068836A1 (en) Method and apparatus for transmitting positioning reference signals, storage medium and terminal
WO2019157677A1 (en) Method for blind detection of physical downlink control channel and terminal device
WO2019104485A1 (en) Power distribution method and device
TWI697239B (en) Resource block group division method and user terminal
CN111327409B (en) Data transmission method and device
WO2020052646A1 (en) Method and device for generating reference signal
RU2725975C1 (en) Method of transmitting pdu control unit of status report at rlc level and concomitant device
TW201844038A (en) Method for transmitting signal, network equipment, and terminal equipment
US20230141169A1 (en) Sequence-based signal processing method and apparatus
WO2019154127A1 (en) Uplink information transmission method and terminal device
KR20120091417A (en) Methods and apparatus for improving header compression
WO2022121646A1 (en) Signal generation method and apparatus, storage medium, chip, and related device
WO2018137667A1 (en) Data transmission method and device, and information transmission method and device
WO2019136711A1 (en) Signal transmission method, terminal device and network device
WO2019028842A1 (en) Communication method, terminal device and network device
WO2020199822A1 (en) Resource allocation method and apparatus, storage medium, and user equipment
CN114765511A (en) Method and device for transmitting secondary link of unlicensed spectrum and computer-readable storage medium
CN110933758B (en) Interference coordination method and device, and base station
CN111277375B (en) Resource allocation method and device
CN112822139B (en) Data input and data conversion method and device
CN113411176B (en) PDSCH (physical Downlink shared channel) de-resource mapping method and device, computer readable storage medium and baseband chip
TW201924465A (en) Method and device of wireless communication
WO2019047757A1 (en) Resource indication and determination method and device

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: 22745205

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: 22745205

Country of ref document: EP

Kind code of ref document: A1