Aspects disclosed herein generally relate to a system and method for eliminating noise cancellation artifacts due to head movement. These aspect and others will be discussed in more detail herein.
Active Noise Cancellation (ANC) systems attenuate undesired noise using feedforward and feedback structures to adaptively remove undesired noise within a listening environment, such as within a vehicle cabin. ANC systems generally cancel or reduce unwanted noise by generating cancellation sound waves to destructively interfere with the unwanted audible noise. Destructive interference results when noise and “anti-noise,” which is largely identical in magnitude but opposite in phase to the noise, reduce the sound pressure level (SPL) at a location. In a vehicle cabin listening environment, potential sources of undesired noise come from the engine, the exhaust system, the interaction between the vehicle's tires and a road surface on which the vehicle is traveling, and/or sound radiated by the vibration of other parts of the vehicle. Therefore, unwanted noise varies with the speed, road conditions, and operating states of the vehicle.
A Road Noise Cancellation (RNC) system is a specific ANC system implemented on a vehicle to minimize undesirable road noise inside the vehicle cabin. RNC systems use vibration sensors to sense road induced vibration generated from the tire and road interface that leads to unwanted audible road noise. This unwanted road noise inside the cabin is then cancelled, or reduced in level, by using loudspeakers to generate sound waves that are ideally opposite in phase and ideally identical in magnitude to the noise to be reduced at one or more listeners' ears. Cancelling such road noise results in a more pleasurable ride for vehicle passengers, and such cancellation enables vehicle manufacturers to use lightweight materials, thereby decreasing energy consumption and reducing emissions.
An Engine Order Cancellation (EOC) system is a specific ANC system implemented on a vehicle to minimize undesirable engine noise inside the vehicle cabin. EOC systems use a non-acoustic signal, such as an engine speed sensor, to generate a signal representative of the engine crankshaft rotational speed in revolutions-per-minute (RPM) as a reference. This reference signal is used to generate sound waves that are ideally opposite in phase to the engine noise that is audible in the vehicle interior. Because EOC systems use a signal from an RPM sensor, the EOC systems do not require vibration sensors.
RNC systems are typically designed to cancel broadband signals, while EOC systems are designed and optimized to cancel narrowband signals, such as individual engine orders. ANC systems within a vehicle may provide both RNC and EOC technologies. Such vehicle-based ANC systems are typically Least Mean Square (LMS) adaptive feed-forward systems that continuously adapt W-filters based on noise inputs (e.g., acceleration inputs from the vibration sensors in an RNC system) and signals of physical microphones located in various positions inside the vehicle's cabin. A feature of LMS-based feed-forward ANC systems and corresponding algorithms is the storage of an impulse response, or secondary path, between each physical or virtual microphone and each anti-noise speaker in the system. The secondary path is the transfer function between an anti-noise generating speaker and a microphone.
A virtual or remote microphone technique is a technique in which an ANC system estimates an error signal generated by an imaginary or virtual or remote microphone at a location where no real physical microphone is located, based on the error signals received from one or more real physical microphones. This virtual or remote microphone technique can improve noise cancellation at a listener's ears even when no physical microphone is actually located there.
Road Noise Cancellation (RNC) and Engine Order Cancellation (EOC) may not adapt as fast as a vehicle occupant can move his/her head. In this sense, occupants may hear a spatial variation of the noise field and anti-noise field as the occupants moves their head when seated in seats having headrest speakers that create anti-noise. This spatial variation sounds very bad, particularly at a high frequency, because the sound field varies dramatically with small changes the head position (i.e., the spatial variation changes from noise cancellation to noise boosting and back to noise cancellation over several inches of head movement). Various automotive Original Equipment Manufacturers (OEMs) have observed that seat-based noise cancellation systems exhibit this undesirable high frequency anomaly, which makes seat loudspeaker-based noise cancellation systems undesirable for consumers.
In at least one embodiment, an active noise cancellation (ANC) system is provided. The system includes at least one loudspeaker to project anti-noise sound within a cabin of a vehicle in response to receiving a first anti-noise signal and at least one microphone to provide an error signal indicative of noise and the anti-noise sound within the cabin. The system further includes a head tracker sensor to provide a first signal indicative of a position of a user's head in a vehicle and a first controllable filter programmed to modify a transfer function between the at least one microphone and at least one remote microphone location to generate an estimated remote microphone error signal based at least on the error signal and the first signal. The system further includes a second controllable filter programmed to generate the first anti-noise signal to account for the position of the user's head in the vehicle at least based on the estimated remote microphone error signal.
In at least one embodiment, a method for performing active noise cancellation (ANC) is provided. The method includes transmitting anti-noise sound within a cabin of a vehicle via a loudspeaker in response a first anti-noise signal and providing an error signal indicative of noise and the anti-noise sound within the cabin. The method further includes providing, via a head tracking sensor, a first signal indicative of a position of a user's head in a vehicle and modifying, via a first controllable filter, a transfer function to generate an estimated remote microphone error signal based at least on the error signal and the first signal. The method further includes generating, via a second controllable filter, the first anti-noise signal to account for the position of the user's head in the vehicle at least based on the estimated remote microphone error signal.
In at least one embodiment, an active noise cancellation (ANC) system is provided. The system includes at least one loudspeaker to project anti-noise sound within a cabin of a vehicle in response to receiving a first anti-noise signal and at least one microphone to provide an error signal indicative of noise and the anti-noise sound within the cabin. The system further includes a head tracker sensor to provide a first signal indicative of a position of a user's head in a vehicle and a first controllable filter programmed to generate the first anti-noise signal to in the vehicle at least based on the estimated remote microphone error signal. The system further includes a second controllable filter programmed to modify the first anti-noise signal based on the position of the user's head.
The embodiments of the present disclosure are pointed out with particularity in the appended claims. However, other features of the various embodiments will become more apparent and will be best understood by referring to the following detailed description in conjunction with the accompany drawings in which:
As required, detailed embodiments of the present invention are disclosed herein; however, it is to be understood that the disclosed embodiments are merely exemplary of the invention that may be embodied in various and alternative forms. The figures are not necessarily to scale; some features may be exaggerated or minimized to show details of particular components. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a representative basis for teaching one skilled in the art to variously employ the present invention.
With reference to
While
The vibration sensors 104 may include, but are not limited to, accelerometers, force gauges, geophones, linear variable differential transformers, strain gauges, and load cells. Accelerometers, for example, are devices whose output signal amplitude is proportional to acceleration. A wide variety of accelerometers are available for use in RNC systems. These include accelerometers that are sensitive to vibration in one, two and three typically orthogonal directions. These multi-axis accelerometers typically have a separate electrical output (or channel) for vibration sensed in their X-direction, Y-direction and Z-direction. Single-axis and multi-axis accelerometers, therefore, may be used as vibration sensors 104 to detect the magnitude and phase of acceleration and may also be used to sense orientation, motion, and vibration.
Noise and vibration that originates from a wheel 116 moving on a road surface 118 may be sensed by one or more of the vibration sensors 104 mechanically coupled to a suspension device 119 or a chassis component of the vehicle 102. The vibration sensor 104 may output a noise signal X(n), which is a vibration signal that represents the detected road-induced vibration. It should be noted that multiple vibration sensors are possible, and their signals may be used separately, or may be combined. In certain embodiments, a microphone may be used in place of a vibration sensor to output the noise signal X(n) indicative of noise generated from the interaction of the wheel 116 and the road surface 118. The noise signal X(n) may be filtered with a modeled transfer characteristic S′(z), which estimates the secondary path (i.e., the transfer function between an anti-noise loudspeaker 110 and a physical microphone 108), by a secondary path filter 120.
Road noise that originates from the interaction of the wheel 116 and the road surface 118 is also transferred, mechanically and/or acoustically, into the passenger cabin and is received by the one or more microphones 108 inside the vehicle 102. The one or more microphones 108 may, for example, be located in a headliner of the vehicle 102, or in some other suitable location to sense the acoustic noise field heard by occupants inside the vehicle 102, such as an occupant sitting on a rear seat 125. The road noise originating from the interaction of the road surface 118 and the wheel 116 is transferred to the microphone 108 according to a transfer characteristic P(z), which represents the primary path (i.e., the transfer function between an actual noise source and a physical microphone).
The microphone 108 may output an error signal e(n) representing the sound present in the cabin of the vehicle 102 as detected by the microphone 108, including noise and anti-noise. In the RNC system 100, an adaptive transfer characteristic W(z) of a controllable filter 126 may be controlled by adaptive filter controller 128, which may operate according to a known least mean square (LMS) algorithm based on the error signal e(n) and the noise signal X(n) filtered with the modeled transfer characteristic Ŝ(z), by the secondary path filter 120. The controllable filter 126 is often referred to as a W-filter. An anti-noise signal Y(n) may be generated by the controllable filter or filters 126 and the vibration signal, or a combination of vibration signals X(n). The anti-noise signal Y(n) ideally has a waveform such that when played through the loudspeaker 110, anti-noise is generated near the occupants' ears and the microphone 108, that is substantially opposite in phase and identical in magnitude to that of the road noise audible to the occupants of the vehicle cabin. The anti-noise from the loudspeaker 110 may combine with road noise in the vehicle cabin near the microphone 108 resulting in a reduction of road noise-induced sound pressure levels (SPL) at this location. In certain embodiments, the RNC system 100 may receive sensor signals from other acoustic sensors in the passenger cabin, such as an acoustic energy sensor, an acoustic intensity sensor, or an acoustic particle velocity or acceleration sensor to generate error signal e(n).
While the vehicle 102 is under operation, at least one controller 130 (hereafter “the controller 130”) may collect and process the data from the vibration sensors 104 and the microphones 108. The controller 130 includes a processor 132 and storage 134. The processor 132 collects and processes the data to construct a database or map including data and/or parameters to be used by the vehicle 102. The data collected may be stored locally in the storage 134, or in the cloud, for future use by the vehicle 102. Examples of the types of data related to the RNC or EOC system 106 that may be useful to store locally at storage 134 include, but are not limited to, driver or other occupant head location, history of a head location at multiple points in time, rate of change of head location or of head rotation, and ear canal opening location, history or rate of change of position or rotation.
Although the controller 130 is shown as a single controller, it may include multiple controllers, or it may be embodied as software code within one or more other controllers, such as the adaptive filter controller 128. The controller 130 generally includes any number of microprocessors, ASICs, ICs, memory (e.g., FLASH, ROM, RAM, EPROM and/or EEPROM) and software code to co-act with one another to perform a series of operations. Such hardware and/or software may be grouped together in modules to perform certain functions. Any one or more of the controllers or devices described herein include computer executable instructions that may be compiled or interpreted from computer programs created using a variety of programming languages and/or technologies. In general, a processor, e.g., the processor 132 receives instructions, for example from a memory, e.g., the storage 134, a computer-readable medium, or the like, and executes the instructions. A processing unit is a non-transitory computer-readable storage medium capable of executing instructions of a software program. The computer readable storage medium may be, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semi-conductor storage device, or any suitable combination thereof. The controller 130 also includes predetermined data, or “look up tables” that are stored within the memory, according to one or more embodiments.
As previously described, typical RNC systems may use several vibration sensors, microphones and loudspeakers to sense structure-borne vibratory behavior of a vehicle and generate anti-noise. The vibration sensors may be multi-axis accelerometers having multiple output channels. For instance, triaxial accelerometers typically have a separate electrical output for vibrations sensed in their X-direction, Y-direction, and Z-direction. A typical configuration for an RNC system may have, for example, six error microphones, six loudspeakers, and twelve channels of acceleration signals coming from four triaxial accelerometers or six dual-axis accelerometers. Therefore, the RNC system will also include multiple S′(z) filters (e.g., secondary path filters 120, or Ŝ(z) filters) and multiple W(z) filters (e.g., controllable filters 126).
The simplified RNC system schematic depicted in
The ANC system 106 illustrated in
Commonly, a non-acoustic sensor, for example an engine speed sensor, is used as a reference. Engine speed sensors may be, for example, Hall Effect sensors which are placed adjacent to a spinning steel disk. Other detection principles can be employed, such as optical sensors or inductive sensors. The signal from the engine speed sensor can be used as a guiding signal for generating an arbitrary number of reference engine order signals corresponding to each of the engine orders. The reference engine orders form the basis for noise cancelling signals generated by the one or more narrowband adaptive feed-forward LMS blocks that form the EOC system.
The EOC system 340 may include an engine speed sensor 342 to provide an engine speed signal 344 (e.g., a square-wave signal) indicative of rotation of an engine crank shaft or other rotating shaft such as the drive shaft, half shafts or other shafts whose rotational rate is aligned with vibrations coupled to vehicle components that lead to noise in the passenger cabin. In some embodiments, the engine speed signal 344 may be obtained from a vehicle network bus (not shown). As the radiated engine orders are directly proportional to the crank shaft RPM, the engine speed signal 344 is representative of the frequencies produced by the engine and exhaust system. Thus, the signal from the engine speed sensor 342 may be used to generate reference engine order signals corresponding to each of the engine orders for the vehicle. Accordingly, the engine speed signal 344 may be used in conjunction with a lookup table 346 of Engine Speed (RPM) vs. Engine Order Frequency, which provides a list of engine orders radiated at each engine speed. The frequency generator 348 may take as an input the Engine Speed (RPM) and generate a sine wave for each order based on this lookup table 346.
The frequency of a given engine order at the sensed Engine Speed (RPM), as retrieved from the lookup table 346, may be supplied to a frequency generator 348, thereby generating a sine wave at the given frequency. This sine wave represents a noise signal X(n) indicative of engine order noise for a given engine order. Similar to the RNC system 300, this noise signal X(n) from the frequency generator 348 may be sent to an adaptive controllable filter 326, or W-filter, which provides a corresponding anti-noise signal Y(n) to the loudspeaker 310. As shown, various components of this narrow-band, EOC system 340 may be identical to the broadband RNC system 300, including the physical microphone 308, adaptive filter controller 328 and secondary path filter 320. The anti-noise signal Y(n), broadcast by the loudspeaker 310 generates anti-noise that is substantially out of phase but identical in magnitude to the actual engine order noise at the location of a listener's ear, which may be in close proximity to a physical microphone 308, thereby reducing the sound amplitude of the engine order. Because engine order noise is narrow band, the error signal e(n) may be filtered by optional bandpass filter 350 prior to passing into the LMS-based adaptive filter controller 328. In an embodiment, proper operation of the LMS adaptive filter controller 328 is achieved when the noise signal X(n) output by the frequency generator 348 is bandpass filtered using the same bandpass filter parameters.
In order to simultaneously reduce the amplitude of multiple engine orders, the EOC system 340 may include multiple frequency generators 348 for generating a noise signal X(n) for each engine order based on the engine speed signal 344. As an example,
For instance, similar to ANC system 106, the RM ANC system 406 may include a vibration sensor 404 (e.g., accelerometer), a physical microphone 408, a controllable filter (or w-filter) 426, at least one controller 428 (or hereafter “an adaptive filter controller 428”), and a loudspeaker 410, consistent with the operation of the vibration sensor 104, the physical microphone 108, the w-filter 126, the adaptive filter controller 128, and the loudspeaker 110, respectively, discussed above.
The RM ANC system 406 involves estimating a remote microphone 412 (or virtual microphone at a remote location 411. The remote microphone 412 corresponds to a remote microphone signal er(n) generated by the system 406 that provides a signal estimate to estimate acoustic pressure at a different location than a physical microphone location 409, for example, at a location that is proximate to (or adjacent to) a listener's ears. The virtual or remote microphone 412 is not an actual microphone, but simply serves as a designation to illustrate a signal that is an estimate of the acoustic pressure that is proximate to a listener's ear. One example of a system that provides a virtual or remote microphone 412 is set forth in U.S. Ser. No. 17/730,906 (U.S. Publication No. ______) entitled “FAST ADAPTING HIGH FREQUENCY REMOTE MICROPHONE NOISE CANCELLATION” filed on Apr. 27, 2022 which is incorporated by reference in its entirety herein.
The RM ANC system 406 also includes a controllable filter 450 (or a PathPR filter or microphone transfer function 450). The physical microphone 408 is generally positioned at a physical mic location 409. The physical microphone 408 senses the acoustic pressure at the location 409. The remote microphone 412 as provided by the system 406 at the remote microphone location 411 is proximate to the user's ears. Thus, in this regard, the PathPR filter 450 which is also known as SRP(z), is used to generate an estimate of the primary noise to be cancelled at the remote microphone location 411 based on the measured noise at the location of the physical microphone 409. For example, the remote microphone 412 provides an estimated remote error signal er(n) generated by the system 406 that is an estimate of the pressure at the location of the remote microphone 411.
The physical microphone 408 provides an error signal ep(n) that includes all the sound present at its location, such as the disturbance signal dp(n) intended to be cancelled, which includes road noise, engine and exhaust noise, plus the anti-noise from the loudspeaker 410, yp(n), and any extraneous sounds at the microphone location.
As noted above, the physical microphone 408 represents a microphone located at the actual microphone location 409 that would similarly sense all the sound at its location 409, such as the disturbance signal dp(n) to be cancelled, which includes road noise, engine, and exhaust noise, plus the anti-noise from the loudspeaker 410, yp(n), and extraneous sounds. Typically, there are multiple physical microphone locations 409, and multiple remote microphone locations 411. As suggested above, when operating the noise cancellation system, there is no actual microphone mounted at the remote microphone location 411. So, with the remote microphone technique, the pressure at the remote microphone locations 411 is estimated from the pressure at the physical microphone locations 409 to form the estimated remote error signal er(n). It is recognized that the RM ANC system 406 may correspond to a RM EOC system 440 or an RM RNC system 400.
The physical microphone 408 senses both the noise dp(n) at its location 409 from a noise source 442 after traveling along a primary path P(z) 444 and the anti-noise yp(n) at its location from the loudspeaker 410 after traveling along the secondary path Se(z) 446. The physical microphone 408 provides a physical error signal ep(n), as shown by Equation 1:
The RM EOC system 440 estimates the disturbance noise to be cancelled d′p(n) at the physical microphone location at block 448 (or adder 448). The ANC system 406 subtracts an estimate of the anti-noise at the physical microphone location y′p(n) (e.g., 409) from the physical error signal ep(n) to estimate the disturbance noise at the physical microphone location d′p(n), as shown by Equation 2:
The RM EOC system 440 then estimates the disturbance noise to be cancelled at the remote microphone location d′r(n) at the PathPR filter 450 by convolving the estimated disturbance noise at the physical microphone location d′p(n) with the transfer function between the physical and remote microphone location H(z).
At adder (or block) 454, the RM ANC system 406 estimates the remote microphone error signal e′r(n) that would be present at the location 411 of the remote microphone 412 by adding an estimated disturbance noise to be cancelled at the remote microphone location d′r(n) with an estimate of the anti-noise at the location 411 y′r(n) as shown by Equation 3:
Combining Equations 1, 2 and 3 creates an estimate of the remote error microphone signal or signals, from the physical error signal or signals, the physical and remote microphone secondary paths and the transfer functions between the physical and remote locations (e.g., PathPR).
For an EOC system 440, similar to
Similar to
In general, noise cancellation systems such the ANC system 406 and the RNC system 440 provide the best noise cancellation at the locations for various error microphone. The noise cancellation performance decreases as distance from a single error microphone increases. In general, a user's ears are not typically located at the location 411 of the remote microphone location. The virtual or remote microphone technique may improve noise cancellation at locations other than the physical microphone locations (or the location 409 of the physical microphone 408). In general, the virtual microphone technique may include additional signal processing blocks that account for anti-noise difference between the physical location 409 of the microphone 408 and the location 411 of the virtual error microphone 412. The remote microphone technique includes at least the PathPR filter 450 to account for noise difference between physical and remote error mic locations 409, 411 respectively. One method to improve the noise cancellation performance for a listener who moves their head from one location to a second location involves tracking their head position and retrieving a predetermined new PathPR filter and a predetermined S′R(z) filter 450 for this new location from memory 403.
In one embodiment, the ANC system 406 includes a head tracking selector 453 that adjusts tuning parameters, such as, for example, the PathPR filter(s) 450 based on a need for improved noise cancellation from the ANC system 406 at the locations 409, 411 of the physical microphone 408 and the remote microphone 412. and further based on the operating conditions of the vehicle. A head tracking block 480 (or filter controller) is also coupled to the PathPR filter 450 to select a new predetermined PathPR filter from memory 403 to be used as the active PathPR filter 450. As noted above, the head tracking block 480 may be implemented as a head tracker and also serve as a filter controller to control the PathPR filter 450. Thus, this regard, the head tracking block 480 may control the PathPR filter 450. However, it is recognized that the filter controller may be implemented separately from the head tracking block 480 to control the PathPR filter 450. It is further recognized that the filter controller and corresponding look up table may be implemented in any processor and memory that is operably coupled with the ANC system 406. The head tracking selector block 453 may be coupled to a head tracker sensor 456 that monitors the location of an occupant's head. For example, the controller 402 may be operably coupled to the head tracker sensor 456 and provides a signal from the head tracker sensor 456 to the head tracker block 480. The signal provided from the head tracker sensor 456 to the head tracker block 480 may be indicative of the location of the occupant's head. In various examples, the head tracker sensor 456 includes one or more of a camera, a proximity sensor such as an infrared proximity sensor, a time-of-flight sensor, and/or a LIDAR or RADAR. These sensors may be used as a detector to determine the head disposition in terms of any one or more of distance, elevation, lateral position, coordinate, an angle of a yaw, pitch, roll, or tilt rotational axis, ear (pinna) position, ear canal opening position, or the like. The system 400 stores multiple PathPR filters 450 (or predetermined transfer functions or filter coefficients) in the memory 403, and the head tracking block 480 selects the filter (or the transfer function for the PathPR filter 450) appropriate for the current position of the head, in terms of yaw, pitch, roll, tilt, coordinate, pinnae position, ear canal opening position or the like.
In one embodiment, the system 406 may execute a method to transition the noise cancellation system 406 from the current secondary path 472 to a new secondary path 470 (also a filter controller 470) based on the disposition of the user's head. In the case that head movement necessitates an update to the stored secondary path (320, 472), the controller 402 may perform an abrupt transition from using one stored secondary path 472 to a new stored secondary path 470 that may lead to the divergence of W-filter 426. In this case, an additional secondary path (e.g., the new stored secondary path 470) and two cross fading gain blocks 460,462 are added to the noise cancellation system 400. The secondary path S′r(z) 470 is a controller filter that corresponds to a measured transfer function of the anti-noise path between the loudspeaker 410 and the remote microphone location 411. For optimal noise cancellation at the location of the ears of the passengers, both the PathPR filter 450 and the remote secondary path filter 470 belonging to the remote microphone location 411 at the location of the listener's ears is used in the system 406.
As noted above, the head tracking block 480 (or filter controller) is also coupled to the head tracker sensor 456. The head tracking block 480 outputs the new secondary path 470 (e.g., S′r(z)new (or changes the filter coefficients of the new secondary path 470)) which is suitable for the new head position of the user that then provides an additional input to the adaptive filter controller 428. It is recognized that the incorporation of the first and the second cross fading blocks 460 and 462 and new secondary path block are optional. The ANC system 406 may omit first and second cross fading blocks 460 and 462 and may instantaneously swap from one to the next or new secondary path 470. The first and the second cross faders 460, 462 may operate in many predetermined states. In one embodiment, the controller 402 may immediately transition to a new secondary path, where the value, designated by “a” (see
In general, the listeners (or occupants) hear the sound that is present at the exact location of their ear canal openings. Because engine noise and road noise have a spatial variation throughout the passenger cabin in a vehicle, these noises are different at every location. Also, the engine and road anti-noise that is radiated from the loudspeakers have a spatial variation throughout the passenger cabin, due to the non-omnidirectional nature of sound radiation from loudspeakers and also due to acoustic modes (resonances) of the passenger cabin. Therefore, as a listener moves his/her head through the space in the cabin, both the noise and the anti-noise is changing from one location to the next, and so the amount of noise cancellation is changing, which is undesirable. This entails that there is a spatially uneven sound field, as there will be regions of better and worse destructive interference between the noise and anti-noise. It is predicted that noise boosting can easily occur, as the “cancellation zone” ( 1/10th wavelength) at 600 Hz may only be, for example, approximately 6 cm. Therefore, if an occupant moves his/her head 18 cm, noise boosting may unavoidably occur at this frequency. Due to the shorter wavelengths of higher frequency sound, this change in sound pressure level resulting from the variation of destructive interference as one rotates or translates his/her head is more pronounced at high frequencies.
One or more aspects disclosed herein may utilize a head tracking system and remote microphone technology to select an appropriate S′r(z) (e.g., new secondary path 472) and controllable filter 450 (or PathPR filter 450) from a list of pre-characterized, pre-stored values that were determined at a time the noise cancellation system was tuned. These new values of S′r(z) and selected controllable filter 450 are selected and “hot-swapped” into a Least Mean Square (LMS) system in real time, as the system 406 is running and continuously adapting the W-filters. As mentioned above, even though EOC systems may adapt in 100 ms, head movement and especially head rotation may be faster than this adaptation rate. Thus, in this regard, the EOC system 440 may not be able to “keep up” or “stay converged” on the optimal W-filters (or adaptive filters 426) after switching to a new set of coefficients for the PathPR filter 450 and to a secondary path (e.g., S′r(z)) for a particular head location during the brief periods of head movement. The situation with the RNC system 400 may be somewhat worse, as RNC adaptation takes roughly 100× as long as EOC's adaptation, due to the bandwidth of RNC being approximately 64× to 512× wider. That is, for EOC, one LMS system adapts a magnitude and phase of each of a particular engine order frequency of interest. For RNC, one LMS system adapts all 64, 128, 256, or 512 frequency-dependent magnitude and phase taps of the road noise, or similarly large number of time domain taps. This suggests that RNC will have a particularly difficult time adapting as fast as occupants can move their heads (with each new head position requiring a new value of for the secondary path 470 (or S′r(z)) and the coefficient(s) of the PathPR filter 450. During this adaptation time and right after head movement, the listeners in the vehicle 102 may exposed to sub-optimal noise cancellation, which may unfortunately include an undesirable noise boosting.
Road Noise Cancellation (RNC) and Engine Order Cancellation (EOC) may not adapt as fast as a vehicle occupant can move their head even when an active noise cancellation system (ANC) system transitions from various sets of filter coefficients for the PathPr filter 450 and another set of filter coefficients for the filter associated with the new secondary path S′r(z) 470 to account for a moving occupant head. To overcome this limit of adaptation speed,
While the head tracking cross faders 460 and 462 as set forth in
The ANC system 500 for improving noise cancellation during and after head movement and eliminating noise cancellation artifacts due to head movement in accordance with one embodiment. The system 500 is generally similar to the ANC system 400 as illustrated in connection with
The ANC system 500 generally performs the following operations to determine the filter coefficients for the first filter (or Wfast filter) 504 to deliver an optimized ANC experience when a user's head moves from one location to another location. The controller 509 determines filter coefficients for the Wfast filter 504 that is based on a product of a first and second ratio, where the first ratio corresponds to anti-noise at the new head location and to anti-noise at the previous head location, and the second ratio corresponds to noise at the new location and noise at a previous head location. These ratios are based on stored impulse responses (IRs) of the noise to be canceled and an anti-noise source to multiple head locations that are stored in memory 503. That is, various values for the Wfast filter 504 are computed for various head locations in a 3D grid. For example, trained engineers can map the secondary path field and then noise field over a portion or all of the 3D space that the head can occupy. These locations can be a “Center of head” location, or two positions which are ear canal opening locations. These Wfast values for the Wfast filter 504 can be stored in memory 503 and should be oriented in the 3D space of the vehicle. Thus, a coordinate system may be useful in storing the values for the Wfast filter 504, and the origin of the coordinate system can be anywhere but having the origin at the location 411 of the remote microphone 412 may be desirable choice for measurement purposes. In an embodiment, the values for the Wfast filter 504 may be computed in a manner analogous to the values of the Path PV filter 450 is computed: An engineer may capture a time series at the error microphone, and time series at a point in the 3D grid. The complex transfer function (i.e., ratio) of these is computed. This can be done while driving at a typical speed on a typical road. This may also be performed while driving over a range of speeds over a range of roads and averaged or stored separately. The measurement quality can benefit from other interfering noise sources not being present such as conducing this measurement in a laboratory with the vehicle mounted on a dynamometer.
When the listener's head moves from one location to another location, the fastest method to deliver an optimal ANC experience (i.e. the fully adapted level of noise cancellation) at the ears of this head may not include simply switching between current secondary paths (e.g., from an a current secondary path 472 to a new current secondary path 470 and to wait for the filter controller 428 to adapt W-filter 426 to adapt, because this method may waiting for up to, for example, 4 seconds or more for the W-filter 426 to converge. The fastest way to deliver an optimal ANC experience is for the head tracking block 480 to measure the old and new coordinates of the location of the head and to retrieve these IRs from memory 503, form the ratios to compute filter coefficients for the Wfast filter 504 and apply these filter coefficients into Wfast filter 504, as this method may not require W-filter adaptation. In general, the Wfast filter 504 may be embodied in variety of ANC system topologies, many of which will be explained in order of increasing complexity in the following paragraphs:
1) Remote Microphone, but static PathPV (or PathPV filter 450): In one embodiment and in connection with the ANC system 500 shown in
2) RM—with changing PathPV filter 450. In another embodiment, it may be desirable to select different or new filter coefficients for the secondary path 470 and PathPV 450 in the case of a lack of head movement after a period of time. For example, if head movement stops for a predetermined period time such as, for example, 10 seconds or more, it may be desirable for the ANC system 500 to set the Wfast filter 504 to zero (or to a predetermined value) by returning its coefficients to unity while simultaneously accounting for this new “steady-state” head location by loading the current location(s) of the into the filter associated with the secondary path 470 and the PathPV filter 450. In an embodiment, the system 400 or 500 may only load a new head location and change coefficients for the filter associated with the secondary path 470 and the PathPV filter 450 when the head remains in a position long enough to adapt to this new location. This may only be performed when the head has been in a steady state location in excess of a predetermined threshold amount of time. If this condition is true, this may indicate that a driver's head motion has stopped for some time.
3) ANC based on benefits of the Wfast filter 504. In another embodiment, an ANC system 550 as shown in connection with
The memory 503 stores the IRs of the primary and second paths at multiple head locations. In one example, when a fast head movement occurs, the steady state location may be a head location detected from a time period from, for example, up to ten seconds ago. This time duration may correspond to the time necessary for the RNC system 400 to fully adapt from a set of “converged” adaptive filters 426 to a second set of “converged” adaptive filters 426. For the EOC system 440, the steady state location for the head location may correspond to the head being present in its current location for a time period of, for example, 0.5 to 1 second.
In this case, even if a simple gain (e.g., −6 dB) is inserted by the adaptive filter 426, the adaptive filter controller 428 (or LMS controller) may immediately begin to adaptively increase a magnitude of the W-filters (or the first filter 504) to create a sufficient magnitude of anti-noise to maintain ideal noise cancellation while minimizing energy on the error signal, e(n). With the addition of the first filter 504 and as long as the PathPV filter 450 is correct, the adaptive controller 428 may continue adapting the adaptive filter 426 in the correct direction to quiet the passenger cabin by minimizing the estimated error signal ev(n) at the remote location 411 (or virtual microphone location).
The ANC system 500 generally performs the following operations to perform ANC based on head movements. For example, the controller 509 may determine whether any one or more of the adaptive filters 426 and in a steady state condition when whether a position of the head of the occupant is in a steady state condition. This steady state can be estimated simply by comparison of the duration of time that the head has been in its present location to a predetermined location. A typical adaptation time for an RNC system may be up to 4 seconds. The typical adaptation time is the time necessary for the RNC system to fully adapt its W-filters to achieve a steady state amount of noise cancellation, which is the maximum achievable noise cancellation by the system. This adaptation time may be set by a number of factors such as the step size. In typical operation, the RNC system continuously updates its W-filters (or adaptive filters). The update to the W-filters is often scaled by a factor such as the step size. The step size limits the maximum magnitude change of the W-filter, in effort to increase stability and prevent divergence. The higher the step size, the more the magnitude of the W-filter can change per update, making the system adapt faster, but this comes with the increased risk of system divergence, which is undesirable. Referring back to
The controller 509 may switch to a new Sv (420 or 470) for the new head location by utilizing a LUT stored in the memory 503. In addition, the controller 509 may switch to a new PATH PV for the new head location by utilizing another LUT stored in the memory 503. Each LUT may include filter coefficients that corresponds to the location of the head (e.g., spatial coordinates in x, y, and z axis for the new head location and corresponding filter coefficients).
In an embodiment, the controller 509 may adjust the adaptive filters 426 and the first filter 504 (or Wfast filter 504) to ensure that the estimate error signal ev(n) is smaller based on the newly detected fast head detection location when compared to utilizing the filter coefficients of only the adaptive filters 426. This aspect may enable the ANC system 406 for both systems 500 and 550 to avoid divergence and to accelerate the adaptation of the adaptive filers 426 and the first filter 504. The controller 509 may then switch the coefficients of the first filter 504. The controller 509 may then continue with the adaptation with a same step size and same leakage, etc. After this operation is performed, the controller 509 may then move back to determine if the head has moved to a new location and perform the subsequent operations noted above.
In some conditions, as the head tracking block 480 switches to a new estimated secondary path 470 Sr′(z) based on a position of the occupants' head or ear, this condition may cause a boosting issue or undesirable performance due the large differences between the new location of the occupants' head or ear and corresponding new secondary path and the prior location of the occupants' head or ear and corresponding secondary path. To limit the boosting issue, the head tracking stability control block 662 is provided to maintain the RNC performance when switching between different estimated secondary paths Sr′ 470, 472 as selected by head tracking block 480. The head tracking stability control block 608 adjusts variable a based on a power of residual signals P(n) which is defined by the following equation: P(n)=[e(n)]{circumflex over ( )}2, where P(n) is the power of an nth microphone signal and e(n) is the nth microphone signal. Variable a is generally defined as cross fader that tunes the contribution between the current W filter 426 based on the old (or current secondary path 472) and the new W filter 626 based on the new secondary path. If the head tracking stability control block 608 determines that the residual signal, Pnew (n) is large or equal to Pcurrent(n), then the head tracking stability control block 608 determines that the new head tracking secondary path Sr′(z) is not stable. In this case, the head tracking stability control block 622 controls the second cross fader 662 to reduce the contribution from another adaptive filter 626 to reduce the contribution from the new secondary path 470 and controls the first cross fader 660 to increase the output from the adaptive filter 426. If the head tracking stability control block 622 determines that the residual signal, Pnew(n) is smaller than Pcurrent (n), then the head tracking stability control block 622 determines that new head tracking secondary path Sr′(z) is stable and stability control is not needed.
The controller 509 controls the first cross fader 460 and the second cross fader 462 by controlling variable a (or alpha cross fader variable). For example, the first cross fader 460 may be controlled based on 1−α and the second cross fader 462 may be controlled based on α.
In operation 702, the head tracking stability control block 622 determines Pnew(n) based on the following equation:
Where ycurrent(n) corresponds to the current anti-noise signal and ynew(n) corresponds to the newly determined anti-noise signal. The controller 509 also determines Pcurrent(n) based on the following equation:
In operation 704, the head tracking stability control block 622 compares Pcurrent(n) to Pnew(n). If Pnew(n) is greater than or equal than Pcurrent(n), then the method 700 moves to operation 706. If not, then the method 700 moves to operation 708.
In operation 706, the head tracking stability control block 622 establishes the alpha cross fader variable, a based on Attack*α. The variable ATTACK is constant value.
In operation 708, the head tracking stability control block 622 sets the alpha cross fader variable, α to unity (or 1).
In operation 710, the head tracking stability control block 622 controls the first cross fader 660 and/or the second cross fader 662 in the manner described above.
Although
Any one or more of the controllers or devices described herein include computer executable instructions that may be compiled or interpreted from computer programs created using a variety of programming languages and/or technologies. In general, a processor (such as a microprocessor) receives instructions, for example from a memory, a computer-readable medium, or the like, and executes the instructions. A processing unit includes a non-transitory computer-readable storage medium capable of executing instructions of a software program. The computer readable storage medium may be, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semi-conductor storage device, or any suitable combination thereof.
For example, the operation recited in any method or process claims may be executed in any order and are not limited to the specific order presented in the claims. Equations may be implemented with a filter to minimize effects of signal noises. Additionally, the components and/or elements recited in any apparatus claims may be assembled or otherwise operationally configured in a variety of permutations and are accordingly not limited to the specific configuration recited in the claims.
Further, functionally equivalent processing operations can be undertaken in either the time or frequency domain. Accordingly, though not explicitly stated for each signal processing block in the figures, the signal processing may occur in either the time domain, the frequency domain, or a combination thereof. Moreover, though various processing steps are explained in the typical terms of digital signal processing, equivalent steps may be performed using analog signal processing without departing from the scope of the present disclosure.
Benefits, advantages and solutions to problems have been described above with regard to particular embodiments. However, any benefit, advantage, solution to problems or any element that may cause any particular benefit, advantage or solution to occur or to become more pronounced are not to be construed as critical, required or essential features or components of any or all the claims.
The terms “comprise”, “comprises”, “comprising”, “having”, “including”, “includes” or any variation thereof, are intended to reference a non-exclusive inclusion, such that a process, method, article, composition or apparatus that comprises a list of elements does not include only those elements recited but may also include other elements not expressly listed or inherent to such process, method, article, composition or apparatus. Other combinations and/or modifications of the above-described structures, arrangements, applications, proportions, elements, materials or components used in the practice of the inventive subject matter, in addition to those not specifically recited, may be varied or otherwise particularly adapted to specific environments, manufacturing specifications, design parameters or other operating requirements without departing from the general principles of the same. While exemplary embodiments are described above, it is not intended that these embodiments describe all possible forms of the invention. Rather, the words used in the specification are words of description rather than limitation, and it is understood that various changes may be made without departing from the spirit and scope of the invention. Additionally, the features of various implementing embodiments may be combined to form further embodiments of the invention.