IP Library Granted Patent US 9,832,060
Granted Patent B2
US 9,832,060 · App. 14/679,014 · Granted Nov 28, 2017

Method and circuit for fast fourier transform

Inventor: Heming Song (Shanghai, CN)
Assignee: MONTAGE TECHNOLOGY (SHANGHAI) CO., LTD.
H04L27/2636G06F17/142H04L27/263
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,832,060
App. No.
14/679,014
Granted
Nov 28, 2017
Kind
B2
Abstract

A method for FFT/IFFT computation, comprising: identifying whether grouping data is needed based on data bitwidth distribution in a set of data, wherein the set of data includes data in a stage of a FFT/IFFT computation; assigning different data representations including effective bit and group index for data identified in different groups if grouping is needed, wherein data in a group have same exponent, and data in different groups have different exponents; and outputting a signal indicating the exponent; for each of a plurality of short sequence FFT/IFFT computation—decomposing data used in present short sequence FFT/IFFT computation into at least a first multi-bit part and a second multi-bit part; respectively calculating FFT/IFFT computation results for the first multi-bit part and the second multi-bit part; adding the FFT/IFFT computation results for the first and the second multi-bit part; scanning a plurality of short sequence FFT/IFFT computation added results.

Claims (84)

1. A method for Fast Fourier Transform/Inverse Fast Fourier Transform (FFT/IFFT) computation, comprising:

identifying whether grouping data is needed based on data bitwidth distribution in a set of data, wherein the set of data includes data in a stage of a FFT/IFFT computation;

assigning different data representations including effective bit and group index for data identified in different groups, if grouping the data is needed, wherein data in a group have same exponent, and data in different groups have different exponents; and

outputting a signal indicating the exponent;

for each of a plurality of short sequence FFT/IFFT computation

decomposing data used in present short sequence FFT/IFFT computation into at least a first multi-bit part and a second multi-bit part, with the first multi-bit part higher than the second multi-bit;

respectively calculating FFT/IFFT computation results for the first multi-bit part and the second multi-bit part;

adding the FFT/IFFT computation results for the first multi-bit part and the second multi-bit part;

scanning a plurality of short sequence FFT/IFFT computation added results, wherein the plurality of short sequence FFT/IFFT computation comprises FFT/IFFT computation in a stage.

2. The method of claim 1 , wherein outputting the signal indicating the exponent further comprises:

outputting at least a bit to represent the group index if grouping the data is needed, wherein the group index indicates which exponent the group uses.

3. The method of claim 2 , further comprising:

determining a number of bits needed to represent the group index based on a number of groups.

4. The method of claim 2 , further comprising:

assigning, additional sign bit, additional sign bit generated from shifting, or reserved storage space, for storing the group index.

5. The method of claim 1 , further comprising:

representing the data with fixed-length effective bits if grouping the data is not needed, wherein the data does not use bits for group index.

6. The method of claim 1 , further comprising:

determining whether the data used in the present short sequence FFT/IFFT computation needs to be decomposed by determining whether the data in the present FFT/IFFT computation use same exponent;

the method further comprises:

linearly decomposing the data used in the present short sequence FFT/IFFT computation into the first multi-bit part and the second multi-bit part if the data used in the present short sequence FFT/IFFT computation needs to be decomposed.

7. The method of claim 6 , further comprising:

directly calculating present short sequence FFT/IFFT computation result if the data used in the present short sequence FFT/IFFT computation do not need to be decomposed.

8. The method of claim 1 , wherein identifying that grouping the data is needed further comprises:

determining the number of groups by determining whether the addition of the number of data whose bitwidth exceeds a first predetermined threshold and whether the number of groups exceeds a second predetermined threshold based on the scanned results.

9. The method of claim 1 , further comprising:

adjusting gains for different groups of data based on their respective exponents of different groups if grouping the data is needed.

10. The method of claim 1 , wherein scanning the plurality of added FFT/IFFT computation results further determines a data bitwidth of the added FFT/IFFT computation results and further obtains data distribution of the added FFT/IFFT computation results.

11. The method of claim 1 , wherein decomposing the data used in present short sequence FFT/IFFT computation into the at least first multi-bit part and the second multi-bit part is implemented according to the equation D=A*2^k+B, wherein A represents the first multi-bit part, B represents the second multi-bit part, and k represents the power of the first multi-bit part.

12. The method of claim 11 , wherein

respectively calculating FFT/IFFT computation result for the first multi-bit part and the second multi-bit further comprises

respectively calculating FFT/IFFT computation result for the first multi-bit part and the second multi-bit by reusing a same FFT/IFFT computation unit.

13. The method of claim 12 , further comprises

adding the FFT/IFFT computation results for the first multi-bit part and the second multi-bit part by using the equation D′=A′*2^k+B′, wherein A′ represents the FFT/IFFT computation results for the first multi-bit part, and B′ represents the FFT/IFFT computation results for the second multi-bit part.

14. The method of claim 1 , wherein

scanning the plurality of the short sequence FFT/IFFT computation added results in a stage comprises obtaining a data distribution of a current stage of a plurality of the FFT/IFFT computation results;

the method further comprises:

iteratively performing the following items, until all stages of FFT/IFFT computation results have been completed:

identifying whether grouping data is needed based on data bitwidth distribution in the set of data, wherein the set of data includes data in a stage of a FFT/IFFT computation;

assigning different data representations including effective bit and group index for data identified in different groups, if grouping the data is needed, wherein data in a group have same exponent, and data in different groups have different exponents; and

outputting a signal indicating the exponent;

for each of a plurality of short sequence FFT/IFFT computation

decomposing data used in present short sequence FFT/IFFT computation into at least a first multi-bit part and a second multi-bit part, with the first multi-bit part higher than the second multi-bit;

respectively calculating FFT/IFFT computation results for the first multi-bit part and the second multi-bit part;

adding the FFT/IFFT computation results for the first multi-bit part and the second multi-bit part;

scanning a plurality of added short sequence FFT/IFFT computation results, wherein the plurality of short sequence FFT/IFFT computation comprises FFT/IFFT computation in a stage.

15. A circuit for Fast Fourier Transform/ Inverse Fast Fourier Transform (FFT/IFFT) computation, comprising:

a controller configured to identify whether grouping data is needed based on data bitwidth distribution in a set of data, wherein the set of data includes data in a stage of a FFT/IFFT computation;

assigning different data representations including effective bit and group index for data identified in different groups, if grouping the data is needed, wherein data in a group have same exponent, and data in different groups have different exponents; and

outputting unit, configured to output a signal indicating the exponent;

for each of a plurality of short sequence FFT/IFFT computation

a decomposing unit configured to decompose data used in present short sequence FFT/IFFT computation into at least a first multi-bit part and a second multi-bit part, with the first multi-bit part higher than the second multi-bit;

a FFT/IFFT computation unit, configured to respectively calculate FFT/IFFT computation results for the first multi-bit part and the second multi-bit part;

an adder configured to add the FFT/IFFT computation results for the first multi-bit part and the second multi-bit part;

a scanner, configured to scan a plurality of added short sequence FFT/IFFT computation results, wherein the plurality of short sequence FFT/IFFT computation comprises FFT/IFFT computation in a stage.

16. The circuit of claim 15 , wherein the outputting unit is further configured to

output at least a bit to represent the group index if grouping the data is needed, wherein the group index indicates which exponent the group uses.

17. The circuit of claim 16 , wherein the controller is further configured to

determine a number of bits needed to represent the group index based on a number of groups.

18. The circuit of claim 16 , wherein the controller is further configured to

assign, additional sign bit, additional sign bit generated from shifting, or reserved storage space, for storing the group index.

19. The circuit of claim 15 , wherein the controller is further configured to

represent the data with fixed-length effective bits if grouping the data is not needed, wherein the data does not use bits for group index.

20. The circuit of claim 15 , wherein the controller is further configured to

determine whether the data used in the present short sequence FFT/IFFT computation needs to be decomposed by determining whether the data in the present FFT/IFFT computation use same exponent;

the decomposing unit is further configured to

linearly decompose the data used in the present short sequence FFT/IFFT computation into the first multi-bit part and the second multi-bit part if the data used in the present short sequence FFT/IFFT computation needs to be decomposed.

21. The circuit of claim 20 , wherein the FFT/IFFT computation unit is further configured to

directly calculate present short sequence FFT/IFFT computation result if the data used in the present short sequence FFT/IFFT computation do not need to be decomposed.

22. The circuit of claim 15 , wherein identifying that grouping the data is needed further comprises:

determining the number of groups, by determining whether the addition of the number of data whose bitwidth exceeds a first predetermined threshold and whether the number of groups exceeds a second predetermined threshold based on the scanned results.

23. The circuit of claim 15 , wherein the controller is further configured to

adjust gains for different groups of data based on their respective exponents of different groups if grouping the data is needed.

24. The circuit of claim 15 , wherein the scanner is further configured to scan the plurality of added FFT/IFFT computation results, to determine a data bitwidth of the added FFT/IFFT computation results, and further obtain data distribution of the added FFT/IFFT computation results.

25. The circuit of claim 15 , wherein the decomposing unit decomposes the data used in present short sequence FFT/IFFT computation into the at least first multi-bit part and the second multi-bit part according to the equation D=A*2^k+B, wherein A represents the first multi-bit part, B represents the second multi-bit part, and k represents the power of the first multi-bit part.

26. The circuit of claim 25 , wherein

the FFT/IFFT computation unit respectively calculates FFT/IFFT computation result for the first multi-bit part and the second multi-bit.

27. The circuit of claim 26 , wherein the adder is further configured to

add the FFT/IFFT computation results for the first multi-bit part and the second multi-bit part by using the equation D′=A′*2^k+B′, wherein A′ represents the FFT/IFFT computation results for the first multi-bit part, and B′ represents the FFT/IFFT computation results for the second multi-bit part.

28. The circuit of claim 15 , wherein

the scanner is further configured to scan the plurality of the added short sequence FFT/IFFT computation results in a stage comprises obtaining a data distribution of a current stage of a plurality of the FFT/IFFT computation results;

the controller, the output unit, the decomposing unit, the FFT/IFFT computation unit, the adder and the scanner iteratively perform their respective operation, until all stages of FFT/IFFT computation results have been completed.

29. A signal generator, including the circuit of claim 15 .

30. A receiver, including the circuit of claim 15 .

Assignments (3)
SECURITY INTEREST Recorded Apr 24, 2024
From: MONTAGE LZ SEMICONDUCTOR (SHANGHAI) CO., LTD.; MONTAGE LZ TECHNOLOGIES (CHENGDU) CO., LTD.
To: RENLAI ELECTRONIC TECHNOLOGIES (SHANGHAI) CO., LTD.
Reel/Frame 067200/0638 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2017
From: MONTAGE TECHNOLOGY (SHANGHAI) CO., LTD.
To: MONTAGE LZ SEMICONDUCTOR (SHANGHAI) CO., LTD.; MONTAGE LZ TECHNOLOGIES (CHENGDU) CO., LTD.
Reel/Frame 044033/0131 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2015
From: SONG, HEMING
To: MONTAGE TECHNOLOGY (SHANGHAI) CO., LTD.
Reel/Frame 035335/0516 →
Priority Claims (1)
CN 2015 1 0056889 · Feb 3, 2015 · national
Continuity (1)
Related Publication 20160226695A1 · Aug 4, 2016