A voice coil motor-based active shock absorption and steady-state control system and method
Patent Information
- Application Number
- CN202610433692.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-04-03
- Publication Date
- 2026-08-18
AI Technical Summary
[0003]第一方面,本申请提供了一种基于音圈电机的主动吸震与稳态控制方法,旨在解决现有技术中高频主动减振因反馈控制的相位延迟而导致减振效果差甚至失效的技术问题
[0020] The technical solution provided in this application offers a paradigm different from traditional real-time residual feedback control by constructing a phase-shift-free adaptive feedforward control architecture based on the source-driven phase. The solution utilizes the phase information of the impact excitation source (main drive motor) as the feedforward clock, directly looking up a table to output the pre-calculated inverse drive waveform, thereby reducing the response delay of the control loop to the microsecond level and fundamentally eliminating the phase lag problem inevitably introduced by causal filtering in high-frequency scenarios. Simultaneously, placing the processing of the residual acceleration signal in a non-real-time background task allows for the use of phase-shift-free non-causal filtering algorithms, improving noise suppression capabilities and system convergence stability. This design, which decouples "real-time driving" and "offline optimization" in the time dimension, enables this application to achieve efficient cancellation of high-frequency periodic impact vibrations without significantly increasing hardware costs and computational burden. Both vibration reduction efficiency and stability are improved, providing operators with a safer and more comfortable working experience.
Smart Images

Figure CN122600837A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of mechanical vibration control technology, and in particular to an active vibration absorption and steady-state control system and method based on a voice coil motor. Background Technology
[0002] In heavy-duty handheld power tools, such as electric hammers, the internal impact piston generates severe, periodic impact vibrations during operation. This vibration is transmitted along the casing to the operator, affecting not only operational comfort but also potentially causing occupational health problems with prolonged exposure. To address this issue, active vibration control technology has been introduced. Traditional active vibration control systems typically employ a closed-loop feedback strategy, using accelerometers to monitor casing vibration in real time and feeding it back to the controller to drive the actuators to generate a counteracting force. However, this framework presents a fundamental technical contradiction in high-frequency impact scenarios: to extract effective signals from noise, the sensor signals must be low-pass filtered, and any causal filter inevitably introduces phase delay. Under high-frequency impact, this delay causes the counteracting force to lag behind the excitation force, resulting in poor vibration reduction or even exacerbating vibration. Therefore, how to effectively avoid the phase delay of the control system and achieve efficient and stable active vibration reduction under high-frequency impact conditions is a pressing technical problem to be solved in this field. Summary of the Invention
[0003] In the first aspect, this application provides an active vibration absorption and steady-state control method based on a voice coil motor, which aims to solve the technical problem in the prior art that high-frequency active vibration reduction results in poor vibration reduction effect or even failure due to the phase delay of feedback control.
[0004] To achieve the above objectives, the first aspect of this application provides the following technical solution:
[0005] An active vibration damping and steady-state control method based on a voice coil motor includes: acquiring a main drive motor rotor position signal that is phase-synchronized with the movement of an impact piston; based on the main drive motor rotor position signal, indexing a waveform lookup table to obtain an anti-phase drive control word corresponding to the current phase; and based on the anti-phase drive control word, driving a voice coil motor to move a counterweight to generate a counteracting force that is phase-opposite to the excitation force of the impact piston.
[0006] Optionally, the method further includes: periodically acquiring the original acceleration sequence of a casing of the active vibration absorption and steady-state control system; performing non-causal filtering on the original acceleration sequence to generate a pure periodic residual error sequence, wherein the pure periodic residual error sequence eliminates the phase delay introduced by causal filtering; and adaptively updating the waveform lookup table based on the pure periodic residual error sequence.
[0007] Optionally, the step of adaptively updating the waveform lookup table based on the pure period residual error sequence includes: calculating the waveform lookup table for the next period based on the pure period residual error sequence and a pre-identified secondary channel impulse response model, using a non-causal update filter-x least mean square algorithm determined by a specific update law.
[0008] Optionally, the update law of the non-causal update filter-x least mean square algorithm is determined by a preset formula, wherein the preset formula will determine the update law of the first... The impact week is expected to see an update on the phase points. Inverting drive control word at the location , determined as the number Phase point of each impact cycle Inverting drive control word at the location Subtract an adaptive step size factor The product of the gradient term and the gradient term, which are the weight coefficients of the secondary channel impulse response model. With the The pure cycle residual error sequence corresponding to the future phase in each impact cycle The weighted sum.
[0009] Optionally, the non-causal filtering of the original acceleration sequence includes: performing a positive low-pass filter on the original acceleration sequence; flipping the time axis of the sequence after the positive low-pass filter; and performing a low-pass filter with the same parameters as the positive low-pass filter on the sequence after the time axis flip.
[0010] Optionally, the method further includes: inputting an excitation signal to the voice coil motor; synchronously acquiring the acceleration response of the housing caused by the excitation signal; and, based on the excitation signal and the acceleration response, obtaining a secondary channel impulse response model characterizing the transmission characteristics from the drive input of the voice coil motor to the acceleration output of the housing through a system identification algorithm.
[0011] Optionally, the method further includes: comparing the maximum absolute value of the pure periodic residual error sequence with a preset anti-divergence fuse residual threshold; when the maximum absolute value is greater than the anti-divergence fuse residual threshold, pausing the adaptive update of the waveform lookup table.
[0012] Secondly, this application provides an active vibration damping and steady-state control system based on a voice coil motor.
[0013] To achieve the above objectives, the second aspect of this application provides the following technical solution:
[0014] An active vibration damping and steady-state control system based on a voice coil motor includes: a phase sensing module for acquiring a main drive motor rotor position signal synchronized with the movement phase of an impact piston; a feedforward drive module connected to the phase sensing module for indexing an anti-phase drive control word corresponding to the current phase from a waveform lookup table based on the main drive motor rotor position signal; and a voice coil motor actuator connected to the feedforward drive module for driving a voice coil motor to move a counterweight based on the anti-phase drive control word, thereby generating a counteracting force opposite in phase to the excitation force of the impact piston.
[0015] Optionally, the system further includes: an acceleration acquisition module for periodically acquiring the original acceleration sequence of a casing of the system; and an adaptive update module connected to the acceleration acquisition module and the feedforward drive module for performing non-causal filtering on the original acceleration sequence to generate a clean periodic residual error sequence, and adaptively updating the waveform lookup table based on the clean periodic residual error sequence.
[0016] Thirdly, this application provides a computer-readable storage medium.
[0017] To achieve the above objectives, the third aspect of this application provides the following technical solution:
[0018] A computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method as described in the first aspect.
[0019] The beneficial effects of this application are as follows:
[0020] The technical solution provided in this application offers a paradigm different from traditional real-time residual feedback control by constructing a phase-shift-free adaptive feedforward control architecture based on the source-driven phase. The solution utilizes the phase information of the impact excitation source (main drive motor) as the feedforward clock, directly looking up a table to output the pre-calculated inverse drive waveform, thereby reducing the response delay of the control loop to the microsecond level and fundamentally eliminating the phase lag problem inevitably introduced by causal filtering in high-frequency scenarios. Simultaneously, placing the processing of the residual acceleration signal in a non-real-time background task allows for the use of phase-shift-free non-causal filtering algorithms, improving noise suppression capabilities and system convergence stability. This design, which decouples "real-time driving" and "offline optimization" in the time dimension, enables this application to achieve efficient cancellation of high-frequency periodic impact vibrations without significantly increasing hardware costs and computational burden. Both vibration reduction efficiency and stability are improved, providing operators with a safer and more comfortable working experience. Attached Figure Description
[0021] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0022] Figure 1 This is a schematic diagram of the overall architecture of an active vibration absorption and steady-state control system based on a voice coil motor, provided as an embodiment of this application.
[0023] Figure 2 This is a flowchart illustrating an active vibration absorption and steady-state control method based on a voice coil motor, provided as an embodiment of this application.
[0024] Figure 3 This is a schematic diagram comparing the technical solution of this application embodiment with the principle of traditional feedback control technology.
[0025] Figure 4 The above is a simulation comparison diagram of the vibration reduction effect achieved by the method according to the embodiments of this application.
[0026] Figure 5 This is a schematic diagram comparing the effects of non-causal filtering and traditional causal filtering used in the embodiments of this application. Detailed Implementation
[0027] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below in conjunction with the accompanying drawings and specific embodiments. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0028] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of this application, "multiple" means two or more, unless otherwise explicitly specified.
[0029] This application provides an active vibration absorption and steady-state control system and method based on a voice coil motor. In a specific implementation, this method employs a phase-shift-free adaptive feedforward control architecture based on the source drive phase. Specifically, it uses the rotor position signal of the main drive motor, which serves as the impact excitation source, as the absolute feedforward clock. It directly looks up and outputs the pre-calculated anti-phase waveform of the voice coil motor, thereby generating a canceling force with a response delay on the order of microseconds, precisely opposite in phase to the excitation force of the impact piston. This method solves the technical problem in existing active vibration control systems based on real-time closed-loop feedback. In high-frequency impact scenarios, the filtering of sensor signals inevitably introduces significant phase delays, leading to misalignment between the anti-phase canceling force and the excitation force, poor vibration reduction, and even excitation. This method achieves the beneficial effect of efficiently suppressing high-frequency periodic impact vibrations and significantly improving operational comfort and equipment reliability without increasing the computing burden on the controller.
[0030] To more intuitively understand the fundamental differences between the technical solution of this application and the prior art, please refer to... Figure 3 . Figure 3 This is a schematic diagram comparing the technical solution of this application embodiment with the principle of traditional feedback control technology.
[0031] Reference Figure 3 (a) illustrates a conventional active vibration control scheme based on real-time feedback. In this scheme, the excitation force generated by the excitation source (impact piston) acts on the housing. An accelerometer mounted on the housing collects the vibration signal. Since this signal is usually mixed with high-frequency noise, it must be processed by a causal filter. However, while filtering out noise, the causal filter inevitably introduces a significant phase delay. The controller calculates control commands based on this delayed signal and drives the actuator to generate a counteracting force. Therefore, the counteracting force ultimately acting on the housing is phase-lagging behind the original excitation force, which can lead to poor or even failed counteracting in high-frequency scenarios, as shown by the hysteresis feedback path marked with a thick red line in the figure.
[0032] Reference Figure 3(b) illustrates the feedforward control-based scheme adopted in the embodiments of this application. The control logic of this scheme is decoupled into two parallel loops. The first is a hard real-time feedforward control loop, as shown by the thick blue line in the figure. In this loop, the system directly obtains a delay-free phase signal (rotor position) from the excitation source itself (main drive motor), and based on this, directly indexes the drive command from the waveform lookup table to drive the voice coil motor actuator to generate a counteracting force that is strictly synchronized with the excitation force. This path completely bypasses the sensor, filter, and real-time controller, fundamentally eliminating the source of phase delay. The second is a background offline adaptive update loop, as shown by the dashed line in the figure. In this loop, the accelerometer collects residual vibrations on the housing, and this signal is processed by the adaptive update module (including non-causal filtering, which will be detailed later) to periodically and offline update the contents of the waveform lookup table. With this architecture, the application entrusts the task of generating the cancellation force, which has the highest real-time requirements, to a zero-delay feedforward path, while placing the complex signal processing and optimization tasks in the background where real-time requirements are not high, thereby resolving the contradictions of the prior art.
[0033] Example 1: An Active Vibration Absorption and Steady-State Control Method Based on a Voice Coil Motor
[0034] This embodiment details the implementation process of an active vibration absorption and steady-state control method based on a voice coil motor. (Refer to...) Figure 2 This method mainly includes a series of technical steps executed in a specific logical order.
[0035] S100: Acquire the rotor position signal of the main drive motor that is phase-synchronized with the movement of the impact piston.
[0036] In one embodiment, this step is executed by a phase sensing module (M100). In power tools such as hammer drills, the reciprocating motion of the internal impact piston is strictly synchronized with the rotor rotation of the main drive motor (typically a brushless DC motor) that drives it. Therefore, the rotor angular position of the main drive motor can be considered a precise and delay-free indicator of the phase of the impact piston's motion. The core of this step is to utilize this inherent physical relationship to obtain a signal that can serve as an absolute time reference for all subsequent control actions. Specifically, the phase sensing module continuously monitors the level changes of the Hall sensor network mounted on the stator of the main drive motor through its internally configured hardware interrupt capture pin. To achieve electronic commutation, the brushless DC motor itself must be equipped with at least three Hall sensors to detect the angular position of the rotor poles. These Hall sensors output a series of square wave signals with a specific timing relationship as the rotor rotates.
[0037] In this step, the phase sensing module can lock the output signal of one of the Hall sensors. When the level of this signal undergoes an edge transition (e.g., from low to high), the hardware interrupt capture pin will immediately trigger an interrupt service routine. The execution of this interrupt service routine marks the completion of a specific angle rotation of the main drive motor rotor, that is, the movement cycle of the impact piston enters a new phase starting point.
[0038] To further transform discrete interrupt events into continuous, high-resolution phase information, a software phase-locked loop (PLL) is integrated within the phase sensing module. This PLL utilizes a high-precision hardware timer within the MCU to measure the time interval between two consecutive rising edges of the Hall sensor events, denoted as . This time interval This represents the time required for the main drive motor to complete one full mechanical cycle (or one electrical cycle, depending on the Hall sensor configuration). The software phase-locked loop then converts this measured cycle length... Divide the machine cycle into equal parts. In a preferred embodiment, a single mechanical cycle is divided into equal parts. There are discrete phase points. This means that the time width of each phase point is... The software phase-locked loop generates an internal high-frequency synchronous clock signal. Its frequency is 256 times the rotational frequency of the main shaft. Each clock pulse precisely corresponds to a new discrete phase point, thus mapping the continuous rotational motion of the motor into a series of discrete, ordered phase index values with high time resolution. ,in The value ranges from 0 to 255. This phase index value The final signal generated in this step is the rotor position signal of the main drive motor, which is strictly synchronized with the phase of the impact piston movement. It will serve as the absolute addressing basis for subsequent feedforward control. Its generation process does not involve any signal filtering, so there is no phase delay.
[0039] For example, suppose the electric hammer is operating stably with its main drive motor rotating at 3000 RPM (3000 revolutions per minute), or 50 revolutions per second, corresponding to an impact frequency of 50 Hz. In this case, the time required for the main drive motor to complete one full mechanical cycle is... for A second, or 20 milliseconds (ms). The software phase-locked loop of the phase sensing module divides this 20ms period into equal parts. There are 1 phase point. Therefore, the time window width represented by each phase point is 1 / 2. microseconds ( The software phase-locked loop will generate a frequency of... Internal synchronization clock signal Each rising edge of this clock signal will trigger the internal phase index counter. Add one (and in) It then automatically wraps back to 0). In this way, the system obtains a digital clock reference with a resolution of up to 256 points, strictly synchronized with the phase of the impact piston's movement, providing the foundation for subsequent delay-free lookup table driving. This process is entirely driven by hardware timers and interrupts, with extremely low CPU usage and a response speed on the nanosecond level, ensuring the real-time performance and accuracy of the phase signal.
[0040] S200: Based on the rotor position signal of the main drive motor, retrieve the anti-phase drive control word corresponding to the current phase from a waveform lookup table.
[0041] In one embodiment, this step is performed by a hard real-time feedforward drive module (M200). The core function of this module is to retrieve the corresponding drive command from a pre-stored set of waveform data with the lowest possible delay after receiving the signal representing the current phase generated by S100. This step design abandons the traditional control mode that requires real-time calculation of control quantities, and instead adopts a deterministic feedforward method based on look-up table (LUT).
[0042] A dedicated storage area is pre-allocated in system memory to store a one-dimensional array, which is the waveform lookup table. The size of this waveform lookup table is equal to the total number of discrete phase points in a single cycle defined in S100. Correspondingly, the table contains 256 elements. Each element is a digitized control word, such as a 16-bit unsigned integer value. This control word directly corresponds to the magnitude of the drive voltage (or current) that needs to be applied to the voice coil motor at a specific phase point. The entire waveform lookup table fully describes the complete waveform of the counter-phase force that the voice coil motor needs to output to counteract the excitation force within one impulse cycle.
[0043] To achieve extremely low response latency, this step is not executed by the CPU via software instructions, but rather by configuring the Direct Memory Access (DMA) controller within the microcontroller (MCU). DMA is a hardware peripheral that allows for high-speed data transfer directly between memory and peripherals without CPU intervention. In this embodiment, the DMA channel is configured with an internal synchronization clock signal generated by S100. To trigger.
[0044] Specifically, whenever The generation of a rising edge signifies that the system has entered a new phase point. This rising edge signal will directly trigger the DMA controller to perform a data transfer operation. The DMA controller will then determine the operation based on the current phase index value. This is used as the offset of the memory address, and the index is read directly from the base address of the waveform lookup table. That element, namely the inverting drive control word After the read operation is complete, the DMA controller immediately pushes the 16-bit control word into the data register of the digital-to-analog converter (DAC) connected to the voice coil motor drive circuit. The entire "trigger-memory read-peripheral write" process is completed automatically by the hardware logic, bypassing the CPU's instruction execution cycle. Its time consumption is typically within a few clock cycles, far below the microsecond level. This mechanism ensures that the delay from phase determination to drive signal output is compressed to the physical limit, creating the necessary conditions for achieving precise phase reversal cancellation.
[0045] For example, continuing the example from the previous step, the system generates an internal synchronization clock. The frequency is 12.8kHz. The DMA channel is configured to be... Triggered by the rising edge. Assume that at a certain moment, the phase index counter... A value of 128 indicates that the impact cycle is halfway through, typically the moment when the impact piston speed or acceleration reaches its peak. At this point, A rising edge is generated, and the DMA controller is activated. It immediately accesses the waveform lookup table (assuming its memory base address is 0x20001000) at address 0x20001000 + 128 2 (because each control word is 16 bits, occupying 2 bytes), and reads the 16-bit control word stored there. Let's assume this value is 800. The DMA controller then writes the value 800 into the DAC's 12-bit right-aligned data register DAC_DHR12R1. Upon receiving this data, the DAC hardware immediately converts it into an analog voltage; for example, if the DAC's reference voltage is 3.3V, the output voltage will be... This voltage signal is then fed into the H-bridge power drive stage of the voice coil motor. The entire process, from... The time from the rising edge to the stable voltage of the DAC output may be only 50 nanoseconds (ns), which is negligible compared to the phase point width of 78.125 microseconds. This ensures that the output of the driving force is strictly locked in phase with the excitation source, without any delay introduced by software.
[0046] S300: Based on the aforementioned anti-phase drive control word, a voice coil motor is driven to move a counterweight, thereby generating a counteracting force that is opposite in phase to the excitation force of the impact piston.
[0047] In one embodiment, the actuator for this step is a voice coil motor vibration damping actuator (M500). This module is the physical actuator responsible for converting the electrical control signal generated by S200 into a mechanical force capable of counteracting mechanical vibration.
[0048] A voice coil motor (VCM) is a special type of linear motor that works similarly to a loudspeaker. It primarily consists of a permanent magnet component and a coil component. When current flows through the coil, according to the Lorentz force law, the coil experiences a linear force in the magnetic field that is proportional to the magnitude of the current and determined by the direction of the current. This force drives the coil component (or the permanent magnet component, depending on the design) to move linearly along a specific axis. Voice coil motors offer extremely high response speed and force control precision, making them ideal for active vibration control.
[0049] In this embodiment, the voice coil motor vibration damping actuator is physically installed inside the hammer's body, with its axis of motion parallel to the reciprocating axis of the impact piston. One component of the voice coil motor (e.g., the coil) is rigidly connected to a precisely calculated suspended counterweight, while the other component (e.g., the permanent magnet) is fixed to the housing.
[0050] In the S200, the analog voltage signal output by the DAC is input to an H-bridge power drive circuit. The H-bridge circuit precisely controls the direction and magnitude of the current flowing through the voice coil motor coil based on the polarity and magnitude of the input voltage. For example, when the DAC outputs a positive voltage, the H-bridge drive current flows into the coil from direction A; when the output voltage is negative, it flows in from direction B. The magnitude of the current is proportional to the absolute value of the DAC output voltage.
[0051] When a current carrying a specific waveform flows through the voice coil motor coil, the counterweight will reciprocate linearly along a predetermined axis under the action of the Lorentz force. Since the counterweight has a certain mass, its motion generates an inertial force. According to Newton's third law, when the counterweight accelerates, it will exert a reaction force on the casing that is equal in magnitude and opposite in direction. This reaction force is the counteracting force that this application aims to generate.
[0052] Because the waveform lookup table formed by the inverse drive control word output by the S200 is designed to generate a force opposite in phase to the excitation force of the impact piston (its specific generation method will be detailed in subsequent steps), the reaction force generated by the counterweight driven by this waveform will be precisely opposite in phase to the excitation force transmitted from the impact piston to the housing. For example, when the impact piston strikes forward, giving the housing a forward thrust, the controller will drive the counterweight to accelerate backward, thus giving the housing a backward pull. These two forces meet on the housing, causing "destructive interference," thereby canceling out most of the vibration energy at the source and preventing it from being transmitted to the operator's handle.
[0053] For example, at the phase point At this moment, assuming this is the instant when the impact piston generates its maximum forward impact force, it exerts a force on the casing. The excitation force is Newton's (N). To counteract this force, the S200 outputs a control word. After being driven by the DAC and H-bridge, a peak current (e.g.) will be generated. An ampere (ampere) flows through the voice coil motor coil. The force constant of the voice coil motor is assumed to be... At this point, the voice coil motor will generate a voltage of size [value missing]. The Lorentz force, directed backward, drives the counterweight to accelerate backward. This backward acceleration, through the fixed components of the voice coil motor, applies a forward reaction force of approximately 120N to the housing. While there's a slight difference in direction, the core point is that the inertial force generated by the counterweight's movement, transmitted to the housing, ultimately counteracts the excitation force. More accurately, to generate a counteracting backward force on the housing, the counterweight needs to accelerate forward. Therefore, the drive current controls the counterweight to produce an acceleration waveform that is precisely out of phase with the excitation force waveform. When the excitation force is +150N, the counteracting force generated by the counterweight's movement is -120N; the combined force, when both are applied, results in a net force of only +30N transmitted to the housing, significantly reducing the vibration.
[0054] At this point, a complete feedforward control cycle has been completed. However, the above process only describes how the system operates based on an existing waveform lookup table. In practical applications, due to factors such as load variations (e.g., different rock hardness encountered by the drill bit) and temperature variations (causing motor parameter drift), a fixed waveform lookup table cannot always remain optimal. Therefore, this application also includes a background-running adaptive update mechanism to ensure that the waveform lookup table can be dynamically adjusted to always maintain the best vibration reduction effect.
[0055] S400: Periodically acquires the original acceleration sequence of one of the housings of the active shock absorption and steady-state control system.
[0056] This is a background data acquisition step, continuously executed by the chassis acceleration acquisition module (M300). Its purpose is to acquire the residual vibration on the chassis after the active counteracting force has been applied. This residual vibration is the "error" signal, which serves as the basis for the subsequent adaptive update algorithm.
[0057] A highly sensitive uniaxial piezoelectric accelerometer is securely attached to the cylinder housing of the electric hammer, with its sensitive axis parallel to the motion axis of the impact piston. This sensor converts the mechanical vibration of the housing into a proportional analog voltage signal. This signal not only includes the residual main frequency impact vibration suppressed by the active control system, but also a large amount of high-frequency mechanical noise generated by components such as the motor gear train and bearings.
[0058] The analog voltage signal is fed into the MCU's analog-to-digital converter (ADC). The ADC continuously samples the signal at a sampling rate much higher than the target vibration frequency (e.g., for a 50Hz main frequency, the sampling rate can be set to 3.2kHz to capture sufficient high-frequency harmonics and noise information), converting the analog signal into a digital sequence.
[0059] To avoid consuming CPU resources, the ADC conversion results are also transferred via DMA channels. The converted data is directly stored by DMA into a memory area called a "circular receive buffer." A circular buffer is an efficient data structure that allows data to be written cyclically within a fixed-size memory segment. When the write pointer reaches the end of the buffer, it automatically wraps back to the beginning to continue writing, thus achieving continuous recording of the latest data without frequent memory copying and movement. The output of this step is a real-time updated raw acceleration sequence containing complete chassis vibration information, providing unprocessed raw data for subsequent error analysis.
[0060] For example, assume the ADC has a sampling rate of 3.2 kHz and a resolution of 12 bits. The acceleration acquisition module will... At intervals, a 12-bit digital value is generated, representing the chassis acceleration at that instant. These data streams are continuously written to a circular buffer of size 2048 samples by DMA. At an impulse frequency of 50Hz, one cycle (20ms) generates... Each sampling point. This circular buffer can store raw vibration data for more than 30 complete cycles. The adaptive update module (M400) in the background can, at any time, extract 64 raw acceleration sample points corresponding to any complete impact cycle (e.g., from the rising edge of the previous Hall signal to the rising edge of the current Hall signal) from this buffer based on the timestamp, forming a one-dimensional array. ,in Represents the period number.
[0061] S500: Perform non-causal filtering on the original acceleration sequence to generate a clean periodic residual error sequence.
[0062] This step is performed in the background by the offline residual calculation and adaptive update module (M400). Its core objective is to obtain the noisy raw acceleration sequence from the S400. In this process, a pure error signal that truly reflects the vibration reduction effect is extracted without introducing any phase delay.
[0063] Traditional real-time control systems cannot achieve this because they must determine the current output based on past data at the current moment. This inherent causal constraint causes any filter designed to smooth the signal (essentially a weighted average) to introduce a delay. However, in the architecture of this application, the processing of the error signal is "offline," meaning that the processing occurs on the [missing information - likely a specific timeframe or timeframe]. Only after the first cycle has completely ended will the second cycle begin to be processed. The data from the first cycle, and the processing results, will be used to guide the second cycle. This behavior occurs over a single cycle. This temporal decoupling allows us to employ powerful noncausal filtering techniques.
[0064] The non-causal filter used in this embodiment is a zero-phase-shift bidirectional digital filtering algorithm. Its implementation principle is as follows:
[0065] First, the obtained complete periodic raw acceleration sequence From the start to the end of the time frame, a standard forward digital low-pass filter is performed. This low-pass filter removes high-frequency noise above the dominant frequency and its critical harmonics (e.g., the first three harmonics). A preferred implementation uses a fourth-order Butterworth low-pass filter with a cutoff frequency set to 200Hz. After this forward filtering, high-frequency noise is effectively suppressed, but the signal phase is also delayed.
[0066] Next, the sequence after forward filtering is completely flipped on the time axis. That is, the last point of the sequence is taken as the new first point, the second to last point is taken as the new second point, and so on.
[0067] Then, the same fourth-order Butterworth low-pass filter as the forward filter is applied again to this time-reversed sequence. Since the time axis is reversed now, the phase delay produced by this filter is also in the opposite direction to that of the first forward filter.
[0068] Finally, the sequence after the second filtering is flipped along the time axis again to restore its original time order.
[0069] After such a "forward filtering-flip-reverse filtering-flip again" operation, the two phase delays in opposite directions will precisely cancel each other out. The final filtered sequence has a phase that is completely consistent with the low-frequency components in the original signal, achieving a zero-phase-shift filtering effect.
[0070] The final output of this step is a clean sequence of periodic residual errors. The length of this sequence is either resampled or interpolated to the same length as the waveform lookup table. It precisely describes the first In each cycle, at each phase point, the residual, true vibration acceleration on the casing after removing high-frequency noise.
[0071] Please refer to Figure 5 . Figure 5 This is a schematic diagram comparing the effects of non-causal filtering and traditional causal filtering used in the embodiments of this application. The horizontal axis represents time, and the vertical axis represents the normalized signal amplitude.
[0072] Reference Figure 5 (a) shows a raw acceleration sequence consisting of a low-frequency fundamental signal (a reference sine wave represented by a gray dashed line) and a high-frequency noise signal superimposed on each other, which accurately reflects the signal characteristics acquired in step S400.
[0073] Reference Figure 5 (b) illustrates the use of a conventional one-way causal low-pass filter for... Figure 5 The result of processing the original signal in (a). It can be seen that although high-frequency noise is effectively filtered out, the filtered signal (solid black line) shows a significant rightward shift on the time axis relative to the original low-frequency component (dashed gray line), i.e., a significant phase delay, as shown by the red arrow. In real-time feedback control, it is this delay that leads to control failure.
[0074] Reference Figure 5(c) illustrates the result of processing the same original signal using the non-causal filtering (zero-phase-shift bidirectional digital filtering) described in step S500 of this application. It can be clearly seen that the processed signal (thick black solid line) not only smoothly filters out high-frequency noise, but its peaks and troughs are perfectly aligned in time with the original low-frequency components (gray dashed lines), without any phase delay. This demonstrates that the offline non-causal filtering method used in this application can effectively denoise while providing a distortion-free, high-precision error signal for the subsequent adaptive update algorithm.
[0075] For example, the background task retrieves the first [item] from the circular buffer. The process involves taking 64 raw acceleration sample points from each period. First, a 4th-order Butterworth low-pass filter (cutoff frequency 200Hz) is applied to these 64 points to obtain a smoothed sequence with phase delay. Then, the 64 points of this smoothed sequence are reversed. The same Butterworth filter is then applied to this reversed sequence. Finally, the result of the second filtering is reversed again to restore the original timing sequence. This yields a 64-point, phase-shift-free, clean residual sequence. To match this with a 256-point waveform lookup table, algorithms such as spline interpolation can be used to smoothly interpolate and expand these 64 points to 256 points, forming the final clean periodic residual error sequence. ,in From 0 to 255.
[0076] S600: Adaptively update the waveform lookup table based on the pure periodic residual error sequence.
[0077] This is the core step of adaptive control, also executed by the offline residual calculation and adaptive update module (M400). Its task is to calculate the error sequence generated by S500, reflecting the control effect of the previous cycle. It intelligently adjusts the values in the waveform lookup table so that in the next cycle (the 1st cycle)... In each cycle, the residual error can be further reduced.
[0078] This embodiment employs a non-causal, filtered-x least mean square (FxLMS) algorithm optimized for the periodic domain. The standard FxLMS algorithm is a widely used adaptive algorithm in active noise and vibration control, which iteratively updates controller parameters by minimizing the mean square value of the error signal. The standard FxLMS is designed for real-time causal systems. This application adapts it to accommodate offline, non-causal update modes.
[0079] In updating the waveform lookup table The value of each phase point At that time, the algorithm's logic is: in the first... Each cycle Driving force applied at the phase point Its effects are not merely instantaneous, but rather continue to influence the casing acceleration over a subsequent period through the system's mechanical structure (i.e., the "secondary channel"). Therefore, in order to properly adjust... It is necessary to examine its effect at subsequent phase points (e.g.) , , The residuals contributed by , ...)
[0080] This algorithm leverages the advantage of "non-causality," that is, during updates... At that time, the entire first Periodic error sequence Everything is now known. The update law of the algorithm is as follows:
[0081]
[0082] in, The next cycle (the) (per cycle) at the phase point The control word is pending update. It is the current cycle (the 1st cycle) (per cycle) at the phase point The control word at the location. It is a tiny normal number called the "adaptive step size factor", which controls the magnitude of each update. It is the first Each cycle at the phase point The residual error at the point (modulo operation mod N is used to handle the wrap-around at the end of the cycle). The impulse response model representing the "secondary channel" is the first... Order weighting coefficients. The secondary channel, i.e., the physical transmission path from the drive input of the voice coil motor to the acceleration output of the accelerometer. This model... Described in After applying a unit drive pulse at each moment, in subsequent... , , ..., At what time will the acceleration response be generated? This model needs to be obtained in advance through a one-time offline system identification (see step S000 for details).
[0083] The physical meaning of this formula is: in order to calculate The adjustment amount will cause the algorithm to adjust the phase point. A series of residual errors that followed Using the weights of the secondary channel model Perform a weighted summation. The result of this summation is approximately equal to the sum of the weighted summations obtained from the ... The gradient of the total error energy contributed by the driving force at the current value. Move a small step (step size) in the opposite direction of this gradient. This reduces the total error energy. For each element in the waveform lookup table... Performing this update operation once for each number from 0 to 255 results in a completely new and better waveform lookup table. .
[0084] To achieve seamless switching, the system typically uses a double-buffering (Ping-Pong Buffer) technique. This involves setting up two waveform lookup tables in memory: one for the "Ping" table currently used by the M200, and the other for the idle "Pong" table. The M400 will then use the calculated new waveform data... Write to the "Pong" table. When the "Ping" table reaches the end of a cycle (e.g., ...), ... When playback is complete, the system will instantly switch the M200's read pointer to the "Pong" table via an atomic pointer toggle. At the start of the next cycle, the M200 will smoothly begin using the updated waveform for driving, while the original "Ping" table becomes idle, waiting for the next update.
[0085] For example, assume the step size factor Set as The secondary channel model is a length The FIR filter now needs to be updated. The algorithm performs the following calculations: First, it calculates a weighted sum, i.e. This requires 64 multiplications and 63 additions. Assume the calculated gradient value is -2500. Then, the new control word... It will be updated to Since the control word is an integer, this result will be rounded. This means that if the system detects a negative residual at or after phase point 100 in the previous cycle (indicating excessive cancellation force), then in the next cycle, the system will slightly increase the drive control word at phase point 100 (i.e., reduce the cancellation force). This fine-tuning process continues in each cycle and at each phase point, eventually driving the residual oscillation of the entire system to converge to an extremely low level.
[0086] In addition to the main process described above, this method also includes some necessary initialization steps.
[0087] S000: System Initialization and Secondary Channel Modeling
[0088] This step is performed once upon system initial power-on or upon entering maintenance mode. Its core task is to obtain the secondary channel impulse response model necessary for the adaptive algorithm in the S600. .
[0089] During execution, the system temporarily disables the main drive motor and puts the voice coil motor into a special "system identification" mode. The controller sends a wide-spectrum excitation signal to the voice coil motor via the DAC, such as a band-limited white noise signal or a swept-frequency sine wave. Simultaneously, the acceleration acquisition module (M300) records the chassis acceleration response caused by this excitation signal.
[0090] Given the known input signal (excitation signal) and the corresponding output signal (acceleration response), we can use classical system identification algorithms to estimate their transfer function. A preferred implementation is to use the standard LMS (Least Mean Square) adaptive filtering algorithm. Using the excitation signal as the input to the LMS filter and the acceleration response as the desired output, the LMS algorithm iteratively adjusts the weights of an FIR (Finite Impulse Response) filter so that the filter output best approximates the true acceleration response. When the algorithm converges, the weight vector of this FIR filter is the desired secondary channel impulse response model. .
[0091] For example, the controller generates a 1-second white noise signal covering a frequency band from 10Hz to 500Hz to drive the voice coil motor. Simultaneously, the chassis acceleration is recorded at a sampling rate of 3.2kHz. Then, a tap number (order) is... The standard LMS identification algorithm begins running. After iterating approximately tens of thousands of times, its mean squared error (MSE) converges to a stable value. At this point, the 64 weight coefficients within the LMS algorithm are fixed and used as... It is stored in non-volatile memory for use in subsequent active control processes.
[0092] S700: Implements anti-divergence fuse protection
[0093] This is a parallel safety monitoring step. In the adaptive update module (M400), after each calculation of the pure periodic residual error sequence... Then, before executing the S600 update algorithm, the error sequence will be checked first.
[0094] Specifically, the system will calculate The maximum absolute value over the entire period, i.e. Then, this maximum absolute value is compared with a preset "anti-divergence circuit breaker residual threshold". Compare. This threshold. The setting is typically based on the baseline vibration level of the system when there is no active control (i.e., the voice coil motor is not operating). For example, it can be set to 1.5 times the peak value of the baseline vibration.
[0095] if Less than or equal to This indicates that the system is working normally or in a convergent state, and the S600 adaptive update will proceed as usual.
[0096] However, if Suddenly greater than This usually indicates the occurrence of sudden, abnormal operating conditions, such as an operator accidentally dropping the hammer drill, or a drill bit suddenly jamming and then coming loose. This violent transient impact has characteristics completely different from steady-state periodic vibrations, and the error signal it generates is "toxic" to the FxLMS algorithm based on the periodicity assumption. If this contaminated error signal is used to update the waveform lookup table, it is likely to cause the algorithm to diverge, making the values in the waveform table extreme, thereby generating erroneous and violent counteracting forces subsequently, jeopardizing system stability.
[0097] Therefore, once an excessive residual is detected, the circuit breaker mechanism is triggered. The system will immediately pause the current S600 adaptive update process, i.e., keep the waveform lookup table unchanged. In some more robust protection strategies, the system may even quickly multiply all values in the waveform lookup table by a damping factor less than 1 (e.g., 0.5), or simply clear it to zero, temporarily reverting the system to a passive damping state, waiting for the impact to pass and the system to stabilize before restarting the adaptive process.
[0098] For example, assuming the system is operating without active control, the measured baseline vibration acceleration peak value is: So, what is the residual threshold for preventing circuit breaker divergence? It can be set to Under normal operating conditions, the peak value of the residual after convergence may only be [missing information]. On one occasion, the drill bit encountered reinforcing steel and became violently jammed, causing a spike in the casing to rise to a height of [missing information]. The instantaneous acceleration. After calculating the residual for this period, the background task detected its maximum absolute value as... greater than The circuit breaker mechanism is activated immediately, and the waveform table update for this cycle is skipped. Simultaneously, the system updates the current waveform table... Multiply the whole by 0.5, as This allows for a rapid reduction in the intensity of active control, preventing algorithm crashes caused by extreme error data.
[0099] Please refer to Figure 4 . Figure 4 This is a simulation comparison graph showing the vibration reduction effect achieved by the method according to the embodiments of this application. The horizontal axis of the graph represents time in milliseconds (ms), and the vertical axis represents the axial acceleration of the casing in meters per second squared (m / s²).
[0100] The curve represented by the dashed line in the figure is the vibration acceleration waveform measured on the casing when the active control provided in this application is not applied. It can be seen that the vibration exhibits strong periodicity, with a peak acceleration close to 55 m / s², and the waveform contains irregular noise components.
[0101] The solid line in the figure represents the casing vibration acceleration waveform measured at the same location after applying the active vibration absorption and steady-state control method provided in this application and undergoing several cycles of adaptive convergence. The comparison shows that after applying active control, the casing vibration is greatly suppressed, and the peak acceleration of its residual vibration is controlled below 7 m / s². Calculations show that the peak attenuation rate of the dominant frequency vibration exceeds 87%, indicating that the technical solution of this application can achieve a highly efficient and significant vibration reduction effect, thereby improving operational comfort.
[0102] Example 2: An Active Vibration Absorption and Steady-State Control System Based on a Voice Coil Motor
[0103] This embodiment describes the hardware and software entities for implementing the above method, namely, an active vibration damping and steady-state control system based on a voice coil motor. (Refer to...) Figure 1 The system mainly consists of a series of cooperating modules.
[0104] In a specific implementation, this system can be integrated into the body of a portable industrial electric hammer. Its core controller is a high-performance 32-bit microcontroller (MCU), such as a chip based on an ARM Cortex-M4 or Cortex-M7 core. Such chips typically integrate a floating-point unit (FPU), high-precision ADC, DAC, DMA controllers, and abundant timer and interrupt resources, providing the hardware foundation for the implementation of this application.
[0105] The system is composed of the following modules:
[0106] Phase sensing module (M100):
[0107] This module physically maps to a combination of several hardware peripherals of the MCU. Its core consists of GPIO (General Purpose Input / Output) pins connected to the Hall sensor output pins of the main drive motor. These GPIOs are configured in External Interrupt (EXTI) mode and are edge-triggered. Simultaneously, the module utilizes a 32-bit high-precision general-purpose timer (TIM) within the MCU to perform the time interval measurement described in S100. The software phase-locked loop (PLL) algorithm in S100 is stored as firmware code in the MCU's Flash memory and is periodically called in the timer interrupt and external interrupt service routines. The module's output is a high-frequency synchronous clock signal. It is not a physical signal, but rather an event that is periodically generated on the internal bus by configuring another timer in Output Compare mode. This event is used as a hardware signal source to trigger subsequent DMA transfers.
[0108] Hard real-time feedforward driver module (M200):
[0109] This module mainly consists of the MCU's DMA controller and a 12-bit high-speed DAC peripheral. In SRAM memory, the system allocates two contiguous memory spaces, each containing 256 16-bit unsigned integers (uint16t), as a double-buffered waveform lookup table (Ping-Pong Buffer) mentioned in the S600. A structure `struct { uint16t bufferA
[256] ; uint16t bufferB
[256] ; volatile uint8t activeflag;}` is defined to manage these two buffers. `activeflag` is a volatile flag indicating which buffer is currently active. The DMA channel is configured in Circular Mode, with its source address pointing to the base address of either `bufferA` or `bufferB` based on `activeflag`, and the destination address fixed to the DAC's data register address (e.g., `DACDHR12R1`). The data length is set to 256 bits, and the data width is 16 bits. The DMA transfer request signal source is configured as a synchronization event generated by the internal timer of the phase-sensing module (M100).
[0110] Chassis acceleration acquisition module (M300):
[0111] This module consists of an external single-axis piezoelectric accelerometer, a signal conditioning circuit, an MCU's ADC peripheral, and another DMA channel. The weak charge or voltage signal output from the accelerometer first passes through a signal conditioning circuit, which amplifies, filters, and levels the signal to match the ADC's input voltage range. The conditioned analog signal is then input to one channel of the ADC. The ADC is configured for continuous conversion, and its conversion trigger signal can be provided by a separate sampling timer to ensure a constant sampling rate. The other DMA channel is configured to automatically transfer the value from the ADC's converted data register (ADCDR) to a circular receive buffer in SRAM. This buffer is an array of type uint16t, designed to store several cycles of raw data.
[0112] Offline residual calculation and adaptive update module (M400):
[0113] This module is a purely software entity whose code runs in the background main loop of the MCU, or exists as a low-priority task in a real-time operating system (RTOS). The module's code implements the non-causal filtering and non-causal FxLMS update algorithms described in the S500 and S600. It relies on the MCU's FPU to accelerate floating-point convolution and iterative computations. Internally, the module maintains a storage mechanism for secondary channel weights. The module uses a static floating-point array `float Shat[J]` and a circular queue to store error sequences from the past few cycles for smoothing. It determines when a complete cycle of data has been acquired by reading the DMA's target address pointer and transfer counter, and then cuts out the required data segments. After calculation, it notifies the hardware to switch to the new waveform table by executing an atomic instruction to toggle the double-buffered active flag described in the M200.
[0114] Voice coil motor vibration damping actuator (M500):
[0115] This module is an electromechanical integrated component. It includes a custom-designed tubular linear voice coil motor, a precision-machined suspended counterweight, and an H-bridge power driver board. The voice coil motor and counterweight are integrated inside the housing, parallel to the impact cylinder. The H-bridge power driver board receives the analog voltage signal from the MCU's DAC output and converts it into a large current capable of driving the voice coil motor coil. This driver board typically includes current sampling resistors and feedback loops to achieve precise current control, ensuring the linearity of the output force with the control signal.
[0116] During system operation, these modules work collaboratively. M100 and M300 serve as data input sources, providing the phase clock and raw vibration data, respectively. M200 acts as a hard real-time feedforward output channel, responding to the phase clock with extremely low latency. M400, as the intelligent core in the background, continuously analyzes the results acquired by M300 and optimizes the "ammunition" (waveform lookup table) used by M200. M500 is the final physical executor. This hardware-software integration and separation of real-time and non-real-time tasks enables the system to efficiently and stably implement the aforementioned active vibration absorption and steady-state control methods.
[0117] It should be noted that the division of all “modules” in this application embodiment is based on their functional logic. In terms of physical implementation, most of the functions of M100, M200 and M400 can be undertaken by different peripherals and software tasks of the same microcontroller chip.
[0118] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0119] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
[0120] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit described above can be implemented in hardware.
Claims
1. A method for active vibration absorption and steady-state control based on a voice coil motor, characterized in that, include: Acquire the rotor position signal of the main drive motor that is phase-synchronized with the movement of the impact piston; Based on the rotor position signal of the main drive motor, the anti-phase drive control word corresponding to the current phase is obtained by indexing from a waveform lookup table; Based on the aforementioned anti-phase drive control word, a voice coil motor is driven to move a counterweight, thereby generating a counteracting force that is opposite in phase to the excitation force of the impact piston.
2. The method according to claim 1, characterized in that, After acquiring the rotor position signal of the main drive motor that is phase-synchronized with the movement of the impact piston, the method further includes: The original acceleration sequence of one casing of the active shock absorption and steady-state control system is periodically collected; The original acceleration sequence is subjected to noncausal filtering to generate a pure periodic residual error sequence, wherein the pure periodic residual error sequence eliminates the phase delay introduced by causal filtering; The waveform lookup table is adaptively updated based on the pure periodic residual error sequence.
3. The method according to claim 2, characterized in that, The adaptive updating of the waveform lookup table based on the pure periodic residual error sequence includes: Based on the pure periodic residual error sequence and a pre-identified secondary channel impulse response model, the waveform lookup table for the next period is calculated using a non-causal updated filter-x least mean square algorithm.
4. The method according to claim 3, characterized in that, The update law of the non-causal update filter-x least mean square algorithm is determined by a preset formula, wherein the preset formula will determine the update law of the x-th algorithm. The impact week is expected to see an update on the phase points. Inverting drive control word at the location , determined as the number Phase point of each impact cycle Inverting drive control word at the location Subtract an adaptive step size factor The product of the gradient term and the gradient term, which are the weight coefficients of the secondary channel impulse response model. With the The pure cycle residual error sequence corresponding to the future phase in each impact cycle The weighted sum.
5. The method according to claim 2, characterized in that, The non-causal filtering of the original acceleration sequence includes: Perform a positive low-pass filter on the original acceleration sequence; The time axis of the sequence after the positive low-pass filtering process is flipped. The sequence after time axis flipping is then subjected to a low-pass filter with the same parameters as the forward low-pass filter.
6. The method according to claim 1, characterized in that, Before acquiring the rotor position signal of the main drive motor that is phase-synchronized with the movement of the impact piston, the method further includes: An excitation signal is input to the voice coil motor; The acceleration response of the casing caused by the excitation signal is acquired synchronously; Based on the excitation signal and the acceleration response, a secondary channel impulse response model characterizing the transmission characteristics from the drive input of the voice coil motor to the acceleration output of the housing is obtained through a system identification algorithm.
7. The method according to claim 2, characterized in that, The method further includes: The maximum absolute value of the pure periodic residual error sequence is compared with a preset anti-divergence circuit breaker residual threshold. When the maximum absolute value is greater than the anti-divergence fuse residual threshold, the adaptive update of the waveform lookup table is paused.
8. An active vibration absorption and steady-state control system based on a voice coil motor, characterized in that, include: A phase sensing module is used to acquire the rotor position signal of the main drive motor that is synchronized with the movement phase of the impact piston; A feedforward drive module, connected to the phase sensing module, is used to retrieve the anti-phase drive control word corresponding to the current phase from a waveform lookup table based on the rotor position signal of the main drive motor. A voice coil motor actuator, connected to the feedforward drive module, is used to drive a voice coil motor to move a counterweight based on the inverse drive control word, so as to generate a counteracting force that is opposite in phase to the excitation force of the impact piston.
9. The system according to claim 8, characterized in that, The system also includes: An acceleration acquisition module is used to periodically acquire the raw acceleration sequence of a casing of the system; An adaptive update module, connected to the acceleration acquisition module and the feedforward drive module, is used to perform non-causal filtering on the original acceleration sequence to generate a pure periodic residual error sequence, and adaptively update the waveform lookup table based on the pure periodic residual error sequence.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method according to any one of claims 1-7.