PUSCH dual-path closed loop test and fault range determination method and system
Patent Information
- Application Number
- CN202611526336.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-09-29
- Publication Date
- 2026-10-30
AI Technical Summary
[0003]然而,当前端到端测试模式存在明显技术缺陷,不同链路异常的内部故障机理存在差异,如IQ数据缺失、结果缓冲提前覆盖等不同问题,最终往往呈现出相同的测试失败现象
[0015]上述PUSCH双路径闭环测试与故障范围判定方法及系统,通过测试主机构建包含相互对应的PUSCH控制、IQ以及参考TB的同一组PUSCH测试记录作为路径输入,分别设置参考TB回填路径与IQ正常解调路径两条独立处理路径,在IQ正常解调路径关闭时由物理层处理装置直接读取参考TB作为实际TB送入公共结果段,在参考TB回填路径关闭时则按完整链路完成IQ数据的前端处理与解调译码得到实际TB送入公共结果段,再对两条路径经由公共结果段返回的结果开展校验并依据两条路径的校验结果和路径覆盖差异确定PUSCH测试的候选故障范围,能够摆脱仅依靠端到端最终测试结果开展故障判断的局限,其中参考TB回填路径规避IQ发送、前端处理、设备间数据传输等链路环节的影响,IQ正常解调路径覆盖完整长链路处理流程两条路径的结果组合补充故障溯源所需的信息维度,可区分出IQ数据缺失、结果缓冲提前覆盖等内部机理不同但故障表象相近的测试失败现象,实现对故障细分环节的精准定位,进而降低PUSCH测试场景下的故障排查难度。
Smart Images

Figure CN123020323A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of uplink physical layer testing and fault diagnosis technology for satellite base stations, and in particular to a method and system for PUSCH dual-path closed-loop testing and fault range determination. Background Technology
[0002] In the performance testing process of the Physical Channel (PUSCH) used by existing 5G terminals to send uplink data to satellite base stations, the test signal needs to undergo complete long-link processing: the test host first issues PUSCH control, then synchronously pushes the corresponding IQ (in-phase / quadrature) data to the front-end processing device, which then transmits it to the physical layer processing device after front-end processing. The physical layer processing device completes the demodulation and decoding operation, and finally sends back the CRC (Cyclic Redundancy Check) status and actual TB data to the test host to complete the test. The entire test link includes multiple stages such as IQ transmission, front-end processing, inter-device data transmission, demodulation and decoding, and result feedback. An abnormality in any stage may lead to terminal failure results such as CRC abnormality, TB data mismatch, or test timeout.
[0003] However, the current end-to-end testing model has significant technical flaws. The internal fault mechanisms of different links vary, such as missing IQ data and premature overwriting of result buffers, often resulting in the same test failure phenomenon. Relying on the final end-to-end test results can only determine the overall operating status of the entire link, but cannot accurately pinpoint the specific fault location. The effective information dimensions for fault tracing are insufficient, greatly increasing the difficulty of troubleshooting PUSCH tests. Summary of the Invention
[0004] Therefore, it is necessary to provide a method and system for PUSCH dual-path closed-loop testing and fault range determination to address the above-mentioned technical problems.
[0005] A method for PUSCH dual-path closed-loop testing and fault range determination is disclosed. The method is applied to a PUSCH dual-path closed-loop testing and fault range determination system. The system includes a mutually exclusive reference TB backfill path, an IQ normal demodulation path, and a common result segment shared by the two paths. The reference TB backfill path is composed of a test host and a physical layer processing device connected in series. The IQ normal demodulation path is composed of a test host, a front-end processing device, and a physical layer processing device connected in series sequentially. The method includes: The test host establishes the same set of PUSCH test records as path input; wherein, the PUSCH test records consist of corresponding PUSCH controls, IQ, and reference TBs; Under the condition that the IQ normal demodulation path is closed, the reference TB backfilling process is performed along the reference TB backfilling path, including the physical layer processing device directly searching and reading the reference TB in the path input as the actual TB and sending it into the common result segment. With the reference TB backfill path closed, IQ normal demodulation is performed along the IQ normal demodulation path, including front-end processing and demodulation decoding of the IQ in the path input through the front-end processing device and the physical layer processing device in sequence, forming the actual TB and sending it to the common result segment. Verify whether the results returned by the two paths through the common result segment meet expectations. If the returned results are reliable and the execution conditions of the two paths are comparable, determine the candidate fault range of the PUSCH test based on the verification results of the two paths and the path coverage difference.
[0006] In one embodiment, the execution order of the reference TB backfill path and the IQ normal demodulation path can be adjusted; before executing either path, the input source corresponding to the other path is closed and the closure is confirmed to be complete.
[0007] In one embodiment, closing the IQ normal demodulation path is defined as the test host closing IQ transmission; closing the reference TB backfill path is defined as the test host publishing a reference resource cancellation status after the test host completes the result waiting, and the physical layer processing device returning a confirmation that the reference resource cancellation is complete.
[0008] In one embodiment, the common result segment shared by the reference TB backfill path and the IQ normal demodulation path is defined as the result buffering, result packetization, publishing, transmission, reception and verification process that the two paths jointly go through after the corresponding actual TB source has been determined.
[0009] In one embodiment, the method further includes: before each path is executed, the test host establishes a result association record. The result association record is used to store pairs of test identifiers, test generation numbers, path identifiers, PUSCH objects, expected TB lengths, and waiting periods. When the result returned by any path through the common result segment does not carry an internal identifier, the test host establishes a unique mapping based on one or more visible identity fields that can uniquely attribute the returned result to the corresponding result association record. The visible identity fields include one or more of the following: system frame number, timeslot number, handle, terminal identifier, and retransmission process number. The result returned by the path through the common result segment includes a status result and a data result. The status result represents the CRC status of demodulation and decoding in the IQ normal demodulation path and the predefined reference resource processing status in the reference TB backfilling path. The data result represents the actual TB. The test generation number is defined as a number that changes with each test, result, or buffer content update and is used to distinguish between new and old data and isolate late results. Upon receiving a status or data result returned via a common result segment from any path, the test host reads the result identity of the currently returned result and queries the result association record to determine if the current returned result uniquely matches a result association record. If not, it is registered as no match or ambiguous matching, and the current returned result is not written to other tests. If yes, it determines whether the uniquely matching result association record is closed. If closed, the current returned result is written to the closed historical result association record and does not participate in the current test. If not closed, it determines the message type of the current returned result. If it is a status result, the status result is written to the result association record. If it is a data result, it determines whether the address, length, and operation boundary of the actual TB are valid. If invalid, the reading of the actual TB is stopped and boundary failure is registered. If valid, the actual TB and corresponding data are read. The system retrieves the test generation number, copies the complete actual TB, and reads the test generation number again after forming a copy of the actual TB. Only when the test generation numbers read before and after are consistent is the actual TB copy accepted and the result confirmed to have been read, and subsequent actual TB copies are only used for expected verification. If the test generation numbers read before and after are inconsistent, the actual TB copy is discarded and a write conflict is recorded. After writing the status result to the result association record or accepting the actual TB copy and confirming that the result has been read, the system further determines whether the expected message is complete. If it is incomplete and has not timed out, the system continues to wait for another type of result in the current result association record. If it is incomplete and has timed out, the system lists the missing items and records it as incomplete execution. If it is complete, the system enters the expected verification process, that is, it verifies whether the results returned by the two paths through the common result segment meet the expectations.
[0010] In one embodiment, the process of verifying whether the results returned by the two paths via the common result segment meet expectations includes: The test host verifies the reliability of the results returned by the two paths through the common result segment according to the pre-saved rules, and verifies whether the status result, TB length and TB content in the returned results are consistent with the expected content. If the returned results are reliable and completely consistent with the expected content, the verification result is recorded as conforming to expectations; if the returned results are reliable but differ from the expected content, the verification result is recorded as deviating from expectations.
[0011] In one embodiment, the candidate fault range for the PUSCH test is determined based on the verification results of the two paths and the path coverage difference, including: Based on the verification results of the reference TB backfill path and the IQ normal demodulation path, a candidate fault range is obtained by combining them. Specifically, when the verification results of both paths meet expectations, both paths and the common result segment are considered to have met expectations and are not included in the candidate fault range. When the verification result of the reference TB backfill path meets expectations but the verification result of the IQ normal demodulation path deviates from expectations, the IQ transmission, front-end processing, inter-device transmission, and demodulation / decoding in the IQ normal demodulation path are included in the candidate fault range. If the results returned by the common result segment of both paths show a clear anomaly after merging, the common result segment is also included in the candidate fault range. When the verification result of the reference TB backfill path deviates from expectations but the verification result of the IQ normal demodulation path meets expectations, the reference resource publishing, PUSCH object mapping, and reference TB selection in the reference TB backfill path are included in the candidate fault range. When the verification results of both paths deviate from expectations, both paths and the common result segment are included in the candidate fault range, and the common result segment is given a higher inspection priority. For the formed candidate fault range, a range narrowing process is also performed based on the coverage difference between the two paths and the stage evidence. This includes excluding path stages with positive evidence that the input, processing status, and output are all correct; using the path stage with the first clear failure evidence along the processing order as the starting boundary of the candidate fault range; retaining path stages with missing evidence, and stopping range narrowing when evidence conflicts occur, until the fault range determination result of the PUSCH test is obtained. The fault range determination result includes the candidate path stage, the stage evidence used, and the reason for not excluding the candidate path stage.
[0012] In one embodiment, before determining the candidate fault range for the PUSCH test based on the verification results of the two paths and the path coverage difference, the method further includes: Check the original TB, control parameters, input sources, common result segments, result verification rules, result identity, and actual TB of the reference TB backfill path and the normal IQ demodulation path. Only combine the verification results if the two paths come from the same original TB, use the same control parameters in terms of affecting PUSCH processing, have mutually exclusive input sources, have consistent common result segments and result verification rules, have unique result identities, and have stable actual TBs. Otherwise, save the verification results of the two paths separately and give the reasons for incomparability. When the two paths occupy different time slots, save the correspondence between the PUSCH control and IQ of each actual time slot and the same original TB.
[0013] In one embodiment, the method further includes an exception handling step, comprising: If the PUSCH control, IQ, or reference TB is missing in the PUSCH test record, or if the correspondence between the three is missing, the test shall be terminated in the preparation phase. If the test host sends IQ during the execution of the reference TB backfill path, or if reference TB backfill still exists during the execution of the normal IQ demodulation path, immediately stop the execution of the current path and cancel the cross-input. When the publication or confirmation of the revocation status of the reference resource times out, the IQ misses the sending time, or the results are not all received, the last completed path stage is recorded, and the corresponding path is marked as incomplete; no new path may be started before the revocation confirmation is completed. When the status result and data result arrive in reverse order, it is not considered an anomaly; when the same result arrives repeatedly, only one copy is retained; when the same result has different contents or when there is a change in the test generation number before and after copying the actual TB, the result is stopped and recorded as undeterminable; when the address, length, or operation boundary of the actual TB is invalid, causing the actual TB to be unreadable, the reading of the actual TB is stopped and the corresponding path is recorded as incomplete execution. After a path times out or is canceled, the test host closes the result association record, but retains the message mapping during the late isolation period; the original result buffer can only be reused when writing stops or DMA is completed; if confirmation cannot be made temporarily, it remains isolated and is not handed over to the next test.
[0014] A PUSCH dual-path closed-loop testing and fault range determination system is disclosed. The system includes a test host, a front-end processing unit, and a physical layer processing unit. The test host and the physical layer processing unit constitute a reference TB backfill path, and the test host, the front-end processing unit, and the physical layer processing unit constitute an IQ normal demodulation path. The reference TB backfill path and the IQ normal demodulation path are mutually exclusive and share a common result segment. The test host is used to establish a PUSCH test record consisting of corresponding PUSCH control, IQ, and reference TB. When IQ transmission is closed, the physical layer processing unit is used to select the reference TB as the actual TB. When the reference TB backfill relationship is closed, the front-end processing unit and the physical layer processing unit are used to process the IQ sequentially to form the actual TB. The actual TBs from the two sources enter the common result segment after being determined. The test host is also used to verify the results returned by the two paths through the common result segment, and when the returned results are reliable and the execution conditions of the two paths are comparable, the candidate fault range of the PUSCH test is determined based on the verification results of the two paths and the path coverage difference.
[0015] The aforementioned PUSCH dual-path closed-loop testing and fault range determination method and system constructs a set of PUSCH test records containing corresponding PUSCH control, IQ, and reference TB as path inputs using a test host. Two independent processing paths are set: a reference TB backfilling path and an IQ normal demodulation path. When the IQ normal demodulation path is closed, the physical layer processing device directly reads the reference TB as the actual TB and sends it to the common result segment. When the reference TB backfilling path is closed, the front-end processing and demodulation decoding of the IQ data are completed according to the complete link to obtain the actual TB, which is then sent to the common result segment. Finally, the results returned by the two paths through the common result segment are verified. Based on the verification results and path coverage differences of the two paths, the candidate fault range of PUSCH test is determined. This can overcome the limitation of relying solely on the end-to-end final test results for fault judgment. The reference TB backfill path avoids the influence of link links such as IQ transmission, front-end processing, and inter-device data transmission. The normal IQ demodulation path covers the complete long link processing flow. The combination of the results of the two paths supplements the information dimensions required for fault tracing. It can distinguish test failure phenomena with different internal mechanisms but similar fault manifestations, such as missing IQ data and premature coverage of result buffer. This enables accurate positioning of the fault sub-links, thereby reducing the difficulty of fault troubleshooting in PUSCH test scenarios. Attached Figure Description
[0016] Figure 1 This is a schematic diagram of the core logic of the PUSCH dual-path closed-loop test and fault range determination method in one embodiment. Figure 2 This is a schematic diagram of the PUSCH dual-path closed-loop execution timing in one embodiment; Figure 3 This is a flowchart illustrating the process of a single path from result matching to verification in one embodiment. Figure 4 This is a schematic diagram of the structure of a PUSCH dual-path closed-loop test and fault range determination system in one embodiment. Detailed Implementation
[0017] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0018] In one embodiment, a method for PUSCH dual-path closed-loop testing and fault range determination is provided. This method is applied to a PUSCH dual-path closed-loop testing and fault range determination system. The system includes a mutually exclusive reference TB backfill path, an IQ normal demodulation path, and a common result segment shared by the two paths. The reference TB backfill path is composed of a test host and a physical layer processing device connected in series. The IQ normal demodulation path is composed of a test host, a front-end processing device, and a physical layer processing device connected in series sequentially. The method includes the following steps: The test host establishes a set of PUSCH test records as path inputs. Each PUSCH test record consists of corresponding PUSCH controls, IQs, and reference TBs. The reference TB is the raw data used to generate the IQ. The IQ represents the in-phase and quadrature sampled data of the uplink wireless waveform and is the input to the normal receive chain. The TB is a data block carried by a single PUSCH transmission; the correct data saved before the test is called the reference TB, and the data returned by the device after processing is called the actual TB. Under the condition that the normal IQ demodulation path is closed, reference TB backfilling processing is performed along the reference TB backfilling path, including processing from the physical layer. The processing unit directly searches for and reads the reference TB in the path input as the actual TB and sends it to the common result segment. Under the condition that the reference TB backfill path is closed, IQ normal demodulation is performed along the IQ normal demodulation path, including the front-end processing and demodulation decoding operations of the IQ in the path input are completed sequentially through the front-end processing unit and the physical layer processing unit to form the actual TB and send it to the common result segment. The results returned by the common result segment of the two paths are verified to see if they meet the expectations. When it is confirmed that the returned results are reliable and the execution conditions of the two paths are comparable, the candidate fault range of the PUSCH test is determined according to the verification results of the two paths and the path coverage difference.
[0019] It should be understood that the core logic of this scheme is as follows: Figure 1As shown, the same PUSCH test content, including corresponding control parameters, IQ resources, and a reference TB, is divided into two paths. Path A is responsible for performing reference TB backfilling, and Path B is responsible for performing normal IQ demodulation. The inputs and coverage of the two paths are shown in Table 1. After passing through their respective dedicated processing sections, the two paths enter a common result path and, after verifying their corresponding results, are finally combined to form a candidate fault range. Path B can be executed in a single run, or in continuous time slots or pipelined execution. This execution method is implemented internally within Path B. The input mutual exclusion, common result section, and evidential range determination relationships between the two paths remain consistent. Based on the above coverage differences, Path A avoids IQ transmission, front-end processing, inter-device transmission, and demodulation / decoding stages, while Path B covers the complete business processing chain. By comparing the verification results of the two paths, test failure scenarios with different internal fault mechanisms but similar manifestations can be distinguished, narrowing down the candidate fault range and reducing the cost of fault location and troubleshooting during PUSCH performance testing.
[0020] Table 1. Input and Coverage of Dual Path
[0021] In one embodiment, the execution order of the reference TB backfill path and the IQ normal demodulation path can be adjusted. Figure 2 A complete test procedure is presented, in which the reference TB backfill path is executed first, followed by the IQ normal demodulation path. Before executing either path, the input source corresponding to the other path is closed and confirmed to be closed completely. This avoids cross-contamination of input data between different paths, prevents interference from the incomplete completion of the previous path to the processing of the subsequent path, avoids problems such as data disorder in the common result path and abnormal overwriting of the result buffer caused by improper input switching timing, ensures that the processing flow of the two paths is independent of each other, reduces the risk of false pass, false failure and error range determination, and provides a stable data foundation for subsequent determination of the fault range based on the combination of dual-path verification results. Figure 2 In the TESTMAC host, CPU (TESTMAC main controller), FPGA (PHY), and DSP (PHY) represent the test host, front-end processing device, and physical layer processing device, respectively. The TESTMAC main controller is the control program running on the test host, which is responsible for preparing the test content, starting two paths, receiving results, and outputting the candidate fault range. FPGA is Field Programmable Gate Array, and DSP is Digital Signal Processor.
[0022] In one alternative implementation, the same application image is launched twice to execute the same PUSCH test case. Different parameters are input for selecting the reference TB backfill path and the IQ normal demodulation path in each launch, and only the input source corresponding to the selected path is enabled in each launch. Both executions use corresponding PUSCH controls, IQ, and the same original TB; except for the path selection parameters and the actual execution time slot, the same control parameters are used to affect PUSCH processing. Each execution saves the paired test identifiers, path identifiers, actual execution time slots, and single-path verification results. After both executions, the results of the two paths are associated based on the paired test identifiers, and a combined judgment is made when the returned results are reliable and the execution conditions are comparable. The execution order of the two paths can be adjusted.
[0023] In one embodiment, closing the normal IQ demodulation path is defined as the test host closing IQ transmission; closing the reference TB backfilling path is defined as the test host publishing a reference resource revocation status (including revocation of the reference TB and its backfilling relationship) after the test host completes the result waiting, and the physical layer processing device returns a confirmation that the reference resource revocation is complete. Specifically, the reference resource (i.e., the reference TB) can be published through double buffering, version tables, one-time resource packages, or objects with leases.
[0024] In one embodiment, the common result segment shared by the reference TB backfill path and the IQ normal demodulation path is defined as the result buffering, result packetization, publishing, transmission, reception, and verification process that both paths undergo after the corresponding actual TB source has been determined. Specifically, the convergence point of the two paths is located after the physical layer processing device determines the PUSCH object and its actual TB. From this convergence point, the two paths use the same result buffering rules, result descriptions, publishing order, return interface (RX_DATA), and host verification methods in the common result segment, without setting a dedicated return exit for the reference TB backfill path. Thus, the output differences between the two paths mainly come from the dedicated processing segment before the convergence point, which can reduce the interference of output-side configuration and verification logic differences on the combination determination, and maintain the reference TB backfill path's role in comparing the common result segment.
[0025] In one embodiment, the method proposed in this application further includes: before each path is executed, the test host establishes a result association record. The result association record is used to store pairs of test identifiers, test generation numbers, path identifiers, PUSCH objects, expected TB lengths, and waiting periods. When the result returned by any path through the common result segment does not carry an internal identifier, the test host establishes a unique mapping based on one or more visible identity fields that can uniquely attribute the returned result to the corresponding result association record. The visible identity fields include one or more of the following: system frame number, timeslot number, handle, terminal identifier, and retransmission process number. Regardless of the order in which the status result and data result arrive, the result association record is queried first. The result returned by the path through the common result segment includes status result and data result. The status result represents the CRC status of demodulation decoding in the IQ normal demodulation path and the predefined reference resource processing status in the reference TB backfilling path. The data result represents the actual TB. The test generation number is defined as a number that changes with each test, result, or buffer content update and is used to distinguish between new and old data and isolate late results.
[0026] Upon receiving the status or data result returned via the common result segment from any path, the test host executes the process from result matching to TB verification, such as... Figure 3As shown, the process includes: reading the result identity of the currently returned result and querying the result-related records to determine whether the currently returned result uniquely matches a result-related record; if no result-related record is matched, it is recorded as no match; if two or more result-related records are matched, it is recorded as a match ambiguity; results with no match or match ambiguity are not written to other tests. If there is a unique match, it is determined whether the uniquely matching result-related record has been closed; if it has been closed, the current returned result is written to the closed historical result-related record and is not included in the current test; if it has not been closed, the message type of the current returned result is determined. If the result is a status result, it is written to the result association record. If the result is a data result, the address, length, and operation boundaries of the actual TB are checked for validity. If invalid, the reading of the actual TB is stopped and boundary failure is registered. If valid, the actual TB and the corresponding test generation number are read, the complete actual TB is copied, and the test generation number is read again after the copy is formed. Only when the test generation numbers read in the two readings are consistent is the actual TB copy accepted and the result confirmed to have been read. Subsequently, only the accepted actual TB copy is used for expected verification. If the test generation numbers read in the two readings are inconsistent, the actual TB copy is discarded and a write conflict is registered. After writing the status result to the result association record or accepting the actual TB copy and confirming that the result has been read, the expected message is further checked for completeness. If incomplete and not timed out, the process continues to wait for another type of result in the current result association record. If incomplete and timed out, missing items are listed and recorded as incomplete execution. If complete, the expected verification process begins. This result association record ends after the reference TB backfill relationship has been revoked, the result record has been closed, and the relevant buffers have been released or isolated. The next test will use a new test generation and message mapping. The results of the previous round of late arrivals will only be entered into the original history and will not change the conclusion of the new round.
[0027] Specifically, the actual TB can be copied to the test host before sending an acknowledgment that "results have been read," or it can be kept stable through buffer ownership, reference counting, or leases with update numbers. Status results and data results can be returned separately or in combination, and the result message or local mapping is responsible for restoring them to unique paired test, execution path, and PUSCH objects.
[0028] It should be understood that the dual verification mechanism, which generates an actual TB copy by replication and performs a second consistency comparison of the test generation numbers before and after the copy is read, effectively solves the problems of incomplete TB data reading, data tampering, and data mismatch caused by dynamic refresh of result buffering, asynchronous data overwriting, and link timing offset during the testing process. This ensures that the TB data finally used for the expected verification is stable, complete, and valid data that has not been tampered with by subsequent operations.
[0029] In one embodiment, the process of verifying whether the results returned by the two paths via the common result segment meet expectations includes: The test host verifies the reliability of the results returned by the two paths through the common result segment according to pre-saved rules, and verifies whether the status result, TB length, and TB content in the returned results are consistent with the expected content. If the returned results are reliable and completely consistent with the expected content, the verification result is recorded as "compliant with expectations"; if the returned results are reliable but differ from the expected content, the verification result is recorded as "deviation from expectations". In addition, if PUSCH control, input, result waiting, or TB copying is incomplete, it is recorded as "execution incomplete"; if there is identity ambiguity or evidence conflict, it is recorded as "cannot be determined". The latter two types of conclusions do not enter the subsequent fault scope determination, but directly output the final completion stage, missing results, or conflict reasons.
[0030] In one embodiment, the candidate fault range for the PUSCH test is determined based on the verification results of the two paths and the path coverage difference, including: Based on the verification results of the reference TB backfill path and the IQ normal demodulation path, a candidate fault range is obtained by combining them. Specifically, when the verification results of both paths meet expectations, both paths and the common result segment are considered to have met expectations and are not included in the candidate fault range. When the verification result of the reference TB backfill path meets expectations but the verification result of the IQ normal demodulation path deviates from expectations, the IQ transmission, front-end processing, inter-device transmission, and demodulation / decoding in the IQ normal demodulation path are included in the candidate fault range. If the results returned by the common result segment of both paths show a clear anomaly after merging, the common result segment is also included in the candidate fault range. When the verification result of the reference TB backfill path deviates from expectations but the verification result of the IQ normal demodulation path meets expectations, the reference resource publishing, PUSCH object mapping, and reference TB selection in the reference TB backfill path are included in the candidate fault range. When the verification results of both paths deviate from expectations, both paths and the common result segment are included in the candidate fault range, and the common result segment is given a higher inspection priority. For the formed candidate fault range, a range narrowing process is also performed based on the coverage difference between the two paths and the stage evidence. This includes excluding path stages with positive evidence that the input, processing status, and output are all correct; using the path stage with the first clear failure evidence along the processing order as the starting boundary of the candidate fault range; retaining path stages with missing evidence, and stopping range narrowing when evidence conflicts occur, until the fault range determination result of the PUSCH test is obtained. The fault range determination result includes the candidate path stage, the stage evidence used, and the reason for not excluding the candidate path stage.
[0031] It should be understood that in the process of forming the fault range determination result according to the aforementioned combination of dual-path verification results and stage evidence shrinkage rules, the fault causes in some front-end IQ transmission, physical layer demodulation and decoding, and result buffer storage stages can be distinguished by the coverage difference between the two paths; by excluding path stages with positive evidence and retaining candidate stages with missing or conflicting evidence, the fault investigation scope can be narrowed, and the pertinence and efficiency of PUSCH test fault investigation can be improved.
[0032] In one embodiment, before determining the candidate fault range for the PUSCH test based on the verification results and path coverage differences of the two paths, the method proposed in this application further includes: checking the original TB, control parameters, input sources, common result segments, result verification rules, result identity, and actual TB of the reference TB backfill path and the IQ normal demodulation path; only when the two paths originate from the same original TB, use the same control parameters in affecting PUSCH processing, have mutually exclusive input sources, have consistent common result segments and result verification rules, have unique result identities, and have stable actual TBs, is the verification result combination performed; otherwise, the verification results of the two paths are saved separately and the reasons for incomparability are given; and when the two paths occupy different time slots, the correspondence between the PUSCH control and IQ of each actual time slot and the same original TB is saved. This can reduce invalid comparisons caused by inconsistent test benchmarks, mutual interference of inputs, unstable TB data, or confusion of result identities.
[0033] In one embodiment, the method proposed in this application further includes an exception handling step, comprising: If the PUSCH control, IQ, or reference TB is missing in the PUSCH test record, or if the correspondence between the three is missing, the test shall be terminated in the preparation phase. If the test host sends IQ during the execution of the reference TB backfill path, or if reference TB backfill still exists during the execution of the normal IQ demodulation path, immediately stop the execution of the current path and cancel the cross-input. When the publication or confirmation of the revocation status of the reference resource times out, the IQ misses the sending time, or the results are not all received, the last completed path stage is recorded, and the corresponding path is marked as incomplete; no new path may be started before the revocation confirmation is completed. When the status result and data result arrive in reverse order, it is not considered an anomaly; when the same result arrives repeatedly, only one copy is retained; when the same result has different contents or when there is a change in the test generation number before and after copying the actual TB, the result is stopped and recorded as undeterminable; when the address, length, or operation boundary of the actual TB is invalid, causing the actual TB to be unreadable, the reading of the actual TB is stopped and the corresponding path is recorded as incomplete execution. After a path times out or is canceled, the test host closes the result association record, but retains the message mapping during the late isolation period; the original result buffer can only be reused when writing stops or DMA is completed; if confirmation cannot be made temporarily, it remains isolated and is not handed over to the next test.
[0034] In one embodiment, a PUSCH dual-path closed-loop testing and fault range determination system is provided. The system includes a test host, a front-end processing unit, and a physical layer processing unit. The test host and the physical layer processing unit constitute a reference TB backfill path, and the test host, front-end processing unit, and physical layer processing unit constitute an IQ normal demodulation path. The reference TB backfill path and the IQ normal demodulation path are mutually exclusive and share a common result segment. The test host is used to establish a PUSCH test record consisting of corresponding PUSCH control, IQ, and reference TB. When IQ transmission is closed, the physical layer processing unit selects the reference TB as the actual TB. When the reference TB backfill relationship is closed, the front-end processing unit and the physical layer processing unit process the IQ sequentially to form the actual TB. The actual TBs from both sources enter the common result segment after determination. The test host is also used to verify the results returned by the two paths through the common result segment, and when the returned results are reliable and the execution conditions of the two paths are comparable, the system determines the candidate fault range of the PUSCH test based on the verification results of the two paths and the path coverage difference.
[0035] For specific limitations of the system proposed in this application, please refer to the aforementioned PUSCH dual-path closed-loop testing and fault range determination method. Each module in the system can be implemented entirely or partially through software, hardware, or a combination thereof. Each module can be embedded in the processor of the computer device in hardware form or independent of it, or it can be stored in the memory of the computer device in software form, so that the processor can call and execute the corresponding operations of each module.
[0036] Figure 4 An example of the system proposed in this application is shown, in which the test host (TESTMAC master controller) is a CPU, the physical layer processing device is a DSP, and the front-end processing device is an FPGA. The solid lines in the figure represent the main physical data paths, and the dashed lines represent the coverage of the two test paths. Path A mainly passes through the FAPI (Functional Application Platform Interface) / PCIE (High-Speed Peripheral Component Interconnect Bus) control and result path between the CPU and the DSP; Path B also passes through the IQ processing path carried by ECPRI, FPGA, and SRIO. Figure 4 The example shown is merely one illustration; the test host, front-end processing unit, and physical layer processing unit can utilize other processors or devices. Control, IQ, reference resources, and results can also be transferred via shared memory or message interfaces. Complete data visibility, mutual isolation of inputs, and unique attribution of results form the common foundation of these equivalent implementations.
[0037] In a specific embodiment, the system proposed in this application can be verified in the following way. In this embodiment, the TESTMAC master controller runs on the test host, the C6678 acts as the physical layer processing device, and the FPGA is responsible for IQ front-end processing. The test host sends control and receives results through FAPI messages carried by PCIe, sends IQ to the FPGA through ECPRI, and the FPGA then delivers the PUSCH intermediate data to the C6678 via SRIO.
[0038] A set of PUSCH test records that have been confirmed by the test vector generation process to be successfully decoded is selected. These PUSCH test records store complete PUSCH control, reference TB, IQ generated according to the control, and IQ sampling format, port, scaling, symbol division, and necessary channel conditions. In this embodiment, expected results are defined as: the status result meets expectations, the returned data result is correct, the actual TB length is correct, and the content is consistent. Specific resource blocks, modulation and coding schemes, layer number, and TB length are directly taken from the complete PUSCH test records.
[0039] When executing the reference TB backfill path, TESTMAC disables IQ sending and publishes the reference TB and object relationships. After C6678 confirms the resource's validity, it selects the reference TB and enters the common results segment from the determined rendezvous point. TESTMAC finds a unique result, copies the complete actual TB before sending an acknowledgment that "result has been read," and checks its status, length, and content. Once everything meets expectations, TESTMAC cancels the reference resource and waits for C6678 to confirm that the backfill relationships have been cleared.
[0040] The normal IQ demodulation path is then executed. TESTMAC publishes the same control parameters as the reference TB backfill path in terms of affecting PUSCH processing, and uses the corresponding IQ according to the actual execution time slot. The IQ enters the C6678 via the FPGA and SRIO, where the C6678 independently completes demodulation and decoding, and then enters the common results segment from the same convergence point. TESTMAC still uses the same result attribution, address checking, TB protection, and content comparison methods.
[0041] When path A meets expectations but path B exhibits TB inconsistency, the system prioritizes outputting the IQ transmission, FPGA processing, SRIO transmission, and C6678 demodulation / decoding range. If two paths have the same address or result publication anomalies, the common result segment enters the candidate range and receives higher inspection priority. When the reference resource withdrawal confirmation times out, the system terminates the pairwise test with an incomplete execution status and writes the completion status of the input isolation conditions into the conclusion.
[0042] Boundary scenarios can further validate the processing rules. For example, allow state results and data results to arrive in reverse order and observe the snapshot or lease protection of the received data; set the address of the result that goes out of the allowed area and observe the system recording address check failures; allow old results to arrive late after a new test starts and observe the result entering the old record. The above scenarios respectively validate asynchronous result processing, boundary protection, and intergenerational isolation mechanisms.
[0043] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0044] The above embodiments are merely illustrative of several implementation methods of this application, and their descriptions are relatively specific and detailed, but they should not be construed as limiting the scope of this application. It should be noted that those skilled in the art can make several modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application.
Claims
1. A method for PUSCH dual-path closed-loop testing and fault range determination, characterized in that, The method is applied to a PUSCH dual-path closed-loop testing and fault range determination system. The system includes a mutually exclusive reference TB backfill path, an IQ normal demodulation path, and a common result segment shared by the two paths. The reference TB backfill path is composed of a test host and a physical layer processing device connected in series. The IQ normal demodulation path is composed of a test host, a front-end processing device, and a physical layer processing device connected in series sequentially. The method includes: The test host establishes the same set of PUSCH test records as path input; wherein, the PUSCH test records consist of corresponding PUSCH controls, IQ, and reference TBs; Under the condition that the IQ normal demodulation path is closed, the reference TB backfilling process is performed along the reference TB backfilling path, including the physical layer processing device directly searching for and reading the reference TB in the path input as the actual TB, and sending it into the common result segment; Under the condition that the reference TB backfill path is closed, IQ normal demodulation is performed along the IQ normal demodulation path, including front-end processing and demodulation decoding of IQ in the path input through the front-end processing device and the physical layer processing device in sequence, forming the actual TB and sending it into the common result segment; Verify whether the results returned by the two paths through the common result segment meet expectations. If the returned results are confirmed to be reliable and the execution conditions of the two paths are comparable, determine the candidate fault range of the PUSCH test based on the verification results of the two paths and the path coverage difference.
2. The PUSCH dual-path closed-loop testing and fault range determination method according to claim 1, characterized in that, The execution order of the reference TB backfill path and the IQ normal demodulation path can be adjusted; before executing any path, close the input source corresponding to the other path and confirm that the closure is complete.
3. The PUSCH dual-path closed-loop testing and fault range determination method according to claim 2, characterized in that, The closure of the normal IQ demodulation path is defined as the test host closing IQ transmission; the closure of the reference TB backfill path is defined as the test host publishing a reference resource cancellation status after the test host completes the result waiting, and the physical layer processing device returning a confirmation that the reference resource cancellation is complete.
4. The PUSCH dual-path closed-loop testing and fault range determination method according to claim 3, characterized in that, The common result segment shared by the reference TB backfill path and the IQ normal demodulation path is defined as the result buffering, result packetization, publishing, transmission, receiving and verification process that the two paths jointly go through after the corresponding actual TB source has been determined.
5. The PUSCH dual-path closed-loop testing and fault range determination method according to claim 1, characterized in that, The method further includes: Before each path is executed, the test host establishes a result association record. This record stores pairs of test identifiers, test generation numbers, path identifiers, PUSCH objects, expected TB lengths, and waiting periods. If the result returned by any path via the common result segment does not carry an internal identifier, the test host establishes a unique mapping based on one or more visible identity fields that can uniquely assign the returned result to the corresponding result association record. These visible identity fields include one or more of the following: system frame number, timeslot number, handle, terminal identifier, and retransmission process number. The result returned by the path via the common result segment includes a status result and a data result. The status result represents the CRC status of demodulation decoding in the IQ normal demodulation path and a predefined reference resource processing status in the reference TB backfilling path. The data result represents the actual TB. The test generation number is defined as a number that changes with each test, result, or buffer content update, used to distinguish between old and new data and isolate late results. Upon receiving a status or data result returned via a common result segment from any path, the test host reads the result identity of the currently returned result and queries the result association record to determine if the current returned result uniquely matches a result association record. If not, it is registered as no match or ambiguous matching, and the current returned result is not written to other tests. If yes, it determines whether the uniquely matching result association record is closed. If closed, the current returned result is written to the closed historical result association record and does not participate in the current test. If not closed, it determines the message type of the current returned result. If it is a status result, the status result is written to the result association record. If it is a data result, it determines whether the address, length, and operation boundary of the actual TB are valid. If invalid, the reading of the actual TB is stopped and boundary failure is registered. If valid, the actual TB and corresponding data are read. The system retrieves the test generation number, copies the complete actual TB, and reads the test generation number again after forming a copy of the actual TB. Only when the test generation numbers read before and after are consistent is the actual TB copy accepted and the result confirmed to have been read, and subsequent actual TB copies are only used for expected verification. If the test generation numbers read before and after are inconsistent, the actual TB copy is discarded and a write conflict is recorded. After writing the status result to the result association record or accepting the actual TB copy and confirming that the result has been read, the system further determines whether the expected message is complete. If it is incomplete and has not timed out, the system continues to wait for another type of result in the current result association record. If it is incomplete and has timed out, the system lists the missing items and records it as incomplete execution. If it is complete, the system enters the expected verification process, that is, it verifies whether the results returned by the two paths through the common result segment meet the expectations.
6. The PUSCH dual-path closed-loop testing and fault range determination method according to claim 5, characterized in that, Verify that the results returned by the two paths through the common result segment meet expectations, including: The test host verifies the reliability of the results returned by the two paths through the common result segment according to the pre-saved rules, and verifies whether the status result, TB length and TB content in the returned results are consistent with the expected content. If the returned results are reliable and completely consistent with the expected content, the verification result is recorded as conforming to expectations; if the returned results are reliable but differ from the expected content, the verification result is recorded as deviating from expectations.
7. The PUSCH dual-path closed-loop testing and fault range determination method according to claim 6, characterized in that, Based on the verification results of the two paths and the differences in path coverage, the candidate fault range for the PUSCH test is determined, including: Based on the verification results of the reference TB backfill path and the IQ normal demodulation path, a candidate fault range is obtained by combining them. Specifically, when the verification results of both paths meet expectations, both paths and the common result segment are determined to meet expectations and are not included in the candidate fault range. When the verification result of the reference TB backfill path meets expectations but the verification result of the IQ normal demodulation path deviates from expectations, the IQ transmission, front-end processing, inter-device transmission, and demodulation decoding in the IQ normal demodulation path are included in the candidate fault range. If the results returned by the common result segment of both paths show a clear anomaly after merging, the common result segment is also included in the candidate fault range. When the verification result of the reference TB backfill path deviates from expectations but the verification result of the IQ normal demodulation path meets expectations, the reference resource publishing, PUSCH object mapping, and reference TB selection in the reference TB backfill path are included in the candidate fault range. When the verification results of both paths deviate from expectations, both paths and the common result segment are included in the candidate fault range, and the common result segment is given a higher inspection priority. For the formed candidate fault range, a range narrowing process is also performed based on the coverage difference between the two paths and the stage evidence. This includes excluding path stages with positive evidence that the input, processing status, and output are all correct; using the path stage with the first clear failure evidence along the processing order as the starting boundary of the candidate fault range; retaining path stages with missing evidence, and stopping range narrowing when evidence conflicts occur, until the fault range determination result of the PUSCH test is obtained. The fault range determination result includes the candidate path stage, the stage evidence used, and the reason for not continuing to exclude candidate path stages.
8. The PUSCH dual-path closed-loop testing and fault range determination method according to claim 7, characterized in that, Before determining the candidate fault range for the PUSCH test based on the verification results of the two paths and the path coverage difference, the method further includes: The original TB, control parameters, input sources, common result segments, result verification rules, result identity, and actual TB of the reference TB backfill path and the IQ normal demodulation path are checked. The verification results are combined only when the two paths come from the same original TB, use the same control parameters in terms of affecting PUSCH processing, have mutually exclusive input sources, have consistent common result segments and result verification rules, have unique result identities, and have stable actual TBs. Otherwise, the verification results of the two paths are saved separately and the reasons for incomparability are given. When the two paths occupy different time slots, the correspondence between the PUSCH control and IQ of each actual time slot and the same original TB is saved.
9. The PUSCH dual-path closed-loop test and fault range determination method according to any one of claims 1 to 8, characterized in that, The method further includes an exception handling step, including: If the PUSCH control, IQ, or reference TB is missing in the PUSCH test record, or if the correspondence between the three is missing, the test shall be terminated in the preparation phase. If the test host sends IQ during the execution of the reference TB backfill path, or if reference TB backfill still exists during the execution of the normal IQ demodulation path, immediately stop the execution of the current path and cancel the cross-input. When the publication or confirmation of the revocation status of the reference resource times out, the IQ misses the sending time, or the results are not all received, the last completed path stage is recorded, and the corresponding path is marked as incomplete; no new path may be started before the revocation confirmation is completed. When the status result and data result arrive in reverse order, it is not considered an anomaly; when the same result arrives repeatedly, only one copy is retained; when the same result has different contents or when there is a change in the test generation number before and after copying the actual TB, the result is stopped and recorded as undeterminable; when the address, length, or operation boundary of the actual TB is invalid, causing the actual TB to be unreadable, the reading of the actual TB is stopped and the corresponding path is recorded as incomplete execution. After a path times out or is canceled, the test host closes the result association record, but retains the message mapping during the late isolation period; the original result buffer can only be reused when writing stops or DMA is completed; if confirmation cannot be made temporarily, it remains isolated and is not handed over to the next test.
10. A PUSCH dual-path closed-loop testing and fault range determination system, characterized in that, The system includes a test host, a front-end processing unit, and a physical layer processing unit. The test host and the physical layer processing unit constitute a reference TB backfill path, and the test host, the front-end processing unit, and the physical layer processing unit constitute an IQ normal demodulation path. The reference TB backfill path and the IQ normal demodulation path are mutually exclusive in input and share a common result segment. The test host is used to establish a PUSCH test record consisting of corresponding PUSCH control, IQ, and reference TB. When IQ transmission is turned off, the physical layer processing unit is used to select the reference TB as the actual TB. When the reference TB backfill relationship is closed, the front-end processing device and the physical layer processing device are used to process the IQ in sequence to form the actual TB; the actual TBs from the two sources enter the common result segment after being determined; the test host is also used to verify the results returned by the two paths through the common result segment respectively, and when the returned results are reliable and the execution conditions of the two paths are comparable, the candidate fault range of the PUSCH test is determined according to the verification results of the two paths and the path coverage difference.
