Signal processing system with spreading of a spectrum of harmonic frequencies of a pulse width modulator output signal
The signal processing system includes a pulse width modulator (PWM) that receives a quantizer output signal from a delta sigma modulator. Each quantizer output signal represents one of N quantization levels. For at least one of the quantization levels, the PWM can generate multiple, different PWM patterns. Thus, each quantization level in at least a subset of the N quantization levels is associated with at least two PWM patterns. In at least one embodiment, the subset of quantization levels represents the quantization of low level samples of a quantizer input signal. By associating multiple PWM patterns to at least the subset of the quantization levels, the pulse edges of the PWM patterns in a frame are shifted in time with respect to subsequent PWM patterns, which spreads the spectrum of harmonic frequencies of the PWM output signal. Spreading the spectrum of harmonic frequencies of the PWM output signal can reduce electromagnetic interference (EMI).
Latest Cirrus Logic, Inc. Patents:
- Driver circuitry
- Splice-point determined zero-crossing management in audio amplifiers
- Force sensing systems
- Multi-processor system with dynamically selectable multi-stage firmware image sequencing and distributed processing system thereof
- Compensating for current splitting errors in a measurement system
This application claims the benefit under 35 U.S.C. § 119(e) and 37 C.F.R. § 1.78 of U.S. Provisional Application No. 60/778,714, filed Mar. 3, 2006 and entitled “Electromagnetic Interference (EMI) Reduction for Pulse Width Modulation (PWM) with Coordinated Channels”, inventors Johann Gaboriau and John Melanson (referred to herein as the “Gaboriau Application I”). The Gaboriau Application I includes exemplary systems and methods and is incorporated by reference in its entirety.
BACKGROUND OF THE INVENTION1. Field of the Invention
The present invention relates in general to the field of information processing, and more specifically to a system and method for spreading a spectrum of harmonic frequencies of a pulse width modulator output signal.
2. Description of the Related Art
Delta-sigma modulators (noise shapers) are particularly useful in digital to analog and analog to digital converters (DACs and ADCs). Using oversampling, a delta-sigma modulator spreads quantization noise power across the oversampling frequency band, which is typically much greater than the input signal bandwidth. Additionally, a delta sigma modulator performs noise shaping by acting as a lowpass filter to the input signal and a highpass filter to the noise; most of the quantization noise power is thereby shifted out of the signal band.
Delta sigma modulators can be combined with a pulse width modulator (PWM) to implement a signal processing system data converter that converts an oversampled input signal into a directly corresponding pulse width modulated output signal. The pulse width modulated output signal can be used to, for example, drive a digital amplifier.
U.S. Pat. No. 5,815,102 entitled “Delta Sigma PWM DAC to Reduce Switching” to John Melanson granted Sep. 29, 1998 (Melanson I), U.S. Pat. No. 6,150,969 entitled “Correction of Nonlinear Output Distortion in a Delta Sigma DAC” to John Melanson granted on Nov. 21, 2000 (Melanson II), and U.S. Pat. No. 6,480,129 entitled “Methods and Apparatus for Correction of Higher Order Delta Sigma Converters” to John Melanson granted on Nov. 12, 2002 (Melanson III), disclose exemplary ways for implementing the modulator and are hereby incorporated by reference.
Referring to
The PWM 104 generates a respective PWM pattern for each quantization level of quantizer output signal q(n). The PWM output signal y(n) is a series of frames having a period T. The nth generated PWM pattern represents the nth frame of PWM output signal y(n), where n is an integer. The period T of each PWM output signal equals 1/fs. For each frame of a PWM output signal, the duty cycle of the PWM output signal equals the pulse width duration divided by the period T. Additionally, each frame of PWM output signal y(n) can be divided into 1/fos (i.e. N−1) discrete time slots. Each time slot can be coded with a logical “1” or a logical “0”, where the number of logical 1's in a frame define the pulse widths of PWM output signal y(n).
The PWM output signal y(n) drives amplifier 106. The amplifier 106 in turn drives a load 108 represented by impedance Z. Load 108 is, for example, one or more audio speakers or a servo motor. In at least one embodiment, the amplifier 106 includes switches 112 and 114 that change conductivity in conjunction with the pulses of PWM output signal y(n). In some applications, such as a power amplifier application, amplifier 106 represents a power amplifier and has a relatively high maximum voltage, such as +30 V, and high maximum current, such as 5 A. Various factors, such as the parasitic capacitances 116 and 118 and parasitic inductance 120, cause the linear amplifier to radiate energy at the switching frequency of switches 112 and 114 and other harmonic frequencies of the switching frequency. It is difficult to shield this radiated energy to prevent leakage into the rest of the system 100. Additionally, the resulting electromagnetic interference (EMI) from the radiated energy can easily exceed EMI standards.
Potential EMI problems with system 100 are particularly acute for audio input signals x(n) that cause pure or approximate square wave PWM patterns in frames of PWM output signal y(n). Generally, low level signals (such as pauses or silence) are the most common cause of pure or approximate square wave PWM patterns in frames of PWM output signal y(n). Delta sigma modulator 102 quantizes each low level input signal sample as alternating or approximately alternating high and low levels. As depicted in Table 1 and
In at least one embodiment of the present invention, a method of spreading a spectrum of harmonic frequencies in a PWM output signal includes receiving an input signal representing one of N quantization levels of a delta sigma modulator, wherein N is an integer greater than or equal to two (2). The method further includes selecting a first pulse width modulator (PWM) pattern associated with the quantization level from a group of K PWM patterns. “K” is an integer greater than or equal to two (2) and the PWM patterns have discrete time slots during which a pulse can rise and fall. The method further includes selecting a second PWM pattern associated with the quantization level from the group of K patterns. Selection of the second PWM pattern causes a rising edge of the second PWM pattern to shift in time at least two discrete time slots relative to a rising edge of the first PWM pattern to spread the spectrum of harmonic frequencies in the PWM output signal. The method also comprises generating a frame of the PWM output signal with the selected PWM pattern.
In another embodiment of the present invention, a signal processing system to spread a spectrum of harmonic frequencies in a PWM output signal includes a delta sigma modulator to generate a delta sigma modulator output signal sample representing one of N quantization levels, wherein N is an integer greater than or equal to two (2). The signal processing system further includes a pulse width modulator (PWM), coupled to the delta sigma modulator, to (A) select a pulse width modulator (PWM) pattern associated with the quantization level from a group of K PWM patterns, wherein (i) for at least one of the quantization levels K is an integer greater than or equal to two (2), (ii) the PWM patterns have discrete time slots during which a pulse can rise and fall, and (iii) for each group having at least two (2) PWM patterns, rising edges of the PWM patterns differ from each other by at least two of the discrete time slots to spread the spectrum of harmonic frequencies in the PWM output signal and (B) generate a frame of the PWM output signal with the selected PWM pattern.
In a further embodiment of the present invention, an apparatus for spreading a spectrum of harmonic frequencies in a PWM output signal includes means for receiving an input signal representing one of N quantization levels of a delta sigma modulator, wherein N is an integer greater than or equal to two (2). The apparatus further includes means for selecting a pulse width modulator (PWM) pattern associated with the quantization level from a group of K PWM patterns. For at least one of the quantization levels, K is an integer greater than or equal to two (2). The PWM patterns have discrete time slots during which a pulse can rise and fall. Additionally, for each group having at least two (2) PWM patterns, rising edges of the PWM patterns differ from each other by at least two of the discrete time slots to spread the spectrum of harmonic frequencies in the PWM output signal. The apparatus further includes means for generating a frame of the PWM output signal with the selected PWM pattern.
The present invention may be better understood, and its numerous objects, features and advantages made apparent to those skilled in the art by referencing the accompanying drawings. The use of the same reference number throughout the several figures designates a like or similar element.
The signal processing system includes a pulse width modulator (PWM) that receives a quantizer output signal from a delta sigma modulator. Each quantizer output signal represents one of N quantization levels. For at least one of the quantization levels, the PWM can generate multiple, different PWM patterns. Thus, each quantization level in at least a subset of the N quantization levels is associated with at least two PWM patterns. In at least one embodiment, the subset of quantization levels represents the quantization of low level samples of a quantizer input signal. By associating multiple PWM patterns to at least the subset of the quantization levels, the pulse edges of the PWM patterns in a frame are shifted in time with respect to subsequent PWM patterns, which spreads the spectrum of harmonic frequencies of the PWM output signal. Spreading the spectrum of harmonic frequencies of the PWM output signal can reduce electromagnetic interference (EMI).
For at least a subset of the quantization levels, there is a one-to-K association between a quantization level and a PWM pattern. “K” represents an integer greater than or equal to two (2). “K” can be different for each quantization level. In at least one embodiment, the subset of quantization levels having a 1:K association with PWM patterns represents low-level samples of the delta sigma modulator input signal x(n).
Since each PWM pattern has different harmonic spectra and phases, the different PWM patterns associated with a quantization level spreads the spectrum of harmonic frequencies of the PWM output signal y(n). As described in more detail below, in at least one embodiment, spreading the spectrum of harmonic frequencies of repeating PWM patterns reduces energy radiation of the signal processing system 500.
The PWM output signal generator 506 generates the PWM patterns based on the quantization level of quantizer output signal q(n). Generation of PWM patterns to encode a particular quantization level is a matter of design choice and can be accomplished in many different ways. For example, for a quantization level having a 1:1 association with a PWM pattern, the PWM output signal generator 506 can use a quantization level as a code for hardwired logic to generate the PWM pattern associated with the quantization level. For a quantization level having a 1:K association with PWM patterns, the PWM output signal generator 506 selects a PWM pattern from the K PWM pattern associated with the quantization level, and then the PWM output signal generator 506 generates the selected PWM pattern. In at least one embodiment, the PWM output signal generator 506 randomly selects the PWM pattern from among the K PWM patterns associated with the quantization level. Random selection significantly reduces the likelihood that the same PWM pattern is repetitively selected and, thus, spreads the spectrum of harmonic frequencies of PWM output signal y(n). In at least one embodiment, more sophisticated selection processes, such as taking into consideration one or more prior PWM pattern selections, can be implemented to further spread and/or ensure spreading the spectrum of harmonic frequencies of PWM output signal y(n).
In another embodiment, generation of the PWM patterns can be made by selecting PWM patterns from multiple arrays of PWM patterns stored in a memory. In this embodiment, the PWM patterns are predetermined and stored in a memory 508, such as a read-only memory (ROM). In at least one embodiment, multiple arrays of the PWM patterns are stored in respective look-up tables within the memory 508. Thus, the PWM output signal generator 506 can select a PWM pattern by selecting the particular look-up table and a particular PWM pattern in the look-up table. In at least one other embodiment, a single look-up table can be used to store the PWM patterns and logic can be used to select different PWM patterns. Selection of the particular PWM pattern is discussed in more detail below.
In at least one embodiment, memory 508 stores arrays of 65 PWM patterns in four (4) look-up tables. Table 2, Table 3, Table 4, and Table 5 represent the four tables of PWM patterns. “Leading Zeros” represents the number of logical “zeros” beginning of a PWM pattern. “Ones” represent the duration of logical “ones” in the PWM pattern and represent the “pulse” in the PWM pattern. The total number of logical ones times the duration of each time slot in a frame of PWM output signal y(n) equals the duration of the pulse width. “Trailing Zeros” represents the number of logical “zeros” after the pulse in the PWM pattern.
Table 2 is identical to Table 1 with centered, grow from the right patterns. Table 3 represents centered, grow from left patterns. Table 4 is identical to Table 2 except for the PWM patterns corresponding to quantization levels 29–35, which represent respective low-level input signals x(n). The PWM patterns associated with quantization levels 29–35 in Table 4 grow to the left and are shifted to the left in time relative to the corresponding PWM patterns in Table 2. Table 5 is identical to Table 3 except for the PWM patterns associated with quantization levels 29–35, which also represent respective low-level input signals x(n). The PWM patterns associated with quantization levels 29–35 in Table 5 grow to the right and are shifted to the right in time relative to the corresponding PWM patterns in Table 3. The PWM patterns associated with quantization levels 29, 30, 32, and 34 are all different between Table 2, Table 3, Table 4, and Table 5. The PWM patterns associated with quantization levels 30, 32, and 34 are the same between Table 2 and Table 3. However, for PWM patterns quantization levels 30, 32, and 34, Table 4 and Table 5 are different than both Table 2 and Table 3. Thus, PWM output signal generator 506 can choose from four (K=4) different PWM patterns for each of quantization levels 29, 30, 32, and 34. PWM output signal generator 506 can choose three (K=3) different PWM patterns for each of quantization levels 30, 32, and 34.
The PWM output signal generator 506 generates a PWM pattern for each frame of the PWM output signal y(n). The particular PWM pattern generated depends upon the quantization level indicated by quantizer output signal q(n). In at least one audio context, a 1:2 association exists between PWM patterns and quantization levels 0–28 and 36–64 and a 1:K association exists between PWM patterns and quantization levels 29–35. In the audio context, quantization levels 29–35 represent low amplitude levels of samples of input signal x(n). The quantization levels 0–28 and 36–64 represent higher amplitude samples of input signal x(n), and the harmonic frequencies of quantization levels 0–28 and 36–64 typically have a natural spreading of the spectrum of harmonic frequencies.
For levels 0–28 and 36–64, PWM output signal generator 506 selects PWM patterns from Table 2 and Table 3. In one embodiment, PWM output signal generator 506 selects the particular table for quantization levels 0–28 and 36–64 to reduce noise. In at least one embodiment, PWM output signal generator 506 receives quantizer input data in addition to the quantizer output signal q(n). Thus, although corresponding quantization levels of Table 2 and Table 3 have the same pulse widths, a pulse that starts earlier provides more energy than a corresponding pulse that starts later. Accordingly, if the quantizer input data indicates that the quantizer (not shown) of delta sigma modulator 502 effectively rounded down to choose the quantizer output signal q(n), PWM output signal generator 506 selects the PWM pattern from Table 3 since Table 3 represents centered, grow from left patterns. If the quantizer input data indicates that a quantizer (not shown) of delta sigma modulator 502 effectively rounded up to choose the quantizer output signal q(n), PWM output signal generator 506 selects the PWM pattern from Table 2 since Table 2 represents centered, grow from right patterns.
As previously stated, for quantization levels 29, 30, 32, and 34, PWM output signal generator 506 selects PWM patterns from Table 2, Table 3, Table 4, and Table 5. For quantization levels 30, 32, and 34, PWM output signal generator 506 selects PWM patterns from Table 2 (or Table 3), Table 4, and Table 5. The subset of quantization levels, quantization levels 29–35, represent low level signals such as a silence (or near silence). Low level signals that endure for more than one period for PWM 504 are conventionally coded as repeating square waves with a frequency of fs. Square waves generally have a 50% duty cycle. As described previously, the energy in the harmonics of square waves can cause significant EMI. When a PWM input signal indicating any of quantization levels 29–35 is received by PWM 504, the PWM output signal generator 506 selects from multiple, different PWM patterns for each of quantization levels 29–35, thus, spreading the spectrum of harmonic frequencies of PWM output signal y(n).
The PWM output signal y(n) can be provided to a power amplifier 510, which in turn drives load 512. Load 512 can be any load, such as one or more audio speakers. In at least one embodiment, spreading the spectrum of harmonic frequencies of PWM output signal y(n) reduces EMI from the power amplifier 510.
As described in more detail in conjunction with
In at least one embodiment, correction factors c0, c1, cr match up one-to-one with the selected PWM pattern indicated by PWM pattern selection signal s(n). In at least one embodiment, correction factors c0, c1, . . . , cr are stored in a memory, such as a read-only memory (ROM) and indexed by quantization level, integrator identifier, and PWM pattern. PWM pattern selection signal s(n) is provided to the correction factor generator 702 by PWM output signal generator 506. The PWM pattern selection signal s(n) identifies the PWM pattern in the nth frame of PWM output signal y(n) and implicitly identifies the quantization level of quantizer output signal q(n) since, in at least one embodiment, the pulse width of the quantization level matches the quantization level. The quantizer output signal q(n) of quantizer 703 is fed back via delay 708 to summing node 708 to add −q(n−1) to the input signal sample x(n).
From the quantization level indicated by the quantizer output signal q(n), the PWM pattern identified by the PWM pattern selection signal s(n), and the respective identifiers for integrators 704.0, 704.1, . . . , 704.r, the correction factor generator 702 can select and provide the appropriate correction factor to each of the r+1 integrators 704.0, 704.1, . . . , 704.r. The individual correction factors c0, c1, . . . , cr can be determined, for example, as described in Melanson II, Melanson III, and the Gaboriau Application I. The Gaboriau Application I includes MatLab® code in the “ffbwithcorr_EMI.m” file that describes an exemplary delta sigma modulator and determination of the correction factors c0, c1, . . . , cr for the exemplary delta sigma modulator.
Quantization level detector 804 provides the quantization level data signal LVL_DET to PWM pattern selector 802. In at least one embodiment, when the data signal LVL_DET indicates a quantization level representing higher amplitude sample input signal level, PWM pattern selector 802 selects the PWM pattern associated with the quantization level indicated by quantizer output signal q(n). In at least one embodiment, the PWM pattern selector selects the PWM pattern from Table 2 or Table 3 as previously described. When the data signal LVL_DET indicates a quantization level representing a low-amplitude sample input signal level, PWM pattern selector 802 selects one of K PWM patterns associated with the quantization level. In at least one embodiment, the rising edges of the K PWM patterns differ from each other by at least two discrete time slots to spread the spectrum of harmonic frequencies in the PWM output signal.
In at least one embodiment, PWM pattern selector 802 selects the PWM pattern using a random number RND generated by random number generator 806. Making random selections of PWM patterns spreads the spectrum of harmonic frequencies of PWM output signal y(n). The PWM pattern selector 802 generates PWM pattern selection signal s(n), which indicates the PWM pattern to be generated for the quantization level represented by quantizer output signal q(n). The PWM pattern generator receives the PWM pattern selection signal s(n) and generates a PWM pattern in a frame of PWM output signal y(n). PWM pattern selector 802 also provides the PWM pattern selection signal s(n) to correction factor generator 702 for selecting the correction factors c1, c2, . . . , cr as previously described.
Each channel interlocker selects the PWM pattern to be generated and inserted into a frame of PWM output signal y(n) to determine the amount to shift each rising pulse edge based upon the rising pulse edge shift in a corresponding frame of the immediately preceding channel.
Referring to
In the interlocking procedure undertaken by the channel interlockers 1104.1, 1104.2, . . . , 1104.M, the pulse rising edge of each PWM pattern has a nominal spacing in time of +/−S between pulse rising edges of PWM patterns of adjacent channels. PWM patterns associated with a single quantization level have pulse rising edges that shift in time from frame-to-frame by a factor of SH. In at least one embodiment, SH is greater than one time slot of a PWM output signal y(n) frame. Selection of the PWM patterns for each channel to achieve intra-channel and inter-channel spreading of the spectrum of harmonic frequencies is a function of the spacing S and the shift SH. In at least one embodiment, the shift options are from −SHi to +SHi, and −SHi=SHp−(S−1) and +SHi=S, where “−SHi” refers to an advance of the pulse rising edge, i.e. a shift to the left in time, and “+SH” refers to a delay of the pulse rising edge, i.e. a shift to the right in time. “i” refers to the particular channel and “p” refers to the previous channel.
Table 6 represents example determination of selected shift data for each of channels CH1, CH2, CH3, and CH4. The nominal spacing between each channel is a delay S=+8. The channel interlockers 1104.1, 1104.2, . . . , 1104.M select a PWM pattern having a shift in the rising edge of the PWM patterns associated with the respective quantization levels of quantizer output signal q1(n), q2(n), q3(n), and q4(n) that falls within the range of −SHi and +SHi from Table 6. The selected PWM pattern is indicated in the value of PWM pattern selection signal s(n). The Selected Shift Data represents the shift of the selected PWM pattern rising edge in relation to the rising edge of the selected PWM pattern of the previous channel. The Selected Shift Data in Table 6 also represents SHp for the next channel to be processed.
In other embodiments of signal processing system 110, the falling edges of pulses in each channel can be shifted to obtain reduced intra-channel and inter-channel decorrelation be reversing the interlocking procedure. Additionally, other procedures can be used to obtain reduced intra-channel and inter-channel correlation.
Although the present invention has been described in detail, it should be understood that various changes, substitutions and alterations can be made hereto without departing from the spirit and scope of the invention as defined by the appended claims. For example, additional PWM pattern tables could be included in memory 508. Additionally, each PWM pattern could be split into multiple pulses for a single period T.
Claims
1. A method of spreading a spectrum of harmonic frequencies in a PWM output signal, the method comprising:
- receiving an input signal representing one of N quantization levels of a delta sigma modulator, wherein N is an integer greater than or equal to two (2);
- selecting a first pulse width modulator (PWM) pattern associated with the quantization level from a group of K PWM patterns, wherein:
- K is an integer greater than or equal to two (2); and
- the PWM patterns have discrete time slots during which a pulse can rise and fall;
- selecting a second PWM pattern associated with the quantization level from the group of K patterns, wherein selection of the second PWM pattern causes a rising edge of the second PWM pattern to shift in time at least two discrete time slots relative to a rising edge of the first PWM pattern to spread the spectrum of harmonic frequencies in the PWM output signal;
- generating a frame of the PWM output signal with the selected PWM pattern; and
- providing the PWM output signal to an amplifier.
2. The method of claim 1 wherein the delta sigma modulator includes a loop filter coupled to a quantizer and the loop filter includes multiple integrators, the method further comprising:
- generating respective correction factors for at least one of the integrators to correct for non-linearities in the PWM output signal caused by the selected PWM pattern, wherein the correction factors are based on the particular PWM pattern selection.
3. The method of claim 1 wherein selecting a pulse width modulator (PWM) pattern associated with the quantization level further comprises:
- randomly selecting one of the K PWM patterns.
4. The method of claim 1 wherein the quantization level, associated with K PWM patterns, corresponds to a frame of the PWM output signal having an approximately 50% duty cycle.
5. The method of claim 1 wherein the K PWM patterns have different harmonic spectra and phases.
6. The method of claim 1 wherein the K PWM patterns within the group of PWM patterns have identical pulse widths and different pulse edge delays.
7. The method of claim 1 further comprising:
- providing the PWM output signal to an amplifier to drive a plurality of switches.
8. The method of claim 1 wherein a plurality of the quantization levels are associated with a respective group of multiple different PWM patterns, and each PWM pattern in each group differs in each group has discrete time slots during which a pulse rises and falls, and (iv) rising edges of PWM patterns in the same group differ from each other by at least two of the discrete time slots to spread the spectrum of harmonic frequencies in the PWM output signal.
9. The method of claim 1 wherein the received input signal is for a first channel, the method further comprising:
- receiving M−1 additional input signals for M−1 additional channels, each input signal represents one of N quantization levels of respective delta sigma modulators, and M is an integer greater than or equal to two (2); and
- for each of the M−1 additional input signals, selecting a PWM pattern associated with the quantization level, wherein the selection is responsive to a preceding selection of a PWM pattern for another channel.
10. The method of claim 9 wherein selecting a PWM pattern associated with the quantization level further comprises:
- determining a range of pulse edge shifts that will prevent overlap of pulse edges between a PWM pattern of the ith channel and the selected PWM pattern of the (i−1)th channel, wherein iε{0, 1,..., M};
- selecting a first PWM pattern for the ith channel having a pulse edge shift within the determined range of pulse edge shifts relative to the selected pattern of the of the ith channel and the selected PWM pattern of the (i−1)th channel; and
- selecting a second PWM pattern for the ith channel having a pulse edge shift within the determined range of pulse edge shifts relative to the selected pattern of the of the ith channel and the selected PWM pattern of the (i−1)th channel.
11. The method of claim 9 wherein for each of the M−1 additional input signals, selecting a PWM pattern further comprises:
- selecting the first and second PWM patterns associated with the quantization level from a group of K PWM patterns, wherein: K is an integer greater than or equal to two (2); the PWM patterns have discrete time slots during which a pulse can rise and fall; and selection of the second PWM pattern causes a rising edge of the second PWM pattern to shift in time at least two discrete time slots relative to a rising edge of the first PWM pattern to spread the spectrum of harmonic frequencies in the PWM output signal.
12. The method of claim 1 wherein the input signal represents a sample of an audio signal.
13. The method of claim 1 wherein selecting the PWM pattern further comprises:
- selecting the PWM pattern from a memory.
14. A signal processing system to spread a spectrum of harmonic frequencies in a PWM output signal, the system comprising:
- a delta sigma modulator to generate a delta sigma modulator output signal sample representing one of N quantization levels, wherein N is an integer greater than or equal to two (2);
- a pulse width modulator (PWM), coupled to the delta sigma modulator, to: select a pulse width modulator (PWM) pattern associated with the quantization level from a group of K PWM patterns, wherein: K is an integer greater than or equal to two (2); the PWM patterns have discrete time slots during which a pulse can rise and fall; and rising edges of the PWM patterns in the group of K PWM patterns differ from each other by at least two of the discrete time slots to spread the spectrum of harmonic frequencies in the PWM output signal; and generate a frame of the PWM output signal with the selected PWM pattern; and
- an amplifier having an input coupled to the PWM to receive the PWM output signal.
15. The signal processing system of claim 14 wherein the delta sigma modulator includes a loop filter coupled to a quantizer and the loop filter includes multiple integrators, the system further comprising:
- a correction factor generator to generate respective correction factors for at least one of the integrators to correct for non-linearities in the PWM output signal caused by the selected PWM pattern, wherein the correction factors are based on the particular PWM pattern selection.
16. The signal processing system of claim 14 wherein the PWM output signal generator is further configured to randomly select one of the K PWM patterns.
17. The signal processing system of claim 14 wherein the quantization level, associated with K PWM patterns, corresponds to a frame of the PWM output signal having an approximately 50% duty cycle.
18. The signal processing system of claim 14 wherein the K PWM patterns have different harmonic spectra and phases.
19. The signal processing system of claim 14 wherein the K PWM patterns within the group of PWM patterns have identical pulse widths and different pulse edge delays.
20. The signal processing system of claim 14 further comprising an amplifier coupled to the pulse width modulator to receive the generated PWM output signal.
21. The signal processing system of claim 14 wherein a plurality of the quantization levels are associated with a respective group of multiple different PWM patterns, and each PWM pattern in each group differs in each group has discrete time slots during which a pulse rises and falls, and rising edges of PWM patterns in the same group differ from each other by at least two of the discrete time slots to spread the spectrum of harmonic frequencies in the PWM output signal.
22. The signal processing system of claim 14 wherein the PWM is further configured to repeat receiving the input signal, selecting the PWM pattern, generating the frame of the PWM output signal, and providing the PWM output signal for multiple quantization levels wherein (i) a plurality of the quantization levels are associated with respective groups of multiple PWM patterns, (ii) a number of PWM patterns in each of the groups can be different, (iii) the PWM patterns in each group of PWM patterns have discrete time slots during which a pulse rises and falls, and (iv) rising edges of PWM patterns in the same group differ from each other by at least two of the discrete time slots to spread the spectrum of harmonic frequencies in the PWM output signal.
23. The signal processing system of claim 14 wherein the input signal represents a sample of an audio signal.
24. The signal processing system of claim 14 further the pulse width modulator further comprises a memory to store the PWM patterns.
25. The signal processing system of claim 14 wherein the delta sigma modulator is for a first channel, the system further comprising:
- M−1 additional delta sigma modulators to generated respective output signal samples for M−1 additional channels, wherein each input signal represents one of N quantization levels of respective delta sigma modulators, and M is an integer greater than or equal to two (2); and
- M−1 additional pulse width modulators each coupled to a respective delta sigma modulator, to respectively select a PWM pattern associated with the quantization level, wherein the selection is responsive to a preceding selection of a PWM pattern for another channel.
26. The signal processing system of claim 25 wherein each of the pulse width modulators is further configured to (i) determine a range of pulse edge shifts that will prevent overlap of pulse edges between a PWM pattern of the ith channel and the selected PWM pattern of the (i−1)th channel, wherein iε{0, 1,..., M} and (ii) select a PWM pattern for the ith channel having a pulse edge shift within the determined range of pulse edge shifts relative to the selected pattern of the of the ith channel and the selected PWM pattern of the (i−1)th channel.
27. The signal processing system of claim 25 wherein for each of the M−1 additional input signals, each of the pulse width modulators is further configured to select a pulse width modulator (PWM) pattern associated with the quantization level from a group of K PWM patterns, wherein (i) K is an integer greater than or equal to two (2), (ii) the PWM patterns have discrete time slots during which a pulse can rise and fall, and (iii) rising edges of the PWM patterns in the group of K patterns differ from each other by at least two of the discrete time slots to spread the spectrum of harmonic frequencies in the PWM output signal.
28. An apparatus for spreading a spectrum of harmonic frequencies in a PWM output signal, the apparatus comprising:
- means for receiving an input signal representing one of N quantization levels of a delta sigma modulator, wherein N is an integer greater than or equal to two (2);
- means for selecting a first pulse width modulator (PWM) pattern associated with the quantization level from a group of K PWM patterns, wherein: K is an integer greater than or equal to two (2); and the PWM patterns have discrete time slots during which a pulse can rise and fall;
- means for selecting a second PWM pattern associated with the quantization level from the group of K patterns, wherein selection of the second PWM pattern causes a rising edge of the second PWM pattern to shift in time at least two discrete time slots relative to a rising edge of the first PWM pattern to spread the spectrum of harmonic frequencies in the PWM output signal;
- means for generating a frame of the PWM output signal with the selected PWM pattern; and
- means for amplifying the PWM output signal.
29. A method of spreading a spectrum of harmonic frequencies in a PWM output signal, the method comprising:
- receiving an input signal representing one of N quantization levels, wherein N is an integer greater than or equal to two (2);
- selecting a first pulse width modulator (PWM) pattern associated with the quantization level from a group of K PWM patterns, wherein: K is an integer greater than or equal to two (2); and the PWM patterns have discrete time slots during which a pulse can rise and fall;
- selecting a second PWM pattern associated with the quantization level from the group of K patterns, wherein selection of the second PWM pattern causes a rising edge of the second PWM pattern to shift in time at least two discrete time slots relative to a rising edge of the first PWM pattern to spread the spectrum of harmonic frequencies in the PWM output signal; and
- generating a frame of the PWM output signal with the selected PWM pattern.
5548286 | August 20, 1996 | Craven |
5784017 | July 21, 1998 | Craven |
5815102 | September 29, 1998 | Melanson et al. |
6150969 | November 21, 2000 | Melanson |
6480129 | November 12, 2002 | Melanson |
6965335 | November 15, 2005 | Trotter et al. |
WO 97/37433 | October 1997 | WO |
- J. Gaboriau et al., U.S. Appl. No. 10/767,906, filed Jan. 29, 2004, entitled “Circuits and Methods for Reducing Noise and Distortion in Pulse Width Modulation Systems,”.
Type: Grant
Filed: Jun 30, 2006
Date of Patent: Apr 24, 2007
Assignee: Cirrus Logic, Inc. (Austin, TX)
Inventors: Johann Gaboriau (Austin, TX), John L. Melanson (Austin, TX)
Primary Examiner: Rexford Barnie
Assistant Examiner: Joseph Lauture
Attorney: Hamilton & Terrile, LLP
Application Number: 11/428,210
International Classification: H03M 1/82 (20060101);