Noise cancellation with improved frequency resolution

By adding zero samples to the electronic automatic noise cancellation technology to improve frequency resolution and using digital processor circuits to perform time shift processing of frequency domain representation, the problem of poor results in the prior art when processing dynamic and high-frequency noise is solved, and a more effective noise cancellation effect is achieved.

CN114402381BActive Publication Date: 2025-05-23SILENCER DEVICES LLC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202080051755.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-07-15
Filing Date
2020-07-17
Publication Date
2025-05-23
Estimated Expiration
2040-07-17

AI Technical Summary

Technical Problem

Existing electronic automatic noise cancellation techniques do not work well when dealing with dynamic, rapidly changing sounds or sounds containing higher frequencies, and in small settings such as headphones or earbuds, the frequency resolution is insufficient for satisfactory noise cancellation.

Method used

By obtaining a digitized noise signal from the noise signal, a data sample is received, and an additional zero sample is added to the data sample to form a series of samples. The frequency domain representations of these samples are then calculated using a digital processor circuit and shifted over the time domain to generate a shifted frequency domain representation. Finally, the representation is converted back to the time domain to form a portion of the noise-impacted signal and output to the audio signal stream to eliminate noise reduction.

Benefits of technology

With improved frequency resolution, dynamic and high-frequency noise can be eliminated more effectively, and even better noise cancellation effects can be achieved in small settings.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114402381B_ABST
    Figure CN114402381B_ABST
Patent Text Reader

Abstract

The present invention provides a noise cancellation technique with improved frequency resolution. The method includes: obtaining a digitized noise signal from an environment in which the audio signal stream exists; receiving data samples from the digitized noise signal; appending one or more additional samples to the data samples to form a series of samples, wherein the magnitude of each of the one or more additional samples is substantially zero; calculating a frequency domain representation of the series of samples in the frequency domain; using the digital processor circuit to shift the frequency domain representation of the series of samples in time, thereby generating a shifted frequency domain representation of the series of samples; converting the shifted frequency domain representation of the series of samples to the time domain to form a portion of an anti-noise signal; and outputting the anti-noise signal into the audio signal stream to cancel the noise by destructive interference.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This International PCT Application claims priority to U.S. Patent Application No. 16 / 929,504 filed on July 15, 2020 and U.S. Patent Application No. 16 / 514,465 filed on July 17, 2019. U.S. Patent Application No. 16 / 929,504 is a continuation of U.S. Patent Application No. 16 / 514,465. The entire disclosures of the above applications are incorporated herein by reference. Technical Field

[0003] The present disclosure relates generally to electronic and automatic noise cancellation techniques. Background Art

[0004] Scientists and engineers have been working on the problem of electronic automatic noise cancellation (ANC) for decades. The basic physics of wave propagation suggests that it is possible to generate an "anti-noise" wave that is 180 degrees out of phase with the noise signal and completely cancel the noise by destructively interfering. This works quite well for simple, repetitive, low-frequency sounds. However, it does not work as well for dynamic, rapidly changing sounds or those containing higher frequencies.

[0005] The frequency resolution during Fourier analysis greatly affects the accuracy of the anti-noise in the active noise cancellation algorithm. This is because the frequency response of the microphone and the speaker is not completely uniform across the spectrum, and the amount of air attenuation is not uniform for all frequencies. Moreover, accurate calculation of the anti-noise depends on how accurately the main noise is estimated. In order to have a good estimate of the main noise, it is necessary to have a good frequency resolution. Therefore, in addition to a good frequency resolution, it is also necessary to divide the total spectrum into small frequency bands and tune the suppression factor and phase correction for each single frequency band separately.

[0006] Good frequency resolution means short gaps between consecutive frequencies in the spectrum. In the Fourier transform, there is a trade-off between its time resolution and frequency resolution. If the time resolution is good, the frequency resolution becomes poor, and vice versa. It is difficult to find the best compromise between these two variables. Mathematically, the frequency resolution (ΔF) is the ratio of the sampling rate (Fs) to the number of samples in a block (N). Therefore, there are two ways to increase the frequency resolution: 1) reduce the sampling rate, and 2) increase the block size.

[0007] One of the basic prerequisites for active noise cancellation is that the overall processing must occur before the noise travels from the input microphone to the anti-noise speaker, including noise acquisition in the microphone, mathematical analysis, anti-noise preparation, and anti-noise emission through the speaker. If this does not happen, the noise will leave before the anti-noise is superimposed on it.

[0008] In a setup as small as headphones or earbuds, the distance between the input microphone and the anti-noise speaker is so small that it takes very little time for the noise to travel the intermediate distance. This makes it impossible to collect enough samples for good frequency resolution. Because if the active noise cancellation system waits long enough to collect a good number of samples, the anti-noise generation will be too late to synchronize with the main noise. Therefore, in the case of small setups, the frequency resolution becomes too poor to obtain satisfactory results.

[0009] This section provides background information related to the present disclosure which is not necessarily prior art. Summary of the invention

[0010] The present invention provides a noise cancellation technique with improved frequency resolution. The method includes: obtaining a digitized noise signal from an environment in which the audio signal stream exists; receiving data samples from the digitized noise signal; appending one or more additional samples to the data samples to form a series of samples, wherein the magnitude of each of the one or more additional samples is substantially zero; calculating a frequency domain representation of the series of samples in the frequency domain; using the digital processor circuit to shift the frequency domain representation of the series of samples in time, thereby generating a shifted frequency domain representation of the series of samples; converting the shifted frequency domain representation of the series of samples to the time domain to form a portion of an anti-noise signal; and outputting the anti-noise signal to the audio signal stream to cancel the noise by destructive interference. The number of additional samples appended to the data samples depends on the desired frequency resolution of the anti-noise signal.

[0011] In one aspect, the frequency domain representation is calculated using a Fast Fourier Transform method.After shifting the frequency domain representation of the series of samples in time, the shifted frequency domain representation of the series of samples is converted back to the time domain using an Inverse Fast Fourier Transform method.

[0012] In one embodiment, the frequency domain representation is shifted by an amount of time that depends on the selected frequency in the frequency domain representation and takes into account both the propagation time associated with the noise signal and the system propagation time associated with the throughput speed of the digital processor circuit and any associated equipment. In some embodiments, the shift in time takes into account the frequency response of the physical components of the system (e.g., microphones and speakers). Additionally, the amplitude of the frequency domain representation may be scaled before converting the shifted frequency domain representation of the series of samples to the time domain.

[0013] In some embodiments, one or more noise segments in the frequency domain representation are shifted individually. In most cases, the frequency domain representation includes multiple noise segments, and these noise segments can be grouped into frequency bands so that each noise segment in the multiple noise segments grouped into a specific frequency band can have additional time or amplitude changes applied to the group or frequency band.

[0014] In another aspect, we calculate a shifted impulse response of magnitude one and multiply the magnitude of each noise data sample by the shifted impulse response to save computation time and load. The impulse response is preferably calculated and stored before acquiring the digitized noise signal.

[0015] Further areas of applicability will become apparent from the description provided herein.The description and specific examples in this summary are intended for purposes of illustration only and are not intended to limit the scope of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] The drawings described herein are for illustrative purposes only of selected embodiments and not all possible implementations, and are not intended to limit the scope of the present disclosure.

[0017] Figure 1 is a block diagram of a first embodiment of a muffler apparatus for providing noise reduction or noise cancellation in an aerial system.

[0018] Figure 2 is a block diagram of a second embodiment of a muffler device for providing noise reduction or noise cancellation in a telecommunications microphone, telecommunications headset, or headphone / earbud system.

[0019] Figure 3 is a block diagram of a third embodiment of a muffler apparatus for providing noise reduction or noise cancellation in a signal processing system;

[0020] Figure 4 is a block diagram of a fourth embodiment of a silencer device for encrypting and decrypting confidential communications.

[0021] Figure 5 is a block diagram of a fifth embodiment of a muffler device for cleaning noise from electromagnetic transmissions and for separating specific equipment features or communications from background noise of a power line (eg, for power line communications and smart grid applications).

[0022] Figure 6 is a block diagram showing the manner in which a digital processor circuit is programmed to execute a core engine algorithm used in a muffler device.

[0023] Figure 7is a flow chart also illustrating the manner in which the digital processor circuit is programmed to execute the core engine algorithm used in the muffler device.

[0024] Figure 8 It is shown by Figure 6 Signal processing diagram of the processing techniques implemented by the core engine algorithm.

[0025] Fig. 9 is a detailed signal processing diagram showing the calibration mode used in conjunction with the core engine algorithm.

[0026] Fig.10 It is the core engine process diagram.

[0027] Fig.11 is an exemplary low power, single unit, airborne muffler system configured as a desktop personal quiet zone system.

[0028] Fig.12 is an exemplary low power, single unit, airborne muffler system configured as a window mounted unit.

[0029] Fig.13 is an exemplary low power, single unit, airborne muffler system configured as an air chamber mounted package.

[0030] Fig.14 is an exemplary high power, multi-unit, airborne muffler system configured for highway noise reduction.

[0031] Fig.15 is an exemplary high power, multi-unit, mid-air muffler system configured to attenuate noise in a vehicle.

[0032] Fig.16 is an exemplary high power, multi-unit, airborne muffler system configured to create a cone of silence for protecting private conversations from being eavesdropped on by others.

[0033] Fig.17 is an exemplary smartphone integration implementation.

[0034] Fig.18 is an exemplary noise cancelling headphone implementation.

[0035] Fig.19 is another exemplary noise cancelling headphone embodiment.

[0036] Fig. 20 An exemplary processor implementation is shown.

[0037] Fig.21 An exemplary encryption-decryption implementation is shown.

[0038] Fig. 22An exemplary feature detection concept is shown.

[0039] Fig.23 is a flow chart illustrating a technique for improving frequency resolution during active noise reduction.

[0040] Fig.24A A portion of the noise signal in the time domain is shown.

[0041] Fig. 24B The unit pulses padded with zeros are shown.

[0042] Fig.24C is a table showing the time shift of filled unit pulses.

[0043] Fig.24D An exemplary unit impulse response is shown.

[0044] Fig.25 is a table showing how to calculate the anti-noise signal using the unit impulse response.

[0045] Corresponding reference numerals indicate corresponding parts throughout the several views of the drawings. DETAILED DESCRIPTION

[0046] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. The disclosed muffler apparatus can be used for a variety of different applications. For purposes of illustration, five exemplary embodiments will be discussed in detail herein. It should be understood that these examples provide an understanding of some of the different uses for which the muffler apparatus can be used. Other uses and other applications are also possible within the scope of the appended claims.

[0047] refer to Figure 1, a first exemplary embodiment of a muffler device has been shown. The embodiment is designed to provide noise cancellation for an airborne system, wherein the ambient noise of the input is sensed and a noise cancellation signal is generated and broadcasted to the surrounding area. As shown, the embodiment includes a digital signal processor circuit 10, which has an associated memory 12 in which configuration data (referred to herein as application pre-settings) is stored. In an exemplary embodiment, the digital signal processor circuit 10 is implemented using a commercially available multimedia processor integrated circuit (such as a Broadcom BCM2837 quad-core ARMCortex A53 processor, etc.). Details of how to program the digital signal processor circuit are provided below. In another exemplary embodiment, the digital signal processor circuit 10 can be implemented using a Raspberry Pi computer (such as a Raspberry Pi 3 model B or better). The device includes a signal processor circuit 10 and a VideoCore IV GPU, onboard SDRAM, WiFi and Bluetooth transceiver circuits, 802.11n wireless LAN circuits, and support for Bluetooth 4.1 communications. Twenty-six GPIO ports are provided, as well as four USB 2 ports, a 100Base-T Ethernet port, DSI and CSI ports, a 4-pole composite video / audio port, and an HDMI 1.4 port. Figures 1 to 4 As shown in the block diagram in , these ports can be used to provide connections between the inputs and outputs of the signal processor circuit 10. Similarly, the FPGA can be programmed to perform the necessary functions supported by the analog-to-digital converter and the digital-to-analog converter.

[0048] Figure 1 The airborne noise cancellation system of the invention includes one or more input microphones 14, which are deployed in physical locations where they can sense the noise source desired to be cancelled. Each of the microphones 14 is coupled to an audio to digital converter or ADC 16, which converts the analog signal waveform from the coupled microphone into digital data by sampling. Although different sampling rates suitable for the task can be used, the embodiment shown uses a sampling rate of 48kHz. The sampling rate is selected taking into account the frequency range occupied by most of the noise acoustic energy, the distance between the input microphone and the feedback microphone, and other factors related to the specific application and goal.

[0049] Coupled between the ADC 16 and the digital signal processor circuit 10 is an optional gate circuit 18 that passes noise energy above a predetermined threshold and blocks energy below the threshold. The gate circuit 18 can be implemented using software running on the processor or using a separate noise gate integrated circuit. The purpose of the gate circuit is to distinguish between ambient background noise levels that are not considered to be objectionable and higher noise levels associated with objectionable noise. For example, if an airborne noise cancellation system is used to attenuate intermittent road noise from a nearby highway, the gate threshold will be configured to open when the acoustic energy of vehicle traffic is detected and close when only the rustling leaves of nearby trees are detected. In this way, the gate helps to reduce the load on the digital signal processor 10 and prevent unwanted pumping.

[0050] The optional gate circuit 18 may be user configurable, allowing the user to set a noise threshold so that only sounds above the threshold are processed as noise. For example, in a quiet office, the ambient noise level may be about 50 dB SPL. In this environment, the user may set the noise threshold to only work on signals greater than 60 dB SPL.

[0051] Coupled to the output of the digital signal processor circuit 10 is a digital to analog converter or DAC 20. The DAC 20 serves as a complement to the ADC 16, converting the output of the digital signal processor circuit 10 into an analog signal. The analog signal represents a specifically constructed noise cancellation signal designed to cancel the noise detected by the input microphone 14. A suitable amplifier 22 and loudspeaker or transducer system 24 projects or broadcasts the noise cancellation signal into the air where it will mix with and cancel the noise source heard from a vantage point within the effective transmission area of ​​the loudspeaker or transducer system 24. Essentially, the loudspeaker system 24 is located between the noise source and the listener or receiving point so that the listener / receiver can receive the signal arriving at his or her location, except that the signal from the noise source is cancelled by the noise cancellation signal from the loudspeaker or transducer system 24.

[0052] If desired, the circuit may also include a white noise source or a pink noise source fed to amplifier 22, thereby essentially mixing a predetermined amount of white noise or pink noise with the analog signal (via DAC 20) from digital signal processing circuit 10. This noise source helps soften the effect of the noise cancellation signal by masking otherwise audible transients that may occur when the noise cancellation signal is combined with the noise source signal downstream of the loudspeaker.

[0053] A feedback microphone 26 is located before (downstream of) the loudspeaker system 24. The feedback microphone is used to sample the signal stream after the anti-noise has been introduced into the signal stream. The microphone provides a feedback signal to the digital signal processor circuit 10, which is used to adjust the algorithm that controls how the digital signal processor circuit generates an appropriate noise cancellation signal. Although Figure 1 Not shown in the figure, the feedback microphone output may be processed by suitable amplification and / or analog-to-digital converter circuitry to provide a feedback signal for use by the noise cancellation algorithm. In some applications where only the amplitude of the noise relative to the noise cancellation signal is utilized, the feedback microphone output may be processed in the analog domain to derive an amplitude voltage signal, which may be processed by averaging or other means if desired. In other applications, where a more accurate assessment of the noise relative to the noise cancellation signal is desired, a phase comparison to the input microphone signal may also be performed. In most specific implementations of the system, the phase and amplitude of discrete segments of the feedback signal will be analyzed in comparison to the input microphone signal or the desired result of the application (the creation and processing of discrete segments is discussed later in this document). The feedback microphone output may be sampled and converted to the digital domain using an analog-to-digital converter. The feedback microphone may be connected to a microphone input or a line input coupled to a video / audio port of a digital signal processor circuit. For Figure 1 For additional examples of noise reduction systems that can be implemented using the RF amplifier, see the section below entitled “Different Use Case Implementations”.

[0054] exist Figure 2 A second embodiment of a muffler device is shown in FIG. As will be explained, this embodiment features two signal paths, a receive audio signal path that cancels noise in the user's earpiece, earphone, or speaker 24a; and a transmit audio signal path, in which the sound captured by the microphone of the phone 34 is processed to cancel ambient noise also captured by the microphone of the phone 34. Thus, the receive audio signal path will be used to improve what the user hears in his or her earpiece, earphone, or speaker by reducing or eliminating ambient sounds within the environment. This makes it easier to listen to music or listen to a telephone conversation. The transmit audio signal path will be used to partially or completely cancel ambient sounds (such as wind noise) entering the microphone of the user's phone 34. Of course, the same noise cancellation technology can be used with other systems (not just phones, including live recording microphones, broadcast microphones, etc.).

[0055] refer to Figure 2 The exemplary embodiment shown is suitable for use with a headphone system and shares the Figure 1Some of the same components of the embodiment of the present invention. In this embodiment, the input microphone is implemented using one or more noise sensing microphones 14a disposed outside the headset or earphone / earplug. The analog-to-digital circuit associated with or integrated with each noise sensing microphone converts the ambient noise into a digital signal, which is fed to the digital signal processing circuit 10. The feedback microphone 26 is disposed within the earphone / earplug so as to be audio-coupled with the earphone speaker 24a, or the feedback microphone can be completely eliminated because this is a more tightly controlled physical embodiment. In a system including a feedback microphone, the feedback microphone data includes components of a composite signal, which may include desired entertainment content (e.g., music or audio / video soundtracks) and / or speech signals, plus noise and anti-noise, and can be compared with a composite of the noise and anti-noise signals or the input and desired signals.

[0056] It is noted that this system is significantly different from conventional systems because the ability to effectively cancel sounds with frequency components above 2000 Hz reduces the need for acoustic isolation methods utilized on conventional noise canceling headphones. This enables the production of lighter and cheaper products and facilitates efficient utilization in an "earbud" form factor.

[0057] In this embodiment, the noise processing of the muffler device can be implemented independently for each earpiece. For lower cost earphone / earbud / headphone products, the processing can be implemented jointly for both earpieces in a stereo system, or the processing can be handled by an external processor resident in a smartphone or other device.

[0058] Another important difference in this implementation is that the calibration mode will also be used to calculate the appropriate amplitude and phase adjustments required for each frequency band range to compensate for the effects that the physical characteristics of the headphone or earbud construction have on ambient / undesired noise before it reaches the ear (calibration modes and frequency band ranges are discussed later in this document).

[0059] Similarly, the anti-noise generated by the system in this embodiment is mixed with the desired music or speech signal (provided by a phone, music player, communication device, etc.) via mixer 30, and the two are typically output together via a common speaker. In this use case, the feedback microphone will only function during calibration mode, and may be omitted on production units in some cases. Alternatively, the feedback microphone may function continuously in certain multi-speaker applications of this embodiment (e.g., in VR and gaming headsets).

[0060] As described above, in a headphone system including a speech microphone, the output of the digital signal processor circuit 10 can be fed to the speech microphone circuit as well as the headphone speaker circuit. Figure 2, wherein a first output signal is fed from the digital signal processor circuit 10 to a first mixer 30, which supplies the audio playback system (amp 22 and earphone speaker 24a). A second output signal is fed from the digital signal processor circuit 10 to a second mixer 32, which supplies a telephone 34 or other voice processing circuit. Since the ambient noise signal is sampled at a location away from the positioning of the communication / voice microphone, the desired voice signal will not be eliminated. Depending on the application, the alternative anti-noise signal may or may not have the frequency band amplitude adjusted during the calibration mode as described above.

[0061] For critical communications applications, such as media broadcasting or military communications, separate signal processing circuitry may be desirable and used for microphone noise cancellation. This would allow for accurate cancellation of known noise signatures, provide the ability to never cancel certain critical information bands, and facilitate other customization of these mission critical applications via user configuration or pre-sets. Figure 2 For additional examples of noise reduction systems that can be implemented using the RF amplifier, see the section below entitled “Different Use Case Implementations”.

[0062] exist Figure 3 A third, more generalized embodiment is shown in FIG. In this embodiment, the input signal may be obtained from any source, and the output signal may be coupled to a circuit or device (not shown) that typically processes the input signal. Thus, Figure 3 The embodiment is designed to be inserted into, or placed in series with, a signal processing device or transmission. In this embodiment, feedback will generally not be used. Known noise characteristics can be compensated for by system parameters (set using the settings labeled "pre-set" 12). If these characteristics are unknown, the system can be calibrated to eliminate noise by processing portions of the material that have noise but do not contain signal (e.g., a "pre-roll" portion of a video segment can be used to calibrate the system to the noise characteristics). Applications of this embodiment include removing noise from recordings of events or audio surveillance, or removing them in "live" situations with an appropriate amount of "broadcast delay".

[0063] Although a stand-alone digital signal processor circuit 10 has been shown in the above examples, it will be understood that a processor within a mobile device (such as a smartphone) may be used to execute the signal processing algorithm; or the core engine may be implemented as a "plug-in" for a software suite, or integrated into another signal processing system. Therefore, the description herein shall also use the term core engine to refer to the signal processing algorithm running on a processor (such as a stand-alone digital signal processor circuit or a processor embedded in a smartphone or other device) as described more fully below. Figure 3As depicted in the embodiments of the present invention, the core engine may be used to process noise in an offline mode or in signal processing applications where an input microphone, an output amplifier loudspeaker, and a feedback microphone may not be required.

[0064] for Figure 3 For additional examples of noise reduction systems that can be implemented using the RF amplifier, see the section below entitled “Different Use Case Implementations”.

[0065] exist Figure 4 A fourth embodiment is shown in FIG. In this embodiment, there are two parties who wish to share information with each other via files, broadcasts, signal transmissions or other means; and to restrict access to the information. This embodiment requires that both the "encoding party" and the "decoding party" have access to equipment that includes the present invention.

[0066] The encryption / decryption "key" is a scheme of frequency band range settings used to encode information. The settings for encryption and decryption "keys" will be created taking into account the characteristics of the noise or other signal in which the information will be embedded, and these frequency band range settings include frequency and amplitude information. This enables the encoded signal to be embedded in a very narrow segment of the transmission, for example, the segment will appear as an innocuous broadband transmission of some other material or a "white noise" signal. In the example of embedding an intelligence transmission into a signal that appears to be white noise, encryption will require a white noise record of appropriate length to carry the complete message. This white noise record will be processed using the present invention only for a very narrow frequency range or set of ranges (i.e., a very narrow slice of the noise will be "carved out" by the core engine), where frequencies not included in the defined set of ranges pass through the system unchanged (for frequencies not included in the band definition on the encryption side, the default amplitude will be set to 1); and the amplitude of the frequency range that will contain the intelligence can be adjusted to facilitate hiding within the noise. Optionally, the information to be shared may be further encoded in a "carrier signal" within a narrow frequency range, which will be mixed with the system output (noise with slices "carved out") using frequency modulation or other techniques (providing an additional layer of encryption). This will effectively embed the information into what will appear to be a random white noise signal (in this example (or another type of broadband or signal transmission as desired)).

[0067] On the "decryption" side, the frequency and amplitude settings of the frequency band range describing where the information is recorded need to be known to be used as a "decryption key". On the decryption side, the default amplitude for frequencies not included in the definition of the frequency band range must be set to 0. This means that the system will not produce any output for those frequencies not included in the frequency band definition, so that only the desired signal to be decoded is output.

[0068] The ability to select a default amplitude for frequencies not included in the defined frequency band range is one of the defining characteristics of this embodiment.

[0069] The security of information transfer is greatly enhanced if the encryption / decryption "key" is shared between the parties by alternative means, but it could conceivably be included in a "calibration header" in the transmission or file, calculated based on a timestamp or other setting, etc. Figure 4 For additional examples of noise reduction systems that can be implemented using the RF amplifier, see the section below entitled “Different Use Case Implementations”.

[0070] exist Figure 5 A fifth embodiment is shown in FIG. 1. In this embodiment, the invention is utilized to help identify, detect, or receive transmission or device signatures in noise fields, such as those found in electromagnetic field densities in major cities and other areas inherent in power lines. Such embodiments have applications in physical security, such as detecting known types of electromagnetic field interference, as well as non-security applications, such as monitoring power usage.

[0071] The disclosed muffler device can be used to help detect, identify or receive signals in such noise by creating presets for frequency band range settings designed to pass only the target signal. As determined by the previous analysis, these frequency band range settings include the frequency and amplitude information required to identify the "distinguishing characteristics" or "signatures" of the target signal relative to the characteristics of the background noise. These settings will be accomplished by excluding the target signal frequency components from the frequency band settings and using a default amplitude of 0 for frequencies not included in the frequency band settings, effectively passing only the target signal through the system; and appropriately adjusting the amplitude and frequency of adjacent frequencies or harmonics to further enhance the target signal. This will help detect weak signals that would otherwise not be noticed in the noise field.

[0072] For example, when the compressor of an air conditioning system turns on, a unique pulse is applied to the grid. An electric utility substation may utilize the present invention in a system to help it predict peak loads by counting pulses from various products. In power line communication applications, the characteristics of "normal" noise and fluctuations may be minimized, and the desired communication signal may be enhanced by utilizing presets designed for this task. Presets may also be designed to detect or enhance distant or weak electromagnetic communications. Similarly, presets may be designed to detect interference in a noise field identified as having certain types of objects or other potential threats.

[0073] In this embodiment, multiple instances of the core engine may be deployed on a server (or other multi-core or multiplexed device) to facilitate identifying, detecting, or receiving various signal or feature types at a single node.

[0074] for Figure 5 For additional examples of noise reduction systems that can be implemented using the RF amplifier, see the section below entitled “Different Use Case Implementations”.

[0075] Overview of the Core Engine Noise Removal Algorithm

[0076] The essence of the core engine noise cancellation algorithm is to create perfect anti-noise for many small discrete segments or samples that include the noise signal. The digital signal processing circuit 10 (whether implemented as a stand-alone circuit or using the processor of another device such as a smart phone) is programmed to execute a signal processing algorithm that individually generates a customized set of noise cancellation signals precisely for each frequency component that includes the target noise signal or a portion thereof. In the simplest implementation, the frequency domain representation of the noise signal is computed and then time-shifted. For example, the frequency domain representation of the noise signal is shifted by the exact amount required to implement a 180-degree phase shift of that frequency component. Additionally, the frequency domain representation of the noise signal is shifted by the total system offset time, which is defined as the difference between the air propagation time of the signal from the position of the input microphone 14 in Figure 1 to the position of the feedback microphone 26 and the system propagation time (defined as the time required for the signal captured by the input microphone 14 to pass through Figure 1 the circuit shown, be output by the speaker 24, and be received by the feedback microphone 26).

[0077] In other implementations, the frequency domain representation of the noise signal includes multiple noise segments, and the noise segments are individually time-shifted, where each noise segment is associated with a different frequency band. Again, each noise segment is shifted by the exact amount required to implement a 180-degree phase shift of that frequency component and the total system offset time. Amplitude and phase adjustments to each discrete noise segment are also applied to account for the frequency response of the physical components. In this and other implementations, a total system gain or scaling factor may be applied to the output signal. The processed signal is then converted back to an analog time domain signal and output via the speaker 24. For signal processing applications that do not require air transmission, the difference between the corresponding signal path delays will be used to calculate the appropriate system offset time.

[0078] Figure 6The basic concept of the preferred embodiment of the core engine noise elimination algorithm is shown. As shown in the figure, the frequency components of the noise signal sample 40 obtained can be subdivided into different frequency bands. In the current preferred embodiment, for each of the different frequency bands 42, the width of these frequency bands, the amplitude scaling factor to be applied to the frequency in the frequency band, and the additional frequency band specific phase correction can be set differently. In various embodiments, these parameters of the frequency band can be set via a user interface, preset, or dynamically set based on a standard. Then, each frequency band range is further subdivided into frequency bands of selected width. Then, for each frequency band segment, the digital signal processing circuit shifts the phase of the segment by the amount of the selected frequency depending on the segmented noise signal. For example, the selected frequency can be the center frequency of the frequency band segment. Therefore, if a specific frequency band segment extends from 100Hz to 200Hz, the selected center frequency can be 150Hz. In many applications, each frequency in each frequency band will be shifted individually, and also adjusted by the total system offset time, the total system gain, and the frequency band specific phase and amplitude parameters. Frequency band specific parameters may be used to implement specific applications, correct for system component deficiencies, etc.

[0079] By segmenting the input noise signal into a plurality of different frequency segments, the digital signal processing circuit is able to adapt the noise cancellation algorithm to the specific requirements of a given application. This is accomplished by selectively controlling the object of each segment to suit a specific application. As an example, each segment over the entire frequency range of the input noise signal may be very small (e.g., 1 Hz). Alternatively, different parts of the frequency range may be subdivided into larger or smaller segments, thereby using smaller (higher resolution) segments where the most important information content resides or where it is needed for short wavelengths; and using larger (lower resolution) segments at frequencies that carry less information or have longer wavelengths. In some embodiments, the processor not only subdivides the entire frequency range into segments, but also may manipulate the amplitude and / or phase within a given segment differently and individually based on settings in the frequency band range.

[0080] In the case of expecting extremely high noise cancellation accuracy, the noise signal is divided into small segments (e.g., 1 Hz or other size segments) over the entire spectrum or over the full spectrum of the noise signal, as appropriate. This fine-grained segmentation does require significant processing power. Therefore, in applications where lower power, lower cost processors are expected, the core engine noise cancellation algorithm is configured to divide the signal into frequency bands or ranges. The number of frequency bands can be adjusted in the core engine software code to adapt to the needs of the application. If necessary, the digital processor can be programmed to subdivide the acquired noise signal by applying wavelet decomposition to subdivide the acquired noise signal into different frequency band segments, and thereby generate multiple segmented noise signals.

[0081] For each given application, the segment size and how / whether the size will vary across the spectrum is an initial condition of the system, determined by the parameters that define the various frequency ranges. These parameters can be set via the user interface and then stored in the memory 12 ( ) as a preset for each application. Figure 7 )middle.

[0082] Once the noise signal has been segmented according to a segmentation plan established by the digital signal processing circuitry (automatically and / or based on user configuration), phase correction is selectively applied to each segment to produce a segment waveform that will substantially cancel the noise signal within the frequency band of the segment through destructive interference. Specifically, the processing circuitry calculates and applies a frequency-dependent delay time 46, taking into account the frequency of the segment and taking into account any system propagation or delay times. The digital signal processing circuitry may also apply any adjustments required for a particular frequency band due to the phase response of the equipment or environment. Because the frequency-dependent delay time is calculated and applied to each segment individually, the processing circuitry 10 calculates and applies these phase correction values ​​in parallel or very quickly in series. Thereafter, the phase corrected (phase shifted) segmented noise signals are combined at 48 to produce a composite anti-noise signal 50, which is then output into the signal stream to cancel the noise through destructive interference. As shown in FIG. Figure 6 As shown, the anti-noise signal may be introduced into the signal stream via an amplified microphone system or other transducer 24. Alternatively, in certain applications, the anti-noise signal may be introduced into the signal stream using a suitable digital or analog mixing circuit.

[0083] In some embodiments, noise reduction can be further enhanced by using a feedback signal. Figure 6 As shown, the feedback microphone 26 can be positioned within the signal flow, downstream of the location where the anti-noise signal is introduced. In this way, the feedback microphone senses the result of the destructive interference between the noise signal and the anti-noise signal. The feedback signal obtained from the feedback microphone is then supplied to the processing circuit 10 for adjusting the amplitude and / or phase of the anti-noise signal. Generally, Figure 6 The feedback processing is shown at 52 in FIG. The feedback processing 52 includes converting the feedback microphone signal into a suitable digital signal by analog-to-digital conversion, and then using the feedback microphone signal as a reference to adjust the amplitude and / or phase of the anti-noise signal for maximum noise reduction. When the anti-noise signal and the noise signal interfere destructively in an optimal manner, the feedback microphone signal will detect a null value due to the fact that the noise energy and the anti-noise energy optimally cancel each other.

[0084] In one embodiment, the amplitude of the combined anti-noise signal 50 may be adjusted based on the feedback microphone signal. Alternatively, the amplitude and / or phase of each frequency band segment may be adjusted individually. This may be accomplished by comparing the amplitude and phase of the signal stream at the feedback point to the input signal and adjusting the anti-noise and / or frequency band parameters. Alternatively, the frequency content and amplitude of the feedback signal itself may be examined to indicate the required adjustment of the anti-noise parameters, thereby improving the results by making fine-tuning adjustments to the frequency-dependent delay time 46 and amplitude of each segment.

[0085] Determination of frequency-dependent delay time

[0086] The signal processing circuit 10 calculates the frequency dependent time delay of each segment by considering a number of factors. One of these factors is the calculated 180 degree phase shift time associated with a predetermined frequency (eg, segment center frequency) of each individual signal segment.

[0087] Depending on the application and available processing power, this calculation may be done in a calibration mode and stored in a table in memory 12, or continuously recalculated in real time. The exact time delay required to create the appropriate noise immunity for each frequency "f" is calculated by the following formula: (1 / f) / 2. That is:

[0088]

[0089] Where f is the predetermined frequency of the segment (eg, the center frequency).

[0090] Another factor used by the signal processing circuitry is the system skew time, which in turn depends on two factors, air propagation time and system propagation time.

[0091] The third factor is the imperfect frequency response of the system's physical components which can be compensated for.

[0092] In order to generate accurate noise cancellation signal, processing circuit relies on prior knowledge of air sound propagation rate, and this rate is measured as the transit time of signal from input microphone to feedback microphone.As used herein, this transit time is called air propagation time.Processing circuit also relies on prior knowledge of processor 10 and relevant input and output components (for example: 14,16,18,20,22,24) to generate the time (referred to as system propagation time herein) that noise cancellation signal spends.These data are used to ensure that noise cancellation signal is accurately phase matched with noise signal, so that perfect elimination is produced.The speed of noise signal propagation through air depends on various physical factors, such as air temperature, pressure, density and humidity.In various embodiments, processor calculation time and circuit throughput time depend on the speed of processor, the speed of bus accessing memory 12, and the signal delay by input / output circuit associated with processor 10.

[0093] In a preferred embodiment, during a calibration mode, these air and system propagation times are measured and stored in memory 12. The calibration mode may be manually requested by a user via a user interface, or the processor 10 may be programmed to automatically perform calibration periodically or in response to measured air temperature, pressure, density, and humidity conditions.

[0094] Thus, the preferred embodiment measures the air travel time from when a noise signal is detected at the input microphone 14 until when the noise signal is later detected at the feedback microphone 26. Depending on the application, the two microphones may be permanently spaced a fixed distance apart (such as at Figure 2 The time delay due to the time it takes for the input signal to be processed, output to the speaker system 24 (24a), and received at the feedback microphone 26 corresponds to the system propagation time.

[0095] Once the air propagation time and the system propagation time are measured and stored in the calibration mode, the signal processing circuit 10 calculates the system offset time as the arithmetic difference between the air propagation time and the system propagation time. This difference calculation may also be calculated in real time or stored in the memory 12. In some fixed applications (such as headphones), an on-board calibration mode may not be required because the calibration can be performed on the production line or established based on the known fixed geometry of the headphones. The system offset time can be stored as a constant (or dynamically calculated in some applications) for use in the noise reduction calculations described herein.

[0096] For each discrete frequency segment to be processed, an anti-noise signal is created by delaying the processed signal by a time equal to the absolute value of the following: the 180 degree phase shift time of the discrete frequency segment minus the system offset time. This value is referred to as the application time delay in this article. In various specific implementations of the algorithm, the application time delay for each frequency segment can be stored in a table or calculated continuously. For embodiments that utilize frequency bands, additional phase correction and amplitude scaling suitable for each frequency band will also be applied.

[0097] Figure 7 The manner in which the signal processing circuitry can be programmed to implement the core engine noise cancellation algorithm is shown in greater detail. The programming process begins with a series of steps to populate a set of data structures 59 within the memory 12, where the parameters used by the algorithm are stored for access as needed. Fig.10 Further details of the core engine process are discussed.

[0098] refer to Figure 7, first a record containing the selected block size is stored in a data structure 59. The block size is the length of the time slice to be processed in each iteration performed by the core engine, as represented by the number of samples to be processed as a data group or "block". The block size is primarily based on the application (frequency range to be processed and required resolution), system propagation time, and propagation time between input and output of a noisy signal transmitted over the air or otherwise (processing must be completed and anti-noise injected into the signal stream before the original signal passes through the anti-noise output point). In some embodiments, applications, or signal processing schemes, a "block" may also be a single sample.

[0099] For example, for an airborne system that processes the entire audio spectrum, the distance between the input and output microphones is 5.0", the sampling rate is 48kHz, and the system propagation time is 0.2ms; a block size of 16 would be appropriate (at a 48kHz sampling rate, 16 samples are equivalent in time to approximately 0.3333ms; and at standard temperature and pressure, sound travels approximately 4.5" through the air during that amount of time). By limiting system calls and state changes to once per block, processor operations can be optimized for efficiently processing the desired block size.

[0100] This block size record is typically stored at the beginning when the noise cancellation device is configured for a given application. In most cases, it is not necessary or desirable to change the block size record while the core engine noise cancellation algorithm is running. The block size can also be specified indirectly by selecting the target frequency resolution of the system at a defined sampling rate.

[0101] The frequency band ranges, the segment sizes within each frequency band range and the output scaling factors for each frequency band are set as initial conditions depending on the application and stored in a data structure 59. These parameters may be set in a user interface, included in the system as presets, or calculated dynamically.

[0102] Next, at 62, the processing circuit measures the system propagation time corresponding to the time consumed by the processing circuit and its associated input and output circuits to perform the noise reduction process and stores it in the data structure 59. This is accomplished by operating the processing circuit in a calibration mode, as described below, in which a noise signal is supplied to the processing circuit, which acts on the noise signal to generate and output an anti-noise signal. The time elapsed between the input of the noise signal until the output of the anti-noise signal represents the system propagation time. This value is stored in the data structure 59.

[0103] In addition, at 64, the processing circuit measures the air propagation time and stores it in the data structure 59. This operation is also performed by the processing circuit in the calibration mode discussed below. In this case, the processing circuit is switched to a mode in which it does not generate any output. The elapsed time between receiving the signal at the input microphone and receiving the signal at the feedback microphone is measured and stored as the air propagation time.

[0104] Next, at 66, the processing circuitry calculates the system offset time, which is defined as the air propagation time minus the system propagation time, and stores it in the data structure 59. This value is needed later when the processing circuitry calculates the application delay time.

[0105] With the aforementioned calibration parameters thus calculated and stored, the core engine noise cancellation algorithm can now perform segment specific pre-calculations (alternatively, these calculations can be performed in real time if sufficient processing power is available). In some embodiments, the frequency band settings (width of the frequency band, segment size within the frequency band, frequency band specific phase correction and frequency band specific amplitude scaling) are also stored in the memory 12.

[0106] As shown, step 68 and subsequent steps 70 and 72 are performed in parallel (or fast serially) for each segment, depending on the band setting. If there are 1000 segments for a given application, steps 68-70 are performed 1000 times, preferably in parallel, and the data is stored in data structure 59.

[0107] At step 70, the 180 degree phase shift time is then adjusted by subtracting the previously stored system offset time for each segment. The processor circuit calculates and stores the absolute value of this value as the applied delay time, which is therefore a positive number, thereby indicating the amount of phase shift to be applied to the corresponding segment. Note that if the frequency band requires additional adjustments (in addition to accounting for air propagation time and system propagation time) due to the phase performance characteristics of the transducer (microphone, speaker, etc.), the environment, or other factors, then this additional time and / or amplitude adjustment will also be made at step 70.

[0108] The core engine uses this stored data to process the frequency bins faster (by applying the pre-calculated time shifts for all frequency bins in advance). At step 72, the processor circuit performs a phase shift of the segment noise signal by time shifting the segment noise signal by the amount stored as the applied delay time for that segment. In addition, if the segment noise signal is time shifted according to the frequency range setting or feedback processing 52 ( Figure 6 ) requires an amplitude adjustment (or a fine phase adjustment), then that adjustment is applied here as well (in some embodiments, both phase shift and amplitude adjustment can be applied simultaneously by storing the information as a vector). Depending on the system architecture, all segments are processed in parallel or in rapid serial.

[0109] Once all segments of a particular block have been properly adjusted, at 74 the processing circuitry then recombines all of the processed segments to generate a noise-resistant waveform for output into the signal stream.

[0110] To further understand the process performed by the processing circuit, now refer to Figure 8 , which gives a more physical representation of how to process a noise signal. Starting at step 80, a noise signal 82 is acquired. Figure 8 In , the noise signal is plotted as a time-varying signal consisting of many different frequency components or harmonics.

[0111] At step 84, according to the combination Figure 7 The parameters 59 discussed above subdivide the block of the noise signal spectrum into segments 86. For the purpose of illustration, Figure 7 It is assumed that the time-varying noise signal 82 has been expressed in the frequency domain, where the lowest frequency components are assigned to the far left of the spectrum graph 86, and the highest frequency components or harmonics are assigned to the far right of the spectrum graph. For example, the spectrum graph 86 may span from 20 Hz to 20,000 Hz, covering the entire generally accepted human hearing range. Of course, the spectrum may be assigned differently depending on the application.

[0112] It should be appreciated that although the noise signal has been represented in the frequency domain in the spectrum 86, the noise signal is inherently a time-varying signal. Therefore, the amount of energy in each frequency domain bin will fluctuate over time. To illustrate this fluctuation, a waterfall graph 88 is also depicted, showing how the energy within each frequency bin may vary along the vertical axis as time flows.

[0113] As at step 90, for each segment individually, a frequency-dependent phase shift is applied (i.e., a delay time is applied). To illustrate this, waveform 92 represents the noise frequency within the segment before the shift. Waveform 94 represents the same noise frequency after the system offset time has been applied. Finally, waveform 96 represents the resulting noise frequency after the 180 degree phase shift time has been applied (note that this is for illustration purposes only—in actual processing, only the delay time is applied, which is the absolute value of the 180 degree phase shift time minus the system offset time, and any required band-specific phase correction). For this illustration, it is also assumed that no amplitude scaling is required for the segment being processed.

[0114] By combining the time-shifted components from each segment at step 98, an anti-noise signal 100 is constructed. When the anti-noise signal is output into the signal stream, as at step 102, the anti-noise signal 100 is mixed with the original noise signal 104, causing the two to destructively interfere, thereby effectively canceling or subtracting the noise signal. What remains is any information-bearing signal 108 that can be retrieved at step 106.

[0115] Calibration Mode

[0116] Fig. 9 It is shown how the processing circuit 10, input microphone 14, amplifying loudspeaker 24 and feedback microphone 26 may be utilized to achieve calibration by selectively enabling and disabling the core engine algorithm when taking measurements.

[0117] In the current preferred embodiment, the air travel time is calculated when the core engine anti-noise system and output are disabled. In this state, the air travel time is calculated as the time difference between when the input noise is captured at the input microphone 14 input and when the noise is captured at the feedback microphone 26. The system travel time is measured when the core engine anti-noise system is enabled. The same input is introduced into the input microphone 14 again. This time, it is processed by the core engine and output via the speaker (e.g., loudspeaker system 24 or other suitable calibration speakers or transducers) placed before the feedback microphone 26. When the input signal is processed in the core engine, its frequency can be changed so that the output pulse will be distinguished from the input pulse noise (or the timing / phase of the two signals can be used to distinguish the system output from the original noise). The signals generated in the air and the system will arrive at the feedback microphone. Then, the system travel time can be calculated according to the time when the input pulse signal arrives at the feedback microphone and the time when the output signal arrives at the feedback microphone.

[0118] Note that this calibration mode can actually eliminate the significant engineering time required to "tune" the system to account for small variations between microphones used or the physical geometry of a noise canceling headphone or earbud system. This can result in significant product development cost savings. The calibration mode also addresses the physical challenges of tuning separate sets on a production line due to individual component production tolerances and variations (especially in microphones) by providing an automated method for initial tuning. This is another significant cost savings in production.

[0119] Using the system offset time, the processor calculates the specific segment time delay that will be applied to each segment to create the precise noise immunity required for that segment. To calculate the precise segment time delay, the processor determines the time required to produce a 180 degree phase shift in the center frequency of a specific frequency segment and adjusts that time by the system offset time. Specifically, the segment time delay is calculated as the absolute value of the 180 degree phase shift time minus the system offset time. Any band specific phase corrections may also be applied at this step.

[0120] After calculating all the anti-noise segment time delays, the digital signal of each segment is then time delayed by the calculated amount of that segment, and all the anti-noise segments so generated are then assembled into a single anti-noise signal, which is then output (such as to a speaker system).

[0121] In embodiments employing a feedback microphone or other source of feedback signal, the processor 10 compares the feedback microphone input signal to the input microphone input signal in terms of phase and amplitude. The processor uses the phase comparison to adjust the application delay time, and uses the anti-noise amplitude to adjust the amplitude of the generated noise cancellation signal. When adjusting the amplitude, the processor can manipulate the amplitude of each segment in the frequency band range individually (and thus effectively control the amplitude of each segment). Alternatively, the frequency content and amplitude of the feedback signal itself can be used to determine the necessary adjustments to the amplitude and phase of each segment.

[0122] Core engine process details

[0123] Reference now Fig.10 , details how the signal processing circuit 10 implements the core engine process. Specifically, Fig.10 The software architecture implemented by the signal processing circuitry in the preferred embodiment is described in detail. The user can interact with the processor running the core engine process in a variety of ways. If desired, as at 120, the user can initiate a configuration mode for the muffler device. By doing so, the user can also optionally configure the frequency bands and corresponding segment widths, frequency band specific phase and amplitude corrections, and noise threshold gate parameters (part of data structure 59 (see also Figure 7 )). The block size can also be set as a user interface parameter.

[0124] Alternatively, as at 132, the user can simply turn on the muffler device. In doing so, as at 134, the user can command the core engine process to calibrate the device. The calibration process causes the core engine software 124 to implement the calibration process by calling the calibration engine 126 (a part of the core engine software 124 running on the signal processing circuit), performing the calibration process detailed above, thereby filling the data structure 59 with air propagation time, system propagation time and other calculation parameters. These stored parameters are then used by the anti-noise generation engine 128 (also forming a part of the core engine software 124). As shown, as at 130, the anti-noise generation engine 128 supplies a signal to the loudspeaker, which then introduces the anti-noise signal into the signal stream.

[0125] As at 136, whether it is needed during use as part of a calibration process or as part of a noise reduction process, the core engine inputs signals from the input microphone and the feedback microphone. For noise reduction during use, the user commands the device to suppress noise via the user interface, as at 138. As shown, this causes the anti-noise signal to be introduced into the signal stream (e.g., air 140). As at 142, if white noise or pink noise is used, white noise or pink noise can also be introduced into the signal stream.

[0126] To further illustrate how the signal processing circuit running the core engine algorithm operates on exemplary input data, reference is made to the following table (which assumes, for simplicity, that no frequency band specific correction is required). In the following table, exemplary user defined frequency ranges are specified. As can be seen, the application time delay can be represented as a floating point number corresponding to the delay time in seconds. As shown in the data, typical application time delays can be very small, yet each application time delay is accurately calculated for each given frequency segment.

[0127]

[0128]

[0129] The Core Engine Noise Cancellation algorithm achieves superior results for frequencies above 2,000 Hz compared to conventional noise cancellation techniques, and helps achieve good results across the entire audio spectrum (up to 20,000 Hz) and higher (assuming sufficient processing speed). Currently utilized conventional techniques are only reasonably effective up to about 2,000 Hz, and are essentially ineffective above 3,000 Hz.

[0130] Frequency resolution improvements

[0131] Zero padding is a technique that improves frequency resolution by adding zeros to a signal. However, this method generates noise because the signal becomes severely distorted. Another aspect of the present invention proposes applying zero padding to each data sample from a noisy signal, thereby achieving better frequency resolution while maintaining good time domain resolution. This technique is generally superior to Fig.23 Give a description.

[0132] First, at 201, a digitized noise signal is obtained from an environment in which an audio signal stream exists. Each data sample from the digitized noise signal is processed to improve frequency resolution. Specifically, at 203, one or more additional samples are appended to a given data sample to form a series of samples, wherein the magnitude of each of the one or more samples is substantially zero. Frequency resolution increases with more zeros added to the data sample. For a noise signal sampled at 48kHz, adding fifteen zeros to the data sample achieves a frequency resolution of 3000Hz; while adding 159 zeros to the data sample achieves a frequency resolution of 300Hz. In this way, the number of additional zeros depends on the desired frequency resolution. It should be understood that the number of zeros added to a given data sample may vary depending on the application.

[0133] The remainder of the noise reduction method is performed as described above. That is, at 204, a frequency domain representation of a series of samples in the frequency domain is calculated. In one example, although the present disclosure contemplates other methods, at 205, the series of samples is converted to the frequency domain using a fast Fourier transform method. At 206, in the frequency domain, the frequency domain representation of the series of samples is shifted in time. The frequency domain representation is shifted by a certain amount of time, which takes into account the propagation time associated with the noise signal and the system propagation time associated with the throughput speed of the digital processor circuit and any associated equipment. In one embodiment, the frequency domain representation is shifted by the same amount of time on all frequencies. In another embodiment, the frequency domain representation is segmented into a plurality of noise segments, wherein each noise segment is associated with different frequency ranges, and one or more noise segments are shifted individually. In this case, the amount of time that a noise segment is shifted can be different between a plurality of noise segments.

[0134] Next, at 206, the shifted frequency domain representation is converted back to the time domain and a composite anti-noise signal is thereby formed. The composite anti-noise signal is then output into the audio signal stream at 207 to cancel the noise by destructive interference.

[0135] FIG. 24A to FIG. 24C Further described are exemplary embodiments of a noise reduction method with improved frequency resolution. Fig.24A A portion of a noise signal in the time domain is shown in FIG. 1. The method reduces computation time and computational load by computing the unit impulse response of the system and storing it. The unit impulses (i.e., impulse responses of magnitude one) are padded with a predetermined number of zeros. As described above, the number of additional zeros depends on the desired frequency resolution. For illustrative purposes, the unit impulses are padded with 15 zeros to form a signal such as Fig. 24B A series of samples are shown.

[0136] Next, a Fourier transform of the impulse response is performed, and all of the core engine's global and band-specific parameter settings are applied, effectively shifting each frequency component represented by the impulse response appropriately based on the core engine parameters. An inverse Fourier transform is then applied to the impulse response, creating a series of amplitude values ​​that represent the zero-padded and shifted impulse response. This allows us to compute the anti-noise for any sample by simply multiplying the amplitude of each sample by each value of the shifted impulse response and adding them together (as described below), rather than applying a fast Fourier transform to every sample of the target noise signal (which is computationally intensive and time consuming).

[0137] To illustrate this technique, a numerical example is given below. A unit pulse padded with 15 zeros is as follows:

[0138] 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

[0139] The following results are obtained by applying Fourier transform to the filled unit pulse.

[0140] 1+0j 1+0j 1+0j 1+0j 1+0j 1+0j 1+0j 1+0j 1+0j 1+0j 1+0j 1+0j 1+0j 1+0j 1+0j 1+0j

[0141] In the above table, each sinusoid has an amplitude of 1 and an initial phase of 0. Assuming a sampling rate of 48kHz, the frequencies of the sinusoids in KHz are shown in the following table:

[0142] 0 3 6 9 12 15 18 21 24 21 18 15 12 9 6 3

[0143] Then, for each frequency component, an applicable time shift is performed. Fig.24C A numerical example is shown in the table shown. In this example, different frequency components are shown in column 1. The suppression factor (SF) is measured in calibration mode or set by the user for each individual frequency band to solve the uneven frequency response of air, microphones, speakers and other devices. Column 2 in the table shows the suppression factor value for each specific frequency measured during the calibration process. The total required phase shift for each frequency component consists of four components. First, the system offset time (SOT) is constant for all sinusoids; in this example, it is 10 microseconds. Second, the phase shift of each specific sinusoid is different because the corresponding frequency is different. As shown in column 4, the offset is called the system offset phase (SOP), which can be obtained in radians by the following formula: SOP==2x PI x frequency x (SOT / 1000000). Third, devices like microphones, sound cards, speakers and wires have their own phase responses for different frequencies, which are obtained from their Bode diagrams. Together with SOP, it is necessary to apply a band-specific phase correction (PC) for each frequency. The phase correction (PC) value is determined during the calibration process or set empirically. Fourth, a half wave shift, which is equal to 180 degrees or π radians for any frequency, is used to invert the noise signal. The total phase shift for each frequency is shown in column 7. Then, by shifting the noise signal amplitude and phase by the values ​​seen in column 8, a noise-resistant sinusoidal curve is obtained.

[0144] To return to the time domain, Fig.24C Apply the inverse Fourier transform to the values ​​in column 8 of the table in . This time domain signal is called the unit impulse response of the system, where an example is Fig.24D The values ​​of the unit impulse response are described in the table below.

[0145] -0..59 0.45 -0.32 0.1 .0.02 .0.2 0.05 .0.17 0.07 .0.23 0.14 .0.19 0.04 .0.16 0.09 .0.07

[0146] These values ​​are for illustration only. The unit impulse response of the system is stored for subsequent use in active noise cancellation.

[0147] During active noise cancellation, the stored unit impulse response can be used to construct the anti-noise signal without performing computationally expensive conversions to and from the frequency domain. In this exemplary embodiment, each data sample from the noise signal is multiplied by the stored unit impulse response. Continuing with the example above, the values ​​of the data samples are provided in the following table.

[0148] 0.5 0.49 0.4 0.2 0.38 0.1 -0.2 -0.19 -0.5 . . .

[0149] Multiplying the first value (0.5 in this example) by the unit impulse response produces the following result:

[0150] -0.3 0.225 -0.16 0.05 -0.01 -0.1 0.025 -0.09 0.035 -0.115 0.07 -0.1 0.02 -0.08 0.045 -0.04

[0151] Similarly, multiplying the second value (0.49 in this example) by the unit impulse response produces the following:

[0152] -0.29 0.221 -0.16 0.049 -0.01 -0.1 0.025 -0.08 0.034 -0.1127 0.069 -0.09 0.02 -0.08 0.044 -0.03

[0153] For each data sample, we will continue to get Fig.25 The table shown. The values ​​in each row are added together with the sum shown in the corresponding column of the bottom row. Therefore, the bottom row of the table represents the anti-noise signal in the digital domain. In this example, each data sample is padded with fifteen zeros so that the first fifteen results will be inaccurate. Starting from the sixteenth column in the table (i.e., the value 0.269), the sum forms the amplitude of each sample of the anti-noise signal with the appropriate delay time and amplitude scaling applied. The simple multiplication and addition operations of this method are faster than converting each sample to and from the frequency domain.

[0154] Although the zero padding technique is described in the context of noise cancellation, it should be understood that the technique can be applied to other signal processing methods that require improved frequency resolution while maintaining resolution in the time domain. The signal can then be converted back to the time domain and output (as described above) to subtract the original noise signal.

[0155] Implementation options for different use cases

[0156] The basic technology disclosed above can be used for a variety of different purposes. Some of these use cases are described below.

[0157] Airborne Muffler System (Audio) Implementation Plan

[0158] The air silencer system can be Figure 1 As shown and implemented as described above. Several different embodiments are possible. These include low power, single unit systems that are optimized for providing a personal quiet zone. Fig.11 As shown, Figure 1The components depicted in are mounted in a desktop or table top box containing an amplified speaker that is pointed toward the user. Note that the feedback microphone 26 is disposed within the sound field of the speaker. This can be a fixed configuration, or a removable extension arm can be used that also serves as a microphone stand to allow the user to place the feedback microphone closer to the user. Another possible embodiment is to encode the muffler system into a smartphone or add it as a smartphone app. In this embodiment, the phone's built-in microphone and speaker and the microphone from a headset can be used to create the system.

[0159] Fig.12 An alternative embodiment is shown, in which Figure 1 The components are deployed in a mounting frame suitable for fitting within a room window, which is shown at W. In this embodiment, the input microphone 14 captures sound from outside the window, and the amplified speaker 24 introduces anti-noise audio into the room. The feedback microphone can be located on an extension arm, or conveniently placed near the user. If desired, the feedback microphone can communicate wirelessly with the processing circuit 10 using Bluetooth or other wireless protocols. In this embodiment, due to the way walls and windows affect the raw noise, amplitude adjustments for the various frequency band ranges determined in the calibration model will likely be important (as in a headphone embodiment).

[0160] Fig.13 Another embodiment is shown, wherein Figure 1 The components are deployed in a plenum-mounted package suitable for fitting in an air duct of an HVAC system or in a duct of a fan system (e.g., a bathroom ceiling fan, a kitchen ventilation fan, an industrial ventilation fan, etc.). In this embodiment, the sound generated by the HVAC system or the fan system is sampled by an input microphone 14, and the anti-noise signal is injected into the air duct system. In this embodiment, if necessary, several speaker systems can be deployed at the ventilation registers of the entire home or building so that the HVAC or fan system noise is further reduced at each location. This multi-speaker embodiment can use a separate feedback microphone 26 (such as near each air register) in each room. The processing circuit 10 can supply the amplifier volume control signal to each amplified speaker separately to customize the sound pressure level of the anti-noise signal for each room. A room closer to the blower generating the noise may require a higher amplification of the anti-noise signal than a room located farther away. Alternatively, a separate device can be installed in a separate air register to provide location-specific control.

[0161] The second category of aerial muffler equipment includes high-power, multi-unit systems designed to reduce noise from high-energy sources. These include systems for reducing noise generated at construction sites, noise generated along busy streets or highways, and noise generated by nearby airports. These same high-power, multi-unit systems can also be used for noise reduction around schools and stadiums. In addition, high-power, multi-unit systems can be used to reduce road noise in vehicle cabins (e.g., cars, trucks, ships, airplanes, etc.).

[0162] Fig.14 An exemplary high power, multi-unit system for highway noise reduction is shown. Figure 1 Individual muffler devices implemented as shown are positioned so that they intercept road noise using their respective input microphones 14 and inject anti-noise audio energy into the environment so that the road noise is cancelled by destructive interference at the sub-district located a distance away. Alternatively, the muffler devices may be located directly in the yard of the home to provide more direct coverage.

[0163] In a highway noise reduction embodiment, the individual muffler devices are preferably mounted on a vertical stand or other suitable structure so that the speakers are sufficiently above the heads of anyone standing nearby. The feedback microphone 26 can be placed at a considerable distance from the muffler device, using WiFi communications or other wireless communication protocols to send feedback information to the processing circuit.

[0164] In addition, if desired, individual muffler devices may be wirelessly combined in a network such as a mesh network or a local area network, thereby allowing the muffler devices to share information about local sound input signals and feedback signals obtained by each muffler device unit. In the case of highway noise, large noise sources may be tracked by the input microphones of the corresponding muffler devices. Thus, a collective system of muffler devices, such as a semi-truck air brake, or a motorcycle with an ineffective muffler motor along a section of noise-protected highway, may communicate with each other and adapt their respective anti-noise signals to enhance the effect that would otherwise be achieved using individual input microphones and feedback microphones. This achieves a form of diversity noise cancellation that is made possible by the use of two different mathematically orthogonal sources of information: (a) a feedback microphone source and (b) a collective input microphone shared via a mesh network or a local area network.

[0165] Fig.15It shows how a high power, multi-unit system can be deployed in a vehicle (such as a motor vehicle). Multiple input microphones are placed at noise input locations in the cabin. These input data are either processed individually using multiple cores of a multi-core processor 10 or using multiple processors 10 (shown here as icons on the car infotainment screen, indicating that the system is factory installed and embedded in the car electronics). Because each input signal is processed individually, it is not necessary to segment each signal in the same way. In fact, each different type of noise signal will typically have its own noise characteristics (for example, tire noise is very different from muffler noise). Therefore, each input signal is segmented in a manner that best suits the spectrum and sound pressure level at each different noise location to provide the desired results at each passenger position.

[0166] Although dedicated anti-noise speakers can be used in the cabin of the vehicle, sound systems already present in the vehicle can also be used. Therefore, in the embodiment shown, the processing circuit 10 supplies stereo or alternatively supplies surround sound audio signals mixed with audio from the in-cabin entertainment system. Mixing can be performed in the digital or audio domain. However, in either case, the processing circuit 10 receives a data signal that supplies information about what volume level the user has selected for the entertainment system to the processing circuit. The processor uses this information to adjust the volume of the anti-noise signal so that it will correctly offset the noise source, regardless of what volume level the user has selected for the entertainment system. Therefore, when the user turns up the entertainment volume level, the processing circuit 10 reduces the anti-noise signal injected into the mixer to compensate. The processor is programmed to ensure that the correct anti-noise sound pressure level is generated in the cabin, regardless of how the user sets the entertainment audio level.

[0167] Another type of airborne silencer system provides the opposite airborne functionality. In this type of system, the silencer system is configured in reverse to create a "cone of silence" that allows private conversations to occur openly without others being able to clearly hear what is being said. Fig.16 As shown, the muffler device is deployed with one or more outward-facing speakers. The input microphone is set at the center of the speaker arrangement, thereby placing the person having a private conversation on the "noise input" side of the audio stream. In this embodiment, the feedback microphone 26 is deployed at a location where a third-party listener (uninvited listener) cannot easily block these microphones and thus change the anti-noise signal being generated to cancel the conversation.

[0168] Telecom microphones, telecom headsets and personal headphones / earbuds (audio)

[0169] Telecom / headset systems can be Figure 2 As shown and implemented as described above. Several different implementations are possible.

[0170] Fig.17 One such embodiment shown is a smartphone handheld application where the input microphone is on the back of the smartphone, the speaker is the smartphone's receiver speaker, the core engine is implemented using the smartphone's processor, and no feedback microphone is used (due to fixed geometry). In this embodiment, the same anti-noise can be added to the microphone transmission. Alternatives to this embodiment include a passive headset plugged into a microphone / headphone jack, headphone connector, etc. In order for this alternative embodiment to be effective, the microphone on the phone would need to be exposed to ambient noise, rather than in a pocket, purse, or backpack.

[0171] Another consumer-level implementation would be a noise canceling headset, earphone, or earbud, where the core engine processing is performed using a processor and input microphone included as part of the headset, earphone, or earbud, such as Fig.18 In this embodiment (as described above), for lower cost / performance products, a common processor may be used for both ears of a stereo system, and for higher cost / performance products, a separate processor may be utilized for each ear.

[0172] Commercial and military grade products will likely utilize faster processors, individual processing for each earphone, and a separate processor for microphone noise cancellation. For the most critical applications, additional input microphones will be used to capture severe ambient noise (due to stadium crowds, wind, vehicles, ordnance, etc.) and the microphone core engine processor will be very close to the actual transmitting microphone, such as Fig.19 Similarly, sports broadcasters will enjoy a smaller, lighter weight, less obtrusive, more “camera-friendly” headset design.

[0173] Offline signal processing (audio)

[0174] Offline signal processing systems can be Figure 3 In this embodiment, the core engine can be a "plug-in" to another editing or processing software system, incorporated into another signal processor, or as a stand-alone device, such as Fig. 20As shown. If the characteristics of the noise to be removed (or alternatively, the characteristics of the signal to be passed in an unknown noise environment: excluding those frequencies from the band range setting, and setting the amplitude scaling factor to 1 for frequencies not included in the band range definition will only allow those frequencies to pass), the system parameters can be set manually (or via pre-settings) to effectively remove the noise and pass the target signal. Alternatively, the calibration mode can be used to analyze the noise of the "pre-roll" section to determine the appropriate anti-noise settings. Use cases for this embodiment include removing noise from old recordings, reducing noise in "live" situations without adversely affecting the quality of voice announcers, removing noise from surveillance recordings, enhancing audio on surveillance recordings, etc.

[0175] Encryption / decryption (audio band or more)

[0176] The encryption / decryption system can be Figure 4 The primary use case here is to transmit private information by implicitly encoding it into a narrow segment of a broadband transmission or noise signal in a way that does not meaningfully affect the broadband signal. Another use case for this embodiment is to include additional data or information on the broadband transmission. Fig.21 As shown, the encryption "key" will include frequency and amplitude information for "carving out" discrete "channels" in the broadband signal, which will not substantially affect the broadband content (such as white noise). The encoded signal will be placed on a "carrier" of the appropriate frequency via modulation, so when the "carrier" is added to the broadband content, it will appear "normal" to the observer. The "decryption" key will specify the amplitude and frequency settings of the frequency band range, which will result in the elimination of all information except those "carriers", which can then be demodulated and decoded. It is expected that this will most often be achieved by excluding the "carrier" frequencies from the band definition and setting the default amplitude from the excluded frequencies to 0. The "carrier" signal preservation can be further enhanced by appropriately scaling the amplitude of the anti-noise generated in the vicinity of the "carrier" frequency (as part of the "decryption key" definition).

[0177] In an alternative embodiment, the encryption / decryption system can eliminate the step of "carving out" discrete channels in the broadband signal. Instead, these discrete channels are simply identified by the processor based on private a priori knowledge of which parts of the spectrum to select. This a priori knowledge of these selected channels is stored in a memory accessed by the processor and is also made known to the intended message recipient in a secret or private manner. The message to be sent is then modulated onto a suitable carrier that places the message in these discrete channels, but mixed with the noise signal that is already present. The entire broadband signal (including the discrete channels masked by the noise) is then transmitted. Upon reception, the broadband signal is processed on the decoding side using a processor that is programmed to subdivide the broadband signal into segments, identify the discrete channels that carry the message (based on a priori knowledge of the channel frequencies), and perform noise reduction on the message-bearing channels.

[0178] Signal characterization, detection or reception enhancement (audio bands and more)

[0179] Signal feature recognition, detection or reception enhancement can be as follows Figure 5 This embodiment of the core engine facilitates the identification, detection or enhancement of specific types of transmissions or device signatures in a noise field. Fig. 22 The possibility of identifying or detecting various features in a single noise or data transmission field by examining the field using multiple examples of the core engine is shown. Unlike other embodiments in which a microphone is used to capture an input noise signal, in this embodiment, the noise generated by a specific device is captured over a predetermined period of time and then the captured data is processed by calculating a moving average or other statistical smoothing operation to generate a noise signature of the device. Depending on the nature of the device, the noise signature may be an audio frequency signature (e.g., representing the sound of a blower motor fan), or it may be an electromagnetic frequency signature (e.g., representing radio frequency interference generated by a rectifier motor or an electronic switching motor). Thereafter, the noise signature of the device is used to generate an anti-noise signal. The noise signature generated in this manner may be stored in a memory (or stored in a database for access by other systems) and accessed by a signal processing circuit when necessary to reduce the noise of a specific device or class of devices.

[0180] In addition to noise reduction that can be used for specific devices, the database of stored noise signatures can also be used to identify devices by the characteristics of the noise they produce, which is achieved by setting the core engine to only pass those characteristics. One use case is to enable power companies to detect the power supply of non-smart grid products to help predict the grid load caused by traditional products (HVAC systems, refrigerators, etc.). Another use case is to detect or enhance long-range or weak electromagnetic communications of known characteristics. Alternatively, the frequency and amplitude parameters of the frequency band range can be set to detect interference in the transmission or noise field associated with specific events, such as: electromagnetic interference that may be caused by unmanned drones or other objects passing through the transmission or noise field, activation of surveillance or counter-surveillance equipment, tampering with the transmission or field source, celestial or terrestrial events, etc.

[0181] For the purpose of illustration and description, the above description of the embodiment has been provided. It is not intended to be exhaustive or limit the present disclosure. Each element or feature of a particular embodiment is generally not limited to the particular embodiment, but is interchangeable where applicable and can be used in a selected embodiment, even if not specifically shown or described. It can also be changed in many ways. Such changes should not be considered to be out of the present disclosure, and all such modifications are intended to be included in the scope of the present disclosure.

Claims

1. A method of performing noise reduction in an audio signal stream containing an unwanted signal, called a noise signal, include: acquiring a digitized noise signal from an environment in which the audio signal stream exists, wherein the digitized noise signal comprises a plurality of data samples; receiving the digitized noise signal by a digital processor circuit; for each data sample in the plurality of data samples, appending, by the digital processor circuit, one or more data to each data sample to form a data set, wherein a magnitude of each of the one or more data is zero; calculating, by the digital processor circuit, a frequency domain representation of the data set in the frequency domain; shifting the frequency domain representation of the data set in time using the digital processor circuit, thereby producing a shifted frequency domain representation of the data set; converting the shifted frequency domain representation of the data set to the time domain to form a portion of a noise-resistant signal; as well as The anti-noise signal is output into the audio signal stream to cancel the noise by destructive interference. 2 . The method of claim 1 , wherein the number of one or more data appended to the data samples depends on a desired frequency resolution of the anti-noise signal.

3. The method of claim 1 , wherein shifting the frequency domain representation of the data set in time and converting the shifted frequency domain representation to the time domain further comprises calculating a Fourier transform of an impulse having a magnitude of one, shifting an impulse response in the frequency domain, calculating an inverse Fourier transform of the shifted impulse response, and multiplying the magnitude of the data sample by the magnitude of the shifted impulse response in the time domain.

4. The method of claim 3, further comprising appending zeros to the pulses prior to calculating the Fourier transform.

5. The method of claim 3, further comprising shifting the impulse response by an amount of time that accounts for both a propagation time associated with the noise signal and a system propagation time associated with a throughput speed of the digital processor circuit and any associated equipment.

6. The method of claim 3, further comprising calculating and storing the impulse response before acquiring the digitized noise signal.

7. The method of claim 1, further comprising using a Fast Fourier Transform method to calculate the frequency domain representation; and using an Inverse Fast Fourier Transform method to convert the shifted frequency domain representation of the data set to the time domain.

8. The method of claim 1 further comprising shifting the frequency domain representation by an amount of time that is dependent upon a selected frequency in the frequency domain representation and that takes into account both a propagation time associated with the noise signal and a system propagation time associated with a throughput speed of the digital processor circuit and any associated equipment.

9. The method of claim 8, further comprising shifting the frequency domain representation by an amount corresponding to a phase shift time calculated as half the inverse of the selected frequency.

10. The method of claim 1, further comprising amplitude scaling the shifted frequency domain representation of the data set before converting the frequency domain representation to the time domain.

11. The method of claim 1 , further comprising individually shifting one or more noise segments in the frequency domain representation, wherein the frequency domain representation comprises a plurality of noise segments, and each noise segment of the plurality of noise segments is associated with a different frequency band.

12. The method of claim 1, further comprising converting the anti-noise signal into an analog signal and outputting the anti-noise signal into the audio signal stream by mixing the anti-noise signal with the audio signal stream.

13. The method of claim 12, further comprising mixing the anti-noise signal with the audio signal stream by using an amplifying microphone or other transducer disposed within the audio signal stream.

14. The method of claim 1, further comprising capturing the noise signal contained within the audio signal stream using at least one microphone coupled to an analog-to-digital converter to produce the acquired digitized noise signal.

15. The method according to claim 1, further comprising: include: After outputting the anti-noise signal to the audio signal stream, acquiring a feedback signal by sampling the audio signal stream; as well as The feedback signal is processed using the digital processor circuit to adjust the amplitude or phase of the anti-noise signal to enhance attenuation of the noise signal.

16. A method of performing noise reduction in an audio signal stream containing an unwanted signal, called a noise signal, include: acquiring a digitized noise signal from an environment in which the audio signal stream exists, wherein the digitized noise signal comprises a plurality of data samples; receiving the digitized noise signal by a digital processor circuit; for each data sample in the plurality of data samples, appending, by the digital processor circuit, one or more data to each data sample to form a data set, wherein a magnitude of each of the one or more data is zero; calculating, by the digital processor circuit, a frequency domain representation of the data set in the frequency domain, wherein the frequency domain representation comprises a plurality of noise segments, and each noise segment of the plurality of noise segments is associated with a different frequency band; using the digital processor circuit to individually shift one or more noise segments in time; combining the plurality of noise segments to form a composite anti-noise signal; as well as The composite anti-noise signal is output into the audio signal stream to cancel the noise by destructive interference.

17. The method of claim 16, wherein the number of one or more data appended to the data samples depends on a desired frequency resolution of the anti-noise signal.

18. The method of claim 16, wherein computing the frequency domain representation of the data set in the frequency domain and individually shifting one or more noise segments in time further comprises computing the Fourier transform of an impulse having a magnitude of one, shifting the impulse response in the frequency domain, computing the inverse Fourier transform of the shifted impulse response, and multiplying the magnitude of the data sample by the magnitude of the shifted impulse response in the time domain.

19. The method of claim 18, further comprising appending zeros to the pulses prior to calculating the Fourier transform.

20. The method of claim 18, further comprising shifting the impulse response by an amount of time that accounts for both a propagation time associated with the noise signal and a system propagation time associated with a throughput speed of the digital processor circuit and any associated equipment.

21. The method of claim 18, further comprising calculating and storing the impulse response prior to acquiring the digitized noise signal.

22. The method of claim 16, further comprising shifting the frequency domain representation by an amount of time that accounts for both a propagation time associated with the noise signal and a system propagation time associated with a throughput speed of the digital processor circuit and any associated equipment.

23. The method of claim 16, further comprising shifting the frequency domain representation by an amount corresponding to a phase shift time calculated as half the inverse of a selected frequency.

24. The method of claim 16, further comprising amplitude scaling the frequency domain representation.

25. The method of claim 16, further comprising converting the anti-noise signal into an analog signal and outputting the anti-noise signal into the audio signal stream by mixing the anti-noise signal with the audio signal stream.

26. The method of claim 16, further comprising mixing the anti-noise signal with the audio signal stream by using an amplifying microphone or other transducer disposed within the audio signal stream.

27. The method of claim 16, further comprising capturing the noise signal contained within the audio signal stream using at least one microphone coupled to an analog-to-digital converter to produce the acquired digitized noise signal.

28. The method according to claim 16, further comprising: include: After outputting the anti-noise signal to the audio signal stream, acquiring a feedback signal by sampling the audio signal stream; as well as The feedback signal is processed using the digital processor circuit to adjust the amplitude or phase of the anti-noise signal to enhance attenuation of the noise signal.

29. A system for performing noise reduction in an audio signal stream containing a noise signal, include: a microphone configured to acquire a noise signal from an environment in which the audio signal stream is present; an analog-to-digital converter configured to receive the noise signal from the microphone and operate to convert the noise signal into a digitized noise signal; a digital signal processor configured to receive the digitized noise signal from the analog-to-digital converter and, for each data sample in the digitized noise signal, process a given data sample by: appending one or more data to the given data sample to form a data set, wherein the magnitude of each of the one or more data is substantially zero, Calculate the frequency domain representation of the data set in the frequency domain, shifting the frequency domain representation of the data set in time, thereby producing a shifted frequency domain representation of the data set, and converting the shifted frequency domain representation of the data set to the time domain to form a portion of a noise-resistant signal; as well as A digital-to-analog converter is configured to receive the anti-noise signal from the digital signal processor and operate to convert the anti-noise signal to an analog anti-noise signal.

30. The system of claim 29, further comprising a mixer configured to receive the audio signal stream and the analog anti-noise signal and to operate to combine the audio signal stream with the analog anti-noise signal.

31. The system of claim 29, further comprising a speaker configured to receive the audio signal stream having the analog anti-noise signal.

32. The system of claim 29, wherein the digital signal processor uses a Fast Fourier Transform method to compute the frequency domain representation and uses an Inverse Fast Fourier Transform method to convert the shifted frequency domain representation of the data set to the time domain.

33. The system of claim 29, wherein the digital signal processor shifts the frequency domain representation by an amount corresponding to a phase shift time calculated as half the inverse of a selected frequency.

34. A system according to claim 33, wherein the digital signal processor shifts the frequency domain representation by a certain amount of time, the amount of time being dependent on a selected frequency in the frequency domain representation and taking into account both a propagation time associated with the noise signal and a system propagation time associated with a throughput speed of the digital signal processor and any associated equipment.

35. The system of claim 29, wherein the digital signal processor amplitude scales the shifted frequency domain representation of the data set before converting the frequency domain representation to the time domain.

36. The system of claim 29, wherein the digital signal processor individually shifts one or more noise segments in the frequency domain representation, wherein the frequency domain representation includes a plurality of noise segments and each of the plurality of noise segments is associated with a different frequency band.

37. The system of claim 31 further comprising a feedback microphone proximate to the speaker and configured to receive the audio signal stream output by the speaker, wherein the digital signal processor interfaces with the feedback microphone.

38. A system according to claim 29, wherein the digital signal processor shifts the frequency domain representation of the data set in time and converts the shifted frequency domain representation to the time domain by: calculating the Fourier transform of an impulse with a magnitude of one, shifting the impulse response in the frequency domain, calculating the inverse Fourier transform of the shifted impulse response, and multiplying the magnitude of the data sample by the magnitude of the shifted impulse response in the time domain.

39. The system of claim 38, wherein zeros are appended to the pulses prior to calculating the Fourier transform.

40. The system of claim 39, wherein the impulse response is calculated and stored prior to acquiring the digitized noise signal.

Citation Information

Patent Citations

  • Noise Cancellation Using Segmented, Frequency-Dependent Phase Cancellation

    US20180226064A1

  • Non-integer sample delay active noise canceller

    US5388080A