The technical field generally relates to systems and methods for controlling noise in a vehicle, more particularly to active noise control systems and methods for a motor vehicle.
Active noise control (“ANC”) systems may be implemented in a motor vehicle, e.g., an automobile, to reduce the amount of noise and undesired sounds that occupants are subjected to. Such systems typically include a microphone to receive noise and at least one loudspeaker to produce an inverted signal corresponding to the noise to be canceled. However, it may be desirable to provide improved ANC functionality for vehicles in certain situations.
Accordingly, it is desirable to provide systems and methods for improved active noise control functionality in a cabin of a vehicle. Furthermore, other desirable features and characteristics of the present invention will become apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and the foregoing technical field and background.
In one embodiment, a method is provided for controlling noise in a cabin of a vehicle, the method including measuring a first sound via a microphone in the cabin; obtaining a second sound from a loudspeaker of the cabin; estimating, via a processor, a third sound at a virtual location that is remote from both the microphone and the loudspeaker, using the first sound, the second sound, and one or more transfer functions; and applying active noise cancellation for the cabin based on the third sound at the virtual location.
Also in one embodiment, the first sound includes an aggregate sound that includes a sound pertaining to operation of the vehicle as measured at the microphone; the second sound includes a noise cancellation sound generated via the loudspeaker; and the third sound includes a composite sound, including a sound pertaining to operation of the vehicle and the noise cancellation sound, at the virtual location.
Also in one embodiment, the step of measuring the first sound includes measuring an aggregate sound at the microphone that includes a sound of an engine of the vehicle; the step of measuring the second sound includes obtaining a noise cancellation sound generated via the loudspeaker; the method further includes: (i) estimating an engine sound at the microphone using the aggregate sound at the microphone, the noise cancellation sound generated via the loudspeaker, and a first transfer function; and (ii) estimating an engine sound at the virtual location using the estimated engine sound at the microphone and a second transfer function; and the step of estimating the third sound includes estimating the third sound, which includes an aggregate sound at the virtual location, using the estimated engine sound at the virtual location, the noise cancellation sound, and a third transfer function.
Also in one embodiment, the method includes measuring a torque, a number of revolutions per amount of time, or both, of the engine; and the step of estimating the third sound includes an aggregate sound at the virtual location, using the estimated engine sound at the virtual location, the noise cancellation sound, the third transfer function, and one or both of the torque and revolutions of the engine.
Also in one embodiment, the third sound is estimated using the following equation: V=Ev+Nv=(R−N*TF2)*TF3+N*TF1, in which V represents the aggregate sound at the virtual location, Ev represents the engine sound at the virtual location, Nv represents the noise cancellation sound at the virtual location, R represents the aggregate sound at the microphone, N represents the noise cancellation sound generated at the loudspeaker, TF1 represents the first transfer function, TF2 represents the second transfer function, and TF3 represents the third transfer function, and the operator * denotes a convolution operation.
Also in one embodiment, the method includes operating a test vehicle during a first time period in which a loud speaker of the test vehicle is producing noise cancellation sound of the test vehicle; recording a first plurality of testing sounds at a first location corresponding to a location of the microphone of the vehicle during the first time period; recording a second plurality of testing sounds at a second location corresponding to the virtual location of the vehicle during the first time period; operating the test vehicle during a second time period in which the engine of the test vehicle is running but the loud speaker of the test vehicle is not producing the noise cancellation sound of the test vehicle; recording a third plurality of testing sounds at the first location during the second time period; recording a fourth plurality of testing sounds at the second location during the second time period; estimating the first transfer function using the first testing sounds; estimating the second transfer function using the second testing sounds; and estimating the third transfer function using the third testing sounds and the fourth testing sounds.
Also in one embodiment, the method includes measuring revolutions per minute of the engine and an engine torque during the second time period while recording the third testing sounds and the fourth testing sounds; wherein the step of estimating the third transfer function includes estimating the third transfer function using the third testing sounds, the fourth testing sounds, the engine revolutions per minute, and the engine torque.
Also in one embodiment, the method is performed as part of an active noise cancelling system configured for cancelling noise up to a frequency F, and the microphone is installed at a distance larger than 34/F from an ear of a closest occupant to the microphone.
Also in one embodiment, the step of measuring the first sound includes measuring a plurality of first sounds via a microphone array having a plurality of microphones in the cabin; and the step of estimating the third sound includes estimating, via the processor, the third sound at the virtual location that is remote from each of the plurality of microphones of the microphone array and also remote from the loudspeaker, using the plurality of first sounds, the second sound, and one or more transfer functions for each of the plurality of microphones in the array.
In another embodiment, a system for controlling noise in a cabin of a vehicle is provided, the system including a microphone and a processor. The microphone is configured to measure a first sound in the cabin. The processor is in communication with the microphone, and is configured to at least facilitate: obtaining a second sound from a loudspeaker of the cabin; estimating a third sound at a virtual location that is remote from both the microphone and the loudspeaker, using the first sound, the second sound, and one or more transfer functions; and applying active noise cancellation for the cabin based on the third sound at the virtual location.
Also in one embodiment, the first sound includes an aggregate sound that includes a sound pertaining to operation of the vehicle as measured at the microphone; the second sound includes a noise cancellation sound generated via the loudspeaker; and the third sound includes a composite sound, including a sound pertaining to operation of the vehicle and the noise cancellation sound, at the virtual location.
Also in one embodiment, the microphone is configured to (i) measure an aggregate sound at the microphone that includes a sound of an engine of the vehicle; and (ii) the processor is configured to at least facilitate: obtaining a noise cancellation sound generated via the loudspeaker, estimating an engine sound at the microphone using the aggregate sound at the microphone, the noise cancellation sound generated via the loudspeaker, and a first transfer function; estimating an engine sound at the virtual location using the estimated engine sound at the microphone and a second transfer function; and estimating an aggregate sound at the virtual location, using the estimated engine sound at the virtual location, the noise cancellation sound, and a third transfer function.
Also in one embodiment, one or more engine sensors are configured to measure a torque, a number of revolutions per amount of time, or both, of the engine; wherein the processor is configured to at least facilitate estimating the aggregate sound at the virtual location, using the engine sound at the virtual location, the noise cancellation sound, the third transfer function, and one or both of the torque and revolutions of the engine.
Also in one embodiment, the processor is configured to estimate the third sound using the following equation: V=Ev+Nv=(R−N*TF2)*TF3+N*TF1, in which V represents the aggregate sound at the virtual location, Ev represents the engine sound at the virtual location, Nv represents the noise cancellation sound at the virtual location, R represents the aggregate sound at the microphone, N represents the noise cancellation sound generated at the loudspeaker, TF1 represents the first transfer function, TF2 represents the second transfer function, and TF3 represents the third transfer function, and the operator * denotes a convolution operation.
Also in one embodiment, the system further includes a memory configured to store the first transfer function, the second transfer function, and the third transfer function after the first, second, and third transfer functions are generated by: (i) operating a test vehicle during a first time period in which a loud speaker of the test vehicle is producing noise cancellation sound of the test vehicle; (ii) recording a first plurality of testing sounds at a first location corresponding to a location of the microphone of the vehicle during the first time period; (iii) recording a second plurality of testing sounds at a second location corresponding to the virtual location of the vehicle during the first time period; (iv) operating the test vehicle during a second time period in which the engine of the test vehicle is running but the loud speaker of the test vehicle is not producing the noise cancellation sound of the test vehicle; (v) recording a third plurality of testing sounds at the first location during the second time period; (vi) recording a fourth plurality of testing sounds at the second location during the second time period; (vii) estimating the first transfer function using the first testing sounds; (viii) estimating the second transfer function using the second testing sounds; and (ix) estimating the third transfer function using the third testing sounds and the fourth testing sounds.
Also in one embodiment, the third transfer function is further generated by measuring revolutions per minute of the engine and an engine torque during the second time period while recording the third testing sounds and the fourth testing sounds; and estimating the third transfer function using the third testing sounds, the fourth testing sounds, the engine revolutions per minute, and the engine torque.
Also in one embodiment, the system is configured for installation as part of an active noise cancelling system configured for cancelling noise up to a frequency F, in which the microphone is installed at a distance larger than 34/F from an ear of a closest occupant to the microphone.
Also in one embodiment, the system includes a microphone array having a plurality of microphones that are configured to measure a plurality of first sounds in the cabin; and the processor is configured to at least facilitate estimating the third sound at the virtual location that is remote from each of the plurality of microphones of the microphone array and also remote from the loudspeaker, using the plurality of first sounds, the second sound, and one or more transfer functions for each of the plurality of microphones in the array.
In another embodiment, a vehicle includes a passenger cabin and an audio system. The audio system includes a loudspeaker, a microphone, and a processor. The loudspeaker is configured to generate noise cancelling sound. The microphone is configured to provide voice recognition and noise cancelling functionality. The processor is in communication with the microphone and the loudspeaker, and is configured to at least facilitate providing noise cancellation using the loudspeaker and the microphone. The audio system is configured for cancelling noise up to a frequency F, and the microphone is installed at a distance larger than 34/F from an ear of a closest occupant to the microphone.
Also in one embodiment, the microphone is configured to measure a first sound in the passenger cabin; and the processor is configured to at least facilitate: obtaining a second sound from the loudspeaker; estimating a third sound at a virtual location that is remote from both the microphone and the loudspeaker, using the first sound, the second sound, and one or more transfer functions; and providing instructions for the loudspeaker to apply active noise cancellation for the passenger cabin based on the third sound at the virtual location.
The exemplary embodiments will hereinafter be described in conjunction with the following drawing figures, wherein like numerals denote like elements, and wherein:
The following detailed description is merely exemplary in nature and is not intended to limit the application and uses. Furthermore, there is no intention to be bound by any expressed or implied theory presented in the preceding technical field, background, brief summary or the following detailed description.
Referring to the figures, wherein like numerals indicate like parts throughout the several views, an audio system 100 and process 200 of controlling noise in a cabin 102, e.g., a passenger interior region, of a vehicle 104 having an engine 103 are illustrated. In certain embodiments, the vehicle 104 comprises an automobile, such as a sedan, truck, bus, or any number of different types of automobiles. It should be appreciated, however, that the system 100 and/or process 200 described herein may be implemented in other types of vehicles 104, including, but not limited to, aircraft and watercraft. Also in various embodiments, the terms “noise” and “sound” may be used synonymously, unless otherwise noted herein.
Referring to
In various embodiments, the microphones 106 generate signals corresponding to sounds they receive, as is appreciated by those skilled in the art. In certain embodiments, in the audio systems 100 described herein, the microphone 106 comprises an error microphone that generates an error signal corresponding to the received sounds. In certain embodiments, the microphone 106 also records voices of occupants 112 (also referred to herein as passengers) within the vehicle 104, for example to facilitate communications among different occupants 112, and/or between one or more occupants 112 and one or more vehicle systems and/or other individuals remote from the vehicle 104 (e.g., via a telephone, transceiver, computer, and/or other devices).
In various embodiments, the sensors 105 are coupled to the engine 103. Also in various embodiments, the sensors 105 measure data for an engine torque and/or a number of revolutions per amount of time (e.g., revolutions per minute) for the engine 103. It will be appreciated that in certain embodiments the sensors 105 may vary, and/or such sensors 105 may (optionally) not be part of the audio system 100.
In various embodiments, the computer system 107 includes a processor 108 and a memory 109. It will be appreciated that, in various embodiments, the computer system 107 may also include one or more other computer-related components, such as an interface, a bus, a storage device, and so on.
In various embodiments, the memory 109 can be any type of suitable memory. For example, the memory 109 may include various types of dynamic random access memory (DRAM) such as SDRAM, the various types of static RAM (SRAM), and the various types of non-volatile memory (PROM, EPROM, and flash). In various embodiments, the memory 109 comprises non-transitory computer readable storage medium. In certain examples, the memory 109 is located on and/or co-located on the same computer chip as the processor 108. In various embodiments, the memory 109 stores a plurality of transfer functions that are utilized by the processor 108 in controlling noise in the cabin 102. In accordance with certain exemplary embodiments, the transfer functions are denoted as a first transformation function (TF1) 121, a second transfer function (TF2) 122, and a third transfer function (TF3) 123, as depicted in
In various embodiments, the processor 108 performs the computation and control functions of the computer system 107, and of the audio system 100. In various embodiments, the processor 108 may comprise any type of processor or multiple processors, single integrated circuits such as a microprocessor, or any suitable number of integrated circuit devices and/or circuit boards working in cooperation to accomplish the functions of a processing unit. In various embodiments, the processor 108 executes one or more programs contained within the memory 109 and, as such, controls the general operation of the computer system 107, generally in executing the processes described herein, including the process 200 described further below in connection with
In various embodiments, the processor 108 utilizes data from the sensors 105, the microphone 106, and the loudspeaker 110, along with the transfer functions 121, 122, and 123 stored in the memory 109, to estimate noise values at one or more virtual locations 116 in the vehicle 104 (e.g., in proximity to one or more ears of occupants 112 of the vehicle 104). As described in greater detail below, in various embodiments: (i) the first transfer function 121 pertains to a relationship between sound at the loudspeaker 110 and sound at the virtual location 116; (ii) the second transfer function 122 pertains to a relationship between sound at the loudspeaker 110 and sound at the microphone 106; and (iii) the third transfer function 123 pertains to a relationship between sound at the microphone 106 and sound at the virtual location 116.
Also in various embodiments, the processor 108 utilizes the estimated noise values for controlling noise cancellation functionality for the cabin 102 of the vehicle 104, for example by providing noise cancellation instructions for the loudspeaker 110 based on the estimated noise values. In various embodiments, the processor 108 performs these and other steps in accordance with the steps of the process 200, described further below in connection with
In various embodiments, the processor 108 of the exemplary embodiments is implemented with at least one semiconductor-based microprocessor capable of performing calculations and executing instructions (i.e., running a program). The processor 108 of the exemplary embodiments includes a digital signal processor (“DSP”) configured to convert and process analog signals. However, it should be appreciated that the processor 108 may be implemented with any number of suitable devices, schemes, or configurations, as is readily appreciated by those skilled in the art.
As noted above, the audio system 100 also includes at least one loudspeaker 110, as shown in
With reference to
As depicted in
In various embodiments, the transfer functions are generated during development and/or tuning of a particular vehicle type, “offline” using test vehicles (e.g., prior to sale or consumer ownership or usage of the vehicle 104 of
The “online” steps of the process 200 begin with step 204 (e.g., after the tuning of the vehicle type is completed using the various test vehicles, and after the vehicle type is on the market, e.g., with the vehicle 104 being operated in a current vehicle driving cycle). Specifically, as the vehicle is operated, in certain embodiments engine parameters are measured at step 204. Also in certain embodiments, an engine torque and a number of revolutions per amount of time (e.g., revolutions per minute) are measured at step 204 using the sensors 105 of
In addition, captured audio is recorded via a microphone (or via multiple microphones) at step 206. In various embodiments, during step 206, the microphone 106 of
Noise cancelling sounds are obtained at step 208. In various embodiments, the noise cancelling sounds refer to inverted sounds, or anti-noise sounds, from the loudspeaker 110 of
Transfer functions are retrieved at step 210. In various embodiments, the first, second, and third transfer functions, namely, TF1 121, TF2 122, and TF3 123, respectively, are retrieved from the memory 109 via the processor 108 of
One or more sound values are estimated for a virtual location at step 212. In various embodiments, the processor 108 of
Noise cancellation is applied at step 214. In various embodiments, during step 214, the processor 108 of
Per the discussion above, it will be appreciated that there may be any number of microphones 106, loudspeakers 110, and occupants 112 for the vehicle 104. Accordingly, in various embodiments, steps 202-214 may be performed individually for each microphone loudspeaker, occupant, and/or combination thereof, thereby generating multiple virtual locations with multiple estimated sounds (and, thus, that may be aggregated, for example using a weighted average, for use in the instructions provided by the processor 108 to the loudspeakers 110).
With reference to
In various embodiments, sound signals 322 are measured and recorded at one or more microphones 106, such as the microphone 106 of
R=E
r
+N
r (Equation 1).
In addition, in various embodiments, for each microphone 106, the loudspeaker sound signals (e.g., LS1 304, LS2 306, and LS3 308) are each processed through a respective second transfer function (TF2) 312 for each respective microphone 106 location. Accordingly, for each microphone 106 location, the second transfer function (TF2) 312 generates a loudspeaker cancellation noise value (Nr) 324 for the particular microphone 106 location based on the processing of the loudspeaker sound signals LS1 304, LS2 306, and LS3 308 via the second transfer function (TF2) 312. Also in certain embodiments, the symbol “N” represents the respective loudspeaker sound signal 304, 306, 308 for the respective loudspeaker 110 (i.e., at the loudspeaker itself), and the loudspeaker cancellation noise value (Nr) at the particular microphone location is calculated using the following equation:
Nr=N*TF2 (Equation 2),
in which * represents the convolution function.
Also in various embodiments, for each particular microphone 106 location, the corresponding loudspeaker cancellation noise value 324 for the particular microphone 106 location (i.e., Nr) is subtracted from the corresponding measured aggregate sound 322 for the particular microphone 106 location at point 320 of
Er=R−Nr=R−N*TF2 (Equation 3),
in which * denotes the convolution function.
Also in various embodiments, for each virtual location 116 of
N
v
=N*TF
1 (Equation 4),
in which * denotes the convolution function.
In various embodiments, for each particular microphone 106 location and virtual location 116 combination (i.e., for each microphone 106 location for each virtual location 116), the estimated engine noise at the particular microphone 106 location (Er 326) is processed through a respective third transfer function (TF3) for each respective virtual location 116, to thereby generate a resulting estimated engine noise at the particular virtual location 116 (Ev 328) for each particular microphone 106 location/virtual location 116 combination. In various embodiments, for each particular virtual location, the estimated engine noise at the particular virtual location, namely “Ev”, is calculated using the following equation:
Ev=Er*TF3 (Equation 5),
in which * denotes the convolution function.
In various embodiments, one or more engine parameters (such as engine torque and/or a measure of engine revolutions per amount of time, such as revolutions per minute (rpm)) are utilized in combination with the third transfer function (TF3) and/or as part of the third transfer function (TF3) in calculating the estimated engine noise at the particular virtual location (“Ev”). For example, in certain embodiments, the third transfer function (TF3) is calibrated using different values of engine torque and engine rpm during the generation of the transfer functions during step 202 of
In addition, in various embodiments, for each particular virtual location 116, the estimated engine noise at the particular virtual location 116 (Ev 328) is added to the loudspeaker cancellation noise value (Nv) 330 for the particular virtual location 116 at point 332. As a result of the summation at point 332, a resulting aggregate sound (V) 334 is generated for the particular virtual location 116. In various embodiments, for each virtual location, the resulting aggregate sound, namely “V”, is calculated using the following equation:
V=E
v
+N
v=(R−N*TF2)*TF3+N*TF1 (Equation 6),
in which * denotes the convolution function.
In various embodiments, the aggregate sounds 334 (V) for the virtual locations 116 are used by the ANC output generator 302 to provide and/or adjust the loudspeaker signals (e.g., LS1304, LS2306, and LS3308) to compensate for the aggregate sounds (V) 334 at the virtual locations 116. For example, in certain embodiments, the existing loudspeaker signals (e.g., LS1 304, LS2 306, and LS3 308) are adjusted, as much as possible, to provide anti-noise (i.e., noise cancellation) that would cancel out, and thereby reduce or eliminate, the aggregate sounds (V) 334 at the virtual locations 116. In certain embodiments with multiple virtual locations 116 (e.g., for different ears of an occupant), the aggregate sounds (V) 334 may be averaged and/or aggregated so as to maximize the combined effectiveness of the anti-noise for the virtual locations 116 (e.g., an optimization function may be utilized in certain embodiments that results in a lower perceived tone to help avoid asymmetric cancellation at the two ears of the same occupant). In certain embodiments, the current ANC system is capable of taking in multiple error microphones at occupant locations. Accordingly, in certain embodiments, multiple virtual microphone signals are estimated using the various transfer functions T1, T2, and T3 and are then fed to the ANC system for noise cancellation.
In various embodiments, the processor 108 of
With reference to
In addition, in various embodiments, during step 402, the test vehicles are operated during multiple testing periods, including (i) one or more first time periods in which a loud speaker of the test vehicle is producing noise cancellation sound of the test vehicle; and (ii) one or more second time periods in which the engine of the test vehicle is running but the loud speaker of the test vehicle is not producing the noise cancellation sound of the test vehicle.
The first transfer function (TF1) is estimated at step 404. In various embodiments, a first plurality of testing sounds are recorded at a first location corresponding to a location of the microphone of the vehicle during the first time period, and the first transfer function TF1 is estimated using the first testing sounds, for example using techniques known in the art. Also in various embodiments, the first transfer function TF1 is estimated using a processor, such as the processor 108 of
The second transfer function (TF2) is estimated at step 406. In various embodiments, a second plurality of testing sounds are recorded at a second location corresponding to the virtual location of the vehicle during the first time period, and the second transfer function TF2 is estimated using the second testing sounds. Also in various embodiments, the second transfer function TF2 is estimated using a processor, such as the processor 108 of
The third transfer function (TF3) is estimated at step 408. In various embodiments, a third plurality of testing sounds are recorded at the first location during the second time period, fourth testing sounds are recorded at the second location during the second time period, and the third transfer function is estimated using the third testing sounds and the fourth testing sounds. As noted above, in various embodiments, one or more engine parameters (such as engine torque and/or a measure of engine revolutions per amount of time, such as revolutions per minute (rpm)) are utilized in combination with the third transfer function (TF3) and/or as part of the third transfer function (TF3). For example, in certain embodiments, the third transfer function (TF3) is calibrated in step 408 at least in part using different values of engine torque and engine rpm during the operation of the test vehicles. In certain embodiments, the parameters of the third transfer function (TF3) may vary with engine torque and engine rpm, among other possible variations. In certain embodiments, the revolutions per minute of the engine and an engine torque are measured during the second time period while recording the third testing sounds and the fourth testing sounds, and the third transfer function is estimated using the third testing sounds, the fourth testing sounds, the engine revolutions per minute, and the engine torque. Also in various embodiments, the third transfer function TF3 is estimated using a processor, such as the processor 108 of
In various embodiments, the first, second, and third transfer functions (TF1, TF2, and TF3) are stored in memory at step 410. In various embodiments, for each vehicle, such as the vehicle 104 of
In various embodiments, the first, second, and third positions 502, 504, and 506 represent different positions for actual microphone locations in a vehicle. In various embodiments, the first, second, and third positions 502, 504, and 506 represent respective positions for arrays of voice recognition microphones that are also used for noise cancelling functionality (e.g., corresponding to the microphone 106 of
Also in various embodiments, the fourth, fifth, and sixth positions 508, 510, and 512 represent different positions for virtual locations for the vehicle (e.g., in proximity to ears of passengers of the vehicle). In various embodiments, the fourth, fifth, and sixth positions 508, 510, and 512 represent respective positions for the virtual location 116 of
With reference now to
With reference to
As depicted in
In various embodiments corresponding to
R=E
r
+N
r (Equation 7),
in which “R” is the aggregate symbol that is captured by the remote microphone array;
V=E
v
+N
v (Equation 8),
In which “V” is the signal that the method is solving for, namely, the noise at the virtual location;
N
r
=N*TF
2 (Equation 9),
in which N is known from operation of the ANC system and TF2 is generated during operation of the test vehicles;
E
r
=R−N
r
=R−N*TF
2 (Equation 10);
E
v
=ΣE
ri
*W
i (Equation 11); and
N
v
=ΣN
ri
*U
i (Equation 12),
in which Wi and Ui are calculated during the testing/tuning process using a testing system (e.g., one or more learning management systems) adaptation in various embodiments, and in which Wi and Ui are frequently dependent in certain embodiments.
Next, with reference to
First, with reference to
Second, with reference to
As illustrated in
Accordingly, methods, systems, and vehicles are disclosed that provide for active noise cancelling in vehicles. In various embodiments, sound values are estimated at a virtual location that is remote from a microphone location. Also in various embodiments, the estimated sound values are utilized by the processor in controlling noise cancellation for the vehicle. In addition, in various embodiments, the methods, systems, and vehicles utilize virtual locations that are proximate ears of occupants of the vehicle, using antennas that are remote from the virtual location, and thus that are remote from the occupant's ears. This potentially provides for integration of the noise cancelling microphones with existing voice microphones of the vehicle, and/or for improved noise cancelling performance (e.g., by having the virtual location be even closer to the occupants' ears as compared with existing techniques and systems).
It will be appreciated that the disclosed methods, systems, and vehicles may vary from those depicted in the Figures and described herein. For example, the audio system 100, the vehicle 104, and/or various components thereof may vary from that depicted in
While at least one exemplary embodiment has been presented in the foregoing detailed description, it should be appreciated that a vast number of variations exist. It should also be appreciated that the exemplary embodiment or exemplary embodiments are only examples, and are not intended to limit the scope, applicability, or configuration of the disclosure in any way. Rather, the foregoing detailed description will provide those skilled in the art with a convenient road map for implementing the exemplary embodiment or exemplary embodiments. It should be understood that various changes can be made in the function and arrangement of elements without departing from the scope of the disclosure as set forth in the appended claims and the legal equivalents thereof.