Twist factor determination method and device, electronic device, and storage medium

By obtaining rotation factor information in electronic devices based on the maximum parallelism degree and number of transformation points of the butterfly operation module, and obtaining each rotation factor in parallel in the lookup table, the problem that electronic devices cannot provide rotation factor in time during Fourier transformation is solved, and computing efficiency and communication performance are improved.

CN114090948BActive Publication Date: 2025-03-14伟光有限公司(CN)
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111187747.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-10-12
Publication Date
2025-03-14
Estimated Expiration
2041-10-12

AI Technical Summary

Technical Problem

When electronic devices perform a large number of Fourier transforms, they cannot provide rotation factors in time, resulting in a decrease in computing efficiency and a decrease in communication performance.

Method used

By obtaining the rotation factor information of each butterfly operation level based on the maximum parallelism degree supported by the butterfly operation module of the electronic device and the number of transformation points corresponding to the initial data, the rotation factor information of each rotation factor is obtained in parallel in the rotation factor lookup table to support the parallel phase rotation of the Fourier transform.

Benefits of technology

The efficiency of electronic devices in computing Fourier transform is improved, communication performance is enhanced, and electronic devices can process communication data faster.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114090948B_ABST
    Figure CN114090948B_ABST
Patent Text Reader

Abstract

A method and device for determining a rotation factor, an electronic device, and a storage medium. The method is applied to an electronic device, and the method includes: obtaining first rotation factor information corresponding to each butterfly operation level called by the butterfly operation module according to the maximum parallelism supported by the butterfly operation module of the electronic device and the number of transformation points corresponding to the initial data, wherein the number of transformation points is used to define the number of sampling points for Fourier transforming the initial data; according to the first rotation factor information corresponding to the target butterfly operation level, obtaining in parallel in a rotation factor lookup table the rotation factors corresponding to the butterfly units included in the target butterfly operation level, wherein the target butterfly operation level is any butterfly operation level called by the butterfly operation module, and the rotation factor lookup table includes the rotation factors determined in advance according to the maximum number of transformation points. Implementing the embodiments of the present application can improve the efficiency of the electronic device in calculating Fourier transforms, thereby improving the communication performance of the electronic device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of mobile communication technology, and in particular to a method and device for determining a rotation factor, an electronic device, and a storage medium. Background Art

[0002] At present, electronic devices (such as smart phones, computers, base stations, etc.) usually need to process communication data through transceivers and other devices when communicating. In the process of processing communication data, Fourier transform is a necessary calculation step that needs to be performed multiple times. However, it is found in practice that when a large number of Fourier transforms are required for communication data, electronic devices are often unable to provide the twiddle factors (Twiddle Factor) required in the transformation calculation process in a timely manner, resulting in a decrease in the efficiency of the electronic device in calculating the Fourier transform, thereby reducing the communication performance of the electronic device. Summary of the invention

[0003] The embodiments of the present application disclose a method and device for determining a rotation factor, an electronic device, and a storage medium, which can provide the electronic device with the rotation factors required for calculating Fourier transform in parallel, thereby improving the efficiency of the electronic device in calculating Fourier transform, and further improving the communication performance of the electronic device.

[0004] In a first aspect, an embodiment of the present application discloses a method for determining a rotation factor, which is applied to an electronic device. The method includes:

[0005] According to the maximum parallelism supported by the butterfly operation module of the electronic device and the number of transformation points corresponding to the initial data, obtaining first rotation factor information corresponding to each butterfly operation level called by the butterfly operation module, wherein the number of transformation points is used to define the number of sampling points for Fourier transforming the initial data;

[0006] According to the first rotation factor information corresponding to the target butterfly operation level, each rotation factor corresponding to the butterfly unit included in the target butterfly operation level is obtained in parallel in the rotation factor lookup table, and each rotation factor is used to perform phase rotation in parallel on the data before or after Fourier transform in the butterfly unit included in the target butterfly operation level, wherein the target butterfly operation level is any butterfly operation level called by the butterfly operation module, and the rotation factor lookup table includes each rotation factor determined in advance according to the maximum number of transformation points.

[0007] A second aspect of an embodiment of the present application discloses a rotation factor determination device, which is applied to an electronic device. The rotation factor determination device includes:

[0008] A first acquisition unit is used to acquire first rotation factor information corresponding to each butterfly operation level called by the butterfly operation module according to the maximum parallelism supported by the butterfly operation module of the electronic device and the number of transformation points corresponding to the initial data, wherein the number of transformation points is used to define the number of sampling points for Fourier transforming the initial data;

[0009] A second acquisition unit is used to obtain, in parallel, from a rotation factor lookup table, each rotation factor corresponding to a butterfly unit included in the target butterfly operation level according to first rotation factor information corresponding to the target butterfly operation level, wherein each rotation factor is used to perform phase rotation in parallel on data before or after Fourier transformation in the butterfly unit included in the target butterfly operation level, wherein the target butterfly operation level is any butterfly operation level called by the butterfly operation module, and the rotation factor lookup table includes each rotation factor determined in advance according to the maximum number of transformation points.

[0010] A third aspect of an embodiment of the present application discloses an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and when the computer program is executed by the processor, the processor implements all or part of the steps in any one of the rotation factor determination methods disclosed in the first aspect of the embodiment of the present application.

[0011] A fourth aspect of an embodiment of the present application discloses a computer-readable storage medium storing a computer program, wherein when the computer program is executed by a processor, all or part of the steps in any one of the rotation factor determination methods disclosed in the first aspect of the embodiment of the present application are implemented.

[0012] Compared with the related art, the embodiments of the present application have the following beneficial effects:

[0013] In an embodiment of the present application, an electronic device that applies the rotation factor determination method can obtain the first rotation factor information corresponding to each butterfly operation level called by the butterfly operation module according to the maximum parallelism supported by the butterfly operation module of the electronic device and the number of transformation points corresponding to the initial data to be Fourier transformed. Wherein, the above-mentioned number of transformation points can be used to define the number of sampling points for Fourier transforming the initial data. On this basis, the electronic device can obtain the respective rotation factors corresponding to the butterfly units included in the target butterfly operation level in parallel in the rotation factor lookup table according to the first rotation factor information corresponding to the target butterfly operation level, and the respective rotation factors are used in the butterfly units included in the above-mentioned target butterfly operation level to perform phase rotation on the data before or after Fourier transform in parallel, wherein the target butterfly operation level can be any butterfly operation level called by the above-mentioned butterfly operation module, and the above-mentioned rotation factor lookup table includes the respective rotation factors determined in advance according to the maximum number of transformation points. It can be seen that by implementing the embodiments of the present application, when the electronic device needs to perform Fourier transform on the initial data during the communication process, it can determine the corresponding number of rotation factors in parallel according to the maximum parallelism supported by its built-in butterfly operation module, thereby being able to provide the electronic device with the rotation factors required for calculating the Fourier transform in a timely and efficient manner, thereby improving the efficiency of the electronic device in calculating the Fourier transform, and further speeding up the efficiency of the electronic device in processing communication data during the communication process, thereby effectively improving the communication performance of the electronic device. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0015] Figure 1 It is a schematic diagram of an application scenario of a method for determining a rotation factor disclosed in an embodiment of the present application;

[0016] Figure 2A It is a structural schematic diagram of an electronic device disclosed in an embodiment of the present application;

[0017] Figure 2B It is a structural schematic diagram of an electronic device disclosed in an embodiment of the present application;

[0018] Figure 3 It is a flowchart of a method for determining a rotation factor disclosed in an embodiment of the present application;

[0019] Figure 4 It is a flowchart of another method for determining a rotation factor disclosed in an embodiment of the present application;

[0020] Figure 5A It is a structural schematic diagram of a butterfly operation module disclosed in an embodiment of the present application;

[0021] Figure 5B It is a structural schematic diagram of another butterfly operation module disclosed in an embodiment of the present application;

[0022] Figure 6 It is a flowchart of another method for determining a rotation factor disclosed in an embodiment of the present application;

[0023] Figure 7 It is a modular schematic diagram of a rotation factor determination device disclosed in an embodiment of the present application;

[0024] Figure 8 It is a modular schematic diagram of an electronic device disclosed in an embodiment of the present application. DETAILED DESCRIPTION

[0025] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0026] It should be noted that the terms "including" and "having" and any variations of the embodiments of the present application are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0027] The embodiments of the present application disclose a method and device for determining a rotation factor, an electronic device, and a storage medium, which can provide the electronic device with the rotation factors required for calculating Fourier transform in parallel, thereby improving the efficiency of the electronic device in calculating Fourier transform, and further improving the communication performance of the electronic device.

[0028] The following is a detailed description with reference to the accompanying drawings.

[0029] See also Figure 1 , Figure 1is a schematic diagram of an application scenario of a method for determining a rotation factor disclosed in an embodiment of the present application, which may include an electronic device 100 in a mobile communication scenario. Exemplarily, the electronic device 100 may include various terminal devices or systems with communication functions, such as smart phones, smart wearable devices, vehicle-mounted terminals, tablet computers, PCs (Personal Computers), PDAs (Personal Digital Assistants), televisions, etc. Optionally, the electronic device 100 may also include base stations, relay stations, routers, and other devices or systems with communication data transmission (especially relay transceiver) functions.

[0030] For example, if Figure 1 As shown, the electronic device 100 to which the rotation factor determination method is applied may include smart phones 101, 102 and a base station 103, wherein the smart phone 101 may communicate with the smart phone 102 through the base station 103. Specifically, the smart phones 101 and 102 may respectively establish communication connections with the base station 103, so that they may respectively communicate and transmit data with the base station 103 based on the communication connections. In some embodiments, the above-mentioned base station 103 may include only one, that is, smartphones 101 and 102 may communicate with the same base station 103 respectively, and the base station 103 transmits the communication data sent by smartphone 101 to smartphone 102, and transmits the communication data sent by smartphone 102 to smartphone 101; in other embodiments, the above-mentioned base station 103 may also include multiple ones, that is, smartphones 101 and 102 may communicate with their respective nearby base stations 103 respectively, and at least two base stations 103 (that is, at least including the base stations 103 near smartphones 101 and 102) may communicate directly with each other, or communicate indirectly through other base stations 103, so as to send the communication data sent by smartphones 101 and 102 to each other. It should be noted that Figure 1 The electronic device 100 shown is a smart phone and a base station, which is merely an example and should not be regarded as a limitation on the device type of the electronic device 100 in the embodiments of the present application.

[0031] Exemplarily, the communication connection established between the above-mentioned electronic devices 100 can be established based on various mobile communication standards such as 4G LTE (Long Term Evolution) and 5G NR (New Radio). It should be noted that in order to transmit communication data based on the above-mentioned communication connection, the electronic device 100 must also be configured with a transceiver that supports the above-mentioned standards. Exemplarily, the transceiver can be an OFDM (Orthogonal Frequency Division Multiplexing) transceiver, that is, a transceiver that implements multi-carrier modulation (Multicarrier Modulation, MCM) based on orthogonal frequency division multiplexing technology. The OFDM transceiver can modulate and demodulate the communication data through IFFT (Inverse Fast Fourier Transform) and FFT (Fast Fourier Transform), respectively. In some embodiments, the transceiver configured in the electronic device 100 may also support other modulation and demodulation types, such as PSK (Phase-Shift Keying), QAM (Quadrature Amplitude Modulation), etc., which are not specifically limited in the embodiments of the present application.

[0032] Taking OFDM transceiver as an example, please refer to Figure 2A as well as Figure 2B ,in, Figure 2A is a schematic diagram of the structure of an electronic device disclosed in an embodiment of the present application, Figure 2B FIG. 1 is a schematic diagram of the structure of an electronic device disclosed in an embodiment of the present application. Figure 2AAs shown, the OFDM transmitter 20 configured in the electronic device 100 may include a modulation module 21, a first serial-to-parallel conversion module 22, a subcarrier mapping module 23, a first butterfly operation module 24, a first parallel-to-serial conversion module 25, a post-processing module 26 and a first storage module 27. Among them, the modulation module 21 can be used to perform constellation point modulation on the communication data bit stream to be transmitted, and then pass through the first serial-to-parallel conversion module 22 and the subcarrier mapping module 23, and the obtained first initial data to be IFFT can be input into the first butterfly operation module 24. In the first butterfly operation module 24, through multiple levels and multiple butterfly units arranged in parallel in each level, the above-mentioned first initial data can be efficiently parallelized. IFFT calculation. In this process, the first butterfly operation module 24 can call the corresponding parallelism rotation factor (Twiddle Factor) from the first storage module 27 for use in the above-mentioned transformation calculation process. Furthermore, the first result data obtained after IFFT calculation of the above-mentioned first initial data passes through the first parallel-to-serial conversion module 25 and the post-processing module 26 (which can be used for post-processing steps such as adding a cyclic prefix, up-conversion, and radio frequency processing), and the transmitter 20 can obtain a corresponding transmission signal for the electronic device 100 to send communication data.

[0033] like Figure 2B As shown, the OFDM receiver 30 configured in the electronic device 100 may include a preprocessing module 31, a second serial-to-parallel conversion module 32, a second butterfly operation module 33, a subcarrier demapping module 34, a second parallel-to-serial conversion module 35, a demodulation module 36 and a second storage module 37. Among them, after the received signal received by the receiver 30 passes through the preprocessing module 31 (which can be used for preprocessing steps such as RF processing, down-conversion, and cyclic prefix removal) and the second serial-to-parallel conversion module 32, the second initial data to be FFT can be input into the second butterfly operation module 33. In the second butterfly operation module 33, through multiple levels and multiple butterfly units arranged in parallel in each level, the second initial data can be efficiently parallelized FFT calculated. In this process, the second butterfly operation module 33 can call the rotation factor of the corresponding parallelism from the second storage module 37 for use in the above transformation calculation process. Optionally, the above second storage module 37 can reuse the above first storage module 27. Furthermore, the second result data obtained after FFT calculation of the above-mentioned second initial data passes through the subcarrier demapping module 34, the second parallel-to-serial conversion module 35 and the demodulation module 36, and the receiver 30 can obtain corresponding communication data, thereby realizing the electronic device 100 to receive the communication data.

[0034] Whether in the process of calculating IFFT by the first butterfly operation module 24 of the transmitter 20 or in the process of calculating FFT by the second butterfly operation module 33 of the receiver 30, the butterfly operation module can perform efficient parallel Fourier transform, which requires the electronic device 100 to provide the corresponding parallel rotation factor in a timely manner. In an embodiment of the present application, the electronic device 100 can obtain the first rotation factor information corresponding to each butterfly operation level called by the butterfly operation module according to the maximum parallelism supported by the butterfly operation module of the electronic device 100 and the number of transformation points corresponding to the initial data to be Fourier transformed. Among them, the above-mentioned number of transformation points can be used to define the number of sampling points for Fourier transforming the initial data. On this basis, the electronic device 100 can obtain in parallel from the rotation factor lookup table the various rotation factors corresponding to the butterfly units included in the target butterfly operation level according to the first rotation factor information corresponding to the target butterfly operation level, and the rotation factor is used to perform phase rotation in parallel on the data before or after Fourier transform in the above-mentioned butterfly unit, wherein the target butterfly operation level can be any butterfly operation level called by the above-mentioned butterfly operation module, and the above-mentioned rotation factor lookup table includes various rotation factors determined in advance according to the maximum number of transformation points.

[0035] It can be seen that by implementing the embodiments of the present application, when the electronic device 100 needs to perform Fourier transform on the initial data during the communication process, it can determine the corresponding number of rotation factors in parallel according to the maximum parallelism supported by its built-in butterfly operation module, thereby being able to provide the electronic device 100 with the rotation factors required for calculating the Fourier transform in a timely and efficient manner, thereby improving the efficiency of the electronic device 100 in calculating the Fourier transform, and further speeding up the efficiency of the electronic device 100 in processing communication data during the communication process, thereby effectively improving the communication performance of the electronic device 100.

[0036] See also Figure 3 , Figure 3 is a flow chart of a method for determining a rotation factor disclosed in an embodiment of the present application, and the method for determining a rotation factor can be applied to the above-mentioned electronic device. Figure 3 As shown, the method for determining the rotation factor may include the following steps:

[0037] 302. According to the maximum parallelism supported by the butterfly operation module of the electronic device and the number of transformation points corresponding to the initial data, obtain the first rotation factor information corresponding to each butterfly operation level called by the butterfly operation module, wherein the number of transformation points is used to define the number of sampling points for Fourier transforming the initial data.

[0038] In the embodiment of the present application, when an electronic device needs to communicate with other electronic devices, that is, when the electronic device sends communication data to other electronic devices, or when the electronic device receives communication data sent by other electronic devices, the corresponding data transceiver processing can be performed through its built-in transceiver (such as an OFDM transmitter or an OFDM receiver, etc.). In this process, the butterfly operation module included in the transceiver can be used to perform corresponding transformation calculations on the initial data to be Fourier transformed after other front-end modules process the communication data, so as to assist in the modulation or demodulation of the communication data.

[0039] Optionally, the transformation calculation may include FFT or IFFT. Exemplarily, when the electronic device needs to send communication data through its built-in transmitter, the butterfly operation module may be used to perform IFFT calculation on the initial data to assist in the modulation and transmission of the communication data; when the electronic device needs to send communication data through its built-in receiver, the butterfly operation module may be used to perform FFT calculation on the initial data to assist in the reception and demodulation of the communication data.

[0040] Specifically, in order to implement the above transformation calculation, the electronic device needs to first determine the rotation factor required in the transformation calculation process, and the rotation factor can be used as a complex constant multiplied in the butterfly operation process of FFT or IFFT (which can rotate the multiplicand on the complex plane). As shown in the following formula 1, formula 1 represents the process of Fourier transforming the sequence x(n) composed of the initial data.

[0041] Formula 1:

[0042]

[0043] Among them, x(n) and X(k) represent the sequences before and after the transformation, n and k represent the sequence numbers of the elements in the sequences before and after the transformation (i.e., the initial data and the result data obtained after the transformation), and N represents the number of Fourier transform points. That is, it represents the rotation factor. As shown in Formula 2, the rotation factor In fact, it can be expressed in the form of exponential power.

[0044] Formula 2:

[0045]

[0046] Wherein, e is the natural exponent and j is the imaginary unit. It should be noted that in the FFT and IFFT for the same set of data, the rotation factors used in the butterfly operation can be conjugate complex numbers of each other, for example, is the rotation factor used in the FFT calculation process, then its conjugate complex number It can be used as the rotation factor used in the corresponding IFFT calculation process.

[0047] As mentioned above Figure 2A and Figure 2B As shown, each time the electronic device performs Fourier transform on the initial data, the butterfly operation module of its transceiver can obtain the rotation factor from the storage module for performing the butterfly operation in FFT or IFFT. Specifically, the electronic device can factorize the number of transformation points corresponding to the initial data to be Fourier transformed according to the maximum parallelism supported by the above-mentioned butterfly operation module to obtain a first decomposition factor. Among them, the above-mentioned number of transformation points can be used to define the number of sampling points for Fourier transforming the initial data, that is, the number of butterfly operations required in one transformation process. Exemplarily, the factorization process can be shown as the following formula 3.

[0048] Formula 3:

[0049] N=N1*N2*N3*...

[0050] Among them, N1*N2*N3*... represents the first decomposition factor obtained by factoring the transformation point number N, and the first decomposition factor can be used to characterize the number of butterfly operation levels called by the above-mentioned butterfly operation module and the size of the butterfly unit contained in each butterfly operation level. It can be understood that the first decomposition factor can include at least two factors N1 and N2, and the above-mentioned butterfly operation module can call two butterfly operation levels accordingly, wherein the size of the butterfly unit contained in the first butterfly operation level is N1, and the size of the butterfly unit contained in the second butterfly operation level is N2. In some embodiments, the first decomposition factor can also include three factors (N1, N2 and N3) or more, so that the above-mentioned butterfly operation module can call more butterfly operation levels accordingly.

[0051] Optionally, each of the above butterfly operation levels may include one or more butterfly units. When the target butterfly operation level includes only one butterfly unit, the size of the butterfly unit is determined by the above decomposition factor corresponding to the target butterfly operation level; when the target butterfly operation level includes multiple butterfly units, the sizes of the multiple butterfly units are equal and are all determined by the above decomposition factor corresponding to the target butterfly operation level, so that the butterfly operations in the target butterfly operation level can be completed in parallel, so as to further improve the efficiency of the electronic device in calculating Fourier transform.

[0052] It should be noted that when the butterfly units required to be included in different butterfly operation levels are of the same size, the above-mentioned different butterfly operation levels can reuse the same butterfly unit. Exemplarily, if the above-mentioned N=N1*N2*N3, and N1<N2=N3, then the butterfly operation module of the electronic device can reuse the same butterfly unit of size N2 at the second and third butterfly operation levels. Exemplarily again, if N=N1*N2*N3 and N1=N2=N3, then the butterfly operation module of the electronic device can only reuse the same butterfly unit of size N1, that is, it can realize three-level butterfly operation.

[0053] Among them, if the size of the above-mentioned butterfly unit is N1, it means that the butterfly unit can be used to perform butterfly operation on the input N1 initial data and obtain corresponding N1 outputs. Specifically, the above-mentioned N1 initial data can be input into the butterfly unit in the same clock cycle, and after being processed by the butterfly unit, corresponding N1 calculation results can be obtained. It can be understood that the arrangement order of the above-mentioned N1 calculation results and the original arrangement order of the N1 initial data can be the same. Without considering the rotation factor, the calculation results corresponding to each butterfly operation level can be directly written into the memory (Memory) for storage according to the original arrangement order, so that when the next level (if any) of butterfly operation is required, it is read out from the memory according to different reading rules and applied to the next butterfly operation level. After the last level of butterfly operation is completed, the various result data obtained can be re-ordered (which can be determined by the properties of the butterfly unit) to be stored in the memory according to the re-ordered arrangement order.

[0054] For example, taking an 8-point butterfly unit (i.e., the size of the butterfly unit is 8) as an example, when the butterfly unit is reused to perform butterfly operations in a three-level radix-2 FFT on 8 initial data x[0], x[1], ..., x[7], the corresponding reordered result data X[0], X[4], X[2], X[6], X[1], X[5], X[3], X[7] can be obtained. In this process, when the butterfly unit included in the first-level butterfly operation reads the initial data from the memory, its reading rule can be such that the difference between the arrangement numbers of each pair of input initial data is 4 (for example, reading x[0] and x[4] for butterfly operation, reading x[1] and x[5] for butterfly operation, etc.); similarly, the reading rules corresponding to the second and third-level butterfly operations can be such that the difference between the arrangement numbers of each pair of input data is 2 and 1 respectively, so that the result data shown in the above arrangement order can be finally obtained.

[0055] In the above factorization process, in order to make the best use of the parallel computing resources of the butterfly operation module, the size of the butterfly units contained in each butterfly operation level can be made to reach the maximum parallelism supported by the butterfly operation module as much as possible. Exemplarily, the maximum parallelism R can be an integer power of a specified base r. For example, for base 2 FFT (i.e., r=2), the above maximum parallelism R can be an integer power of 2, such as 2, 4, 8, 16, etc.; for another example, for base 3 FFT (i.e., r=3), the above maximum parallelism R can be an integer power of 3, such as 3, 9, 27, etc. Optionally, the maximum parallelism R can also be an integer power of a mixed base. For example, for the common multiple 60 of the bases 2, 3, and 5 commonly used in mobile communications, the common multiple can be used as the mixed base r, and the above maximum parallelism R can be an integer power of the mixed base 60.

[0056] Specifically, in the process of factoring the above-mentioned number of transformation points, the number of transformation points can be continuously divided by the above-mentioned maximum parallelism until it can no longer be divided evenly. Exemplarily, taking the maximum parallelism R=16 as an example, for the Fourier transform with the number of transformation points N=128, it can be decomposed into 128=16*8 (128÷16=8, 8 can no longer be divided evenly), that is, N1=16, N2=8. Thus, the above-mentioned butterfly operation module can correspondingly call two butterfly operation levels, and the size of the butterfly unit included in the first butterfly operation level is 16, and the size of the butterfly unit included in the second butterfly operation level is 8.

[0057] In some embodiments, still taking the maximum parallelism R=16 as an example, for the Fourier transform with the number of transformation points N=1024, it can be decomposed into 1024=16*16*4 (1024÷16=64, 64÷16=4, 4 cannot be further divided), that is, N1=16, N2=16, N3=4. For the Fourier transform with the number of transformation points N=4096 (the maximum number of transformation points supported by 5G NR), it can be decomposed into 4096=16*16*16 (4096÷16=256, 256÷16=16, 16÷16=1, 1 cannot be further divided and can be omitted), that is, N1=16, N2=16, N3=16.

[0058] It can be understood that, in the first decomposition factor, at most only one factor is smaller than the maximum parallelism, that is, at most only one butterfly operation level contains a butterfly unit whose size is smaller than the maximum parallelism. Optionally, for different cases where the rotation factor is pre-placed or post-placed (the above example is the case where the rotation factor is post-placed), the order of the factors in the first decomposition factor can be reversed, so that if there is a butterfly operation level containing a butterfly unit whose size is smaller than the maximum parallelism, the butterfly operation level can be the first level or the last level respectively.

[0059] On this basis, the electronic device can determine in parallel in subsequent steps the various rotation factors corresponding to the butterfly units included in the target butterfly operation level for the above-mentioned various butterfly operation levels, so as to timely and efficiently provide the electronic device with the rotation factors required for calculating the Fourier transform, so as to improve the efficiency of the electronic device in calculating the Fourier transform. The target butterfly operation level can be any butterfly operation level called by the above-mentioned butterfly operation module.

[0060] In an embodiment of the present application, after obtaining the above-mentioned first decomposition factor, the electronic device can determine the first rotation factor information corresponding to each butterfly operation level for each butterfly operation level represented by the first decomposition factor. In some embodiments, the first rotation factor information may include a first rotation factor expression, wherein the first rotation factor expression may have a form similar to that shown in the above formula 2. It can be understood that when the parameters such as the number of transformation points N in the above formula 2 are determined, the exponent of its exponential power form (with the natural exponent e as the base) can be uniquely determined, so that it can be used to calculate the specific value of the first rotation factor expression. It should be noted that for the same butterfly operation level, the rotation factors corresponding to the butterfly units contained therein can be applied to the same first rotation factor expression, so that after determining the first rotation factor expression corresponding to the target butterfly operation level, the rotation factors corresponding to the butterfly units contained in the target butterfly operation level can be determined in parallel based on the first rotation factor expression. Optionally, for different butterfly operation levels, the first rotation factor expressions corresponding to each butterfly operation level may be the same or different.

[0061] In order to reduce the amount of calculation and save calculation time when the electronic device actually calculates the Fourier transform of the initial data, the electronic device can pre-calculate the specific values ​​of each rotation factor corresponding to the butterfly unit contained in each butterfly operation level to form a corresponding rotation factor lookup table, which is stored in the storage module of the electronic device transceiver. On this basis, the electronic device can, in subsequent steps, respectively search for each butterfly operation level in parallel in the above rotation factor lookup table based on its corresponding first rotation factor information for each butterfly operation level (at this time, the above transformation point number N and other parameters can be determined in turn) The corresponding rotation factors of the butterfly units contained in the same butterfly operation level.

[0062] 304. According to the first rotation factor information corresponding to the target butterfly operation level, the rotation factors corresponding to the butterfly units included in the target butterfly operation level are obtained in parallel from the rotation factor lookup table, and the rotation factors are used to perform phase rotation in parallel on the data before or after Fourier transformation in the butterfly units included in the above target butterfly operation level, wherein the target butterfly operation level is any butterfly operation level called by the butterfly operation module, and the rotation factor lookup table includes the rotation factors determined in advance according to the maximum number of transformation points.

[0063] In an embodiment of the present application, after determining the first rotation factor information corresponding to the target butterfly operation level, the electronic device can respectively determine the parameters in each rotation factor corresponding to the butterfly unit specifically included in the target butterfly operation level (similar to the parameters such as the number of transformation points N in the above formula 2), thereby obtaining the rotation factors corresponding to the above butterfly unit and the specific values ​​to be calculated. Furthermore, the electronic device can directly search for the specific values ​​corresponding to each pre-calculated rotation factor in the rotation factor lookup table, thereby avoiding the complex calculation process of calculating the complex exponential power, effectively reducing the overall calculation amount when the electronic device calculates the Fourier transform, and saving the calculation time of the electronic device.

[0064] It should be noted that the above-mentioned rotation factor lookup table can be stored in the storage module of the electronic device transceiver. Since the rotation factors corresponding to the butterfly units contained in the same butterfly operation level are associated, the specific values ​​of the above-mentioned rotation factors can be stored in a continuous area in the storage module, or the mapping addresses corresponding to their specific values ​​can be stored in a continuous area in the storage module. On this basis, the electronic device can obtain the specific values ​​of the above-mentioned rotation factors from the storage module in parallel, so as to realize the parallel and synchronous reading of the rotation factors corresponding to the butterfly units contained in the target butterfly operation level, so as to provide the electronic device with the rotation factors required for calculating the Fourier transform in a timely and efficient manner, which is conducive to further improving the efficiency of the electronic device in calculating the Fourier transform.

[0065] It can be seen that by implementing the rotation factor determination method described in the above embodiment, when the electronic device needs to perform Fourier transform on the initial data during the communication process, it can determine the corresponding number of rotation factors in parallel according to the maximum parallelism supported by its built-in butterfly operation module, thereby being able to provide the electronic device with the rotation factors required for calculating the Fourier transform in a timely and efficient manner, thereby improving the efficiency of the electronic device in calculating the Fourier transform, and further speeding up the efficiency of the electronic device in processing communication data during the communication process, thereby effectively improving the communication performance of the electronic device.

[0066] See also Figure 4 , Figure 4FIG. 1 is a flow chart of another method for determining a rotation factor disclosed in an embodiment of the present application, and the method for determining a rotation factor can be applied to the above-mentioned electronic device. Figure 4 As shown, the method for determining the rotation factor may include the following steps:

[0067] 402. Factorize the number of transformation points corresponding to the initial data according to the maximum parallelism supported by the butterfly operation module of the electronic device to obtain a first decomposition factor, wherein the number of transformation points is used to define the number of sampling points for Fourier transform of the initial data, and the first decomposition factor is used to characterize the number of butterfly operation levels called by the butterfly operation module and the size of the butterfly units contained in each butterfly operation level.

[0068] Among them, step 402 is similar to some steps in the above step 302 and will not be repeated here.

[0069] 404. Obtain a rotation order corresponding to the butterfly operation module, the rotation order including a rotation factor leading or a rotation factor trailing, wherein when the rotation order is a rotation factor leading, the rotation factor is applied to other butterfly operation levels except the first level; when the rotation order is a rotation factor trailing, the rotation factor is applied to other butterfly operation levels except the last level.

[0070] In an embodiment of the present application, when an electronic device needs to determine the rotation factors required for performing transformation calculations on initial data to be Fourier transformed, based on different structural settings of its butterfly operation module, the electronic device can introduce the rotation factors at different times in the above-mentioned transformation calculation process.

[0071] Specifically, the electronic device may first obtain the rotation order corresponding to the above-mentioned butterfly operation module, and then determine the first rotation factor information corresponding to each butterfly operation level according to the rotation order in the subsequent steps. The above-mentioned rotation order may be determined by the specific structural setting of the butterfly operation module. Exemplarily, the rotation order may include the rotation factor leading or the rotation factor trailing. When the rotation order is the rotation factor leading, the rotation factor may be applied to other butterfly operation levels except the first level; when the rotation order is the rotation factor trailing, the rotation factor may be applied to other butterfly operation levels except the last level.

[0072] Please also read Figure 5A and Figure 5B ,in, Figure 5A is a schematic diagram of the structure of a butterfly operation module disclosed in an embodiment of the present application, Figure 5B FIG. 1 is a schematic diagram of another structure of a butterfly operation module disclosed in an embodiment of the present application, and both examples are based on a butterfly operation module calling a three-level butterfly operation level. Figure 5AAs shown, in the case where the rotation order is the rotation factor first, in the butterfly operation module 50a, at most only the size of the butterfly unit included in the first stage 51a is smaller than the maximum parallelism, while the size of the butterfly unit included in the second stage 52a and the third stage 53a can reach the maximum parallelism. Optionally, the second stage 52a and the third stage 53a can reuse the same butterfly unit. Further optionally, when the size of the butterfly unit required to be included in the first stage 51a also reaches the maximum parallelism, the first stage 51a, the second stage 52a and the third stage 53a can reuse the same butterfly unit.

[0073] On this basis, the butterfly operation module 50a can introduce the rotation factor before its second stage 52a and third stage 53a respectively, but not before its first stage 51a. The above rotation factor can be determined by looking up a table in the storage module 60, and can be read from the memory (Memory) through the connection path between the storage module 60 and the butterfly operation module 50a, and before the first data to be butterfly operated is input into the butterfly unit included in the second stage 52a or the third stage 53a, it is multiplied with the corresponding first data respectively, so as to be used in the Fourier transform calculation of the second stage 52a or the third stage 53a.

[0074] Similarly, if Figure 5B As shown, in the case where the rotation order is post-rotation factor, in the butterfly operation module 50b, at most only the size of the butterfly unit included in the last stage 53b is smaller than the maximum parallelism, while the sizes of the butterfly units included in the first stage 51b and the second stage 52b can reach the maximum parallelism. Optionally, the first stage 51b and the second stage 52b can reuse the same butterfly unit. Further optionally, when the size of the butterfly unit required to be included in the last stage 53b also reaches the maximum parallelism, the first stage 51b, the second stage 52b and the third stage 53b can reuse the same butterfly unit.

[0075] On this basis, the butterfly operation module 50b can introduce the rotation factor after the first stage 51b and the second stage 52b, respectively, but not after the third stage 53b. The above-mentioned rotation factor can also be determined by looking up a table in the storage module 60, and can be multiplied with the corresponding second data before the second data output from the first stage 51b or the second stage 52b that has completed the butterfly operation is stored in the memory through the connection path between the storage module 60 and the butterfly operation module 50b, so as to be used in the Fourier transform calculation of the first stage 51b or the second stage 52b.

[0076] It should be noted that for each butterfly unit included in the same butterfly operation level, the electronic device can look up the table in parallel to determine its corresponding rotation factor, and then transmit it to the corresponding butterfly unit in parallel, so that the above-mentioned butterfly units can calculate the Fourier transform in parallel, effectively improving the efficiency of the electronic device in calculating the Fourier transform.

[0077] 406. When the rotation order is a rotation factor leading order, first rotation factor information corresponding to each other butterfly operation level is determined according to the size of the butterfly unit included in the first level; or, when the rotation order is a rotation factor trailing order, first rotation factor information corresponding to each other butterfly operation level is determined according to the size of the butterfly unit included in the last level.

[0078] Among them, step 406 is similar to some steps in the above step 302. It should be noted that, based on different structural settings of the butterfly operation module, in different cases where the above rotation order is the rotation factor in front or the rotation factor in the back, the electronic device can determine the corresponding first rotation factor information for different butterfly operation levels respectively. Taking the first rotation factor information including the first rotation factor expression as an example, although the first rotation factor expressions corresponding to different rotation orders and different butterfly operation levels may be different, the first rotation factor expressions may all have a form similar to that shown in the above formula 2. Exemplarily, the first rotation factor expression corresponding to the target butterfly operation level may be as shown in the following formula 4.

[0079] Formula 4:

[0080]

[0081] Among them, n*f(n') is a parameter factor in the first rotation factor expression, the parameter n can represent the arrangement order of each rotation factor corresponding to the butterfly unit included in the target butterfly operation level, the parameter n' can represent the arrangement order of each rotation factor corresponding to the butterfly unit included in other butterfly operation levels except the target butterfly operation level, and the function f(n') with the parameter n' as the independent variable can represent the order function determined by the above-mentioned other butterfly operation levels, and the form of the order function f(n') can be adjusted according to different rotation orders and different other butterfly operation levels.

[0082] It should be noted that the parameter n can be taken from 0. Since the size of the butterfly unit included in the target butterfly operation level must be equal to the maximum parallelism R regardless of whether the rotation factor is placed in front or behind, the parameter n can be any integer in [0, R-1]. Specifically, taking the maximum parallelism R = 16 as an example, the parameter n can be any integer in [0, 15].

[0083] Wherein, N' is the size of the butterfly unit affected by the calculation result of the above-mentioned target butterfly operation level. Exemplarily, for the case where the rotation order corresponding to the butterfly operation module is the case where the rotation factor is placed in front, the calculation result of the target butterfly operation level can affect the butterfly units included in the previous level of the target butterfly operation level and all subsequent butterfly operation levels (including the target butterfly operation level itself); and again exemplarily, for the case where the above-mentioned rotation order is the case where the rotation factor is placed in the back, the calculation result of the target butterfly operation level can affect the butterfly units included in the target butterfly operation level itself and all subsequent butterfly operation levels.

[0084] Specifically, in one embodiment, when the above rotation order is that the rotation factor is placed in front, the electronic device can determine the first rotation factor information corresponding to each other butterfly operation level according to the size of the butterfly unit included in the first level of all butterfly operation levels called by its butterfly operation module.

[0085] It should be noted that, when the rotation order is the case where the rotation factor is placed in front, the size of the butterfly unit included in the first-level butterfly operation can be the quotient obtained by dividing the number of transformation points N by the parallel parameter, and the size of the butterfly unit included in each other butterfly operation level can be the maximum parallelism R. Among them, the parallel parameter can be the M-1 power of the maximum parallelism R (that is, the size of the butterfly unit included in the first-level butterfly operation can be N / R^(M-1)), and M is the number of butterfly operation levels called by the butterfly operation module. The following will be explained by taking the first rotation factor information including the first rotation factor expression as an example.

[0086] Exemplarily, taking the butterfly operation module calling the two-stage butterfly operation unit as an example, that is, the first decomposition factor obtained by factoring the transformation point number N in step 402 is N=N1*N2=N1*R (R is the above-mentioned maximum parallelism, and N1 is the size of the butterfly unit included in the first stage). At this time, the rotation factor is only applied to the second-stage butterfly operation, then the order function f(n')=n1 in the above formula 4, and N'=R*N1, so that the first rotation factor expression corresponding to the second stage at this time can be determined as:

[0087] Formula 5:

[0088]

[0089] Taking the butterfly operation module calling the three-level butterfly operation unit as an example, that is, the first decomposition factor obtained by factoring the transformation point number N in step 402 is N=N1*N2*N3=N1*R*R, and the rotation factor can be applied to the second and third level butterfly operations. Among them, for the second level butterfly operation, the order function f(n') in the above formula 4 is =n1, and N'=R*N1, so it can be determined that the expression of the first rotation factor corresponding to the second level at this time is consistent with the above formula 5.

[0090] For the third-level butterfly operation, the order function f(n') in the above formula 4 is n2N1+n1, and N' is R*R*N1, so the first rotation factor expression corresponding to the third level can be determined as:

[0091] Formula 6:

[0092]

[0093] In another embodiment, when the rotation order is post-rotation factor, the electronic device may determine the first rotation factor information corresponding to each other butterfly operation level according to the size of the butterfly unit included in the last level of all butterfly operation levels called by its butterfly operation module.

[0094] It should be noted that, when the rotation order is post-rotation factor, the size of the butterfly unit included in the last level is the quotient obtained by dividing the number of transformation points N by the parallel parameter, and the size of the butterfly unit included in each other butterfly operation level can be the maximum parallelism R. Among them, the parallel parameter can be the M-1 power of the maximum parallelism R (that is, the size of the butterfly unit included in the last level of butterfly operation can be N / R^(M-1)), and M is the number of butterfly operation levels called by the butterfly operation module. The following is still explained by taking the first rotation factor information including the first rotation factor expression as an example.

[0095] For example, taking the butterfly operation module calling the two-stage butterfly operation unit as an example, that is, the first decomposition factor obtained by factoring the transformation point number N in step 402 is N=N1*N2=R*N2 (N2 is the size of the butterfly unit included in the second stage). At this time, the rotation factor is only applied to the first stage butterfly operation, then the order function f(n')=n2 in the above formula 4, and N'=R*N2, so that the first rotation factor expression corresponding to the first stage at this time can be determined as:

[0096] Formula 7:

[0097]

[0098] Taking the butterfly operation module calling the three-level butterfly operation unit as an example, that is, the first factorization factor obtained by factoring the transformation point number N in step 402 is N=N1*N2*N3=R*R*N3, and the rotation factor can be applied to the first and second level butterfly operations. Among them, for the first level butterfly operation, the order function f(n') in the above formula 4 is =n2N3+n3, and N'=R*R*N3, so it can be determined that the first rotation factor expression corresponding to the first level at this time is:

[0099] Formula 8:

[0100]

[0101] For the second-stage butterfly operation, the order function f(n') in the above formula 4 is n3, and N' is R*N3, so the expression of the first rotation factor corresponding to the second stage can be determined as:

[0102] Formula 9:

[0103]

[0104] 408. According to the first rotation factor information corresponding to the target butterfly operation level and the maximum number of transformation points, the parameter factor included in the first rotation factor information is transformed to obtain a second decomposition factor including the multiplication of the table lookup column index and the table lookup row index, wherein the parameter factor is used to determine the exponent when the first rotation factor information is expressed in the form of an exponential power, and the table lookup row index and the table lookup column index are used to determine the position of each rotation factor corresponding to the butterfly unit included in the target butterfly operation level in the rotation factor lookup table.

[0105] In the embodiment of the present application, after determining the first rotation factor information corresponding to each butterfly operation level, the electronic device can determine the rotation factors corresponding to the butterfly units included in the target butterfly operation level according to the first rotation factor information corresponding to the target butterfly operation level. The target butterfly operation level can be any butterfly operation level called by the above-mentioned butterfly operation module.

[0106] Exemplarily, taking the first rotation factor information including the first rotation factor expression as an example, the electronic device may first transform the first rotation factor expression corresponding to the target butterfly operation level based on the maximum number of transformation points used for Fourier transform of the above initial data (for example, the maximum number of transformation points N=4096 supported by 5G NR), so as to obtain the position information of each rotation factor corresponding to the butterfly unit contained in the target butterfly operation level. Exemplarily, the position information may include the table lookup row label and table lookup column label of the above rotation factor in the rotation factor lookup table, so that the position of each rotation factor can be accurately determined in the rotation factor lookup table. It should be noted that the position information obtained by the above deformation corresponds to the position of the rotation factor in the rotation factor lookup table, and this corresponding relationship is determined by the process of storing the rotation factor lookup table.

[0107] Specifically, the electronic device can use the first rotation factor expression corresponding to the target butterfly operation level as follows: And the maximum number of transformation points N, the parameter factor n*f(n') in the first rotation factor expression is transformed to obtain a second decomposition factor b*a including the multiplication of the table lookup column label b and the table lookup row label a. The transformation process can be shown as the following formula 10.

[0108] Formula 10:

[0109]

[0110] When the first rotation factor expression is converted into an exponential form, the transformation process shown in formula 10 is easily verified. The interpretation of the above parameters n, f(n') and N' can be found in formula 4 and will not be repeated here. It should be noted that the number of columns in the above rotation factor lookup table can be equal to the maximum parallelism R, so that the table lookup column index b=n can take an integer value in the range of [0, R-1], so that the electronic device can use the table lookup row index to obtain the value of the rotation factor. After determining the target row of each rotation factor corresponding to the butterfly unit included in the target butterfly operation level in the rotation factor lookup table, the target column of the rotation factor corresponding to each butterfly unit in the rotation factor lookup table can be further determined. By implementing the above method, the electronic device can further read the specific values ​​of each rotation factor corresponding to the butterfly unit included in the target butterfly operation level in subsequent steps according to the position information determined by the above table lookup row label and table lookup column label, thereby avoiding the complex calculation process of calculating the complex exponential power, effectively reducing the overall calculation amount when the electronic device calculates the Fourier transform, and saving the calculation time of the electronic device. In fact, after determining the above target row a, the electronic device can obtain the rotation factors of the maximum parallelism R in the target row in parallel (i.e., the whole row is read), and then the R rotation factors can be applied to the target butterfly operation level to realize R-way parallel Fourier transform calculation.

[0111] 410. In a storage module storing the twiddle factor lookup table, determine a target read address of each twiddle factor corresponding to a butterfly unit included in a target butterfly operation level according to a table lookup row label and a table lookup column label.

[0112] In an embodiment of the present application, the rotation factor lookup table can be stored in a storage module of the electronic device transceiver. Since the rotation factors corresponding to the butterfly units included in the same butterfly operation level are associated, the specific values ​​of the above-mentioned rotation factors can be stored in a continuous area in the storage module, or the mapping addresses corresponding to their specific values ​​can be stored in a continuous area in the storage module, so that the electronic device can determine the continuous target read addresses of the above-mentioned rotation factors in the storage module according to the above-mentioned table lookup row label and table lookup column label, so as to efficiently read the above-mentioned rotation factors in parallel in subsequent steps.

[0113] 412. Read in parallel from the target read address the rotation factors corresponding to the butterfly units included in the target butterfly operation level.

[0114] In an embodiment of the present application, the electronic device can obtain the specific values ​​of the above-mentioned each rotation factor in parallel from the above-mentioned storage module based on the above-mentioned target read address, so as to provide the electronic device with the rotation factors required for calculating the Fourier transform in a timely and efficient manner, thereby effectively improving the efficiency of the electronic device in calculating the Fourier transform.

[0115] It can be seen that by implementing the rotation factor determination method described in the above embodiment, when the electronic device needs to perform Fourier transform on the initial data during the communication process, it can determine the corresponding number of rotation factors in parallel according to the maximum parallelism supported by its built-in butterfly operation module, so that the electronic device can be provided with the rotation factors required for calculating the Fourier transform in a timely and efficient manner, so as to improve the efficiency of the electronic device in calculating the Fourier transform, and then speed up the efficiency of the electronic device in processing communication data during the communication process, and effectively improve the communication performance of the electronic device. In addition, based on the different structural settings of the butterfly operation module, the corresponding first rotation factor expression is determined when the rotation factor is pre-placed or post-placed, which can adapt to a variety of situations with different rotation orders and different butterfly operation levels, thereby further improving the accuracy and flexibility of the electronic device in calculating the Fourier transform.

[0116] See also Figure 6 , Figure 6 FIG. 1 is a flow chart of another method for determining a rotation factor disclosed in an embodiment of the present application, and the method for determining a rotation factor can be applied to the above-mentioned electronic device. Figure 6 As shown, the method for determining the rotation factor may include the following steps:

[0117] 602. Determine the target storage table row label and multiple target storage table column labels of each rotation factor of the target row in the rotation factor lookup table to be stored according to the order of the storage table row label and the storage table column label from small to large, wherein the storage table column label is taken within the maximum parallelism supported by the butterfly operation module of the electronic device, and the storage table row label is taken within the quotient obtained by dividing the maximum number of transformation points by the maximum parallelism.

[0118] In the embodiment of the present application, in order to quickly determine the rotation factors required in the Fourier transform calculation process, the specific values ​​corresponding to the various rotation factors under the maximum number of transformation points can be pre-calculated, and a corresponding rotation factor lookup table is formed accordingly, and stored in the storage module of the electronic device. Thus, regardless of the size of the transformation points corresponding to the initial data that actually needs to be Fourier transformed, the specific value of the corresponding rotation factor can be determined in the rotation factor lookup table.

[0119] Taking the maximum number of transformation points N=4096 supported by 5G NR as an example, if the maximum parallelism supported by the butterfly operation unit of the electronic device transceiver is R=16, then the butterfly operation unit needs to call at most three butterfly operation levels, and the sizes of the butterfly units contained in each butterfly operation level can be expressed as N1, N2, and N3 respectively, and satisfy N=N1*N2*N3. In order to calculate the specific values ​​corresponding to each rotation factor, the Fourier transform process shown in formula 1 can be transformed into:

[0120] Formula 11:

[0121]

[0122] Wherein, n and k may represent the sequence numbers of the elements in the sequence before and after the transformation, respectively, and satisfy n=n1N2N3+n2N3+n3 and k=k1+k2N1+k3N1N2. It can be understood that n1, k1=0, 1, ..., N1-1; n2, k2=0, 1, ..., N2-1; n3, k3=0, 1, ..., N3-1.

[0123] It should be noted that the penultimate formula of the above formula 11 can correspond to the case where the rotation factor is placed after the rotation factor, and the penultimate formula can correspond to the case where the rotation factor is placed before the rotation factor. It is easy to verify that the specific values ​​of all rotation factors under the maximum number of transformation points N = 4096 can be included in the set In which, b'=0, 1, ..., 15 can be used as the storage table column index of the corresponding rotation factor; a'=0, 1, ..., 255 can be used as the storage table row index of the corresponding rotation factor. Thus, the electronic device can store the specific values ​​of each calculated rotation factor in the corresponding position of the rotation factor lookup table according to the above storage table column index and storage table row index.

[0124] Exemplarily, the electronic device can determine the target table row labels and multiple target table column labels of each rotation factor of the target row in the rotation factor lookup table to be stored in the order of the table row labels and the table column labels from small to large. Taking the maximum number of transformation points N=4096 and the maximum degree of parallelism R=16 as an example, the above-mentioned table column labels can be taken within the maximum degree of parallelism, that is, b'=0, 1,..., 15 in turn; the above-mentioned table row labels can be taken within the quotient obtained by dividing the maximum number of transformation points by the maximum degree of parallelism, that is, a'=0, 1,..., 255 in turn. For the rotation factor corresponding to each table row label, the electronic device can take it as the target row in turn, so as to calculate the specific values ​​of each rotation factor (16 in this example) of the target row in subsequent steps, and store them in parallel in the corresponding rows and columns of the rotation factor lookup table.

[0125] 604. Calculate each rotation factor of the target row according to the target storage table row label and multiple target storage table column labels, and second rotation factor information corresponding to the maximum number of transformation points.

[0126] Since the specific values ​​of all rotation factors under the maximum number of transformation points N = 4096 can be included in the set In some embodiments, the second rotation factor information may include a second rotation factor expression, wherein the second rotation factor expression may be an element in the above set. shown.

[0127] Exemplarily, the process of calculating the specific value of the rotation factor can be shown as the following formula 12.

[0128] Formula 12:

[0129]

[0130] Where e is the natural exponent and j is the imaginary unit.

[0131] As an optional implementation, after the electronic device calculates all the rotation factors of the target row, if all the rotation factors of the target row are the same (for example, all are 0), the electronic device can determine the target row as a compressible row and delete the compressible row to save the space occupied by storing the selection factor lookup table.

[0132] 606. In a storage module storing a rotation factor lookup table, determine a target storage address of each rotation factor of a target row according to a target storage table row label and a plurality of target storage table column labels.

[0133] 608. Store the rotation factors of the target row in parallel in the target storage address, so that the electronic device can read the rotation factors of the target row in parallel.

[0134] Among them, step 606 and step 608 are similar to the above-mentioned step 410 and step 412, but the implementation process and purpose are opposite. It can be understood that the above-mentioned step 410 and step 412 are to find each rotation factor from the stored rotation factor lookup table, while step 606 and step 608 are to store each rotation factor to an appropriate position in the storage module according to the above-mentioned target storage table row label and multiple target storage table column labels.

[0135] In an embodiment of the present application, the electronic device may first determine the target storage address of each rotation factor of the target row according to the target storage table row label and multiple target storage table column labels, and then store the specific values ​​corresponding to each rotation factor of the target row in parallel in the target storage address. Exemplarily, the storage rotation factor lookup table storing the above specific values ​​may be as shown in Table 1 (the specific values ​​are omitted).

[0136] Table 1:

[0137]

[0138]

[0139] It should be noted that the rotation factor lookup table can be pre-stored in the storage module of the electronic device before the electronic device is actually used (for example, before the electronic device leaves the factory), so that when the electronic device is actually used for communication data transmission later, there is no need to repeat the above-mentioned storage process, and it can be directly used to look up the table to determine the rotation factor.

[0140] 610. Factorize the number of transformation points corresponding to the initial data according to the maximum parallelism supported by the butterfly operation module of the electronic device to obtain a first decomposition factor, wherein the number of transformation points is used to define the number of sampling points for Fourier transform of the initial data, and the first decomposition factor is used to characterize the number of butterfly operation levels called by the butterfly operation module and the size of the butterfly units contained in each butterfly operation level.

[0141] 612. Determine first rotation factor information corresponding to each butterfly operation level according to the first decomposition factor.

[0142] Among them, step 610 and step 612 are similar to the above step 302. It should be noted that step 612 can also be implemented with reference to the above step 404 and step 406, which will not be repeated here.

[0143] 614. According to the first rotation factor expression corresponding to the target butterfly operation level, the rotation factors corresponding to the butterfly units included in the target butterfly operation level are obtained in parallel in the rotation factor lookup table, and the rotation factors are used to perform phase rotation in parallel on the data before or after Fourier transform in the butterfly units included in the above target butterfly operation level, wherein the target butterfly operation level is any butterfly operation level called by the butterfly operation module, and the rotation factor lookup table includes various rotation factors determined in advance according to the maximum number of transformation points.

[0144] Among them, step 614 is similar to the above step 304. It should be noted that the specific implementation of step 614 can also refer to the above steps 408 to 412, which will not be repeated here.

[0145] It can be seen that by implementing the rotation factor determination method described in the above embodiment, when the electronic device needs to perform Fourier transform on the initial data during the communication process, it can determine the corresponding number of rotation factors in parallel according to the maximum parallelism supported by its built-in butterfly operation module, so that the electronic device can be provided with the rotation factors required for calculating the Fourier transform in a timely and efficient manner, so as to improve the efficiency of the electronic device in calculating the Fourier transform, and then speed up the efficiency of the electronic device in processing communication data during the communication process, and effectively improve the communication performance of the electronic device. In addition, through the above-mentioned storage table scheme, the specific values ​​corresponding to each rotation factor under the maximum number of transformation points are pre-stored in the rotation factor lookup table, which can avoid the electronic device from repeatedly calculating the complex exponential power of the complex calculation process, effectively reduce the overall calculation amount when the electronic device calculates the Fourier transform, and save calculation time; and can read the rotation factors of the maximum parallelism supported by the butterfly operation module in parallel, so as to realize high-speed table lookup, and further improve the efficiency of the electronic device in processing communication data. In addition, the resource overhead required for the parallel determination of the rotation factors based on the above-mentioned table lookup scheme in hardware is also small, which is conducive to further reducing power consumption and improving the communication performance of the electronic device.

[0146] See also Figure 7 , Figure 7 is a modular schematic diagram of a rotation factor determination device disclosed in an embodiment of the present application, and the rotation factor determination device can be applied to the above-mentioned electronic device. Figure 7 As shown, the rotation factor determination device may include a first acquisition unit 701 and a second acquisition unit 702, wherein:

[0147] A first acquisition unit 701 is used to acquire first rotation factor information corresponding to each butterfly operation level called by the butterfly operation module according to the maximum parallelism supported by the butterfly operation module of the electronic device and the number of transformation points corresponding to the initial data, wherein the number of transformation points is used to define the number of sampling points for Fourier transforming the initial data;

[0148] The second acquisition unit 702 is used to obtain in parallel from the rotation factor lookup table the respective rotation factors corresponding to the butterfly units included in the target butterfly operation level according to the first rotation factor information corresponding to the target butterfly operation level, and the rotation factors are used to perform phase rotation in parallel on the data before or after Fourier transformation in the butterfly units included in the above-mentioned target butterfly operation level, wherein the target butterfly operation level is any butterfly operation level called by the butterfly operation module, and the rotation factor lookup table includes the respective rotation factors determined in advance according to the maximum number of transformation points.

[0149] It can be seen that by using the rotation factor determination device described in the above embodiment, when the electronic device needs to perform Fourier transform on the initial data during the communication process, it can determine the corresponding number of rotation factors in parallel according to the maximum parallelism supported by its built-in butterfly operation module, thereby being able to provide the electronic device with the rotation factors required for calculating the Fourier transform in a timely and efficient manner, thereby improving the efficiency of the electronic device in calculating the Fourier transform, and further speeding up the efficiency of the electronic device in processing communication data during the communication process, thereby effectively improving the communication performance of the electronic device.

[0150] In one embodiment, the first acquisition unit 701 may include a factorization subunit and an information determination subunit (not shown), wherein:

[0151] A factorization subunit, used for factorizing the number of transformation points corresponding to the initial data according to the maximum parallelism supported by the butterfly operation module of the electronic device, to obtain a first decomposition factor, wherein the first decomposition factor is used to characterize the number of butterfly operation levels called by the butterfly operation module and the size of the butterfly units included in each butterfly operation level;

[0152] The information determination subunit is used to determine the first rotation factor information corresponding to each butterfly operation level according to the first decomposition factor.

[0153] In one embodiment, the information determination subunit can be specifically used to obtain a rotation order corresponding to the butterfly operation module, the rotation order including the rotation factor leading or the rotation factor trailing, wherein when the rotation order is the rotation factor leading, the rotation factor is applied to other butterfly operation levels except the first level; when the rotation order is the rotation factor trailing, the rotation factor is applied to other butterfly operation levels except the last level;

[0154] The information determines the subunit, and can be specifically used to determine the first rotation factor information corresponding to each other butterfly operation level according to the size of the butterfly unit included in the first level when the rotation order is the rotation factor first;

[0155] Alternatively, when the rotation order is that the rotation factor is placed last, the first rotation factor information corresponding to each other butterfly operation level is determined according to the size of the butterfly unit included in the last level.

[0156] It should be noted that, when the rotation order is that the rotation factor precedes, the size of the butterfly unit included in the first level can be the quotient obtained by dividing the number of transformation points by the parallel parameter, and the size of the butterfly unit included in each other butterfly operation level is the maximum parallelism;

[0157] When the rotation order is post-rotation factor, the size of the butterfly unit included in the last level can be the quotient obtained by dividing the number of transformation points by the above parallel parameter, and the size of the butterfly unit included in each other butterfly operation level is the maximum parallelism;

[0158] The above parallel parameter is the M-1th power of the maximum parallelism, and M is the number of butterfly operation levels called by the butterfly operation module.

[0159] It can be seen that the rotation factor determination device described in the above embodiment is based on different structural settings of the butterfly operation module to determine the corresponding first rotation factor expression when the rotation factor is placed in front or in the back, which can adapt to various situations with different rotation orders and different butterfly operation levels, thereby further improving the accuracy and flexibility of the electronic device in calculating the Fourier transform.

[0160] In one embodiment, the first acquisition unit 703 may include a factor conversion subunit, an address determination subunit, and a reading subunit, which are not shown in the figure, wherein:

[0161] A factor transformation subunit, configured to transform the parameter factor contained in the first rotation factor information according to the first rotation factor information corresponding to the target butterfly operation level and the maximum number of transformation points, to obtain a second decomposition factor including a table lookup column index multiplied by a table lookup row index, wherein the parameter factor is used to determine an exponent when the first rotation factor information is represented in an exponential power form, and the table lookup row index and the table lookup column index are used to determine the position of each rotation factor corresponding to the butterfly unit contained in the target butterfly operation level in the rotation factor lookup table;

[0162] An address determination subunit, used to determine a target read address according to a table lookup row label and a table lookup column label;

[0163] The reading subunit is used to read in parallel, according to the target reading address, the various rotation factors corresponding to the butterfly units included in the target butterfly operation unit from the storage module storing the above rotation factor lookup table.

[0164] Exemplarily, the above-mentioned factor transformation subunit may specifically be the first rotation factor information corresponding to the target butterfly operation level. and the maximum number of transformation points N, transform the parameter factor n*f(n') contained in the first rotation factor information to obtain a second decomposition factor b*a including the multiplication of the table lookup column label b and the table lookup row label a, and the transformation process can meet the following conditions:

[0165]

[0166] Among them, n is the arrangement order of each rotation factor corresponding to the butterfly unit included in the target butterfly operation level, f(n') is an order function determined according to other butterfly operation levels other than the target butterfly operation level, and N' is the size of the rotation factor affected by the calculation result of the target butterfly operation level.

[0167] In one embodiment, the above-mentioned rotation factor determination device may further include a second determination unit, a calculation unit, a third determination unit, and a second acquisition unit (not shown), wherein:

[0168] A second determining unit is used to determine, in the ascending order of the storage table row label and the storage table column label, a target storage table row label and a plurality of target storage table column labels of each rotation factor of the target row in the rotation factor lookup table to be stored, wherein the storage table column label is taken within the maximum parallelism supported by the butterfly operation module of the electronic device, and the storage table row label is taken within the quotient obtained by dividing the maximum number of transformation points by the maximum parallelism;

[0169] A calculation unit, configured to calculate each rotation factor of the target row according to the target storage table row label and the plurality of target storage table column labels and the second rotation factor information corresponding to the maximum number of transformation points;

[0170] A third determining unit is used to determine, in a storage module storing a rotation factor lookup table, a target storage address of each rotation factor of a target row according to a target storage table row label and a plurality of target storage table column labels;

[0171] The second acquisition unit is used to store the rotation factors of the target row in parallel in the target storage address, so that the electronic device can read the rotation factors of the target row in parallel.

[0172] Exemplarily, the calculation unit may be specifically based on the target storage table row label b' and multiple target storage table column labels a', and the second rotation factor information corresponding to the maximum number of transformation points N. The rotation factors of the target row are calculated. The calculation process can meet the following conditions:

[0173]

[0174] Where e is the natural exponent and j is the imaginary unit.

[0175] In one embodiment, the above-mentioned rotation factor determination device may further include a compression unit not shown in the figure, which may be used to determine the target row as a compressible row and delete the compressible row after the above-mentioned calculation unit calculates the various rotation factors of the target row and when all the rotation factors of the target row are the same.

[0176] It can be seen that the rotation factor determination device described in the above embodiment is used. It can be seen that the rotation factor determination device described in the above embodiment is used. Through the above table storage scheme, the specific values ​​corresponding to each rotation factor under the maximum number of transformation points are pre-stored in the rotation factor lookup table, which can avoid the electronic device from repeatedly calculating the complex exponential power, effectively reducing the overall calculation amount when the electronic device calculates the Fourier transform, saving calculation time; and can read the rotation factors of the maximum parallelism supported by the butterfly operation module in parallel, so as to realize high-speed table lookup and further improve the efficiency of electronic equipment in processing communication data. In addition, the resource overhead required for parallel determination of the rotation factors based on the above table lookup scheme is also small when implemented in hardware, which is conducive to further reducing power consumption and improving the communication performance of electronic equipment.

[0177] See also Figure 8 , Figure 8 Schematic diagram of a modular electronic device disclosed in an embodiment of the present application. Figure 8 As shown, the electronic device may include:

[0178] A memory 801 storing executable program codes;

[0179] a processor 802 coupled to the memory 801;

[0180] The processor 802 calls the executable program code stored in the memory 801 to execute all or part of the steps in any one of the rotation factor determination methods described in the above embodiments.

[0181] In addition, an embodiment of the present application further discloses a computer-readable storage medium, which stores a computer program for electronic data exchange, wherein the computer program enables a computer to execute all or part of the steps in any one of the rotation factor determination methods described in the above embodiments.

[0182] In addition, an embodiment of the present application further discloses a computer program product. When the computer program product is run on a computer, the computer can execute all or part of the steps in any one of the rotation factor determination methods described in the above embodiments.

[0183] Those skilled in the art will appreciate that all or part of the steps in the various methods of the above embodiments may be completed by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, the storage medium including a read-only memory (ROM), a random access memory (RAM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), a one-time programmable read-only memory (OTPROM), an electronically-erasable programmable read-only memory (EEPROM), a compact disc (CD-ROM) or other optical disc storage, magnetic disk storage, magnetic tape storage, or any other computer-readable medium that can be used to carry or store data.

[0184] The above is a detailed introduction to a method and device for determining a rotation factor, an electronic device, and a storage medium disclosed in an embodiment of the present application. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea; at the same time, for general technical personnel in this field, according to the idea of ​​the present application, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.

Claims

1. A method for determining a rotation factor, characterized in that: Applied to electronic equipment, the method comprises: According to the maximum parallelism supported by the butterfly operation module of the electronic device, the number of transformation points corresponding to the initial data is factored to obtain a first decomposition factor; wherein the number of transformation points is used to define the number of sampling points for Fourier transform of the initial data; the first decomposition factor is used to characterize the number of butterfly operation levels called by the butterfly operation module and the size of the butterfly units contained in each butterfly operation level; Determine first rotation factor information corresponding to each of the butterfly operation levels according to the first decomposition factor; According to the first rotation factor information corresponding to the target butterfly operation level, each rotation factor corresponding to the butterfly unit included in the target butterfly operation level is obtained in parallel in the rotation factor lookup table, and each rotation factor is used to perform phase rotation in parallel on the data before or after Fourier transform in the butterfly unit included in the target butterfly operation level, wherein the target butterfly operation level is any butterfly operation level called by the butterfly operation module, and the rotation factor lookup table includes each rotation factor determined in advance according to the maximum number of transformation points.

2. The method according to claim 1, characterized in that: The determining, according to the first decomposition factor, first rotation factor information corresponding to each butterfly operation level includes: Obtaining a rotation order corresponding to the butterfly operation module, the rotation order includes a rotation factor leading or a rotation factor trailing, wherein when the rotation order is a rotation factor leading, the rotation factor is applied to other butterfly operation levels except the first level; when the rotation order is a rotation factor trailing, the rotation factor is applied to other butterfly operation levels except the last level; In the case where the rotation order is that the rotation factor is placed first, determining first rotation factor information corresponding to each other butterfly operation level according to the size of the butterfly unit included in the first level; Alternatively, when the rotation order is that the rotation factor is placed at the end, the first rotation factor information corresponding to each other butterfly operation level is determined according to the size of the butterfly unit included in the last level.

3. The method according to claim 2, characterized in that In the case where the rotation order is that the rotation factor precedes, the size of the butterfly unit included in the first level is the quotient obtained by dividing the number of transformation points by the parallel parameter, and the size of the butterfly unit included in each other butterfly operation level is the maximum parallelism; In the case where the rotation order is post-rotation factor, the size of the butterfly unit included in the last level is the quotient obtained by dividing the number of transformation points by the parallel parameter, and the size of the butterfly unit included in each other butterfly operation level is the maximum parallelism; The parallel parameter is the M-1th power of the maximum parallelism, and M is the number of butterfly operation levels called by the butterfly operation module.

4. The method according to any one of claims 1 to 3, characterized in that: The step of obtaining, in parallel from a rotation factor lookup table, each rotation factor corresponding to a butterfly unit included in the target butterfly operation level according to the first rotation factor information corresponding to the target butterfly operation level includes: According to the first rotation factor information corresponding to the target butterfly operation level and the maximum number of transformation points, the parameter factor included in the first rotation factor information is transformed to obtain a second decomposition factor including a table lookup column index and a table lookup row index multiplied together, wherein the parameter factor is used to determine an exponent when the first rotation factor information is represented in an exponential power form, and the table lookup row index and the table lookup column index are used to determine a position of each rotation factor corresponding to the butterfly unit included in the target butterfly operation level in the rotation factor lookup table; Determining a target read address according to the table lookup row label and the table lookup column label; According to the target read address, each twiddle factor corresponding to the butterfly unit included in the target butterfly operation level is read in parallel from a storage module storing the twiddle factor lookup table.

5. The method according to claim 4, characterized in that The method of transforming the parameter factors included in the first rotation factor information according to the first rotation factor information corresponding to the target butterfly operation level and the maximum number of transformation points to obtain a second decomposition factor including the multiplication of the table lookup column index and the table lookup row index includes: According to the first rotation factor information corresponding to the target butterfly operation level and the maximum number of transformation points N, transforming the parameter factor n*f(n') contained in the first rotation factor information to obtain a second decomposition factor b*a including the multiplication of the table lookup column label b and the table lookup row label a, wherein the transformation satisfies the following conditions: Among them, n is the arrangement order of each rotation factor corresponding to the butterfly unit included in the target butterfly operation level, f(n') is an order function determined according to other butterfly operation levels other than the target butterfly operation level, and N' is the number of rotation factors affected by the calculation result of the target butterfly operation level.

6. The method according to any one of claims 1 to 3, characterized in that: Before factoring the number of transformation points corresponding to the initial data according to the maximum parallelism supported by the butterfly operation module of the electronic device to obtain a first decomposition factor, the method further includes: Determine, in ascending order of the storage table row labels and the storage table column labels, a target storage table row label and a plurality of target storage table column labels of each rotation factor of the target row in the rotation factor lookup table to be stored, wherein the storage table column label is taken within the maximum parallelism supported by the butterfly operation module of the electronic device, and the storage table row label is taken within the quotient obtained by dividing the maximum number of transformation points by the maximum parallelism; Calculate each rotation factor of the target row according to the target storage table row label and multiple target storage table column labels, and second rotation factor information corresponding to the maximum number of transformation points; In a storage module storing the rotation factor lookup table, determining a target storage address of each rotation factor of the target row according to the target storage table row label and a plurality of target storage table column labels; The rotation factors of the target row are stored in parallel in the target storage address, so that the electronic device can read the rotation factors of the target row in parallel.

7. The method according to claim 6, characterized in that The step of calculating each rotation factor of the target row according to the target storage table row label, the plurality of target storage table column labels, and the second rotation factor information corresponding to the maximum number of transformation points comprises: According to the target storage table row label b' and the plurality of target storage table column labels a', and the second rotation factor information corresponding to the maximum number of transformation points N The rotation factors of the target row are obtained by calculation, and the calculation satisfies the following conditions: Among them, e is the natural exponent and j is the imaginary unit.

8. The method according to claim 6, characterized in that After calculating each rotation factor of the target row according to the target storage table row label and the plurality of target storage table column labels and the second rotation factor information corresponding to the maximum number of transformation points, the method further includes: If all rotation factors of the target row are the same, the target row is determined as a compressible row, and the compressible row is deleted.

9. A rotation factor determination device, characterized in that: Applied to electronic equipment, the rotation factor determination device comprises: A first acquisition unit is used to acquire first rotation factor information corresponding to each butterfly operation level called by the butterfly operation module according to the maximum parallelism supported by the butterfly operation module of the electronic device and the number of transformation points corresponding to the initial data, wherein the number of transformation points is used to define the number of sampling points for Fourier transforming the initial data; a second acquisition unit, configured to acquire, in parallel from a rotation factor lookup table, each rotation factor corresponding to a butterfly unit included in the target butterfly operation level according to first rotation factor information corresponding to the target butterfly operation level, wherein each rotation factor is used to perform phase rotation in parallel on data before or after Fourier transformation in the butterfly unit included in the target butterfly operation level, wherein the target butterfly operation level is any butterfly operation level called by the butterfly operation module, and the rotation factor lookup table includes each rotation factor determined in advance according to a maximum number of transformation points; The first acquisition unit includes a factorization subunit and an information determination subunit; The factorization subunit is used to factorize the number of transformation points corresponding to the initial data according to the maximum parallelism supported by the butterfly operation module of the electronic device to obtain a first decomposition factor; the first decomposition factor is used to characterize the number of butterfly operation levels called by the butterfly operation module and the size of the butterfly units included in each butterfly operation level; The information determination subunit is used to determine the first rotation factor information corresponding to each butterfly operation level according to the first decomposition factor.

10. An electronic device, characterized in that: The electronic device comprises a memory and a processor, wherein a computer program is stored in the memory, and when the computer program is executed by the processor, the electronic device implements the method according to any one of claims 1 to 8.

11. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 8 is implemented.

Citation Information

Patent Citations

  • Generation method and device of rotation factor

    CN102045279A

  • FFT twiddle factor generation device and application method thereof

    CN102737009A