CN108205517B - FFT multiplexing method - Google Patents
FFT multiplexing method Download PDFInfo
- Publication number
- CN108205517B CN108205517B CN201611187723.2A CN201611187723A CN108205517B CN 108205517 B CN108205517 B CN 108205517B CN 201611187723 A CN201611187723 A CN 201611187723A CN 108205517 B CN108205517 B CN 108205517B
- Authority
- CN
- China
- Prior art keywords
- fft
- data
- point
- frequency shift
- result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Discrete Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
The invention provides an FFT multiplexing method, which comprises the following steps: step 1, performing D-time extraction according to externally input high-speed sampling data, and performing digital filtering on each item of extracted data; step 2, in continuous K/D clock cycles, respectively carrying out e on the filtered output data‑2πk/KFrequency shift processing; step 3, in continuous K/D clock cycles, carrying out serial-to-parallel conversion on the obtained data, and updating the data once in K/D clock cycles; step 4, performing D-point parallel FFT processing on the D-point data respectively, and multiplexing FFT results in each clock cycle in K/D cycles; and 5, rearranging the results of the K-point FFT composed of the D-point FFT results obtained in each period, and outputting the results according to the engineering requirement sequence.
Description
Technical Field
The invention relates to a signal processing technology, in particular to an FFT multiplexing method.
Background
Fast Fourier Transform (FFT) is a fast algorithm of Discrete Fourier Transform (DFT), is an important mathematical tool for describing the relation between time domain and frequency domain of discrete signals, and is widely applied in the aspect of digital signal processing. The conventional FFT algorithm can be implemented by software, DSP, dedicated FFT processing chip or FPGA, etc. The software and DSP are implemented at a low speed, so that the requirement of real-time processing of high-speed signals in a digital receiver cannot be met; although the speed of the special FFT processing chip is high, the special FFT processing chip is expensive and is not easy to widely popularize. The FPGA has the advantages of rich resources, high speed and flexible design, and is widely applied in recent years.
The design scheme of the FFT processor realized by the FPGA at present can be divided into serial processing and parallel processing according to data flow. The serial processing only uses one butterfly unit for each butterfly operation, so that the processing mode is simple and the operation speed is relatively slow. The parallel processing has high operation speed and occupies more resources, which is particularly difficult for systems with less space and hardware resources. Therefore, the FFT multiplexing method is provided, the contradiction between the internal processing speed of the FPGA and the resource consumption is effectively balanced by multiplexing the butterfly operation unit and adopting semi-parallel pipeline operation, the requirement on logic resources is effectively reduced, and the requirement on engineering application is met.
Disclosure of Invention
The invention aims to provide an FFT multiplexing method, which comprises the following steps:
and 5, rearranging the results of the K-point FFT composed of the D-point FFT results obtained in each period, and outputting the results according to the engineering requirement sequence.
Compared with the prior art, the invention has the following remarkable advantages: (1) optimizing logic resource occupation of an FFT module by multiplexing a butterfly operation unit; (2) semi-parallel pipeline operation is adopted, so that the high-speed data processing capacity is improved; (3) the contradiction between the internal processing speed of the FPGA and the resource consumption is effectively balanced; (4) and the output data is sequenced, so that the system processing complexity is reduced.
The invention is further described below with reference to the accompanying drawings.
Drawings
FIG. 1 is a flow chart of the method of the present invention.
Fig. 2 is a data flow diagram of a 32-point parallel FFT algorithm.
Detailed Description
With reference to fig. 1 and fig. 2, an FFT multiplexing method is characterized by comprising the following steps:
and 5, rearranging the results of the K-point FFT composed of the D-point FFT results obtained in each period, and outputting the results according to the engineering requirement sequence.
and step 14, matching the coefficient of the D-time extraction FIR low-pass filter according to the D-time extraction sampling data for filtering.
The step 2 specifically comprises the following steps:
and step 22, performing complex multiplication on the output filtering data and the frequency shift coefficient according to each K/D period to realize frequency shifting.
step 41, preparing input frequency shift data, wherein the input data in K/D periods are x (m), x (m + D), x (m + D2), x (m + + D3), … and x (m + (K/D-1) × D) data;
and step 42, realizing the K-point FFT by using the D-point FFT in K/D periods by using the frequency shift characteristic of the FFT.
The step 5 specifically comprises the following steps:
step 51, converting to the result sequence of the FFT of the K points according to the FFT output result of each D point in the K/D periods;
step 52, changing the frequency shift direction of the FFT at the D point of each period in the K/D periods, and further changing the result sequence of the FFT output in each period;
and 53, performing adjacent channel conversion on the FFT result at the odd-even time in the result, and realizing the sequential arrangement and output of the FFT result.
Examples
Setting a 64-channel filter bank (K is 64), wherein the sampling rate fs of high-speed signals is 2.6GHz, an external AD is divided into 8 phases (8 times of extraction is carried out, D is 8) to enter an FPGA, and the data rate of each phase is 325MHz, namely the running rate of the FPGA is 325 MHz; the filter bank output rate fo is fs/64 is 40.625MHz, the multiplexing multiple of each phase data is fpga operation rate/output rate 325/40.625 is 8, i.e. 8 times multiplexing; the method comprises the following specific steps:
and step 14, matching 8 times of extraction FIR low-pass filter coefficients according to 8 times of extraction sampling data for filtering.
and step 22, performing complex multiplication on the output filtering data and the frequency shift coefficient according to each K/D period to realize frequency shifting.
step 41, preparing input frequency shift data, wherein the input data in 8 periods are x (m), x (m +8), x (m +16), x (m +24), … and x (m + 63);
step 42, using 8-point FFT to realize 64-point FFT in 8 periods by using the frequency shift characteristic of FFT;
the 8-point FFT data b (m) in each 8 cycles is:
and c, performing 8-point FFT operation on the b (m), and sequentially ordering the obtained FFT results as shown in table 1.
Table 1 sequence table for realizing 64-point FFT output result by 8-point FFT
En8 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Q0 | 0 | 63 | 62 | 61 | 60 | 59 | 58 | 57 |
Q1 | 32 | 31 | 30 | 29 | 28 | 27 | 26 | 25 |
|
16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 |
Q3 | 48 | 47 | 46 | 45 | 44 | 43 | 42 | 41 |
Q4 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
Q5 | 40 | 39 | 38 | 37 | 36 | 35 | 34 | 33 |
Q6 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 |
Q7 | 56 | 55 | 54 | 53 | 52 | 51 | 50 | 49 |
Wherein, the sequence of every 8 periods is distinguished according to En8, and the output result of each branch is obtained.
And 5, rearranging the 64-point FFT results which are jointly formed by the 8-point FFT results obtained in each period, and outputting the results according to the engineering requirement sequence.
Step 51, according to the output result of each 8-point FFT in 8 periods, converting to the result sequence of 64-point FFT, as shown in Table 1;
step 52, changing the frequency shift direction of the 8-point FFT in each period within 8 periods, and further changing the result sequence of the FFT output in each period;
the conventional frequency shift direction is subjected to frequency shift according to the sequence of 0-7, and due to the symmetry of the frequency shift, the frequency shift processing is performed according to the sequence of [01-12-23-34], and the result is shown in table 2.
TABLE 2 sequence chart of 64-point FFT output results after frequency conversion and frequency shift
|
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|
0 | 63 | 1 | 62 | 2 | 61 | 3 | 60 |
|
32 | 31 | 33 | 30 | 34 | 29 | 35 | 28 |
|
16 | 15 | 17 | 14 | 18 | 13 | 19 | 12 |
Q3 | 48 | 47 | 49 | 46 | 50 | 45 | 51 | 44 |
|
8 | 7 | 9 | 6 | 10 | 5 | 11 | 4 |
Q5 | 40 | 39 | 41 | 38 | 42 | 37 | 43 | 36 |
|
24 | 23 | 25 | 22 | 26 | 21 | 27 | 20 |
Q7 | 56 | 55 | 57 | 54 | 58 | 53 | 59 | 52 |
And 53, performing adjacent channel conversion on the FFT result at the odd-even time in the result, and realizing the sequential arrangement and output of the FFT result.
First, for table 2, two adjacent rows at odd time are subjected to data interchange, and the obtained results are shown in table 3.
TABLE 3 64-point FFT output result sequence table after odd time conversion
|
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
Q0 | 63 | 62 | 61 | 60 | 59 | 58 | 57 | 56 | |
|
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
|
31 | 33 | 29 | 35 | 27 | 37 | 25 | 39 | |
|
32 | 30 | 34 | 28 | 36 | 26 | 38 | 24 | |
Q4 | 47 | 49 | 45 | 51 | 43 | 53 | 41 | 55 | |
|
16 | 14 | 18 | 12 | 20 | 10 | 22 | 8 | |
|
15 | 17 | 13 | 19 | 11 | 21 | 9 | 23 | |
Q7 | 48 | 46 | 50 | 44 | 52 | 42 | 54 | 40 |
Again, the different rows are sorted in increasing order as shown in Table 4.
Table 4 sequence table of 64-point FFT output results after changing row sequence
Finally, the middle six rows are simply exchanged with adjacent rows at odd-numbered time, so that the final sequentially ordered FFT result output can be obtained, as shown in table 5.
TABLE 5 64-point FFT output result sequence table after sequencing
|
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
|
16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
|
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
|
32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 |
Q4 | 47 | 46 | 45 | 44 | 43 | 42 | 41 | 40 |
Q7 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 |
Q0 | 63 | 62 | 61 | 60 | 59 | 58 | 57 | 56 |
Claims (3)
1. An FFT multiplexing method, comprising the steps of:
step 1, performing D-time extraction according to externally input high-speed sampling data, and performing digital filtering on each item of extracted data;
step 2, in continuous K/D clock cycles, respectively carrying out e on the filtered output data-j2πk/KFrequency shift processing, wherein K is 0-K/D-1, and K is the number of filter channels;
step 3, in continuous K/D clock cycles, carrying out serial-to-parallel conversion on the obtained data, and updating the data once in K/D clock cycles;
step 4, performing D-point parallel FFT processing on the D-point data respectively, and multiplexing FFT results in each clock cycle in K/D cycles;
step 5, rearranging the K-point FFT results formed by the D-point FFT results obtained in each period, and outputting the K-point FFT results according to the engineering requirement sequence;
step 4, multiplexing the FFT result of the D-point parallel data in each clock cycle of the K/D cycles, specifically including the following steps:
step 41, preparing input frequency shift data, wherein the input data in K/D periods are x (m), x (m + D), x (m + D2), x (m + D3), … and x (m + (K/D-1) D) data;
step 42, using D-point FFT to realize K-point FFT in K/D periods by using the frequency shift characteristic of FFT;
wherein, the step 5 specifically comprises the following steps:
step 51, converting to the result sequence of the FFT of the K points according to the FFT output result of each D point in the K/D periods;
step 52, changing the frequency shift direction of the FFT at the D point of each period in the K/D periods, and further changing the result sequence of the FFT output in each period;
and 53, performing adjacent channel conversion on the FFT result at the odd-even time in the result, and realizing the sequential arrangement and output of the FFT result.
2. The method of claim 1, wherein the D-fold decimation and filtering of the high speed sampled data in step 1 comprises the steps of:
step 11, firstly, carrying out phase-splitting acquisition and latching on input high-speed sampling data;
step 12, extracting data of each phase according to the D times;
step 13, performing equivalent extraction preparation on the coefficients of the FIR low-pass filter according to the D times of extraction sampling data;
and step 14, matching the coefficient of the D-time extraction FIR low-pass filter according to the D-time extraction sampling data for filtering.
3. The method according to claim 1, characterized in that step 2 comprises in particular the steps of:
step 21, according to e in each K/D period-j2πk/KA frequency shift process in which K is 0 to K/D-1, and a frequency shift coefficient is prepared;
and step 22, performing complex multiplication on the output filtering data and the frequency shift coefficient according to each K/D period to realize frequency shifting.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611187723.2A CN108205517B (en) | 2016-12-20 | 2016-12-20 | FFT multiplexing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611187723.2A CN108205517B (en) | 2016-12-20 | 2016-12-20 | FFT multiplexing method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108205517A CN108205517A (en) | 2018-06-26 |
CN108205517B true CN108205517B (en) | 2021-06-08 |
Family
ID=62604316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611187723.2A Active CN108205517B (en) | 2016-12-20 | 2016-12-20 | FFT multiplexing method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108205517B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111339484B (en) * | 2020-02-20 | 2022-07-01 | 中国科学院自动化研究所 | FPGA-based large-scale radio interference array correlator realization method and device |
CN112732339B (en) * | 2021-01-20 | 2022-09-13 | 上海微波设备研究所(中国电子科技集团公司第五十一研究所) | Time division multiplexing time extraction FFT implementation method, system and medium |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102063411A (en) * | 2009-11-17 | 2011-05-18 | 中国科学院微电子研究所 | 802.11n based FFT/IFFT (Fast Fourier Transform)/(Inverse Fast Fourier Transform) processor |
CN102831099A (en) * | 2012-07-27 | 2012-12-19 | 西安空间无线电技术研究所 | Implementation method of 3072-point FFT (Fast Fourier Transform) operation |
CN104123266A (en) * | 2014-07-23 | 2014-10-29 | 电子科技大学 | Method for achieving extremely-low-latency fast Fourier transform under gigabit sampling rate |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5954415B2 (en) * | 2012-07-18 | 2016-07-20 | 日本電気株式会社 | FFT circuit |
-
2016
- 2016-12-20 CN CN201611187723.2A patent/CN108205517B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102063411A (en) * | 2009-11-17 | 2011-05-18 | 中国科学院微电子研究所 | 802.11n based FFT/IFFT (Fast Fourier Transform)/(Inverse Fast Fourier Transform) processor |
CN102831099A (en) * | 2012-07-27 | 2012-12-19 | 西安空间无线电技术研究所 | Implementation method of 3072-point FFT (Fast Fourier Transform) operation |
CN104123266A (en) * | 2014-07-23 | 2014-10-29 | 电子科技大学 | Method for achieving extremely-low-latency fast Fourier transform under gigabit sampling rate |
Non-Patent Citations (3)
Title |
---|
《A low power radix-2 FFT accelerator for FPGA》;Soumak Mookherjee 等;《Conference: Asilomar Conference for Signal, System and Computer》;20151130;全文 * |
《A pipelined architecture for normal I/O order FFT》;Xue Liu 等;《Journal of Zhejiang University: Science C》;20110130;第12卷(第1期);全文 * |
《基于FPGA的高性能浮点型FFT处理器设计》;许朋 等;《武汉大学学报(工学版)》;20150201;第48卷(第1期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108205517A (en) | 2018-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101567701B (en) | High efficient multi-path digital down converter system | |
CN108205517B (en) | FFT multiplexing method | |
CN111786688B (en) | Broadband parallel channelization receiving method based on embedded GPU | |
CN103106180A (en) | Constant geometry split radix FFT | |
CN100574098C (en) | Interpolation CIC wave filter and implementation method based on programmable logic device | |
CN103268308A (en) | Calculating device and method supporting mixed-base DFT | |
CN113346871A (en) | Multi-channel multiphase multi-rate adaptive FIR digital filtering processing architecture | |
CN104393854A (en) | FPGA-based time division multiplexing cascaded integrator-comb decimation filter and realization method thereof | |
CN106842144A (en) | Parallel heterogeneous structure digital pulse compression method | |
WO2016179740A1 (en) | Signal processing method and apparatus | |
CN101340182B (en) | Low-complexity implementing method and apparatus for FIR digital filter group | |
CN105446702A (en) | Broadband digital channelization parallel processing method based on serial FFT IP core | |
CN109951173B (en) | FIR filtering method and filter for multi-channel parallel input and parallel processing | |
CN117040486A (en) | Multi-gear digital filter and broadband digital receiver | |
CN110032707B (en) | Four-input wavelet multi-channel signal processing method based on FPGA | |
CN101937332A (en) | Multiplier multiplexing method in base 2<4> algorithm-based multi-path FFT processor | |
Mankar et al. | FPGA implementation of 16-point radix-4 complex FFT core using NEDA | |
CN105975436A (en) | IP circuit universal in SoC system and capable of being configured with accelerating unit | |
CN109921764A (en) | 4 times of interpolation Integrator-Comb cic filter parallel high-speed algorithms | |
CN112818526B (en) | Distributed design method of non-uniform graph filter bank | |
CN105099398B (en) | The construction method of non-homogeneous DFT modulated filters group based on phase-modulation | |
Ramesha et al. | A novel Architecture of FBMC Transmitter using Poly phase Filtering and its FPGA implementation | |
CN107301621B (en) | Method for improving resolution of digital image | |
KR102037228B1 (en) | Channel estimator | |
CN107454030B (en) | Power line broadband carrier semi-parallel transmitter and implementation 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 |