CN115544438A - 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
- CN115544438A CN115544438A CN202211496163.4A CN202211496163A CN115544438A CN 115544438 A CN115544438 A CN 115544438A CN 202211496163 A CN202211496163 A CN 202211496163A CN 115544438 A CN115544438 A CN 115544438A
- Authority
- CN
- China
- Prior art keywords
- twiddle factor
- twiddle
- memory
- transformation
- factor reference
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 238000004891 communication Methods 0.000 title claims abstract description 42
- 230000009466 transformation Effects 0.000 claims abstract description 83
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 15
- 238000004590 computer program Methods 0.000 claims description 16
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 3
- 230000005055 memory storage Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 claims 2
- 241000510032 Ellipsaria lineolata Species 0.000 description 68
- 230000008569 process Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 241000255777 Lepidoptera Species 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000003775 Density Functional Theory Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (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 the small amount of memoryThe individual twiddle factor reference values are used by interpolation algorithms to generate twiddle factors for use by the DFT, IDFT, FFT, and IFFT transforms in performing the various stages of the butterfly. 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 that involve Orthogonal Frequency Division Multiplexing (OFDM), uplink of such digital communication systems generally adopts single carrier transmission based on DFT spread OFDM (DFTs _ OFDM) to reduce power loss, and DFT (Discrete Fourier Transform) and IFFT (Inverse Fast Fourier Transform) are sequentially implemented on uplink transmission links for data to be transmitted. 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 both realized by adopting a butterfly operation unit for calculation, 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 transformThe DFT of the point needs to be decomposed by using a 2/3/4/5 butterfly basis and execute multi-stage butterfly operation, and the expression of a twiddle factor used by each stage of butterfly operation isWhereinis the number of DFT points for the current stage butterfly,,,is the butterfly radix employed by the current stage of butterfly operations,one of 2, 3, 4 and 5 is taken. Similarly, the IFFT/FFT transformation also needs to use the rotation factor。
Because the calculation of the twiddle factors required by each level of butterfly operation according to the expression in real time affects the operation speed and is difficult to meet the requirement of rapidity of a digital communication system, the common method generally stores the twiddle factors under various points in advance and correspondingly searches and uses 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 memoryEach twiddle factor reference value, twiddle factors used for executing butterfly operation at each level in the process of generating time-frequency transformation by utilizing interpolation algorithmThe realized time-frequency transformation comprises DFT transformation, IDFT transformation, FFT transformation and IFFT transformation;
wherein stored in the memoryThe twiddle factor reference values include: base (C)In thatTo be circumferentially arranged withObtained by dividing by unit angleAccording to the parameterIn a monotonic order of valuesThe value of each of the plurality of values,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 a predetermined threshold.
In one embodiment, the twiddle factor required in the time-frequency transformation process is generatedThe method comprises the following steps:
determining parameters when performing a current level butterfly of the time-frequency transform,Andpoint number of current-stage butterfly operation based on time-frequency transformationAnd the determination of the butterfly basis used,is a twiddle factor used by time-frequency transformationUnit angle ofThe unit angle between two adjacent twiddle factor reference valuesThe multiple relationship between them;
based on parametersInteger part ofDetermining 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 a memoryA rotation reasonThe sub-reference value is based onTo be circumferentially arranged withObtained by dividing by unit angleN of the individual values being smallestAnd (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 temperatureDetermining a corresponding target twiddle factor reference value;
Wherein the functionRepresenting storage in a memoryA first one of the twiddle factor reference valuesRotary wrenchThe value of the conversion factor is referred to as the reference value,to indicate the second in the memoryThe real part of the reference value of the individual twiddle factors,to indicate the second in the memoryAn imaginary part of each twiddle factor reference value;
determiningCorresponding target twiddle factor reference valueObtaining 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 rotation factors by using an average interpolation method to determineWhereinis based onDetermining the obtained reference value of the target twiddle factor,is based onDetermining the obtained reference value of the target twiddle factor,pair of representationsShifting right by one position;
or, according to the parametersFractional part ofCarrying out interpolation operation on two target twiddle factor reference values to obtain twiddle factors。
In one embodiment, the parameters are based onFractional part ofCarrying out interpolation operation on two target twiddle factor reference values to obtain twiddle factorsThe method comprises the following steps:
determiningWhereinis a parameterFractional part ofThe bit-width of (a) is,presentation pairMove to the rightThe number of bits is,represents moving left to 1A bit.
In one embodiment, the parameters are based onFractional part ofCarrying out interpolation operation on two target twiddle factor reference values to obtain twiddle factorsThe method comprises the following steps:
is determined whenWhen the utility model is used, the water is discharged,otherwise(ii) a Wherein,represents moving left to 1The bits, wherein,is a parameterFractional part ofIs determined.
In one embodiment, different points are stored in the memoryCorresponding multiple relationMultiple relationIncluding integer parts and fractional parts, and multiple relationIs 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 relationAnd calculating to obtain parameters。
In a second aspect, the present application further provides a twiddle factor generation apparatus in a digital communication system. The twiddle factor generating device is used for generating twiddle factors based on the data stored in the memoryThe twiddle factor reference value is generated by interpolation algorithm, and the twiddle factor used in executing butterfly operation of each stage in time-frequency transformation processThe 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 onTo be circumferentially arranged withObtained by division at a unit angleAccording to the parametersIn a monotonically ordered arrangement of valuesThe value of each of the plurality of the values,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 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 stores computer programs, characterized in that the memory also stores computer programsA twiddle factor reference value, stored in memoryThe twiddle factor reference values include: based onMake a circle inObtained by division at a unit angleAccording to the parameterIn a monotonic order of valuesThe value of each of the plurality of the values,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 a predetermined threshold;
based on memory storage when the processor executes the computer programThe individual twiddle factor reference values implement 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 asThe twiddle factor reference values are stored, and the twiddle factors used by DFT transformation, IDFT transformation, FFT transformation and IFFT transformation in executing butterfly operation of each stage can be generated by utilizing an interpolation operation method based on the stored twiddle factor reference values. 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 flow diagram illustrating a twiddle factor generation method according to one 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 and not restrictive on the broad 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 CP (Cyclic Prefix) addition 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 realized by a fast Fourier transform core, then subcarrier mapping is removed, IDFT (inverse discrete Fourier transform) is realized by the fast Fourier transform core and converted into time domain signals, and then the receiving is completed 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 in the application of the method 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 substantially 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 the butterfly bases used by the fast fourier transform core to implement DFT transform and IDFT transform are different from the butterfly bases used to implement FFT transform and IFFT transform, for example, the butterfly bases used to implement DFT transform and IDFT transform include radix-2 butterfly base, radix-3 butterfly base, radix-4 butterfly base and radix-5 butterfly base, and the butterfly bases used to implement FFT transform and IFFT transform include radix-2 butterfly base and radix-5 butterfly base. 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 twiddle factor generation method stored in the memoryA twiddle factor reference value, whichThe values of the reference values of the rotation factors are as follows:
based onIn the form of a circleIs obtained by dividing by a unit angleAccording to the parameterAlso the values of the monotonic order ofI.e. such as to take in sequenceThat is, all parameters per unit can be obtainedArranged in monotonically increasing orderAnd (4) taking values.For the maximum value of the number of points for implementing the FFT and IFFT in the digital communication system, the number of points for implementing the FFT and IFFT in the LTE system may be 128, 256, 1024, 1536, and 2048, and then the maximum value of the number of points for implementing the FFT and IFFT in the LTE system. The number of points for implementing FFT and IFFT in the NR system may be 128, 256, 1024, 1536, 2048, 4096, and the maximum value of the number of points for implementing FFT and IFFT in the NR system。
This is taken in the present applicationContinuity in individual valuesEach value is taken asThe individual twiddle factor reference values are stored in a memory,and does not exceed a predetermined threshold. In one embodiment, direct fetching is performed to reduce data storage to the extent that the scheme can be implementedI.e. only storing all of the obtainedIn each valueThen 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 twiddle factor reference value may be allThe succession of the beginning of any one of the valuesA value, but in order to facilitate subsequent operations and calculations, in one embodiment, all are takenParameters in individual valuesMinimum sizeEach value is taken asStoring, i.e. retrieving, a twiddle factor reference valueBefore time corresponds toAnd (4) taking values.
Due to the fact thatThe twiddle factor reference values are all positive numbers, and thus in one embodiment,the individual twiddle factor reference values are unsigned numbers, i.e. are stored onlyThe 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 twiddle factor reference value, the method is based on the values stored in the memoryThe twiddle factor reference value is used for generating twiddle factors used for executing butterfly operations of all levels in the time-frequency transformation process by utilizing an interpolation algorithmHere, 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 memoryGenerating twiddle factors needed by DFT conversion from twiddle factor reference valueAnd generating the twiddle factors required for the IFFT transform. For the uplink receiving link, based on storage in memoryThe twiddle factor reference value generates the twiddle factor needed by FFT transformationAnd generating twiddle factors required for IDFT transform。
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. In addition, the method of the application is stored in a memoryThe 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 methods are all the same, and the twiddle factors required by any one of the time-frequency transformation are generatedThe method of (2) comprises the following steps, please refer to the embodiment shown in fig. 2:
Twiddle factor of time-frequency transformationIs expressed asWhereinrepresenting the number of points for the butterfly operation of the current stage,the number of stages representing the butterfly operation of the current stage is a parameter starting from 0. The butterfly radix adopted by the current stage of butterfly operation isFor example, common butterfly bases for DFT transforms include radix-2 butterfly bases, radix-3 butterfly bases, radix-4 butterfly bases, and radix-5 butterfly bases, and thusOne 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, and 2048, and 4096, i.e., 4096, can be adopted in the NR system. FromStarting, the number of butterfly operations in the current stage。
Andnumber of points based on current level butterfly operationAnd the butterfly base usedDetermining, for the butterfly operation of the current stageIn common withA seed value is respectively. Of butterfly operation in the current stageIn common withA seed value is respectively。
Is a twiddle factor used for time-frequency transformationUnit angle ofThe unit angle between two adjacent twiddle factor reference valuesMultiple relationship between them, i.e.。
In one embodiment, the current stage butterfly operation is obtained by calculation when the current stage butterfly operation of time-frequency transformation is performedAnd number of points based on current level butterfly operationsCalculating to obtain multiple relationThen according toCalculating to obtain parameters。
In another embodiment, the multiple relationship is calculatedThe method involves division, consumes more computing resources, and therefore different points are counted in advance when hardware is implementedCorresponding multiple relationStored in the memory relation, and then read from the memory when performing the butterfly operation of the current stageNumber of points of butterfly operation with current stageCorresponding multiple relationThen according toCalculating to obtain parameters。
Due to multiple relationThus multiple relationIncluding integer and fractional parts, but in multiplesIs positive number, and thus stores multiple relationTime, multiple relationFor unsigned numbers, i.e. storing only multiplesThe data valid bit of (a). Assuming a multiple relationshipHas a total bit width ofMultiple relationHas a bit width of an integer part ofMultiple relation ofIs bit wide ofThe multiple relationIs scaled asLast identification bitExpress the multiple relationAre unsigned numbers.
Andare all integers, thereforeIs also an integer, provided thatHas a total bit width ofThen, thenIs also bit wideCan be prepared byIs scaled asLast identification bitTo representAre unsigned numbers.
Thus obtained parametersOr both integer and fractional parts, and the parametersInteger part ofIs bit wide asParameter ofFractional part ofIs bit wide as. Thus can be to the parameterInteger part ofIs scaled asDenotes the integer partIs both the total bit width and the integer part bit widthAnd the last identification bitRepresentAre unsigned numbers. Can be used for the parametersFractional part ofIs scaled asDenotes the fractional partBoth the total bit width and the fractional bit width ofAnd the last identification bitTo representAre unsigned numbers.
Such as for example in an LTE system,assuming that the point number of the DFT transform is 1152, the DFT transform is decomposed into 4 × 3 × 2, that is, 3 levels of radix-4 butterflies, 2 levels of radix-3 butterflies, and 1 level of radix-2 butterflies are required, and there are 6 levels of butterflies:
number of points of level 0 butterflyThe butterfly base used is the base-4 butterfly base, thus。,,,Multiple relation。
Number of points of level 1 butterflyThe butterfly base used is the base-4 butterfly base, therefore。,Multiple relation。
Number of points of level 2 butterflyThe butterfly base used is the base-4 butterfly base, thus。,Multiple relation。
Number of points of butterfly operation of level 3The butterfly base used is the base-3 butterfly base, thus。,Multiple relation。
Number of points of level 4 butterflyThe butterfly base used is the base-3 butterfly base,thus, it is possible to provide。,Multiple relation。
Number of points of level 5 butterflyThe butterfly base used is a base-2 butterfly base, thus。,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 relationshipThe occupied storage space is also very limited.
determining two obtained target twiddle factor reference valuesAndis thatThe nearest integer part of the twiddle factor reference valueTwo values of (a). Based on parametersInteger part ofDetermining two target twiddle factor reference valuesAndthe method comprises the following steps: based onDetermining the obtained target twiddle factor reference valueBased onAnd determining the obtained target twiddle factor reference value.
To be provided withFor example, one embodiment providesDetermining a target twiddle factor reference valueThe method comprises the following steps:
Based on the above method, the integer partDetermining one of the target twiddle factor reference values. In each of the above cases, the functionRepresenting storage in a memoryA first one of the twiddle factor reference valuesThe reference value of the rotation factor is used,to indicate the second in the memoryThe real part of the reference value of the individual twiddle factors,represents the first in the memoryThe imaginary part of the individual twiddle factor reference values.
Can be determined to obtain by the same wayCorresponding target twiddle factor reference valueOne method is, can be based on the same method as aboveThe corresponding target rotation factor reference value is determined in the range. Or alternatively, in determining the targetReference value of twiddle factorThen, directly determineAccording to parameters in a reference value of a rotation factorArranged in monotonically increasing orderOne twiddle factor reference value is then another target twiddle factor reference value。
In one embodiment, the mean interpolation method is directly used to perform linear mean interpolation, i.e. to determine the reference value of the two target twiddle factorsWhereinpresentation pairAnd shifting right by one bit. In the field ofAs will be appreciated by those skilled in the art, in the field of bit manipulation, data is shifted to the rightBit representation divides data byShift data to the leftBit representation data multiplication。
In another embodiment, the two target twiddle factor reference values are not directly referenced toAndperforming linear average interpolation, but further based on the parametersFractional part ofFor two target twiddle factor reference valuesAndinterpolation operation is carried out to obtain a twiddle factor. The method for this embodiment provides two implementations as follows:
(1) Combining fractional parts by linear interpolationFor two target twiddle factor reference valuesAndperforming interpolation operation to determine. Wherein,presentation pairMove to the rightThe number of bits is set to be,represents moving left to 1A bit.
Is a parameterFractional part ofIs, as described above, the fractional partBit wide ofAnd therefore also have。
(2) Combining fractional parts by nearest neighbor difference methodFor two target twiddle factor reference valuesAndperforming interpolation operation to determine whenWhen the utility model is used, the water is discharged,otherwise. Wherein,represents moving left to 1A bit. In the same way as above, the first and second,is a parameterFractional part ofIs therefore also the bit width of。
Compared with the traditional scheme of generating the twiddle factors based on the table look-up method: the traditional scheme of generating the twiddle factor based on the table look-up method needs to store each pointLower partValue of timeThen based onThe general formula (II) generates arbitrary valuesThe rotation factor of time. However, as described above for the twiddle factor expression, the number of points isThe rotation factor required by the butterfly operation of the current stage is selected fromDetermine based onAndthe value of each of them is selected,in common withForm a combined wayA rotation factor ofOn the basis of the need forAre combined separately even atFixed twiddle factor ofOn a non-storage basis, it is also necessary to count each pointStore correspondencesAnThe value in the case. Although this method can reduce the amount of data stored to some extent compared with the method of storing all twiddle factors, the number of points in the LTE system is limitedThere are 61 values, the number of points in the NR systemThere are 89 values, and different combinationsThe occupied storage space is still very large compared to the present application. And due to the fact thatTherefore, in order to reduce the influence of the accumulated error, only the memory is not actually storedValue under circumstancesThe 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. According to the method, a large number of twiddle factors do not need to be stored, and multiplexing can be realized on 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 as described above are sequentially displayed as indicated by arrows, the steps are not necessarily performed sequentially as indicated by the arrows. The steps are not limited to being performed in the exact order illustrated and, unless explicitly stated herein, may be performed in other orders. 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 generation device in a digital communication system for implementing the twiddle factor generation 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 onTo be circumferentially arranged withObtained by dividing by unit angleAccording to the parametersIn a monotonic order of valuesThe value of each of the plurality of the values,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 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 from 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 operating system and the computer program to run on the non-volatile storage medium. The database of the computer device is used for storingA twiddle factor reference value, and also for storing different number of pointsCorresponding multiple relation. The network interface of the computer equipment is used for connecting and communicating with an external terminal through a networkThe interfaces include I/O interfaces and communication interfaces. The computer program is executed by a processor to implement a twiddle factor generation method in a digital communication system.
Those skilled in the art will appreciate that the architecture shown in fig. 4 is merely a block diagram of some of the structures associated with the disclosed aspects and is not intended to limit the computing devices to which the disclosed aspects apply, as particular computing devices may include more or less components than those shown, or may combine certain components, or have a different arrangement of components.
In one embodiment, a computer device is provided that includes a memory having a computer program stored therein and a processor, the memory also having stored therein a computer programA twiddle factor reference value, stored in memoryThe twiddle factor reference values include: based onTo be circumferentially arranged withObtained by division at a unit angleAccording to the parameterIn a monotonic order of valuesThe value of each of the plurality of the values,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 a predetermined threshold.
The processor, when executing the computer program, implements the steps of: based on storage in a memoryThe twiddle factor reference value is generated by interpolation algorithm, and the twiddle factor used in executing butterfly operation of each stage in time-frequency transformation processThe implemented time-frequency transformation includes 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 a memoryThe twiddle factor reference value is generated by interpolation algorithm, and the twiddle factor used in executing butterfly operation of each stage in time-frequency transformation processThe 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 onTo be circumferentially arranged withObtained by dividing by unit angleAccording to the parameterIn a monotonic order of valuesThe value of each of the plurality of the values,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 a predetermined threshold.
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 memoryThe twiddle factor reference value is generated by interpolation algorithm, and the twiddle factor used in executing butterfly operation of each stage in time-frequency transformation processThe 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 onTo be circumferentially arranged withIs a unit angleObtained by degree divisionAccording to the parameterIn a monotonic order of valuesThe value of each of the plurality of the values,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 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 can be implemented by hardware instructions of a computer program, which can be stored in a non-volatile computer-readable storage medium, and when executed, can 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 (10)
1. A twiddle factor generation method in a digital communication system, the twiddle factor generation method comprising:
based on storage in a memoryA twiddle factor referenceValue, twiddle factor generated by interpolation algorithm and used for executing butterfly operation of each stage in time-frequency transformation processThe 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 onTo be circumferentially arranged withObtained by division at a unit angleAccording to the parameterIn a monotonic order of valuesN is the maximum value of the point number when the FFT transformation and the IFFT transformation are realized in the digital communication system,and does not exceed a predetermined threshold.
2. The method of claim 1, wherein the twiddle factors required in the time-frequency transformation are generatedMethod bagComprises the following steps:
determining parameters when performing a current level butterfly of the time-frequency transform,andpoints of butterfly operation at current stage based on time-frequency transformationAnd the determination of the butterfly basis used,is a twiddle factor used for time-frequency transformationUnit angle ofThe unit angle between two adjacent twiddle factor reference valuesThe multiple relationship between them;
based on parametersInteger part ofDetermining two consecutive twiddle factor reference values stored in the memory as target twiddle factor reference values;
3. The twiddle factor generation method of claim 2, wherein the twiddle factors are stored in the memoryThe twiddle factor reference values are all unsigned numbers,and stored in the memoryThe twiddle factor reference value is based onTo be circumferentially arranged withObtained by division at a unit angleN of the individual values being smallestAnd (4) taking values.
4. The twiddle factor generation method of claim 3, wherein the method of determining two target twiddle factor reference values comprises:
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 storage in said memoryA first one of the twiddle factor reference valuesThe reference value of the rotation factor is used,represents the second in the memoryThe real part of the reference value of the individual twiddle factors,represents the second in the memoryAn imaginary part of the individual twiddle factor reference values;
5. the twiddle factor generation method according to claim 2, wherein the twiddle factor is obtained by interpolating two target twiddle factor reference values 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 determineWhereinis based onDetermining the obtained reference value of the target twiddle factor,is based onDetermining the obtained reference value of the target twiddle factor,presentation pairShifting right by one position;
6. The twiddle factor generation method of claim 5, wherein the function-based parameter isFractional part ofCarrying out interpolation operation on two target twiddle factor reference values to obtain twiddle factorsThe method comprises the following steps:
7. The twiddle factor generation method of claim 5, wherein the function-based parameter isFractional part ofCarrying out interpolation operation on two target twiddle factor reference values to obtain twiddle factorsThe method comprises the following steps:
8. The twiddle factor generation method according to claim 2, wherein different points are stored in the memoryCorresponding multiple relationMultiple relationIncluding integer parts and fractional parts, and multiple relationIs an unsigned number;
the determining of the parameters for executing the time-frequency transformation in the butterfly operation of the current stageThe method comprises the following steps:
9. 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 memoryThe twiddle factor reference value is generated by interpolation algorithm, and the twiddle factor used in executing butterfly operation of each stage in time-frequency transformation processThe 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 onTo be circumferentially arranged withObtained by dividing by unit angleAccording to the parametersIn a monotonic order of valuesThe value of each of the plurality of the values,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 a predetermined threshold.
10. 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 said memoryThe twiddle factor reference values include: based onTo be circumferentially arranged withObtained by division at a unit angleAccording to the parameterIn a monotonically ordered arrangement of valuesThe value of each of the plurality of the values,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 a predetermined threshold;
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 true CN115544438A (en) | 2022-12-30 |
CN115544438B 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117591784A (en) * | 2024-01-19 | 2024-02-23 | 武汉格蓝若智能技术股份有限公司 | FPGA-based twiddle factor calculation method and FPGA chip |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004013811A (en) * | 2002-06-11 | 2004-01-15 | Sharp Corp | Twiddle factor table for fast fourier transform, and fast fourier transformation system using the same |
US20070266070A1 (en) * | 2006-05-12 | 2007-11-15 | Chung Hua University | Split-radix FFT/IFFT processor |
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 |
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 (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004013811A (en) * | 2002-06-11 | 2004-01-15 | Sharp Corp | Twiddle factor table for fast fourier transform, and fast fourier transformation system using the same |
US20070266070A1 (en) * | 2006-05-12 | 2007-11-15 | Chung Hua University | Split-radix FFT/IFFT processor |
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 |
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 |
Non-Patent Citations (2)
Title |
---|
王非非等: "一种旋转因子访存优化的FFT算法", 《信息与电子工程》 * |
高振斌等: "超长点数FFT处理器的旋转因子生成方法", 《电讯技术》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117591784A (en) * | 2024-01-19 | 2024-02-23 | 武汉格蓝若智能技术股份有限公司 | FPGA-based twiddle factor calculation method and FPGA chip |
CN117591784B (en) * | 2024-01-19 | 2024-05-03 | 武汉格蓝若智能技术股份有限公司 | FPGA-based twiddle factor calculation method and FPGA chip |
Also Published As
Publication number | Publication date |
---|---|
CN115544438B (en) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8271569B2 (en) | Techniques for performing discrete fourier transforms on radix-2 platforms | |
CN102043760B (en) | Data processing method and system | |
US8917588B2 (en) | Fast Fourier transform and inverse fast Fourier transform (FFT/IFFT) operating core | |
CN112800386B (en) | Fourier transform processing method, processor, terminal, chip and storage medium | |
US20230254115A1 (en) | Protection of transformations by intermediate randomization in cryptographic operations | |
Liu et al. | Pipelined architecture for a radix-2 fast Walsh–Hadamard–Fourier transform algorithm | |
Oruklu et al. | Reduced memory and low power architectures for CORDIC-based FFT processors | |
Alkım et al. | Compact and simple RLWE based key encapsulation mechanism | |
CN115544438A (en) | Twiddle factor generation method and device in digital communication system and computer equipment | |
US20120143936A1 (en) | RADIX-8 FIXED-POINT FFT LOGIC CIRCUIT CHARACTERIZED BY PRESERVATION OF SQUARE ROOT-i OPERATION | |
CN116488788A (en) | Hardware accelerator of full homomorphic encryption algorithm, homomorphic encryption method and electronic equipment | |
US20100179978A1 (en) | Fft-based parallel system with memory reuse scheme | |
CN110750249B (en) | Method and device for generating fast Fourier transform code | |
WO2022252876A1 (en) | A hardware architecture for memory organization for fully homomorphic encryption | |
CN114706557B (en) | ASIC chip and implementation method and device of Montgomery modular multiplication | |
WO2011102291A1 (en) | Fast fourier transform circuit | |
CN115577221A (en) | Signal processing method and device, twiddle factor optimization method and terminal equipment | |
CN111291315A (en) | Data processing method, device and equipment | |
Ma et al. | Simplified addressing scheme for mixed radix FFT algorithms | |
Malashri et al. | Low power and memory efficient FFT architecture using modified CORDIC algorithm | |
Yu et al. | Low-complexity twiddle factor generator for FFT processors | |
US20180373676A1 (en) | Apparatus and Methods of Providing an Efficient Radix-R Fast Fourier Transform | |
US9805000B1 (en) | Method and apparatus for reordering mixed radix fast Fourier transform outputs | |
Du Pont et al. | Hardware Acceleration of the Prime-Factor and Rader NTT for BGV Fully Homomorphic Encryption | |
CN103870437A (en) | Digital signal processing device and processing method thereof |
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 |