A low-complexity adaptive training method for ANC based on block gradient accumulation and time division scheduling

CN122907024APending Publication Date: 2026-10-13XIAN YUNMAI ACOUSTIC TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611201149.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-08-10
Publication Date
2026-10-13

AI Technical Summary

Technical Problem

家电行业对BOM成本高度敏感,终端设备多采用低成本通用MCU,算力与RAM存储资源极其有限,无法承载高采样率下的ANC实时运算

Benefits of technology

(1)本发明将传统逐点更新的高频次权重运算,转化为“逐点梯度累加+块级集中更新”的低频次运算模式,大幅拉低单采样周期内的运算峰值负荷。以控制滤波器长度L=128、数据块长度Block=256的典型配置为例,传统逐点更新算法每个采样周期需执行L次权系数更新(128次乘加),而本发明每个采样周期仅需执行梯度累加(128次乘加),每256个采样点才执行一次系数更新(128次乘加)。平均每个采样周期的权系数更新运算量从128次乘加降低至0.5次乘加(128/256),降幅达99%以上。配合剩余时隙分步执行的调度方式,充分挖掘处理器的空闲算力资源,使低算力平台也能够承载高采样率下的ANC训练流程与实时降噪输出,直接降低产品BOM成本,推动主动降噪技术在大众级家电产品中的规模化普及。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122907024A_ABST
    Figure CN122907024A_ABST
Patent Text Reader

Abstract

The application discloses a low-computing-power ANC adaptive training method based on block gradient accumulation time division scheduling and belongs to the technical field of active noise reduction. The method comprises the following steps: system parameter initialization; each sampling point performs real-time output calculation with the highest priority; reference signal filtering, error signal filtering and gradient component accumulation are step by step performed by using the remaining time slots of the sampling period; when the accumulated sampling point number reaches a preset block length, block-level coefficient unified updating is performed; if the time consumption of coefficient updating exceeds a single block period, a transition block scheduling mechanism is started, the gradient calculation and accumulation process of the transition block itself is suspended, and all the remaining computing power is tilted to complete the coefficient updating of the previous block. The application converts point-by-point weight updating into a 'point-by-point gradient accumulation + block-level centralized updating' mode, the single sampling period weight coefficient updating operation amount is reduced by more than 99%, the noise reduction loss is controlled within 0.3dBA, and the application is suitable for active noise reduction applications of air conditioners, range hoods, refrigerators and other household appliances.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of active noise reduction technology, and more specifically, to a low-computing-power ANC adaptive training method based on block gradient accumulation time-sharing scheduling. Background Technology

[0002] Active Noise Control (ANC) technology is based on the principle of "destructive interference." It cancels out noise waves by generating reverse sound waves with opposite phase and equal amplitude, thus achieving noise reduction. Due to its excellent performance in low-frequency noise control, ANC technology has been widely applied in automotive cabins, noise-canceling headphones, smart headrests, and home appliances. In the home appliance sector, ANC technology has been gradually implemented in white goods and kitchen appliances equipped with fans / compressors, such as air conditioners, range hoods, refrigerators, and air purifiers, becoming a core technology for achieving quieter operation and enhancing market competitiveness.

[0003] At the ANC algorithm level, the Filtered-x Least Mean Square (FxLMS) algorithm is widely used due to its high computational efficiency. Existing ANC schemes generally achieve low-latency processing by increasing the sampling frequency, shortening the data frame length, and increasing the number of iterations per unit time to ensure system causality—that is, the output of the canceled sound wave must arrive before the original noise reaches the error microphone. In addition, some research has attempted to reduce the pressure on a single computing unit through task parallelization, for example, by decomposing the parallelizable tasks in the FxLMS algorithm and mapping them to multiple processing units of the controller.

[0004] However, the aforementioned existing technologies still have the following drawbacks: 1. There is a fundamental contradiction between increasing sampling frequency and low-cost computing platforms. Increasing the sampling frequency directly leads to a significant increase in the number of sampling points per unit time. The tap computation and weight update frequency of adaptive filters increase linearly, placing extremely high demands on the computing power and memory bandwidth of the main control chip. The home appliance industry is highly sensitive to BOM costs, and terminal devices mostly use low-cost general-purpose MCUs with extremely limited computing power and RAM storage resources, making it impossible to support real-time ANC computation at high sampling rates.

[0005] 2. Reducing the sampling frequency to match computing power will disrupt system causality. If the sampling frequency is reduced and the data frame length is extended in order to control computing power, the system causality will be disrupted, causing phase shift mismatch. Not only will the noise reduction of mid-to-high frequencies be greatly reduced, but additional sound coloration or even system divergence howling may also be introduced.

[0006] 3. Existing low-computing-power optimization solutions still fail to address the core contradiction. Although existing solutions attempt to reduce computing power by adjusting the controller order or multi-channel fusion, these solutions primarily focus on reducing overall computational load and do not address the fundamental contradiction between the ANC system's core "real-time causality constraint" and "peak computing power per sampling period." Traditional point-by-point update algorithms concentrate output computation and filter coefficient updates within the same sampling period. When the computational load is too high, it easily encroaches on output computation time resources, leading to noise reduction output delay and violating the causality constraint of sound wave cancellation.

[0007] In summary, existing technologies have consistently failed to simultaneously meet the triple requirements of causality, low latency, and high noise reduction performance on low-cost computing platforms. Therefore, we propose a low-computing-power ANC adaptive training method based on block gradient accumulation time-sharing scheduling. Summary of the Invention

[0008] The purpose of this invention is to provide a low-computing-power ANC adaptive training method based on block gradient accumulation time-sharing scheduling to solve the problems mentioned in the background art.

[0009] To achieve the above objectives, the present invention provides the following technical solution: A low-computing-power ANC adaptive training method based on block gradient accumulation time-sharing scheduling includes the following steps: S1. System parameter initialization: Configure the basic parameters of the active noise reduction system, including setting the control filter length L, data block length Block, step size factor μ, initializing the control filter weight coefficient vector W and gradient accumulator G, and loading the pre-identified secondary path model. ; S2. Real-time output calculation for single sampling point: After each sampling point triggers an interrupt, the control filter output operation is executed with the highest priority. The canceled output signal y(n) of the current sampling point is calculated based on the current weight coefficient vector W and the reference signal vector X(n) and output to the speaker. S3. Step-by-step operation of the remaining time slots of a single sampling point: After the output calculation is completed, the remaining processor time slots of the current sampling period are used to sequentially perform reference signal filtering, error signal filtering, and gradient component accumulation, and the gradient component of the current sampling point is accumulated into the gradient accumulator G. S4. Block update determination: The number of sample points processed in the current data block is counted by the block length counter. If the cumulative number has not reached the preset block length, return to step S2 to continue processing the next sample point. If the cumulative number has reached the block length, proceed to step S5. S5. Unified update of block coefficients and time consumption determination: Read the entire block of accumulated gradient stored in the gradient accumulator G, and perform a one-time update operation on the control filter weight coefficient vector W in combination with the step size factor μ. After the update is completed, clear the gradient accumulator G and the block counter. At the same time, determine whether the operation time of this coefficient update exceeds the period of the current data block. If it does not exceed the period, proceed to the normal processing flow of the next data block. If it exceeds the period, proceed to step S6. S6. Transition block scheduling process: Mark the subsequent data block as a transition block. Each sampling point in the transition block still prioritizes the real-time output calculation of the control filter. Pause the signal filtering, gradient calculation and accumulation process of the transition block. Use all remaining processor time slots in the transition block to execute the coefficient update calculation that was not completed in the previous data block. After the coefficient update is completely completed, terminate the transition block state and restore the normal processing flow of the subsequent data blocks.

[0010] Preferably, the value of the data block length Block is greater than the control filter length L.

[0011] Preferably, the formula for calculating the canceled output signal y(n) in step S2 is: ; in, To control the filter weight coefficient vector, This is the reference signal vector.

[0012] Preferably, the reference signal filtering process in step S3 includes: Input the reference signal vector X(n) into the bandpass filter H to obtain the filtered reference signal vector X. h (n); The filtered reference signal vector X h (n) Input the secondary path model S for filtering to obtain the filtered reference signal vector X. hs (n); Wherein, the filtered reference signal vector X h The formula for calculating (n) is: ; Filtered reference signal vector X hs The formula for calculating (n) is: ; in, Let be the unit impulse response vector of the bandpass filter, with a length of . L ; The vector for the secondary pathway estimation model has a length of [value missing]. L ; This is the output vector of the reference signal after it has been filtered by a bandpass filter.

[0013] Preferably, the error signal filtering process in step S3 includes: The error signal vector E(n) is input into the bandpass filter H to obtain the filtered error signal e. h (n).

[0014] Preferably, the filtered error signal e h The formula for calculating (n) is: ; in, This is the error signal vector.

[0015] Preferably, the formula for calculating the gradient component accumulation in step S3 is: ; Among them, e h (n) represents the filtered error signal, X hs (n) is the filter reference signal vector.

[0016] Preferably, the formula for updating the control filter weight coefficient vector W in step S5 is as follows: ; Where μ is the step size factor and G(n) is the block of accumulated gradients stored in the gradient accumulator.

[0017] Preferably, the runtime of the transition block in step S6 is one or more data block cycles, until the coefficient update of the previous data block is completely completed and the transition block state is terminated.

[0018] A low-computing-power ANC adaptive training system based on block gradient accumulation time-sharing scheduling, the system running on a microcontroller unit (MCU), includes: The initialization module is used to configure the basic parameters of the active noise reduction system, including setting the control filter length L, data block length Block, step size factor μ, initializing the control filter weight coefficient vector W and gradient accumulator G, and loading the pre-identified secondary path model. ; The real-time output calculation module is used to perform the control filter output calculation with the highest priority after an interrupt is triggered at each sampling point. It calculates the canceled output signal y(n) of the current sampling point based on the current weight coefficient vector W and the reference signal vector X(n) and outputs it to the speaker. The remaining time slot step-by-step calculation module is used to sequentially perform reference signal filtering and error signal filtering processing using the remaining processor time slots of the current sampling period after the real-time output calculation module has completed the output calculation, and to accumulate the gradient components calculated at the current sampling point into the gradient accumulator G. The block update determination module is used to count the number of sample points that have been processed in the current data block by using a block length counter. When the accumulated number reaches the preset block length, it outputs a block update trigger signal. The block-level coefficient update module is used to respond to the block update trigger signal, read the entire block of accumulated gradient stored in the gradient accumulator G, and perform a one-time update operation on the control filter weight coefficient vector W in combination with the step size factor μ. After the update is completed, the gradient accumulator G and the block counter are cleared, and it is determined whether the operation time of this coefficient update exceeds the period of the current data block. The transition block scheduling module is used to mark subsequent data blocks as transition blocks when the block-level coefficient update module determines that the time taken for the current coefficient update operation exceeds the current data block cycle. Within the transition block, each sampling point still prioritizes the real-time output calculation of the control filter through the real-time output calculation module. At the same time, the gradient calculation and accumulation process of the remaining time slot step-by-step calculation module is paused. All remaining processor time slots within the transition block are used to execute the coefficient update operation that was not completed in the previous data block. After the coefficient update is completely completed, the transition block state is terminated and the normal processing flow of subsequent data blocks is restored.

[0019] Compared with the prior art, the beneficial effects of the present invention are as follows: (1) This invention transforms the high-frequency weight calculation of traditional point-by-point updates into a low-frequency calculation mode of "point-by-point gradient accumulation + block-level centralized update", which significantly reduces the peak computational load in a single sampling period. Taking a typical configuration with a control filter length of L=128 and a data block length of Block=256 as an example, the traditional point-by-point update algorithm requires L weight coefficient updates (128 multiplications and additions) per sampling period, while this invention only requires gradient accumulation (128 multiplications and additions) per sampling period, and coefficient updates (128 multiplications and additions) are performed only once every 256 sampling points. The average weight coefficient update computation amount per sampling period is reduced from 128 multiplications and additions to 0.5 multiplications and additions (128 / 256), a reduction of more than 99%. Combined with the scheduling method of step-by-step execution of the remaining time slots, the idle computing power resources of the processor are fully utilized, enabling low computing power platforms to carry ANC training processes and real-time noise reduction output under high sampling rates, directly reducing product BOM costs and promoting the large-scale popularization of active noise reduction technology in mass-market home appliances.

[0020] (2) This invention quantifies and controls the performance boundary of block updates by using the parameter configuration criterion that "block length is greater than control filter length". Simulation verification shows that when this configuration condition is met, compared with the traditional point-by-point update algorithm, the overall noise reduction loss of the system can be controlled within 0.3 dBA, the performance degradation is negligible, and it fully meets the quiet performance requirements of home appliances. This effect breaks through the technical contradiction that "reducing computing power will inevitably reduce performance", and enables low computing power platforms to achieve noise reduction effects close to those of the standard point-by-point update algorithm without increasing hardware costs.

[0021] (3) By prioritizing the calculation of anti-phase acoustic waves in a hierarchical task scheduling manner, the zero-delay characteristic of the noise reduction output is locked in terms of timing, ensuring the phase matching accuracy of acoustic wave cancellation under high sampling rate, strictly meeting the causal constraints of the ANC system, and avoiding problems such as noise reduction attenuation or howling caused by phase mismatch from the root. The calculation of the control filter output involves L=128 multiply-accumulate operations, which can be completed in about 2-3μs on a low-cost MCU (such as ARM Cortex-M4 with a main frequency of 100MHz), which is much smaller than the sampling period, ensuring the real-time performance of the output calculation. At the same time, a dynamic scheduling mechanism for the transition block is added. When the amount of coefficient update calculation exceeds the computing power of a single block cycle, the update calculation is completed by the computing power tilt, completely eliminating problems such as calculation accumulation and sampling overflow. In extreme computing power load scenarios (such as control filter length L=4096, sampling frequency fs=48kHz), the transition block mechanism can be automatically triggered to ensure that the noise reduction output is uninterrupted throughout the process, and there is no risk of system crash or sampling overflow. Attached Figure Description

[0022] Figure 1 This is a timing diagram of the block update strategy of the present invention; Figure 2 This is a block diagram of the time-sharing scheduling training of block gradient accumulation according to the present invention. Detailed Implementation

[0023] The technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments.

[0024] Example: Please see Figure 1-2 A low-computing-power ANC adaptive training method based on block gradient accumulation time-sharing scheduling is proposed. This method can run on a low-cost microcontroller unit (MCU). The method includes the following steps: S1. System parameter initialization: Configure the basic parameters of the active noise reduction system, including setting the control filter length L, data block length Block, step size factor μ, initializing the control filter weight coefficient vector W and gradient accumulator G, and loading the pre-identified secondary path model. The value of the data block length (Block) is greater than the control filter length (L) to ensure that the noise reduction effect is not attenuated.

[0025] In this embodiment, the ANC system includes a reference microphone, an error microphone, a loudspeaker, an analog-to-digital converter (ADC), a digital-to-analog converter (DAC), and a microcontroller. The reference microphone is positioned near the noise source to acquire a reference noise signal x(n); the error microphone is positioned in the noise reduction target area to acquire a residual noise signal e(n); and the loudspeaker is positioned near the noise reduction target area to output a canceled sound wave signal y(n).

[0026] After the system starts, the first step S1 is executed: system parameter initialization.

[0027] In this embodiment, the control filter length L = 128, the data block length Block = 256, and the step factor μ = 0.01 are set. It should be noted that the above parameter values ​​are merely illustrative; in practical applications, the specific values ​​of L, Block, and μ can be adjusted according to factors such as the target noise reduction frequency range, sampling frequency, and MCU computing resources. The data block length Block is set greater than the control filter length L to ensure that the noise reduction effect is essentially unaffected.

[0028] Initialize the control filter weight vector W as a zero vector, i.e., W = [0,0,…,0]^T, with a length of L. Initialize the gradient accumulator G as a zero vector with a length of L. Load the pre-identified secondary path model. (i.e., secondary pathway estimation model vector) (with a length of L), this secondary pathway model The results are obtained in advance through offline identification. Simultaneously, the unit impulse response vector of the bandpass filter H is initialized with a length of L, which is used to filter the reference and error signals.

[0029] The block length counter is initialized to zero to count the number of sample points processed in the current data block.

[0030] like Figure 1 As shown, within each sampling period, the system first executes the hard real-time task—real-time output calculation.

[0031] S2. Real-time output calculation for each sampling point: After an interrupt is triggered at each sampling point, the control filter output calculation is executed with the highest priority. Specifically, the system reads the reference signal x(n) of the current sampling point from the reference microphone and updates the reference signal vector. Then, based on the current weight coefficient vector W and the reference signal vector X(n), the canceled output signal y(n) at the current sampling point is calculated through the vector inner product: ; in, The control filter weight coefficient vector W is the coefficient vector of the adaptive filter at time n, where each weight coefficient w... i This represents the weighting value for different delayed reference signal components, used to generate a cancellation signal that is out of phase with the noise.

[0032] After the calculation is completed, y(n) is immediately output to the digital-to-analog converter (DAC), which amplifies the signal and drives the speaker to emit a canceled sound wave. This step is a hard real-time task and must be completed before the next sampling point arrives to ensure that the output of the canceled sound wave is earlier than the time when the original noise arrives at the error microphone, strictly satisfying the causality constraint of the ANC system.

[0033] In this embodiment, the sampling frequency is fs=16kHz and the sampling period is Ts=62.5μs. The calculation of the control filter output involves L=128 multiply-accumulate operations, which can be completed in about 2-3μs on a low-cost MCU (such as an ARM Cortex-M4 with a main frequency of 100MHz). The remaining 59μs can be used to perform subsequent step-by-step calculations.

[0034] S3. Step-by-step operation of the remaining time slots of a single sampling point: After the output calculation is completed, the remaining processor time slots of the current sampling period are used to sequentially perform reference signal filtering, error signal filtering, and gradient component accumulation, and the gradient component of the current sampling point is accumulated into the gradient accumulator G.

[0035] S3.1 Reference Signal Filtering Input the reference signal vector X(n) into the bandpass filter H to obtain the filtered reference signal vector X. h (n): ; in, Let be the unit impulse response vector of the bandpass filter, with a length of . L The passband range of the bandpass filter H is set according to the target noise reduction frequency range. It is used to filter out signal components outside the target noise reduction frequency band, so that the adaptive filter converges only for noise within the target frequency band. For example, in this embodiment, the target noise reduction frequency is 100Hz~2000Hz, so the passband of the bandpass filter H is set to 100Hz~2000Hz.

[0036] Then the filtered reference signal vector X h (n) Input secondary path model Filtering is performed to obtain the filtered reference signal vector X. hs (n): ; in, The vector for the secondary pathway estimation model has a length of [value missing].L ; This is the output vector of the reference signal after being filtered by a bandpass filter. Secondary path model. An estimation model used to characterize the acoustic propagation path from loudspeaker output to error microphone reception includes the joint response of hardware components such as power amplifier, loudspeaker, acoustic propagation channel, microphone, and preamplifier.

[0037] S3.2 Error Signal Filtering Processing The system reads the error signal e(n) at the current sampling point from the error microphone and updates the error signal vector. .

[0038] in, .

[0039] The error signal vector E(n) is input into the bandpass filter H to obtain the filtered error signal e. h (n).

[0040] Filtered error signal e h The formula for calculating (n) is: .

[0041] S3.3, Gradient Component Accumulation Based on the filtered error signal e h (n) and the filtered reference signal vector X hs (n) Calculate the current gradient component and accumulate it into the gradient accumulator G: ; Among them, e h (n) represents the filtered error signal, X hs (n) is the filter reference signal vector.

[0042] The aforementioned reference signal filtering, error signal filtering, and gradient component accumulation operations are all time-delayable tasks, completed step-by-step using the remaining computing power slots within the sampling period. In this embodiment, the total computation time for these three steps is approximately 15-20 μs (on an ARM Cortex-M4). Adding the 2-3 μs for real-time output computation, the total computation time for a single sampling period is approximately 17-23 μs, far less than the sampling period of 62.5 μs, indicating ample computing power margin.

[0043] S4, Block Update Decision The number of sample points processed in the current data block is counted using a block length counter. The block length counter is incremented by 1 after each sample point is processed. If the accumulated number has not reached the preset block length (e.g., Block=256), the process returns to step S2 to continue processing the next sample point. If the accumulated number has reached the block length, the process proceeds to step S5.

[0044] S5. Unified Update and Time Consumption Determination of Block-Level Coefficients When the number of accumulated sampling points reaches Block=256, the entire accumulated gradient (i.e., the sum of the gradient components of 256 sampling points) stored in the gradient accumulator G is read, and a one-time update operation is performed on the control filter weight coefficient vector W in combination with the step size factor μ: The formula for updating the control filter weight coefficient vector W is: ; Where μ is the step size factor and G(n) is the block of accumulated gradients stored in the gradient accumulator.

[0045] After the update is complete, the gradient accumulator G and the block counter are cleared to prepare for the gradient accumulation of the next data block.

[0046] Simultaneously, it is determined whether the computation time for this coefficient update exceeds the period of the current data block. If it does not exceed the period, the normal processing flow for the next data block is entered; if it does exceed the period, step S6 is executed. In this embodiment, a data block contains 256 sampling points, and the data block period T block =256×62.5μs=16ms. When the control filter length L=128, a single coefficient update operation involves 128 multiplication and addition operations, which takes about 2-3μs, much less than 16ms. Therefore, the coefficient update can be completed within the current data block cycle, and the normal processing flow of the next data block can be directly entered.

[0047] When the control filter order is high (e.g., L=1024) or the block length is large (e.g., Block=2048), the computational complexity of a single coefficient update may increase to hundreds of microseconds or even milliseconds, potentially exceeding the single block cycle. Therefore, this invention establishes a transition block scheduling mechanism.

[0048] S6, Transition Block Scheduling Process When the decision coefficient update operation in step S5 cannot be completed within the current data block period, the system marks subsequent consecutive data blocks as transition blocks. The following logic is executed during the transition block's operation: S6.1 Retain real-time output: Each sampling point within the transition block still prioritizes the real-time output calculation of the control filter (i.e., step S2) to ensure that the noise reduction output remains uninterrupted.

[0049] S6.2 Computing resource allocation: Pause the signal filtering, gradient calculation and accumulation process of the transition block itself (i.e., pause all sub-steps of step S3), and use all remaining processor time slots in the transition block to execute the coefficient update calculations that were not completed in the previous data block.

[0050] S6.3 State recovery determination: After the coefficient update of the previous data block is completely completed, the transition block state is immediately terminated, and the normal processing flow of subsequent data blocks is restored (return to step S2 for repeated execution).

[0051] In a typical scenario of this embodiment, assuming the control filter length L=1024 and the data block length Block=2048, a single coefficient update operation takes approximately 800μs on an ARM Cortex-M4, while the single block period T... block =2048 × 62.5 μs = 128 ms, coefficient updates can be completed within a single block period without triggering a transition block. If the sampling frequency is increased to 48 kHz (T... block (≈42.7ms) or the filter length is increased to L=4096 or more microphones and speakers are used. A single coefficient update operation may exceed the single block cycle. At this time, the system automatically starts the transition block scheduling mechanism, which sacrifices the gradient accumulation of the transition block to ensure the complete execution of the previous block coefficient update, so as to ensure that the system always runs stably and the noise reduction output is never interrupted.

[0052] The runtime of a transition block is one or more data block cycles, until the coefficient update of the previous data block is fully executed and the transition block state is terminated.

[0053] like Figure 2 As shown, the ANC adaptive training system that implements the above method is divided into the following six functional modules at the software level: (1) Initialization module: used to configure the basic parameters of the active noise reduction system when the system starts up, including setting the control filter length L, data block length Block, step size factor μ, initializing the control filter weight coefficient vector W and gradient accumulator G, and loading the pre-identified secondary path model S.

[0054] (2) Real-time output calculation module: After each sampling point triggers an interrupt, it performs the control filter output operation with the highest priority, calculates the cancellation output signal y(n) of the current sampling point based on the current weight coefficient vector W and the reference signal vector X(n), and outputs it to the speaker, strictly ensuring the causality requirements of the ANC system.

[0055] (3) Remaining time slot step-by-step calculation module: After the real-time output calculation module completes the output calculation, it uses the remaining processor time slot of the current sampling period to sequentially perform reference signal filtering and error signal filtering, and accumulates the gradient components calculated at the current sampling point into the gradient accumulator G.

[0056] (4) Block update determination module: It is used to count the number of sample points processed in the current data block by using the block length counter. When the accumulated number reaches the preset block length, it outputs a block update trigger signal.

[0057] (5) Block-level coefficient update module: It is used to respond to the block update trigger signal, read the entire block of accumulated gradient stored in the gradient accumulator G, and perform a one-time update operation on the control filter weight coefficient vector W in combination with the step size factor μ. After the update is completed, the gradient accumulator G and the block counter are cleared, and it is determined whether the operation time of this coefficient update exceeds the period of the current data block.

[0058] (6) Transition block scheduling module: When the block-level coefficient update module determines that the time taken for the current coefficient update operation exceeds the current data block cycle, the subsequent data block is marked as a transition block; each sampling point in the transition block still prioritizes the real-time output calculation of the control filter through the real-time output calculation module, while pausing the gradient calculation and accumulation process of the remaining time slot step-by-step calculation module, and using all the remaining processor time slots in the transition block to execute the coefficient update operation that was not completed in the previous data block. After the coefficient update is completely completed, the transition block state is terminated and the normal processing flow of the subsequent data block is restored.

[0059] Technical effect verification of the embodiments In one verification embodiment of the present invention, the above method is deployed on an ARM Cortex-M4 core MCU (100MHz clock speed, 64KB RAM), with a sampling frequency fs=16kHz, a control filter length L=128, a data block length Block=256, and a step factor μ=0.01.

[0060] Test results show that: (1) Significantly reduced peak computing power and average overhead: The high-frequency weight operation of traditional point-by-point update is transformed into a low-frequency operation mode of "point-by-point gradient accumulation + block-level centralized update", which greatly reduces the peak computing load in a single sampling period; combined with the scheduling method of step-by-step execution of the remaining time slots, the idle computing power resources of the processor are fully utilized. The low computing power platform can also support the ANC training process and real-time noise reduction output under high sampling rate.

[0061] (2) Minimal loss in noise reduction performance. Within the target noise reduction frequency band of 100Hz~2000Hz, the overall noise reduction loss of this invention compared to the traditional point-by-point update algorithm is controlled within 0.3dBA, and the performance degradation is negligible, fully meeting the requirements of the quiet performance index of home appliances.

[0062] (3) Causality is strictly guaranteed. Through the hierarchical task scheduling of "real-time output priority", the output delay of the sound wave is compressed to the minimum. The causal constraint of sound wave cancellation is met under all test conditions. No noise reduction attenuation or system divergence howling caused by phase mismatch occurs.

[0063] (4) High operational stability. The transition block scheduling mechanism can be automatically triggered under extreme computing load scenarios (such as controlling the filter length L=4096 and the sampling frequency fs=48kHz), ensuring that the noise reduction output is uninterrupted throughout the process and that there is no risk of system crash or sampling overflow.

[0064] Those skilled in the art will understand that the present invention is also applicable to the block update modification of other types of adaptive filtering algorithms (such as Normalized Least Mean Square (NLMS) algorithm, Recursive Least Squares (RLS) algorithm, etc.), simply by replacing the corresponding gradient calculation formula.

[0065] Furthermore, the specific values ​​of the data block length Block and the control filter length L, as well as the value of the step factor μ, described in this invention can be flexibly configured according to actual application scenarios (such as different types of home appliances, different target noise reduction frequency bands, and different MCU computing power levels), and all of these fall within the protection scope of this invention.

[0066] The foregoing has shown and described the basic principles, main features, and advantages of the present invention. Those skilled in the art should understand that the present invention is not limited to the above embodiments. The embodiments and descriptions in the specification are merely preferred examples and are not intended to limit the invention. Various changes and modifications can be made to the invention without departing from its spirit and scope, and all such changes and modifications fall within the scope of the present invention as claimed. The scope of protection of the present invention is defined by the appended claims and their equivalents.

Claims

1. A low-computing-power ANC adaptive training method based on block gradient accumulation time-sharing scheduling, characterized in that, Includes the following steps: S1. System parameter initialization: Configure the basic parameters of the active noise reduction system, including setting the control filter length L, data block length Block, step size factor μ, initializing the control filter weight coefficient vector W and gradient accumulator G, and loading the pre-identified secondary path model. ; S2. Real-time output calculation for single sampling point: After each sampling point triggers an interrupt, the control filter output operation is executed with the highest priority. The canceled output signal y(n) of the current sampling point is calculated based on the current weight coefficient vector W and the reference signal vector X(n) and output to the speaker. S3. Step-by-step operation of the remaining time slots of a single sampling point: After the output calculation is completed, the remaining processor time slots of the current sampling period are used to sequentially perform reference signal filtering, error signal filtering, and gradient component accumulation, and the gradient component of the current sampling point is accumulated into the gradient accumulator G. S4. Block update determination: The number of sample points processed in the current data block is counted by the block length counter. If the cumulative number has not reached the preset block length, return to step S2 to continue processing the next sample point. If the cumulative number has reached the block length, proceed to step S5. S5. Unified update of block coefficients and time consumption determination: Read the entire block of accumulated gradient stored in the gradient accumulator G, and perform a one-time update operation on the control filter weight coefficient vector W in combination with the step size factor μ. After the update is completed, clear the gradient accumulator G and the block counter. At the same time, determine whether the operation time of this coefficient update exceeds the period of the current data block. If it does not exceed the period, proceed to the normal processing flow of the next data block. If it exceeds the period, proceed to step S6. S6. Transition block scheduling process: Mark the subsequent data block as a transition block. Each sampling point in the transition block still prioritizes the real-time output calculation of the control filter. Pause the signal filtering, gradient calculation and accumulation process of the transition block. Use all remaining processor time slots in the transition block to execute the coefficient update calculation that was not completed in the previous data block. After the coefficient update is completely completed, terminate the transition block state and restore the normal processing flow of the subsequent data blocks.

2. The low-computing-power ANC adaptive training method based on block gradient accumulation time-sharing scheduling according to claim 1, characterized in that, The value of the data block length Block is greater than the control filter length L.

3. The low-computing-power ANC adaptive training method based on block gradient accumulation time-sharing scheduling according to claim 1, characterized in that, The formula for calculating the canceled output signal y(n) in step S2 is as follows: ; in, To control the filter weight coefficient vector, This is the reference signal vector.

4. The low-computing-power ANC adaptive training method based on block gradient accumulation time-sharing scheduling according to claim 1, characterized in that, The reference signal filtering process in step S3 includes: Input the reference signal vector X(n) into the bandpass filter H to obtain the filtered reference signal vector X. h (n); The filtered reference signal vector X h (n) Input the secondary path model S for filtering to obtain the filtered reference signal vector X. hs (n); Wherein, the filtered reference signal vector X h The formula for calculating (n) is: ; The filtered reference signal vector X hs The formula for calculating (n) is: ; in, Let be the unit impulse response vector of the bandpass filter, with a length of . L ; The vector for the secondary pathway estimation model has a length of [value missing]. L ; This is the output vector of the reference signal after being filtered by a bandpass filter.

5. The low-computing-power ANC adaptive training method based on block gradient accumulation time-sharing scheduling according to claim 1, characterized in that, The error signal filtering process in step S3 includes: The error signal vector E(n) is input into the bandpass filter H to obtain the filtered error signal e. h (n).

6. The low-computing-power ANC adaptive training method based on block gradient accumulation time-sharing scheduling according to claim 5, characterized in that, The filtered error signal e h The formula for calculating (n) is: ; in, This is the error signal vector.

7. The low-computing-power ANC adaptive training method based on block gradient accumulation time-sharing scheduling according to claim 1, characterized in that, The formula for calculating the gradient component accumulation in step S3 is as follows: ; Among them, e h (n) represents the filtered error signal, X hs (n) is the filter reference signal vector.

8. The low-computing-power ANC adaptive training method based on block gradient accumulation time-sharing scheduling according to claim 1, characterized in that, The formula for updating the control filter weight coefficient vector W in step S5 is as follows: ; Where μ is the step size factor and G(n) is the block of accumulated gradients stored in the gradient accumulator.

9. The low-computing-power ANC adaptive training method based on block gradient accumulation time-sharing scheduling according to claim 1, characterized in that, In step S6, the runtime of the transition block is one or more data block cycles, until the coefficient update of the previous data block is completely completed and the transition block state is terminated.

10. A low-computing-power ANC adaptive training system based on block gradient accumulation time-sharing scheduling, characterized in that, The system runs on a microcontroller unit (MCU) and includes: The initialization module is used to configure the basic parameters of the active noise reduction system, including setting the control filter length L, data block length Block, step size factor μ, initializing the control filter weight coefficient vector W and gradient accumulator G, and loading the pre-identified secondary path model. ; The real-time output calculation module is used to perform the control filter output calculation with the highest priority after an interrupt is triggered at each sampling point. It calculates the canceled output signal y(n) of the current sampling point based on the current weight coefficient vector W and the reference signal vector X(n) and outputs it to the speaker. The remaining time slot step-by-step calculation module is used to, after the real-time output calculation module completes the output calculation, use the remaining processor time slot of the current sampling period to sequentially perform reference signal filtering and error signal filtering, and accumulate the gradient component calculated at the current sampling point into the gradient accumulator G; The block update determination module is used to count the number of sample points that have been processed in the current data block by using a block length counter. When the accumulated number reaches the preset block length, it outputs a block update trigger signal. The block-level coefficient update module is used to respond to the block update trigger signal, read the entire block of accumulated gradient stored in the gradient accumulator G, and perform a one-time update operation on the control filter weight coefficient vector W in combination with the step size factor μ. After the update is completed, the gradient accumulator G and the block counter are cleared, and it is determined whether the operation time of this coefficient update exceeds the period of the current data block. The transition block scheduling module is used to mark subsequent data blocks as transition blocks when the block-level coefficient update module determines that the time taken for the current coefficient update operation exceeds the current data block cycle. Each sampling point in the transition block still prioritizes the real-time output calculation of the control filter through the real-time output calculation module, while pausing the gradient calculation and accumulation process of the remaining time slot step-by-step calculation module. All remaining processor time slots in the transition block are used to execute the coefficient update operation that was not completed in the previous data block. After the coefficient update is completely completed, the transition block state is terminated and the normal processing flow of subsequent data blocks is restored.