Anti-interference method and system for power carrier signal in grouping suitable for robot

CN123019771APending Publication Date: 2026-10-30HEFEI XIAOBU INTELLIGENT TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611496666.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-09-24
Publication Date
2026-10-30

AI Technical Summary

Technical Problem

此类方法对于频率范围相对稳定的连续干扰具有一定作用,但在面对具有明显瞬态特征和动态变化特性的脉冲干扰时,容易出现干扰识别不准确或者有效载波成分同时受损的问题

Benefits of technology

[0031]该适用于机器人的分组时电力载波信号抗干扰方法及系统,通过对电力线路中的混合载波信号进行多尺度时频分析,识别具有瞬态能量突变特征的脉冲干扰片段,并对脉冲干扰片段进行针对性抑制和信号重构,能够降低复杂工业环境下脉冲干扰对有效载波成分的影响,提高载波信号的完整性;在此基础上,通过对去噪后的载波信号进行帧同步头识别,并结合本地时序窗口判断同步状态,能够提高受干扰条件下帧起始位置识别的准确性;当发生同步错误时,通过分组通信链路进行重传,并根据错误时间戳与指令帧接收时间戳确定分组通信链路的时序偏差和延迟累积情况,进一步结合帧同步头位置对分组通信时序进行修正,从而降低同步错误和重传过程引起的通信时序偏移及延迟累积,提高多机器人分组通信过程中的抗干扰能力、帧同步可靠性和通信时序稳定性,进而有利于保证机器人位置校准数据和控制指令传输的及时性与准确性,提高多机器人协同作业的稳定性和连续性。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123019771A_ABST
    Figure CN123019771A_ABST
Patent Text Reader

Abstract

The application discloses a grouping-time power carrier signal anti-interference method and system suitable for robots, relates to the technical fields of power carrier communication and industrial robot communication, and comprises the following steps: obtaining a mixed carrier signal in a power line, performing time-frequency decomposition on the mixed carrier signal, and obtaining a multi-scale time-frequency matrix containing pulse interference characteristics and original carrier characteristics; according to the multi-scale time-frequency matrix, extracting a transient energy mutation point in a time-frequency component corresponding to a preset scale; and if the amplitude of the transient energy mutation point is greater than a preset energy threshold, determining that the transient energy mutation point is a pulse interference segment. The grouping-time power carrier signal anti-interference method and system suitable for robots are beneficial to guaranteeing the timeliness and accuracy of robot position calibration data and control instruction transmission and improving the stability and continuity of multi-robot collaborative operation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the fields of power line carrier communication and industrial robot communication technology, specifically to a method and system for resisting interference of power line carrier signals during grouping for robots. Background Technology

[0002] Power line carrier communication utilizes existing power lines to simultaneously transmit electrical energy and communication signals, making it highly valuable in scenarios such as intelligent manufacturing and collaborative operation of industrial robots. In the process of multi-robot collaborative operation, the master control node usually needs to send control commands, position calibration data, and timing synchronization information to multiple robot nodes through power lines. Therefore, the anti-interference capability of the carrier signal and the stability of the communication timing directly affect the collaborative accuracy and operation continuity between robots.

[0003] In industrial settings, power lines operate in complex electromagnetic environments, often exhibiting pulse interference, harmonic interference, and transient disturbances caused by factors such as switching equipment operation, frequency converter operation, welding equipment start-up and shutdown, and load fluctuations. Some pulse interference is characterized by short duration, high instantaneous energy, and unpredictable location, and its spectral characteristics may change with equipment operation. When carrier communication signals and these interference signals propagate along the same power line, the interference signal easily superimposes on the carrier communication signal, distorting the signal received at the receiver. Existing power line carrier communication methods typically employ bandpass filtering, notch filtering, or fixed threshold suppression to reduce interference signals in the line. These methods are effective against continuous interference with relatively stable frequency ranges, but when facing pulse interference with significant transient and dynamic characteristics, they are prone to inaccurate interference identification or simultaneous damage to the effective carrier component. Especially in industrial equipment environments with frequent start-stop cycles or rapid load changes, the timing and energy intensity of interference signals exhibit significant uncertainty. This makes it difficult to balance noise reduction with the integrity of the original carrier signal when using fixed parameters for interference suppression. Furthermore, some pulse interference in power line carrier communication may overlap with the synchronization header of the communication frame in the time domain. When the synchronization header is interfered with, the receiver may be unable to accurately determine the start position of the communication frame, leading to frame synchronization errors. For robot systems using packet communication, once a synchronization error occurs in a communication packet, the corresponding communication data usually needs to be re-requested, potentially causing a timing shift in the current communication packet. In continuous multi-robot communication, these synchronization errors and data retransmissions can also cause a gradual accumulation of communication delays. When the actual reception time of different communication packets continuously deviates from the predetermined communication timing, the timing of subsequent robot nodes receiving position calibration data or control commands will also change, further reducing the timing consistency of packet communication. Especially in operating environments with high requirements for robot coordination accuracy and real-time response, a continuously widening communication timing deviation may further affect the collaborative control effect between multiple robots. Summary of the Invention

[0004] The purpose of this invention is to provide a method and system for resisting interference with power line carrier signals during grouping in robots, thereby solving the problems existing in the prior art.

[0005] To achieve the above objectives, the present invention provides the following technical solution: a method for resisting interference of power line carrier signals during robot grouping, comprising:

[0006] S1. Obtain the mixed carrier signal in the power line, perform time-frequency decomposition on the mixed carrier signal, and obtain a multi-scale time-frequency matrix containing pulse interference characteristics and original carrier characteristics;

[0007] S2. Based on the multi-scale time-frequency matrix, extract the transient energy mutation points in the time-frequency components corresponding to the preset scale. If the amplitude of the transient energy mutation point is greater than the preset energy threshold, then the transient energy mutation point is determined to be a pulse interference segment.

[0008] S3. Zero out the pulse interference segment and reconstruct the signal after zeroing by inverse wavelet transform to obtain the first carrier signal after denoising.

[0009] S4. Extract the time-domain envelope feature sequence from the first carrier signal, input the time-domain envelope feature sequence into a pre-trained support vector machine for classification and recognition, and determine the position of the frame synchronization header in the first carrier signal;

[0010] S5. If the frame synchronization header position does not match the preset local timing window, a synchronization error is determined to have occurred, and a retransmission request instruction containing the error timestamp is generated.

[0011] S6. Send a retransmission request command to the master control node through the group communication link, obtain the second carrier signal issued by the master control node based on the retransmission request command, and parse the command frame containing position calibration data from the second carrier signal.

[0012] S7. Calculate the timing deviation value of the current packet communication link based on the error timestamp in the retransmission request instruction and the reception timestamp of the instruction frame. If the timing deviation value exceeds the preset synchronization threshold, trigger the delay accumulation calculation mechanism to obtain the delay accumulation time of the current packet communication link.

[0013] Preferably, step S1 includes acquiring a hybrid carrier signal in a power line, performing time-frequency decomposition on the hybrid carrier signal using wavelet transform to obtain an energy distribution; if the energy distribution is greater than a preset energy threshold, then the energy distribution is determined to correspond to a pulse interference feature; if the energy distribution is less than or equal to the preset energy threshold, then the energy distribution is determined to correspond to an original carrier feature; and performing matrix concatenation on the pulse interference feature and the original carrier feature to obtain a multi-scale time-frequency matrix containing both the pulse interference feature and the original carrier feature.

[0014] Preferably, step S2 includes extracting time-frequency components corresponding to a preset scale based on a multi-scale time-frequency matrix, calculating the energy envelope of the time-frequency components to obtain transient energy, performing differential operations on the transient energy to extract transient energy mutation points and the amplitude of the mutation points, and determining that the transient energy mutation point is a pulse interference segment if the amplitude is greater than a preset energy threshold.

[0015] Preferably, step S3 includes obtaining an adaptive threshold, which is obtained by calculating the background noise distribution based on the local variance of the impulse interference segment; determining a zeroing interval, which is determined when the impulse interference segment is greater than the adaptive threshold; obtaining a correction coefficient matrix, which is obtained by multiplying the original time-frequency coefficients by the interference suppression matrix constructed based on the zeroing interval; and obtaining a denoised first carrier signal, which is obtained by filtering out the baseline drift component from the reconstructed sequence extracted by the inverse wavelet transform of the correction coefficient matrix.

[0016] Preferably, step S4 includes acquiring a first carrier signal, processing the first carrier signal to obtain a time-domain envelope, constructing a time-domain envelope feature sequence based on the amplitude fluctuation value of the time-domain envelope, inputting the time-domain envelope feature sequence into a pre-trained support vector machine for classification and recognition, and obtaining a classification and recognition result; if the classification and recognition result is a synchronization identifier, extracting the decision boundary corresponding to the synchronization identifier to obtain position information; and determining the position of the frame synchronization header in the first carrier signal based on the position information.

[0017] Preferably, step S5 includes obtaining the frame synchronization header position and a preset local timing window; calculating the difference between the frame synchronization header position and the local timing window to obtain a timing deviation value; determining whether the timing deviation value is greater than a tolerance threshold; if the timing deviation value is greater than the tolerance threshold, determining that a synchronization error has occurred and generating a synchronization error identifier; extracting the clock count value based on the synchronization error identifier to obtain a time series; encoding and converting the time series to obtain an error timestamp; and concatenating the error timestamps to construct a retransmission request instruction containing the error timestamps.

[0018] Preferably, step S6 includes sending a retransmission request command to the master control node via a packet communication link, obtaining the second carrier signal issued by the master control node based on the retransmission request command; extracting phase offset features from the second carrier signal to obtain a carrier demodulation sequence, demodulating the second carrier signal through the carrier demodulation sequence to obtain a baseband data stream; dividing the baseband data stream according to the frame delimiter in the baseband data stream to determine the initial command frame; if the initial command frame matches the integrity rule, extracting position calibration data from the initial command frame, and parsing the command frame containing the position calibration data from the second carrier signal.

[0019] Preferably, step S7 includes obtaining the error timestamp in the retransmission request instruction and the reception timestamp of the instruction frame, and performing differential processing to obtain an initial time difference sequence; performing filtering processing based on the initial time difference sequence to obtain the timing deviation value of the current packet communication link; if the timing deviation value exceeds the synchronization threshold, determining the delay accumulation period based on the link state characteristics of the current packet communication link; and performing compensation calculation on the timing deviation value based on the delay accumulation period to obtain the delay accumulation time of the current packet communication link.

[0020] Preferably, the method further includes S8: performing joint state estimation on the timing deviation value and the accumulated delay time, correcting the joint state estimation result according to the frame synchronization header position corresponding to the error timestamp, obtaining the corrected packet communication timing, and adjusting the local timing window according to the corrected packet communication timing. Specifically, this includes using Kalman filtering to perform joint state estimation on the timing deviation value and the accumulated delay time to obtain an initial state estimation matrix; extracting the error timestamp according to the initial state estimation matrix, locating the frame synchronization header position through the error timestamp, and obtaining the estimated correction amount; correcting the initial state estimation matrix using the estimated correction amount to obtain a corrected state matrix; reconstructing the corrected state matrix according to the corrected state matrix to obtain the corrected packet communication timing; and adjusting the local timing window according to the corrected packet communication timing.

[0021] A power line carrier signal jamming immunity system for robots during grouping, comprising the steps of the aforementioned power line carrier signal jamming immunity method for robots during grouping, the system including:

[0022] The signal acquisition and decomposition module acquires the mixed carrier signal in the power line, and performs time-frequency decomposition on the mixed carrier signal through wavelet transform to obtain a multi-scale time-frequency matrix containing pulse interference characteristics and original carrier characteristics.

[0023] The pulse interference determination module extracts transient energy mutation points in the time-frequency components corresponding to a preset scale based on the multi-scale time-frequency matrix. If the amplitude of the transient energy mutation point is greater than the preset energy threshold, the transient energy mutation point is determined to be a pulse interference segment.

[0024] The signal denoising and reconstruction module uses an adaptive threshold method to zero out the pulse interference segments and then performs inverse wavelet transform on the zeroed signal to reconstruct the first carrier signal after denoising.

[0025] The frame synchronization recognition module extracts the time-domain envelope feature sequence from the first carrier signal, inputs the time-domain envelope feature sequence into a pre-trained support vector machine for classification and recognition, and determines the position of the frame synchronization header in the first carrier signal.

[0026] The synchronization error determination module determines that a synchronization error has occurred if the frame synchronization header position does not match the preset local timing window, and generates a retransmission request instruction containing the error timestamp.

[0027] The packet retransmission module sends a retransmission request command to the master control node through the packet communication link, obtains the second carrier signal issued by the master control node based on the retransmission request command, and parses the command frame containing position calibration data from the second carrier signal.

[0028] The timing deviation calculation module calculates the timing deviation value of the current packet communication link based on the error timestamp in the retransmission request instruction and the reception timestamp of the instruction frame. If the timing deviation value exceeds the preset synchronization threshold, the delay accumulation calculation mechanism is triggered to obtain the delay accumulation time of the current packet communication link.

[0029] The communication timing correction module uses Kalman filtering to perform joint state estimation of timing deviation value and cumulative delay time, and corrects the joint state estimation result according to the frame synchronization header position corresponding to the error timestamp to obtain the corrected packet communication timing, and adjusts the local timing window according to the corrected packet communication timing.

[0030] As can be seen from the above technical solution, the present invention has the following beneficial effects:

[0031] This method and system for anti-interference of power line carrier signals in group communication for robots identifies pulse interference segments with transient energy change characteristics through multi-scale time-frequency analysis of mixed carrier signals in power lines. It then specifically suppresses and reconstructs these pulse interference segments, reducing the impact of pulse interference on the effective carrier components in complex industrial environments and improving the integrity of the carrier signal. Furthermore, by identifying the frame synchronization header of the denoised carrier signal and determining the synchronization status using a local timing window, the accuracy of frame start position identification under interference conditions is improved. When a synchronization error occurs, retransmission is performed through the group communication link. The timing deviation and delay accumulation of the group communication link are determined based on the error timestamp and the command frame reception timestamp. Further correction of the group communication timing is made based on the frame synchronization header position, thereby reducing communication timing offsets and delay accumulation caused by synchronization errors and retransmission processes. This improves the anti-interference capability, frame synchronization reliability, and communication timing stability in multi-robot group communication, ultimately ensuring the timeliness and accuracy of robot position calibration data and control command transmission, and enhancing the stability and continuity of multi-robot collaborative operations. Attached Figure Description

[0032] Figure 1 This is a flowchart of the overall method of the present invention;

[0033] Figure 2 This is a flowchart of the pulse interference processing and communication timing correction of the present invention;

[0034] Figure 3 This is a comparison of the time-domain waveforms before and after denoising in Embodiment 2 of the present invention;

[0035] Figure 4 This is a graph showing the change in bit error rate as a function of interference intensity in Embodiment 2 of the present invention.

[0036] Figure 5This is a graph showing the frame synchronization success rate as a function of interference intensity in Embodiment 2 of the present invention.

[0037] Figure 6 This is a convergence curve of timing deviation as a function of communication rounds in Embodiment 2 of the present invention. Detailed Implementation

[0038] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0039] Example 1:

[0040] like Figure 1 and Figure 6 As shown, the present invention provides a technical solution: a method for anti-interference of power line carrier signals during robot grouping, comprising:

[0041] S1. Obtain the hybrid carrier signal in the power line, and perform time-frequency decomposition on the hybrid carrier signal through wavelet transform to obtain a multi-scale time-frequency matrix containing pulse interference characteristics and original carrier characteristics.

[0042] S2. Based on the multi-scale time-frequency matrix, extract the transient energy mutation points in the time-frequency components corresponding to the preset scale. If the amplitude of the transient energy mutation point is greater than the preset energy threshold, then the transient energy mutation point is determined to be a pulse interference segment.

[0043] S3. The pulse interference segment is zeroed out using an adaptive thresholding method, and the zeroed signal is reconstructed by inverse wavelet transform to obtain the first carrier signal after denoising.

[0044] S4. Extract the time-domain envelope feature sequence from the first carrier signal, input the time-domain envelope feature sequence into a pre-trained support vector machine for classification and recognition, and determine the position of the frame synchronization header in the first carrier signal;

[0045] S5. If the frame synchronization header position does not match the preset local timing window, a synchronization error is determined to have occurred, and a retransmission request instruction containing the error timestamp is generated.

[0046] S6. Send a retransmission request command to the master control node through the group communication link, obtain the second carrier signal issued by the master control node based on the retransmission request command, and parse the command frame containing position calibration data from the second carrier signal.

[0047] S7. Calculate the timing deviation value of the current packet communication link based on the error timestamp in the retransmission request instruction and the reception timestamp of the instruction frame. If the timing deviation value exceeds the preset synchronization threshold, trigger the delay accumulation calculation mechanism to obtain the delay accumulation time of the current packet communication link.

[0048] S8. Use Kalman filtering to perform joint state estimation of timing deviation value and delay accumulation time, and correct the joint state estimation result according to the frame synchronization header position corresponding to the error timestamp to obtain the corrected packet communication timing, and adjust the local timing window according to the corrected packet communication timing.

[0049] In this embodiment, when the robot performs carrier communication through the power line, the power line simultaneously contains the original carrier signal used to transmit robot control information and status information, as well as pulse interference signals generated by motor start-stop, power device switching, power conversion and other electrical load state changes. Therefore, the actual received signal is a mixed carrier signal after the original carrier signal and the pulse interference signal are superimposed.

[0050] To reduce the impact of pulse interference on the carrier communication frame synchronization process, the hybrid carrier signal is first decomposed into time and frequency. Then, the location of pulse interference is identified based on the local energy changes after decomposition, and the corresponding location is suppressed. On this basis, the frame synchronization header identification, synchronization error judgment, retransmission, link timing deviation calculation, and local timing window correction are then completed.

[0051] In S1, a hybrid carrier signal is acquired through a carrier receiving circuit connected to the power line, and the hybrid carrier signal is discretely sampled according to a preset sampling frequency to form a continuously arranged digital sampling sequence.

[0052] Subsequently, multi-scale wavelet decomposition is performed on the digital sampling sequence to decompose the mixed carrier signal into approximate components and detail components corresponding to different scales. Each scale corresponds to a specific frequency range, and the wavelet coefficients obtained at each scale are arranged in chronological order and then combined in scale order to form a multi-scale time-frequency matrix. Each position in the multi-scale time-frequency matrix corresponds to a specific time position and a specific scale position, which is used to characterize the signal change state at that time position and within that scale range.

[0053] In S2, a pre-defined scale is selected from the multi-scale time-frequency matrix, and the corresponding time-frequency component is extracted. The transient energy of this time-frequency component is calculated in chronological order. Alternatively, the wavelet coefficients corresponding to each time position can be squared to obtain the transient energy at that position, or the squared values ​​of all wavelet coefficients within a pre-defined time window can be summed to obtain the transient energy of that time window.

[0054] Then, the transient energy at the current time position or the current time window is compared with the transient energy at the previous time position or the previous time window. When the change between the two reaches the preset mutation judgment condition, the corresponding position is determined as the transient energy mutation point.

[0055] Furthermore, after determining the transient energy mutation point, the amplitude corresponding to the mutation point is compared with a pre-set energy threshold.

[0056] When the amplitude of a transient energy mutation point is greater than the energy threshold, the time interval containing the mutation point is determined as a pulse interference segment; when the amplitude of a transient energy mutation point is less than or equal to the energy threshold, the position is not determined as a pulse interference segment; for multiple transient energy mutation points that occur consecutively, if the time intervals corresponding to two adjacent mutation points overlap, or the time interval between them is less than a preset merging time interval, the corresponding time intervals are merged into the same pulse interference segment; if the time interval between them reaches or exceeds the preset merging time interval, they are determined as different pulse interference segments respectively.

[0057] Furthermore, in S3, the identified pulse interference segments are processed using an adaptive thresholding method.

[0058] First, a processing threshold for the current signal state is calculated based on the wavelet coefficients at the current scale. This threshold is calculated from the wavelet coefficients within the current analysis interval according to predetermined statistical rules. Then, the wavelet coefficients within each impulse interference segment are judged one by one. For wavelet coefficients whose absolute value is greater than the current processing threshold, their values ​​are set to zero. For wavelet coefficients whose absolute value is less than or equal to the current processing threshold, their original values ​​are kept unchanged. For time intervals that are not judged as impulse interference segments, the corresponding wavelet coefficients are not zeroed.

[0059] After processing the wavelet coefficients at each preset scale, the processed detail components and their corresponding approximate components are subjected to inverse wavelet transform according to the wavelet reconstruction order, so that the signal components at each scale are recombined into a time-domain signal, and the denoised first carrier signal is obtained.

[0060] Through this process, wavelet coefficients that meet the zeroing condition in the pulse interference segment are removed, while carrier components that do not meet the zeroing condition continue to participate in signal reconstruction, thereby preserving the carrier waveform information required for subsequent frame synchronization identification.

[0061] Furthermore, in S4, the time-domain envelope feature sequence is extracted from the first carrier signal.

[0062] Specifically, the envelope of the first carrier signal can be extracted first, so that the instantaneous amplitude change of the carrier signal is converted into envelope data arranged continuously in time. Then, the envelope data is sampled according to a preset sampling interval to form a time-domain envelope feature sequence. In order to make the data length of the input support vector machine consistent, the time-domain envelope feature sequence can be continuously segmented according to a preset window length, so that each data segment to be identified contains the same number of envelope sample values.

[0063] In this embodiment, the pre-trained support vector machine is trained using two types of samples: one type is the temporal envelope feature sequence that has been marked as a frame synchronization header, and the other type is the temporal envelope feature sequence that has been marked as a non-frame synchronization header.

[0064] After training, the support vector machine (SVM) forms classification rules to distinguish between frame synchronization headers and non-frame synchronization headers. In the actual recognition process, the temporal envelope feature sequences to be identified are sequentially input into the SVM. When the SVM determines a sequence to be identified as a frame synchronization header, it determines the position of the frame synchronization header in the first carrier signal based on the start time position of the sequence to be identified in the first carrier signal or a pre-defined reference position.

[0065] Furthermore, in S5, the local timing window consists of a defined start time and a defined end time, used to represent the time range within which the frame synchronization header is expected to appear according to the current group communication timing. The frame synchronization header position determined in S4 is compared with the local timing window. When the frame synchronization header position is between the start time and the end time of the local timing window, and includes the positions corresponding to the start time and the end time, it is determined that no synchronization error has occurred in the current communication frame. When the frame synchronization header position is earlier than the start time of the local timing window, or later than the end time of the local timing window, it is determined that a synchronization error has occurred.

[0066] Furthermore, after determining that a synchronization error has occurred, the time value corresponding to the synchronization header position of the frame is read from the local timing device, and this time value is recorded as the error timestamp.

[0067] Then, a retransmission request command is generated, and the error timestamp is written into the preset field of the retransmission request command, so that the retransmission request command contains both retransmission request information and the time information of the synchronization error.

[0068] Furthermore, in S6, the robot sends a retransmission request command to the master node through the group communication link corresponding to its current group.

[0069] After receiving the retransmission request instruction, the master control node reads the error timestamp and determines the corresponding control data based on the error timestamp. The master control node repackages the corresponding control data into an instruction frame and sends it to the robot as a second carrier signal via power line carrier.

[0070] Furthermore, after receiving the second carrier signal, the robot demodulates the second carrier signal, identifies the boundary of the instruction frame according to the preset frame structure, and then extracts the position calibration data from the instruction frame. The position calibration data can be used to represent the target position that the robot should reach, the correction amount corresponding to the current position, or the displacement amount that needs to be compensated. After obtaining the position calibration data, the robot inputs the position calibration data into its own motion control process to correct the position changes caused by the control commands not arriving in the original timing sequence during the synchronization error period.

[0071] Furthermore, in S7, when the robot completes the reception of the command frame, it records the corresponding reception timestamp. Subsequently, the error timestamp in the retransmission request command is subtracted from the reception timestamp to obtain the actual elapsed time from the time the synchronization error occurred to the time the retransmission command frame was received.

[0072] The timing deviation value of the current group communication link is obtained by subtracting the preset reference transmission time from the actual elapsed time; the reference transmission time represents the standard time required from generating a retransmission request instruction to receiving the corresponding retransmission instruction frame under normal synchronization conditions.

[0073] Furthermore, after obtaining the timing deviation value, the absolute value of the timing deviation value is compared with a preset synchronization threshold.

[0074] When the absolute value of the timing deviation is less than or equal to the synchronization threshold, delay accumulation calculation is not started; when the absolute value of the timing deviation is greater than the synchronization threshold, delay accumulation calculation is started.

[0075] In this embodiment, the delay accumulation calculation is performed continuously according to the communication cycle.

[0076] For each communication cycle, first calculate the timing deviation value for that cycle and take its absolute value. If the absolute value is greater than the synchronization threshold, subtract the synchronization threshold from the absolute value to obtain the amount of time exceeding the threshold that needs to be added to the delay accumulation result for this communication cycle. Then, add this amount of time exceeding the threshold to the delay accumulation time already obtained in the previous communication cycle to obtain the delay accumulation time for the current communication cycle. If the absolute value of the timing deviation value for the current communication cycle is less than or equal to the synchronization threshold, no new amount of time exceeding the threshold is added to the current communication cycle, and the current delay accumulation result is retained according to the pre-set delay accumulation update rules. By updating each communication cycle, the delay accumulation time can represent the total amount of time exceeding the threshold that has been accumulated in the current packet communication link during continuous communication.

[0077] Furthermore, in S8, the timing deviation value and the accumulated delay time obtained in the current communication cycle are simultaneously input into the Kalman filtering process.

[0078] Kalman filtering first predicts the timing deviation state and delay accumulation state of the current communication cycle based on the timing state obtained in the previous communication cycle and according to a pre-defined state change relationship. Then, it uses the currently calculated timing deviation value and delay accumulation time as the observation results, compares them with the predicted state, and determines the degree of correction of the prediction results by the current observation results based on the pre-defined process noise parameters and observation noise parameters. The predicted state is then updated according to the degree of correction to obtain the joint state estimation result of the current communication cycle.

[0079] Furthermore, after obtaining the joint state estimation results, correction is performed based on the frame synchronization header position corresponding to the erroneous timestamp.

[0080] Specifically, first, determine the actual time position corresponding to the frame synchronization header when a synchronization error occurs, then determine the center time position of the local timing window at that time, and then compare the actual time position of the frame synchronization header with the center time position of the local timing window; if the actual time position of the frame synchronization header is later than the center time position of the local timing window, the time difference between the two is determined as the backward offset; if the actual time position of the frame synchronization header is earlier than the center time position of the local timing window, the time difference between the two is determined as the forward offset; based on the offset direction and offset time, the joint state estimation result obtained by Kalman filtering is corrected again, so that the joint state estimation result simultaneously reflects the link delay state calculated by the timestamp and the position state of the actual frame synchronization header relative to the local timing window.

[0081] Based on the corrected joint state estimation results, determine the timing correction direction and timing correction time required for the current packet communication link.

[0082] If the correction result indicates that the frame arrival time is later than the current local communication timing, the local communication timing is adjusted backward according to the corresponding correction time; if the correction result indicates that the frame arrival time is earlier than the current local communication timing, the local communication timing is adjusted forward according to the corresponding correction time, thus obtaining the corrected packet communication timing.

[0083] After completing the timing correction for group communication, the local timing window is synchronously adjusted according to the same timing correction direction and amount, so that the start and end times of the local timing window change simultaneously, while maintaining the original time length of the local timing window.

[0084] Example 2:

[0085] like Figure 3 and Figure 6 As shown, an experiment is designed to verify this application:

[0086] The experiment was conducted on a low-voltage power line carrier communication test bench built in the laboratory. The equipment and configuration are as follows:

[0087] Signal source: An arbitrary waveform generator outputs a 200kHz sinusoidal carrier wave (simulating a power line carrier signal), superimposed with attenuated oscillating pulse interference (pulse width 0.5ms, interference amplitude 0.5-2.5 times the carrier amplitude) and Gaussian white noise to simulate mixed carrier signals in industrial environments;

[0088] Communication nodes: One master node carrier communication module and three robot slave node carrier communication modules communicate using a grouped time-division polling method. The frame length is 10ms, the frame synchronization header is a 16-bit pseudo-random sequence, and the instruction frame contains position calibration data.

[0089] Measurement and Statistics: A digital oscilloscope acquires time-domain waveforms before and after noise reduction; the host computer records error timestamps and command frame reception timestamps, and calculates bit error rate, frame synchronization success rate, and timing deviation.

[0090] Comparison of schemes: Scheme A is interference-free processing; Scheme B is traditional fixed threshold denoising + correlation method frame synchronization (without retransmission timing correction); Scheme C is the present method;

[0091] Repeatability: 1000 frames of continuous communication were conducted under each group of conditions, and the statistical results were averaged.

[0092] Experiment 1: Effects of Pulse Interference Suppression and Signal Reconstruction

[0093] The input signal-to-noise ratios were set to 5, 10, and 15 dB, and the pulse interference intensity was fixed at 1.0. The mixed carrier signal was acquired, and wavelet time-frequency decomposition, transient energy mutation point detection, adaptive threshold zeroing, and inverse wavelet reconstruction were performed sequentially according to this method. The reconstructed waveform was recorded with an oscilloscope, and the output signal-to-noise ratio and interference residual rate were calculated.

[0094] Table 1. Interference suppression effect under different input signal-to-noise ratios

[0095]

[0096] Figure 3 The red shaded area in the middle represents the time interval where pulse interference occurs; the red waveform above represents the noisy mixed signal, showing that the two pulse interferences completely submerged the carrier; the blue waveform below represents the reconstructed signal using this method. After the interference interval is zeroed and reconstructed, the waveform closely matches the original carrier, with only weak noise remaining. Table 1 shows that the output signal-to-noise ratio of this method is about 6 dB higher than that of traditional fixed threshold denoising, and the interference residual rate is less than 3.2%, indicating that multi-scale time-frequency decomposition and adaptive zeroing can effectively suppress pulse interference and maintain the integrity of the carrier components.

[0097] Experiment 2: Comparison of Bit Error Rates under Different Interference Intensities

[0098] With a fixed input signal-to-noise ratio of 10dB, the pulse interference intensity is gradually increased from 0.5 to 2.5; each of the three schemes communicates for 1000 frames, and the host computer compares the transmitted and received bits bit by bit to calculate the bit error rate.

[0099] Table 2 Bit Error Rate under Different Pulse Interference Intensities

[0100]

[0101] From Table 2 and Figure 4 As can be seen, the bit error rate of all three schemes increases with increasing interference intensity, but the increase is the slowest in this method; when the interference intensity is 2.5, the bit error rate of this method is 8.6 × 10⁻⁶. -4 The values ​​are approximately 1 and 0.7 orders of magnitude lower than those of Scheme A and Scheme B, respectively, indicating that transient energy mutation point detection and targeted zeroing can significantly reduce bit errors under strong pulse interference, ensuring reliable transmission of control commands and position calibration data.

[0102] Experiment 3: Comparison of frame synchronization success rates under different interference intensities

[0103] With a fixed input signal-to-noise ratio of 10dB, the pulse interference intensity is increased from 0.5 to 2.5. The time-domain envelope feature sequence is extracted from the denoised carrier signal and input into a pre-trained support vector machine to identify the frame synchronization header. The frame synchronization is determined by comparing bit by bit with the locally known synchronization sequence and the synchronization success rate is statistically analyzed.

[0104] Table 3 Frame synchronization success rate (%) under different pulse interference intensities

[0105]

[0106] Figure 5As shown in Table 3, with increasing interference, the frame synchronization success rate of Scheme A dropped sharply from 98.5% to 71.6%, and Scheme B also dropped to 83.2%. In contrast, our method consistently maintained a success rate above 95%, an improvement of approximately 12 percentage points compared to Scheme B under strong interference. This demonstrates that pulse interference suppression combined with SVM frame synchronization header classification and identification can significantly improve the accuracy of frame start position identification under interference conditions and reduce the number of retransmissions triggered by frame synchronization errors.

[0107] Experiment 4: The effect of correcting timing deviations in packet communication

[0108] Under the conditions of interference intensity 1.5 and signal-to-noise ratio 10dB, continuous communication is carried out, and a synchronization error is artificially set and retransmission is triggered. For this method, the timing deviation is calculated based on the error timestamp and the instruction frame reception timestamp. After exceeding the synchronization threshold (15μs), the delay accumulation calculation is started, and the local timing window is corrected by Kalman filtering and joint state estimation. For scheme B (without timing correction), only the timing deviation of each communication round is recorded, and the change of timing deviation in 12 consecutive communication rounds is statistically analyzed.

[0109] Table 4. Timing deviation of packet communication varies with communication rounds (μs)

[0110]

[0111] Table 4 and Figure 6 The results show that the timing deviation of Scheme B without timing correction accumulates linearly with each communication round, reaching 201 μs in the 12th round. After joint correction by retransmission and Kalman filtering, the deviation of this method drops to 22 μs in the 4th round and gradually converges to around 8 μs, with a steady-state deviation reduction of about 96%, and remains below the synchronization threshold. This indicates that this method can effectively suppress timing drift and delay accumulation caused by synchronization errors and retransmissions, ensuring the timing stability of multi-robot group communication and the timeliness of position calibration data exchange.

[0112] Example 3:

[0113] S1 includes acquiring the hybrid carrier signal in the power line, performing time-frequency decomposition on the hybrid carrier signal using wavelet transform to obtain the energy distribution; if the energy distribution is greater than a preset energy threshold, it is determined that the energy distribution corresponds to the pulse interference feature; if the energy distribution is less than or equal to the preset energy threshold, it is determined that the energy distribution corresponds to the original carrier feature; and performing matrix concatenation on the pulse interference feature and the original carrier feature to obtain a multi-scale time-frequency matrix containing the pulse interference feature and the original carrier feature.

[0114] In this embodiment, the mixed carrier signal in the power line is first collected and then converted into a discrete sampling sequence according to a preset sampling frequency.

[0115] Specifically, the discrete sampling sequence is input into the wavelet decomposition process, and the low-frequency and high-frequency components are decomposed layer by layer according to the preset number of decomposition layers to obtain the wavelet coefficients corresponding to each scale. Each scale corresponds to a certain frequency range, and each wavelet coefficient corresponds to a certain sampling time. The time-frequency components corresponding to the same scale can be obtained by arranging the wavelet coefficients in chronological order.

[0116] When calculating the energy of time-frequency components at each scale, the wavelet coefficients at the corresponding time position are squared, and the squared value is used as the energy value at that time position. When a sliding time window is used, all wavelet coefficients within the time window are squared and summed, and the summation result is used as the energy value corresponding to that time window.

[0117] After calculating the energy values ​​at each time position or time window in sequence, they are arranged according to scale order and time order to form an energy distribution that corresponds one-to-one with the wavelet decomposition results.

[0118] The preset energy threshold is determined based on the baseline energy level of the current hybrid carrier signal.

[0119] Specifically, after wavelet decomposition, the maximum and minimum energy values ​​are removed from all energy values ​​at the corresponding scale. The remaining energy values ​​are then summed, and the sum is divided by the number of remaining energy values ​​to obtain the reference energy value for that scale. The reference energy value is then multiplied by a pre-set threshold coefficient, and the result is used as the energy threshold for that scale. The threshold coefficient is determined by carrier signal samples under no-pulse interference conditions before the equipment is put into operation and remains unchanged under the same operating parameters.

[0120] By adopting the above method, different scales can have corresponding energy thresholds, avoiding judgment bias when using the same value for different frequency ranges.

[0121] Furthermore, after obtaining the energy thresholds corresponding to each scale, the energy values ​​at each time location or time window are compared.

[0122] If the current energy value is greater than the energy threshold corresponding to the scale, the wavelet time-frequency data corresponding to that time position is determined to be a pulse interference feature; if the current energy value is less than or equal to the energy threshold corresponding to the scale, the wavelet time-frequency data corresponding to that time position is determined to be an original carrier feature. In this determination process, the energy value and energy threshold participating in the comparison are both from the same scale, thereby ensuring that the comparison objects correspond to the same frequency range.

[0123] For the identified pulse interference features, their corresponding wavelet coefficients, time index, and scale index are retained; for the identified original carrier features, their corresponding wavelet coefficients, time index, and scale index are also retained; the two types of features are classified only based on the energy comparison results, without changing the positional relationship of the original wavelet coefficients in the time-frequency domain.

[0124] When performing matrix concatenation of impulse interference features and original carrier features, the wavelet decomposition scale is used as the row index of the matrix, and the sampling time position is used as the column index of the matrix.

[0125] For each matrix position, write the pulse interference feature data or the original carrier feature data according to the energy determination result corresponding to that position; after writing the data for all positions, a multi-scale time-frequency matrix containing pulse interference features and original carrier features is obtained.

[0126] Therefore, each element in the multi-scale time-frequency matrix can correspond to a specific time position and a specific scale position of the original hybrid carrier signal, and retain the feature category corresponding to that position.

[0127] After the multi-scale time-frequency matrix is ​​generated, it continues to be used as the input of S2; S2 extracts the time-frequency components at the preset scale, determines the transient energy change position along the time direction, and then determines the pulse interference segment based on the comparison result of the amplitude of the transient energy change point and the energy threshold.

[0128] Example 4:

[0129] S2 includes extracting time-frequency components corresponding to a preset scale based on a multi-scale time-frequency matrix, calculating the energy envelope of the time-frequency components to obtain transient energy, performing differential operations on the transient energy to extract transient energy mutation points and the amplitude of the mutation points, and determining that the transient energy mutation point is a pulse interference segment if the amplitude is greater than a preset energy threshold.

[0130] In this embodiment, S2 uses the multi-scale time-frequency matrix obtained by S1 as input.

[0131] Each row in the multi-scale time-frequency matrix corresponds to a different wavelet decomposition scale, and each column corresponds to a continuous sampling time of the hybrid carrier signal.

[0132] The preset scale is determined during the equipment commissioning phase. Specifically, the same wavelet decomposition as in the actual operation phase is performed on carrier samples in the absence of pulse interference and carrier samples containing pulse interference, respectively. The average energy difference between the two types of samples is calculated at each scale, and the scale with the largest average energy difference is determined as the preset scale. When the carrier frequency band, sampling frequency, and wavelet decomposition level remain unchanged, the same preset scale is used for subsequent processing.

[0133] Furthermore, a row of time-frequency data corresponding to a preset scale is extracted from the multi-scale time-frequency matrix, and restored to the time-frequency components corresponding to that scale in chronological order.

[0134] The wavelet coefficients in the time-frequency components are squared to obtain the instantaneous energy corresponding to each sampling time. Then, a sliding time window of fixed length is set and moved along the time direction in steps of 1 sampling point. Each time the window moves, all the instantaneous energies in the current time window are added together and the sum is assigned to the center time of the time window. After all time windows are processed, the sums corresponding to each center time are arranged in chronological order to form an energy envelope. The values ​​in the energy envelope are the transient energy at the corresponding time.

[0135] After obtaining the transient energy, a difference operation is performed on the transient energy at two adjacent time points.

[0136] Specifically, the transient energy at the current moment is subtracted from the transient energy at the previous moment to obtain the energy difference at the current moment. The absolute value of the energy difference is then taken as the energy change amplitude at the current moment. After performing the difference operation on all adjacent moments in sequence, the energy change amplitude sequence corresponding to the time position is obtained.

[0137] The transient energy change point is determined based on the magnitude of the energy change.

[0138] Specifically, carrier samples are first collected under no-pulse interference conditions. The energy change amplitude sequence is obtained by performing wavelet decomposition, energy envelope calculation, and differential operation processes, which are the same as those used in the actual operation phase. After removing the maximum and minimum values ​​from the sequence, the remaining energy change amplitudes are added together and divided by the number of remaining energy change amplitudes to obtain the baseline change amplitude. The baseline change amplitude is then multiplied by a preset mutation coefficient to obtain the mutation judgment threshold. The preset mutation coefficient is determined during the equipment debugging phase using labeled pulse interference samples. The minimum coefficient is selected so that all labeled pulse interference positions are detected and pulse interference-free positions are not judged as mutation points, and it remains unchanged under the same communication parameters.

[0139] Furthermore, the magnitude of each energy change obtained during actual operation is compared with the mutation determination threshold one by one.

[0140] When the energy change amplitude at a certain moment is greater than the mutation judgment threshold, that moment is determined as a transient energy mutation point, and the corresponding energy change amplitude at that moment is taken as the amplitude of the mutation point; when the energy change amplitude is less than or equal to the mutation judgment threshold, that moment is not determined as a transient energy mutation point.

[0141] For a determined transient energy mutation point, its amplitude is compared with a preset energy threshold; the energy threshold is determined based on energy data under a preset scale in the absence of pulse interference.

[0142] Specifically, the process involves: collecting carrier samples under no-pulse interference conditions, performing wavelet decomposition on them in the same way as in the actual operation phase, extracting the time-frequency components corresponding to the preset scale, squaring each wavelet coefficient to obtain the energy value; removing the maximum and minimum values ​​from all energy values, adding the remaining energy values ​​and dividing by the number of remaining energy values ​​to obtain the reference energy value; then multiplying the reference energy value by a preset threshold coefficient, and using the result as the energy threshold; the preset threshold coefficient is determined through pulse interference samples during the equipment debugging phase and is consistent with the energy determination parameters used in step S1.

[0143] Specifically, when the amplitude of the transient energy mutation point is greater than the energy threshold, the position corresponding to the mutation point is determined as the reference position of the pulse interference segment.

[0144] Centered on the reference position, the energy envelope values ​​of adjacent positions are checked forward and backward along the time axis respectively. If the energy envelope value of an adjacent position is greater than the energy threshold, the position is incorporated into the current pulse interference segment. If the energy envelope value of an adjacent position is less than or equal to the energy threshold, the expansion in the corresponding direction is stopped. The first sampling position after the forward expansion stop position is taken as the starting position of the pulse interference segment, and the last sampling position before the backward expansion stop position is taken as the ending position of the pulse interference segment, thereby obtaining a pulse interference segment with a defined time range.

[0145] Example 5:

[0146] S3 includes obtaining an adaptive threshold, which is obtained by calculating the background noise distribution based on the local variance of the impulse interference segment; determining a zeroing interval, which is determined when the impulse interference segment is greater than the adaptive threshold; obtaining a correction coefficient matrix, which is obtained by multiplying the original time-frequency coefficients by the interference suppression matrix constructed based on the zeroing interval; and obtaining a denoised first carrier signal, which is obtained by filtering out the baseline drift component from the reconstructed sequence extracted by the inverse wavelet transform of the correction coefficient matrix.

[0147] In this embodiment, S3 uses the pulse interference segment determined by S2 as the processing object and calls the original time-frequency coefficients obtained by wavelet decomposition in step S1.

[0148] Specifically, for each pulse interference segment, its starting and ending sampling positions are first determined, and then a preset number of sampling points are extended forward and backward from the segment as the center to form a local analysis interval. The positions within the local analysis interval that have been identified as pulse interference by S2 are not included in the background noise statistics, and the wavelet coefficients corresponding to the remaining positions are used as background noise samples.

[0149] The adaptive threshold is calculated based on the local variance of the background noise samples.

[0150] Specifically, first, the wavelet coefficients corresponding to all background noise samples within the local analysis interval are summed, and then the sum is divided by the number of background noise samples to obtain the local average value. Subsequently, the local average value is subtracted from the wavelet coefficient corresponding to each background noise sample, the difference is squared, all squared results are summed, and the sum is divided by the number of background noise samples to obtain the local variance. The square root of the local variance is then taken to obtain the standard deviation of the background noise corresponding to the current impulse interference segment. The standard deviation of the background noise is multiplied by the threshold coefficient, and the resulting value is determined as the adaptive threshold of the current impulse interference segment.

[0151] The threshold coefficient is determined during the equipment commissioning phase.

[0152] Specifically, carrier samples without pulse interference and carrier samples containing labeled pulse interference locations are collected. Wavelet decomposition and local variance calculation are performed on the two types of samples in the same way as in the actual operation phase, and corresponding thresholds are generated by using different threshold coefficients in sequence. The minimum threshold coefficient that can make the wavelet coefficients corresponding to the labeled pulse interference locations identified as exceeding the threshold coefficients, while preventing the background noise coefficients in the pulse-free interference samples from being identified as exceeding the threshold coefficients, is used as the threshold coefficient used in the actual operation phase. The threshold coefficients remain unchanged when the sampling frequency, wavelet basis, number of decomposition levels, and carrier frequency band remain unchanged.

[0153] Furthermore, after obtaining the adaptive threshold, within the time range corresponding to the pulse interference segment, the absolute value of each original time-frequency coefficient is calculated one by one and compared with the adaptive threshold corresponding to the pulse interference segment.

[0154] When the absolute value of the original time-frequency coefficient at a certain position is greater than the adaptive threshold, that position is determined as a position to be set to zero; when the absolute value of the original time-frequency coefficient is less than or equal to the adaptive threshold, that position does not enter the zeroing range.

[0155] The zero position to be set is judged continuously according to the time sequence.

[0156] Specifically, consecutive adjacent positions to be zeroed are divided into the same zeroing interval, where the first position to be zeroed is the starting position of the zeroing interval, and the last consecutive position to be zeroed is the ending position of the zeroing interval; if there are more than two sets of discontinuous positions to be zeroed within the same pulse interference segment, corresponding zeroing intervals are formed respectively; through the above processing, the zeroing interval only covers the time-frequency positions in the pulse interference segment that actually exceed the adaptive threshold.

[0157] Furthermore, after determining the zeroing interval, an interference suppression matrix is ​​constructed according to the number of rows and columns of the original time-frequency coefficient matrix.

[0158] Specifically, positions in the original time-frequency coefficient matrix that are in the zero-set interval are assigned a value of 0 in the corresponding position of the interference suppression matrix; positions that are not in the zero-set interval are assigned a value of 1 in the corresponding position of the interference suppression matrix.

[0159] Therefore, the interference suppression matrix maintains the same scale index and time index as the original time-frequency coefficient matrix.

[0160] Subsequently, the interference suppression matrix and the original time-frequency coefficient matrix are multiplied item by item according to the same row and column positions. For the zeroing interval, the corresponding interference suppression matrix element is 0, and the original time-frequency coefficient at that position becomes 0 after multiplication. For positions outside the zeroing interval, the corresponding interference suppression matrix element is 1, and the original time-frequency coefficient at that position retains its original value after multiplication. After completing the item-by-item multiplication of all matrix elements, the correction coefficient matrix is ​​obtained. Thus, the correction coefficient matrix retains the time-frequency coefficients that have not been identified as interference and sets the interference coefficients in the zeroing interval to zero.

[0161] After obtaining the correction coefficient matrix, the inverse wavelet transform is performed in reverse order of wavelet decomposition of S1.

[0162] Specifically, starting from the last decomposition scale, the corrected detail coefficients are combined with the corresponding approximation coefficients, and the time-domain components of the previous scale are recovered step by step until the inverse transformation of all decomposition scales is completed, resulting in a reconstructed sequence; the reconstructed sequence has removed the impulse interference coefficients corresponding to the zeroing interval.

[0163] Considering that the reconstructed sequence may still retain baseline drift components formed by line DC bias and sampling zero offset, baseline estimation is further performed on the reconstructed sequence.

[0164] Specifically, a sliding window of a preset length moves point by point along the reconstruction sequence. At each window position, all sampled values ​​within the window are added together and then divided by the number of sampled points within the window to obtain the baseline value corresponding to the center sampling position of that window. After calculating all window positions in sequence, a baseline sequence corresponding to the time position of the reconstruction sequence is formed.

[0165] In this embodiment, the length of the sliding window is determined based on the carrier symbol period.

[0166] Specifically, the time length corresponding to the window is set to one complete carrier symbol period, and is converted into the corresponding number of sampling points according to the sampling frequency; when the carrier symbol period and sampling frequency remain unchanged, the sliding window length remains unchanged; the baseline estimation is performed using the complete carrier symbol period, so that the baseline calculation extracts the average change spanning one complete symbol period.

[0167] Finally, the baseline value corresponding to the same time position is subtracted from the value at each sampling position in the reconstructed sequence to obtain the time-domain sequence after removing the baseline drift component, and this time-domain sequence is determined as the first carrier signal.

[0168] Example 6:

[0169] S4 includes acquiring a first carrier signal, processing the first carrier signal to obtain a time-domain envelope, constructing a time-domain envelope feature sequence based on the amplitude fluctuation value of the time-domain envelope, inputting the time-domain envelope feature sequence into a pre-trained support vector machine for classification and recognition, and obtaining a classification and recognition result; if the classification and recognition result is a synchronization identifier, extracting the decision boundary corresponding to the synchronization identifier to obtain position information; and determining the position of the frame synchronization header in the first carrier signal based on the position information.

[0170] In this embodiment, S4 takes the first carrier signal obtained in S3 as input; firstly, the envelope of the first carrier signal is extracted.

[0171] Specifically, a Hilbert transform is performed on the first carrier signal to obtain an analytical component orthogonal to the first carrier signal. Then, the sampled values ​​of the first carrier signal and the analytical component at the same sampling position are squared respectively. The square root of the sum of the two squared results is used as the envelope amplitude at that sampling position. After calculating point by point according to the sampling time sequence, the time-domain envelope corresponding to the sampling position of the first carrier signal is obtained.

[0172] After obtaining the temporal envelope, the amplitude fluctuation value is calculated based on the envelope amplitude of adjacent sampling positions.

[0173] Specifically, the envelope amplitude of the current sampling position is subtracted from the envelope amplitude of the previous sampling position, and the absolute value of the difference is taken as the amplitude fluctuation value of the current sampling position. After the calculation of all adjacent sampling positions is completed in sequence, an amplitude fluctuation sequence arranged in chronological order is formed.

[0174] Furthermore, the feature extraction window length is determined based on the duration of the frame synchronization header.

[0175] Specifically, the duration of the frame synchronization header is multiplied by the sampling frequency of the first carrier signal, and the resulting number of sampling points is used as the number of sampling points contained in one feature extraction window. One sampling point is used as the moving step size, and the feature extraction window is moved sequentially along the amplitude fluctuation sequence. The amplitude fluctuation values ​​in each window are arranged in chronological order to form a set of time-domain envelope feature sequences. Thus, each set of time-domain envelope feature sequences corresponds to a specific time interval in the first carrier signal.

[0176] In addition, the support vector machine is trained before actual communication.

[0177] During training, carrier samples with known frame synchronization header positions are selected, and training samples are generated using the same envelope extraction, amplitude fluctuation calculation, and feature extraction window partitioning process as in the actual operation phase. Training samples corresponding to the complete frame synchronization header positions are marked as synchronization identifiers, and the remaining training samples are marked as asynchronous identifiers. The support vector machine determines the classification hyperplane based on the distribution of the two types of training samples in the feature space, and saves the support vectors, weight parameters, and bias parameters used to form the classification hyperplane.

[0178] In actual recognition, the envelope feature sequences of each time domain are input into the already trained support vector machine one by one in chronological order.

[0179] For each set of temporal envelope feature sequences, the support vector machine calculates the mapping result between the feature sequence and each support vector. Then, it performs a weighted summation of each mapping result according to the weight parameters saved after training, and adds a bias parameter to obtain the decision value corresponding to the feature sequence. When the decision value is on the side of the synchronization label, the feature sequence is determined to be a synchronization label; when the decision value is on the side of the asynchronous label, the feature sequence is determined to be an asynchronous label, thus obtaining the classification and recognition result.

[0180] When the classification and recognition result is a synchronization identifier, the decision boundary information corresponding to the synchronization identifier is extracted.

[0181] Specifically, the start sampling position, end sampling position, and decision value of the feature extraction window corresponding to the synchronization identifier are retained; if only one feature extraction window is determined to be a synchronization identifier, then the window is directly used as a candidate interval for the frame synchronization header; if two or more consecutive feature extraction windows are determined to be synchronization identifiers, then the absolute values ​​of the decision values ​​corresponding to each window are compared, and the window with the largest absolute value of the decision value is determined as a candidate interval for the frame synchronization header.

[0182] The absolute value of the decision value represents the distance between the current temporal envelope feature sequence and the classification boundary; the larger the absolute value of the decision value, the farther the position of the feature sequence within the synchronous identification classification region is from the classification boundary.

[0183] Therefore, when multiple consecutive windows obtain synchronization identifiers, the window with the largest absolute value of the decision value is used to determine the corresponding position information, which includes at least the starting sampling position of the window in the first carrier signal.

[0184] After obtaining the location information, the frame synchronization header position is determined based on the sampling index relationship of the first carrier signal.

[0185] Specifically, the starting sampling position of the candidate interval corresponding to the synchronization identifier is mapped to the same sampling position in the first carrier signal, and this sampling position is used as the starting position of the frame synchronization header. When it is necessary to convert to a time position, the sampling sequence number corresponding to the starting sampling position is divided by the sampling frequency of the first carrier signal to obtain the time interval relative to the start time of the current sampling sequence. Then, this time interval is added to the start time of the current sampling sequence to obtain the time position corresponding to the frame synchronization header.

[0186] Through the above processing, the first carrier signal is first converted into a time-domain envelope, and then the changes in the amplitude of adjacent envelopes are used to form a time-domain envelope feature sequence; the support vector machine identifies the synchronization identifier based on the classification boundary formed during the training phase, and determines the frame synchronization header position based on the decision value and sampling position corresponding to the synchronization identifier.

[0187] Example 7:

[0188] S5 includes obtaining the frame synchronization header position and a preset local timing window; calculating the difference between the frame synchronization header position and the local timing window to obtain a timing deviation value; determining whether the timing deviation value is greater than a tolerance threshold; if the timing deviation value is greater than the tolerance threshold, determining that a synchronization error has occurred and generating a synchronization error flag; extracting the clock count value based on the synchronization error flag to obtain a time series; encoding and converting the time series to obtain an error timestamp; and concatenating the error timestamps to construct a retransmission request instruction containing the error timestamps.

[0189] In this embodiment, S5 receives the frame synchronization header position determined by S4 and reads the local timing window corresponding to the current group.

[0190] The local timing window is defined by the window start time and the window end time. First, the window start time and the window end time are added together, and then the result is divided by 2 to obtain the center time of the local timing window. Then, the time corresponding to the frame synchronization header position is subtracted from the center time, and the absolute value of the subtraction result is taken to obtain the timing deviation value of the frame synchronization header relative to the center position of the local timing window.

[0191] The tolerance threshold is determined based on the duration of the local timing window.

[0192] Specifically, the duration of the local timing window is obtained by subtracting the window start time from the window end time. This duration is then divided by 2, and the resulting time value is used as the tolerance threshold. After determining the tolerance threshold in this way, when the frame synchronization header is within the local timing window, its timing deviation value is less than or equal to the tolerance threshold. When the frame synchronization header is earlier than the window start time or later than the window end time, its timing deviation value is greater than the tolerance threshold. Therefore, the comparison result between the timing deviation value and the tolerance threshold directly corresponds to whether the frame synchronization header falls within the local timing window.

[0193] Furthermore, after obtaining the timing deviation value, the timing deviation value is compared with the tolerance threshold.

[0194] If the timing deviation value is less than or equal to the tolerance threshold, the current synchronization state is maintained and no synchronization error handling is performed; if the timing deviation value is greater than the tolerance threshold, it is determined that the actual frame synchronization header has exceeded the local timing window, a synchronization error is determined to have occurred, and a synchronization error flag is generated; the synchronization error flag is written to a preset status bit, which is used to trigger the generation of subsequent clock count extraction and retransmission request instructions.

[0195] When generating a synchronization error flag, the current count value of the robot's local clock counter is read synchronously. The local clock counter increments continuously according to a fixed counting period, with each increment corresponding to a fixed timing period. The count value read when the synchronization error flag is generated is used as the counting result at the time of the synchronization error. The count values ​​are then arranged according to their original high and low bit order to obtain the time sequence corresponding to the time of the synchronization error.

[0196] The time series was then encoded and converted.

[0197] Specifically, the clock count value is first multiplied by the single counting period of the local clock counter to obtain the cumulative time from the preset timing start point to the time when the synchronization error occurs; then the cumulative time is converted into the minimum time unit used by the retransmission request command, and the resulting integer result is used as the time code value; the time code value is split into fixed-length data units in order from the high bit to the low bit, and written into the error time field in sequence to obtain the error timestamp; the data length and minimum time unit of the error time field are predetermined when the robot and the master control node establish communication parameters, and remain unchanged during the current group communication process.

[0198] To ensure that the error timestamp corresponds to the current synchronization error event, the current robot identifier, the current group identifier, and the frame sequence number corresponding to the synchronization error identifier are written into the data buffer to be sent when the time code value is generated.

[0199] Therefore, after receiving the retransmission request instruction, the master control node can determine the time when the synchronization error occurred based on the error timestamp, and determine the corresponding communication object and the data to be retransmitted based on the robot identifier, group identifier and frame sequence number.

[0200] Furthermore, after obtaining the error timestamp, a retransmission request instruction is constructed according to the preset communication frame format.

[0201] Specifically, the instruction type field, which indicates the type of retransmission request, is written first, followed by the robot identifier field, group identifier field, frame sequence number field, and error timestamp field. Each field is arranged continuously according to the predefined field length, and the error timestamp occupies a fixed data position and does not overlap with other fields.

[0202] After concatenating the above fields, perform verification calculations on the instruction type field, robot identifier field, group identifier field, frame sequence number field, and error timestamp field.

[0203] The verification calculation is performed byte by byte in a pre-defined byte order, and the resulting verification result is written to the verification field at the end of the retransmission request command. After the verification field is written, a complete retransmission request command containing the error timestamp is obtained.

[0204] After the retransmission request instruction is generated, it is sent to the master node according to S6 as defined in Embodiment 1.

[0205] The master control node determines the control data that needs to be retransmitted based on the error timestamp, robot identifier, group identifier and frame sequence number, thereby establishing a definite correspondence between the retransmission request and the current synchronization error.

[0206] Example 8:

[0207] S6 includes sending a retransmission request command to the master control node via a packet communication link, obtaining the second carrier signal issued by the master control node based on the retransmission request command; extracting phase offset features from the second carrier signal to obtain a carrier demodulation sequence, and demodulating the second carrier signal through the carrier demodulation sequence to obtain a baseband data stream; dividing the baseband data stream according to the frame delimiter in the baseband data stream to determine the initial command frame; if the initial command frame matches the integrity rule, extracting position calibration data from the initial command frame, and parsing the command frame containing the position calibration data from the second carrier signal.

[0208] In this embodiment, after the robot generates a retransmission request command in S5, it sends it to the master control node through the communication link corresponding to the current group.

[0209] After receiving the retransmission request instruction, the master control node reads the robot identifier, group identifier, frame sequence number and error timestamp, retrieves the corresponding control data to be retransmitted, and re-encapsulates it according to the predetermined communication frame format before carrier modulation to form a second carrier signal. The robot receives the second carrier signal in the receiving time slot corresponding to the current group and uses the received discrete sampling sequence as the input for subsequent demodulation.

[0210] For the second carrier signal, the symbol interval is first divided according to the number of sampling points corresponding to each carrier symbol.

[0211] For each symbol interval, the sampled values ​​within the interval are multiplied point by point with the local cosine reference sequence and sine reference sequence, and the multiplication results are summed to obtain the in-phase component and quadrature component corresponding to the carrier symbol. The phase position of the carrier symbol is then determined based on the in-phase component and quadrature component. According to the symbol reception order, the phase position of the current carrier symbol is subtracted from the phase position of the previous carrier symbol to obtain the phase offset between adjacent carrier symbols.

[0212] When performing boundary correction on the phase offset, one complete phase period is used as the correction reference. If the phase difference between two adjacent carrier symbols crosses the phase period boundary, one complete phase period is added or subtracted from the original phase difference to make the corrected phase offset fall within the phase decision range specified by the communication protocol. After completing the phase offset calculation for all carrier symbols in sequence, the phase offset features arranged in chronological order are obtained.

[0213] In this embodiment, the carrier demodulation sequence is generated based on phase offset characteristics.

[0214] Specifically, each modulation state adopted by the master control node corresponds to a predetermined phase offset interval; each phase offset is compared with the interval corresponding to each modulation state, and when it falls into a certain modulation state interval, the carrier symbol is marked as the corresponding data state; the data states are arranged continuously according to the receiving order of the carrier symbols to obtain the carrier demodulation sequence; the phase decision interval is determined by both parties in the communication parameter establishment stage based on the phase modulation method adopted, and remains unchanged in the current communication mode.

[0215] Furthermore, after obtaining the carrier demodulation sequence, the baseband data is recovered according to the modulation mapping relationship.

[0216] Specifically, for each data state in the carrier demodulation sequence, the corresponding bit combination is found and arranged sequentially according to the original carrier symbol order; after the mapping of all data states is completed, the consecutive bits are grouped from front to back according to the number of bytes specified by the communication protocol, and each group of bits is converted into 1 data byte, thereby forming the baseband data stream.

[0217] Subsequently, the initial instruction frame is determined based on the frame delimiter in the baseband data stream; starting from the beginning of the baseband data stream, matching is performed byte by byte according to the frame delimiter length specified in the communication protocol.

[0218] When continuous data is completely consistent with the start frame delimiter, the position is recorded as the start point of the instruction frame; the end frame delimiter is searched from the start point; when a data sequence that is completely consistent with the end frame delimiter is detected, the continuous data between the start frame delimiter and the end frame delimiter is extracted and determined as the initial instruction frame; if there are multiple consecutive frames in the baseband data stream, the division is completed in the same way.

[0219] When performing an integrity check on the initial instruction frame, first read the length field and then calculate the actual length of the captured frame data.

[0220] If the length recorded in the length field matches the actual data length, the field position check continues; if they do not match, the initial instruction frame is determined to be inconsistent with the integrity rules. The field position check verifies whether the instruction type field, robot identifier field, group identifier field, position data field, and verification field are all located in the specified data positions according to the preset frame format.

[0221] Furthermore, after the length and field positions meet the requirements, the initial instruction frame is validated.

[0222] Specifically, following the same verification order as the master control node's sending end, each data byte except the verification field is sequentially verified to obtain a local verification result. The local verification result is then compared with the verification data carried in the initial command frame. If the two verification results match, the initial command frame is determined to match the integrity rule. If the two verification results do not match, the initial command frame is determined to be invalid, and the position calibration data is not extracted from it.

[0223] After the initial instruction frame matches the integrity rules, the frame is confirmed to be a position calibration instruction based on the instruction type field, and the position data field is read according to the preset frame format.

[0224] The position data field is limited by a fixed starting byte and a fixed field length. The corresponding bytes are combined according to the high and low bit order specified by the protocol to obtain the position calibration data. If the position data is transmitted in integer units, the combined integer value is multiplied by the minimum position unit specified in the communication protocol to restore the actual position calibration value. If the position data is represented in two's complement, the positive and negative directions are first determined according to the highest bit of the field, and then the corresponding position correction amount is restored according to the two's complement rules.

[0225] After the position calibration data extraction is completed, the initial command frame that passes the integrity rule check is determined to be a valid command frame, thereby parsing the command frame containing the position calibration data from the second carrier signal.

[0226] Example 9:

[0227] S7 includes obtaining the error timestamp in the retransmission request instruction and the reception timestamp of the instruction frame, and performing differential processing to obtain an initial time difference sequence; performing filtering processing based on the initial time difference sequence to obtain the timing deviation value of the current packet communication link; if the timing deviation value exceeds the synchronization threshold, determining the delay accumulation period based on the link state characteristics of the current packet communication link; and performing compensation calculation on the timing deviation value based on the delay accumulation period to obtain the delay accumulation time of the current packet communication link.

[0228] In this embodiment, S7 uses the error timestamp carried in the aforementioned retransmission request instruction and the receiving timestamp recorded when S6 obtains a valid instruction frame as the time reference; for the retransmission process corresponding to the same synchronization error, the error timestamp in the retransmission request instruction is associated with the receiving timestamp of the instruction frame returned by the master control node, and the receiving timestamp is subtracted from the error timestamp to obtain the time difference corresponding to the retransmission process; the same calculation is performed on the consecutive retransmission processes in chronological order, and the obtained time differences are arranged in sequence to form an initial time difference sequence.

[0229] Furthermore, after obtaining the initial time difference sequence, the time difference data is filtered.

[0230] Specifically, according to the pre-set filter window length, continuous time difference data is extracted backward from the current time difference; all time differences within the window are added together and then divided by the number of data within the window to obtain the average time difference of the window; subsequently, the current time difference is subtracted from the average time difference of the window and the absolute value is taken to determine whether the current time difference belongs to abnormal fluctuation; if the absolute value is greater than the abnormal fluctuation threshold, the current time difference is replaced by the average time difference of the window; if the absolute value is less than or equal to the abnormal fluctuation threshold, the current time difference is retained; after completing the correction of each data within the window, the corrected time differences are added together and then divided by the number of data involved in the calculation, and the result is determined as the timing deviation value of the current packet communication link.

[0231] In this embodiment, the abnormal fluctuation threshold is determined during the equipment debugging phase based on the time difference fluctuation under normal synchronization.

[0232] Specifically, time difference data under normal synchronization is continuously collected. First, the average value of all time differences is calculated. Then, the absolute difference between each time difference and the average value is calculated. All absolute differences are added together and divided by the number of data points to obtain the basic fluctuation value. The basic fluctuation value is multiplied by a pre-set fluctuation coefficient, and the result is used as the abnormal fluctuation threshold. The fluctuation coefficient is determined by comparing normal synchronization samples with labeled abnormal delay samples. The smallest coefficient that can retain normal time differences and exclude abnormal delay time differences is selected and remains unchanged under the same communication parameters.

[0233] Furthermore, after obtaining the timing deviation value of the current packet communication link, it is compared with the synchronization threshold. The synchronization threshold is determined based on the time offset range allowed by the local timing window.

[0234] Specifically, the start and end times of the current local timing window are read, the end time is subtracted from the start time to obtain the window duration, and the window duration is divided by 2 to obtain the time length from the center position of the local timing window to any boundary. This time length is used as the synchronization threshold. After adopting this determination method, when the timing deviation value does not exceed the synchronization threshold, the corresponding time offset is still within the allowable range of the current local timing window; when the timing deviation value exceeds the synchronization threshold, delay accumulation processing is initiated.

[0235] When the timing deviation exceeds the synchronization threshold, the link status characteristics of the current packet communication link are read.

[0236] Specifically, the link status characteristics consist of the consecutive frame arrival interval, the number of consecutive retransmissions, and the number of consecutive threshold exceedances. The consecutive frame arrival interval is obtained by subtracting the reception timestamps of two adjacent valid instruction frames. The number of consecutive retransmissions is obtained by accumulating the number of retransmission request instructions generated consecutively in the same group link. The number of consecutive threshold exceedances is counted according to the number of times the timing deviation value is greater than the synchronization threshold in the continuous communication cycle.

[0237] When determining the delay accumulation period based on the above link status characteristics, the communication period in which the timing deviation value first exceeds the synchronization threshold is taken as the starting period, and the link status is checked period by period starting from that period.

[0238] When the timing deviation value continues to exceed the synchronization threshold in subsequent communication cycles and the number of consecutive retransmissions is not cleared to zero, the corresponding communication cycle is included in the current delay accumulation cycle; when the timing deviation value recovers to less than or equal to the synchronization threshold, or the number of consecutive retransmissions is cleared to zero, the previous communication cycle is determined as the end cycle of this delay accumulation cycle; the number of communication cycles contained between the start cycle and the end cycle is the delay accumulation cycle.

[0239] Furthermore, after obtaining the delay accumulation period, compensation calculations are performed on the timing deviation values ​​within that period range.

[0240] Specifically, the timing deviation value of each communication cycle within the delay accumulation period is read one by one, and the synchronization threshold is subtracted from each value. The result is used to represent the amount of time that the communication cycle exceeds the allowable timing range. If the subtraction result is greater than 0, the result is retained as the over-limit time of the communication cycle. If the subtraction result is less than or equal to 0, the over-limit time of the communication cycle is recorded as 0. Subsequently, the over-limit times of each communication cycle within the delay accumulation period are added together in sequence, and the cumulative result is determined as the delay accumulation time of the current packet communication link.

[0241] Example 10:

[0242] S8 includes using Kalman filtering to perform joint state estimation of timing deviation value and cumulative delay time to obtain an initial state estimation matrix; extracting error timestamps based on the initial state estimation matrix, locating the frame synchronization header position through the error timestamps to obtain an estimated correction amount; correcting the initial state estimation matrix with the estimated correction amount to obtain a corrected state matrix; reconstructing the corrected state matrix based on the corrected state matrix to obtain the corrected packet communication timing; and adjusting the local timing window based on the corrected packet communication timing.

[0243] In this embodiment, S8 receives the timing deviation value and cumulative delay time output by S7, and updates the status according to the communication cycle.

[0244] First, a data matrix is ​​established to store the current link timing state, which includes at least the timing deviation state, the delay accumulation state, and the error timestamp corresponding to the current synchronization error. The error timestamp uses the time information generated by S5 and transmitted with the retransmission request command, so that subsequent state corrections can correspond to the specific frame position where the synchronization error occurred.

[0245] When performing Kalman filtering on the timing deviation value and the cumulative delay time, the timing deviation estimation result and the cumulative delay estimation result saved in the previous communication cycle are read first. For the timing deviation state, the timing deviation estimation result of the previous communication cycle is used as the prediction basis for the current communication cycle, and the timing change amount detected between the two communication cycles is added to obtain the current timing deviation prediction value. For the cumulative delay state, the cumulative delay estimation result of the previous communication cycle is used as the basis, and the newly added over-limit time calculated by S7 in the current communication cycle is added to obtain the current cumulative delay prediction value.

[0246] Subsequently, the actual timing deviation value obtained by S7 is subtracted from the predicted timing deviation value to obtain the timing deviation prediction error; the actual accumulated delay time is subtracted from the predicted accumulated delay value to obtain the accumulated delay prediction error.

[0247] Kalman filtering determines correction weights for the two prediction errors based on predetermined process noise and observation noise. Then, it multiplies the prediction error by the corresponding correction weights and adds the resulting correction to the original prediction result to obtain the updated time series deviation estimate and delay accumulation estimate.

[0248] In this embodiment, process noise and observation noise are determined during the equipment commissioning phase.

[0249] Specifically, process noise is calculated based on the changes in timing deviation and cumulative delay between adjacent communication cycles under normal communication conditions. Specifically, the difference between the continuous state change and its average value is calculated, the difference is squared and summed, and then divided by the number of data involved in the calculation. The result is used as the process noise parameter for the corresponding state. Observation noise is calculated in the same way based on the timing deviation value and cumulative delay time repeatedly collected by the same link under the same communication conditions. When the sampling frequency, communication cycle and grouping parameters remain unchanged, the same set of noise parameters is used.

[0250] Furthermore, after completing the Kalman update, the updated timing deviation estimate, the cumulative delay estimate, and the error timestamp corresponding to the current synchronization error are written into the state matrix in the order of preset fields to obtain the initial state estimation matrix. The error timestamp in the initial state estimation matrix does not participate in the Kalman numerical filtering; its function is to establish the correspondence between the current estimated state and the specific synchronization error event.

[0251] Furthermore, after obtaining the initial state estimation matrix, the error timestamp is read from it, and the synchronization error occurrence time corresponding to the error timestamp is recovered according to the time coding rule adopted in S5; then the synchronization error occurrence time is subtracted from the start time of the current sampling sequence of the first carrier signal to obtain the time interval between the two; the time interval is divided by the sampling period corresponding to a single sampling point, and the integer result is the sampling position corresponding to the error timestamp; based on the sampling position, the corresponding frame synchronization header is located in the frame synchronization header position record obtained in S4.

[0252] Furthermore, after determining the frame synchronization header position, the local timing window used when the synchronization error occurred is read. The center time of the local timing window is obtained by adding the window start time and the window end time and dividing by 2.

[0253] Subsequently, the actual time of the frame synchronization header is compared with the window center time. When the actual time of the frame synchronization header is later than the window center time, the difference between the two time values ​​is used as the backward correction amount. When the actual time of the frame synchronization header is earlier than the window center time, the difference between the two time values ​​is used as the forward correction amount. The estimated correction amount is formed by the correction direction and the corresponding time difference.

[0254] When correcting the initial state estimation matrix using the estimated correction amount, the timing deviation estimate is processed first. If the frame synchronization header is later than the center time of the local timing window, the estimated correction amount is added to the original timing deviation estimate; if the frame synchronization header is earlier than the center time of the local timing window, the estimated correction amount is subtracted from the original timing deviation estimate. The cumulative delay estimate continues to use the result after Kalman filtering, without replacing it with the single position offset of the frame synchronization header. After completing the above processing, the corrected timing deviation estimate, cumulative delay estimate, and corresponding error timestamp are rewritten into the state matrix to form the corrected state matrix.

[0255] In the process of reconstructing the timing of packet communication based on the corrected state matrix, the original next frame reference reception time of the current packet is used as the starting point, and the reference reception time is first adjusted according to the corrected timing deviation estimate.

[0256] When the corrected timing deviation indicator frame arrives late, the reference reception time is shifted backward by the corresponding time; when the indicator frame arrives early, the reference reception time is shifted forward by the corresponding time. Then, the cumulative delay estimate in the corrected state matrix is ​​read and equally distributed according to the number of subsequent communication cycles that need to be compensated. The compensation time allocated to each communication cycle is continuously added to the reference reception time of the corresponding frame, thereby forming the corrected reception timing of each frame. The communication cycle length remains unchanged, and the adjustment object is the reference time corresponding to each communication frame.

[0257] Finally, adjust the local timing window according to the corrected packet communication timing.

[0258] The corrected next frame reference reception time is used as the new window center time, while keeping the original local timing window duration unchanged. First, the original window end time is subtracted from the start time to obtain the window duration, and then the duration is divided by 2 to obtain the window half-width. The new window start time is obtained by moving the half-width forward with the new window center time, and the new window end time is obtained by moving the same amount backward with the new window center time, thereby completing the local timing window adjustment.

[0259] The adjusted local timing window continues to be used for frame synchronization determination in S5.

[0260] When the synchronization header of a subsequent frame is within the new window range, the current corrected packet communication timing is maintained; when the synchronization header of a subsequent frame exceeds the window range again, the synchronization error recording, retransmission, timing deviation calculation, delay accumulation, and joint state estimation are re-executed as described above.

[0261] Example 11:

[0262] A power line carrier signal jamming immunity system for robots during grouping, comprising the steps of the aforementioned power line carrier signal jamming immunity method for robots during grouping, the system including:

[0263] The signal acquisition and decomposition module acquires the mixed carrier signal in the power line, and performs time-frequency decomposition on the mixed carrier signal through wavelet transform to obtain a multi-scale time-frequency matrix containing pulse interference characteristics and original carrier characteristics.

[0264] The pulse interference determination module extracts transient energy mutation points in the time-frequency components corresponding to a preset scale based on the multi-scale time-frequency matrix. If the amplitude of the transient energy mutation point is greater than the preset energy threshold, the transient energy mutation point is determined to be a pulse interference segment.

[0265] The signal denoising and reconstruction module uses an adaptive threshold method to zero out the pulse interference segments and then performs inverse wavelet transform on the zeroed signal to reconstruct the first carrier signal after denoising.

[0266] The frame synchronization recognition module extracts the time-domain envelope feature sequence from the first carrier signal, inputs the time-domain envelope feature sequence into a pre-trained support vector machine for classification and recognition, and determines the position of the frame synchronization header in the first carrier signal.

[0267] The synchronization error determination module determines that a synchronization error has occurred if the frame synchronization header position does not match the preset local timing window, and generates a retransmission request instruction containing the error timestamp.

[0268] The packet retransmission module sends a retransmission request command to the master control node through the packet communication link, obtains the second carrier signal issued by the master control node based on the retransmission request command, and parses the command frame containing position calibration data from the second carrier signal.

[0269] The timing deviation calculation module calculates the timing deviation value of the current packet communication link based on the error timestamp in the retransmission request instruction and the reception timestamp of the instruction frame. If the timing deviation value exceeds the preset synchronization threshold, the delay accumulation calculation mechanism is triggered to obtain the delay accumulation time of the current packet communication link.

[0270] The communication timing correction module uses Kalman filtering to perform joint state estimation of timing deviation value and cumulative delay time, and corrects the joint state estimation result according to the frame synchronization header position corresponding to the error timestamp to obtain the corrected packet communication timing, and adjusts the local timing window according to the corrected packet communication timing.

[0271] In this embodiment, the signal acquisition and decomposition module receives the mixed carrier signal in the power line, forms a discrete sampling sequence according to the preset sampling frequency, and then decomposes the mixed carrier signal into time-frequency components corresponding to different scales through wavelet transform.

[0272] The time-frequency data at each scale are arranged according to their time and scale positions, and the pulse interference characteristics are distinguished from the original carrier characteristics based on energy characteristics to form a multi-scale time-frequency matrix, which is then sent to the pulse interference determination module.

[0273] Furthermore, the pulse interference determination module extracts the time-frequency components corresponding to the preset scale from the multi-scale time-frequency matrix, calculates the energy envelope of the time-frequency components, and performs differential processing on the transient energy at adjacent time positions to obtain the transient energy abrupt change point and the corresponding amplitude.

[0274] When the amplitude of the mutation point is greater than the preset energy threshold, the time range where the mutation point is located is determined as a pulse interference segment, and the start and end positions of the pulse interference segment are sent to the signal denoising and reconstruction module.

[0275] Furthermore, the signal denoising and reconstruction module calculates the local variance based on the background noise data around the pulse interference segment, obtains an adaptive threshold from the local variance, and determines the zeroing interval based on the adaptive threshold. Then, it constructs an interference suppression matrix with the same size as the original time-frequency coefficients, sets the corresponding position of the zeroing interval to 0, and sets the other positions to 1, and multiplies it item by item with the original time-frequency coefficients to form a correction coefficient matrix. The correction coefficient matrix is ​​subjected to inverse wavelet transform, and the baseline drift component is filtered out from the obtained reconstruction sequence to obtain the first carrier signal.

[0276] In addition, the frame synchronization identification module extracts the time-domain envelope of the first carrier signal, constructs a time-domain envelope feature sequence based on the changes in the amplitude of adjacent envelopes, and then inputs it into a pre-trained support vector machine for classification and identification. When the classification result corresponds to the synchronization identifier, the frame synchronization header position is determined based on the decision result and sampling position corresponding to the synchronization identifier, and the position is sent to the synchronization error determination module.

[0277] The synchronization error determination module reads the frame synchronization header position and the current local timing window, and calculates the timing deviation of the frame synchronization header position relative to the center position of the local timing window.

[0278] When the timing deviation exceeds the tolerance threshold determined by the local timing window, a synchronization error flag is generated, the corresponding clock count value is read and encoded to form an error timestamp, and then the error timestamp is written into a preset field to construct a retransmission request instruction.

[0279] In addition, the packet retransmission module sends a retransmission request command to the master node through the communication link corresponding to the current packet, and receives the second carrier signal returned by the master node.

[0280] The phase offset features between adjacent carrier symbols are extracted from the second carrier signal to form a carrier demodulation sequence and recover it as a baseband data stream. Then, the baseband data stream is divided according to the frame delimiter. The length, field position and verification result of the obtained initial instruction frame are checked. If the integrity rules are met, the position calibration data is extracted to obtain a valid instruction frame.

[0281] Furthermore, the timing deviation calculation module reads the error timestamp and the received timestamp of the valid instruction frame, performs differential calculation on the two to form continuous time difference data, and obtains the timing deviation value of the current packet communication link after filtering.

[0282] When the timing deviation exceeds the synchronization threshold, the delay accumulation period is determined based on the consecutive frame arrival interval, the number of consecutive retransmissions, and the number of consecutive times the threshold is exceeded. The amount of time exceeding the synchronization threshold in each communication period is accumulated to obtain the delay accumulation time.

[0283] Furthermore, the communication timing correction module inputs the timing deviation value and the accumulated delay time into the Kalman filtering process to obtain the state estimation result of the current packet communication link; then, it locates the corresponding frame synchronization header position according to the error timestamp, and corrects the state estimation result according to the offset direction and offset time of the frame synchronization header relative to the center position of the local timing window; adjusts the reference reception time of subsequent communication frames according to the corrected state result to obtain the corrected packet communication timing, and redetermines the start and end times of the local timing window with the corrected reference reception time, thereby completing the timing correction of the current packet communication link.

[0284] Although embodiments of the invention have been shown and described, it will be understood by those skilled in the art that various changes, modifications, substitutions and alterations can be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the appended claims and their equivalents.

Claims

1. A method for resisting interference from power line carrier signals during robot grouping, characterized in that, include: S1. Obtain the mixed carrier signal in the power line, perform time-frequency decomposition on the mixed carrier signal, and obtain a multi-scale time-frequency matrix containing pulse interference characteristics and original carrier characteristics; S2. Based on the multi-scale time-frequency matrix, extract the transient energy mutation points in the time-frequency components corresponding to the preset scale. If the amplitude of the transient energy mutation point is greater than the preset energy threshold, then the transient energy mutation point is determined to be a pulse interference segment. S3. Zero out the pulse interference segment and reconstruct the signal after zeroing by inverse wavelet transform to obtain the first carrier signal after denoising. S4. Extract the time-domain envelope feature sequence from the first carrier signal, input the time-domain envelope feature sequence into a pre-trained support vector machine for classification and recognition, and determine the position of the frame synchronization header in the first carrier signal; S5. If the frame synchronization header position does not match the preset local timing window, a synchronization error is determined to have occurred, and a retransmission request instruction containing the error timestamp is generated. S6. Send a retransmission request command to the master control node through the group communication link, obtain the second carrier signal issued by the master control node based on the retransmission request command, and parse the command frame containing position calibration data from the second carrier signal. S7. Calculate the timing deviation value of the current packet communication link based on the error timestamp in the retransmission request instruction and the reception timestamp of the instruction frame. If the timing deviation value exceeds the preset synchronization threshold, trigger the delay accumulation calculation mechanism to obtain the delay accumulation time of the current packet communication link.

2. The method for anti-interference of power line carrier signals during grouping for robots according to claim 1, characterized in that: S1 includes: The mixed carrier signal in the power line is acquired, and the energy distribution is obtained by time-frequency decomposition of the mixed carrier signal through wavelet transform; If the energy distribution is greater than the preset energy threshold, then the energy distribution is determined to correspond to pulse interference characteristics; If the energy distribution is less than or equal to the preset energy threshold, then the energy distribution is determined to correspond to the original carrier characteristics; The pulse interference features and the original carrier features are matrix-concatenated to obtain a multi-scale time-frequency matrix containing both pulse interference features and the original carrier features.

3. The method for anti-interference of power line carrier signals during grouping for robots according to claim 1, characterized in that: S2 includes: Extract time-frequency components corresponding to a preset scale from the multi-scale time-frequency matrix, and calculate the energy envelope of the time-frequency components to obtain the transient energy. Perform differential operations on transient energy to extract transient energy abrupt change points and their amplitudes; If the amplitude is greater than the preset energy threshold, the transient energy change point is determined to be a pulse interference segment.

4. The method for anti-interference of power line carrier signals during grouping for robots according to claim 1, characterized in that: S3 includes: An adaptive threshold is obtained, which is calculated based on the local variance of the impulse interference segment to determine the background noise distribution. Determine the zeroing interval, which is determined when the pulse interference segment is greater than the adaptive threshold; The correction coefficient matrix is ​​obtained by multiplying the original time-frequency coefficients by the interference suppression matrix constructed based on the zeroing interval; The first carrier signal after denoising is obtained, which is obtained by filtering out the baseline drift component from the reconstructed sequence extracted by the inverse wavelet transform of the correction coefficient matrix.

5. The method for anti-interference of power line carrier signals during grouping for robots according to claim 1, characterized in that: S4 includes: The first carrier signal is acquired, and the first carrier signal is processed to obtain the time-domain envelope. The time-domain envelope feature sequence is constructed based on the amplitude fluctuation value of the time-domain envelope. The temporal envelope feature sequence is input into a pre-trained support vector machine for classification and recognition to obtain the classification and recognition results. If the classification result is a synchronization identifier, then the decision boundary corresponding to the synchronization identifier is extracted to obtain the location information; The position of the frame synchronization header in the first carrier signal is determined based on the location information.

6. The method for anti-interference of power line carrier signals during grouping for robots according to claim 1, characterized in that: S5 includes: Obtain the frame synchronization header position and the preset local timing window, and calculate the timing deviation value by the difference between the frame synchronization header position and the local timing window; Determine whether the timing deviation value is greater than the tolerance threshold; If the timing deviation value is greater than the tolerance threshold, a synchronization error is determined to have occurred and a synchronization error flag is generated; The clock count value is extracted from the synchronization error flag to obtain the time series, and the time series is encoded and converted to obtain the error timestamp; By concatenating the error timestamps, a retransmission request instruction containing the error timestamps is constructed.

7. The method for anti-interference of power line carrier signals during grouping for robots according to claim 1, characterized in that: S6 includes: Send a retransmission request command to the master control node through the packet communication link, and obtain the second carrier signal issued by the master control node based on the retransmission request command; The phase offset features are extracted from the second carrier signal to obtain the carrier demodulation sequence, and the second carrier signal is demodulated using the carrier demodulation sequence to obtain the baseband data stream; The baseband data stream is divided according to the frame delimiter in the baseband data stream to determine the initial instruction frame; If the initial command frame matches the integrity rule, position calibration data is extracted from the initial command frame, and the command frame containing the position calibration data is parsed from the second carrier signal.

8. The method for anti-interference of power line carrier signals during grouping for robots according to claim 1, characterized in that: S7 includes: Obtain the error timestamp in the retransmission request command and the received timestamp of the command frame, and perform differential processing to obtain the initial time difference sequence; The timing deviation value of the current packet communication link is obtained by filtering the initial time difference sequence. If the timing deviation exceeds the synchronization threshold, the delay accumulation period is determined based on the link status characteristics of the current packet communication link. The timing deviation value is compensated based on the delay accumulation period to obtain the current packet communication link's delay accumulation time.

9. The method for anti-interference of power line carrier signals during grouping for robots according to claim 1, characterized in that, It also includes S8, performing joint state estimation on the timing deviation value and the accumulated delay time, and correcting the joint state estimation result according to the frame synchronization header position corresponding to the error timestamp to obtain the corrected packet communication timing, and adjusting the local timing window according to the corrected packet communication timing, specifically including: Kalman filtering is used to perform joint state estimation of timing deviation and cumulative delay time to obtain the initial state estimation matrix; The error timestamp is extracted from the initial state estimation matrix, and the frame synchronization header position is located by the error timestamp to obtain the estimated correction amount; The initial state estimation matrix is ​​corrected by using the estimated correction amount to obtain the corrected state matrix. The corrected packet communication timing is then reconstructed based on the corrected state matrix. Adjust the local timing window according to the corrected packet communication timing.

10. A power line carrier signal anti-interference system for robot grouping, used to implement the steps of the power line carrier signal anti-interference method for robot grouping as described in any one of claims 1-9, characterized in that, The system includes: The signal acquisition and decomposition module acquires the mixed carrier signal in the power line, and performs time-frequency decomposition on the mixed carrier signal through wavelet transform to obtain a multi-scale time-frequency matrix containing pulse interference characteristics and original carrier characteristics. The pulse interference determination module extracts transient energy mutation points in the time-frequency components corresponding to a preset scale based on the multi-scale time-frequency matrix. If the amplitude of the transient energy mutation point is greater than the preset energy threshold, the transient energy mutation point is determined to be a pulse interference segment. The signal denoising and reconstruction module uses an adaptive threshold method to zero out the pulse interference segments and then performs inverse wavelet transform on the zeroed signal to reconstruct the first carrier signal after denoising. The frame synchronization recognition module extracts the time-domain envelope feature sequence from the first carrier signal, inputs the time-domain envelope feature sequence into a pre-trained support vector machine for classification and recognition, and determines the position of the frame synchronization header in the first carrier signal. The synchronization error determination module determines that a synchronization error has occurred if the frame synchronization header position does not match the preset local timing window, and generates a retransmission request instruction containing the error timestamp. The packet retransmission module sends a retransmission request command to the master control node through the packet communication link, obtains the second carrier signal issued by the master control node based on the retransmission request command, and parses the command frame containing position calibration data from the second carrier signal. The timing deviation calculation module calculates the timing deviation value of the current packet communication link based on the error timestamp in the retransmission request instruction and the reception timestamp of the instruction frame. If the timing deviation value exceeds the preset synchronization threshold, the delay accumulation calculation mechanism is triggered to obtain the delay accumulation time of the current packet communication link. The communication timing correction module uses Kalman filtering to perform joint state estimation of timing deviation value and cumulative delay time, and corrects the joint state estimation result according to the frame synchronization header position corresponding to the error timestamp to obtain the corrected packet communication timing, and adjusts the local timing window according to the corrected packet communication timing.