Information handling system having acoustic noise reduction

An information handling system includes a processor configured to operate in one of a plurality of power states. An audio circuit measures an ambient audio environment within the information handling system, classifies the measured ambient audio into one of a plurality of categories, and implements a power management policy for the processor in response to the measured ambient audio being classified into the one of the categories.

FIELD OF THE DISCLOSURE

The present disclosure generally relates to information handling systems, and more particularly relates to an information handling system having acoustic noise reduction.

BACKGROUND

SUMMARY

An information handling system includes a processor configured to operate in one of a plurality of power states. An audio circuit measures an ambient audio environment within the information handling system, classifies the measured ambient audio into one of a plurality of categories, and implements a power management policy for the processor in response to the measured ambient audio being classified into the one of the categories.

DETAILED DESCRIPTION OF THE DRAWINGS

The information handling system100includes a system on a chip (SOC)102, which in turn includes a processor104, audio circuitry106, an integrated sensor hub108, wireless communication circuitry110, memory112, and a security engine114. The processor104can be a multiple core processor, such that the processor104includes one or more central processing cores120, one or more graphic processing cores122, and a memory controller124.

The processor104includes a first terminal coupled to a storage device130, a second terminal coupled to the wireless communication circuitry110, and a third terminal coupled to the memory112, and a fourth terminal coupled to the audio circuitry106. In an embodiment, the processor104can communicate with the storage device130via the memory controller124and a first terminal of the processor104. The audio circuitry106includes a first terminal coupled to a microphone132, a second terminal coupled to speakers134of the information handling system100, a third terminal coupled to the integrated sensor hub108, and a fourth terminal coupled to the processor104. The integrated sensor hub108can include a first terminal coupled to a sensor136, a second terminal coupled to the wireless communication circuitry110, a third terminal coupled to the memory112, a fourth terminal coupled to the security engine114, and a fifth terminal coupled to the audio circuitry106. The wireless communication circuitry110includes a first terminal coupled to the integrated sensor hub108, second, third, and fourth terminals each coupled to a different wireless communication devices, such as a Blue Tooth (BT) device138, a wireless fidelity (WiFi)140, and a global navigation satellite system (GNSS)142, and a fifth terminal coupled to the processor104. The memory112includes a first terminal coupled to the processor104, a second terminal coupled to the security engine114, and a third terminal coupled to the integrated sensor hub108. The security engine114includes a first terminal coupled to the integrated sensor hub108, and a second terminal coupled to the memory112.

During operation of the information handling system100, the different components within the SOC102can perform different functions. As the components start and end these operations, the processor104can transition between different power states. For example, the CPU cores120may transition from a lowest idle power state (P-states) to a wake up power state, from a sleep power state to the wake up power state, from a running power state to a sleep power state, or the like. During these power state transitions, capacitors within the processor104can be charged and discharged. In an embodiment, the capacitors can be ceramic capacitors or the like. The rapid charging and discharging of ceramic capacitors during entry into and exit from various power states can induce an electrostrictive effect that can cause a circuit or motherboard within the information handling system100to vibrate. However, the vibration frequency can periodically enter the audio band, such that the vibration can be perceived by users of the information handling system100. If the sound generated from the vibration of the circuit or motherboard is prolonged, the user experience can be degraded. Thus, a reduction in the number of times that the capacitors are charged and discharged can improve a user experience by reducing sounds produced by the electrostrictive effect of the capacitors.

In an embodiment, the audio circuitry106can be any type of digital signal processor, such as a converged Audio, Voice and Speech (cAVS) circuitry that is a low-power audio device with multiple capabilities that include wake-on-voice, keyword detection, and speaker ID, among others. In an embodiment, the audio circuitry106can be a low-power audio classifier. However, additional embodiments may be expanded for any processor where an audio classifier may be used to determine adverse acoustic conditions without varying from the scope of this disclosure. In an embodiment, the audio circuitry106can monitor audio events within the information handling system100, via the microphone132or any other microphone located within the information handling system100. The audio circuitry106can then classify any detected audio event, and determine whether the audio event is electrostrictive noise. The audio circuitry106may also determine a likelihood ratio for classification of the determined audio event, from which a level of confidence can be derived for the classification.

The audio circuitry106may include a table, such as Table 1 below, that includes audio categories with a corresponding range of sound pressure level in decibels (SPLdB).

The audio classification table stored in the audio circuitry106can be loaded with predefined categories with corresponding sound pressure level ranges, such as motion of the information handling system100, a quiet category, speech category, noisy category, mechanical noise category, music category, or the like. In an embodiment, some of these categories may have sub-categories, such as speech can have sub-categories of speech-male, speech-female, or the like. Additionally, music can have sub-categories, such as music-rock, music-classical, or the like. The audio circuitry106should be trained to classify electrostrictive noise before this category of noise can be identified by the audio circuitry106during operation of the SOC102within the information handling system100. In an embodiment, an audio classifier within the audio circuitry106can be based on, a Gaussian Mixture Model that is trained offline to recognize a given audio environment, such as one created by circuit board vibrations.

During a training mode, a microphone, such as microphone132, located within an enclosure of the information handling system can record an ambient environment. During the training mode, environment around the information handling system100and the operation of the components within the information handling system100can be controlled to ensure that any detected sound pressure level is caused by circuit board vibrations. The SOC102can then be placed in different usage scenarios that can cause circuit board vibrations. For example, the wireless communication device110can receive and/or transmit a high volume of WiFi traffic, the integrated sensor hub108can receive a lot of data from the sensor136and can transfer that large amount of data to the processor104, or the like. Other intensive operations performed by the processor104can include loading a large amount of data from a universal serial bus (USB) device, saving a large amount of data to/from a disk drive, or the like. Additionally, the processor104can be put through different work cases that can cause the processor104to transition from the idle power state to the wake up power state, from the sleep power state to the wake up power state, from running power state to the sleep power state, or any other rapid and large transition between power states.

During these training scenarios that create circuit board vibrations, the microphone132can collect the audio data within the enclosure of the information handling system100. These collected audio data sets can then be used to train the audio classifier in the audio circuitry106to recognize the unique audio environment caused by board vibrations. The training of the audio classifier can be done by creating models for the audio data. In an embodiment, the models can be created by performing a Fast Fourier Transform (FFT) of pulse-coded modulation (PCM) data (FFT PCM). Frequency domain FFT data can be augmented with time domain data, such as peak values, rates of change, and the like to create a feature vector that is then used to train the classifier of the audio circuitry106. In an embodiment, an Audio Firmware Development Kit (FDK) can be utilized to load the new classifier model parameters into the table of the audio circuitry106. The training mode can end after a classifier recall accuracy of noise categories for the trained model against test data exceeds a predefined level. In an embodiment, the predefined accuracy level can be 97%. In an embodiment, when the training data is collected, part of the data is used to train audio models for the classifier of the audio circuitry106and a separate subset of the data is used to test the model for accuracy. The classifier audio model parameters can then be stored in the audio circuitry106.

During regular operation, the audio circuitry106can automatically monitor the ambient audio within the information handling system100, and can determine whether the audio data of an audio event can be classified into a particular audio category, such as one of the audio categories stored within the table of the audio circuitry. In an embodiment, the audio circuitry106can sample the ambient audio a particular interval, such as every millisecond, every second, every minute, or the like. The trained audio models stored within the audio circuitry106can then determine whether the audio category is the electrostrictive category, such that the audio event is a result of circuit board vibrations caused by the capacitive electrostrictive effects during C-state changes of the processor104.

Different applications within the processor104, such a power management applications, can subscribe for notifications from the audio circuitry106. In an embodiment, notifications can include identifying a change in an audio event category, identification of the new audio category, or the like. In an embodiment, a payload of the notification data can also consist of likelihood values for each audio class/category of the audio event from which a confidence value can be inferred. The processor104can utilize the confidence value for each category, and in particular for the electrostrictive noise category, to determine when audio noise suppression policies should be enforced. For example, if the confidence value for the electrostrictive category is high, then the processor104can determine that power policies and other audio noise suppression policies should be enforced to reduce the electrostrictive noise generated by the charging and discharging of the capacitors during power state changes.

In an embodiment, the power policies can include reducing the operations of the wireless communication circuitry110, provide interrupts to the integrated sensor hub108to reduce the amount of data provided to the processor104, or the like. In an embodiment, the power policies can be any policy that reduces power state changes in the processor104, such that the rapid charging and discharging of the capacitor is reduced, which in turn reduces the electrostrictive noise generated by vibrations in the circuit board and mother board of the information handling system100.

FIG. 2is a flow diagram of a method200for training audio circuitry to detect electrostrictive noise according to at least one embodiment of the present disclosure. At block202, an information handling system is placed within an audio classification training mode. A processor of the information handling system is placed into a usage scenario at block204. In an embodiment, the usage scenario is any set of operations that cause power state changes within the processor, which in turn can cause capacitors of the processor to rapid charge or discharge. At block206, the audio circuitry can store the audio data associated with the usage scenario.

At block208, a model of the audio data is created. In an embodiment, the models can be created by performing FFT PCM of the audio data and the magnitude of points within the FFT PCM can be analyzed. A determination is made whether another usage scenario exists at block210. If another usage scenario exists, the flow continues as stated above at block204. Otherwise, a range of magnitudes for the different usage scenarios are stored at block212. In an embodiment, the range of magnitudes can be stored in an audio classifier table of the audio circuitry. At block214, the training mode is ended.

FIG. 3is a flow diagram of a method300for monitoring audio events according to at least one embodiment of the disclosure. At block302, a determination is made whether a new audio event is detected. In an embodiment, the audio event can be audio data collected by a microphone within an information handling system and sent to audio circuitry for analysis. An audio environment or category for the audio event can be determined at block304. In an embodiment, a Sound Pressure Level (SPL) above a prescribed threshold can be used to start logging of the audio data and then running the classifier to determine a prevailing category for the measured noise of the audio event. In an embodiment, the audio category can be determined by the trained audio models, within the classifier of the audio circuitry, detecting an active noise category for a measured noise of the audio event.

In an embodiment, the audio environment can be within a quiet category, within a speech category, within a noisy category, within a music category, within a mechanical noise category, within an electrostrictive noise category, or the like. At block306, a determination is made whether the audio environment has changed.

If the audio environment has not changed, the flow continues as described above at block302. Otherwise, if the audio environment has changed, a notification of the audio category is sent to a processor of the information handling system at block308. At block310, a determination is made whether the audio environment is within an electrostrictive category. If the audio environment is not within the electrostrictive category, the flow continues as described above at block302. Otherwise, if the audio environment is within the electrostrictive category, applicable power policies, such as those described above, are invoked in the processor at block312, and the flow then continues at block302.

FIG. 4illustrates a general information handling system400including a processor402, a memory404, a northbridge/chipset406, a PCI bus408, a universal serial bus (USB) controller410, a USB412, a keyboard device controller414, a mouse device controller416, a configuration an ATA bus controller420, an ATA bus422, a hard drive device controller424, a compact disk read only memory (CD ROM) device controller426, a video graphics array (VGA) device controller430, a network interface controller (NIC)440, a wireless local area network (WLAN) controller450, a serial peripheral interface (SPI) bus460, a NVRAM470for storing BIOS472, and a baseboard management controller (BMC)480. BMC480can be referred to as a service processor or embedded controller (EC). Capabilities and functions provided by BMC480can vary considerably based on the type of information handling system. For example, the term baseboard management system is often used to describe an embedded processor included at a server, while an embedded controller is more likely to be found in a consumer-level device. As disclosed herein, BMC480represents a processing device different from CPU402, which provides various management functions for information handling system400. For example, an embedded controller may be responsible for power management, cooling management, and the like. An embedded controller included at a data storage system can be referred to as a storage enclosure processor.

For purpose of this disclosure information handling system400can include any instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, entertainment, or other purposes. For example, information handling system400can be a personal computer, a laptop computer, a smart phone, a tablet device or other consumer electronic device, a network server, a network storage device, a switch, a router, or another network communication device, or any other suitable device and may vary in size, shape, performance, functionality, and price. Further, information handling system400can include processing resources for executing machine-executable code, such as CPU402, a programmable logic array (PLA), an embedded device such as a System-on-a-Chip (SoC), or other control logic hardware. Information handling system400can also include one or more computer-readable medium for storing machine-executable code, such as software or data.

System400can include additional processors that are configured to provide localized or specific control functions, such as a battery management controller. Bus460can include one or more busses, including a SPI bus, an I2C bus, a system management bus (SMBUS), a power management bus (PMBUS), and the like. BMC480can be configured to provide out-of-band access to devices at information handling system400. As used herein, out-of-band access herein refers to operations performed prior to execution of BIOS472by processor402to initialize operation of system400.

BIOS472can be referred to as a firmware image, and the term BIOS is herein used interchangeably with the term firmware image, or simply firmware. BIOS472includes instructions executable by CPU402to initialize and test the hardware components of system400, and to load a boot loader or an operating system (OS) from a mass storage device. BIOS472additionally provides an abstraction layer for the hardware, such as a consistent way for application programs and operating systems to interact with the keyboard, display, and other input/output devices. When power is first applied to information handling system400, the system begins a sequence of initialization procedures. During the initialization sequence, also referred to as a boot sequence, components of system400are configured and enabled for operation, and device drivers can be installed. Device drivers provide an interface through which other components of the system400can communicate with a corresponding device.

Information handling system400can include additional components and additional busses, not shown for clarity. For example, system400can include multiple processor cores, audio devices, and the like. While a particular arrangement of bus technologies and interconnections is illustrated for the purpose of example, one of skill will appreciate that the techniques disclosed herein are applicable to other system architectures. System400can include multiple CPUs and redundant bus controllers. One or more components can be integrated together. For example, portions of northbridge/chipset406can be integrated within CPU402. Additional components of information handling system400can include one or more storage devices that can store machine-executable code, one or more communications ports for communicating with external devices, and various input and output (I/O) devices, such as a keyboard, a mouse, and a video display. An example of information handling system400includes a multi-tenant chassis system where groups of tenants (users) share a common chassis, and each of the tenants has a unique set of resources assigned to them. The resources can include blade servers of the chassis, input/output (I/O) modules, Peripheral Component Interconnect-Express (PCIe) cards, storage controllers, and the like.

Information handling system400can include a set of instructions that can be executed to cause the information handling system to perform any one or more of the methods or computer based functions disclosed herein. The information handling system400may operate as a standalone device or may be connected to other computer systems or peripheral devices, such as by a network.

The information handling system400can include a disk drive unit and may include a computer-readable medium, not shown inFIG. 4, in which one or more sets of instructions, such as software, can be embedded. Further, the instructions may embody one or more of the methods or logic as described herein. In a particular embodiment, the instructions may reside completely, or at least partially, within system memory404or another memory included at system400, and/or within the processor402during execution by the information handling system400. The system memory404and the processor402also may include computer-readable media.

The device or module can include software, including firmware embedded at a processor or software capable of operating a relevant environment of the information handling system. The device or module can also include a combination of the foregoing examples of hardware or software. Note that an information handling system can include an integrated circuit or a board-level product having portions thereof that can also be any combination of hardware and software.