Antenna digital back-end processing system and method based on GNU radio
Patent Information
- Application Number
- CN202610752827.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-05-28
- Publication Date
- 2026-08-18
AI Technical Summary
缺点一:开发门槛高,算法迭代周期长
本发明通过采用开源的GNURadio软件无线电框架及其可视化流程图编程方式,研究人员无需编写底层代码,只需拖拽模块即可快速搭建和修改信号处理流程,将开发周期缩短至数天甚至数小时。
Smart Images

Figure CN122593765A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of radio astronomy observation technology, and in particular to an antenna digital back-end processing system and method based on GNURadio. Background Technology
[0002] The closest existing technologies include the "Multifunctional Digital Backend for Radio Astronomy Observation" (CN116626876A) published by the Yunnan Astronomical Observatory of the Chinese Academy of Sciences, and the DIBAS digital backend system actually deployed and applied by the Tianma Telescope at the Shanghai Astronomical Observatory of the Chinese Academy of Sciences. Both technologies adopt a basic architecture of "data acquisition + computer software processing," and realize the observation of various radio objects such as pulsars and spectral lines through multi-channel filtering, software dispersion reduction, and folding operations. Among them, the Yunnan Astronomical Observatory's technical solution focuses on a pure CPU cluster software real-time processing scheme, emphasizing the flexibility and scalability of parameter adjustment; while the Shanghai Astronomical Observatory's DIBAS system adopts a heterogeneous computing backend architecture composed of FPGA front-end and GPU, x86-64 CPU, which has higher real-time processing capabilities.
[0003] The Yunnan Astronomical Observatory of the Chinese Academy of Sciences has disclosed a multifunctional digital backend (CN116626876A) for radio astronomy observations. This technology mainly consists of two parts: data sampling and real-time processing. First, radio wave signals are acquired using a radio telescope equipped with a radio astronomy coherent baseband recorder. Then, a filter is used to perform multi-channel filtering on the 100MHz bandwidth data. The data from each channel undergoes real-time software de-dispersion processing and time-folding operations by the corresponding CPU. Finally, the data from each channel are accumulated to obtain broadband pulsar observation data. This scheme can also be used for the observation of radio objects such as molecular spectral lines and continuous spectra, and it possesses broadband spectrum analyzer functionality and radio interference suppression capabilities. Its technical features include high-speed data sampling and real-time software processing, flexible processing methods, and convenient parameter adjustments.
[0004] The Digital Back-End System (DIBAS) of the 65-meter radio telescope at the Shanghai Astronomical Observatory is an advanced back-end system designed and built by the National Radio Astronomy Observatory (NRA) in collaboration with the Shanghai Astronomical Observatory, based on the VEGAS spectrometer architecture of the Green Bank Telescope. By adding nine incoherent adispersive pulsar search modes and eight coherent adispersive timing modes, this system, together with the existing 29 spectral line observation modes, constitutes a complete scientific observation capability, covering all anticipated scientific needs of the 65-meter telescope except for VLBI. DIBAS employs a heterogeneous computing back-end architecture consisting of an FPGA front-end and GPUs and x86-64 CPUs, capable of simultaneously processing up to eight dual-polarized or sixteen single-polarized inputs, with a maximum bandwidth of 1.25 GHz per input and a combined processing bandwidth of up to 10 GHz. Since the second half of 2015, the system has been open to domestic observers and is equipped with a portable control system based on Python and GPU software, achieving significant scientific results in pulsar adispersive and spectral line observations.
[0005] The existing technology has the following drawbacks: Disadvantage 1: High development threshold and long algorithm iteration cycle. The technical solution and traditional digital backend solution of Yunnan Astronomical Observatory both require researchers to master hardware description languages or low-level C / C++ code for development, which is extremely unfriendly to astronomers, resulting in the verification and modification cycle of signal processing algorithms being as long as several weeks or even months.
[0006] Disadvantage 2: Insufficient computing power and limited real-time performance. The Yunnan Astronomical Observatory's technical solution uses a pure CPU cluster for dispersion ablation processing. Due to the serial architecture of the CPU, it is difficult to meet the real-time processing requirements when processing broadband radio signals. Although the Shanghai Astronomical Observatory's DIBAS system introduces a GPU, it still relies on a dedicated FPGA front-end and a closed hardware platform.
[0007] Disadvantage 3: Poor system reconfigurability and difficulty in switching observation modes. Existing technologies are usually designed with specific scientific objectives in mind. Switching from pulsar observation to spectral line observation requires recompiling firmware or modifying the underlying code, resulting in insufficient flexibility.
[0008] Disadvantage 4: Closed system and weak ecosystem support. Existing solutions are mostly based on customized hardware or closed software architectures, lacking general module libraries and community support.
[0009] Disadvantage 5: Strong dependence on hardware platform and high cost. Systems such as Shanghai Astronomical Observatory's DIBAS rely on dedicated FPGA hardware boards, which are costly to develop and difficult to extend to small and medium-aperture telescopes. Summary of the Invention
[0010] To address the problems existing in the prior art, the purpose of this invention is to provide an antenna digital back-end processing system and method based on GNURadio. This invention is based on the GNURadio software radio architecture and adopts heterogeneous parallel processing of CPU and GPU, which is suitable for digital back-end processing and signal processing of radio telescopes.
[0011] To achieve the above objectives, the present invention provides an antenna digital back-end processing method based on GNURadio, comprising the following steps: The analog intermediate frequency signal from the radio telescope is acquired, and after analog-to-digital conversion and digital down-conversion, digital baseband data is generated. Based on a zero-copy mechanism of a unified hardware driver architecture, digital baseband data is directly mapped and transmitted from the acquisition front end to the graphics processor's video memory. Under the GNURadio software architecture, the flow graph scheduling environment is run through the central processing unit, the flow graph configuration file generated by the visual dynamic reconstruction module is parsed, and the digital baseband data in the video memory is distributed to the corresponding observation mode processing branch. In the observation mode processing branch, the graphics processor is invoked to perform computationally intensive tasks, including parallel achromatic processing and / or fast Fourier transform processing; the processed pulse profile data, spectral data, or raw baseband data are output.
[0012] Furthermore, the zero-copy mechanism based on the unified hardware driver architecture specifically includes: establishing an end-to-end data transmission channel between the signal acquisition front end and the graphics processor; digital baseband data does not need to pass through the system memory of the central processing unit, but is directly written to the video memory of the graphics processor through the data transmission channel, so that the graphics processor can directly access and perform parallel computing.
[0013] Furthermore, the flow graph scheduling environment is run through the central processing unit, and the flow graph configuration file generated by the visualization dynamic reconstruction module is parsed. Specifically, in response to the observation mode switching command, the preset signal processing component library is called in the visualization graphical interface, the signal processing link is modified and the component parameters are adjusted; the modified graphical configuration file is parsed, the corresponding signal processing component is dynamically loaded, and the executable flow graph code corresponding to the target observation mode is generated and executed in the central processing unit.
[0014] Furthermore, when the observation mode processing branch is the pulsar processing branch, the parallel de-dispersion processing executed by the graphics processor is invoked. Specifically, this includes: dividing the digital baseband data into multiple data blocks according to frequency channels; allocating an independent thread block for each frequency channel in the graphics processor, with each thread block calculating the relative delay of the corresponding frequency channel in parallel and performing a time-domain shift operation on the time-domain sequence; and using a tree-shaped reduction algorithm to sum and superimpose the shifted data of all frequency channels to obtain the total signal after de-dispersion.
[0015] Furthermore, after parallel de-dispersion processing, the process also includes performing pulsar folding processing in a graphics processor or central processing unit: obtaining the rotation period and epoch of the target pulsar, calculating the pulse phase corresponding to the current integration block; dividing the continuous time-domain data into multiple sub-integration blocks according to the rotation period; aligning and superimposing each sub-integration block according to the corresponding pulse phase, and outputting a pulse profile array.
[0016] Furthermore, when the observation mode processing branch is the spectral analysis branch, the Fast Fourier Transform (FFT) processing executed by the graphics processor is invoked. Specifically, this includes: windowing the digital baseband data to suppress spectral leakage; invoking the acceleration library in the graphics processor to perform a Fast Fourier Transform on the windowed data, converting the time-domain signal into a frequency-domain signal; calculating the power spectral density of the frequency-domain signal; and accumulating and averaging the results of multiple integrations to output the spectral data.
[0017] The antenna digital back-end processing system based on GNURadio, used to implement the above method, includes: a signal acquisition module for acquiring analog intermediate frequency signals from a radio telescope, generating digital baseband data after analog-to-digital conversion and digital down-conversion; a heterogeneous real-time processing module, including a central processing unit (CPU) and a graphics processing unit (GPU), which runs under the GNURadio software architecture and uses a zero-copy mechanism based on a unified hardware driver architecture to directly map and transmit the digital baseband data to the GPU's video memory; the CPU is used to perform flow graph scheduling and data distribution, while the GPU is used to perform computationally intensive tasks; a dynamic reconfiguration module, connected to the heterogeneous real-time processing module, provides a visual graphical interface and parses flow graph configuration files to dynamically configure the processing logic of the heterogeneous real-time processing module; and a data output module, connected to the output of the heterogeneous real-time processing module, for storing or transmitting the processed data.
[0018] Furthermore, the signal acquisition module includes a general-purpose software radio peripheral, which contains an anti-aliasing filter, an analog-to-digital converter, and a digital down-converter cascaded in sequence. The general-purpose software radio peripheral is connected to the heterogeneous real-time processing module through a high-speed network interface or a high-speed serial computer expansion bus standard interface.
[0019] Furthermore, the dynamic reconfiguration module includes: a flow graph parser, used to read the flow graph configuration file generated by the user through the graphical interface and parse it into executable flow graph code; a module loader, used to dynamically load the corresponding components from the preset signal processing component library according to the flow graph code; and a parameter configuration interface, used to adjust the running parameters of the signal processing components in real time during system runtime.
[0020] Furthermore, it also includes: a user interaction module connected to the dynamic refactoring module, including a graphical interface submodule for visually editing flowcharts, a script control submodule for batch task submission, and a monitoring submodule for displaying real-time throughput and utilization status.
[0021] The beneficial effects of this invention are as follows: This invention utilizes the open-source GNURadio software radio framework and its visual flowchart programming method, allowing researchers to quickly build and modify signal processing flows simply by dragging and dropping modules without writing low-level code, thus shortening the development cycle to several days or even hours.
[0022] This invention employs a heterogeneous parallel processing architecture of CPU and GPU, offloading computationally intensive algorithms such as incoherent dedispersion and FFT to the GPU for CUDA acceleration. Compared with a pure CPU solution, it can achieve a performance improvement of several times to tens of times, ensuring real-time processing of broadband signals.
[0023] This invention builds a dynamic reconstruction module based on GNURadio's modular flow graph engine. Users only need to load different configuration files to flexibly switch between various observation modes such as pulsars, spectral lines, and transient sources on the same hardware platform without modifying the code or replacing the hardware.
[0024] This invention is based on general-purpose software radio peripherals and the open-source GNURadio framework. It makes full use of the rich signal processing modules in the open-source community, has good scalability and ecosystem support, and facilitates technology sharing and collaborative innovation.
[0025] This invention uses the general-purpose USRP software radio platform and standard GPU server, which has low hardware cost, high versatility, and is easy to deploy and apply in small-aperture telescopes. Attached Figure Description
[0026] Figure 1 This is a diagram of the overall architecture of the present invention; Figure 2 This is a flowchart of the observation mode switching process. Detailed Implementation
[0027] The technical solution of the present invention will now be clearly and completely described with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0028] In the description of this invention, it should be noted that the terms "center," "upper," "lower," "left," "right," "vertical," "horizontal," "inner," and "outer," etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are used only for the convenience of describing the invention and for simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on the invention. Furthermore, the terms "first," "second," and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance.
[0029] In the description of this invention, it should be noted that, unless otherwise explicitly specified and limited, the terms "installation," "connection," and "linking" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; and they can refer to the internal connection of two components. Those skilled in the art can understand the specific meaning of the above terms in this invention according to the specific circumstances.
[0030] The following combination Figures 1-2 Specific embodiments of the present invention will be described in detail below. It should be understood that the specific embodiments described herein are for illustrative and explanatory purposes only and are not intended to limit the present invention.
[0031] The antenna digital back-end processing system and method based on GNU Radio provided by this invention consists of the following five core modules. Figure 1 The overall architecture of the antenna digital back-end processing system based on GNU Radio of the present invention is shown.
[0032] 1. Signal Acquisition Module The signal acquisition module employs a Universal Software Radio Peripheral (USRP) based on the UHD (USRP Hardware Driver) framework. Its input is connected to the intermediate frequency (IF) output of the radio telescope receiver via an SMA RF interface, receiving IF analog signals with a center frequency ranging from 100MHz to 6GHz. Internally, the USRP contains, in sequence: an anti-aliasing filter, a high-speed analog-to-digital converter (ADC, with a maximum sampling rate of 200MSps), a digital down-converter (DDC), and corresponding signal processing logic. The ADC converts the analog IF signal to a digital IF signal, which is then down-converted by the DDC into complex baseband signals (I / Q channels), and connected to subsequent heterogeneous real-time processing modules via a PCIe or 10GbE interface.
[0033] 2. Heterogeneous Real-Time Processing Module The heterogeneous real-time processing module is deployed in a high-performance server equipped with a CPU and a GPU. It is connected to the signal acquisition module via a 10GbE network interface or a PCIe bus to receive baseband IQ data streams.
[0034] The heterogeneous real-time processing module runs on the GNU Radio software architecture and contains the following processing units: CPU processing unit: It adopts a multi-core processor with x86-64 architecture and is responsible for running the GNU Radio runtime environment, scheduling data flow graphs, executing non-real-time logic control, and handling non-intensive computing tasks.
[0035] GPU Acceleration Unit: A general-purpose graphics processor based on the NVIDIA CUDA architecture, connected to the CPU via the PCIe bus, and integrated with the GNU Radio flow graph through CUDA drivers and runtime APIs. The GPU is internally configured with multiple streaming multiprocessors (SMs), each containing a large number of CUDA cores for parallel execution of computationally intensive vector operations.
[0036] The CPU and GPU communicate through a UHD-based zero-copy data exchange mechanism: baseband IQ data is received from the USRP and directly mapped to the GPU memory, avoiding unnecessary memory copy overhead.
[0037] To enable USRP data to directly enter GPU memory, three core technologies are primarily employed: CUDA page-locked memory, a customized UHD zero-copy transfer interface, and asynchronous pipelined parallelism. Specifically, the `cudaMallocHost()` function allocates a physically contiguous buffer locked in memory on the host side. This buffer supports asynchronous PCIe DMA writes and can be directly accessed by USRP as the target address. Simultaneously, the `zero_copy_if` interface class in the UHD driver framework is inherited and overridden, replacing the original pointer to the receive buffer in the ordinary heap memory with the aforementioned page-locked memory pointer. Furthermore, the default memory copy operation in the UHD's `recv()` callback function is canceled, and instead, a reference to the page-locked memory is directly returned. In addition, through CUDA streaming and double buffering mechanisms, the process of asynchronously copying data from page-locked memory to GPU memory overlaps with the GPU kernel execution process, achieving time parallelism between data transfer and computation.
[0038] The hardware modules involved in this solution include: USRP software radio peripherals, PCIe bus / 10GbE network interface, and a high-performance server equipped with an NVIDIA GPU. Their coordination is as follows: The FPGA inside the USRP is responsible for down-converting the digital intermediate frequency signal acquired from the ADC via DDC, packaging it into IQ data frames, and initiating PCIe write transactions through its integrated DMA controller; the PCIe bus serves as the physical transmission channel, directly sending data to the CPU memory controller on the server side. However, this solution pre-configures the physical address page table of the page-locked memory, ensuring that the target address for DMA writes directly points to the page-locked memory region; the NVIDIA GPU shares the same address space with the CPU memory controller via the PCIe bus. After enabling unified virtual addressing, the copy engine within the GPU can directly read data from the page-locked memory and move it to video memory, without the CPU needing to participate in the scheduling of data movement instructions.
[0039] The specific data processing steps include: The first step (system initialization) is to run the initialization program on the server side, call the cudaMallocHost() function to allocate two page-locked memory blocks of equal size, and register the physical addresses of these two memory blocks in the receive buffer descriptor table of the UHD driver. The second step (data writing): After the USRP starts acquisition, its DMA controller alternately writes IQ data frames to the Ping and Pong buffers. When a frame of data is written, the UHD driver notifies the user layer that the buffer is ready through a callback function. This process does not require copying data from kernel mode to user mode. The third step (asynchronous transmission and processing) is that after the user layer receives the buffer ready signal, it asynchronously copies the ready buffer data to the working buffer in the GPU video memory, and at the same time returns the control of the buffer to the UHD driver to receive the next frame of data. The fourth step (GPU parallel computing) is that after the asynchronous copy is started, the GPU kernel functions that are queued in the same CUDA stream will be executed automatically after the copy is completed. Since the asynchronous copy and the GPU kernel execution are in the same stream, the hardware will automatically synchronize without CPU intervention. The fifth step (loop iteration) involves the Ping and Pong buffers taking turns, enabling USRP writing, asynchronous copying, and GPU computing to form a three-stage pipeline, achieving parallel processing of data from acquisition to processing.
[0040] 3. Dynamic Reconfiguration Module The dynamic reconfiguration module is implemented based on GNU Radio's modular flow graph engine. It serves as the upper-level controller for the heterogeneous real-time processing module, interacting with the GNU Radio runtime via Python scripts. This module includes: Flowchart parser: Reads the .grc flowchart configuration file generated by the user through GNU Radio Companion and parses it into executable Python flowchart code; Module loader: Dynamically loads components from the GNU Radio signal processing module library; Parameter configuration interface: Through GRC's variable and parameter mechanism, users can adjust module parameters at runtime.
[0041] This invention is based on the GNU Radio open-source framework and integrates and deeply customizes a set of modular signal processing components for astronomy (including a GPU-accelerated achromatic module, a pulsar folding module, a spectral line analysis module, an RFI suppression module, a baseband recording module, etc.). On this basis, it constructs four core technologies: a decoupled architecture of "static acquisition domain + dynamic processing domain", a ring buffer bypass mechanism, shared memory parameter hot injection, and dual-flow graph hot backup atomic switching, realizing the following three levels of dynamic reconstruction capabilities: (1) Parameter-level reconstruction (hot injection of astronomical parameters): Each astronomical module has a pre-set hot update mapping table for parameters, which supports online modification of core radio observation parameters such as DM value, folding period, epoch, and orbital phase during runtime. After the user modifies the parameters through GNU RadioCompanion, the system injects the new parameters into the running module through the ZeroMQ message queue and shared memory mechanism. The module automatically reads the new parameters and updates the GPU kernel constants at the next data block processing boundary, without interrupting the data flow, and the response time is less than 1 millisecond.
[0042] (2) Module-level reconstruction (hot switching of observation mode): The Dynamic Module Manager (DMM) coordinates the completion of five stages: emptying the old module, saving the state snapshot, activating the bypass pass-through, unloading and loading the module, and restoring the state. The DMM waits for the current sub-integral boundary to align before performing the switch to avoid cutting off incomplete integration cycles; before the switch, the accumulated pulse profile and other intermediate results are saved by take_snapshot(), and after the switch, they are restored by restore_snapshot() to achieve "breakpoint continuation of integration". During the entire switching process, the static domain continuously collects data, and the switching time is less than 10 milliseconds.
[0043] (3) Flow graph-level reconstruction (multi-mode parallel preview and seamless switching): On the one hand, it supports the dynamic creation of lightweight preview flow graphs during the main mode flow graph runtime. Another set of processing flows can be run independently at a reduced sampling rate through data fork nodes (such as pulsar folding in the main mode and spectral analysis in the preview flow graph). The two run in parallel without interference, and the preview flow graph can be dynamically destroyed at any time. On the other hand, for scenarios that require the overall replacement of the flow graph, it is achieved through dual flow graph hot backup and atomic routing switching. The switching action is completed within one sampling clock cycle, and the theoretical data loss is zero.
[0044] The above mechanisms together constitute the core innovation of this invention, which distinguishes it from the conventional GNU Radio static code generation mode. They provide the digital backend of radio telescopes with a truly meaningful runtime dynamic reconstruction capability for astronomical observation scenarios, compressing the mode switching time from several hours in the traditional scheme to milliseconds, and ensuring that the observation data is not interrupted during the switching process.
[0045] 4. Data Output Module The data output module is connected to the output of the heterogeneous real-time processing module and includes the following sub-modules: Storage submodule: Uses an NVMe SSD array, connected to the server via SATA or NVMe interface, for writing processed pulse profile data (.fits format), spectrum data (.fits or .txt format), and raw baseband data (.raw or .hdf5 format). Network transmission submodule: Connects to external data servers or user terminals via a 10GbE network interface, supporting remote transmission of real-time data streams.
[0046] 5. User Interaction Module The user interaction module runs on the user's local computer, connects to the dynamic reconfiguration module via a network, and provides: GNU Radio Companion graphical interface: used for visual editing of signal processing flowcharts; Command-line control interface: Batch submission of observation tasks via Python scripts; Web monitoring panel: Displays real-time system operating status, data throughput, GPU utilization, processing latency, etc.
[0047] II. Signal Processing Flow and Working Principle This invention relates to a digital back-end processing method for antennas based on GNU Radio, comprising the following steps: The analog intermediate frequency signal from the radio telescope is acquired, and after analog-to-digital conversion and digital down-conversion, digital baseband data is generated. Based on a zero-copy mechanism of a unified hardware driver architecture, digital baseband data is directly mapped and transmitted from the acquisition front end to the graphics processor's video memory. Under the GNU Radio software architecture, the flow graph scheduling environment is run through the central processing unit, the flow graph configuration file generated by the visual dynamic reconstruction module is parsed, and the digital baseband data in the video memory is distributed to the corresponding observation mode processing branch. In the observation mode processing branch, the graphics processor is invoked to perform computationally intensive tasks and output the processed pulse profile data, spectrum data, or raw baseband data.
[0048] The signal processing flow of this invention follows the basic path of "reception-distribution-acceleration processing-output", and the specific steps are as follows: Step 1: Signal Acquisition and Preprocessing The analog intermediate frequency signal received by the radio telescope is amplified with low noise and then sent to the USRP signal acquisition module. The USRP processes the signal internally through the following sub-steps: 1) The analog intermediate frequency signal enters the anti-aliasing filter to filter out out-of-band noise and interference; 2) The filtered signal is converted into a digital intermediate frequency signal by the ADC at a sampling rate of 100-200 MSps; 3) The digital intermediate frequency signal enters the DDC module, is mixed with the digital local oscillator (NCO), and down-converted to a complex baseband (I / Q channels). The output complex signal can be expressed as:
[0049] in, It is a discrete-time complex baseband signal. For in-phase components, For orthogonal components, For signal amplitude, For phase information, j is the imaginary unit. It is a phase factor in complex exponential form.
[0050] 4) The multi-stage decimation filter inside the DC reduces the sampling rate to the user-defined target sampling rate. The decimation process satisfies:
[0051] in, For ADC sampling rate, This is for extracting factors.
[0052] 5) Baseband IQ data is transmitted to the heterogeneous real-time processing module via a 10GbE network in the form of UDP packets.
[0053] Step 2: Data Stream Distribution and GNU Radio Flow Graph Scheduling After the data enters the heterogeneous real-time processing module, the GNU Radio runtime environment, based on the pre-loaded flow graph configuration, processes the input data stream. Replicating and distributing to multiple parallel processing branches:
[0054] in, , , These represent the baseband data sequences distributed to the pulsar processing branch, the spectral analysis branch, and the baseband recording branch, respectively. Entering the pulsar processing branch, Entering the spectral analysis branch, Enter the baseband recording branch. The CPU scheduler uses a multi-threaded polling method to ensure data synchronization between branches.
[0055] Step 3: GPU-accelerated dedispersion calculation The core processing unit of the pulsar branch is a GPU-accelerated incoherent dedispersion module, and its working principle is as follows: 1) Principle of Dispersion Effect Compensation: When pulsar signals propagate in the interstellar medium, they are affected by dispersion, and different frequency components arrive at different times. High-frequency components arrive first, and low-frequency components arrive later. The arrival time difference Δt is related to the observation frequency f and the dispersion DM as follows:
[0056] Wherein, DM is the dispersion measure (unit: ), and These are the lower and upper limits of the frequency band (unit: MHz). The purpose of de-dispersion is to compensate for this time difference, so that the pulses from each frequency channel are aligned and superimposed.
[0057] 2) GPU parallel dedispersion algorithm: The system divides the received baseband data into blocks according to frequency channels, and each channel's data block is processed independently and in parallel on the GPU. The algorithm flow is as follows: Input: Time-domain data of N frequency channels (i=1…N, t=1…T); Dispersion parameters: Dispersion DM, channel center frequency ; step: (1) Allocate a CUDA thread block for each channel in the GPU; (2) Each thread block independently calculates the relative delay of its channel. ;
[0058] in, The reference frequency (usually the center or highest frequency of the frequency band) is used as a reference. Let i be the center frequency of the i-th channel. The sampling rate.
[0059] (3) Perform a time-domain shift operation on the time-domain sequence of each channel; (4) The tree reduction algorithm is used to sum and superimpose the data after shifting all channels to obtain the total signal after dispersion elimination:
[0060] This is the output signal of the i-th frequency channel after time-domain shift compensation; (5) The superposition result is copied from the GPU memory back to the host memory.
[0061] 3) Explanation of acceleration ratio: Assuming the number of channels N=1024 and the number of data points per channel T=32768, the total number of threads allocated on the GPU can reach N×T=33,554,432 threads executing concurrently. Compared to single-threaded serial processing on a CPU, the speedup can reach 50 to 200 times.
[0062] Step 4: Pulsar Folding Process The superimposed signal after dispersion reduction further enters the pulsar folding module, and its processing flow is as follows: 1) Given that the rotation period of the pulsar is P (in seconds) and the epoch is... (i.e., the arrival time corresponding to the zero point of the pulse phase), then the pulse phase corresponding to time t is:
[0063] 2) Divide the continuous time series into multiple sub-integration blocks according to the rotation period P; 3) Align each sub-integration block according to the pulse phase and then stack and accumulate them;
[0064] in, The phase interval is discretized (usually divided into 1024 or 2048 bins). Let be the start time of the m-th integration block. This is the total signal after dispersion removal.
[0065] 4) After K cycles of folding and accumulation, the output is a pulse profile array with a high signal-to-noise ratio. .
[0066] Step 5: Spectral line analysis and processing When the system switches to spectral line observation mode, the processing of spectral line branches is based on the power spectral density estimation formula, and the processing flow is as follows: 1) First, analyze the baseband IQ data. Windowing is applied; window function Used to suppress spectral leakage;
[0067] Where n = 0, 1, 2, ... The number of FFT points; 2) The windowed signal undergoes a Fast Fourier Transform (FFT) using the GPU-accelerated cuFFT library, converting the time-domain signal to the frequency-domain signal. The resulting frequency-domain signal is represented as follows:
[0068] is the rotation factor of the discrete Fourier transform; 3) Calculate the power spectral density ; 4) Accumulate and average the results of multiple integrations to improve the spectral signal-to-noise ratio; 5) Output high-resolution spectrum data.
[0069] Step 6: Data Output and Storage The processed data will be output as follows: Pulse profile data: written to NVMe SSD in .fits format, with the filename containing information such as observation time, pulsar name, and center frequency; Spectrum data: Output in .fits or .txt format for subsequent analysis using MATLAB or Python; Raw baseband data: In baseband recording mode, it is written to disk in raw .raw format for offline post-processing; Real-time data stream: Transmitted to the user terminal via the network, supporting real-time visualization display.
[0070] III. Observation Mode Switching Procedure The observation mode switching process is as follows: Figure 2 As shown. When a user needs to switch from the current observation mode (such as pulsar mode) to another mode (such as spectral line mode), first run the GNU Radio Companion application on the local computer and open the flowchart file corresponding to the current mode (e.g., pulsar.grc); then modify the signal processing chain in the graphical interface, remove the pulsar folding module of the current mode, and add the FFT module and spectral line accumulation module required by the target mode, while adjusting the relevant system parameters; after completing the modifications, save the file and generate a new flowchart file, and click the "Generate" button to automatically generate the corresponding Python flowchart file; finally, execute the Python flowchart file in the console, and the system will complete the switch from pulsar mode to spectral line mode.
[0071] Technical effects: Improved development efficiency: Based on GNU Radio's visual flowchart programming, the development cycle has been shortened from months to days, allowing astronomers to build signal processing flows on their own without needing to have knowledge of the underlying hardware.
[0072] Enhanced real-time processing capabilities: The CPU+GPU heterogeneous parallel architecture achieves a speedup of 50 to 200 times for computationally intensive tasks such as dispersion reduction and FFT, ensuring real-time processing of broadband signals (≥100MHz).
[0073] Significantly improved reconfigurability: The dynamic reconstruction module supports minute-level switching of observation modes and is compatible with multiple scientific targets such as pulsars, spectral lines, transient sources, and baseband records on the same hardware platform.
[0074] Reduced hardware costs: It adopts a general-purpose USRP platform and standard GPU server, eliminating the need for dedicated FPGA boards, making it suitable for deployment applications of small and medium-aperture radio telescopes.
[0075] The system is highly open: based on the open-source GNU Radio framework, it has a rich community module library and active developer support, which facilitates technology iteration and collaborative innovation.
[0076] Key technical points of this invention: Key Point 1: Visualized Dynamic Reconfiguration Mechanism Based on GNU Radio This invention is the first to introduce the open-source GNU Radio software radio framework and its visual flowchart programming method into the digital backend system of radio telescopes. Users can build signal processing workflows by dragging and dropping modules through the GNU Radio Companion graphical interface. The system can dynamically load different signal processing modules based on user configurations, enabling flexible switching between observation modes. Users simply need to open the flowchart file corresponding to the current mode, remove existing modules and add target modules in the graphical interface, adjust relevant parameters, save and generate a new flowchart file, and finally execute it in the console to complete the switch. The entire process takes less than 5 minutes, requires no low-level code writing, and does not require a system restart. This mechanism shortens the algorithm iteration cycle of traditional digital backends, which takes weeks or even months, to days or hours, significantly reducing the development threshold for radio astronomy signal processing.
[0077] Key Point Two: CPU+GPU Heterogeneous Parallel Real-Time Processing Architecture This invention employs a heterogeneous parallel processing architecture combining CPU and GPU. The CPU processing unit handles GNU Radio flow graph scheduling, data distribution, non-real-time logic control, and non-intensive computational tasks. The GPU acceleration unit, using CUDA technology, executes computationally intensive parallel processing tasks, including incoherent dedispersion algorithms and FFT operations. In incoherent dedispersion processing, the system divides baseband data into frequency channels, assigning an independent CUDA thread block to each channel. Each thread block calculates channel latency in parallel and performs time-domain shift operations. Finally, a tree-based reduction algorithm is used to sum and superimpose all channel data. N×T CUDA threads can be launched concurrently on the GPU (N being the number of channels and T being the number of data points per channel), achieving a speedup of 5 to 200 times compared to CPU serial processing, with a real-time factor R≤1, meeting the real-time processing requirements of broadband radio signals.
[0078] Key Point 3: UHD-based Universal Software Radio Front-End This invention employs a Universal Software Radio Peripheral (USRP) based on the UHD (USRP Hardware Driver) framework as the signal acquisition front-end, connecting to the back-end server via a 10GbE network interface or PCIe bus. Internally, the USRP sequentially connects to an anti-aliasing filter, a high-speed analog-to-digital converter (ADC), and a digital down-converter (DDC), converting the analog intermediate frequency signal into complex baseband signals (I / Q channels). Compared to existing solutions relying on customized FPGA hardware boards, this invention utilizes a commercially available off-the-shelf USRP platform, covering a wide frequency range from MHz to GHz, supporting plug-and-play and flexible frequency band configuration. This solution significantly reduces hardware costs and development complexity, enabling the deployment of high-performance digital back-end systems even for small- and medium-aperture radio telescopes. Simultaneously, the unified driver framework based on UHD ensures cross-platform compatibility and portability of the software.
[0079] Key Point 4: Modular Signal Processing Component Library This invention is based on the GNU Radio open-source framework and integrates a modular signal processing component library, mainly including a GPU-accelerated achromatic module, a pulsar folding module, an FFT spectral line analysis module, and a baseband recording module. The modules adopt a loosely coupled, highly cohesive design architecture, allowing for independent development, testing, and upgrades. The system fully utilizes the rich module library resources of the GNU Radio open-source community and supports users to perform secondary development of custom modules according to specific scientific needs. When a new observation mode needs to be added or an algorithm needs to be upgraded, only the corresponding signal processing module needs to be developed or replaced, without modifying other parts of the entire system. This modular architecture gives the system good scalability and maintainability, facilitating subsequent algorithm iterations and rapid integration of new functions, avoiding the drawbacks of traditional digital back-ends where "changing one part affects the whole."
[0080] Key Point 5: Zero-copy data exchange mechanism This invention employs a zero-copy data exchange mechanism based on the UHD framework between the USRP signal acquisition module and the GPU acceleration unit. Baseband IQ data received from the USRP is directly mapped to the GPU memory, avoiding the additional latency and memory bandwidth consumption caused by multiple data copies via "USRP → system memory → GPU memory" in traditional solutions. This mechanism achieves an end-to-end low-latency path for data from acquisition to processing through the zero-copy interface between the UHD driver and the CUDA runtime API. Data can be directly accessed by the GPU for computation immediately after acquisition. This design not only reduces data transfer latency and improves overall system throughput but also alleviates the CPU's data copying burden, freeing up more CPU computing resources for flow graph scheduling and logic control, thereby further optimizing the system's real-time processing performance.
[0081] Any process or method described in the flowcharts of this invention or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing a particular logical function or process, which can be implemented in any computer-readable medium for use by an instruction execution system, apparatus, or device. The computer-readable medium can be any medium containing a program for storage, communication, propagation, or transmission for use by the execution system, apparatus, or device, including read-only memory, magnetic disks, or optical disks.
[0082] In the description of this specification, references to terms such as "embodiment," "example," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of the present invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, those skilled in the art can combine or combine the different embodiments or examples described in this specification and the features therein without causing contradiction.
[0083] While embodiments of the present invention have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present invention. Those skilled in the art can make changes, modifications, substitutions, and alterations to the above embodiments within the scope of the present invention.
Claims
1. A digital back-end processing method for antennas based on GNU Radio, characterized in that, Includes the following steps: The analog intermediate frequency signal from the radio telescope is acquired, and after analog-to-digital conversion and digital down-conversion, digital baseband data is generated. Based on a zero-copy mechanism of a unified hardware driver architecture, digital baseband data is directly mapped and transmitted from the acquisition front end to the graphics processor's video memory. Under the GNU Radio software architecture, the flow graph scheduling environment is run through the central processing unit, the flow graph configuration file generated by the visual dynamic reconstruction module is parsed, and the digital baseband data in the video memory is distributed to the corresponding observation mode processing branch. In the observation mode processing branch, the graphics processor is invoked to perform computationally intensive tasks and output the processed pulse profile data, spectrum data, or raw baseband data.
2. The method according to claim 1, characterized in that, The zero-copy mechanism based on a unified hardware driver architecture specifically includes: Establish an end-to-end data transmission channel between the signal acquisition front-end and the graphics processor; Digital baseband data does not need to pass through the system memory of the central processing unit. It is directly written to the video memory of the graphics processor through the data transmission channel, so that the graphics processor can directly access it and perform parallel computing.
3. The method according to claim 1, characterized in that, The flow graph scheduling environment runs through the central processing unit and parses the flow graph configuration file generated by the visual dynamic reconstruction module, specifically including: In response to the observation mode switching command, the preset signal processing component library is called in the visualization graphical interface to modify the signal processing link and adjust the component parameters; The modified graphical configuration file is parsed, the corresponding signal processing components are dynamically loaded, and the executable flow graph code corresponding to the target observation mode is generated and executed in the central processing unit.
4. The method according to claim 1, characterized in that, When the observation mode processing branch is the pulsar processing branch, the parallel dispersion reduction processing executed by the graphics processor is invoked, specifically including: The digital baseband data is divided into multiple data blocks according to frequency channels; In the graphics processor, an independent thread block is allocated for each frequency channel. Each thread block calculates the relative delay of the corresponding frequency channel in parallel and performs time-domain shifting operations on the time-domain sequence. A tree-based reduction algorithm is used to sum and superimpose the shifted data from all frequency channels to obtain the total signal after dispersion reduction.
5. The method according to claim 4, characterized in that, Following parallel dedispersion processing, pulsar folding processing is also performed in the graphics processor or central processing unit: Obtain the rotation period and epoch of the target pulsar, and calculate the pulse phase corresponding to the current integration block; Continuous time-domain data is divided into multiple sub-integral blocks according to its rotation period; Align each sub-integral block according to its corresponding pulse phase and stack them to output a pulse profile array.
6. The method according to claim 1, characterized in that, When the observation mode processing branch is the spectral line analysis branch, the Fast Fourier Transform processing executed by the graphics processor is invoked, specifically including: Windowing is applied to digital baseband data to suppress spectral leakage; The graphics processor's acceleration library is called to perform a fast Fourier transform on the windowed data, converting the time-domain signal into a frequency-domain signal; Calculate the power spectral density of the frequency domain signal and perform cumulative averaging of the multiple integration results to output the spectrum data.
7. A digital back-end processing system for antennas based on GNU Radio, used to implement the method as described in any one of claims 1-6, characterized in that, include: The signal acquisition module is used to acquire the analog intermediate frequency signal of the radio telescope, and generate digital baseband data after analog-to-digital conversion and digital down-conversion. The heterogeneous real-time processing module, including a central processing unit and a graphics processing unit, runs under the GNURadio software architecture and uses a zero-copy mechanism based on a unified hardware driver architecture to directly map and transmit digital baseband data to the graphics processor's video memory. The dynamic reconfiguration module connects to the heterogeneous real-time processing module and provides a visual graphical interface to parse the flow graph configuration file to dynamically configure the processing logic of the heterogeneous real-time processing module. The data output module is connected to the output of the heterogeneous real-time processing module and is used to store or transmit the processed data.
8. The antenna digital back-end processing system based on GNU Radio according to claim 7, characterized in that, The signal acquisition module includes a general-purpose software radio peripheral, which contains an anti-aliasing filter, an analog-to-digital converter, and a digital down-converter cascaded in sequence. The general-purpose software radio peripheral is connected to the heterogeneous real-time processing module through a high-speed network interface or a high-speed serial computer expansion bus standard interface.
9. The antenna digital back-end processing system based on GNU Radio according to claim 7, characterized in that, The dynamic refactoring module includes: A flow graph parser is used to read the flowchart configuration file generated by the user through the graphical interface and parse it into executable flow graph code. The module loader is used to dynamically load the corresponding components from a pre-defined signal processing component library based on the flow graph code; The parameter configuration interface is used to adjust the operating parameters of the signal processing components in real time during system operation.
10. The antenna digital back-end processing system based on GNU Radio according to claim 7, characterized in that, Also includes: The user interaction module, connected to the dynamic refactoring module, includes a graphical interface submodule for visually editing flowcharts, a script control submodule for batch task submission, and a monitoring submodule for displaying real-time throughput and utilization status.
Citation Information
Patent Citations
Multifunctional digital rear end for radio astronomical observation
CN116626876A