Wind speed inversion method and intelligent agent system based on Doppler lidar data
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-05-26
- Publication Date
- 2026-08-14
AI Technical Summary
[0003]然而,相关技术使用的这种反演方法,可用的频率范围比较少,在可用的频率范围内灵敏度较小,进而后续反演的风速精度低
[0015]根据本申请的实施例,通过利用双柯西模型对与雷达系统中的两个法布里-珀罗干涉仪对应的两个通道的透过率数据分别进行拟合,得到两个透过率函数;根据雷达系统的激光输出与雷达系统采集到的散射光,计算得到瑞利散射谱;将瑞利散射谱分别与两个透过率函数进行卷积,得到第一光强函数和第二光强函数,并根据第一光强函数和第二光强函数确定初始响应函数;利用指数函数对初始响应函数进行处理,得到响应函数,使该响应函数可用的频率范围比较多,在可用的频率范围内灵敏度较高,能够实现更稳定的转换。进而后续在利用多普勒平移公式对该响应函数进行处理后,能够反演精度较高的风速。
Smart Images

Figure CN122568465A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of radar wind measurement technology, and more specifically, to a wind speed inversion method and intelligent agent system based on Doppler lidar data. Background Technology
[0002] Traditional wind speed inversion methods record photon signal intensity and then directly invert radial wind speed based on the predefined intensity relationship between different channels.
[0003] However, the inversion method used in this technology has a limited available frequency range and low sensitivity within that range, resulting in low accuracy of the subsequent wind speed inversion. Summary of the Invention
[0004] In view of this, this application provides a wind speed inversion method and intelligent agent system based on Doppler lidar data.
[0005] According to one aspect of this application, a wind speed inversion method based on Doppler lidar data is provided, comprising: fitting transmittance data of two channels corresponding to two Fabry-Perot interferometers in the radar system using a dual Cauchy model to obtain two transmittance functions; calculating a Rayleigh scattering spectrum based on the laser output of the radar system and the scattered light collected by the radar system, wherein the scattered light is obtained by Rayleigh scattering caused by the interaction of the laser emitted by the radar system with atmospheric molecules; convolving the Rayleigh scattering spectrum with the two transmittance functions to obtain a first intensity function and a second intensity function, and determining an initial response function based on the first intensity function and the second intensity function; processing the initial response function using an exponential function to obtain a response function; and processing the response function using a Doppler translation formula to invert the wind speed.
[0006] According to an embodiment of this application, determining the initial response function based on the first light intensity function and the second light intensity function includes: subtracting the first light intensity function and the second light intensity function to obtain a difference function; adding the first light intensity function and the second light intensity function to obtain a summation function; and determining the initial response function based on the difference function and the summation function.
[0007] According to an embodiment of this application, the method further includes: determining a signal-to-noise ratio (SNR) function corresponding to each Fabry-Perot interferometer based on the noise intensity and light intensity functions corresponding to each Fabry-Perot interferometer; multiplying the first light intensity function and the second light intensity function to obtain a product function; adding the first light intensity function and the second light intensity function to obtain a summation function; and obtaining a total SNR function based on the product function, the summation function, and the SNR functions corresponding to each of the two Fabry-Perot interferometers.
[0008] According to an embodiment of this application, obtaining the total signal-to-noise ratio function based on the product function, the summation function, and the signal-to-noise ratio function corresponding to each of the two Fabry-Perot interferometers includes: multiplying a predetermined value by the product function and dividing by the square of the summation function to obtain a first calculation result; adding the signal-to-noise ratio functions corresponding to each of the two Fabry-Perot interferometers and taking the square root to obtain a second calculation result; and multiplying the first calculation result and the second calculation result and taking the reciprocal to obtain the total signal-to-noise ratio function.
[0009] According to an embodiment of this application, the above method further includes: obtaining an error function based on the total signal-to-noise ratio function, the sensitivity of the response function, the product function, and the summation function; and determining the confidence level of the retrieved wind speed based on the error function.
[0010] According to an embodiment of this application, obtaining the error function based on the total signal-to-noise ratio function, the sensitivity of the response function, the product function, and the summation function includes: multiplying a predetermined value by the product function and then dividing by the square of the summation function to obtain a first calculation result; multiplying the first calculation result by the reciprocal of the total signal-to-noise ratio function and the reciprocal of the sensitivity of the response function to obtain the aforementioned error function.
[0011] According to another aspect of this application, an intelligent agent system based on Doppler lidar data is provided, comprising: an intent detection module, used to convert a natural language request corresponding to inverted wind speed into a structured task description using a large language model, based on intent recognition prompt word templates and historical information stored in a shared memory module, wherein the historical information includes the names of various tools in a tool library and the dialogue context; and a planning module, used to, if it is determined from the structured task description that the tools in the tool library can fulfill the natural language request, use the large language model, based on the planning prompt word templates, to convert the structured task description, the natural language request, and the corresponding tools in the tool library into a tool execution plan; or, if it is determined from the structured task description that the tools in the tool library cannot fulfill the natural language request, convert the structured task description, the natural language request, and the corresponding tools in the tool library into a tool execution plan; or, if it is determined from the structured task description that the tools in the tool library cannot fulfill the natural language request, convert the structured task description, the natural language request, and the corresponding tools in the tool library into a tool execution plan. In the case of a natural language request, the structured task description, natural language request, corresponding tools in the tool library, and target tools output by the tool generation module are converted into a tool execution plan based on the planning prompt template. The tool generation module is used to generate the target tool by using a large language model, based on the tool generation prompt template, natural language request, specifications for the target tool in the structured task description, and pre-defined documents, when it is determined from the structured task description that the tools in the tool library cannot fulfill the natural language request. The target tool includes tools for obtaining the transmittance function, response function, and wind speed according to the above method. The tool execution module is used to call the corresponding tools sequentially according to the tool calling order included in the tool execution plan to obtain the execution result corresponding to the inverted wind speed.
[0012] According to an embodiment of this application, the system further includes: a verification and repair module, configured to, when the execution result indicates execution failure, convert the execution result into exception description information using a large language model and according to a verification prompt template; convert the exception description information into tool repair constraint information according to a code repair prompt template; and, when the execution result indicates execution success, transmit the information corresponding to wind speed in the execution result to the interaction module using a large language model; the interaction module is configured to receive a natural language request corresponding to the inverted wind speed; display exception description information when the execution result indicates execution failure; and display information corresponding to the execution result when the execution result indicates execution success; the tool generation module is further configured to regenerate the target tool based on the tool repair constraint information.
[0013] According to an embodiment of this application, the system further includes: a data access module, used to read data scanned by the radar system for inversion wind speed based on a large language model, a structured task description, and a natural language request; and a tool execution module, used to process the data scanned by the radar system for inversion wind speed using a corresponding tool to obtain an execution result corresponding to the inversion wind speed.
[0014] According to an embodiment of this application, the system further includes a shared memory module for storing the natural language request, the execution result, the names of various tools in the tool library, and the data scanned by the radar system for inverting wind speed.
[0015] According to an embodiment of this application, two transmittance functions are obtained by fitting the transmittance data of the two channels corresponding to the two Fabry-Perot interferometers in the radar system using a dual Cauchy model. The Rayleigh scattering spectrum is calculated based on the laser output and the scattered light collected by the radar system. The Rayleigh scattering spectrum is convolved with the two transmittance functions to obtain a first intensity function and a second intensity function. An initial response function is then determined based on the first and second intensity functions. An exponential function is used to process the initial response function to obtain a response function with a wider usable frequency range and higher sensitivity within that range, enabling more stable conversion. Subsequently, after processing the response function using the Doppler translation formula, wind speed can be retrieved with high accuracy. Attached Figure Description
[0016] The above and other objects, features and advantages of this application will become clearer from the following description of embodiments with reference to the accompanying drawings, in which:
[0017] Figure 1 A flowchart illustrating a wind speed inversion method based on Doppler lidar data according to an embodiment of this application is shown schematically.
[0018] Figure 2A This schematically illustrates a structural block diagram of an intelligent agent system based on Doppler lidar data according to an embodiment of this application;
[0019] Figure 2B This schematically illustrates a workflow diagram of an intelligent agent system based on Doppler lidar data according to an embodiment of this application;
[0020] Figure 3 This schematically illustrates a workflow diagram of an intelligent agent system based on Doppler lidar data according to another embodiment of this application;
[0021] Figure 4 The illustration shows a schematic diagram of the image output result of an intelligent agent system based on Doppler lidar data according to an embodiment of this application. Detailed Implementation
[0022] The embodiments of this application will now be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of this application. In the following detailed description, numerous specific details are set forth to provide a thorough understanding of the embodiments of this application for ease of explanation. However, it will be apparent that one or more embodiments may be implemented without these specific details. Furthermore, descriptions of well-known structures and technologies are omitted in the following description to avoid unnecessarily obscuring the concepts of this application.
[0023] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the scope of this application. The terms “comprising,” “including,” etc., as used herein indicate the presence of the stated features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.
[0024] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein are to be interpreted in a manner consistent with the context of this specification, and not in an idealized or overly rigid way.
[0025] When using expressions such as "at least one of A, B and C", they should generally be interpreted in accordance with the meaning that is commonly understood by those skilled in the art (e.g., "a system having at least one of A, B and C" should include, but is not limited to, a system having A alone, a system having B alone, a system having C alone, a system having A and B, a system having A and C, a system having B and C, and / or a system having A, B and C, etc.).
[0026] In the embodiments of this application, the collection, updating, analysis, processing, use, transmission, provision, application, and storage of data (e.g., including but not limited to user personal information) comply with relevant laws and regulations, are used for legitimate purposes, and do not violate public order and good morals. In particular, necessary measures have been taken to prevent unauthorized access to user personal information data and to maintain the security of user personal information and network security.
[0027] In the embodiments of this application, the user's authorization or consent was obtained before obtaining or collecting the user's personal information.
[0028] Traditional wind speed inversion methods record photon signal intensity and then directly invert radial wind speed based on the predefined intensity relationship between different channels, such as R (e.g., R=I1 / I2). This inversion method has a limited available frequency range and low sensitivity within that range, resulting in low accuracy of the wind speed inversion. Here, I1 is the light intensity of the first channel and I2 is the light intensity of the second channel.
[0029] In view of this, this application provides a wind speed inversion method and intelligent agent system based on Doppler lidar data, which can be applied to the field of radar wind measurement technology.
[0030] Figure 1 A flowchart illustrating a wind speed inversion method based on Doppler lidar data according to an embodiment of this application is shown.
[0031] like Figure 1 As shown, the wind speed inversion method based on Doppler lidar data in this embodiment may include operations S101 to S105.
[0032] In operation S101, the transmittance data of the two channels corresponding to the two Fabry-Perot interferometers in the radar system are fitted using the dual Cauchy model to obtain two transmittance functions.
[0033] According to an embodiment of this application, the radar system is an incoherent Doppler lidar system. The transmittance data of the two channels corresponding to the two Fabry-Perot interferometers in the radar system are both incoherent Doppler lidar data.
[0034] According to embodiments of this application, a dual Cauchy model is used when fitting the transmittance data for each channel. As shown in formula (1).
[0035] (1);
[0036] Among them, A, D, All are fitted parameters, x 01x represents the position of the first main transmission peak of the transmittance curve corresponding to the transmittance function. 02 denoted as the position of the second main transmission peak of the transmittance curve corresponding to the transmittance function, and x represents the position of each sampling point of the transmittance curve corresponding to the transmittance function.
[0037] In operation S102, the Rayleigh scattering spectrum is calculated based on the laser output and the scattered light collected by the radar system. The scattered light is obtained by Rayleigh scattering resulting from the interaction of the laser emitted by the radar system with atmospheric molecules. The laser output of the radar system refers to the laser light emitted from the radar system.
[0038] According to embodiments of this application, a normalized Rayleigh scattering spectrum can be generated based on a given predetermined temperature.
[0039] For example, the Rayleigh scattering spectrum can be obtained by simulating the laser output and echo scattered light of the radar system based on atmospheric temperature patterns and radar system.
[0040] In operation S103, the Rayleigh scattering spectrum is convolved with the two transmittance functions to obtain the first light intensity function and the second light intensity function, and the initial response function is determined based on the first light intensity function and the second light intensity function.
[0041] According to an embodiment of this application, the first light intensity function corresponds to the first channel, and the second light intensity function corresponds to the second channel.
[0042] In operation S104, the initial response function is processed using an exponential function to obtain the response function.
[0043] According to an embodiment of this application, an exponential function is used to process the initial response function to obtain a response function, which has a wider usable frequency range, higher sensitivity within the usable frequency range, and can achieve more stable conversion.
[0044] In operation S105, the response function is processed using the Doppler translation formula to invert the wind speed.
[0045] For example, the response curve of the new Doppler frequency shift can be derived from the new response function (i.e., the response function obtained by operating S104) and the Doppler frequency shift can be calculated; the wind speed can be inverted using the Doppler translation formula and the initial laser frequency.
[0046] According to an embodiment of this application, two transmittance functions are obtained by fitting the transmittance data of the two channels corresponding to the two Fabry-Perot interferometers in the radar system using a dual Cauchy model. The Rayleigh scattering spectrum is calculated based on the laser output and the scattered light collected by the radar system. The Rayleigh scattering spectrum is convolved with the two transmittance functions to obtain a first intensity function and a second intensity function. An initial response function is then determined based on the first and second intensity functions. An exponential function is used to process the initial response function to obtain a response function with a wider usable frequency range and higher sensitivity within that range, enabling more stable conversion. Subsequently, after processing the response function using the Doppler translation formula, wind speed can be retrieved with high accuracy.
[0047] According to embodiments of this application, for example, Figure 1 The operation S103 shown, which determines the initial response function based on the first light intensity function and the second light intensity function, may include the following operations: subtracting the first light intensity function and the second light intensity function to obtain a difference function; adding the first light intensity function and the second light intensity function to obtain a summation function; and determining the initial response function based on the difference function and the summation function.
[0048] For example, the initial response function can be obtained according to formula (2). .
[0049] (2);
[0050] in, The first light intensity function, This is the second light intensity function. It is a difference function. For summation functions, For frequency.
[0051] For example, it can be achieved according to formula (3). Figure 1 Operation S104: Process the initial response function using an exponential function to obtain the response function. .
[0052] (3).
[0053] According to the embodiments of this application, Figure 1The wind speed inversion method based on Doppler lidar data shown may further include: determining the signal-to-noise ratio (SNR) function corresponding to each Fabry-Perot interferometer based on the noise intensity and light intensity functions corresponding to each Fabry-Perot interferometer; multiplying the first light intensity function and the second light intensity function to obtain a product function; adding the first light intensity function and the second light intensity function to obtain a summation function; and obtaining the overall SNR function based on the product function, the summation function, and the SNR functions corresponding to each of the two Fabry-Perot interferometers.
[0054] According to embodiments of this application, the total signal-to-noise ratio (SNR) function is an important reference indicator for radar data inversion accuracy. The inversion accuracy can be determined based on the SNR function.
[0055] According to the embodiments of this application, This is the light intensity function corresponding to the first Fabry-Perot interferometer. This is the light intensity function corresponding to the second Fabry-Perot interferometer.
[0056] For example, the signal-to-noise ratio (SNR) function can be obtained according to formula (4), where the SNR function includes the first SNR function. Second signal-to-noise ratio function .
[0057] , (4);
[0058] in, The noise intensity corresponding to the first Fabry-Perot interferometer, This represents the noise intensity corresponding to the second Fabry-Perot interferometer.
[0059] According to an embodiment of this application, obtaining the total signal-to-noise ratio function based on the product function, the summation function, and the signal-to-noise ratio function corresponding to each of the two Fabry-Perot interferometers may include: multiplying a predetermined value by the product function and dividing by the square of the summation function to obtain a first calculation result; adding the signal-to-noise ratio functions corresponding to each of the two Fabry-Perot interferometers and taking the square root to obtain a second calculation result; and multiplying the first calculation result and the second calculation result and taking the reciprocal to obtain the total signal-to-noise ratio function.
[0060] For example, the total signal-to-noise ratio function can be obtained according to formula (5). .
[0061] (5);
[0062] in, It is a product function. The first calculation result, This is the second calculation result.
[0063] For example, the predetermined value can be 2.
[0064] According to the embodiments of this application, Figure 1 The wind speed inversion method based on Doppler lidar data also includes: obtaining an error function based on the overall signal-to-noise ratio function, the sensitivity of the response function, the product function, and the summation function; and determining the confidence level of the inverted wind speed based on the error function.
[0065] According to embodiments of this application, the higher the confidence level of the retrieved wind speed, the higher the accuracy of the retrieved wind speed.
[0066] According to an embodiment of this application, obtaining an error function based on the total signal-to-noise ratio function, the sensitivity of the response function, the product function, and the summation function may include: multiplying a predetermined value by the product function and then dividing by the square of the summation function to obtain a first calculation result; multiplying the first calculation result by the reciprocal of the total signal-to-noise ratio function and the reciprocal of the sensitivity of the response function to obtain the error function.
[0067] For example, the error function can be obtained according to formula (6). .
[0068] (6);
[0069] in, This represents the sensitivity of the response function.
[0070] Incoherent Doppler lidar enables high-resolution remote sensing of wind fields in the troposphere and upper atmosphere, serving as a crucial tool for studying atmospheric dynamics, gravity wave propagation, stratospheric circulation, and validating weather and climate models. Typical data processing usually includes dual-channel transmittance scanning and fitting, response function construction, photon counting to retrieve line-of-sight wind speed, error calculation, and wind field construction. However, in related technologies, this data processing workflow typically relies on multiple loosely coupled manual scripts or discrete software modules, presenting the following technical challenges:
[0071] 1) The processing flow is lengthy and relies heavily on debugging. Different observation nights, different tasks, or different data formats often require manual script modification, resulting in low efficiency. 2) There is a lack of unified structured interfaces between various algorithm modules, making it difficult to reuse intermediate results and leading to a lot of repetitive calculations, resulting in low efficiency. 3) When new data analysis needs arise, such as limiting the altitude range, adjusting the time resolution, comparing wind fields on different dates, or adjusting gravity wave diagnostics, it is often necessary to rewrite the code, resulting in low efficiency. 4) Although general-purpose large language models can understand natural language, when directly used for scientific instrument data analysis, they are prone to problems such as unstable tool calls, parameter illusions, missing steps, non-reproducible results, and inconsistent physical meanings. 5) Ordinary intelligent agents lack execution constraints and physical algorithm constraints for scientific workflows, making it difficult to ensure that the output results are auditable, traceable, and numerically reliable.
[0072] Therefore, there is a need for an intelligent analysis technology that can lower the barrier to lidar data analysis through natural language while maintaining controllable scientific computing processes, reproducible results, and transparent physical processing chains. In view of this, this application provides an intelligent agent system for inverting wind speed.
[0073] Figure 2A A schematic block diagram of an intelligent agent system based on Doppler lidar data according to an embodiment of this application is shown.
[0074] like Figure 2A As shown, the intelligent agent system 200 based on Doppler lidar data in this embodiment may include an intent detection module 210, a planning module 220, a tool generation module 230, and a tool execution module 240.
[0075] The intent detection module 210 is used to convert the natural language request corresponding to the inverted wind speed into a structured task description using a large language model, based on the intent recognition prompt word template and historical information stored in the shared memory module. The historical information includes the names of various tools in the tool library 270 and the dialogue context.
[0076] According to embodiments of this application, the information stored in the shared memory module is all historical information.
[0077] The planning module 220 is used to convert the structured task description, natural language request, and corresponding tools in the tool library into a tool execution plan based on the planning prompt word template, when it is determined from the structured task description that the tools in the tool library can fulfill the natural language request; or, when it is determined from the structured task description that the tools in the tool library cannot fulfill the natural language request, it converts the structured task description, natural language request, corresponding tools in the tool library, and target tools output by the tool generation module into a tool execution plan based on the planning prompt word template.
[0078] The tool generation module 230 is used to generate a target tool when, based on the structured task description, it is determined that the tools in the tool library cannot fulfill the natural language request. This is done using a large language model, based on the tool generation prompt template, the natural language request, the specification details for the target tool in the structured task description, and predefined documents. The target tool includes... Figure 1 The wind speed inversion method shown is a tool for obtaining the transmittance function, response function, and wind speed based on Doppler lidar data.
[0079] According to embodiments of this application, the predetermined file may be a file from a hardware control interface, a file from a data and formula library, a file from a radar database, or an execution operation file input by a client (or user).
[0080] According to embodiments of this application, the target tool for obtaining the transmittance function can be capable of achieving... Figure 1 The tool for operation S101. The target tool for obtaining the response function can be one that can achieve... Figure 1 The tools for operations S102 to S104, or those capable of performing operations S102 to S104. Figure 1 The tools used in operations S101 to S104. The target tool for obtaining wind speed can be [equipped to achieve this]. Figure 1 The tool that operates S105, or is capable of achieving Figure 1 The tools for operations S101 to S105.
[0081] According to embodiments of this application, the specification describes a tool that performs specific tasks based on certain inputs.
[0082] According to embodiments of this application, the target tool for obtaining the transmittance function can also plot the transmittance curve corresponding to the transmittance function. The target tool for obtaining the response function can also plot the response curve corresponding to the response function. The tool for obtaining wind speed can also plot wind speed profiles and / or wind field profiles.
[0083] The tool execution module 240 is used to sequentially call the corresponding tools according to the tool calling order included in the tool execution scheme, and obtain the execution result corresponding to the inverted wind speed.
[0084] According to an embodiment of this application, an intelligent agent system based on Doppler lidar data can, when the tools in the tool library can fulfill natural language requests, use a planning module to utilize a large language model and, based on planning prompt word templates, convert the structured task description, natural language request, and corresponding tools in the tool library into a tool execution plan; then, using a tool execution module, according to the tool calling order included in the tool execution plan, sequentially call the corresponding tools to obtain the execution result corresponding to the inverted wind speed.
[0085] Furthermore, when the tools in the tool library cannot fulfill natural language requests, the tool generation module utilizes a large language model to generate target tools based on tool generation prompt templates, natural language requests, specifications for the target tool in the structured task description, and pre-defined documents. Target tools include the technical means to obtain transmittance functions, response functions, and wind speeds using the aforementioned methods. This enables the generation of corresponding target tools when new wind speed inversion needs arise, using the large language model and corresponding constraints, improving the efficiency, stability, consistency, and reliability of target tool generation. Subsequently, the planning module can still use planning prompt templates to convert the structured task description, natural language request, corresponding tools in the tool library, and the target tool output by the tool generation module into a tool execution plan. The tool execution module then uses the tool execution plan to sequentially call the corresponding tools according to the tool call order, obtaining the execution result corresponding to the inverted wind speed.
[0086] like Figure 2A As shown, the intelligent agent system 200 based on Doppler lidar data may further include a verification and repair module 250 and a shared memory module 260. Furthermore, the intelligent agent system 200 based on Doppler lidar data may also include an interaction module (…). Figure 2A (not shown) and data access module ( Figure 2A (Not shown).
[0087] The verification and repair module 250 is used to convert the execution result into exception information based on the verification prompt template, using a large language model, when the execution result indicates failure; and to convert the exception information into tool repair constraint information based on the code repair prompt template. When the execution result indicates success, it uses the large language model to transmit the wind speed-related information from the execution result to the interaction module. The interaction module receives natural language requests corresponding to the inverted wind speed; displays exception information when the execution result indicates failure; and displays information corresponding to the execution result when the execution result indicates success. The tool generation module 230 can also be used to regenerate the target tool based on the tool repair constraint information.
[0088] Data access module: Used to read the wind speed data scanned by the radar system based on the structured task description and natural language request, using a large language model.
[0089] The tool execution module can also be used to process the data scanned by the radar system for inversion wind speed using corresponding tools, and obtain the execution result corresponding to the inversion wind speed.
[0090] Shared memory module 260: Used to store natural language requests, execution results, names of various tools in the tool library, and data from radar system scans used to retrieve wind speeds.
[0091] According to embodiments of this application, the intelligent agent system based on Doppler lidar data provided in this application adopts a modular structure design. Each functional module operates collaboratively and is selectively invoked according to specific needs. This enables the system to automatically complete task understanding, tool selection, process planning, tool generation, execution control, result verification and repair, and result output based on user-input natural language requests. Results are saved and retrieved between modules using various data formats in JSON and Python (such as float, array, list, dic, etc.).
[0092] The interaction module can receive natural language requests from the client (or user) and submit them to the subsequent intent detection module. The received natural language requests can include information such as the date corresponding to the inverted wind speed, observation direction, time range, altitude range, target variable, graphical requirements, comparison objects, diagnostic targets, and subsequent refinement requirements. This module also handles the result return function, outputting text summaries, numerical results, graphical results, and error messages to the user, enabling the user to continuously initiate and refine analysis requests in a dialog-like manner.
[0093] The data access module can read lidar scan transmittance data, photon count data, and related database information, and provide raw data and auxiliary parameters to each processing module according to task requirements. The data includes dual-channel scan transmittance data, dual-channel photon count data, instrument parameters, observation date information, and external database content related to the task. The data access module can also retrieve, filter, and match the input data to ensure that subsequent tools can access the data in a unified format.
[0094] According to an embodiment of this application, the predetermined file can be a file input by the data access module.
[0095] The intent detection module 210 can semantically parse the natural language requests input by the user, identify the current task objective, and determine the type of tool required to complete the task. When recognizing user requests, this module not only uses the current input content but also combines information from recent rounds of dialogue with existing result states in the shared memory module 260 for comprehensive judgment, thereby identifying context-dependent information such as "data from the previous day," "the previous result," and "continue the analysis based on the previous wind field map." The intent recognition result includes at least the task category, target object, required tool set, expected output format, and a judgment result regarding "whether the existing tools in the tool library are sufficient or whether a new target tool needs to be generated." The intent recognition result serves as a structured task description and path selection parameters required for subsequent processes.
[0096] Based on the intent recognition results, the planning module 220 can retrieve the corresponding tools from the tool library and arrange the execution order of the tools to form a structured tool call chain. The planning results generated by this module are represented in a structured manner, preferably a tool call sequence in JSON format. Each step includes at least the tool name, parameter items, and step description, thus giving the entire calculation process a clear execution order and traceability. In terms of parameter processing, the planning module 220 fills in the parameter values required for calculation for each tool, such as scalar parameters like date and time, altitude range, time range, and whether to draw. For large arrays, intermediate data results, or file objects, they are not directly passed during the planning stage, but are read by subsequent tools from the shared memory module. This reduces direct coupling between tools, improves process stability, and reduces planning failures caused by changes in underlying file names or data storage formats. The module also provides necessary initial parameter values for each tool based on radar parameters and mission requirements to prevent the loss of necessary parameters during tool calculations.
[0097] When the intent detection module 210 determines that the existing tools cannot meet the new user needs, the tool generation module 230 is activated to generate a new target tool to complete the corresponding task. This tool generation module 230 can automatically generate new functional functions and encapsulate them into a corresponding new target tool based on the user task description (i.e., natural language request), a fixed code template, similar tool examples returned based on RAG technology, and relevant domain knowledge documents. The generated new target tool follows a unified function interface specification, has a fixed function signature, prioritizes input through a shared memory module, encapsulates the output using a unified dictionary structure, and can include result information such as image paths. During the generation process, the tool generation module can also provide the large language model with a summary of existing intermediate results and a summary of the current workflow for reference, thereby improving the consistency between the new target tool and the existing system interface. Furthermore, when generating the new target tool, domain constraints are added based on tool examples and knowledge documents, such as specifying the zero Doppler alignment height range, limiting the wind speed display range, and constraining the frequency or filtering processing method, to ensure that the tool results conform to the physical rules of LiDAR data processing.
[0098] The branch of the new target tool dynamically generated by the tool generation module 230 has the following characteristics: (1) When generating a new target tool, the tool generation module 230 does not directly process arbitrary external variables, but reads the previous results from the shared memory module 260 according to a unified interface and returns the results according to a unified structure; (2) After the new target tool is generated, it is not immediately and unconditionally adopted, but is first verified by syntax, parameters, return fields and execution results; (3) If the new target tool fails to execute or the result is invalid, a limited number of repairs are triggered. After the number of repairs is exceeded, automatic repairs are stopped and explicit error information is returned; (4) For tasks with complex intentions, this document, including formulas, descriptions of specific algorithm steps, etc., can be injected into the tool generation process to constrain the algorithm complexity, step order, parameter default values and result output format, etc.
[0099] According to the embodiments of this application, Figure 2A The intelligent agent system based on Doppler lidar data shown may also include a tool library 270.
[0100] The tool library module centrally manages the function names, parameter patterns, and usage descriptions of predefined and dynamically generated tools. This module stores the name, input parameter requirements, output format, functional description, and applicable scenarios for each tool, providing a unified basis for tool querying and invocation for the planning and execution modules. When the tool generation module generates a new target tool, this new target tool is written to the dynamic tool module, imported and registered in the tool library at runtime, enabling subsequent tasks to invoke the new target tool just like calling predefined tools, without altering the overall system structure.
[0101] The tool execution module 240 can sequentially call the corresponding tools and execute the calculation process according to the tool call order generated by the planning module 220. During execution, this module filters, normalizes, and checks the validity of input parameters based on the parameter patterns recorded in the tool library, and collects the output results of each step into a structured result. After execution, key intermediate and final results are written back to the shared memory module 260, including fitting results, response function results, wind speed profile results, wind field results, error results, statistical results, and image paths, so that they can be directly reused in subsequent steps or dialogues. The execution module is also responsible for organizing and outputting the plotting results, numerical summaries, and diagnostic information to the user interaction module. If an error occurs during execution, the subsequent process is paused, and the erroneous tool, error message, and context are passed to the verification and repair module 250 for processing.
[0102] The verification and repair module 250 checks the completeness, numerical rationality, data type consistency, and output adaptability of the execution results, and triggers a limited number of automatic repairs when execution fails. This module not only checks for runtime errors, missing parameters, data type mismatches, and abnormal array dimensions, but also further determines whether the results truly cover the user's requested task objectives, such as whether the required graphics were generated, whether the specified height range was handled, and whether key output content was omitted. When the dynamic generation tool fails, the verification and repair module can locate the failing function, extract its source code and corresponding Python error message, and call a dedicated code repair process to correct its implementation while preserving the function signature and interface as much as possible. Then, it reloads the dynamic tool module and re-executes the corresponding plan. If the repair still fails, the system returns the existing calculation results and error messages, allowing the user to decide whether to adjust the task requirements or continue processing.
[0103] The shared memory module 260 can save physical operation variables, historical dialogue information, and task results from the current session and historical tasks, providing unified data support for multi-round interactive analysis, result reuse, and anomaly recovery. This module comprises two layers: short-term memory and long-term memory. Short-term memory stores intermediate results and contextual states from the current session, while long-term memory persistently saves some key results to local cache files to support cross-round calls and result recovery after interruption. Short-term memory is primarily stored in the shared state and read through a unified interface. The explicitly used result keys in the system include at least fitting results, response function results, wind speed profile results, wind field results, error results, and signal-to-noise ratio results. Each result block can store information such as numerical scalars, arrays, lists, dictionaries, and image paths, allowing different tools to directly reuse existing intermediate results without recalculating. In addition to physical calculation results, the shared memory also stores contextual information such as current user input, recent rounds of dialogue, task intent, execution plan, verification results, and output summaries, enabling the system to understand continuous commands such as "data from the previous day," "results from the previous session," and "continue analysis based on the previous wind field." Regarding long-term memory, the system supports retrieving key results from the local cache as a supplement to short-term memory gaps. For example, when fitting results or response function results are missing in the short-term state, the relevant tools can automatically attempt to load the corresponding results from the local cache, thereby avoiding the need to re-execute previous calculations due to session interruption or state loss.
[0104] In terms of index organization, the shared memory module stores key results in a hierarchical structure of "result category—date—direction". For data related to observation date and direction, such as wind profiles and wind fields, the structure {data: {direction:{...}}} is typically used. Data uses a four-digit month-day short code string, such as "0913", and direction is represented by "EW" or "NS". In single-direction scenarios, the {data: {...}} format can also be used. This hierarchical indexing method allows the system to simultaneously distinguish data results from different observation nights and directions within the same session, and enables precise retrieval by date and direction in subsequent tool calls.
[0105] In summary, the core functional structure of this application comprises the interaction module, data access module, intent detection module, planning module, tool generation module, tool library, execution module, shared memory module, and verification and repair module. Specifically, the intent detection module, planning module, tool generation module, and verification and repair module invoke a large language model to perform logical reasoning based on different module tasks and specific prompts for each module, and return the required results. These modules work collaboratively around the shared memory module and tool library, enabling the system to automatically complete the understanding, planning, execution, expansion, verification, repair, and result output of incoherent Doppler lidar data processing tasks based on natural language input.
[0106] The following will be based on Figure 2B to and Figure 2A The method flow corresponding to the intelligent agent system based on Doppler lidar data shown will be further explained.
[0107] Figure 2A The intelligent agent system based on Doppler lidar data, as shown, invokes relevant functional modules according to a preset workflow to complete the user's request for incoherent Doppler lidar data processing. This workflow includes both existing tool invocation and dynamic tool generation processes, as detailed below. Figure 2B As shown.
[0108] Figure 2B A schematic diagram illustrating the workflow of an intelligent agent system based on Doppler lidar data according to an embodiment of this application is provided.
[0109] Figure 2B The workflow of the intelligent agent system based on Doppler lidar data shown may include steps 1 to 8.
[0110] Step 1: Receive user requests.
[0111] Users input a natural language task description (i.e., a natural language request) through the interactive module. This task description may include detailed wind field data such as: date, direction components, time range, altitude range, target variable, graphical requirements, comparison objects, diagnostic targets, computational objects, and subsequent refinement requirements.
[0112] Step 2: Perform intent detection using the intent detection module.
[0113] The intent detection module, based on user input, the current dialogue context, and existing results from the shared memory module, invokes a large language model to perform semantic parsing of the task and generates a structured task description. This structured task description includes at least the task category, the target processing object, the expected output format, necessary parameters, and whether a tool already exists in the tool library that can directly complete the task.
[0114] Step 3: Use the planning module to generate a structured execution path.
[0115] After the intent detection module completes task parsing, the planning module retrieves the large language model based on the returned information and the tool information in the tool library to parse the execution path and tool retrieval order, returns the planned execution path to the system, and fills in the default parameters required for tool calculation. The execution path is divided into two paths in addition to the tool order: (1) If the existing tools can meet the current task requirements (i.e., it is determined that only the local database is used), then the existing tool execution path is entered; (2) If the existing tools cannot meet the current task requirements (i.e., it is not possible to use only the local database), then the dynamic tool generation path is entered.
[0116] Step 4: Execute the existing tool execution path.
[0117] When the tool library already contains tools that meet the task requirements, the planning module generates an ordered tool call sequence based on the tool description, parameter mode, and task requirements, and fills in initial values for parameters such as date, altitude range, time range, and whether drawing is required for each tool. Subsequently, the tool execution module calls the corresponding domain algorithm tools sequentially according to the tool call sequence to complete the LiDAR data processing. The predefined tools called may include FPI transmittance curve fitting tools, response function calculation tools, line-of-sight wind speed inversion tools, error calculation tools, wind field construction tools, gravity wave analysis tools, visualization tools, and statistical analysis tools, etc.
[0118] Step 5: Execute the dynamic tool to generate the path.
[0119] When no tool in the tool library meets the requirements of the current task, the system activates the tool generation module. This module generates a new target tool based on the user's task description (i.e., the natural language request), existing tool examples, fixed code templates, and optional domain knowledge documents, ensuring it meets unified input / output interface requirements. Once generated, the new target tool is written to the dynamic tool module and registered in the tool library. Subsequently, the planning module regenerates the tool call sequence based on the updated tool library, and the tool execution module then executes the corresponding processing flow according to the newly generated tool call sequence. When predefined tools and target tools generated by the tool generation module achieve the same function, they use different methods.
[0120] Step 6: Use the tool to execute the module and write the execution result to the shared memory module.
[0121] Regardless of whether an existing tool execution path or a dynamically generated tool path is used, the tool execution module writes the intermediate and final results returned by each tool to the shared memory module. The shared memory module stores transmittance fitting results, response function results, wind speed profile results, overnight wind field results, error bar results, plotting paths, statistical results, and task summaries, etc., to support subsequent task calls and multi-round interactive analysis.
[0122] Step 7: Use the verification and repair module to verify and repair the execution results.
[0123] The verification and repair module checks the execution results according to preset rules. The checks include whether there are runtime errors, missing prerequisite data, missing parameters, data type mismatch, abnormal array shapes, complete output format, and whether the results have obviously unreasonable physical characteristics. When an error is detected, the system triggers an automatic repair process. If the erroneous object is a dynamically generated tool, the error message and corresponding code are extracted for automatic repair, and the relevant process is re-executed after repair. If the repair fails, the existing results are retained and the error message is returned.
[0124] Step 8: Output the results.
[0125] Once verification is successful, the system outputs the processing results to the user through the interactive module. This output includes at least one or more of the following: numerical results, a summary of the operational status, various analytical graphs, and a brief analysis report. These analytical graphs include wind speed profiles, wind field diagrams, error diagrams, comparison diagrams, and spectrum diagrams.
[0126] In this application, the large language model does not directly participate in LiDAR data processing as a single general question-and-answer method. Instead, it serves as the core of a constrained workflow control, embedded in four modules: intent detection, planning, tool generation, and verification and repair. Within each module, it calls independent and functionally defined prompt templates to accomplish tasks such as task understanding, process planning, code generation, result verification, and error repair. This node-based prompt template design combines the reasoning capabilities of the large language model with the structured constraints, interface specifications, and physical rules in the LiDAR data processing flow, thereby reducing the instability caused by free generation and improving the controllability, auditability, and reliability of the system execution process.
[0127] The prompt templates called by each functional module are not the same; they are designed separately according to the tasks undertaken by each module. Different templates specify different input information, output formats, and constraint rules, ensuring that the large language model performs only logical reasoning within its specific scope of responsibility at each processing stage, rather than directly mixing processes across multiple stages. These prompt templates include at least intent recognition prompt templates, planning prompt templates, tool generation prompt templates, verification prompt templates, and code repair prompt templates.
[0128] The intent detection module 210 calls the intent recognition prompt template to convert the user's input natural language request into a structured task description. This template receives the user's task description (i.e., the natural language request), a list of currently available tools, parameter information for each tool, and necessary contextual state information. It also requires the large language model to output a structured result in a unified format. This structured result includes at least the high-level task intent, whether the task can be completed directly using existing tools, the set of tools to be invoked, and specifications for new tools when existing tools are insufficient. Through this template, the large language model first categorizes the user's needs into tasks and determines the path, classifying natural language requests into two categories: "tasks that can be completed by existing tools" and "tasks that require dynamically generated new tools." This determines whether the system will subsequently enter the existing tool execution path or the dynamic tool generation path. The template also restricts the large language model to selecting tool names and parameter fields only from the existing tool list, preventing it from fabricating non-existent tool interfaces or parameter names during the intent recognition stage.
[0129] The planning module 220 invokes a planning prompt template to generate a structured execution plan (i.e., a scheme) based on the intent recognition results. The template input includes the user's original task text (i.e., a natural language request), task information output by the intent recognition module, the names, descriptions, and parameter patterns of available tools in the current tool library, and a necessary state summary from the shared memory module. The template requires the large language model to output a sequentially arranged tool invocation plan in structured JSON format, where each step includes at least the tool name, parameter dictionary, and step description. The implementation of the planning prompt template focuses on strict constraints on parameter input rules: parameter values must be scalars, booleans, date strings, direction strings, or filenames that can be directly executed as Python arguments, and cannot be natural language descriptions, placeholders, or intermediate result expressions; the template also explicitly specifies uniform writing methods for date, direction, time formats, and output image file naming rules. For large arrays, intermediate result dictionaries, or file objects, the planning template does not allow the large language model to directly pass them in the prompts; instead, it requires the tool to automatically retrieve the corresponding results from the shared memory module using a predefined pre-defined read function during execution. In this way, the planning module can break down tasks into executable and reproducible tool call sequences, while reducing direct coupling between tools.
[0130] When the intent detection module 210 determines that the existing tool cannot complete the user's task, the tool generation module 230 calls the tool generation prompt template. This template is not for natural language responses, but is specifically designed to generate new tool function code. To ensure that the dynamically generated tool is compatible with the existing system structure, the tool generation prompt template imposes strict constraints on the function signature, input acquisition method, return format, usable module environment, and data reading path of the new tool. The generated new target tool must use a unified function interface, receive a shared state object and a small number of scalar parameters, and return structured results in dictionary form. The template explicitly requires that the new target tool must not directly receive large intermediate arrays or dictionaries through function parameters, but must obtain existing intermediate results through a unified reading function in the shared memory module; at the same time, it prohibits arbitrarily adding new import statements or dependencies within the function body, and requires priority reuse of libraries and auxiliary functions already existing in the current tool module. In addition to interface constraints, the tool generation template also injects domain rules and numerical specifications from LiDAR processing into the large language model, such as wind speed field zero-point alignment, wind speed range pruning rules, time string parsing format, state dictionary access method, and dimensional requirements for two-dimensional spectrum plotting. This allows dynamic generation tools to inherit the existing system's algorithm interface specifications and physical processing constraints during the generation phase, avoiding the generation of syntactically correct code that does not conform to the system's operating mechanism or domain rules.
[0131] The verification submodule in the verification and repair module 250 calls the verification prompt template. This template receives the user's original request (i.e., a natural language request), the actual tool call plan, and a summary of the results obtained after execution. It then requires the large language model to determine whether the current result truly fulfills the user's request and whether there are any obvious numerical anomalies, structural anomalies, or unreasonable physical meanings. The verification submodule output includes at least a flag indicating whether the verification passed, a list of existing problems, and user-friendly result explanations. Unlike general error detection, this template not only checks whether the system reports errors but also further checks whether the output covers the user-specified task objectives, such as whether the required graphs were generated, whether the specified height range was included, and whether key statistics were omitted. Furthermore, for tasks such as wind field inversion and gravity wave analysis, the template requires extracting key numerical parameters from the results and writing them into the returned summary so that the system can simultaneously provide the main physical quantities and analysis conclusions when outputting results to the user. Through this template, the verification and repair module achieves high-level semantic verification of whether the results correctly answer the question, rather than simply judging success or failure at the code execution level.
[0132] When an error occurs during the dynamic generation tool's execution, the code repair submodule within the verification and repair module invokes a code repair suggestion template. This template's input includes the complete source code of the failed function, Python error messages and stack traces, the tool function template, and a description of the function's expected behavior. The template requires the large language model to make minimal necessary modifications to the function's internal implementation while maintaining the original function signature and interface, and to output the corrected, complete function code. The code repair suggestion template pre-includes repair rules for common failure modes of the system's dynamic tools, such as prohibiting the incorrect use of undefined state access paths, prohibiting the passing of complex structured data as function parameters, prohibiting the use of time parsing methods incompatible with the current format, and prohibiting the addition of variable names that do not exist in the system environment during the repair process. Through these repair constraints, the system can automatically locate errors, generate patched versions, and re-execute relevant processes after a dynamic tool fails, thereby enhancing the recoverability of the tool's generated branches and the overall robustness of the system.
[0133] In summary, this application embeds a large language model into multiple processing nodes, including intent detection, planning, tool generation, verification, and error correction. It also designs task-specific prompt templates for each node, transforming the large language model's role in the system from traditional free text generation to constrained structured control, code generation, and error correction. This mechanism allows the large language model to retain its adaptability to complex natural language requests and new task requirements, while participating in scientific data processing workflows under the constraints of a unified interface, unified state reading method, unified output format, and domain physical rules. This achieves automation, scalability, and reproducibility of LiDAR data processing tasks.
[0134] According to embodiments of this application, the predefined tools and target tools are not simple independent script functions, but standardized functional units that can be registered in a tool library. For example, a predefined tool is a standardized functional unit pre-registered in the tool library, and a target tool is a standardized functional unit that registers the functional function generated by the tool generation module 230 in the tool library. The target tool is a newly generated tool. Each tool operates according to a unified input / output specification, and intermediate results are saved, retrieved, and reused through a shared memory module, enabling different calculation steps to form a continuous lidar data processing chain. Both the predefined tools and target tools may include at least an FPI transmittance curve fitting tool, a response function calculation tool, a wind speed profile inversion tool, an overnight wind field construction tool, a signal-to-noise ratio calculation tool, a horizontal wind vector synthesis tool, and a diagnostic analysis tool. The technical features of each tool are as follows.
[0135] For the FPI transmittance curve fitting tool: This tool reads transmittance data from two channels and uses this data to smoothly fit the two-channel FPI transmittance curve, providing a standardized transmittance input for subsequent response function construction. The tool's input mainly includes the scan file path, fitting and smoothing parameters, whether to plot, output image name, and optional date identifier. The scan file is typically a text data file containing location coordinates, transmittance for channel 1, transmittance for channel 2, and locked channel information.
[0136] The FPI transmittance curve fitting tool first reads the scan position and dual-channel transmittance data from the data file, and then uses the peak detection method to identify the position of the main transmittance peak. After that, the tool uses the double Cauchy function to fit channel 1 and channel 2 respectively to obtain a continuous and smooth dual-channel transmittance curve. After the fitting is completed, the tool outputs a result dictionary with a unified structure, which includes at least the frequency coordinate array, the smoothed curve of channel 1, the smoothed curve of channel 2, and the transmittance curve image path generated when plotting is enabled. At the same time, the result is written to the shared memory module or local shared state as the input source for the subsequent response function calculation tool. When the FPI transmittance curve fitting tool is the target tool, the transmittance data of each channel can be fitted according to the tool (1).
[0137] For the response function calculation tool: This tool constructs a two-channel differential response function based on the FPI transmittance fitting results and the simulated Rayleigh scattering echo spectrum, providing a mapping relationship between frequency shift and response values for wind speed inversion. The tool's inputs include the FPI fitting results from the shared memory module, Rayleigh spectrum simulation temperature parameters, whether to plot the data, the output image name, and an optional date identifier.
[0138] The tool first extracts the frequency coordinates and dual-channel smooth transmittance curves from the FPI results, and constructs a frequency shift coordinate axis with the frequency center as the zero point. Then, it generates a normalized Rayleigh scattering spectrum based on a given temperature, and convolves it with the dual-channel transmittance curves to obtain the convolved dual-channel intensity.
[0139] When the response function calculation tool is the target tool, the response function curve can be calculated according to formula (3).
[0140] The output dictionary of this tool includes at least a frequency shift array, a response function array, and the path to the response function image. This result is then written to a shared memory module or a local cache for reuse by the wind speed profile inversion tool and the overnight wind field construction tool (i.e., the wind field profile inversion tool).
[0141] For the wind speed profile inversion tool: This tool is used to invert dual-channel photon count data for a specified date, direction, and time to obtain a single-moment line-of-sight wind speed profile. The tool's input includes a shared state object, date parameters, direction parameters, optional time parameters, laser wavelength parameters, and whether to plot. The data source consists of dual-channel photon count data files and timestamp files saved in the corresponding date and direction directories. The tool also reads existing response function results from a shared memory module or local cache.
[0142] The tool first normalizes the date and direction parameters and loads the overnight photon count matrix and corresponding timestamp sequence from the original observation file. If the user provides a specific time, it searches for the observation profile closest to that time based on the timestamp array; otherwise, it uses the observation profile corresponding to the default index position. The tool then extracts the dual-channel photon count for that time slice, calculates the observation response ratio, and uses interpolation mapping of the response function to convert the response ratio into a frequency shift, which is then converted into line-of-sight wind speed based on the laser wavelength. The altitude coordinates are determined based on the geometric relationship between a fixed range gate length and a 30° elevation angle, with an initial observation point at 13 km.
[0143] The tool's output includes at least the observed response ratio (SNR), aligned line-of-sight wind speed profile, height array, selected time index, corresponding time string, optional frequency jitter warning, and wind profile image path. Furthermore, the tool can call a signal-to-noise ratio (SNR) calculation tool to obtain the effective SNR height and provide the effective wind speed range when the SNR exceeds a threshold, thus combining the wind speed inversion results with signal quality assessment. After inversion, the results are written to a shared memory module indexed by date and direction for subsequent horizontal wind vector synthesis or diagnostic analysis tools.
[0144] For the wind field profile inversion tool: The all-night wind field construction tool (i.e., the wind field profile inversion tool) is used to batch invert all-night dual-channel photon count data for a specified date and direction, forming a time-height two-dimensional line-of-sight wind field. The tool's inputs include a shared state object, date, direction, laser wavelength, and whether to plot parameters. The data source is the all-night photon count data and timestamp sequence in the folder corresponding to the direction for that date. It also needs to read the response function results from the shared memory module or local cache.
[0145] This tool calculates the observation response ratio matrix for all time slices throughout the night using dual-channel photon counts in a single operation. It then converts this matrix into a frequency shift matrix and a line-of-sight (LOS) wind speed matrix using an interpolation response function, similar to single-time-point wind speed inversion. The tool outputs at least a two-dimensional LOS wind field array, an altitude array, an overnight timestamp array, optional laser frequency jitter alarm information, and the wind field image path. In plotting mode, the tool converts the timeline to a true date and time format, plotting a two-dimensional color graph of time, altitude, and wind speed. The wind speed display range can be fixed within a predetermined interval to ensure comparability between results from different dates. The final overnight wind field results are written to the shared memory module indexed by date and direction.
[0146] For the signal-to-noise ratio (SNR) calculation tool: This tool calculates the vertical SNR profile based on raw photon count data from a specified date and direction, and evaluates signal quality degradation with altitude. Inputs include a shared state object, date, direction, and output image name. The tool loads a dual-channel photon count file (i.e., ...) from the raw observation catalog. and ) and noise statistics files (i.e. and When noisy files are lacking, a certain proportion of the photon count can be used as a noise estimate. The tool performs photon count statistics along the altitude direction and then calculates the SNR value for each altitude level. The tool further detects the first altitude position where the SNR drops to a predetermined threshold to determine the altitude range where the signal is relatively sufficient. The output includes at least an SNR array, an altitude array, the altitude at which the SNR drops to the threshold or a similar altitude indicator, the SNR profile image path, and a text summary. This result can be used by users to directly view the signal quality or further utilized by wind speed inversion tools, horizontal wind vector synthesis tools, or parameter adaptive adjustment tools.
[0147] When the signal-to-noise ratio (SNR) calculation tool is the target tool, the total SNR function can be calculated according to formulas (4) and (5). .
[0148] For the error estimation tool: This tool is used to estimate the error bars of wind speed inversion results for a specified date and direction, providing the uncertainty distribution of line-of-sight wind speed at each altitude level. The tool's inputs include a shared state object, date, direction, laser wavelength parameters, and whether to plot. During calculation, it needs to read SNR data, raw dual-channel photon count data, timestamp data, response function results, and wind speed profile results for the corresponding date and direction. If the shared memory module lacks response function results or wind speed profile results, the tool can also revert to read the corresponding intermediate results from the local cache.
[0149] The tool first locates the original photon count file and timestamp file based on the date and direction, and selects a representative time slice corresponding to the dual-channel photon count profile. It then reads the frequency domain, SNR, and response function array from the response function results, and combines these with wind speed profile results or buffered results to establish the input conditions required for error estimation. The tool calculates the uncertainty of the response value based on the total number of photons in both channels, then calculates the frequency gradient of the response function curve, using its average absolute value as a sensitivity reference, further propagating the response value error into wind speed error. Simultaneously, the tool constructs a height coordinate array according to a geometric relationship consistent with wind speed inversion, ensuring that the error results correspond to the wind speed profile results in the height dimension.
[0150] When the error estimation tool is a target tool, the error function can be calculated according to formula (6). .
[0151] This tool outputs a standardized results dictionary, including at least an array of wind speed errors, an array of altitudes, an index of the time used, the corresponding time string, and the path to the error bar image generated in plotting mode. Error estimation results are written to a shared memory module indexed by date and direction for further use by subsequent diagnostic analysis tools or user interaction modules. This tool enables the system to provide corresponding uncertainty information along with the wind speed inversion results, thereby improving the reliability and auditability of the results interpretation.
[0152] For the diagnostic analysis tool: This tool automatically extracts key numerical features and generates user-oriented analytical summaries based on existing intermediate results. The tool's input includes a shared state object and optional output length constraints. It primarily reads result blocks from the shared memory module, including FPI transmittance curve fitting results, response function calculation results, wind speed profile inversion results, overnight wind field construction results, signal-to-noise ratio calculation results, error calculation results, horizontal wind vector synthesis results, and diagnostic analysis results.
[0153] The tool first performs lightweight summary extraction on each result block. For array-type data, it extracts statistical information such as shape, data type, number of valid values, minimum value, maximum value, mean, and standard deviation; for character-type results, it recursively generates compressed summaries. Then, the diagnostic analysis tool organizes the user's original input, task intent, the actual tool sequence called by the planning module, validation results, and key result summaries into a unified payload, which is then used by a large language model to generate natural language analysis text. If the system is in local minimalist mode or the diagnostic large model mode is disabled, the tool can also degenerate into a rule-based non-large model summary generation method.
[0154] The tool's output includes at least diagnostic analysis text, a user-oriented summary, the original intent, user input, and key statistical results. When dealing with seasonal background wind fields or climatological analyses, the tool can also load pre-stored climate description texts on demand, comparing current observations with a seasonal reference background to provide a judgment on consistency or anomalies.
[0155] According to embodiments of this application, the aforementioned predefined tools and target tools can be linked and operated in a chain-like manner driven by shared memory. For example, the FPI transmittance curve fitting tool first generates a dual-channel fitting curve result, and the response function calculation tool reads this result and generates a response function; the wind speed profile inversion tool and the all-night wind field construction tool then read the response function and the original photon count data to complete the line-of-sight wind speed calculation; the signal-to-noise ratio calculation tool provides signal quality and effective height range to correct the usable range of subsequent wind speed results; the horizontal wind vector synthesis tool generates horizontal wind speed and wind direction based on the wind speed results in both the EW and NS directions; and the diagnostic analysis tool finally integrates all intermediate results and verification results to form a summary analysis output for the user. Through the above-mentioned standard tool calling sequence and this standardized input / output and intermediate result reuse method, the entire predefined toolset and target tools constitute a complete technology chain from raw observation data to high-level diagnostic conclusions.
[0156] According to the embodiments of this application, compared with related technologies, the intelligent agent system of this application has the following advantages: 1) It transforms lidar data analysis from "manual script modification" to "natural language + constrained tool execution", significantly reducing the cost of repeated development; 2) It retains the core algorithms driven by physics, such as FPI fitting, response function construction, wind speed inversion, and error calculation, making the calculation results auditable, traceable, and reproducible; 3) By sharing memory states and reusing intermediate physical variable results, it can continuously analyze in multiple rounds of interaction without repeatedly recalculating from the original data, improving efficiency; 4) Through structured planning, verification, and limited repair mechanisms, it reduces the risks of parameter illusion, step omissions, and interface mismatch when large models directly participate in scientific calculations; 5) It can dynamically expand new functions when predefined tools are insufficient, thereby supporting new tasks such as comparative analysis, resampling, composite plotting, and gravity wave diagnosis; 6) It is applicable to different models and structures of Doppler lidar and other scientific instruments with clear physical processing chains and modular numerical processes, and has good portability.
[0157] According to embodiments of this application, one objective of this application is to provide a tool-enhanced large language model intelligent agent system for incoherent Doppler lidar data processing, in order to solve the problems in related technologies such as scattered data processing scripts, difficulty in functional expansion, high cost of repeated development, unstable natural language interaction, and lack of execution control and reproducibility guarantee for general intelligent agent scientific results.
[0158] This application further aims to: 1) encapsulate modules such as data preprocessing, wind field inversion, error calculation, data fitting, mapping, and diagnostic analysis in the field of lidar into domain-specific tools that can be registered, invoked, and audited; 2) save the calculated intermediate physical results through a shared memory module, so that subsequent user requests can be further refined based on existing results, rather than re-running from the original data each time; 3) convert natural language requests into a constrained scientific computing workflow through modules such as intent detection, planning, execution, verification and repair, and tool generation; and 4) improve the automation, scalability, and interaction efficiency of incoherent Doppler lidar data processing while ensuring the controllability of the physical algorithm processing main chain.
[0159] According to embodiments of this application, this application provides a method for efficiently and quickly processing signals, adjusting radar parameters, and responding to user requests using an artificial intelligence virtual assistant (AI Agent) in a LiDAR system. This method runs on a computing platform connected to an incoherent Doppler LiDAR data source, utilizing a large language model (LLM) as a workflow orchestration controller, combined with specialized algorithmic tools and long short-term memory (LSM) mechanisms, to automatically generate wind field inversion results, error assessment results, graphical results, and analytical conclusions from the input of a natural language description task. The LLM used here can be deployed in the cloud or run locally.
[0160] According to embodiments of this application, a technical solution is implemented that combines a Large Language Model (LLM)-driven agent with domain-specific knowledge through a constrained execution control mechanism to automatically complete incoherent Doppler lidar data processing, inversion, visualization, diagnostic analysis, and voice-controlled iterative interaction. This technical solution balances the accuracy of physical computation with the flexibility of agent scheduling, effectively reducing the burden of manual processing, improving analysis efficiency and result reproducibility, and possessing the potential for application expansion to data processing tasks of similar scientific instruments.
[0161] Figure 3 A flowchart illustrating the operation of an intelligent agent system based on Doppler lidar data according to another embodiment of this application is shown.
[0162] like Figure 3 As shown, the workflow of this embodiment includes: obtaining the necessary inputs to the intelligent agent system: user requirements 301, radar detection data 302, and formulas and domain knowledge 303; the inputs undergo an automatic processing flow by the radar intelligent agent 304, and return text output results 305, chart output results 306, and numerical output results 307.
[0163] The method and intelligent agent system of this application are applied to the automated processing of data from wind-measuring lidar, as shown in the following example:
[0164] Figure 4 The illustration shows a schematic diagram of the image output result of an intelligent agent system based on Doppler lidar data according to an embodiment of this application.
[0165] 1. Inversion of wind speed data and dynamic data processing:
[0166] The user inputs: "Calculate the wind speed profile and error bars for the direction on date xx." The intelligent agent system automatically retrieves the FPI dual-channel scan data for the observation day, relevant radar parameter data, and corresponding dual-channel photon count data. The system first identifies that the task can be completed using existing tools, then sequentially calls the following tools: FPI fitting tool, response function calculation tool, wind speed inversion tool, and error estimation tool, writing the results to a shared state and automatically completing the necessary algorithms and steps for wind speed inversion. The final output includes a wind speed profile, error bar chart, and text summary. See image output below. Figure 4 (a) to (c) in the text. Figure 4 In the figure, (a) to (c) are respectively the FPI standard etalon transmittance fitting curve, the inverted wind profile, and the inverted wind field map that changes over time.
[0167] Based on this, the intelligent agent system can continue to perform further automatic data processing on the output results according to subsequent user instructions, such as drawing the time-height distribution of the radial wind field, extracting wind speed at a specified height layer, calculating average wind speed, and denoising the wind field.
[0168] 2. Generate new tools based on domain knowledge: Diagnosing gravity waves
[0169] The user inputs "Perform gravity wave analysis on the wind field for date xx". The intelligent agent system first completes the inversion and construction of the wind field using existing tools. Then, the system automatically searches for and reads documents containing gravity wave processing steps and formulas, and generates a gravity wave analysis tool. This tool performs background subtraction, vertical bandpass filtering, time high-pass filtering, two-dimensional FFT spectral analysis, and wavelet analysis on the wind field, outputting the dominant period, vertical wavelength, and graphical results. See image output below. Figure 4 (d) in the middle. Figure 4 (d) in the figure is a 2DFFT gravity wave analysis plot.
[0170] This embodiment illustrates that this application is not limited to existing data processing frameworks, but can also handle entirely new task requirements. The intelligent agent can perform arbitrary knowledge and step details searches within all task scopes contained in the document library, and combine existing algorithms in the tool library as case references to automate data processing for new task requirements, outputting calculation results of complex physical laws and user-friendly visualization results.
[0171] 3. Data processing for migration to coherent wind lidar:
[0172] The user inputs "Perform wind field inversion and analysis on coherent wind lidar data for date xx". The intelligent agent system first identifies that the current task object has changed from incoherent wind lidar to coherent wind lidar, and further determines that the existing toolset, such as FPI fitting and response function construction algorithms specific to incoherent wind lidar, are no longer directly applicable. Subsequently, based on the already integrated coherent wind lidar domain documents, processing flow descriptions, and data format definitions, the system automatically generates or calls a new toolchain suitable for coherent wind lidar, reads, preprocesses, performs spectrum analysis, peak extraction, radial wind inversion, and quality control on the original spectrum matrix, time series signal, or radial wind observation data (i.e., implements the wind speed inversion method provided in this application), and writes the results into the shared memory module.
[0173] This embodiment illustrates that this application is not limited to data processing for a single fixed instrument, but rather can migrate and reconstruct the analysis process by reading relevant domain knowledge, automatically matching data structures and processing steps when the type of observation instrument is changed, thereby enabling extended applications to data processing tasks for different types of scientific instruments.
[0174] 4. Generate diagnostic results including trends, correlation coefficients, or areas of abnormal enhancement / decrease:
[0175] When a user requests an analysis of the relationship between wind field and seasonal fluctuations, the intelligent agent system will retrieve pre-stored seasonal average background wind field, monthly average / seasonal average statistical results, or long-term climatological reference data. It will then compare the wind field to be analyzed with the corresponding seasonal background, calculate wind speed deviation, anomaly intensity, and their variation characteristics with altitude and time, and output the analysis results of the wind field relative to the seasonal fluctuation background, as well as a text summary.
[0176] In this embodiment, the intelligent agent system can not only automate the equipment processing flow, but also automatically carry out multi-result comparison, correlation analysis and high-level diagnosis based on the memory module and historical result reuse mechanism, thereby supporting users to further study the characteristics of wind field evolution and its seasonal background relationship.
[0177] It should be noted that since the tool generation module 230 can generate new target tools, the intelligent agent system based on Doppler lidar data provided in this application embodiment is not limited to wind speed inversion. For example, it can also be used to invert temperature when the natural language request, structured task description, and pre-defined file are all temperature-related content. Temperature inversion is merely an example and is not intended to limit the application scenarios that the intelligent agent system based on Doppler lidar data provided in this application embodiment can be applied to.
[0178] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions. Those skilled in the art will understand that the features recited in the various embodiments and / or claims of this application can be combined and / or combined in various ways, even if such combinations or combinations are not expressly stated in this application. In particular, the various embodiments and / or features described in the claims of this application may be combined and / or combined in various ways without departing from the spirit and teachings of this application. All such combinations and / or combinations fall within the scope of this application.
[0179] The embodiments of this application have been described above. However, these embodiments are merely illustrative and not intended to limit the scope of this application. Although various embodiments have been described above, this does not mean that the measures in the various embodiments cannot be used advantageously in combination. The scope of this application is defined by the appended claims and their equivalents. Various substitutions and modifications can be made by those skilled in the art without departing from the scope of this application, and all such substitutions and modifications should fall within the scope of this application.
Claims
1. A wind speed inversion method based on Doppler lidar data, wherein, include: The transmittance data of the two channels corresponding to the two Fabry-Perot interferometers in the radar system were fitted using the dual Cauchy model to obtain two transmittance functions. The Rayleigh scattering spectrum is calculated based on the laser output of the radar system and the scattered light collected by the radar system. The scattered light is obtained by Rayleigh scattering caused by the interaction between the laser emitted by the radar system and atmospheric molecules. The Rayleigh scattering spectrum is convolved with the two transmittance functions to obtain the first light intensity function and the second light intensity function, and the initial response function is determined based on the first light intensity function and the second light intensity function. The initial response function is processed using an exponential function to obtain the response function; The wind speed is inverted by processing the response function using the Doppler translation formula.
2. The method according to claim 1, wherein, The step of determining the initial response function based on the first light intensity function and the second light intensity function includes: Subtracting the first light intensity function from the second light intensity function yields the difference function; Add the first light intensity function and the second light intensity function to obtain the summation function; The initial response function is determined based on the difference function and the summation function.
3. The method according to claim 1, wherein, The method further includes: Based on the noise intensity and light intensity functions corresponding to each Fabry-Perot interferometer, determine the signal-to-noise ratio function corresponding to each Fabry-Perot interferometer; Multiply the first light intensity function and the second light intensity function to obtain the product function; Add the first light intensity function and the second light intensity function to obtain the summation function; The overall signal-to-noise ratio (SNR) function is obtained by using the product function, the summation function, and the SNR functions corresponding to the two Fabry-Perot interferometers.
4. The method according to claim 3, wherein, The process of obtaining the overall signal-to-noise ratio function based on the product function, the summation function, and the signal-to-noise ratio functions corresponding to the two Fabry-Perot interferometers includes: The first calculation result is obtained by multiplying the predetermined value by the product function and then dividing by the square of the summation function. The second calculation result is obtained by adding the signal-to-noise ratio functions corresponding to the two Fabry-Perot interferometers and taking the square root. The total signal-to-noise ratio function is obtained by multiplying the first calculation result and the second calculation result and taking the reciprocal.
5. The method according to claim 3, wherein, The method further includes: The error function is obtained based on the sensitivity of the total signal-to-noise ratio function and the response function, the product function, and the summation function; The confidence level of the retrieved wind speed is determined based on the error function.
6. The method according to claim 5, wherein, The error function, derived from the total signal-to-noise ratio function, the sensitivity of the response function, the product function, and the summation function, includes: The first calculation result is obtained by multiplying the predetermined value by the product function and then dividing by the square of the summation function. The error function is obtained by multiplying the first calculation result by the reciprocal of the total signal-to-noise ratio function and the reciprocal of the sensitivity of the response function.
7. An intelligent agent system based on Doppler lidar data, wherein, include: The intent detection module is used to convert the natural language request corresponding to the inverted wind speed into a structured task description by using a large language model, based on the intent recognition prompt word template and the historical information stored in the shared memory module. The historical information includes the names of various tools in the tool library and the dialogue context. The planning module is used to convert the structured task description, natural language request, and corresponding tools in the tool library into a tool execution plan based on the planning prompt word template, when it is determined from the structured task description that the tools in the tool library can fulfill the natural language request; or, when it is determined from the structured task description that the tools in the tool library cannot fulfill the natural language request, it converts the structured task description, natural language request, corresponding tools in the tool library, and the target tool output by the tool generation module into a tool execution plan based on the planning prompt word template. The tool generation module is used to generate the target tool by using a large language model when it is determined from the structured task description that the tools in the tool library cannot fulfill the natural language request. The target tool is generated based on the tool generation prompt template, the natural language request, the specification of the target tool in the structured task description, and the pre-defined documents. The target tool includes a tool that obtains the transmittance function, the response function, and the wind speed by the method according to any one of claims 1 to 6. The tool execution module is used to sequentially call the corresponding tools according to the tool call order included in the tool execution scheme, and obtain the execution result corresponding to the inverted wind speed.
8. The system according to claim 7, wherein, The system also includes: The verification and repair module is used to convert the execution result into exception description information based on the verification prompt template when the execution result indicates failure; and to convert the exception description information into tool repair constraint information based on the code repair prompt template. When the execution result indicates success, the module uses the large language model to transmit the information corresponding to wind speed in the execution result to the interaction module. The interaction module is used to receive natural language requests corresponding to the inverted wind speed; if the execution result indicates that the execution failed, it displays an exception description; if the execution result indicates that the execution was successful, it displays information corresponding to the execution result. The tool generation module is also used to regenerate the target tool based on the tool repair constraint information.
9. The system according to claim 8, wherein, The system also includes: a data access module: used to read the data scanned by the radar system for inverting wind speed based on the structured task description and natural language request using a large language model; The tool execution module is also used to process the data scanned by the radar system for inversion wind speed using corresponding tools, and obtain the execution result corresponding to the inversion wind speed.
10. The system according to claim 9, wherein, The system also includes a shared memory module for storing the natural language request, the execution result, the names of various tools in the tool library, and the data scanned by the radar system for inverting wind speed.