CN115544438B - Twiddle factor generation method and device in digital communication system and computer equipment - Google Patents
Twiddle factor generation method and device in digital communication system and computer equipment Download PDFInfo
- Publication number
- CN115544438B CN115544438B CN202211496163.4A CN202211496163A CN115544438B CN 115544438 B CN115544438 B CN 115544438B CN 202211496163 A CN202211496163 A CN 202211496163A CN 115544438 B CN115544438 B CN 115544438B
- Authority
- CN
- China
- Prior art keywords
- twiddle factor
- twiddle
- memory
- reference value
- transformation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
- G06F17/142—Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Algebra (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Discrete Mathematics (AREA)
- Complex Calculations (AREA)
Abstract
The application relates to a twiddle factor generation method, a twiddle factor generation device and computer equipment in a digital communication system. The method is based on a small amount of memory in the memoryIsThe twiddle factor reference values are used for generating twiddle factors used by DFT transformation, IDFT transformation, FFT transformation and IFFT transformation when executing butterfly operation of each stage by utilizing an interpolation algorithm. The data volume of the twiddle factors stored in the memory of the method is less, the twiddle factors do not need to be respectively stored aiming at DFT/IDFT transformation and FFT/IFFT transformation, the multiplexing of twiddle factor reference values and the sharing of hardware resources can be realized, and the storage space and the hardware resources occupied by the twiddle factors are reduced.
Description
Technical Field
The present application relates to the field of digital communication technologies, and in particular, to a twiddle factor generation method and apparatus in a digital communication system, and a computer device.
Background
For digital communication systems such as LTE (Long Term Evolution), NR (new radio, new air interface) and the like, which involve Orthogonal Frequency Division Multiplexing (OFDM), uplink of such digital communication systems generally employs single carrier transmission based on DFT spread OFDM (DFTs _ OFDM), and DFT (discrete Fourier Transform) and IFFT (Inverse Fast Fourier Transform) are sequentially implemented on uplink transmission links for data to be transmitted in order to reduce power loss. On the uplink, FFT (Fast Fourier Transform) and IDFT (Inverse Discrete Fourier Transform) are sequentially performed on the received data.
The DFT transformation/IDFT transformation and the IFFT transformation/FFT transformation are realized by computing through a butterfly operation unit, and twiddle factors are required to be used in the transformation process. The IDFT transform works similarly to the DFT transform, which is exemplified by the DFT transformPoint DFT requirementsDecomposing by using a 2/3/4/5 butterfly basis and executing multi-stage butterfly operation, wherein the expression of the rotation factor used by each stage of butterfly operation is->Wherein is present>Is the DFT point of the current stage butterfly operation, is greater than or equal to>,/>,/>Is the butterfly base adopted by the butterfly operation of the current stage, and is greater or less than>One of 2, 3, 4 and 5 is taken. Likewise, the IFFT/FFT transformation also needs to use the twiddle factor @>。
Because the calculation of twiddle factors required by each level of butterfly operation in real time according to an expression affects the operation speed and is difficult to meet the requirement on rapidity of a digital communication system, the common practice is to store the twiddle factors under various points in advance and correspondingly search and use the twiddle factors when in use. Therefore, the DFT/IDFT and IFFT/FFT require a respective set of hardware resources to implement the storage and search operations, but the number of twiddle factors is large, which occupies a large amount of storage space and hardware resources.
Disclosure of Invention
In view of the above, it is necessary to provide a twiddle factor generation method, apparatus, computer device, computer readable storage medium, and computer program product in a digital communication system capable of generating twiddle factors required for DFT transform/IDFT transform and IFFT transform/FFT transform with less memory space and hardware resources.
In a first aspect, the present application provides a twiddle factor generation method in a digital communication system. The twiddle factor generation method comprises the following steps:
based on storage in a memoryThe reference value of each rotation factor, and the rotation factor used for executing butterfly operation at each stage in the process of generating time-frequency transformation by utilizing an interpolation algorithm>The realized time-frequency transformation comprises DFT transformation, IDFT transformation, FFT transformation and IFFT transformation;
wherein stored in the memoryThe twiddle factor reference values include: based on->Make a circumference>Divided for unit angle>According to a parameter>Is continuously in the monotonically sequentially arranged value of>Each value is taken>For the maximum value of the number of points at which the FFT and IFFT transformations are carried out in a digital communication system, </or>And does not exceed a predetermined threshold.
In one embodiment, time-frequency is generatedTwiddle factor required in transformation processThe method comprises the following steps:
determining parameters when performing a current level butterfly of the time-frequency transform,/>And &>Point number of current-stage butterfly operation based on time-frequency transformation>And the butterfly base used determines>Is a twiddle factor used by the time-frequency transformation>Is greater than or equal to>Is measured in units of angle with two adjacent reference values of the rotation factor>The multiple relationship between them;
based on parametersIs greater than or equal to>Determining two consecutive twiddle factor reference values stored in a memory as target twiddle factor reference values;
interpolation operation is carried out on the two target twiddle factor reference values by utilizing an interpolation algorithm to obtain twiddle factors required by the current-stage butterfly operation for executing time-frequency transformation。
In one embodiment, stored in memoryThe individual twiddle factor reference values are unsigned numbers,and stored in memory>The rotation factor reference values are based on>Make a circumference>Divided for unit angle>N-min in several values>And (4) taking values.
In one embodiment, the method of determining two target twiddle factor reference values comprises:
When the temperature is higher than the set temperatureWhen the corresponding target rotation factor reference value is determined->;
When the temperature is higher than the set temperatureDetermining a corresponding target twiddle factor reference value;
Wherein the functionRepresenting storage in memoryIs/are>A fifth of the rotation factor reference values>A reference value of a rotation factor, is greater than or equal to>Indicates the ^ th or greater in the memory>The real part of the reference value of the individual twiddle factors,indicates the ^ th or greater in the memory>An imaginary part of each twiddle factor reference value;
determiningCorresponding target twiddle factor reference value->Obtaining two target twiddle factor reference valuesAnd &>。
In one embodiment, the interpolation algorithm is used for interpolating the reference values of the two target twiddle factors to obtain the twiddle factorsThe method comprises the following steps:
performing linear average interpolation on the reference values of the two target twiddle factors by using an average interpolation method to determineWherein is present>Is based on>Determining a resulting target rotation factor reference value, <' > based on the comparison of the reference value with a reference value>Is based on>Determining the resulting reference value of the target rotation factor->Representing a pair>Shifting right by one position;
or, according to the parametersIs counted fraction portion of->Performing interpolation operation on the two target twiddle factor reference values to obtain twiddle factor->。
In one embodiment, the parameters are based onFraction section of>Interpolating two target twiddle factor reference values to obtain twiddle factors>The method comprises the following steps:
determiningWherein is present>Is parameter->Is counted fraction portion of->The bit-width of (a) is,pair of representationsMove right->Bit and/or>Indicates that 1 is left-shifted->A bit. />
In one embodiment, the parameters are based onIs counted fraction portion of->Interpolating two target twiddle factor reference values to obtain twiddle factors>The method comprises the following steps:
is determined asWhen, is greater or less>Otherwise->(ii) a Wherein the content of the first and second substances,indicates that 1 is left-shifted->Bit, wherein>Is parameter->Fractional part ofIs determined.
In one embodiment, different points are stored in the memoryCorresponding multiple relation->Based on a multiple relation>Comprises an integer part and a fractional part, and is based on a multiple relation>Is an unsigned number;
determining parameters when performing a time-frequency transform for a current stage butterfly operationThe method comprises the following steps:
reading the number of points of butterfly operation of the current stage from the memoryCorresponding multiple relation->And calculates the parameter->。
Second partyThe application also provides a twiddle factor generating device in the digital communication system. The twiddle factor generating device is used for generating twiddle factors based on the data stored in the memoryThe reference value of each rotation factor is generated by utilizing an interpolation algorithm, and the rotation factor used when butterfly operations at each level are executed in the time-frequency transformation process>The realized time-frequency transformation comprises DFT transformation, IDFT transformation, FFT transformation and IFFT transformation;
wherein stored in the memoryThe twiddle factor reference values include: based on->Put the circumference in->Divided for unit angle>According to the parameter>Is continuously in the monotonically sequentially arranged value of>The value of each of the plurality of the values,for the maximum value of the number of points at which the FFT and IFFT transformations are carried out in a digital communication system, </or>And does not exceed a predetermined threshold.
In a third aspect, the present application also provides a computer device. The computer device comprises a memory and a processor, the memory storing a computer program, the memoryIn which a computer program is stored, characterized in that the memory also storesA twiddle factor reference value, stored in a memory>The twiddle factor reference values include: based on>Put the circumference in->Divided into unit angles>According to the parameter>Is continuously in the monotonically sequentially arranged value of>Each value is taken>For the maximum value of the number of points at which the FFT and IFFT transformations are carried out in a digital communication system, </or>And does not exceed a predetermined threshold;
based on memory storage when the processor executes the computer programThe twiddle factor reference value implements the steps in the twiddle factor generation method in the digital communication system of the first aspect.
The twiddle factor generating method, the device and the computer equipment in the digital communication system store the values of partial twiddle factors in a memory asBased on the stored reference values of twiddle factors, the twiddle factors used by DFT transform, IDFT transform, FFT transform and IFFT transform in executing butterfly operation at each stage can be generated by interpolation operation>. The data volume of the twiddle factors stored in the memory is less, the storage space occupied by the twiddle factors is reduced, the twiddle factors do not need to be respectively stored aiming at DFT/IDFT transformation and FFT/IFFT transformation, the multiplexing of twiddle factor reference values and the sharing of hardware resources can be realized, and the storage space and the hardware resources occupied by the twiddle factors are further reduced.
The method utilizes an interpolation operation method to quickly and conveniently generate the twiddle factor, does not have more complicated addition and multiplication operations, has lower operation complexity, does not need to be realized by using a complicated logic circuit, occupies less hardware resources, can finish the calculation of the twiddle factor in one cycle of hardware, and meets the time sequence requirement.
Drawings
Fig. 1 is a communication link transmission diagram of a digital communication system to which a twiddle factor generation method is applied in one embodiment.
FIG. 2 is a flowchart illustrating a twiddle factor generation method according to an embodiment.
Fig. 3 is a block diagram showing a structure of a twiddle factor generating apparatus according to an embodiment.
FIG. 4 is a diagram illustrating an internal structure of a computer device according to an embodiment.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present application and are not intended to limit the present application.
The method for generating the twiddle factors in the digital communication system provided by the embodiment of the application can be applied to digital communication systems such as LTE and NR which adopt orthogonal frequency division multiplexing technology, the digital communication systems are used for realizing digital communication between a base station and user terminal equipment (UE), the UE can be but not limited to various personal computers, notebook computers, smart phones, tablet computers, internet of things equipment and portable wearable equipment, and the internet of things equipment can be smart speakers, smart televisions, smart air conditioners, smart car-mounted equipment and the like. The portable wearable device can be a smart watch, a smart bracelet, a head-mounted device, and the like. In LTE systems, the base station is called eNodeB, and in NR systems, the base station is called gdnodeb.
Referring to fig. 1, in an uplink transmission link of the digital communication system, after pre-processing operations such as bit level processing, scrambling modulation, layer mapping, etc., data to be transmitted is converted into subcarrier data in a frequency domain by DFT through a fast fourier transform core, then subjected to subcarrier mapping, converted into time domain data by IFFT through the fast fourier transform core, and transmitted by radio frequency after post-processing operations such as adding CP (Cyclic Prefix) and subcarrier offset. The uplink receiving link and the uplink sending link of the digital communication system are dual, received data are subjected to pretreatment operations such as cyclic prefix CP removal, FFT (fast Fourier transform) is achieved through a fast Fourier transform core, then subcarrier mapping is removed, IDFT (inverse discrete Fourier transform) is achieved through the fast Fourier transform core and is converted into time domain signals, and then receiving is achieved through corresponding post-treatment operations.
In one embodiment, as shown in fig. 2, a twiddle factor generation method is provided, which is illustrated by way of example as applied to the link structure of the digital communication system in fig. 1. The DFT transformation and the IDFT transformation are inverse transformation, and the transformation principle is the same. The FFT transform and the IFFT transform are inverse transforms to each other, and the transform principle is the same. The transform processes of DFT transform and FFT transform are also basically the same, so as shown in fig. 1, it can be considered that DFT transform, IDFT transform, FFT transform and IFFT transform are all implemented by a fast fourier transform core through computation by a butterfly operation unit, and only a butterfly basis used when the fast fourier transform core implements DFT transform and IDFT transform is different from a butterfly basis used when the FFT transform and IFFT transform are implemented, for example, when the DFT transform and IDFT transform are implementedThe butterfly bases used comprise radix-2 butterfly bases, radix-3 butterfly bases, radix-4 butterfly bases and radix-5 butterfly bases, and the butterfly bases used for realizing FFT (fast Fourier transform) and IFFT (inverse fast Fourier transform) comprise radix-2 butterfly bases and radix-5 butterfly bases. Therefore, the twiddle factor generation method provided by the present application can be considered as a method executed by the fast fourier transform kernel, and the method is based on the method stored in the memoryA reference value of a rotation factor, which->The values of the reference values of the rotation factors are as follows:
based onIn the form of a circle>Is divided into unit angles to obtain->According to a parameter>The values of the monotonic order of (a) is, i.e. for example take in turn->That all the pressing parameters can be found>Is arranged in monotonically increasing order->And (4) taking values. />For the maximum value of the number of points for implementing FFT and IFFT in the digital communication system, the number of points for implementing FFT and IFFT in the LTE system may be 128, 256, 1024, 1536, 2048, and the number of points for implementing FFT in the LTE system may be implementedMaximum value of the number of points in the transform and IFFT. The number of points in the NR system for implementing FFT and IFFT can be 128, 256, 1024, 1536, 2048, 4096, and the maximum value of the number of points in the NR system for implementing FFT and IFFT is ≥ h>。
This is taken in the present applicationSuccessive in value>Individual value as->A rotation factor reference value stored in memory, based on the rotation factor reference value>And does not exceed a predetermined threshold. In one embodiment, direct fetching ≧ for reduced data storage is provided within a scheme realizable range>I.e. only all of the resulting->In various values>Then 256 twiddle factor reference values are saved for the LTE system and 512 twiddle factor reference values are saved for the NR system.
This is achieved byThe rotation factor reference value can be all->Successive-value beginning with any one of several values>A value, but for ease of subsequent operation and calculation, in one embodiment all ^ s are taken>A parameter in the individual value->Minimum->Individual value as->The individual twiddle factor reference values are stored, i.e. taken from>When corresponding to before->And (4) taking values.
Due to the fact thatThe twiddle factor reference values are all positive numbers, so that in one embodiment, a->The individual twiddle factor reference values are unsigned numbers, i.e. only stored->The data valid bit of each twiddle factor reference value reduces the storage space occupied by the sign bit.
Has stored in the memoryIn the case of a reference value for a twiddle factor, the method is based on ^ stored in the memory>The rotation factor reference value is used for executing butterfly operation at each level in the process of generating time-frequency transformation by utilizing interpolation algorithmRotating factor is greater or less>Here, the time-frequency transform includes DFT transform, IDFT transform, FFT transform, and IFFT transform.
This includes two meanings: for the uplink transmission link, based on storage in memoryThe twiddle factor reference value generates the twiddle factor ^ required for the DFT transform>And generates a rotation factor ≧ required for the IFFT transform>. Based on the ≥ stored in memory for the uplink receiving link>The twiddle factor reference value generates the twiddle factor ≥ necessary for the FFT transformation>And the rotation factor required to generate an IDFT transformation>。
Unlike the conventional method, two sets of hardware resources are required to be arranged for storing twiddle factors of DFT (discrete Fourier transform) and IDFT (inverse discrete Fourier transform) and for storing twiddle factors of FFT (fast Fourier transform) and IFFT (inverse fast Fourier transform), and the twiddle factors required by DFT and IDFT are generated and used in the memory when the twiddle factors required by FFT and IFFT are generatedThe twiddle factor reference value realizes the multiplexing of data and the sharing of hardware resources, and reduces the occupation of storage resources and hardware resources. Furthermore, the method according to the present application stores->The data size of each twiddle factor reference value is very limited, and the occupied storage space is small.
In the above method, twiddle factors required in the DFT transform, IDFT transform, FFT transform, and IFFT transform are generatedThe method (2) is the same, and the rotation factor required for generating any one of the above time-frequency transformation is generated>The method of (2) comprises the following steps, please refer to the embodiment shown in fig. 2:
Twiddle factor of time-frequency transformationIs expressed as>Wherein is present>Points representing a current stage butterfly operation>The number of stages representing the butterfly operation of the current stage is a parameter starting from 0. The butterfly base adopted by the current stage butterfly operation is ^ or ^>For example, common butterfly bases for DFT transforms include radix-2, radix-3, radix-4, and radix-5 butterfly bases, and therefore ^ er>One of 2, 3, 4 and 5 is taken.
Number of points of level 0 butterflyNamely, the number of realized time-frequency transformation points is 34 for DFT transformation/IDFT transformation in the LTE system, and 53 for DFT transformation/IDFT transformation in the NR system. The number of points of FFT/IFFT in the LTE system is 5, 128, 256, 1024, 1536, 2048, and 4096, in total, can be selected from the FFT/IFFT in the NR system. Slave->At the beginning, the number of points of the butterfly operation of the current stage->。
And &>Point ^ based on current-stage butterfly operation>And the butterfly base used>Determining ^ greater than or equal to a current stage butterfly>In common>The seed value is respectively equal to->. Asserted for the current stage butterfly operation>In common>The seed value is respectively equal to->。
Is a twiddle factor used by the time-frequency transformation>Unit angle of>Is measured in units of angle with two adjacent reference values of the rotation factor>In a multiple relationship between, i.e. </or>。
In one embodiment, the current stage butterfly operation is obtained by calculation when the current stage butterfly operation of time-frequency transformation is performedAnd a number of points based on the current stage butterfly operation >>The multiple relation is calculated to be got>Then according toThe parameter is calculated to be>。
In another embodiment, the multiple relationship is calculatedThe method involves division, consumes more computing resources, and therefore, when the method is implemented by hardware, the method does not need to be implemented in advanceOn-point number>Corresponding multiple relation->Stored in the storage relation, when the butterfly operation of the current stage is performed, the points which are in the butterfly operation of the current stage are read from the memory and are greater or less than or equal to the points in the butterfly operation of the current stage>Corresponding multiple relation->And then according to>The parameter is calculated to be>。
Due to multiple relationTherefore, the multiple relation>Comprises an integer part and a fractional part, but has a multiple relation>Is a positive number, and therefore stores a multiple relationship>When, the multiple relation->Is unsigned, i.e. likewise only stores the multiple relation->The data valid bit of (a). Assume a multiple relationship->Has a total bit width of &>Based on a multiple relation>Has a bit width of &>Then the multiple relation->Fractional part of is bit wide of->Multiple relationships can be combined>Is scaled asAnd the last flag bit->Represents a multiple relationship>Are unsigned numbers.
And &>Are all integers and therefore->Also an integer, assume->Is/is->Then, thenIs also bit wide, the integer part of (a)>Can combine>Is calibrated as->And the last flag bit->Represents->Are unsigned numbers.
Thus obtained parametersOr comprise both an integer part and a fractional part, and a parameter +>Integer part ofIs bit wide of->In the presence of a parameter>Fraction section of>Is bit wide of->. Thus, the parameter can be evaluated>Is greater than or equal to>Is scaled to >>Denotes an integer part->Is equal to->And the last flag bit->Represents->Are unsigned numbers. Can be selected based on the parameter>Is counted fraction portion of->Is calibrated as->Represents a fractional part +>Is greater than or equal to the total bit width and the fraction part bit width>And the last flag bit->Represents->Are unsigned numbers.
Such as for example in an LTE system,assuming that the point number of the DFT transform is 1152, the decomposition is 4X 3X 2, that is, 3-level radix-4 butterfly operation, 2-level radix-3, 1-level radix-2 butterfly operation, and 6 levels of butterfly operation:
number of points of level 0 butterflyThe butterfly base used is the base-4 butterfly base, thus->。,/>,/>,/>Based on a multiple relation>。
Number of points of level 1 butterflyThe butterfly base used is the base-4 butterfly base, thus->。,/>Based on a multiple relation>。
Number of points of level 2 butterflyThe butterfly base used is the base-4 butterfly base, thus->。/>,/>Based on a multiple relation>。
Number of points of butterfly operation of level 3The butterfly base used is the base-3 butterfly base, thus->。,/>Based on a multiple relation>。
Number of points of level 4 butterflyThe butterfly base used is the base-3 butterfly base, thus->。,/>Based on a multiple relation>。
Number of points of level 5 butterflyThe butterfly base used is the base-2 butterfly base, thus->。,/>Based on a multiple relation>。
As can be seen from the above example, even if the multiples are relatedPre-stored, also only requiring a per point countStoring a multiple relationship>The occupied storage space is also very limited.
Determining the two obtained target twiddle factor reference valuesAnd &>I.e. is->The closest integer part of the individual twiddle factor reference values->Two values of (a). Based on parameters>Is greater than or equal to>Determining two target rotation factor reference values>And &>The method comprises the following steps: based on->Determining the resulting reference value of the target rotation factor->Based onAnd determining the obtained target twiddle factor reference value.
To be provided withOne embodiment provides for example a based on +>Determining a target rotation factor reference value>The method comprises the following steps:
When the temperature is higher than the set temperatureDetermining a corresponding target twiddle factor reference value。
When the temperature is higher than the set temperatureDetermining a corresponding target twiddle factor reference value。
When the temperature is higher than the set temperatureDetermining a corresponding target twiddle factor reference value。
Based on the above method, the integer partDetermining one of the target rotation factor reference values->. In each of the above cases, the function->Representing stored in memory>The fifth of the rotation factor reference values>A reference value of a rotation factor, is greater than or equal to>Indicates the ^ th or greater in the memory>The real part of the reference value of the individual twiddle factors,indicates the ^ th or ^ th in the memory>The imaginary part of the individual twiddle factor reference values.
Can be determined to obtain by the same wayCorresponding target rotation factor reference value>In one approach, the function may be based on the same method as described above>The range in which the corresponding target rotation factor reference value is determined>. Or alternatively, in the determination of the target rotation factor reference value->Then, it is determined directly whether or not the decision is positive>According to the parameter in the reference value of the rotation factor>Arranged in monotonically increasing order at pick>Followed by a twiddle factor reference value that is another target twiddle factor reference value>。
In one embodiment, mean interpolation is used directly to correct for two target rotation factorsThe sub-reference values are interpolated by linear average, i.e. determinedWherein is present>Representing a pair>And shifting right by one bit. Those skilled in the art will appreciate that in the field of bit operations, data is right shifted { [ MEANS } or } based>Bit representation divides data by pick>Left shift in data>Bit representation data multiplication by pick>。
In another embodiment, the two target twiddle factor reference values are not directly referenced toAnd &>Performs a linear average interpolation, but further on the basis of the parameter>Is counted fraction portion of->For two target twiddle factor reference values>Andinterpolation is carried out to obtain the rotation factorSub-device>. The method for this embodiment provides two implementations as follows:
(1) Combining fractional parts by linear interpolationFor two target twiddle factor reference values>And &>Performing interpolation to determine->. Wherein it is present>Presentation pairMove right->Bit and/or>Indicates that 1 is left-shifted->A bit.
Is parameter->Is counted fraction portion of->Is determined, as described above, fraction portion->Bit wide ofTherefore also have。
(2) Combining fractional parts by nearest neighbor difference methodFor two target twiddle factor reference values>Andperforming interpolation operation to determine if>When, is greater or less>Otherwise. Wherein it is present>Represents a left shift by 1>A bit. Likewise, is present in>Is parameter->Is counted fraction portion of->Is thus also->。
Compared with the traditional table look-up methodProtocol comparison to twiddle factor: the traditional scheme of generating the twiddle factor based on the table look-up method needs to store each pointUnder->When taking a value->Then based onGenerates an arbitrary value->The rotation factor of time. But as described above for the expression of the twiddle factor, the point is ≤>The value of the twiddle factor required by the current stage butterfly operation is determined by->Make a decision based onAnd &>Respective value is taken in>In common>Form a combination>A rotation factor ofOn the basis of which it is desired to combine with->Are combined respectively, even if at->Fixed rotation factor is->On a non-storage basis, it is also necessary to ≥ every point>Store the corresponding->AnThe value in the case. Compared with the method of storing all twiddle factors, the method can reduce the stored data size to a certain extent, but the points are greater or less in the LTE system>There are 61 values, points in the NR system->There are 89 values, which are combined with different values>The occupied storage space is still very large compared to the present application. And due toSo that in order to reduce the effect of accumulated errors, it is not practical to store only @>Value in case->The number of stored twiddle factors is further increased, and the higher the precision requirement is, the more twiddle factors need to be stored, and the larger the occupied storage space is. The method of the present applicationA large number of twiddle factors do not need to be stored, and multiplexing can be realized by a small number of stored twiddle factor reference values, so that excessive storage area and hardware area do not need to be occupied, and the problem of accumulated errors does not exist.
Compared with the conventional cordic scheme for determining the twiddle factor: if the cordic scheme adopts an iteration method, although the resource consumption is low, the requirement on the number of cycles of the hardware is high, and if one iteration consumes one cycle of the hardware, 10 cycles are needed for calculating one twiddle factor, so that the cordic scheme is difficult to be applied to the situation of time sequence tension. If the cordic scheme adopts the pipeline scheme, although one twiddle factor can be calculated in one cycle of hardware to meet the timing requirement, the cordic scheme needs to be realized by adopting 30 adders and 20 shifters, and a large hardware area is occupied. The method has the advantages of low difficulty, high accuracy, no complex multiplication and addition operation, no need of using too many logic operation devices to occupy too much hardware area, and capability of completing calculation of a rotation factor in one cycle of hardware to meet the time sequence requirement.
It should be understood that, although the steps in the flowcharts related to the embodiments described above are shown in sequence as indicated by the arrows, the steps are not necessarily performed in sequence as indicated by the arrows. The steps are not performed in the exact order shown and described, and may be performed in other orders, unless explicitly stated otherwise. Moreover, at least a part of the steps in the flowcharts related to the embodiments described above may include multiple steps or multiple stages, which are not necessarily performed at the same time, but may be performed at different times, and the execution order of the steps or stages is not necessarily sequential, but may be rotated or alternated with other steps or at least a part of the steps or stages in other steps.
Based on the same inventive concept, the embodiment of the present application further provides a twiddle factor generating device in a digital communication system for implementing the twiddle factor generating method in the digital communication system. The implementation scheme for solving the problem provided by the apparatus is similar to the implementation scheme described in the above method, so specific limitations in one or more embodiments of the twiddle factor generation apparatus in the digital communication system provided below may refer to the above limitations on the twiddle factor generation method in the digital communication system, and are not described herein again.
In an embodiment, referring to fig. 3, a twiddle factor generating apparatus 300 in a digital communication system is provided, where the twiddle factor generating apparatus 300 is configured to generate twiddle factors used in performing butterfly operations at each stage in a time-frequency transformation process by using an interpolation algorithm based on twiddle factor reference values stored in a memory 400, and the implemented time-frequency transformation includes DFT transformation, IDFT transformation, FFT transformation, and IFFT transformation.
Wherein stored in the memory 400The twiddle factor reference values include: based on->To be circumferentially arranged withDivided for unit angle>According to the parameter>Is continuously in the monotonically sequentially arranged value of>Each value is taken>For the maximum value of the number of points at which the FFT and IFFT transformations are carried out in a digital communication system, </or>And does not exceed a predetermined threshold.
The modules in the twiddle factor generating device can be implemented in whole or in part by software, hardware and a combination thereof. The modules can be embedded in a hardware form or independent of a processor in the computer device, and can also be stored in a memory in the computer device in a software form, so that the processor can call and execute operations corresponding to the modules.
In one embodiment, a computer device is provided, which may be a server, the internal structure of which may be as shown in fig. 4. The computer device includes a processor, a memory, and a network interface connected by a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operation of an operating system and computer programs in the non-volatile storage medium. The database of the computer device is used for storingA rotation factor reference value and also for storing different points @>Corresponding multiple relation->. The network interface of the computer equipment is used for connecting and communicating with an external terminal through a network, and comprises an I/O interface and a communication interface. The computer program is executed by a processor to implement a twiddle factor generation method in a digital communication system.
It will be appreciated by those skilled in the art that the configuration shown in fig. 4 is a block diagram of only a portion of the configuration associated with the present application, and is not intended to limit the computing device to which the present application may be applied, and that a particular computing device may include more or fewer components than shown, or may combine certain components, or have a different arrangement of components.
In one embodiment, a computer device is provided comprising a memory having a computer program stored therein and a processor, the memory further having stored therein a computer programA twiddle factor reference value, stored in memory>The twiddle factor reference values include: based on>Put the circumference in->Divided for unit angle>According to the parameter>Is continuously in the monotonically sequentially arranged value of>Each value is taken>For the maximum value of the number of points at which the FFT and IFFT transformations are carried out in a digital communication system, </or>And does not exceed a predetermined threshold.
The processor, when executing the computer program, implements the steps of: based on storage in a memoryEach rotating factor reference value is generated by utilizing an interpolation algorithm, and the rotating factor used in butterfly operation at each level is performed in the time-frequency transformation process>"ShiThe existing time-frequency transformation comprises DFT transformation, IDFT transformation, FFT transformation and IFFT transformation.
In one embodiment, a computer-readable storage medium is provided, having a computer program stored thereon, which when executed by a processor, performs the steps of:
based on storage in memoryEach rotating factor reference value is generated by utilizing an interpolation algorithm, and the rotating factor used in butterfly operation at each level is performed in the time-frequency transformation process>The realized time-frequency transformation comprises DFT transformation, IDFT transformation, FFT transformation and IFFT transformation;
wherein stored in the memoryThe twiddle factor reference values include: based on->To be circumferentially arranged withDivided for unit angle>According to a parameter>In monotonically sequentially arranged values of (a) is continuously +>Each value is taken>For the maximum value of the number of points when the FFT transform and the IFFT transform are implemented in the digital communication system,and does not exceed the predeterminedAnd (4) a threshold value.
In one embodiment, a computer program product is provided, comprising a computer program which when executed by a processor performs the steps of:
based on storage in a memoryEach rotating factor reference value is generated by utilizing an interpolation algorithm, and the rotating factor used in butterfly operation at each level is performed in the time-frequency transformation process>The realized time-frequency transformation comprises DFT transformation, IDFT transformation, FFT transformation and IFFT transformation;
wherein stored in the memoryThe twiddle factor reference values include: based on->To be circumferentially arranged withDivided for unit angle>According to the parameter>Is continuously in the monotonically sequentially arranged value of>Each value is taken>For the maximum value of the number of points in the digital communication system for which an FFT and an IFFT transformation are implemented, <' > or>And does not exceed a predetermined threshold.
It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) referred to in the present application are information and data authorized by the user or sufficiently authorized by each party.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above may be implemented by hardware instructions of a computer program, which may be stored in a non-volatile computer-readable storage medium, and when executed, may include the processes of the embodiments of the methods described above. Any reference to memory, database, or other medium used in the embodiments provided herein may include at least one of non-volatile and volatile memory. The nonvolatile Memory may include Read-Only Memory (ROM), magnetic tape, floppy disk, flash Memory, optical Memory, high-density embedded nonvolatile Memory, resistive Random Access Memory (ReRAM), magnetic Random Access Memory (MRAM), ferroelectric Random Access Memory (FRAM), phase Change Memory (PCM), graphene Memory, and the like. Volatile Memory can include Random Access Memory (RAM), external cache Memory, and the like. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM), among others. The databases referred to in various embodiments provided herein may include at least one of relational and non-relational databases. The non-relational database may include, but is not limited to, a block chain based distributed database, and the like. The processors referred to in the embodiments provided herein may be general purpose processors, central processing units, graphics processors, digital signal processors, programmable logic devices, quantum computing based data processing logic devices, etc., without limitation.
The technical features of the above embodiments can be arbitrarily combined, and for the sake of brevity, all possible combinations of the technical features in the above embodiments are not described, but should be considered as the scope of the present specification as long as there is no contradiction between the combinations of the technical features.
The above-mentioned embodiments only express several embodiments of the present application, and the description thereof is more specific and detailed, but not construed as limiting the scope of the present application. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the concept of the present application, which falls within the scope of protection of the present application. Therefore, the protection scope of the present application shall be subject to the appended claims.
Claims (7)
1. A twiddle factor generation method in a digital communication system, the twiddle factor generation method comprising:
based on storage in a memoryThe reference value of each rotation factor is generated by utilizing an interpolation algorithm, and the rotation factor used when butterfly operations at each level are executed in the time-frequency transformation process>The implemented time-frequency transformation comprises DFT transformation, IDFT transformation, FFT transformation and IFFT transformation, and the twiddle factors needed by the DFT transformation and the IDFT transformation and the twiddle factors needed by the FFT transformation and the IFFT transformation are generated by using the stored ^ and/or the stored value in the memory>Number of twiddle factor reference value, implement>Multiplexing of individual twiddle factor reference values;
wherein, stored in the memoryThe twiddle factor reference values include: based on->Put the circumference in->Divided into unit angles>According to the parameter>In the monotonically sequentially arranged values of (4), the succession in which n is smallest>Each value is taken>For the maximum value of the number of points in the digital communication system for which an FFT and an IFFT transformation are implemented, <' > or>Stored in the memory->Each twiddle factor reference value is an unsigned number;
wherein, the rotation factor required in the time-frequency transformation process is generatedThe method comprises the following steps: determining a parameter @ when performing a current stage butterfly operation of the time-frequency transform>,/>And &>Points of butterfly operation at current stage based on time-frequency transformationAnd the butterfly base used>Determining, based on a butterfly operation in a current stage>In common>A species value of respectively(ii) a Asserted for the current stage butterfly operation>In common>Seed value of ^ er/receiver>;/>Is a twiddle factor used by the time-frequency transformation>Is greater than or equal to>Is measured in units of angle with two adjacent reference values of the rotation factor>A multiple relationship therebetween;based on a parameter->Is greater than or equal to>Determining two consecutive twiddle factor reference values stored in the memory as target twiddle factor reference values, comprising:
When the temperature is higher than the set temperatureDetermining a corresponding target twiddle factor reference value;
When the temperature is higher than the set temperatureDetermining a corresponding target twiddle factor reference value;
When the temperature is higher than the set temperatureDetermining a corresponding target twiddle factor reference value;
Wherein the functionRepresenting stored in said memory>The fifth of the rotation factor reference values>A reference value of a rotation factor, is greater than or equal to>Indicates the ^ th or ^ th in the memory>Real part of a reference value of a rotation factor,/>Indicates the ^ th or ^ th in the memory>An imaginary part of the individual twiddle factor reference values;
determiningCorresponding target twiddle factor reference value->Obtaining two target twiddle factor reference values>Andand performing interpolation operation on the two target rotation factor reference values by utilizing an interpolation algorithm to obtain a rotation factor (or greater than or equal to) required by executing the current-stage butterfly operation of the time-frequency transformation>。
2. The twiddle factor generation method according to claim 1, wherein the twiddle factor is obtained by interpolating two target twiddle factor reference values by using an interpolation algorithmThe method comprises the following steps:
performing linear average interpolation on the reference values of the two target twiddle factors by using an average interpolation method to determineWherein is present>Is based on>Determining the resulting reference value of the target rotation factor->Is based on>Determining the resulting reference value of the target rotation factor->Representing a pair>Shifting right by one position;
3. The twiddle factor generation method of claim 2, wherein the function-by-parameter isFractional part ofPerforming interpolation operation on the two target twiddle factor reference values to obtain twiddle factor->The method comprises the following steps:
4. The twiddle factor generation method of claim 2, wherein the function-based parameter isFractional part ofInterpolating two target twiddle factor reference values to obtain twiddle factors>The method comprises the following steps: />
5. The twiddle factor generation method according to claim 1, wherein different points are stored in the memoryCorresponding multiple relation->In a multiple relationship>Comprises an integer part and a fractional part, and is based on a multiple relation>Is an unsigned number;
determining parameters when performing a current-level butterfly operation of the time-frequency transformThe method comprises the following steps:
6. Twiddle factor generating apparatus in digital communication system, wherein the twiddle factor generating apparatus is configured to generate twiddle factors based on data stored in a memoryEach rotating factor reference value is generated by utilizing an interpolation algorithm, and the rotating factor used in butterfly operation at each level is performed in the time-frequency transformation process>The realized time-frequency transformation comprises DFT transformation, IDFT transformation, FFT transformation and IFFT transformation;
wherein stored in the memoryThe twiddle factor reference values include: based on->Put the circumference in->Divided into unit angles>According to the parameter/>In the monotonically sequentially arranged values of (4), the succession in which n is smallest>The value of each of the plurality of the values,for the maximum value of the number of points in the digital communication system for which an FFT and an IFFT transformation are implemented, <' > or>Stored in the memory->The rotation factor reference values are unsigned numbers;
the method for generating the twiddle factors required in the time-frequency transformation process by the twiddle factor generating device comprises the following steps: determining parameters when performing a current level butterfly of the time-frequency transform,/>And &>Number of points of a current stage butterfly operation based on the time-frequency transformation->And the butterfly base used>Determining ^ greater than or equal to a current stage butterfly>In common>The seed value is respectively equal to->(ii) a Before stage butterfly operation->In common>A seed value is respectively;/>Is a rotation factor used by a time-frequency transformation>Is greater than or equal to>Is measured in units of angle with two adjacent reference values of the rotation factor>The multiple relationship between them; based on a parameter->Integer part ofDetermining two consecutive twiddle factor reference values stored in the memory as target twiddle factor reference values, including:
When the temperature is higher than the set temperatureDetermining a corresponding target twiddle factor reference value;
Wherein the functionRepresents a->The fifth of the rotation factor reference values>A reference value of a rotation factor, is greater than or equal to>Indicates the ^ th or ^ th in the memory>The real part of the reference value of the respective rotation factor->Indicates the ^ th or ^ th in the memory>An imaginary part of the individual twiddle factor reference values;
determiningCorresponding target twiddle factor reference value->Obtaining two target twiddle factor reference values>Andand performing interpolation operation on the two target rotation factor reference values by utilizing an interpolation algorithm to obtain a rotation factor (or greater than or equal to) required by executing the current-stage butterfly operation of the time-frequency transformation>。
7. A computer device comprising a memory and a processor, the memory storing a computer program, characterized in that the memory further storesA twiddle factor reference value stored in the memory @>The twiddle factor reference values include: based on->Make a circumference>Divided for unit angle>According to the parameter>In the monotonically sequentially arranged values of (4), the succession in which n is smallest>A number of values in conjunction with>For the maximum value of the number of points in the digital communication system for which an FFT and an IFFT transformation are carried out, ->Stored in the memory->The rotation factor reference values are unsigned numbers;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211496163.4A CN115544438B (en) | 2022-11-28 | 2022-11-28 | Twiddle factor generation method and device in digital communication system and computer equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211496163.4A CN115544438B (en) | 2022-11-28 | 2022-11-28 | Twiddle factor generation method and device in digital communication system and computer equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115544438A CN115544438A (en) | 2022-12-30 |
CN115544438B true CN115544438B (en) | 2023-04-18 |
Family
ID=84722698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211496163.4A Active CN115544438B (en) | 2022-11-28 | 2022-11-28 | Twiddle factor generation method and device in digital communication system and computer equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115544438B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117591784B (en) * | 2024-01-19 | 2024-05-03 | 武汉格蓝若智能技术股份有限公司 | FPGA-based twiddle factor calculation method and FPGA chip |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045279A (en) * | 2009-10-21 | 2011-05-04 | 中兴通讯股份有限公司 | Generation method and device of rotation factor |
CN102111365A (en) * | 2009-12-28 | 2011-06-29 | 重庆重邮信科通信技术有限公司 | Discrete Fourier transform (DFT)/inverse discrete Fourier transform (IDFT) rotation factor control method, device and DFT/IDFT arithmetic device for long term evolution (LTE) system |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3872724B2 (en) * | 2002-06-11 | 2007-01-24 | シャープ株式会社 | Rotation factor table for fast Fourier transform and fast Fourier transform device using the same |
US20070266070A1 (en) * | 2006-05-12 | 2007-11-15 | Chung Hua University | Split-radix FFT/IFFT processor |
CN112835073A (en) * | 2021-02-05 | 2021-05-25 | 重庆九洲星熠导航设备有限公司 | FFT (fast Fourier transform) processor for satellite signal acquisition |
CN114090948A (en) * | 2021-10-12 | 2022-02-25 | 哲库科技(北京)有限公司 | Twiddle factor determination method and device, electronic equipment and storage medium |
CN114814815A (en) * | 2022-03-16 | 2022-07-29 | 华域汽车系统股份有限公司 | Method for solving signal processing crossing loss based on interpolation and single-point DFT filtering |
-
2022
- 2022-11-28 CN CN202211496163.4A patent/CN115544438B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045279A (en) * | 2009-10-21 | 2011-05-04 | 中兴通讯股份有限公司 | Generation method and device of rotation factor |
CN102111365A (en) * | 2009-12-28 | 2011-06-29 | 重庆重邮信科通信技术有限公司 | Discrete Fourier transform (DFT)/inverse discrete Fourier transform (IDFT) rotation factor control method, device and DFT/IDFT arithmetic device for long term evolution (LTE) system |
Also Published As
Publication number | Publication date |
---|---|
CN115544438A (en) | 2022-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2004297978A1 (en) | FFT architecture and method | |
CN115544438B (en) | Twiddle factor generation method and device in digital communication system and computer equipment | |
US8917588B2 (en) | Fast Fourier transform and inverse fast Fourier transform (FFT/IFFT) operating core | |
Oruklu et al. | Reduced memory and low power architectures for CORDIC-based FFT processors | |
US9727531B2 (en) | Fast fourier transform circuit, fast fourier transform processing method, and program recording medium | |
CN111737638A (en) | Data processing method based on Fourier transform and related device | |
EP3370161B1 (en) | Adapting the processing of decomposed ffts to match the number of data points processed in parallel | |
US8838661B2 (en) | Radix-8 fixed-point FFT logic circuit characterized by preservation of square root-i operation | |
US20100179978A1 (en) | Fft-based parallel system with memory reuse scheme | |
Gautam et al. | Hardware efficient design of variable length FFT processor | |
US20140365547A1 (en) | Mixed-radix pipelined fft processor and fft processing method using the same | |
US8484273B1 (en) | Processing system and method for transform | |
Ma et al. | Simplified addressing scheme for mixed radix FFT algorithms | |
US8832171B2 (en) | Index generation scheme for prime factor algorithm based mixed radix discrete fourier transform (DFT) | |
TW200811672A (en) | Optimized multi-mode DFT implementation | |
Yu et al. | Low-complexity twiddle factor generator for FFT processors | |
Malashri et al. | Low power and memory efficient FFT architecture using modified CORDIC algorithm | |
CN108809883B (en) | DFT implementation system and method for PRACH baseband signal | |
US8601045B2 (en) | Apparatus and method for split-radix-2/8 fast fourier transform | |
CN111291315A (en) | Data processing method, device and equipment | |
CN105608054A (en) | FFT/IFFT device and method based on LTE system | |
Gupta et al. | A high-speed single-path delay feedback pipeline FFT processor using vedic-multiplier | |
US9805000B1 (en) | Method and apparatus for reordering mixed radix fast Fourier transform outputs | |
CN113094639B (en) | DFT parallel processing method, device, equipment and storage medium | |
KR101036873B1 (en) | Flag based low-complexity, expandable split radix fft system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |