CN106484658B - The device and method of 65536 pulses compression is realized based on FPGA - Google Patents
The device and method of 65536 pulses compression is realized based on FPGA Download PDFInfo
- Publication number
- CN106484658B CN106484658B CN201610850400.0A CN201610850400A CN106484658B CN 106484658 B CN106484658 B CN 106484658B CN 201610850400 A CN201610850400 A CN 201610850400A CN 106484658 B CN106484658 B CN 106484658B
- Authority
- CN
- China
- Prior art keywords
- module
- data
- sequencing
- datas
- input
- 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
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
- G06F17/142—Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
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)
- Discrete Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
The invention belongs to Radar Signal Processing Technology fields, disclose a kind of device and method that 65536 pulses compression is realized based on FPGA, it realizes process are as follows: 16 tunnels first receive data parallel, and to read Lothrus apterus parallel as principle, store data into 16 block RAMs;Then 16 numbers are read every time in pipelined fashion, carry out 4 grades of -16 butterfly computations of base and stored on-site, complete FFT processing;Carry out the filtering processing of 16 tunnel PARALLEL MATCHINGs and stored on-site;Followed by 4 grades of butterfly computations realize IFFT processing;Last 16 road parallel output;The wherein trigonometric table of twiddle factor and matched filtering coefficient piece-wise linearization, is generated in real time by way of difference of tabling look-up.The use of RAM resource in FPGA is greatly saved in the present invention, and significantly improves processing speed, increases the throughput of data.
Description
Technical field
The invention belongs to Radar Signal Processing Technology fields, more particularly to a kind of FPGA that is based on to realize 65536 pulse pressures
The device and method of contracting, can in high-resolution detection radar, carry out distance to or orientation real-time pulse compression processing.
Background technique
In radar system, wide pulse signal can be compressed into narrow pulse signal by process of pulse-compression, so both can be with
Emit broad pulse to improve the detectability of mean power and radar, and be able to maintain the distance resolution of burst pulse, effectively solves
The certainly contradiction between radar horizon and distance resolution improves the distance point of radar under the premise of not reducing operating distance
Resolution.When equally carrying out process of pulse-compression, the resolution ratio of the more radars of operation points is higher.As time goes on, to thunder
The requirement reached is higher and higher, the real-time pulse compression processing technology for thus needing to count greatly.
It is general using the method for carrying out matched filtering in frequency domain, process flow such as Fig. 1 when realizing pulse compression with FPGA
Shown, data first carry out FFT processing, then multiplied by the matched filtering coefficient of frequency domain, then carry out IFFT processing.
The FPGA of pulse compression technique realizes that currently existing scheme is: scheme one: with FFT module, matched filtering module and
IFFT module-cascade realizes, the wherein IP kernel of FFT module and IFFT module direct Li Hua FPGA manufacturer;Scheme two: FFT module is used
Realize FFT/IFFT processing, FFT processing result directly carries out matched filtering, and the result of matched filtering first carries out caching and is then delivered to
FFT module carries out IFFT processing.
The prior art has the disadvantage that (1) processing speed is slow, when realizing FFT/IFFT processing with the IP kernel of existing FFT
Using low SPLIT RADIX ALGORITHM FOR, in the FFT processing for carrying out big points data, the big degree of parallelism of hour operation quantity is low causes processing speed slow;
Since the interface concurrent degree of the IP kernel of FFT is low (highest supports 4 tunnels parallel), cause matched filtering processing speed slow;(2) interface speed
Rate is low, since IP kernel interface concurrent degree is low, causes the data input and output degree of parallelism of entire module low, interface rate seriously affects
Whole data throughput;(3) resource occupation is more, two individual module waste of resource of FFT and IFFT in scheme one, side
FFT module is multiplexed in case two, but data need to cache, the RAM resource of occupancy is still very much.
Summary of the invention
The shortcomings that for the above-mentioned prior art, the purpose of the present invention is to provide one kind to realize 65536 arteries and veins based on FPGA
The device and method of punching press contracting, with solve that data processing speed is slow in traditional design scheme, interface rate is low and and FFT,
The problem of with data transmission delay between filtering and IFFT.
In order to achieve the above objectives, the embodiment of the present invention, which adopts the following technical scheme that, is achieved.
Technical solution one:
A kind of device for realizing 65536 pulses compression based on FPGA, the input terminal of described device and external progress pulse
The 16 tunnel input data channels connection of compression, the output end of described device are connect with external pulse compression result output channel, institute
Stating device includes: input sequencing module, inputs selecting module, RAM memory module, RAM Read-write Catrol module, data truncation mould
Block, preceding sequencing module, 16 road parallel processing modules, rear sequencing module, Coefficient generation module export sequencing module, overflow ruling
Module, control module;
Wherein, the input terminal of the input sequencing module and the external 16 tunnel input data channels for carrying out pulse compression connect
Connect, input sequencing module output end with input selecting module first input end connect, input selecting module output end and
The input terminal of RAM memory module connects, and the first output end of RAM Read-write Catrol module is connect with the control terminal of RAM memory module,
The second output terminal of RAM Read-write Catrol module is connect with the control terminal of preceding sequencing module, the third output of RAM Read-write Catrol module
End is connect with the control terminal of rear sequencing module, and the output end of RAM memory module is connect with the first input end of data truncation module,
First output end of data truncation module is connect with the input terminal of preceding sequencing module, and the output end of preceding sequencing module and 16 tunnels are parallel
The first input end of processing module connects, and the second input terminal of the output end of Coefficient generation module and 16 road parallel processing modules connects
It connecing, the output end of 16 road parallel processing modules is connect with the input terminal of the input terminal of rear sequencing module, spilling arbitration module respectively,
The output end of sequencing module is connect with the second input terminal of input selecting module afterwards, and the output end and data for overflowing arbitration module are cut
The second output terminal of the second input terminal connection of disconnected module, data truncation module is connect with the input terminal of output sequencing module, institute
State output sequencing module output end connect with external pulse compression result output channel, the input terminal of the control module with outside
Portion carry out pulse compression control signal connection, the first output end of control module respectively with input sequencing module control terminal and
Input selecting module control terminal connection, the second output terminal of control module respectively with the control terminal of RAM Read-write Catrol module, 16
The control terminal of road parallel processing module is connected with the control terminal of Coefficient generation module, and the third output end of control module and output are adjusted
The control terminal of sequence module connects, and the 4th output end of control module is connect with external pulse compression result output signal.
Technical solution two:
A method of 65536 pulse compressions being realized based on FPGA, described method includes following steps:
Step 1,16 input datas are obtained in each clock cycle, and 16 input datas is deposited according to Lothrus apterus
The mode of storage is stored respectively in 16 sub- memory modules;To obtain 65536 point datas by 4096 clock cycle, and deposit
It is stored in RAM memory module;
Step 2,16 pending datas are obtained from RAM memory module;
Step 3, data truncation module carries out 16 pending datas according to the shift amount for overflowing arbitration module output
Displacement;The shift amount initial value for overflowing arbitration module output is zero;
Step 4, the sequence of 16 pending datas after displacement is adjusted to base -16 butterfly computation rule by preceding sequencing module
Sequence;
Step 5,16 pending datas after sequencing are sent to 16 road parallel processing modules by the preceding sequencing module, and
Coefficient generation module generates the corresponding twiddle factor of 16 pending datas, and is sent to 16 road parallel processing modules;
Step 6,16 road parallel processing module is according to 16 pending datas received and corresponding twiddle factor,
- 16 butterfly computation of base is carried out, -16 butterfly computation result of base of this group of data is obtained;
Step 7, the spilling arbitration module carries out spilling judgement to -16 butterfly computation result of base, obtains displacement position
Number;
Step 8, the storage by -16 butterfly computation result of base according to 16 pending datas in RAM memory module
Position carries out stored on-site;
Step 9, step 2 to step 8 is repeated 4096 times in pipelined fashion, obtains first order butterfly computation knot
Fruit;
Step 10, step 2 to step 9 is repeated 4 times, obtains the Fourier transformation result of 65536 point datas;At this time
The data stored in the RAM memory module are 65536 point datas after Fast Fourier Transform (FFT);
Step 11, the data after obtaining 16 Fast Fourier Transform (FFT)s in RAM memory module;
Step 12, data truncation module according to overflow arbitration module output shift amount, to 16 pending datas into
Row displacement;
Step 13, the sequence of the data after 16 Fast Fourier Transform (FFT)s after displacement is adjusted to base-by preceding sequencing module
The sequence of 16 butterfly computations rule;
Step 14, the data after 16 Fast Fourier Transform (FFT)s after sequencing are sent to 16 tunnels simultaneously by the preceding sequencing module
Row processing module, and Coefficient generation module generates the corresponding matched filtering coefficient of data after 16 Fast Fourier Transform (FFT)s, and
It is sent to 16 road parallel processing modules;
Step 15,16 road parallel processing module is according to data after 16 Fast Fourier Transform (FFT)s received and right
The matched filtering coefficient answered carries out complex multiplication operation, obtains the matched filter operation result of this group of data;
Step 16, the spilling arbitration module carries out spilling judgement to the matched filter operation result, obtains displacement position
Number;
Step 17, the matched filter operation result is stored according to the data after 16 Fast Fourier Transform (FFT)s in RAM
Storage location in module carries out stored on-site;
Step 18, step 11 to step 17 is repeated 4096 times in pipelined fashion, obtains matched filter operation
As a result;The data stored in the RAM memory module at this time are 65536 point datas after matched filter operation;
Step 19, the data after obtaining 16 matched filter operations in RAM memory module;
Step 20, data truncation module is according to the shift amount for overflowing arbitration module output, to 16 matched filter operations
Data afterwards are shifted;
Step 21, the sequence of the data after 16 matched filter operations after displacement is adjusted to base -16 by preceding sequencing module
The sequence of butterfly computation rule;
Step 22, the preceding sequencing module is sent to after the data after 16 matched filter operations after sequencing are taken conjugation
16 road parallel processing modules, and Coefficient generation module generates the corresponding twiddle factor of data after 16 matched filter operations, and
It is sent to 16 road parallel processing modules;
Step 23,16 road parallel processing module is according to the data and correspondence after 16 matched filter operations received
Twiddle factor, carry out -16 butterfly computation of base, obtain -16 butterfly computation result of base of this group of data;
Step 24, the spilling arbitration module carries out spilling judgement to -16 butterfly computation result of base, obtains displacement position
Number;
Step 25, -16 butterfly computation result of base is taken and is existed after being conjugated according to the data after 16 matched filter operations
Storage location in RAM memory module carries out stored on-site;
Step 26, step 19 to step 25 is repeated 4096 times in pipelined fashion, obtains first order butterfly fortune
Calculate result;
Step 27, step 19 to step 26 is repeated 4 times, the data after obtaining 65536 matched filter operations
Inverse Fourier transform is as a result, i.e. pulse compression result;The data stored in the RAM memory module at this time are that pulse is compressed
65536 point datas;
Step 28, data truncation module is read according to the shift amount for overflowing arbitration module output from RAM memory module
The 65536 compressed data of pulse taken are shifted;
Step 29, output sequencing module is by the pulse compression result carry out sequence adjustment after displacement, and exports.
Technical solution of the present invention compared with prior art, has the advantages that
(1) processing speed is fast.Based on 16 tunnel parallel pipeline processing units, FFT/IFFT processing and matched filtering are handled
It combines.Compared at most 4 tunnel concurrent operations are used in existing implementation method, the method for the present invention is reducing the same of calculation amount
The degree of parallelism of Shi Tigao data processing, is greatly improved processing speed.The process of pulse-compression of 65536 point datas is carried out, is passed
System design method needs 131260 clocks that could complete operation, and 28839 clock of module of the method for the present invention design can be completed,
Speed is its 4.55 times.
(2) interface rate is higher.Using the parallel data I/O mode in 16 tunnels, data input and output bottle is eliminated
Neck, compared to could support up 4 road parallel outputs in traditional design method, the method for the present invention once can be with 16 numbers of input and output
According to interface rate of the invention is its 4~16 times.
(3) data throughput is high on the whole.Comprehensively consider interface rate and processing speed, compared to traditional design method,
The throughput that the method for the present invention is realized is its 11.95 times, only needs to can be completed less than 164us at 65536 points under 200M clock
The pulse of data is compressed.
(4) RAM resource is saved.Traditional design method needs the block RAM of 396 36K, and module of the present invention only needs 95 altogether
The block RAM of a 36K.Compared to traditional design method, the method for the present invention has only been used less than its 1/4 RAM resource.
Detailed description of the invention
In order to more clearly explain the embodiment of the invention or the technical proposal in the existing technology, to embodiment or will show below
There is attached drawing needed in technical description to be briefly described, it should be apparent that, the accompanying drawings in the following description is only this
Some embodiments of invention for those of ordinary skill in the art without creative efforts, can be with
It obtains other drawings based on these drawings.
Fig. 1 be it is provided in an embodiment of the present invention in the prior art with FPGA realize pulse compression when, matched in frequency domain
The method flow schematic diagram of filtering;
Fig. 2 is that a kind of structure of device that 65536 pulses compression is realized based on FPGA provided in an embodiment of the present invention is shown
It is intended to;
Fig. 3 is the structural schematic diagram of 16 road provided in an embodiment of the present invention parallel processing module;
Fig. 4 is that Coefficient generation module provided in an embodiment of the present invention generates twiddle factor and the process of matched filtering coefficient is shown
It is intended to.
Specific embodiment
Following will be combined with the drawings in the embodiments of the present invention, and technical solution in the embodiment of the present invention carries out clear, complete
Site preparation description, it is clear that described embodiments are only a part of the embodiments of the present invention, instead of all the embodiments.It is based on
Embodiment in the present invention, it is obtained by those of ordinary skill in the art without making creative efforts every other
Embodiment shall fall within the protection scope of the present invention.
It is provided in an embodiment of the present invention it is a kind of based on FPGA realize 65536 pulses compression device, described device it is defeated
Enter end to connect with the external 16 tunnel input data channels for carrying out pulse compression, output end and the external pulse compression of described device are tied
The connection of fruit output channel;Its structural schematic diagram is as shown in Figure 2:
Described device includes: input sequencing module, inputs selecting module, RAM memory module, RAM Read-write Catrol module, number
According to truncation module, preceding sequencing module, 16 road parallel processing modules, rear sequencing module, Coefficient generation module, output sequencing module,
Overflow arbitration module, control module;
Wherein, the input terminal of the input sequencing module and the external 16 tunnel input data channels for carrying out pulse compression connect
Connect, input sequencing module output end with input selecting module first input end connect, input selecting module output end and
The input terminal of RAM memory module connects, and the first output end of RAM Read-write Catrol module is connect with the control terminal of RAM memory module,
The second output terminal of RAM Read-write Catrol module is connect with the control terminal of preceding sequencing module, the third output of RAM Read-write Catrol module
End is connect with the control terminal of rear sequencing module, and the output end of RAM memory module is connect with the first input end of data truncation module,
First output end of data truncation module is connect with the input terminal of preceding sequencing module, and the output end of preceding sequencing module and 16 tunnels are parallel
The first input end of processing module connects, and the second input terminal of the output end of Coefficient generation module and 16 road parallel processing modules connects
It connecing, the output end of 16 road parallel processing modules is connect with the input terminal of the input terminal of rear sequencing module, spilling arbitration module respectively,
The output end of sequencing module is connect with the second input terminal of input selecting module afterwards, and the output end and data for overflowing arbitration module are cut
The second output terminal of the second input terminal connection of disconnected module, data truncation module is connect with the input terminal of output sequencing module, institute
State output sequencing module output end connect with external pulse compression result output channel, the input terminal of the control module with outside
Portion carry out pulse compression control signal connection, the first output end of control module respectively with input sequencing module control terminal and
Input selecting module control terminal connection, the second output terminal of control module respectively with the control terminal of RAM Read-write Catrol module, 16
The control terminal of road parallel processing module is connected with the control terminal of Coefficient generation module, and the third output end of control module and output are adjusted
The control terminal of sequence module connects, and the 4th output end of control module is connect with external pulse compression result output signal.
It should be noted that external 65536 point datas for carrying out pulse compression, which are divided into 16 channels, carries out data input, and
First data number according to the 1st channel is that first data number in the 0, the 2nd channel is the of the 1, the 16th channel
It is second data number in the 16, the 2nd channel is 17 that one data number, which is second data number in the 15, the 1st channel,
65536 point datas are numbered in the mode that second data number in the 16th channel is 31;And 65536 point data with 16
The form of complement code is stored.
Each channel in 16 channels inputs a data within a clock cycle, thus external progress pulse compression
65536 point datas need 4096 clock cycle to complete data input.
Specifically, control module generates the input indicative signal input_flag of high level, it is to be processed to be used to indicate input
65536 point datas;The control module generates the output indication signal output_flag of high level, is used to indicate output arteries and veins
Rush compression result;And the control module generates 15 operation indication signal step_sig [14:0], in 16 tunnel parallel processings
During module is run, high 3 of 15 operation indication signal step_sig [14:0] are used to indicate 16 road parallel processing modules
Carry out the grade of operation, wherein the 0th~3 grade is Fast Fourier Transform (FFT), and the 4th grade is matched filter operation, and the 5th~8 grade is inverse fast
Fast Fourier transformation, low 12 of 15 operation indication signal step_sig [14:0] are used to indicate -16 butterfly of every grade of base fortune
The number of calculation.
It should be understood that 65536 points of FFT/IFFT operation needs 4 grades of -16 butterfly computations of base, each grade carries out 4096
Secondary butterfly computation, matched filtering need to carry out 4096 parallel complex multiplication operations in 16 tunnels.
The input sequencing module, for being adjusted in such a way that Lothrus apterus stores to the input data in 16 channels
Sequence;It is not stored in same sub- memory module so that being divided into 1,16,256,4096 data between data number;
Further, input sequencing module is in input_flag signal 16 12 digit counter count of enabled lower generation, just
Value is respectively 0~15, and each clock enablement count device adds 16, and the value of such counter just represents the number of input data.Use tricks
Number device generates the number that block address signal block_addr [3:0] indicates the RAM of each data storage, formula block_
Addr [3:0]=count [11:8]+count [7:4]+count [3:0] is inputted according to 16 tunnel Zhi Jiang of signal block_addr
Data carry out sequencing, are then delivered to RAM memory module.Such storage mode is divided into 1,16,256,4096 between data number
Not in same sub- RAM, the parallel FFT processing in 16 tunnels may be implemented in point.
The input selecting module, for the output data for inputting sequencing module to be input to RAM memory module;Alternatively,
For the output data of rear sequencing module to be input to RAM memory module;
Specifically, the module selects the input data of RAM memory module at data input phase (input_flag=1)
Lead to input the sequencing data of sequencing module, is otherwise gated for the processing result of 16 road parallel processing modules.
The RAM memory module, for caching the 16 tunnel input datas for carrying out pulse compression, alternatively, being used for stored on-site
16 circuit-switched datas of sequencing module output afterwards;
Further, the RAM memory module includes the sub- RAM of 16 dual-ports, and number is RAM0-RAM15 respectively.
Specifically, the module is used for the temporary data received, and store the intermediate result of every level-one operation.The module by
The block RAM composition of 16 dual-ports, the bit wide of each block RAM is 40, depth 4096.Storage format of the data in RAM
Are as follows: in 40 high 20 be data real part, low 20 be data imaginary part, data are all the forms of complement code.It needs to illustrate
Be: the data real part imaginary part received from external data input channel is all 16, and the side of high-order zero padding is aligned using low level
Formula storage.
The RAM Read-write Catrol module, input sequencing module input 65536 point data when, generate write enable signal and
Every 16 circuit-switched data corresponding storage address in RAM memory module;In 16 circuit-switched datas for obtaining 16 road parallel processing modules of input
When, it generates and reads enable signal and preceding tune sequence control signal, sequencing module is from described before adjusting sequence control signal to be used to indicate before described
16 circuit-switched datas are read in RAM memory module, and sequencing is carried out to 16 circuit-switched datas of reading;Obtaining 16 road parallel processing modules
When 16 tunnel output data, write enable signal and rear tune sequence control signal are generated, is adjusted after adjusting sequence control signal to be used to indicate after described
Sequence module carries out sequencing to 16 circuit-switched datas that 16 road parallel processing module exports, and 16 circuit-switched datas after sequencing are written
In RAM memory module;When exporting sequencing module and exporting 65536 pulse compression result data, generates and read enable signal and defeated
Sequence control signal is adjusted out, and the output is adjusted sequence control signal to be used to indicate the output sequencing module and read from RAM memory module
16 tunnel pulse compression result data are taken, and are carried out sequencing output.
Specifically, the module is used to generate the read/write address and enable signal of RAM memory module.In data input phase
(input_flag=1), it draws high and writes enabled wea signal, and writing address signal addra is being write into enabled lower incremental count, 4096
A clock completes entire 65536 points of data input.In the data operation stage, butterfly is transported every time in the level Four operation of FFT processing
The data number interval of calculation is respectively 1,16,256 and 4096, when generating address also it is envisaged that the number of sequential storage
According to becoming the data of inverted order after FFT operation, therefore the generation of IFFT and FFT arithmetic address is different.Implementation
It is: 16 counter cnt0~cnt15 is first generated according to step_sig signal, this group of counter meets butterfly computation to data
Every requirement, then with this group of counter generate each butterfly computation need data address ram and RAM number, be sent to RAM and deposit
Store up module.When carrying out IFFT processing, what is stored in RAM memory module is the data of inverted order, raw with the counter by bit-reversed
It is numbered at address ram and RAM.The address generating mode and IFFT of matched filtering handle the identical of the first order.
The preceding sequencing module, for transporting the data of 16 sub- memory modules in RAM memory module according to -16 butterfly of base
The requirement of calculation, carry out sequence adjustment, and sequence 16 circuit-switched data adjusted is inputted into 16 road parallel processing modules;
The Coefficient generation module, for carrying out Fast Fourier Transform (FFT) or inverse quick Fu in 16 road parallel processing modules
In leaf transformation when, generate corresponding with 16 tunnel input datas twiddle factor;Alternatively, carrying out matching filter in 16 road parallel processing modules
When wave operation, matched filtering coefficient corresponding with 16 tunnel input datas is generated;
16 road parallel processing module, pair for sending sequence 16 circuit-switched data adjusted and Coefficient generation module
It answers twiddle factor to carry out -16 butterfly computation of base, obtains Fast Fourier Transform (FFT) result;
16 road parallel processing module is also used to pair for sending Fast Fourier Transform (FFT) result and Coefficient generation module
It answers matched filtering coefficient to carry out complex multiplication operation, obtains matched filtering result;
16 road parallel processing module is also used to send matched filtering result data with Coefficient generation module corresponding
Twiddle factor carries out -16 butterfly computation of base, obtains pulse compression result;
Further, 16 road parallel processing module is based on -16 butterfly processing element of base, and uses -16 butterfly of base
The complex multiplier of shape arithmetic element realizes the process of matched filter operation;If 16 road parallel processing module carries out quick Fu
In leaf transformation, then before sequencing module obtain 16 pending datas from RAM memory module every time, Coefficient generation module is real-time every time
The corresponding twiddle factor of 16 pending datas is generated, then 16 pending datas and 16 pending data difference
Input of the corresponding twiddle factor as -16 butterfly processing element of base, and 4096 bases-of level-one are completed in pipelined fashion
16 butterfly computations, thus result of the result of -16 butterfly computation of level Four base as Fast Fourier Transform (FFT);If 16 tunnel is parallel
Processing module carries out matched filter operation, then preceding sequencing module obtains 16 Fast Fourier Transform (FFT)s from RAM memory module every time
Result data, Coefficient generation module generate the corresponding matched filtering of 16 Fast Fourier Transform (FFT) result datas in real time every time
Coefficient, then 16 Fast Fourier Transform (FFT) result datas and 16 Fast Fourier Transform (FFT) result data corresponding
Input with filter factor as 16 complex multipliers, the output of 16 complex multipliers is as this matched filter operation
As a result, and complete 4096 complex multiplication operations in pipelined fashion, to complete the parallel matching filter in 4096 16 tunnels
Wave operation;If 16 road parallel processing module carries out inverse fast fourier transform, preceding sequencing module stores mould from RAM every time
Block obtains 16 matched filter operation result datas and takes conjugation to it, and Coefficient generation module generates 16 matching filters in real time every time
The corresponding twiddle factor of wave operation result data, then 16 take conjugation after matched filter operation result data and 16
A corresponding twiddle factor of matched filter operation result data taken after being conjugated is as the defeated of -16 butterfly processing element of base
Enter, and complete 4096-16 butterfly computations of base of level-one in pipelined fashion, thus the result of-16 butterfly computation of level Four base
The result being conjugated as inverse Fourier transform is taken again.
Further, 16 road parallel processing modules complete the pulse compression of 65536 point datas, need to carry out at 65536 points
The Fast Fourier Transform (FFT) of data, 65536 point datas inverse fast fourier transform, the matched filter operation of 65536 point datas,
Wherein, the Fast Fourier Transform (FFT) of 65536 point datas, 65536 point datas inverse fast fourier transform be respectively necessary for carry out four
Grade-16 butterfly computation of base, and every grade of-16 butterfly computation of base includes 4096-16 butterfly computations of base, the matching of 65536 point datas
Filtering operation includes the parallel complex multiplication operation in 4096 16 tunnels.
Sequencing module, the operation result carry out sequence adjustment for exporting 16 road parallel processing modules make it after described
According to Lothrus apterus storage mode stored on-site in RAM memory module;
The spilling arbitration module, the operation result for exporting to 16 road parallel processing module carry out spilling bit wide
Judgement will overflow bit wide and be sent to data truncation module to obtain overflowing bit wide;
The module is specific to judge regular foundation for carrying out spilling judgement to the data after 16 road parallel processing module operations
Following table carries out, and obtains the spilling bit wide of every group of 16 data of data, then takes the maximum overflowed in all operation results of level-one
It is worth the spilling bit wide ovflow_num as this grade, is sent to data cutout module.
Number | High 5 place value | Overflow digit |
0 | 00000/11111 | 0 |
1 | 00001/11110 | 1 |
2 | 0001x/1110x | 2 |
3 | 001xx/110xx | 3 |
4 | 01xxx/10xxx | 4 |
The data truncation module, the spilling bit wide for sending according to arbitration module is overflowed, will be from RAM memory module
The data of reading are shifted accordingly, obtain 16 valid data;
Specifically, the spilling bit wide overflow_num [3:0] that the module will be generated according to arbitration module is overflowed, it will be from
The data read in RAM memory module carry out moving to right overflow_num, before fill sign bit (highest order), obtain in this way
Data maximum have 16 significance bits, 20 bit wides are not overflowed after operation, carry out also will do it when operation again cuts
It takes, to guarantee data precision to greatest extent.
The output sequencing module, the pulse compression knot for will be stored in the RAM memory module after displacement
Fruit carries out sequencing and exports;
Specifically, the module is used to carry out sequencing to the result after data operation, make in the way of the parallel sequence in 16 tunnels
Output, with inputting, sequencing module is similar, and 16 read from RAM memory module every time are generated according to output_flag signal
Then the number of data generates address and the number of sub- RAM according to number, reads the data in sub- RAM and carry out sequencing, as a result
Along output.
The embodiment of the present invention also provides a kind of method for realizing 65536 pulses compression based on FPGA, the method includes
Following steps:
Step 1,16 input datas are obtained in each clock cycle, and 16 input datas is deposited according to Lothrus apterus
The mode of storage is stored respectively in 16 sub- memory modules;To obtain 65536 point datas by 4096 clock cycle, and deposit
It is stored in RAM memory module;
Step 2,16 pending datas are obtained from RAM memory module;
Step 3, data truncation module carries out 16 pending datas according to the shift amount for overflowing arbitration module output
Displacement;The shift amount initial value for overflowing arbitration module output is zero;
Step 4, the sequence of 16 pending datas after displacement is adjusted to base -16 butterfly computation rule by preceding sequencing module
Sequence;
Step 5,16 pending datas after sequencing are sent to 16 road parallel processing modules by the preceding sequencing module, and
Coefficient generation module generates the corresponding twiddle factor of 16 pending datas, and is sent to 16 road parallel processing modules;
Step 6,16 road parallel processing module is according to 16 pending datas received and corresponding twiddle factor,
- 16 butterfly computation of base is carried out, -16 butterfly computation result of base of this group of data is obtained;
Step 7, the spilling arbitration module carries out spilling judgement to -16 butterfly computation result of base, obtains displacement position
Number;
Step 8, the storage by -16 butterfly computation result of base according to 16 pending datas in RAM memory module
Position carries out stored on-site;
Step 9, step 2 to step 8 is repeated 4096 times in pipelined fashion, obtains first order butterfly computation knot
Fruit;
Step 10, step 2 to step 9 is repeated 4 times, obtains the Fourier transformation result of 65536 point datas;At this time
The data stored in the RAM memory module are 65536 point datas after Fast Fourier Transform (FFT);
Step 11, the data after obtaining 16 Fast Fourier Transform (FFT)s in RAM memory module;
Step 12, data truncation module according to overflow arbitration module output shift amount, to 16 pending datas into
Row displacement;
Step 13, the sequence of the data after 16 Fast Fourier Transform (FFT)s after displacement is adjusted to base-by preceding sequencing module
The sequence of 16 butterfly computations rule;
Step 14, the data after 16 Fast Fourier Transform (FFT)s after sequencing are sent to 16 tunnels simultaneously by the preceding sequencing module
Row processing module, and Coefficient generation module generates the corresponding matched filtering coefficient of data after 16 Fast Fourier Transform (FFT)s, and
It is sent to 16 road parallel processing modules;
Step 15,16 road parallel processing module is according to data after 16 Fast Fourier Transform (FFT)s received and right
The matched filtering coefficient answered carries out complex multiplication operation, obtains the matched filter operation result of this group of data;
Step 16, the spilling arbitration module carries out spilling judgement to the matched filter operation result, obtains displacement position
Number;
Step 17, the matched filter operation result is stored according to the data after 16 Fast Fourier Transform (FFT)s in RAM
Storage location in module carries out stored on-site;
Step 18, step 11 to step 17 is repeated 4096 times in pipelined fashion, obtains matched filter operation
As a result;The data stored in the RAM memory module at this time are 65536 point datas after matched filter operation;
Step 19, the data after obtaining 16 matched filter operations in RAM memory module;
Step 20, data truncation module is according to the shift amount for overflowing arbitration module output, to 16 matched filter operations
Data afterwards are shifted;
Step 21, the sequence of the data after 16 matched filter operations after displacement is adjusted to base -16 by preceding sequencing module
The sequence of butterfly computation rule;
Step 22, the preceding sequencing module is sent to after the data after 16 matched filter operations after sequencing are taken conjugation
16 road parallel processing modules, and Coefficient generation module generates the corresponding twiddle factor of data after 16 matched filter operations, and
It is sent to 16 road parallel processing modules;
Step 23,16 road parallel processing module is according to the data and correspondence after 16 matched filter operations received
Twiddle factor, carry out -16 butterfly computation of base, obtain -16 butterfly computation result of base of this group of data;
Step 24, the spilling arbitration module carries out spilling judgement to -16 butterfly computation result of base, obtains displacement position
Number;
Step 25, -16 butterfly computation result of base is taken and is existed after being conjugated according to the data after 16 matched filter operations
Storage location in RAM memory module carries out stored on-site;
Step 26, step 19 to step 25 is repeated 4096 times in pipelined fashion, obtains first order butterfly fortune
Calculate result;
Step 27, step 19 to step 26 is repeated 4 times, the data after obtaining 65536 matched filter operations
Inverse Fourier transform is as a result, i.e. pulse compression result;The data stored in the RAM memory module at this time are that pulse is compressed
65536 point datas;
Step 28, data truncation module is read according to the shift amount for overflowing arbitration module output from RAM memory module
The 65536 compressed data of pulse taken are shifted;
Step 29, output sequencing module is by the pulse compression result carry out sequence adjustment after displacement, and exports.
Specifically, be the structural schematic diagram of 16 road provided in an embodiment of the present invention parallel processing module as shown in Figure 3, it will
FFT processing and matched filtering processing are united, which improves -16 butterfly processing element of base, reduces operation and prolongs
When, and the operation of energy compatible processing matched filtering.The design of the module is described in detail below.
X0~x15 is the data (FFT or matched filtering) for carrying out once-through operation in figure, be real part imaginary part is all 16 bit complements
Plural number, f0~f15 be carry out once-through operation coefficient, in FFT operation, this group of coefficient is twiddle factor corresponding with data,
When carrying out matched filter operation, this group of coefficient is matched filtering coefficient corresponding with data.
C0~C15 is complex multiplier in figure, is directly realized with the inside DSP of FPGA, and input bit wide is 16 plural numbers, defeated
Bit wide is 20 plural numbers out, and type is truncated as convergence rounding-off, completes a complex multiplication and needs to consume 4 clocks.C16~
C23 is also complex multiplier, is equally realized with DSP inside FPGA, is inputted as the plural number of 20 and 16, and output is truncated low 16
20 plural numbers are obtained, a complex multiplication is completed and needs to consume 4 clocks, wherein 16 of complex multiplier C16~C23
Coefficient real and imaginary parts are listed in the table below:
Multiplier | Coefficient real part | Coefficient imaginary part | Multiplier | Coefficient real part | Coefficient imaginary part |
C16 | 16′h2d41 | 16′hd2bf | C20 | 16′h187d | 16′hc4e0 |
C17 | 16′hd2bf | 16′hd2bf | C21 | 16′h187d | 16′hc4e0 |
C18 | 16′h3b20 | 16′he783 | C22 | 16′hd2bf | 16′hd2bf |
C19 | 16′h2d41 | 16′hd2bf | C23 | 16′hc4e0 | 16′h187d |
" D4 " operation is 4 clocks that data flowing water is delayed in figure, it is therefore an objective to synchronous with the result of complex multiplication operation.
In figure "-jD " operation for first by data imaginary part real part exchange position imaginary part is negated again, then flowing water be delayed 4 when
Clock.
Indicate that first operand, c+id indicate second operand, as a result indicated with x+iy, explanation figure with a+ib below
In operation.
Two 20 digits is directly are added by "+" operation in figure, x=a+c, y=b+d.
"-" operates in figure are as follows: first operation data subtracts second operand, i.e. x=a-c, y=b-d.
" j+ " is operated in figure are as follows: first operation data is plus second operand multiplied by the value of j, i.e. x=a-d, y=b+
c。
" j- " is operated in figure are as follows: first operand subtracts second operand multiplied by the value of j, i.e. x=a+d, y=b-c.
" S " is data selection in figure, and the result output of final step operation is selected when carrying out FFT operation, is matched
When filtering operation, the result of complex multiplication is selected to export.
Further, the flow diagram of Coefficient generation module generation coefficient provided in an embodiment of the present invention is as shown in Figure 4.
First illustrate the generative theory of matched filtering coefficient before the process for illustrating to generate coefficient.
Matched filtering coefficient generates formula are as follows:
Fr=[- fs/2:fs/nrn:fs/2-fs/nrn];
Fr=fftshift (fr)
SR=exp (j*pi*tp/B*Fr2);
Wherein, fs indicate sample frequency, nrn indicate distance to points, fr indicate frequency domain in frequency range, Fr indicate
The range of zero-frequency frequency in the frequency domain at midpoint, tp indicate pulse width, and B indicates signal bandwidth, and SR indicates matched filter
Coefficient, the effect of fftshift () function are among composing 0 frequency point shift frequency.
It enables
Cnt=[- nrn/2:nrn/2-1];
Cnt2=fftshift (cnt);
Gama=π * tp*B*fs2/nrn2
It brings into the formula of SR and obtains:
SR=exp (j* π * tp/B* (cnt2.^2) * (fs^2/nrn^2));
=exp (j*gama*cnt2)
Wherein cnt, cnt2 and gama are nonsensical, are the intermediate variables for calculating and generating for convenience.
The range of cnt2 is that 0~32767, -32768~-1, cnt2 will be carried out square when generating matched filter coefficient
Operation, therefore its absolute value is indicated with a counter when realizing.Gama can be calculated in advance with matlab, when with 38
It can satisfy the needs of most frequency modulation rates when quantization, the value for needing to modify gama under different occasions can generate response
Matched filtering coefficient.
It generates coefficient and needs first to design a trigonometric function look-up table:
A trigonometric table first is designed with matalb: by the cosine value of a cycle, carrying out 65536 point extractions, then
128 cosine data are one group totally 512 groups, and every group of data carry out once fitting with least square method, obtained zero degree term coefficient
As the base of this 128 data, unit offset of the Monomial coefficient as this 128 data therefore can with base and offset
To restore the cosine value of this 128 data.
Due to the symmetry of trigonometric function, base and the offset in 1/2 period are only stored, wherein base is quantified with 24, and offset is used
11 quantizations, base are stored in high-order offset in the data that low level forms 35.The cosine function obtained in this way has 16 digits
According to precision.When carrying out FFT, IFFT and matched filter operation, the address of trigonometric table is first generated according to step_sig, is tabled look-up
Twiddle factor or matched filtering coefficient can be generated according to base and offset afterwards.
The process flow of Coefficient generation module is as follows:
Judged whether carrying out matched filter operation according to high 3 of step_sig signal after entirely module brings into operation,
Matched filter operation is currently carried out when this 3 value is 4, what is otherwise carried out is FFT/IFFT operation.
When carrying out matched filtering, generates matched filtering coefficient and has the following steps:
(1) one group of 16 number, the group # and the data for carrying out a butterfly computation are generated according to step_sig signal
It is corresponding.
(2) number carries out sequencing, the fftshift operation being equivalent in formula, but what is obtained is absolute value, specifically
When the value of number is greater than 32768, use 65536 subtracts the number and obtains fr, and the value of number is directly otherwise assigned to fr, that is,
Fa in formula.
(3) square of fr is sought.
(4) square being multiplied matched filtering parameter gama and fr.
(5) it is intercepted the result of product to obtain address.
(6) product is intercepted to obtain address, the quantization address obtained after specifically intercepting is the triangle letter of actual value
512 times of number variable.
(7) according to address by tabling look-up to obtain base and slope.
(8) matched filtering coefficient is finally calculated according to base, slope and address offset, specifically slope is inclined multiplied by address
It moves and adds base.
When carrying out FFT/IFFT operation, generates matched filtering coefficient and has the following steps:
(1) one group of 16 number, the group # and the data for carrying out a butterfly computation are generated according to step_sig signal
It is corresponding.
(2) address can be directly generated according to number, the value of specifically address is 256 times of number value.
(3) according to address by tabling look-up to obtain base and slope.
(4) it is finally obtained according to base, slope and address offset obtains matched filtering coefficient, specifically slope is multiplied by address offset
Along with base.
To sum up, (1) problem slow for traditional design processing speed, the embodiment of the present invention design a 16 tunnel parallel processings
Module carries out FFT/IFFT processing or process of pulse-compression parallel, mentions as core processing unit, 16 tunnel processing module Ke Yi
The speed of high disposal;(2) in traditional design method, highest supports 4 tunnels to output and input parallel, design of the embodiment of the present invention
One parallel input/output interface in 16 tunnels improves the interface rate of design module;(3) more for traditional design method occupancy resource
The problem of, the embodiment of the present invention designs what core processing module was multiplexed by unified control logic, with stored on-site mode
It realizes the multiplexing of data buffer storage RAM, saves resource.Further with regards to twiddle factor and matched filtering coefficient, using trigonometric function point
Section linearisation storage, the mode for interpolation of then tabling look-up generate in real time, further save resource.
The above description is merely a specific embodiment, but scope of protection of the present invention is not limited thereto, any
Those familiar with the art in the technical scope disclosed by the present invention, can easily think of the change or the replacement, and should all contain
Lid is within protection scope of the present invention.Therefore, protection scope of the present invention should be based on the protection scope of the described claims.
Claims (10)
1. a kind of device for realizing 65536 pulses compression based on FPGA, the input terminal of described device and external progress pulse pressure
The connection of the 16 tunnel input data channel Suo, the output end of described device are connect with external pulse compression result output channel, special
Sign is that described device includes: input sequencing module, inputs selecting module, RAM memory module, RAM Read-write Catrol module, number
According to truncation module, preceding sequencing module, 16 road parallel processing modules, rear sequencing module, Coefficient generation module, output sequencing module,
Overflow arbitration module, control module;
Wherein, the input terminal of the input sequencing module is connect with the external 16 tunnel input data channels for carrying out pulse compression, defeated
The output end for entering sequencing module is connect with the first input end of input selecting module, and the output end and RAM for inputting selecting module are deposited
The input terminal connection of module is stored up, the first output end of RAM Read-write Catrol module is connect with the control terminal of RAM memory module, and RAM is read
The second output terminal for writing control module is connect with the control terminal of preceding sequencing module, the third output end of RAM Read-write Catrol module with
The control terminal connection of sequencing module, the output end of RAM memory module are connect with the first input end of data truncation module afterwards, data
First output end of truncation module is connect with the input terminal of preceding sequencing module, the output end of preceding sequencing module and 16 tunnel parallel processings
The first input end of module connects, and the output end of Coefficient generation module is connect with the second input terminal of 16 road parallel processing modules,
The output end of 16 road parallel processing modules is connect with the input terminal of the input terminal of rear sequencing module, spilling arbitration module respectively, after
The output end of sequencing module is connect with the second input terminal of input selecting module, overflows the output end and data truncation of arbitration module
Second input terminal of module connects, and the second output terminal of data truncation module is connect with the input terminal of output sequencing module, described
The output end of output sequencing module is connect with external pulse compression result output channel, the input terminal of the control module and outside
Carry out the control signal connection of pulse compression, the first output end of control module respectively with the input control terminal of sequencing module and defeated
Enter selecting module control terminal connection, the second output terminal of control module respectively with the control terminal of RAM Read-write Catrol module, 16 tunnels
The control terminal of parallel processing module is connected with the control terminal of Coefficient generation module, the third output end and output sequencing of control module
The control terminal of module connects, and the 4th output end of control module is connect with external pulse compression result output signal.
2. a kind of device for realizing 65536 pulses compression based on FPGA according to claim 1, which is characterized in that outer
65536 point datas that portion carries out pulse compression are divided into 16 channels and carry out data input, and according to first points in the 1st channel
It is 0 according to number, the first point data number in the 2nd channel is 1, and successively the first point data number to the 16th channel is 15,
The second point data number in the 1st channel is that the second point data number in the 16, the 2nd channel is 17, successively to the 16th channel
Second point data number be 31 mode 65536 point datas are numbered;And 65536 point data in the form of 16 bit complements
It is stored;
Each channel in 16 channels inputs a point data within a clock cycle, thus external progress pulse compression
65536 point datas need 4096 clock cycle to complete data input.
3. a kind of device for realizing 65536 pulses compression based on FPGA according to claim 2, which is characterized in that institute
The sub- memory module that RAM memory module includes 16 dual-ports is stated, number is RAM0-RAM15 respectively, every a sub- memory module
Bit wide is 40, depth 4096;Storage format of the data in every sub- memory module are as follows: the reality of high 20 storing datas
Portion, the imaginary part of low 20 storing datas, the real and imaginary parts of data are stored in the form of complement code, and every sub- memory module
Store 4096 point datas.
4. a kind of device for realizing 65536 pulses compression based on FPGA according to claim 2, which is characterized in that
The input sequencing module, for carrying out sequencing to the input data in 16 channels in such a way that Lothrus apterus stores;From
And the data for being divided into 1,16,256,4096 between data number are not stored in same sub- memory module;
The input selecting module, for the output data for inputting sequencing module to be input to RAM memory module;Alternatively, being used for
The output data of rear sequencing module is input to RAM memory module;
The RAM memory module, for caching the 16 tunnel input datas for carrying out pulse compression, alternatively, for being adjusted after stored on-site
16 circuit-switched datas of sequence module output;
The RAM Read-write Catrol module, for generating the read/write address and the enabled letter of corresponding read-write of the RAM memory module
Number;
The preceding sequencing module, for by the data of 16 sub- memory modules in RAM memory module according to -16 butterfly computation of base
It is required that carry out sequence adjustment, and sequence 16 circuit-switched data adjusted is inputted into 16 road parallel processing modules;
The Coefficient generation module, for carrying out Fast Fourier Transform (FFT) or inverse fast Fourier in 16 road parallel processing modules
When transformation, twiddle factor corresponding with 16 tunnel input datas is generated;Alternatively, carrying out matched filtering fortune in 16 road parallel processing modules
When calculation, matched filtering coefficient corresponding with 16 tunnel input datas is generated;
16 road parallel processing module, the corresponding rotation for sending sequence 16 circuit-switched data adjusted with Coefficient generation module
Transposon carries out -16 butterfly computation of base, obtains Fast Fourier Transform (FFT) result;
16 road parallel processing module, corresponding for being also used to send Fast Fourier Transform (FFT) result with Coefficient generation module
Complex multiplication operation is carried out with filter factor, obtains matched filtering result;
16 road parallel processing module is also used to the corresponding rotation for sending matched filtering result data with Coefficient generation module
The factor carries out -16 butterfly computation of base, obtains pulse compression result;
Sequencing module after described, the operation result carry out sequence adjustment for exporting 16 road parallel processing modules, make its according to
Lothrus apterus storage mode stored on-site is in RAM memory module;The operation result of 16 road parallel processing module output is fast
Fast Fourier transformation as a result, matched filtering as a result, pulse compression result;
The spilling arbitration module, the operation result for exporting to 16 road parallel processing module carry out spilling bit wide and sentence
It is disconnected, to obtain overflowing bit wide, bit wide will be overflowed and be sent to data truncation module;
The data truncation module, the spilling bit wide for sending according to arbitration module is overflowed, will read from RAM memory module
Data shifted accordingly, obtain 16 valid data;
The output sequencing module, for will by the pulse compression result that stores in the RAM memory module after displacement into
Row sequencing simultaneously exports.
5. a kind of device for realizing 65536 pulses compression based on FPGA according to claim 4, which is characterized in that institute
16 road parallel processing modules are stated based on -16 butterfly processing element of base, and using the complex multiplication of -16 butterfly processing element of base
The process of device realization matched filter operation;If 16 road parallel processing module carries out Fast Fourier Transform (FFT), preceding sequencing mould
Block obtains 16 pending datas from RAM memory module every time, and Coefficient generation module generates 16 pending datas in real time every time
Corresponding twiddle factor, then 16 pending datas and the corresponding twiddle factor conduct of 16 pending datas
The input of-16 butterfly processing element of base, and 4096-16 butterfly computations of base of level-one are completed in pipelined fashion, until
To -16 butterfly computation of level Four base as a result, and as the result of Fast Fourier Transform (FFT);If the 16 tunnel parallel processing mould
Block carries out matched filter operation, then preceding sequencing module obtains 16 point quick Fourier transformation results numbers from RAM memory module every time
According to, Coefficient generation module generates the corresponding matched filtering coefficient of 16 point quick Fourier transformation results data in real time every time,
Then 16 point quick Fourier transformation results data and the corresponding matching filter of 16 point quick Fourier transformation results data
Input of the wave system number as 16 complex multipliers obtains the output of 16 complex multipliers by complex multiplication operation, and will
Its as this matched filter operation as a result, and in pipelined fashion complete 4096 complex multiplication operations, thus complete
At the parallel matched filter operation in 4096 16 tunnels;If 16 road parallel processing module carries out inverse fast fourier transform,
Preceding sequencing module obtains 16 matched filter operation result datas from RAM memory module every time and takes conjugation to it, and coefficient generates
Module generates the corresponding twiddle factor of 16 matched filter operation result datas in real time every time, then 16 points take conjugation after
Matched filter operation result data and 16 points of corresponding twiddle factors of matched filter operation result data taken after conjugation
As the input of-16 butterfly processing element of base, and 4096-16 butterfly computations of base of level-one are completed in pipelined fashion, directly
To obtain -16 butterfly computation of level Four base as a result, and being taken again to it and being conjugated result as inverse Fourier transform.
6. a kind of device for realizing 65536 pulses compression based on FPGA according to claim 1, which is characterized in that 16
Road parallel processing module complete 65536 point datas pulse compression, need to carry out 65536 point datas Fast Fourier Transform (FFT),
The inverse fast fourier transform of 65536 point datas, the matched filter operation of 65536 point datas, wherein 65536 point datas it is fast
Fast Fourier transformation, 65536 point datas inverse fast fourier transform be respectively necessary for carrying out -16 butterfly computation of level Four base, and it is every
Grade-16 butterfly computation of base includes 4096-16 butterfly computations of base, and the matched filter operation of 65536 point datas includes 4096 times 16
The parallel complex multiplication operation in road.
7. a kind of device for realizing 65536 pulses compression based on FPGA according to claim 4, which is characterized in that institute
The input indicative signal input_flag that control module generates high level is stated, is used to indicate and inputs 65536 point datas to be processed;
The control module generates the output indication signal output_flag of high level, is used to indicate output pulse compression result;And institute
The operation indication signal step_sig [14:0] that control module generates 15 is stated, during the operation of 16 road parallel processing modules, 15
High 3 of the operation indication signal step_sig [14:0] of position are used to indicate the grade that 16 road parallel processing modules carry out operation,
In, 16 road parallel processing modules carry out in the grade of operation: the 0th~3 grade is Fast Fourier Transform (FFT), and the 4th grade is transported for matched filtering
It calculates, the 5th~8 grade is inverse fast fourier transform, and low 12 of 15 operation indication signal step_sig [14:0] are for referring to
Show the number of -16 butterfly computation of every grade of base.
8. a kind of device for realizing 65536 pulses compression based on FPGA according to claim 7, which is characterized in that institute
State input sequencing module generated under the enabled effect of input indicative signal input_flag 16 12 digit counter count [11:
0], 16 12 digit counters respectively with the external 16 tunnel input datas for carrying out pulse compression, and 16 12 digit counters
Initial value is respectively 0~15, and the value of each counter is used to characterize the number of input data all the way.
9. a kind of device for realizing 65536 pulses compression based on FPGA according to claim 8, which is characterized in that
The RAM Read-write Catrol module generates write enable signal and every 16 when inputting sequencing module 65536 point data of input
Circuit-switched data corresponding storage address in RAM memory module;It is raw when obtaining 16 circuit-switched data of 16 road parallel processing modules of input
At enable signal and preceding tune sequence control signal is read, sequencing module is deposited from the RAM before adjusting sequence control signal to be used to indicate before described
16 circuit-switched datas are read in storage module, and sequencing is carried out to 16 circuit-switched datas of reading;On 16 tunnels for obtaining 16 road parallel processing modules
When output data, write enable signal and rear tune sequence control signal are generated, adjusts sequence control signal to be used to indicate rear sequencing mould after described
Block carries out sequencing to 16 circuit-switched datas that 16 road parallel processing module exports, and the 16 circuit-switched datas write-in RAM after sequencing is deposited
It stores up in module;When exporting sequencing module 65536 pulse compression result data of output, generates and read enable signal and output sequencing
Signal is controlled, the output adjusts sequence control signal to be used to indicate the output sequencing module and reads 16 tunnels from RAM memory module
Pulse compression result data, and carried out sequencing output.
10. a kind of method for realizing 65536 pulses compression based on FPGA, which is characterized in that described method includes following steps:
Step 1,16 input datas are obtained in each clock cycle, and 16 input datas are stored according to Lothrus apterus
Mode is stored respectively in 16 sub- memory modules;To obtain 65536 point datas by 4096 clock cycle, and it is stored in
In RAM memory module;
Step 2,16 pending datas are obtained from RAM memory module;
Step 3, data truncation module moves 16 pending datas according to the shift amount for overflowing arbitration module output
Position;The shift amount initial value for overflowing arbitration module output is zero;
Step 4, the sequence of 16 pending datas after displacement is adjusted to the suitable of base -16 butterfly computation rule by preceding sequencing module
Sequence;
Step 5,16 pending datas after sequencing are sent to 16 road parallel processing modules, and coefficient by the preceding sequencing module
Generation module generates the corresponding twiddle factor of 16 pending datas, and is sent to 16 road parallel processing modules;
Step 6,16 road parallel processing module is carried out according to 16 pending datas received and corresponding twiddle factor
- 16 butterfly computation of base obtains -16 butterfly computation result of base of 16 pending datas;
Step 7, the spilling arbitration module carries out spilling judgement to -16 butterfly computation result of base, obtains shift amount;
Step 8, the storage location by -16 butterfly computation result of base according to 16 pending datas in RAM memory module
Carry out stored on-site;
Step 9, step 2 to step 8 is repeated 4096 times in pipelined fashion, obtains first order butterfly computation result;
Step 10, step 2 to step 9 is repeated 4 times, obtains the Fourier transformation result of 65536 point datas;It is described at this time
The data stored in RAM memory module are 65536 point datas after Fast Fourier Transform (FFT);
Step 11, the transformed data of 16 point quick Fouriers are obtained from RAM memory module;
Step 12, data truncation module is according to the shift amount for overflowing arbitration module output, after the transformation of 16 point quick Fouriers
Data shifted;
Step 13, the sequence of the transformed data of 16 point quick Fouriers after displacement is adjusted to -16 butterfly of base by preceding sequencing module
The sequence of shape operation rule;
Step 14, the transformed data of 16 point quick Fouriers after sequencing are sent to 16 tunnels and located parallel by the preceding sequencing module
Module is managed, and Coefficient generation module generates the corresponding matched filtering coefficient of the transformed data of 16 point quick Fouriers, and sends
To 16 road parallel processing modules;
Step 15,16 road parallel processing module is according to the transformed data of 16 point quick Fouriers that receive and corresponding
Matched filtering coefficient carries out complex multiplication operation, obtains the matched filter operation knot of the transformed data of 16 point quick Fouriers
Fruit;
Step 16, the spilling arbitration module carries out spilling judgement to the matched filter operation result, obtains shift amount;
Step 17, by the matched filter operation result according to the transformed data of 16 point quick Fouriers in RAM memory module
In storage location carry out stored on-site;
Step 18, step 11 to step 17 is repeated 4096 times in pipelined fashion, obtains matched filter operation result;
The data stored in the RAM memory module at this time are 65536 point datas after matched filter operation;
Step 19, the data after obtaining 16 matched filter operations in RAM memory module;
Step 20, data truncation module is according to the shift amount for overflowing arbitration module output, after 16 matched filter operations
Data are shifted;
Step 21, the sequence of the data after 16 matched filter operations after displacement is adjusted to -16 butterfly of base by preceding sequencing module
The sequence of operation rule;
Step 22, the preceding sequencing module is sent to 16 tunnels after the data after 16 matched filter operations after sequencing are taken conjugation
Parallel processing module, and Coefficient generation module generates the corresponding twiddle factor of data after 16 matched filter operations, and sends
To 16 road parallel processing modules;
Step 23,16 road parallel processing module is according to the data and corresponding rotation after 16 matched filter operations received
Transposon carries out -16 butterfly computation of base, -16 butterfly computation result of base of the data after obtaining 16 matched filter operations;
Step 24, the spilling arbitration module carries out spilling judgement to -16 butterfly computation result of base, obtains shift amount;
Step 25, -16 butterfly computation result of base is taken and is deposited according to the data after 16 matched filter operations in RAM after being conjugated
The storage location stored up in module carries out stored on-site;
Step 26, step 19 to step 25 is repeated 4096 times in pipelined fashion, obtains first order butterfly computation knot
Fruit;
Step 27, step 19 to step 26 is repeated 4 times, inverse Fu of the data after obtaining 65536 matched filter operations
In leaf transformation as a result, i.e. pulse compression result;The data stored in the RAM memory module at this time are that pulse is compressed
65536 point datas;
Step 28, data truncation module is according to the shift amount for overflowing arbitration module output, to what is read from RAM memory module
65536 compressed data of pulse are shifted;
Step 29, output sequencing module is by the pulse compression result carry out sequence adjustment after displacement, and exports.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610850400.0A CN106484658B (en) | 2016-09-26 | 2016-09-26 | The device and method of 65536 pulses compression is realized based on FPGA |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610850400.0A CN106484658B (en) | 2016-09-26 | 2016-09-26 | The device and method of 65536 pulses compression is realized based on FPGA |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106484658A CN106484658A (en) | 2017-03-08 |
CN106484658B true CN106484658B (en) | 2019-01-11 |
Family
ID=58267990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610850400.0A Active CN106484658B (en) | 2016-09-26 | 2016-09-26 | The device and method of 65536 pulses compression is realized based on FPGA |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106484658B (en) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107942298B (en) * | 2017-11-03 | 2019-10-11 | 西安电子科技大学 | A kind of the low velocity target detection device and method of user's configurable parameter |
CN108919200A (en) * | 2018-07-12 | 2018-11-30 | 中国船舶重工集团公司第七二四研究所 | A kind of any radar waveform Photographing On-line method based on FPGA |
CN109101347B (en) * | 2018-07-16 | 2021-07-20 | 北京理工大学 | Pulse compression processing method of FPGA heterogeneous computing platform based on OpenCL |
CN109633564B (en) * | 2018-11-30 | 2020-07-31 | 上海无线电设备研究所 | Multichannel large-point-number parallel pulse pressure acquisition system and method |
CN109815546B (en) * | 2018-12-26 | 2022-12-13 | 中国电子科技集团公司第二十研究所 | Implementation method of high-speed parallel digital matched filter |
CN111090093A (en) * | 2019-12-11 | 2020-05-01 | 成都汇蓉国科微系统技术有限公司 | PD radar emission waveform configuration method and device based on FPGA |
CN113111300B (en) * | 2020-01-13 | 2022-06-03 | 上海大学 | Fixed point FFT implementation system with optimized resource consumption |
CN112905946A (en) * | 2021-01-22 | 2021-06-04 | 湖南国科锐承电子科技有限公司 | Variable symbol rate and arbitrary path parallel input interpolation method |
CN114422315B (en) * | 2022-03-29 | 2022-07-29 | 中山大学 | Ultra-high throughput IFFT/FFT modulation and demodulation method |
CN117591784B (en) * | 2024-01-19 | 2024-05-03 | 武汉格蓝若智能技术股份有限公司 | FPGA-based twiddle factor calculation method and FPGA chip |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001208835A (en) * | 2000-01-27 | 2001-08-03 | Mitsubishi Electric Corp | Radar signal processor |
WO2005059587A1 (en) * | 2003-12-16 | 2005-06-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and arrangement for signal processing comprising first and second pulse compression filters |
CN103049426A (en) * | 2012-10-24 | 2013-04-17 | 中国兵器科学研究院 | Digital pulse compressing method and device |
CN103901405A (en) * | 2014-04-21 | 2014-07-02 | 西安电子科技大学 | Real-time block floating point frequency domain four-route pulse compressor and pulse compression method thereof |
CN105045763A (en) * | 2015-07-14 | 2015-11-11 | 北京航空航天大学 | FPGA (Field Programmable Gata Array) and multi-core DSP (Digital Signal Processor) based PD (Pulse Doppler) radar signal processing system and parallel realization method therefor |
CN105718423A (en) * | 2016-01-19 | 2016-06-29 | 清华大学 | Single precision floating point FFT/IFFT coprocessor with reconfigurable pipeline |
-
2016
- 2016-09-26 CN CN201610850400.0A patent/CN106484658B/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001208835A (en) * | 2000-01-27 | 2001-08-03 | Mitsubishi Electric Corp | Radar signal processor |
WO2005059587A1 (en) * | 2003-12-16 | 2005-06-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and arrangement for signal processing comprising first and second pulse compression filters |
CN103049426A (en) * | 2012-10-24 | 2013-04-17 | 中国兵器科学研究院 | Digital pulse compressing method and device |
CN103901405A (en) * | 2014-04-21 | 2014-07-02 | 西安电子科技大学 | Real-time block floating point frequency domain four-route pulse compressor and pulse compression method thereof |
CN105045763A (en) * | 2015-07-14 | 2015-11-11 | 北京航空航天大学 | FPGA (Field Programmable Gata Array) and multi-core DSP (Digital Signal Processor) based PD (Pulse Doppler) radar signal processing system and parallel realization method therefor |
CN105718423A (en) * | 2016-01-19 | 2016-06-29 | 清华大学 | Single precision floating point FFT/IFFT coprocessor with reconfigurable pipeline |
Also Published As
Publication number | Publication date |
---|---|
CN106484658A (en) | 2017-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106484658B (en) | The device and method of 65536 pulses compression is realized based on FPGA | |
CN103970718A (en) | Quick Fourier transformation implementation device and method | |
CN103870438B (en) | A kind of circuit structure utilizing number theoretic transform to calculate cyclic convolution | |
CN102135951B (en) | FPGA (Field Programmable Gate Array) implementation method based on LS-SVM (Least Squares-Support Vector Machine) algorithm restructured at runtime | |
CN102043760B (en) | Data processing method and system | |
CN101154215A (en) | Fast Fourier transform method and hardware structure based on three cubed 2 frequency domain sampling | |
CN103559019A (en) | Universal floating point full-pipeline FFT (Fast Fourier Transform) operation IP (Internet Protocol) core | |
CN106383807B (en) | A kind of fft processor | |
CN102364456A (en) | 64-point fast Fourier transform (FFT) calculator | |
CN103901405B (en) | Block floating point frequency domain four road pulse shortener and impulse compression methods thereof in real time | |
CN105718424B (en) | A kind of parallel Fast Fourier Transform processing method | |
CN103197287A (en) | High-speed real-time frequency domain pulse compression device and processing method thereof | |
CN103034621B (en) | The address mapping method of base 2 × K parallel FFT framework and system | |
CN103176949A (en) | Circuit and method for achieving fast Fourier transform (FFT) / inverse fast Fourier transform (IFFT) | |
CN104459259B (en) | A kind of modified waveform interpolation system for oscillograph | |
CN101912277B (en) | Method and device for real-time digital quadrature demodulation designed based on production line | |
CN109446478A (en) | A kind of complex covariance matrix computing system based on iteration and restructural mode | |
CN102353940B (en) | Pulse compression optimization method based on field programmable gate array (FPGA) | |
Zhan et al. | Research on a new remeshing method for the 3D FEM simulation of blade forging | |
CN105975436A (en) | IP circuit universal in SoC system and capable of being configured with accelerating unit | |
CN102789446A (en) | DDS (Direct Digital Synthesizer) signal spurious suppression method and system on basis of CORDIC (Coordinated Rotation Digital Computer) algorithm | |
US20140089370A1 (en) | Parallel bit reversal devices and methods | |
CN113111300A (en) | Fixed point FFT implementation architecture with optimized resource consumption | |
CN101741801B (en) | Structure for implementing DFT of 32-channel parallel data | |
CN110096672A (en) | Inexpensive pipeline-type fft processor implementation method based on FPGA |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |