Automatic parameter tuning for active road noise cancellation

Through the automatic parameter tuning system and machine learning algorithm, the problem of traditional active road noise cancellation systems requiring manual parameter adjustment is solved, and the system's automation and efficient noise cancellation are achieved.

CN120708584APending Publication Date: 2025-09-26ANALOG DEVICES INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510345605.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-03-25
Filing Date
2025-03-24
Publication Date
2025-09-26

AI Technical Summary

Technical Problem

Traditional active road noise cancellation systems require manual parameter adjustment, which is time-consuming and requires professional knowledge, and cannot adapt to real-time dynamically changing road noise conditions.

Method used

An automatic parameter tuning system is adopted to automatically search for the optimal algorithm parameters based on recorded driving data through software simulation and machine learning algorithms, and the adaptive RNC algorithm and gradient optimization technology are used to adjust the adjustable parameters to achieve automatic configuration of the system.

Benefits of technology

The system achieves automated parameter tuning for active road noise cancellation, improving system adaptability and noise cancellation effectiveness while reducing manual intervention and adjustment time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120708584A_ABST
    Figure CN120708584A_ABST
Patent Text Reader

Abstract

Techniques for automatic parameter tuning of an active road noise cancellation system are described herein. The system can automatically search a group of optimal algorithm parameters according to recorded data. Active road noise cancellation algorithms and simulations may be embedded in an automatic differential framework that allows gradients of algorithm parameters to guide automatic search and calculation of algorithm parameters.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates generally to parameter tuning of noise cancellation systems, and more particularly to active noise cancellation for vehicles. Background Art

[0002] Cabin noise can be problematic because it can cause driver fatigue and hinder entertainment and voice-controlled devices. Cabin noise can be more noticeable in electric vehicles, which don't have an engine to mask some of the noise.

[0003] Noise cancellation (also known as road noise cancellation) can suppress noise in a vehicle cabin using certain filtering techniques. Traditional active road noise cancellation systems typically include a set of parameters that must be properly adjusted before installation for optimal performance. These parameters, unlike the filter coefficients / taps that dynamically change in real time to account for current road noise conditions, are typically adjusted manually, requiring significant time, resources, and expertise. Summary of the Invention

[0004] A method for automatically setting adjustable parameter values ​​for a road noise cancellation system is disclosed. The method includes: providing a software simulation of the road noise cancellation system, the road noise cancellation system including a plurality of adjustable parameters; receiving one or more recorded logs representing one or more different driving conditions of a test vehicle; setting a first set of values ​​for the plurality of adjustable parameters; simulating the road noise cancellation system using the software simulation based on the one or more recorded logs and the first set of values ​​for the plurality of adjustable parameters to generate simulation results; and setting a second set of values ​​for the plurality of adjustable parameters based on the simulation results.

[0005] Furthermore, a system for automatically setting adjustable parameter values ​​for a road noise cancellation system is disclosed herein. The system includes one or more processors of a machine and a memory storing instructions. When executed by the one or more processors, the instructions cause the machine to perform the following operations: provide a software simulation of the road noise cancellation system, the road noise cancellation system including a plurality of adjustable parameters; receive one or more recorded logs representing one or more different driving conditions of a test vehicle; set a first set of values ​​for the plurality of adjustable parameters; simulate the road noise cancellation system using the software simulation based on the one or more recorded logs and the first set of values ​​for the plurality of adjustable parameters to generate simulation results; and set a second set of values ​​for the plurality of adjustable parameters based on the simulation results.

[0006] Furthermore, disclosed herein is a machine-readable storage medium containing instructions that, when executed by a machine, cause the machine to: provide a software simulation of a road noise cancellation system, the road noise cancellation system including a plurality of adjustable parameters; receive one or more recorded logs representing one or more different driving conditions of a test vehicle; set a first set of values ​​for the plurality of adjustable parameters; simulate the road noise cancellation system using the software simulation based on the one or more recorded logs and the first set of values ​​for the plurality of adjustable parameters to generate simulation results; and set a second set of values ​​for the plurality of adjustable parameters based on the simulation results. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] The various figures in the drawings depict only example embodiments of the disclosure and should not be considered limiting of its scope.

[0008] Figure 1 A block diagram of an example portion of an active noise cancellation system is shown.

[0009] Figure 2 A block diagram illustrating an example portion of a parameter adjustment framework.

[0010] Figure 3 A block diagram illustrating an example portion of an automatic parameter tuning system is shown.

[0011] Figure 4 An example of a parameter gradient search for the step size parameter is shown.

[0012] Figures 5A-5C Examples of RNC performance using different step sizes are shown.

[0013] Figure 6 A flow chart showing a method for automatic parameter tuning is shown.

[0014] Figure 7 A block diagram is shown that includes an example of a machine on which any one or more of the techniques (eg, methodologies) discussed herein may be performed. DETAILED DESCRIPTION

[0015] This paper describes improved techniques for automatic parameter tuning of active road noise cancellation systems. These techniques utilize a set of recorded data specific to a vehicle model. As described herein, the system can automatically search for an optimal set of algorithm parameters based on the recorded data. The active road noise cancellation algorithm and simulation can be embedded in an automatic differentiation framework, which allows the gradients of the algorithm parameters to guide the automatic search and calculation of the algorithm parameters. After determining the set of algorithm parameters based on the gradient optimization technique, the active road noise cancellation system can be configured for use in the vehicle. The active road noise cancellation system can then utilize the optimal set of algorithm parameters during operation.

[0016] Figure 1 A block diagram of an example portion of an active noise cancellation system 100 (also referred to as an active road noise cancellation system) is shown. As shown, the active noise cancellation system 100 can be disposed within a vehicle. The active noise cancellation system 100 includes a plurality of reference sensors 102, a processor 104 (e.g., a digital signal processor (DSP)), a plurality of speakers 106, and a plurality of error microphones 108.

[0017] Reference sensor 102 can be configured as an accelerometer placed near a wheel of the vehicle. Reference sensor 102 can sense vibrations that may be associated with road noise entering the vehicle cabin. In some embodiments, four reference sensors 102 can be provided, one reference sensor (e.g., accelerometer) for each wheel of the vehicle. In some examples, each reference sensor 102 can include three axes, generating twelve reference signal channels.

[0018] The processor 104 may be provided as one or more microprocessors, such as a digital signal processor (DSP). The processor 104 may receive a reference signal from the reference sensor 102 and may generate an anti-noise signal based on the reference signal. The anti-noise signal may be 180° out of phase with the noise wave detected in the reference signal, so that the anti-noise signal destructively interferes with the detected noise wave to cancel the noise in the vehicle cabin. The anti-noise signal may be transmitted to the speaker 106, which may output the anti-noise signal. The error microphone 108 may detect the noise level in the vehicle and may transmit the information to the processor 104 in a feedback loop to modify the noise cancellation accordingly.

[0019] In some examples, processor 104 can utilize an adaptive RNC algorithm, such as a filtered reference least mean square (FxLMS) algorithm, to generate an anti-noise signal for playback to speaker 106. RNC algorithms typically include a number of adjustable parameters that are adjusted prior to installation. Examples of adjustable parameters include a step size (also known as mu) for adaptation, a leakage factor used as a forgetting factor, and the number of taps corresponding to the length of the adaptive filter. These adjustable parameters affect the performance of the RNC algorithm, such as its ability to adapt to changing road conditions.

[0020] When designing an RNC system for a new vehicle model or type, certain aspects of the RNC system software, such as the values ​​of adjustable parameters, may be configured in a manner specific to the vehicle model or type. Although the RNC system incorporates adaptive algorithms, these algorithms may not adapt to all possible conditions without proper tuning and configuration prior to installation. Tuning is an engineering process distinct from the adaptation that occurs as part of normal, ongoing operation of each vehicle equipped with an RNC system.

[0021] Figure 2A block diagram illustrates an example portion of a parameter tuning framework 200. Parameter tuning framework 200 includes data logging 202, an RNC simulation system 204, and an automatic tuning function 206. Data logging 202 may include a set of records of data from reference sensors and error microphones generated in a target vehicle type under different driving conditions. Driving conditions may refer to various different environments and / or vehicle configurations, such as driving on different road surfaces or driving speeds, driving a so-equipped vehicle in electric-only, engine-only, or hybrid mode, or having different vehicle configurations (e.g., sun visors stowed or deployed), seat positions, or passenger occupancy, or other vehicle loads such as luggage, or other factors that may affect RNC performance within the vehicle model, including extreme events such as a rock strike near a reference sensor or a knock on a microphone within the cabin. For example, a test vehicle representative of a vehicle model or type may be driven in different environments while recording data from reference sensors 102 and error microphones 108. The processor 104 running the RNC algorithm may be shut down during the recording period to capture only driving condition signals (e.g., vibration, noise) and not the anti-noise signal.

[0022] Data record 202 may include reference data from a reference sensor and interference data from an error microphone. In some examples, additional reference sensors and error microphones may be used in the target vehicle to perform data record 202. For example, in addition to the microphone locations used for mass production, additional microphones may be used to monitor acoustic performance at different locations within the cabin.

[0023] The RNC simulation system 204 may include a software simulation of the RNC system installed in the target vehicle. The software simulation of the RNC system may include the RNC algorithm and an acoustic model of the vehicle cabin. For example, a calibrated model of the transfer function between each amplifier input and each microphone sensor used for road noise cancellation may be included in the software simulation.

[0024] The auto-tuning function 206 may use a fully automated search strategy to adjust the tunable parameters of the RNC system to improve a quantitative measure of RNC performance that matches the subjective preferences of an expert human tuner so that the human tuner does not engage in a fully automated search.

[0025] Based on road records of reference sensors (e.g., accelerometers) and microphones, an acoustic channel model from a loudspeaker to an error microphone, an RNC algorithm, and a set of RNC algorithm parameters, the parameter tuning framework 200 can simulate the residual noise signal present at the error microphone. The residual noise at the error microphone can be expressed as:

[0026] e m [n],m=1...M,

[0027] Where M is the number of microphones.

[0028] Next, a quantitative measure Q of RNC system performance can be constructed to capture the preferences of expert human tuners. An example measure of performance is the average residual power of a microphone placed in a desired quiet zone within a vehicle:

[0029]

[0030] Because em[n] is the result of the entire RNC simulation during the target vehicle data recording period, the recorded data shows that Q depends on the driving scenario and vehicle, as well as the choice of RNC algorithm and the setting of the adjustable RNC algorithm parameter θ. Therefore, Q(θ; x, d) can be used to represent these dependencies.

[0031] Alternatively or in addition, the performance metric can emphasize the importance of noise reduction at certain locations relative to others by providing separate weights for the residual at each microphone, for example, as expressed by the following formula:

[0032]

[0033] , where λm is the non-negative weighting factor for microphone m.

[0034] Alternatively or in addition, the system may select a quantitative performance metric that assesses how much noise is reduced within certain frequency ranges, such as frequencies of problematic noises in the target vehicle, such as tire cavity resonances or body crash booms.

[0035] Figure 3 Shown is a block diagram of an example portion of an automatic parameter tuning system 300. The automatic parameter tuning system 300 includes an RNC simulation 302 having an RNC algorithm 304 and acoustic parameters 306 and adjustable parameters 308 representative of a vehicle cabin acoustic environment.

[0036] The RNC algorithm 304 can be an adaptive algorithm, such as a filtered least mean square (FxLMS) algorithm. The adaptive algorithm can include adjustable coefficients / taps that are dynamically adjusted during operation to account for observed road conditions that vary from the adjustable parameters 308. The adjustable parameters 308 can include a plurality of parameters that are adjusted prior to installation in the target vehicle using the techniques described herein. Examples of adjustable parameters 308 can include step size and leakage value. The RNC algorithm can generate an RNC output signal.

[0037] RNC simulation 302 receives a reference signal from the data record as input. As described above, the reference signal may correspond to a signal captured by a reference sensor in the data record. RNC simulation 302 may perform RNC simulation operations based on the reference signal and generate an anti-noise signal. Adder 310 may be used to combine the anti-noise signal with an interference signal. As described above, the interference signal may correspond to a signal captured by an error microphone in the data record. The output of adder 310 is an error signal. The error signal may represent the residual error after destructive interference between the anti-noise signal and the interference signal.

[0038] The loss function 312 can receive the error signal, the interference signal, and the anti-noise signal (including the RNC output signal) and generate a loss signal. The loss signal 312 can be identified as an optimization target for an optimization algorithm (such as stochastic gradient descent or ADAM), which will propose values ​​of adjustable parameters to try to reduce the loss signal. The optimization algorithm can generate and use the automatically calculated gradient of the loss signal relative to the adjustable parameter 308 (i.e., the parameter gradient) to determine the next recommended value of the adjustable parameter. The parameter gradient indicates where the search process should proceed in the parameter space to reduce the loss signal. The gradient is back-propagated to different blocks of the automatic parameter tuning system 300 to generate optimized adjustable parameter values ​​based on the gradient value of the performance metric of the loss signal. The automatic parameter tuning system 300 can operate in an iterative manner to determine the parameter value until the performance metric reaches a specified value.

[0039] Figure 4 An example of a parameter gradient search for the step size parameter is shown. Based on the gradient search, a target "loss" function (a quantitative measure of quality) is minimized. Lower values ​​of the loss function (e.g., the average residual noise level after cancellation) indicate better performance. In some examples, more complex loss functions (e.g., frequency shaping, psychoacoustic models) can also be used. As shown in the figure, the parameters are determined using gradient descent optimization. Figure 4 A 1D example is shown, demonstrating how the gradient dictates the shape of the loss surface on a logarithmic scale. The tangent line depicts the gradient and guides the search. Figure 4 The optimal step size for this example is shown.

[0040] Figures 5A-5C An example of RNC performance using different step sizes is shown. Step size is an example of an adjustable parameter that affects how quickly the RNC system responds to new road conditions. Figures 5A-5C The original interference level (labeled RNC OFF) and the interference level plus anti-noise (labeled RNC-ON) are shown. The vertical scale of each graph is acoustic power. Figure 5A The behavior of the system is shown for a step size of 0.1. A step size of 0.1 may be considered too small because the system learns new conditions too slowly. Figure 5BA step size of 4.0 is shown. A step size of 4.0 may be considered too large as the system may become unstable. Figure 5C An optimal step size of 1.0 is shown, which can be determined using the gradient-based parameter tuning techniques described herein.

[0041] Figure 6 A flow chart of a method 600 for automatic parameter tuning is shown. At operation 602, the system receives a recorded log (e.g., data log 202) of a target vehicle type under one or more different driving conditions, as described above. As described above, the recorded log may include reference data from a reference sensor and interference data from an error microphone.

[0042] At operation 604, the system sets initial values ​​(θ[0]) for the adjustable parameters of the RNC algorithm. For example, the initial values ​​may be set to halfway between the minimum and maximum values ​​allowed for each parameter.

[0043] At operation 606, the system simulates RNC performance based on the recorded logs and settings of the tunable parameters.

[0044] At operation 608, the system simultaneously or concurrently generates gradients for various quantities that depend on the adjustable parameter. In some examples, the system can perform simulation and forward mode automatic differentiation to synchronously generate gradients. For example, the system can be instructed that the adjustable parameter is a quantity whose gradient is to be propagated synchronously with the simulation.

[0045] At operation 610, the system determines the gradient of the quantitative measurement (Q) at the current point in the tuning space, which can be expressed as:

[0046]

[0047] At operation 612, the system modifies the set of tunable parameters to attempt to lower the value of Q. For example, the system may modify the tunable parameters according to the following:

[0048]

[0049] , where α is the learning rate. As long as α is small enough, the new parameters θ[k+1] used in the next simulation will produce a lower Q value than θ[k].

[0050] At operation 614, the system checks whether a stopping rule is satisfied. For example, a stopping rule may include a quantitative measure of the gradient norm. Whether it becomes small enough, such as below a threshold. Another stopping rule may include whether the simulated value of the quantitative metric (Q) reaches an acceptable performance level, such as based on a Q threshold. Another stopping rule may include whether the total tuning time elapsed exceeds a time limit.

[0051] At operation 616, if at least one stopping rule is satisfied, the system may store the current setting of the adjustable parameter and end method 600. However, if the stopping rule is not satisfied, the system may return to operation 606 and may iteratively perform the specified operations until at least one stopping rule is satisfied.

[0052] As described above, at each step of iterative tuning, the adjustment of the adjustable parameter can be proportional to the most recent gradient calculation. In some examples, using a history of gradient values ​​and optimization trajectories constructed such as momentum or adaptive step size (e.g., these can be included in operation 612 above) may enable crossing regions of parameter space where the gradient descent is faster while maintaining stability when the gradient norm is large.

[0053] Generating the gradient of a complex function such as FxLMS can be done using the "chain rule", which states that if a function is a composition of the form (z = f(g(x)), that is, (z = f(y) and y = g(x)), then the derivative obeys:

[0054]

[0055] It is worth noting that the behavior of the RNC simulation can be expressed as a differentiable function of adjustable parameters. For example, in the discrete-time simulation of the RNC system, at any sampling instant, the residual at the microphone em[n] is the sum of the interference signal dm[n] plus the anti-noise contribution ym[n]:

[0056] e m [n] = d m [n]+y m [n]

[0057] In turn, the anti-noise contribution at microphone m is the past reference sample (x j [n]) and the current state of the adaptive filter coefficients (w):

[0058]

[0059] The values ​​of the adaptive filter coefficients wkj can be differentiable functions of past data samples, past states of these filters, and adjustable algorithm parameters θ.

[0060] Therefore, the residual noise can be expressed as a function of the algorithm parameter vector and the recorded data:

[0061] e m [n]=F m (θ; x j , d m )

[0062] As mentioned above, F mIt can be differentiable with respect to a tunable algorithm parameter θ. Therefore, the system can choose a quantitative measure of performance Q that is also a differentiable function of the waveform produced by the simulation. The overall composition of the function can be a differentiable function of the parameter θ:

[0063] Q(e m )=Q(F m (θ; x j , d m ))

[0064] In practice, the vector of tunable RNC parameters may include a hundred or more individual parameters, and the data records may include millions of samples. Software libraries for machine learning (e.g., PyTorch) can be used to simultaneously compute specified operations of a machine learning model and the derivatives of these operations with respect to their inputs. These machine learning software libraries can also provide routines to automatically compute the end-to-end gradients of complex algorithms (not necessarily machine learning models) by combining the derivatives of the primitive operations that make up the algorithm, for example, according to the chain rule.

[0065] In addition, the machine learning software library includes optimization routines that implement algorithms such as stochastic gradient descent or ADAM, which can iteratively improve quantitative performance metrics using the calculated gradients. Applying these techniques, RNC simulations, including simulations of any adaptive algorithms (such as FxLMS and the acoustic channel within a vehicle), can be coded using a software library that provides automatic differentiation capabilities, and RNC algorithm simulations and quantitative performance metrics can be constructed using operations that are inherently differentiable. Thus, the routines provided by the machine learning software library can be used to automatically calculate the gradient of each adjustable parameter of the RNC system, as described in this article.

[0066] In some examples, convexification can be used to adjust discrete values ​​in the RNC algorithm in a gradient-based automatic adjustment method. For example, some adjustable parameters of the RNC algorithm can be provided as discrete values, such as the length of the adaptive filter used in the RNC algorithm (in discrete time samples). The gradient-based automatic adjustment method can be applied to these discrete values ​​in a convexified manner.

[0067] For example, consider a system trying to determine what level of performance can be achieved using an adaptive filter length of L = 99.5 samples. This value is not achievable in practice. However, the system can run two simulations, one using a filter length equal to 99 and a second using a filter length equal to 100. The system can specify the performance metric as Q(L = 99.5) = 0.5*Q(L = 99) + 0.5*Q(L = 100), that is, halfway between the values ​​of 99 and 100. Similarly, any other point between 99 and 100 can be evaluated by weighting according to the following formula:

[0068] Q(L)=(1-(L-99))*Q(99)+(L-99)*Q(100)

[0069] In this case, the performance function Q is differentiable at every point between the integer values. Specifically, in this range, the derivative will be Stochastic gradient descent algorithms can often skip isolated points where the gradient is undefined (usually by choosing some rule, such as making the gradient equal to the value on the right or left, possibly randomly). At the end of the optimization loop, the convex value can be rounded to the nearest allowed value (in this case, the nearest integer) so that it can be programmed into a real RNC system.

[0070] After determining the values ​​of the adjustable parameters using the automatic search techniques described herein, these values ​​can be set in the vehicle for normal operation. In some examples, the values ​​of the adjustable parameters can be installed using wireless communication. That is, an instruction to set the value can be sent to the vehicle, which in turn can execute the instruction to set the adjustable parameter value for the RNC system in the vehicle.

[0071] The techniques shown and described in this document may be performed using part or all of the parameter adjustment framework and system described above, or using the following in combination with Figure 7 The machine 700 in question is used for execution. Figure 7 The block diagram shows an example of a machine 700 on which any one or more of the techniques (e.g., methodologies) discussed herein may be performed. In various examples, the machine 700 may operate as a standalone device or may be connected (e.g., networked) to other machines.

[0072] In a networked deployment, the machine 700 can operate as a server machine, a client machine, or both in a server-client network environment. In one example, the machine 700 can function as a peer machine in a peer-to-peer (P2P) (or other distributed) network environment. The machine 700 can be a vehicle head unit / infotainment system, a vehicle electronic control unit (ECU), a personal computer (PC), a tablet device, a set-top box (STB), a personal digital assistant (PDA), a mobile phone, a network appliance, a network router, a switch or a bridge, or any machine capable of executing instructions (sequential or otherwise) specifying actions to be taken by the machine. Furthermore, while a single machine is illustrated, the term "machine" should also be taken to include any collection of machines that individually or collectively execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein, such as cloud computing, software as a service (SaaS), or other computer cluster configurations.

[0073] As described herein, examples may include or be operated by logic or multiple components or mechanisms. A circuit is a collection of circuits implemented in a tangible entity, including hardware (e.g., simple circuits, gates, logic, etc.). Circuit membership may be flexible over time and as the underlying hardware changes. A circuit includes components that, when in operation, can perform a specified operation, either individually or in combination. In one example, the hardware of a circuit can be immutably designed to perform a specific operation (e.g., hardwired). In one example, the hardware comprising the circuit can include variably connected physical components (e.g., execution units, transistors, simple circuits, etc.) and physically modified computer-readable media (e.g., magnetically, electrically, such as through a change in physical state or a transformation of another physical property) to encode instructions for a specific operation. When the physical components are connected, the underlying electrical properties of the hardware components may change, for example, from insulating properties to conductive properties, or vice versa. The instructions enable embedded hardware (e.g., execution units or loading mechanisms) to create components of the circuit in hardware through variable connections that, when in operation, perform a portion of a specific operation. Thus, when the device is in operation, the computer-readable medium is communicatively coupled to the other components of the circuit. In one example, any physical component can be used in multiple members of multiple circuits. For example, in operation, an execution unit can be used in a first circuit of a first circuit at one point in time and reused by a second circuit of the first circuit or a third circuit of the second circuit at a different time.

[0074] The machine 700 (e.g., a computer system) may include a hardware-based processor 701 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a hardware processor core, or any combination thereof), a main memory 703, and a static memory 705, some or all of which may communicate with each other via an interconnect 730 (e.g., a bus). The machine 700 may also include a display device 709, an input device 711 (e.g., an alphanumeric keyboard), and a user interface (UI) navigation device 713 (e.g., a mouse). In one example, the display device 709, the input device 711, and the UI navigation device 713 may include at least a portion of a touch screen display. The machine 700 may also include a storage device 720 (e.g., a drive unit), a signal generating device 717 (e.g., a speaker), a network interface device 750, and one or more sensors 715, such as a global positioning system (GPS) sensor, a compass, an accelerometer, or other sensors. The machine 700 may include an output controller 719, such as a serial controller or interface (e.g., Universal Serial Bus (USB)), a parallel controller or interface, or other wired or wireless (e.g., infrared (IR) controller or interface, near field communication (NFC), etc.), connected to communicate with or control one or more peripheral devices (e.g., a printer, a card reader, etc.).

[0075] The storage device 720 may include a machine-readable medium having stored thereon one or more data structures or instructions 724 (e.g., software or firmware) embodying or used by any one or more of the techniques or functionality described herein. The instructions 724 may also reside, completely or at least partially, within the main memory 703, within the static memory 705, within the mass storage device 707, or within the hardware-based processor 701 during execution of the instructions 724 by the machine 700. In one example, one or any combination of the hardware-based processor 701, the main memory 703, the static memory 705, or the storage device 720 may constitute a machine-readable medium.

[0076] While the machine-readable medium is considered a single medium, the term “machine-readable medium” may include a single medium or multiple media (eg, a centralized or distributed database and / or associated caches and servers) configured to store one or more instructions 724 .

[0077] The term "machine-readable medium" may include any medium that can store, encode, or carry instructions that are executed by the machine 700 and cause the machine 700 to perform any one or more of the techniques of this disclosure, or any medium that can store, encrypt, or carry data structures used by or associated with these instructions. Non-limiting examples of machine-readable media may include solid-state memory and optical and magnetic media. Thus, a machine-readable medium is not a transient propagating signal. Specific examples of mass machine-readable media may include: non-volatile memory, such as semiconductor memory devices (e.g., electrically programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM)) and flash memory devices; magnetic or other phase-change or state-change memory circuits; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.

[0078] The instructions 724 may also be transmitted or received over the communication network 721 using a transmission medium via a network interface device 750 using any of a variety of transmission protocols (e.g., Frame Relay, Internet Protocol (IP), Transmission Control Protocol (TCP), User Datagram Protocol (UDP), Hypertext Transfer Protocol (HTTP), etc.). Example communication networks may include a local area network (LAN), a wide area network (WAN), a packet data network (e.g., the Internet), a mobile telephone network (e.g., a cellular network), a plain old telephone (POTS) network, and a wireless data network (e.g., a wireless network known as a cellular network). The Institute of Electrical and Electronics Engineers (IEEE) 802.22 family of standards, known as 26 family of standards), IEEE 802.27.4 family of standards, peer-to-peer (P2P) networks, etc. In one example, the network interface device 750 may include one or more physical jacks (e.g., Ethernet, coaxial cable, or telephone jacks) or one or more antennas to connect to the communication network 721. In one example, the network interface device 750 may include multiple antennas to enable wireless communication using at least one of single-input multiple-output (SIMO), multiple-input multiple-output (MIMO), or multiple-input single-output (MISO) technology. The term "transmission medium" shall be deemed to include any intangible medium capable of storing, encoding, or carrying instructions to be executed by the machine 700, and includes digital or analog communication signals or other intangible media to facilitate the communication of such software.

[0079] Various annotations

[0080] Each of the above-described non-limiting aspects may stand alone or in various permutations or combinations with one or more of the other aspects or other subject matter described in this document.

[0081] The above detailed description includes reference to the accompanying drawings that form a part of the detailed description. The accompanying drawings show specific embodiments in which the present invention can be put into practice by way of illustration. These implementations are also generally referred to as "examples". In addition to the elements shown or described, these examples may also include other elements. However, the inventors have also considered examples that only provide the elements shown or described. In addition, the inventors have also considered examples of any combination or permutation of those elements shown or described (or one or more aspects thereof), whether with respect to a specific example (or another one or more aspects thereof), or with respect to other examples shown or described herein (or two or more aspects thereof).

[0082] In the event of a conflicting usage between this document and any document incorporated by reference, the usage in this document controls.

[0083] In this document, the terms "a" or "an" are common in patent documents and are used to include one or more, independent of any other instance or usage of "at least one" or "one or more." In this document, the term "or" is used to refer to a non-exclusive or, that is, "A or B" includes "A but not B," "B but not A," and "A and B," unless otherwise noted. In this document, the terms "including" and "in which" are used as synonyms for the respective terms "comprising" and "wherein." In addition, in the following aspects, the terms "including" and "comprising" are open-ended, that is, a system, apparatus, article, composition, formulation, or process that includes additional elements in addition to the elements listed after the term in an aspect is still considered to be within the scope of that aspect. In addition, in the following aspects, the terms "first," "second," and "third," etc. are used merely as labels and are not intended to impose numerical requirements on their objects.

[0084] The method examples described herein can be implemented at least in part by a machine or computer. Some examples may include a computer-readable medium or a machine-readable medium encoded with instructions that are operable to configure an electronic device to perform the methods described in the above examples. The implementation of such methods may include code, such as microcode, assembly language code, high-level language code, etc. Such code may include computer-readable instructions for performing various methods. The code may form part of a computer program product. In addition, in one example, the code may be tangibly stored on one or more volatile, non-transient or non-volatile tangible computer-readable media, such as during execution or at other times. Examples of these tangible computer-readable media may include, but are not limited to, a hard disk, a removable disk, a removable optical disk (e.g., an optical disk and a digital video disk), a cassette tape, a memory card or memory stick, a random access memory (RAM), a read-only memory (ROM), etc.

[0085] The above description is intended to be illustrative and not limiting. For example, the above examples (or one or more aspects thereof) may be used in combination with each other. Other implementations may be used, such as those that a person of ordinary skill in the art may use after reading the above description. The abstract is provided to allow the reader to quickly determine the nature of the technical disclosure. It is submitted with the understanding that this document shall not be used to interpret or limit the scope or meaning of these aspects. In addition, in the above detailed description, various features may be combined together to simplify the disclosure. This should not be interpreted to mean that unclaimed disclosed features are essential to any claim. On the contrary, the subject matter of the present invention may lie in some features of a particular disclosed embodiment. Therefore, the following aspects are incorporated into the detailed description as examples or implementations, each of which exists independently as a separate implementation, and it is conceivable that these implementations may be combined with each other in various combinations or permutations.

Claims

1. A method for automatically setting an adjustable parameter value of a road noise cancellation system, the method comprising: providing a software simulation of the road noise cancellation system, the road noise cancellation system including a plurality of adjustable parameters; receiving one or more logs representing one or more different driving conditions of a test vehicle; setting a first set of values ​​for the plurality of adjustable parameters; simulating the road noise cancellation system using a software simulation based on the one or more recorded logs and the first set of values ​​for the plurality of adjustable parameters to generate simulation results; and A second set of values ​​is set for the plurality of adjustable parameters based on the simulation results.

2. The method according to claim 1, further comprising: Based on the simulation results, a set of corresponding gradients of the quality quantitative metrics with respect to a plurality of the adjustable parameters are simultaneously generated.

3. The method of claim 2, wherein the gradient is generated using an automatic differentiation machine learning library. 4 . The method of claim 1 , wherein the noise data comprises reference data from a reference sensor positioned on the test vehicle and interference data from an error microphone positioned inside the test vehicle. 5 . The method of claim 1 , wherein the software simulation includes a filtered reference least mean square (FxLMS) algorithm and acoustic parameters of a vehicle cabin. The method of claim 1 , wherein the plurality of adjustable parameters includes a step size.

7. The method according to claim 1, further comprising: storing the second set of values ​​for the tunable parameter; configuring the road noise cancellation system onboard a vehicle using a second set of values ​​for the adjustable parameters; A road noise cancellation system in the vehicle is operated using a configured second set of values ​​for the adjustable parameters to generate an anti-noise signal.

8. A system for automatically setting an adjustable parameter value of a road noise cancellation system, the system comprising: one or more processors of the machine; and a memory storing instructions that, when executed by the one or more processors, cause the machine to: providing a software simulation of the road noise cancellation system, the road noise cancellation system including a plurality of adjustable parameters; receiving one or more logs representing one or more different driving conditions of a test vehicle; setting a first set of values ​​for the plurality of adjustable parameters; simulating the road noise cancellation system using a software simulation based on the one or more recorded logs and the first set of values ​​for the plurality of adjustable parameters to generate simulation results; and A second set of values ​​is set for the plurality of adjustable parameters based on the simulation results.

9. The system of claim 8, wherein the operations further comprise: Based on the simulation results, a set of corresponding gradients of the quality quantitative metrics with respect to a plurality of the adjustable parameters are simultaneously generated.

10. The system of claim 9, wherein the gradient is generated using an automatic differentiation machine learning library. 11 . The system of claim 8 , wherein the noise data comprises reference data from a reference sensor positioned on the test vehicle and interference data from an error microphone positioned inside the test vehicle.

12. The system of claim 8, wherein the software simulation includes a filtered reference least mean square (FxLMS) algorithm and acoustic parameters of a vehicle cabin.

13. The system of claim 8, wherein the plurality of adjustable parameters includes a step size.

14. The system of claim 8, the operations further comprising: storing the second set of values ​​for the tunable parameter; configuring the road noise cancellation system onboard a vehicle using a second set of values ​​for the adjustable parameters; A road noise cancellation system in the vehicle is operated using a configured second set of values ​​for the adjustable parameters to generate an anti-noise signal.

15. A machine-readable storage medium comprising instructions which, when executed by a machine, cause the machine to: providing a software simulation of a road noise cancellation system, the road noise cancellation system including a plurality of adjustable parameters; receiving one or more logs representing one or more different driving conditions of a test vehicle; setting a first set of values ​​for the plurality of adjustable parameters; simulating the road noise cancellation system using a software simulation based on the one or more recorded logs and the first set of values ​​for the plurality of adjustable parameters to generate simulation results; and A second set of values ​​is set for the plurality of adjustable parameters based on the simulation results.

16. The machine-readable storage medium of claim 15, further comprising: Based on the simulation results, a set of corresponding gradients of the quality quantitative metrics with respect to a plurality of the adjustable parameters are simultaneously generated.

17. The machine-readable storage medium of claim 16, wherein the gradient is generated using an automatic differentiation machine learning library.

18. The machine-readable storage medium of claim 15, wherein the noise data comprises reference data from a reference sensor positioned on the test vehicle and interference data from an error microphone positioned inside the test vehicle.

19. The machine-readable storage medium of claim 15, wherein the software simulation includes a filtered reference least mean square (FxLMS) algorithm and acoustic parameters of a vehicle cabin.

20. The machine-readable storage medium of claim 15, wherein the plurality of tunable parameters comprises a step size.

21. The machine-readable storage medium of claim 15, further comprising: storing the second set of values ​​for the tunable parameter; configuring the road noise cancellation system onboard a vehicle using a second set of values ​​for the adjustable parameters; A road noise cancellation system in the vehicle is operated using a configured second set of values ​​for the adjustable parameters to generate an anti-noise signal.