A fast Fourier transform calculation module and frequency deviation estimation device
By adopting symmetric and asymmetric butterfly computing structures in the spread spectrum communication system and serially orchestrating the FFT computing process, the problem of resource limitation of traditional FFT computing modules is solved, and a higher precision frequency deviation estimation is achieved.
Patent Information
- Application Number
- CN202110987933.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-08-26
- Publication Date
- 2025-03-18
- Estimated Expiration
- 2041-08-26
AI Technical Summary
In the spread spectrum communication system, due to resource limitations, it is difficult for the traditional FFT calculation module to realize FFT calculation with more points without increasing storage resources, resulting in limited frequency deviation estimation accuracy.
The symmetric and asymmetric butterfly calculation structure is adopted, and the FFT calculation process is serially arranged, and more efficient FFT calculation is achieved through the combination of symmetric butterfly components and asymmetric butterfly components.
Without increasing storage resources, FFT calculation with more points is implemented, which improves the accuracy of frequency deviation estimation.
Smart Images

Figure CN115913846B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of spread spectrum communication, and in particular to a fast Fourier transform calculation module and a frequency deviation estimation device. Background Art
[0002] Spread spectrum communication technology has the characteristics of strong anti-interference ability and low operating point, and has a wide range of applications. Since the crystal oscillator of the transmitter and receiver of spread spectrum communication cannot be completely aligned, or due to the Doppler effect, the wireless signal received by the receiver usually has a frequency offset. Therefore, frequency offset estimation and correction are required in the receiver to avoid signal distortion caused by frequency offset.
[0003] A commonly used frequency offset estimation method is based on Fourier transform. This method consists of three functional modules: sampling, FFT, and maximum value comparison. Figure 1 shown.
[0004] Among them, the sampling module obtains channel data at a fixed sampling interval. In spread spectrum communication, the spread spectrum sampling data needs to be descrambled first, and then the correlation operation is performed to obtain the channel data. The FFT module performs FFT operation on the acquired channel data. The maximum value comparison module performs maximum value comparison on the results after FFT calculation and determines the frequency deviation position according to the maximum value.
[0005] The estimation accuracy of the above method is determined by the sampling point interval and the number of Fourier transform sampling points. For example, if the sampling point interval is M and the number of Fourier transform sampling points is N, then the minimum discernible accuracy is 2π / MN. Usually, the two parameters M and N are fixed, so the frequency deviation accuracy is also determined in advance and cannot be changed.
[0006] In the spread spectrum communication system based on equalizer receiver, higher requirements are put forward for the accuracy of frequency offset estimation. In order to improve the estimation accuracy, it is necessary to increase the number of points of FFT calculation. The traditional FFT calculation module uses a fully symmetrical butterfly component. Regardless of whether the number of sampling points reaches the number of points of Fourier transform or how many outputs are required, it needs to occupy the maximum number of storage resources corresponding to the number of FFT points. However, the resources of the system are limited, especially in the FPGA system. Therefore, there is an urgent need for a method to achieve more point FFT calculation without increasing storage resources. Summary of the invention
[0007] The technical problem to be solved by the present invention is to provide a fast Fourier transform calculation module and a frequency deviation estimation device, which can realize FFT calculation with more points without increasing storage resources.
[0008] The technical solution adopted by the present invention to solve the technical problem is: to provide a fast Fourier transform calculation module for high-precision frequency offset estimation, comprising 2i sampling points, of which 2 j non-zero input samples and 2 k The fast Fourier transform calculation module includes a symmetrical butterfly component, an asymmetrical butterfly component and an FFT process control component, characterized in that the symmetrical butterfly component is a butterfly calculation component with the same number of input ports and output ports, and the number of input ports and output ports of each symmetrical butterfly component is 2 k , both by P = 2 j+k-i The number of ports is Q = 2 i-j The number of input ports of the asymmetric butterfly component is 2 k+1 , the number of ports is R = 2 k-1 The number of output ports is 2. k , the number of ports is R = 2 k-1 The FFT process control component is serially arranged, specifically: first calculate the row where I0 is located, and follow A 0,0 , A 1,0 , ..., A L-1,0 Then calculate the row where I1 is located, according to A 0,1 , A 1,1 , ..., A L-1,1 , B 0,0 The order of processing is repeated, and so on, and finally I is calculated. S-1 OK, follow A 0,S-1 , A 1,S-1 , ..., A L-1,S-1 , B 0,S / 2-1 , B 1,S / 4-1 , ..., B M-2,1 , B M-1,0 The order of processing is I0, I1, ..., I S-1 is the input data, A 0,0 , A 1,0 , ..., A L-1,S-1 is the working state of the symmetrical butterfly component, L=j+ki, B 0,0 , ..., B 0,S / 2-1 , B 1,S / 4-1 , ..., B M-2,1 , B M-1,0 is the working state of the asymmetric butterfly component, M=ik.
[0009] When the symmetrical butterfly component is connected to the input end, 2 j The input sampling points are arranged in reverse bit order and grouped, P = 2 j+k-i Divide into S = 2 i-kGroup input data I0, I1, ..., I S-1 As the input of the symmetrical butterfly components, each of the symmetrical butterfly components is assigned to 2 j+k-i sampling points, each sampling point has Q=2 copies i-j The input interface of each butterfly branch is filled with .
[0010] When two symmetrical butterfly-shaped components are butted together, the two symmetrical butterfly-shaped components of the previous stage are k The output port is connected to the 2 symmetrical butterfly components of the next stage k The input ports are connected in sequence.
[0011] When the symmetrical butterfly component and the asymmetrical butterfly component are connected, the outputs of the two symmetrical butterfly components are used as the input of one asymmetrical butterfly component.
[0012] When two asymmetric butterfly components are butted together, the outputs of the two previous asymmetric butterfly components are used as the inputs of an asymmetric butterfly component of the next stage.
[0013] When the asymmetric butterfly component is connected to the output end, 0~2 k-1 -1 is the first 2 outputs of the Fast Fourier Transform calculation module k-1 The data represents the positive frequency deviation, 2 i -2 k-1 -1~2 i-1 The last 2 k-1 This data represents the reverse frequency deviation.
[0014] When i≥j+k, the FFT process control component directly inputs the input data to the asymmetric butterfly component. At this time, the number of working states of the asymmetric butterfly component M=j.
[0015] When the asymmetric butterfly component is connected to the input end, 2 j The input sampling points are arranged in reverse bit order and grouped, with each sampling point forming a group, forming input data I0, I1, ..., I S-1 As the input of the asymmetric butterfly component, S=2 j , each sampling point is replicated Q = 2 k After the data is divided, an asymmetric butterfly component is input, and one asymmetric butterfly component is allocated for every 2 sampling points.
[0016] The technical solution adopted by the present invention to solve its technical problem is: a frequency offset estimation device is also provided, including a sampling module, a fast Fourier transform calculation module as mentioned above for high-precision frequency offset estimation, and a maximum value comparison module; the sampling module is used to obtain channel data according to a fixed sampling interval, and perform descrambling processing on the spread spectrum sampling data and then perform correlation operations to obtain channel data; the fast Fourier transform calculation module is used to perform fast Fourier transform calculation on the acquired channel data; the maximum value comparison module is used to perform maximum value comparison on the results after the fast Fourier transform calculation, and determine the frequency offset position according to the maximum value.
[0017] Beneficial Effects
[0018] Due to the adoption of the above-mentioned technical scheme, the present invention has the following advantages and positive effects compared with the prior art: the present invention introduces an asymmetric butterfly component in the FFT calculation module and serializes the FFT calculation process, which can realize FFT calculation with more points according to the needs of frequency deviation estimation without increasing the storage resources required for FFT calculation, so as to achieve the purpose of improving the estimation accuracy. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] Figure 1 is a block diagram of a spectrum estimation device used in the prior art;
[0020] Figure 2 is a block diagram of a spectrum estimation device according to an embodiment of the present invention;
[0021] Figure 3 Schematic diagram of the weight vector and internal connection relationship of the symmetrical butterfly component in working state A0 in an embodiment of the present invention;
[0022] Figure 4 Schematic diagram of the weight vector and internal connection relationship of the symmetrical butterfly component in working state A1 in an embodiment of the present invention;
[0023] Figure 5 This is the working state A of the symmetrical butterfly component in the embodiment of the present invention. L-1 Schematic diagram of the weight vector and internal connection relationship setting;
[0024] Figure 6 The asymmetric butterfly component in the working state B in the embodiment of the present invention M Schematic diagram of weight vector and connection relationship setting when
[0025] Figure 7 is a control flow chart of the FFT process control component in an embodiment of the present invention;
[0026] Figure 8 is a control flow chart of the FFT process control component in a special scenario in an embodiment of the present invention;
[0027] Fig. 9 is a control flow chart of the FFT process control component when the number of FFT sampling points is 1024 in an embodiment of the present invention;
[0028] Fig.10 It is a control flow chart of the FFT process control component when the number of FFT sampling points is 2048 in an implementation manner of the present invention. DETAILED DESCRIPTION
[0029] The present invention will be further described below in conjunction with specific embodiments. It should be understood that these embodiments are only used to illustrate the present invention and are not intended to limit the scope of the present invention. In addition, it should be understood that after reading the content taught by the present invention, those skilled in the art can make various changes or modifications to the present invention, and these equivalent forms fall within the scope limited by the appended claims of the application equally.
[0030] The inventors of the present invention have found that the FFT used in frequency deviation estimation in spread spectrum communication has some characteristics, mainly three: 1) The number of input sampling points is generally small, generally equivalent to less than one-tenth of the number of FFT points. 2) The number of FFT output points actually used is very small. This is because the frequency deviation of the communication system is generally small, and generally only the data of the first and last points of the FFT output are needed. 3) The time requirement for FFT calculation is not high. This is because in spread spectrum communication, the system performs spread spectrum processing on the signal, and the sampling data interval of the data is relatively long.
[0031] Based on the application characteristics of frequency offset estimation in spread spectrum communication, this embodiment proposes a frequency offset estimation device, and the entire device consists of a sampling module, a high-precision frequency offset estimation FFT module, and a maximum value comparison module. Among them, the sampling module obtains channel data according to a fixed sampling interval. In spread spectrum communication, it is necessary to first perform descrambling on the spread spectrum sampling data, and then perform related operations to obtain channel data. The FFT module performs FFT operations on the acquired channel data. The maximum value comparison module performs maximum value comparison on the results after FFT calculation, and determines the frequency offset position according to the maximum value.
[0032] In this embodiment, the FFT module adopts both symmetrical and asymmetrical butterfly computing structures, which can realize Fourier transform processing with more points under less storage resources, thereby achieving the purpose of improving the accuracy of frequency offset estimation. It specifically includes: symmetrical butterfly components, asymmetrical butterfly components, storage components and FFT process control components. For the convenience of description, this embodiment assumes that the number of sampling points of the target FFT is N=2 i , the number of input sampling points is 2 j , the number of output sampling points is 2 k .
[0033] The symmetrical butterfly component is a butterfly computing component whose number of input ports is the same as the number of output ports. The symmetrical butterfly component used in this embodiment has 2 input ports and 2 output ports. k , all by P = 2 j+k-i The number of ports is Q = 2 i-j In different working stages, the weight vector and internal connection relationship of the symmetric butterfly computing component are different. Figure 3 to Figure 5 The working conditions of the symmetrical butterfly components in A0, A1 and A L-1 The FFT weight vector and connection relationship settings are the same for other working states.
[0034] Figure 3 The weight vector and internal connection relationship of the symmetrical butterfly component in working state A0 are given. i [a,b] is the weight vector of Fourier transform, indicating Where N is the number of Fourier transform points. The connection relationship at this time is 2 j+k-i-1 2 i-j+1 ×2 i-j+1 The butterfly structure.
[0035] Figure 4 The weight vector and internal connection relationship of the symmetrical butterfly component in working state A1 are given. j+k-i-2 2 i-j+2 ×2 i-j+2 The butterfly structure. Figure 5 The symmetrical butterfly component is shown in working state A. L-1 The weight vector and internal connection relationship are composed of 1 2 k ×2 k The butterfly structure.
[0036] An asymmetric butterfly component is a butterfly computing component whose number of input ports is inconsistent with the number of output ports. Figure 6 The asymmetric butterfly component used in this embodiment is given. Figure 6 It can be seen that the number of input ports of the asymmetric butterfly component used in this embodiment is 2 k+1 , the number of ports is R = 2 k-1 The butterfly branch consists of 2 output ports. k , the number of ports is R = 2 k-1 The butterfly-shaped branches.
[0037] The high-precision frequency offset estimation FFT module of this embodiment serializes the processing flow. The specific processing flow is as follows: Figure 7 As shown. Where I0, I1, ..., I S-1 is the input data, O is the output data, A 0,0 , A1,0 , ..., A L-1,S-1 is the working state of the symmetrical butterfly component, B 0,0 , ..., B 0,S / 2-1 , B 1,S / 4-1 , ..., B M-2,1 , B M-1,0 This is the working state of the asymmetric butterfly component.
[0038] Based on the principle of serial processing, the entire workflow is carried out from top to bottom and from left to right. That is, the row where I0 is located is calculated first, and then A 0,0 , A 1,0 , ..., A L-1,0 Then calculate the row where I1 is located, according to A 0,1 , A 1,1 , ..., A L-1,1 , B 0,0 The order of processing, and so on, finally calculate I S-1 OK, follow A 0,S-1 , A 1,S-1 , ..., A L-1,S-1 , B 0,S / 2-1 , B 1,S / 4-1 , ..., B M-2,1 , B M-1,0 The order of processing.
[0039] According to the needs of frequency offset estimation, only output numbers 0 to 2 are required. k-1 -1 and 2 i -2 k-1 -1~2 i-1 Data. 0 to 2 k-1 -1 indicates positive frequency deviation, 2 indicates positive frequency deviation. i -2 k-1 -1~2 i-1 It indicates the reverse frequency deviation.
[0040] The number of input ports and output ports of the symmetrical butterfly component A are both 2 k ;from Figure 3 It can be seen that the symmetrical butterfly component A has a total of L = j + ki working states; the number of processing times for each working state is the same, which is 2 i-k .
[0041] from Figure 6 It can be seen that the number of working states of the asymmetric butterfly component B is M=ik. The number of executions of each working state of the asymmetric butterfly component B is halved and decreased. The number of executions of the 0th working state B0 is 2 i-k-1 , M-1 working state B M-1 The execution count is only 1.
[0042] The docking method of each component is as follows:
[0043] 1) From input to symmetrical butterfly component A
[0044] 2 j The input sampling points are arranged in reverse bit order and grouped, P = 2 j+k-i Divide into S = 2 i-k Group input data I0, I1, ..., I S-1 As the input of the symmetrical butterfly component A0. Figure 4 As shown, each of the symmetrical butterfly components A0 is assigned to 2 j+k-i Every 2 sampling points input a butterfly structure. In order to match the number of input ports of the butterfly structure, each sampling point needs to be replicated Q = 2 i-j Fill each butterfly branch interface with a portion.
[0045] 2) From symmetrical butterfly part A to symmetrical butterfly part A
[0046] The number of input ports and output ports of the symmetrical butterfly component used in this embodiment are both 2. k , the input and output data of the two states can be connected in sequence, that is, the 2 k The output port is connected to the 2 symmetrical butterfly components of the next stage k The input ports are connected in sequence.
[0047] 3) From symmetrical butterfly part A to asymmetrical butterfly part B
[0048] The number of output ports of the symmetrical butterfly component A used in this embodiment is 2 k , the number of input ports of the asymmetric butterfly component B is 2 k+1 , the output data of the two symmetrical butterfly components A need to be used as the input data of an asymmetrical butterfly component B. The output data of the first symmetrical butterfly component A cannot be processed immediately and needs to be temporarily stored.
[0049] 4) From asymmetric butterfly component B to asymmetric butterfly component B
[0050] The number of output ports of the asymmetric butterfly component B used in this embodiment is 2 k , the number of input ports of the asymmetric butterfly component B is 2 k+1 , the output data of the two asymmetric butterfly components B need to be used as the input data of an asymmetric butterfly component B. The output data of the first asymmetric butterfly component B cannot be processed immediately and needs to be temporarily stored.
[0051] 5) From asymmetric butterfly component B to output
[0052] The number of output ports of the asymmetric butterfly component B used in this embodiment is 2 k , where 0 to 2 k-1 -1 is the first 2 of the FFT output k-1 The data represents the positive frequency deviation, 2 i -2 k-1 -1~2 i-1 The last 2 k-1 This data represents the reverse frequency deviation.
[0053] When i≥j+k, the symmetrical butterfly component A is not needed in the whole device. At this time, the input data is directly input to the asymmetrical butterfly component B. The specific workflow is as follows: Figure 8 At this time, the number of working states of the asymmetric butterfly component B is M=j.
[0054] In this case, 2 j After the input sampling points are arranged in reverse bit order, each sampling point is grouped into input queues I0, I1, ..., I S-1 As the input of each asymmetric butterfly component B0, S=2 j In order to match the number of input ports of the butterfly structure, each sampling point needs to be replicated Q = 2 k The asymmetric butterfly components are input into the asymmetric butterfly components, and one asymmetric butterfly component is allocated for every two sampling points.
[0055] The frequency offset estimation device of this embodiment can realize FFT transformation with a larger number of points with less storage resources, thereby achieving the purpose of improving the frequency offset estimation accuracy.
[0056] Taking the 1024-point fast Fourier transform as an example, assuming that 128 sampling points are input and 64 sampling points are output, the processing flow is as follows: Fig. 9 As shown, the time when the most storage resources are needed is when B 2,0 , B 1,2 , B 0,6 , A 2,14 , A 0,15 When the output data are waiting to be processed (marked in gray in the figure), there are 5 storage blocks at this time, which need to store 64*5=320 sampling points. The storage resource requirement is less than the 512-point fast Fourier algorithm, and the frequency offset estimation accuracy is improved by 1 times.
[0057] The number of FFT points is further increased to 2048 points, and the number of input and output sampling points remains unchanged. The processing flow is as follows Fig.10 At this time, the number of states of the asymmetric butterfly work block B increases by only one, and the time when the most storage resources are needed is when B 3,0 , B 2,2 , B1,6 , B 0,14 , A 2,30 , A 0,31 When the output data are waiting to be processed (marked in gray in the figure), there are 6 storage blocks at this time, and the total storage resources are 64*6=384, the effect of saving storage resources is more significant, and the frequency offset estimation accuracy is improved to 4 times the original.
[0058] It is not difficult to find that the present invention introduces an asymmetric butterfly component in the FFT calculation module and serializes the FFT calculation process. It can realize FFT calculation with more points according to the needs of frequency offset estimation without increasing the storage resources required for FFT calculation, so as to achieve the purpose of improving the estimation accuracy.
Claims
1. A fast Fourier transform calculation module for high-precision frequency offset estimation, comprising 2 i sampling points, of which 2 j non-zero input samples and 2 k The fast Fourier transform calculation module includes a symmetrical butterfly component, an asymmetrical butterfly component and an FFT process control component, characterized in that: The symmetrical butterfly component is a butterfly computing component with the same number of input ports and output ports, and the number of input ports and output ports of each symmetrical butterfly component is 2. k , both by P = 2 j+k-i The number of ports is Q = 2 i-j The number of input ports of the asymmetric butterfly component is 2 k+1 , the number of ports is R = 2 k-1 The number of output ports is 2. k , the number of ports is R = 2 k-1 The FFT process control component is serially arranged, specifically: first calculate the row where I0 is located, and follow A 0,0 , A 1,0 , ..., A L-1,0 Then calculate the row where I1 is located, according to A 0,1 , A 1,1 , ..., A L-1,1 , B 0,0 The order of processing is repeated, and so on, and finally I is calculated. S-1 OK, follow A 0,S-1 , A 1,S-1 , ..., A L-1,S-1 , B 0,S / 2-1 , B 1,S / 4-1 , ..., B M-2,1 , B M-1,0 The order of processing is I0, I1, ..., I S-1 is the input data, A 0,0 , A 1,0 , ..., A L-1,S-1 is the working state of the symmetrical butterfly component, L=j+ki, B 0,0 , ..., B 0,S / 2-1 , B 1,S / 4-1 , ..., B M-2,1 , B M-1,0 is the working state of the asymmetric butterfly component, M=ik.
2. The fast Fourier transform calculation module for high-precision frequency offset estimation according to claim 1, characterized in that: When the symmetrical butterfly component is connected to the input end, 2 j The input sampling points are arranged in reverse bit order and grouped, P = 2 j+k-i Divided into S = 2 i-k Group input data I0, I1, ..., I S-1 As the input of the symmetrical butterfly components, each of the symmetrical butterfly components is assigned to 2 j+k-i sampling points, each sampling point has Q=2 copies i-j The input interface of each butterfly branch is filled with the 3. The fast Fourier transform calculation module for high-precision frequency offset estimation according to claim 1, characterized in that: When two symmetrical butterfly-shaped components are butted together, the two symmetrical butterfly-shaped components of the previous stage are k The output port is connected to the 2 symmetrical butterfly components of the next stage k The input ports are connected in sequence.
4. The fast Fourier transform calculation module for high-precision frequency offset estimation according to claim 1, characterized in that: When the symmetrical butterfly component and the asymmetrical butterfly component are connected, the outputs of the two symmetrical butterfly components are used as the input of one asymmetrical butterfly component.
5. The fast Fourier transform calculation module for high-precision frequency offset estimation according to claim 1, characterized in that: When two asymmetric butterfly components are butted together, the outputs of the two previous asymmetric butterfly components are used as the inputs of an asymmetric butterfly component of the next stage.
6. The fast Fourier transform calculation module for high-precision frequency offset estimation according to claim 1, characterized in that: When the asymmetric butterfly component is connected to the output end, 0~2 k-1 -1 is the first 2 outputs of the Fast Fourier Transform calculation module k-1 The data represents the positive frequency deviation, 2 i -2 k-1 -1~2 i-1 The last 2 k-1 This data represents the reverse frequency deviation.
7. The fast Fourier transform calculation module for high-precision frequency offset estimation according to claim 1, characterized in that: When i≥j+k, the FFT process control component directly inputs the input data to the asymmetric butterfly component. At this time, the number of working states of the asymmetric butterfly component M=j.
8. The fast Fourier transform calculation module for high-precision frequency offset estimation according to claim 7, characterized in that: When the asymmetric butterfly component is connected to the input end, 2 j The input sampling points are arranged in reverse bit order and grouped, with each sampling point forming a group, forming input data I0, I1, ..., I S-1 As the input of the asymmetric butterfly component, S=2 j , each sampling point is replicated Q = 2 k After the data is divided, an asymmetric butterfly component is input, and one asymmetric butterfly component is allocated for every 2 sampling points.
9. A frequency offset estimation device, characterized in that: It comprises a sampling module, a fast Fourier transform calculation module for high-precision frequency offset estimation as described in any one of claims 1 to 8, and a maximum value comparison module; the sampling module is used to acquire channel data at a fixed sampling interval, and perform descrambling processing on the spread spectrum sampling data and then perform correlation operations to acquire channel data; the fast Fourier transform calculation module is used to perform fast Fourier transform calculation on the acquired channel data; the maximum value comparison module is used to perform maximum value comparison on the results after fast Fourier transform calculation, and determine the frequency offset position according to the maximum value.
Citation Information
Patent Citations
Method for achieving extremely-low-latency fast Fourier transform under gigabit sampling rate
CN104123266A