FPGA-based serial rabbit ear removal module and method
The FPGA-based serial rabbit ear removal module solves the problem of FPGA resource waste, achieves efficient envelope signal processing, reduces resource usage and improves processing capabilities, and is suitable for multi-channel environments.
Patent Information
- Application Number
- CN202410695209.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-05-31
- Publication Date
- 2025-10-14
- Estimated Expiration
- 2044-05-31
AI Technical Summary
In the existing technology, in an environment where FPGA resources are precious, rabbit ear removal modules mostly adopt parallel design, resulting in resource waste and difficulty in meeting envelope signal processing requirements.
The FPGA-based serial rabbit ear removal module is used to realize serial signal processing through data caching, channel round-robin, rabbit ear removal comparison and judgment, and round-robin status judgment modules, thereby reducing resource usage and improving processing capabilities.
It effectively reduces resource usage by more than 80%, enhances single-chip FPGA processing capabilities, and is suitable for scenarios with different channel counts. It features standardized interfaces and strong versatility.
Smart Images

Figure CN118713688B_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the technical field of radar detection, and in particular relates to a serial rabbit ear removal module and method based on FPGA. Background Art
[0002] The rabbit ear effect primarily refers to the phenomenon in which pulse signal energy spreads across multiple channels adjacent to the actual carrier frequency. This causes a pulse signal input to a channelized receiver to produce transient outputs across multiple channels. The rabbit ear effect is one of the main factors that affect frequency measurement capabilities. Transient rabbit ear signals must be removed to prevent them from affecting the determination of the actual signal.
[0003] Previous rabbit ear removal modules generally adopted a parallel design. This design enables timely identification and removal of rabbit ear signals, but most of the time, the rabbit ear removal operation is performed on invalid data, resulting in a significant waste of resources. Due to complexity considerations and the varying abundance of FPGA resources in different fields, conventional design implementations currently employ parallel rabbit ear removal rather than serial rabbit ear removal. Considering that the actual envelope signal accounts for a relatively small proportion of the total echo data in real-world environments, and given the extremely valuable FPGA resources in certain key areas, a serial design for the rabbit ear removal algorithm, performing serial rabbit ear removal operations on the envelope signal in the time domain, can meet data processing requirements, complete envelope signal rabbit ear removal, and effectively reduce resource utilization. Summary of the Invention
[0004] In response to the above problems, the purpose of the present invention is to provide a serial rabbit ear removal module and method in signal processing, which performs inter-channel round-robin processing on the envelope signal and its transient rabbit ear signal, meeting the needs of reducing resource usage and increasing the processing capability of a single-chip FPGA.
[0005] In order to achieve the above object, the technical solution adopted by the present invention is: a serial rabbit ear removal module based on FPGA, comprising:
[0006] The data buffer module parses the input envelope data according to the corresponding channel number and buffers the data into the buffer unit of the corresponding channel according to the channel number result;
[0007] The channel round-robin module sequentially round-robin the multi-channel buffer data, selects the channels with data in the adjacent channel buffers, selects and outputs them to the rabbit ear removal comparison and judgment module, and then round-robin according to the results of the round-robin status judgment module;
[0008] The rabbit ear removal comparison and discrimination module is used for discrimination and comparison of the rabbit ear removal algorithm. According to the requirements of the rabbit ear removal algorithm, the envelopes of the two input channels are compared to determine whether a signal is a rabbit ear signal.
[0009] The round-robin status judgment module discards or outputs the data based on the judgment result, and feeds back to the channel round-robin module to guide the next data selection.
[0010] The implementation method and steps of the above modules are as follows:
[0011] a. After the envelope PDW word enters the module serially, the cache module parses the input data and stores the envelope data in the corresponding FIFO based on the parsing result, giving a FIFO empty or full flag.
[0012] b. The channel round-robin module judges based on the FIFO empty and full flags and starts sequential selection: if there is cached data in the two adjacent channel FIFOs, they are selected and sent to the rabbit ear comparison and discrimination module. During the data selection period, the channel round-robin position remains unchanged;
[0013] c. Input the data of two adjacent channels into the rabbit ear removal comparison and discrimination module, and compare the TOA / TOE and PW signals according to the requirements of the rabbit ear removal algorithm to determine whether there is a rabbit ear signal in the two channels. That is, PDW1 read from channel M and PDW2 read from channel M+1, read the parameters of the two PDW words according to the agreed format, and obtain TOA1 / TOE1 / PW1 and TOA2 / TOE2 / PW2 respectively. If the corresponding two sets of parameters meet the rabbit ear conditions, that is, the envelope start time is very close, the envelope end time is very close and the Paul pulse width is narrow, then the rabbit ear signal search and confirmation can be achieved. If there is a rabbit ear signal, the rabbit ear flag of the corresponding channel is set high; after the comparison is completed, the comparison completion flag of the corresponding channel is set high;
[0014] d. The round-robin status determination module makes a judgment based on the two flags output by the rabbit ear removal comparison and determination module. If the rabbit ear flag of a channel signal is high, the rabbit ear signal is read from the corresponding channel's FIFO in the buffer module. If the rabbit ear flag is low, the comparison completion flags of the two channels are determined. If the comparison completion flags on both sides of a channel are high, the data is considered to have been compared with the adjacent channel signals and is considered normal. The data is read from the buffer module and output.
[0015] e. After the round-robin status judgment module completes its judgment, it instructs the channel round-robin module to proceed to the next round-robin. The channel round-robin module performs sequential round-robin operations based on the currently selected channel until all data have completed the rabbit ear removal operation.
[0016] Compared with the prior art, the technical solution adopted by the present invention has the following beneficial effects:
[0017] 1. The present invention adopts a channel round-robin method to perform serial rabbit ear removal operations, which can effectively reduce resource usage by more than 80% while meeting data processing requirements and enhance the ability of a single-chip FPGA to process channels.
[0018] 2. The parameterized configuration of the present invention is highly versatile and can be applied to scenarios with different numbers of channels.
[0019] 3. Interface standardization in the present invention: The input and output ends of the present invention meet the standard AXI4 interface. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] Figure 1 Schematic diagram of the serial rabbit ear removal module structure in this embodiment.
[0021] Figure 2 1 is a schematic flow chart of a rabbit ear removal method in this embodiment. DETAILED DESCRIPTION
[0022] The technical solution of the present invention is further explained below with reference to the accompanying drawings and specific embodiments.
[0023] like Figure 1 As shown, a serial rabbit ear removal module based on FPGA in signal processing includes:
[0024] A data buffer module (1) parses the input serial envelope data according to the corresponding channel number and buffers the data into a buffer unit of the corresponding channel according to the channel number result;
[0025] The channel round-robin module (2) sequentially round-robin the multi-channel buffer data, selects the channels with data in the adjacent channel buffers, selects and outputs them to the rabbit ear removal comparison and judgment module, and round-robin is performed in sequence according to the results of the round-robin state judgment module;
[0026] The rabbit ear removal comparison and discrimination module (3) is used for discrimination and comparison of the rabbit ear removal algorithm. According to the requirements of the rabbit ear removal algorithm, the envelope data of the two input channels are compared to give a judgment result on whether a certain signal is a rabbit ear;
[0027] The round-robin state judgment module (4) performs a discard or output operation based on the judgment result, and feeds back to the channel round-robin module to guide the next data selection.
[0028] To implement this module, Figure 2 The present invention is further described in detail. Assume that there are 10 channels in total and only 2 channels are selected for the corresponding comparison:
[0029] like Figure 2 As shown, based on the above-mentioned FPGA-based serial rabbit ear removal module, this embodiment provides a serial rabbit ear removal method, including the following steps:
[0030] Step 1: After the parameter data enters the entire module and the configuration is completed, the input envelope data is cached in the data cache module (1) according to the channel number into the FIFO1-FIFO10 of the corresponding channel. At this time, the round-robin state judgment module (4) is in the data preparation state. After the data input volume reaches the comparable requirement, it jumps to the data selection state.
[0031] Step 2: When the round-robin state judgment module (4) is in the data selection state, the channel round-robin module (2) is sequentially comparing the cached data in each channel, searching for situations where adjacent channels have cached envelope data at the same time, and inputting different data into the rabbit ear comparison and judgment module (3) for calculation according to different situations; at this time, three situations may occur:
[0032] 1. If the channel round-robin module (2) quickly finds that both adjacent channels have envelope data, for example, corresponding data are cached in both channel 1 and channel 2, the round-robin state judgment module enters the data calculation preparation state. At this time, the channel round-robin module (2) inputs the data corresponding to channel 1 and channel 2 into the rabbit ear removal comparison judgment module (3) for calculation.
[0033] 2. The channel round robin module (2) still fails to find the corresponding data after multiple cycles of round robin on all channels, that is, no corresponding data is found in channels 1 to 10. If there is data in the front channel 10 of the channel 1 currently round robin by the channel round robin module (2), the round robin state judgment module (4) jumps to the pre-calculation data preparation state, and inputs the data in the front channel 10 and the specified non-rabbit ear PDW word into the rabbit ear comparison judgment module (3) for calculation.
[0034] 3. After the channel round-robin module (2) has round-robined all channels for multiple cycles, it still has not found the corresponding data, that is, no corresponding data is found in channels 1 to 10. If the channel 1 currently round-robined by the channel round-robin module (2) has data in the post-channel 2, the round-robin state judgment module (4) jumps to the post-calculation data preparation state, and inputs the data of the post-channel 2 and the specified non-rabbit ear envelope data into the rabbit ear comparison judgment module (3) for calculation.
[0035] Step 3: The rabbit ear removal comparison and discrimination module (3) will parse and compare the input envelope data; according to the requirements of the rabbit ear removal algorithm, it compares the TOA / TOE and PW signals to determine whether there is a rabbit ear signal in the two channels. That is, PDW1 read from channel M and PDW2 read from channel M+1, the two PDW words are read according to the agreed format, and TOA1 / TOE1 / PW1 and TOA2 / TOE2 / PW2 are obtained respectively; if the corresponding two sets of parameters meet the rabbit ear condition, that is, the envelope start time is very close, the envelope end time is very close and there is a narrow Paul pulse width, then the rabbit ear signal is found and confirmed.
[0036] Step 4: The round-robin state judgment module (4) makes a judgment based on the flag output by the rabbit ear removal comparison judgment module (3); based on the judgment result, the round-robin state judgment module (4) will jump to the corresponding state:
[0037] If the data in the two channels 1 / 2 are not rabbit ears, the round-robin state judgment module (4) jumps to the operation completion state, sets the rabbit ear comparison signal high, and detects the two rabbit ear comparison signals before and after the current channel. If both signals are high, the current envelope data of the channel is read from the data cache module (1) and output;
[0038] If the front channel 10 is a rabbit ear, the round-robin state judgment module (4) jumps to the operation completion state, and reads the current envelope data of the front channel 10 from the data cache module (1) according to the rabbit ear result signal and discards it;
[0039] If the rear channel 2 is a rabbit ear, the round-robin state judgment module (4) jumps to the operation completion state, and reads the current envelope data of the rear channel 2 from the data cache module (1) according to the rabbit ear result signal and discards it.
[0040] Step 5: When one operation is completed, the round-robin state judgment module (4) jumps to the data preparation state, and the channel round-robin module (2) performs a sequential round-robin operation based on the currently selected channel until all data have completed the rabbit ear removal operation.
[0041] In actual usage environments, the true envelope signal is only a small part of the entire echo signal. By utilizing system idle time in exchange for system resources, a conventional parallel processing rabbit ear removal algorithm is serially designed, and the rabbit ear removal operation is performed in a channel round-robin manner. While meeting data processing requirements, this can effectively reduce resource usage by more than 80% and enhance the single-chip FPGA's ability to process channels.
[0042] According to the design method of serial de-earing, the input and output interfaces of the module adopt the standard AXI4 protocol; and can be parameterized and configured, with strong versatility, in line with the design concept of the algorithm unit.
[0043] Although the present invention has been disclosed above with reference to preferred embodiments, the embodiments and accompanying drawings are not intended to limit the present invention. Any person skilled in the art will readily be able to make various changes or modifications without departing from the spirit and scope of the present invention, and such changes and modifications are within the scope of protection of the present invention. Therefore, the scope of protection of the present invention shall be determined by the scope of protection of the claims of this application.
Claims
1. A serial rabbit ear removal module based on FPGA, characterized in that: include: The data buffer module (1) parses the input envelope data according to the corresponding channel number and buffers the data into the buffer unit of the corresponding channel according to the channel number result; The channel round-robin module (2) sequentially round-robin the multi-channel cache data, selects the channels with data stored in the adjacent channel caches, selects and outputs them to the rabbit ear removal comparison and judgment module (3), and round-robin is performed in sequence according to the results of the round-robin status judgment module; The rabbit ear removal comparison and discrimination module (3) is used for discrimination and comparison of the rabbit ear removal algorithm. According to the requirements of the rabbit ear removal algorithm, the envelopes of the two input channels are compared to give a judgment result on whether a certain signal is a rabbit ear signal; The round-robin state judgment module (4) discards or outputs the data based on the judgment result of the rabbit ear removal comparison judgment module (3), and feeds back to the channel round-robin module to guide the next data selection; The channel round-robin module (2) is divided into three cases when selecting a channel in which data is stored in the adjacent channel buffer: First, if the channel round-robin module (2) quickly finds that both adjacent channels have envelope data, the round-robin state judgment module (4) enters the calculation data preparation state. At this time, the channel round-robin module (2) inputs the data corresponding to channel 1 and channel 2 into the rabbit ear removal comparison judgment module (3) for calculation; Second, if the channel round-robin module (2) still fails to find the corresponding data after multiple cycles of round-robin on all channels, but there is data in the front channel of the channel currently round-robin by the channel round-robin module (2), then the round-robin state judgment module (4) jumps to the data pre-calculation preparation state, and inputs the data in the front channel and the specified non-rabbit ear PDW word into the rabbit ear comparison judgment module (3) for calculation; Third, if the channel round-robin module (2) still fails to find the corresponding data after round-robining all channels for multiple cycles, but the post-channel of the channel currently round-robined by the channel round-robin module (2) has data, the round-robin state judgment module (4) jumps to the post-calculation data preparation state, and inputs the post-channel data and the specified non-rabbit ear envelope data into the rabbit ear comparison judgment module (3) for calculation.
2. A serial rabbit ear removal method, based on the FPGA-based serial rabbit ear removal module according to claim 1, characterized in that: The following steps are involved: Step 1: After the parameter data enters the entire module and the configuration is completed, the input envelope data is cached in the corresponding channel in the cache module (1) according to the channel number; at this time, the round-robin state judgment module (4) is in the data preparation state, and after the data input amount reaches the comparable requirement, it jumps to the data selection state; Step 2: When the round-robin state judgment module (4) is in the data selection state, the channel round-robin module (2) is sequentially comparing the cached data in each channel, searching for situations where adjacent channels have cached envelope data at the same time, and inputting different data into the rabbit ear comparison judgment module (3) for calculation according to different situations; Step 3: The rabbit ear removal comparison and discrimination module (3) will analyze and compare the input envelope data; Step 4: The round-robin state judgment module (4) makes a judgment based on the flag output by the rabbit ear removal comparison judgment module (3); Step 5: After one operation is completed, the round-robin state judgment module (4) jumps to the data preparation state, and the channel round-robin module (2) performs a round-robin operation in sequence based on the currently selected channel until all data have completed the rabbit ear removal operation; The step 2 includes three situations: First, if the channel round-robin module (2) quickly finds that both adjacent channels have envelope data, the round-robin state judgment module (4) enters the calculation data preparation state. At this time, the channel round-robin module (2) inputs the data corresponding to channel 1 and channel 2 into the rabbit ear removal comparison judgment module (3) for calculation; Second, if the channel round-robin module (2) still fails to find the corresponding data after multiple cycles of round-robin on all channels, but there is data in the front channel of the channel currently round-robin by the channel round-robin module (2), then the round-robin state judgment module (4) jumps to the data pre-calculation preparation state, and inputs the data in the front channel and the specified non-rabbit ear PDW word into the rabbit ear comparison judgment module (3) for calculation; Third, if the channel round-robin module (2) still fails to find the corresponding data after round-robining all channels for multiple cycles, but the post-channel of the channel currently round-robined by the channel round-robin module (2) has data, the round-robin state judgment module (4) jumps to the post-calculation data preparation state, and inputs the post-channel data and the specified non-rabbit ear envelope data into the rabbit ear comparison judgment module (3) for calculation.
3. A serial rabbit ear removal method according to claim 2, characterized in that: In the step 3, the rabbit ear removal comparison and discrimination module (3) compares the TOA / TOE and PW signals according to the requirements of the rabbit ear removal algorithm to determine whether there is a rabbit ear signal in the two channels.
4. A serial rabbit ear removal method according to claim 2, characterized in that: The specific step 4 is as follows: Based on the judgment result, the round-robin state judgment module (4) will jump to the corresponding state: If the data in the two channels are not rabbit ears, the round-robin state judgment module (4) jumps to the operation completion state, sets the rabbit ear comparison signal high, and detects the two rabbit ear comparison signals before and after the current channel. If both signals are high, the current envelope data of the channel is read from the data cache module (1) and output; If the front channel is a rabbit ear, the round-robin state judgment module (4) jumps to the operation completion state, and reads the current envelope data of the channel from the data cache module (1) according to the rabbit ear result signal and discards it; If the rear channel is a rabbit ear, the round-robin state judgment module (4) jumps to the operation completion state, and reads the current envelope data of the rear channel from the data cache module (1) according to the rabbit ear result signal and discards it.
5. The serial rabbit ear removal method according to claim 3, characterized in that: The method to determine whether there is a rabbit ear signal in the two channels is: PDW1 read from channel M and PDW2 read from channel M+1 are parameterized according to the agreed format to obtain TOA1 / TOE1 / PW1 and TOA2 / TOE2 / PW2, respectively. If the two sets of parameters meet the rabbit ear condition, that is, the envelope start and end times are very close and the Paul pulse width is narrow, the rabbit ear signal is found and confirmed.
Citation Information
Patent Citations
Multi-channel radar radio frequency signal digital receiving system
CN111025240A
Signal acquisition equipment and acquisition method thereof
CN111413675A