IP Library Granted Patent US 7,908,306
Granted Patent B1
US 7,908,306 · App. 10/805,596 · Granted Mar 15, 2011

SRC with multiple sets of filter coefficients in memory and a high order coefficient interpolator

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,908,306
App. No.
10/805,596
Granted
Mar 15, 2011
Kind
B1
Abstract

Systems and methods for converting a data stream from a first sample rate to a second sample rate using a sample rate converter that employs selectable filters. In one embodiment, the filters are implemented by providing multiple sets of filter coefficients in a memory, selecting one of the sets of filter coefficients and performing coefficient interpolation to produce filter coefficients that are convolved with the input data stream to produce a re-sampled output data stream. The input signal can be an audio signal that is convolved with interpolated polyphase filter coefficients in the sample rate converter of a digital PWM audio amplifier. The set of filter coefficients can be selected by a value stored in a filter selection register that is modifiable by a DSP or by user input. The sets of filter coefficients can be stored in a single memory and interpolated according to a cubic spline interpolation algorithm.

Claims (47)

1. A method comprising:

(a) storing a plurality of independent sets of filter coefficients in a memory, wherein each set of filter coefficients defines a different polyphase filter function, wherein each of the different polyphase filter functions would result in at least some modifying of a signal if the signal were filtered in accordance with the polyphase filter function, and wherein each of the different polyphase filter functions would result in modifying of a signal in a different manner than the other polyphase filter functions;

(b) storing a value in a filter selection register;

(c) selecting a single one of the independent sets of filter coefficients based on the value stored in the filter selection register;

(d) receiving an audio input signal including a plurality of samples;

(e) estimating a sample rate of the audio input signal;

(f) interpolating the single one selected set of filter coefficients, in dependence on the estimated sample rate of the audio input signal, to thereby produce interpolated polyphase filter coefficients; and

(g) convolving the produced interpolated polyphase filter coefficients with the samples of the audio input signal to produce a filtered audio output signal that differs from the audio input signal regardless of which single one of the sets of filter coefficients is selected;

wherein said selecting the single one of the independent sets of filter coefficients at step (c) is performed prior to receiving the audio input signal at step (d), independent of the audio input signal received at step (d), and independent of the filtered audio output signal produced at step (g); and

wherein the same single one of the sets of filter coefficients selected at step (c) is used at steps (f) and (g) to produce the filtered audio output signal produced at step (g).

2. The method of claim 1 , wherein the audio input signal is convolved with the interpolated filter coefficients in a sample rate converter of a digital pulse width modulation (PWM) audio amplifier.

3. The method of claim 1 , wherein the plurality of sets of filter coefficients are stored in a single memory.

4. The method of claim 1 , wherein the single one selected set of filter coefficients are interpolated according to a cubic spline algorithm.

5. The method of claim 1 , wherein each of the plurality of sets of filter coefficients comprise polyphase filter coefficients.

6. A system comprising:

a coefficient interpolator;

a filter selection register;

a memory coupled to the coefficient interpolator; and

a sample rate estimator configured to estimate a sample rate of an audio input signal;

a convolution engine coupled to the coefficient interpolator;

wherein the memory is configured to store multiple independent sets of filter coefficients, wherein each set of filter coefficients defines a different polyphase filter function, wherein each of the different polyphase filter functions would result in at least some modifying of a signal if the signal were filtered in accordance with the polyphase filter function, and wherein each of the different polyphase filter functions would result in modifying of a signal in a different manner than the other polyphase filter functions; and

wherein the coefficient interpolator is configured to interpolate a selected single one of the independent sets of filter coefficients, in dependence on the estimated sample rate of the audio input signal, to thereby produce interpolated polyphase filter coefficients; and

wherein the selected single of one of the independent sets of filter coefficients is selected based on contents of the filter selection register, independent of the audio input signal received, and independent of a filtered audio output signal produced;

wherein the same single one of the sets of filter coefficients selected is used to produce the filtered audio output signal; and

wherein the convolution engine is configured to convolve the audio input signal with the produced interpolated polyphase coefficients corresponding to the selected single one of the sets of filter coefficients to produce the filtered audio output signal that differs from the audio input signal regardless of which one of the sets of filter coefficients is selected.

7. The system of claim 6 , wherein:

the convolution engine is implemented in a sample rate converter of a pulse width modulation (PWM) amplifier.

8. The system of claim 6 , wherein the memory comprises a single memory module configured to store the multiple sets of filter coefficients.

9. The system of claim 8 , wherein each of the multiple independent sets of filter coefficients comprise polyphase filter coefficients.

10. The system of claim 6 , wherein the coefficient interpolator is configured to interpolate the selected set of filter coefficients according to a cubic spline algorithm.

11. A method comprising:

storing a plurality of independent sets of filter coefficients in a memory, wherein each set of filter coefficients defines a different polyphase filter function, wherein each of the different polyphase filter functions would result in at least some modifying of a signal if the signal were filtered in accordance with the polyphase filter function, and wherein each of the different polyphase filter functions would result in modifying of a signal in a different manner than the other polyphase filter functions;

storing a value in a filter selection register;

selecting a single one of the sets of filter coefficients based on the value stored in the filter selection register;

receiving an audio data signal and frame sync signals associated with the audio data signal;

estimating, based on the frame sync signals, a sample rate of the audio data signal;

interpolating the single one selected set of filter coefficients, in dependence on the estimated sample rate of the received audio data signal, to thereby produce interpolated polyphase filter coefficients; and

convolving the produced interpolated polyphase filter coefficients with the received audio data signal to produce a filtered audio data signal that differs from the received audio data signal regardless of which single one of the sets of filter coefficients is selected;

wherein said selecting the single one of the independent sets of filter coefficients is performed prior to receiving the audio data signal, independent of the audio data signal received, and independent of the filtered audio data signal produced; and

wherein the same single one of the sets of filter coefficients selected is used to produce the filtered audio data signal.

12. The method of claim 11 , further comprising performing the method in a sample rate converter of a digital PWM amplifier.

13. The method of claim 1 , wherein the plurality of sets of filter coefficients are stored in the memory prior to receiving the input signal, and wherein the filter function defined by each set of filter coefficients corrects distortion in the output signal.

14. The system of claim 6 , wherein the memory is configured to store the multiple sets of filter coefficients prior to receiving an input signal, and wherein the filter function defined by each set of filter coefficients corrects distortion in an output signal produced by convolving the input signal with interpolated coefficients based on the corresponding set of filter coefficients.

15. The method of claim 11 , wherein the plurality of sets of filter coefficients are stored in the memory prior to receiving the audio data signal, and wherein the filter function defined by each set of filter coefficients corrects distortion in the produced filtered audio signal.

16. The method of claim 1 , wherein the output signal, resulting from the convolving step, is dependent on which single one of the independent sets of filter coefficients is selected, such that for the same input signal a different output signal would be produced if a different one of the independent sets of filter coefficients were selected.

17. The system of claim 6 , wherein the output signal, produced by the convolution engine, is dependent on which single one of the independent sets of filter coefficients is selected, such that for the same input signal a different output signal would be produced if a different one of the independent sets of filter coefficients were selected.

18. The method of claim 11 , wherein the filtered audio data signal, resulting from the convolving step, is dependent on which one of the independent sets of filter coefficients is the single one selected, such that for the same received audio data signal a different filtered audio data signal would be produced if a different one of the independent sets of filter coefficients were the single one selected.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2014
From: D2AUDIO LLC
To: INTERSIL AMERICAS LLC
Reel/Frame 032463/0447 →
CHANGE OF NAME Recorded Mar 18, 2014
From: D2AUDIO CORPORATION
To: D2AUDIO LLC
Reel/Frame 032463/0767 →
SECURITY AGREEMENT Recorded May 5, 2010
From: INTERSIL CORPORATION; TECHWELL, INC.; INTERSIL COMMUNICATIONS, INC.; QUELLAN, INC.; ZILKER LABS, INC.; KENET, INC.; INTERSIL AMERICAS INC.; ELANTEC SEMICONDUCTOR, INC.; D2AUDIO CORPORATION; PLANET ATE, INC.
To: MORGAN STANLEY & CO. INCORPORATED
Reel/Frame 024337/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2004
From: CHIENG, DANIEL L.W.; ANDERSEN, JACK B.; HAND, LARRY E.
To: D2AUDIO CORPORATION
Reel/Frame 015125/0686 →