WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Recursive digital filter with reset    
United States Patent6167415   
Link to this pagehttp://www.wikipatents.com/6167415.html
Inventor(s)Fischer; Jonathan Herman (Blandon, PA), Smith; Lane Allen (Easton, PA)
AbstractAn integrated circuit, e.g. an Audio Codec (AC) '97 conforming audio codec, includes a digital filter and gain module including multiple channels of gain control and multiple channels of digital filtering. A gain control module includes an overflow check of data samples requiring differing lengths of clamping. Each channel of the digital filter includes a finite impulse response (FIR) filter, and an infinite impulse response (IIR) filter. The digital filtering is implemented largely in hardware independent of the number of channels required and/or independent of the required order of the filtering. Thus, filter channels can be added or additional filtering implemented merely by increasing the clock speed without changing the digital filter design. The FIR filter is capable of being reset each frame to prevent a direct current (DC) buildup at internal nodes. The IIR filter performs a plurality of 2.sup.nd order biquadratic equations in an overall average of as few as four clock cycles per 2.sup.nd order biquad. A random access memory (RAM) is used to store the state variables for the 2.sup.nd order biquadratic equations. The state variable RAM is reset by controlling the clear input of latches at an input and/or the output of the state variable RAM, and the state variable RAM is addressed by a delta counter which is independent of the particular number of filter channels or filter orders implemented. Test patterns may be inserted between functional blocks of an integrated circuit such as the disclosed audio codec by appropriate control of the preset and clear inputs to output latches of the functional blocks.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Inventor     Fischer; Jonathan Herman (Blandon, PA) , Smith; Lane Allen (Easton, PA)
Owner/Assignee     Lucent Technologies, Inc. (Murray Hill, NJ)
Patent assignment
All assignments
Publication Date     December 26, 2000
Application Number     09/027,912
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     February 23, 1998
US Classification     708/320 708/300 708/319
Int'l Classification    
Examiner     Mai; Tan V.
Assistant Examiner    
Attorney/Law Firm     Bollman; William H.
Address
Parent Case     This is a continuation of a provi. 60/074,217 Feb. 10, 1998.
Priority Data    
USPTO Field of Search     708/319 708/320 708/101 708/300
Patent Tags     recursive digital filter reset
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5418816
Yamamoto

May,1995

[0 after 0 votes]
June 1978


May,1995

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. A method of resetting a digital filter to avoid a continued DC offset in said digital filter, said method comprising:

detecting an unsynchronized condition of a framing signal with respect to a timing of said digital filter; and

resetting a latch in at least one stage of said digital filter based on said detection of said unsynchronized condition.

2. The method of resetting a digital filter according to claim 1, wherein said step of detecting said instability comprises:

counting a total number of clock pulses since an occurrence of a last framing signal; and

outputting a reset signal when said total number of clock pulses is not within an expected group of total count values when a new framing signal is detected.

3. The method of resetting a digital filter according to claim 1, further comprising:

detecting an overflow condition of an output of said digital filter.

4. A digital filter comprising:

a recursive stage;

an finite impulse response stage in series with and connected to an output of said recursive stage;

at least one of said recursive stage and said finite impulse response stage including a reset input line configured to be activated upon a detection of an unsynchronized condition with respect to a framing signal indicating a start of a data frame; and

an OR function to activate said reset input line with an occurrence of at least one of said detected unsynchronized condition and an overflow condition of an output of said output stage;

wherein a continued DC offset in said digital filter is avoided.

5. The digital filter according to claim 4, further comprising:

a count detector to detect said unsynchronized condition by comparing said framing signal with a total number of clock pulses after a last occurrence of said framing signal.

6. The digital filter according to claim 4, wherein:

said unsynchronized condition is detected by an unsynchronized framing signal with respect to said total number of clock pulses.

7. The digital filter according to claim 4, wherein:

said unsynchronized condition is detected based on an overflow condition of an output of said output stage.

8. The digital filter according to claim 4, wherein said recursive stage comprises:

a latch adapted to receive a reset signal from said reset input line.

9. The digital filter according to claim 4, wherein said recursive stage comprises:

an adder circuit.

10. The digital filter according to claim 4, wherein said output stage comprises:

a subtractor circuit.

11. The digital filter according to claim 4, wherein:

said digital filter is a comb filter.

12. A method of resetting a digital filter to avoid a continued DC offset in said digital filter, said method comprising:

detecting an unsynchronized condition of a framing signal with respect to a timing of said digital filter;

resetting a latch in at least one stage of said digital filter based on said detection of said unsynchronized condition;

detecting an overflow condition of an output of said digital filter; and

resetting said latch in said at least one stage of said digital filter based on said detection of said overflow condition.

13. The method of resetting a digital filter according to claim 12, wherein said step of detecting said instability comprises:

counting a total number of clock pulses since an occurrence of a last framing signal; and

outputting a reset signal when said total number of clock pulses is not within an expected group of total count values when a new framing signal is detected.

14. The method of resetting a digital filter according to claim 12, further comprising:

resetting said latch in said at least one stage of said digital filter based on said detection of said overflow condition.

15. A digital filter comprising:

recursive stage means for performing a recursive mathematical operation in said digital filter;

output stage means for receiving an output from said recursive stage means and outputting a filtered signal;

reset means for resetting at least one node in at least one of said recursive stage means and said output stage means, upon a detection of an unsynchronized condition with respect to a framing signal indicating a start of a data frame; and

OR means for activating said reset input line with an occurrence of at least one of said detected unsynchronized condition and an overflow condition of a signal output from said output stage;

wherein a continued DC offset in said digital filter is avoided.

16. The digital filter according to claim 15, further comprising:

counting means for counting pulses of a clock signal and determining an unsynchronized condition of said clock signal with respect to said framing signal.

17. The digital filter according to claim 15, wherein:

said unsynchronized condition is detected by an occurrence of an irregular framing signal.

18. The digital filter according to claim 15, wherein:

said unsynchronized condition is detected based on an overflow condition of a signal output from said output stage.

19. The digital filter according to claim 15, wherein said recursive stage means comprises:

latch means for latching a signal in said recursive stage means, and for receiving a reset signal from said reset input line.

20. The digital filter according to claim 15, wherein said output stage means comprises:

latch means for latching a signal in said output stage means, and for receiving a reset signal from said reset input line.

21. The digital filter according to claim 15, wherein:

said digital filter is a comb filter.
 Description Submit all comments and votes
 


BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to digital processing techniques, and more particularly to a recursive digital filter having internal nodes which are reset to avoid a continued DC offset.

2. Background of Related Art

Efficient and inexpensive digitization of telephone grade audio has been accomplished for many years by an integrated device known as a "codec." A codec (short for COder-DECoder) is an integrated circuit or other electronic device which combines the circuits needed to convert analog signals to and from Pulse Code Modulation (PCM) digital signals.

Early codecs converted analog signals at an 8 KHz rate into 8-bit PCM for use in telephony. More recently, the efficiency and low cost advantages of codecs have been expanded to convert analog signals at a 48 KHz sampling rate into 16-bit stereo (and even up to 20-bit stereo) for higher quality use beyond that required for telephony. With higher quality audio capability, today's codecs find practical application in consumer stereo equipment including CD players, modems, computers and digital speakers.

With the development of codecs for these more sophisticated purposes came the need to improve the analog signal-to-noise (S/N) ratio to at least 75 to 90 dB. Improved S/N ratios have been achieved largely by separating the conventional codec into Two individual sub-systems and/or two separate integrated circuits (ICs): a controller sub-system handling primarily the digital interface to a host processor, and an analog sub-system handling primarily the interface to, mixing and conversion of analog signals. This split digital/analog architecture has been documented most recently as the "Audio Codec '97 Component Specification", Revision 1.03, Sep. 15, 1996, as revised in "Audio Codec '97", Revision 2.0, Sep. 29, 1997 (collectively referred to herein as "the AC '97 specification"). The AC '97 specification in its entirety is expressly incorporated herein by reference.

FIG. 1 is a generalized block diagram of a conventional split-architecture audio codec conforming to the AC '97 specification. Audio codecs conforming to the AC '97 specification accommodate audio sources from CD players, auxiliary devices such as stereo equipment, microphones and/or telephones.

As shown in FIG. 1, currently known split-architecture audio codecs contemplate a host processor, an audio codec (AC) controller sub-system or IC 402, and an AC analog sub-system or IC 404. The connection between the AC controller sub-system 402 and the AC analog sub-system 404 is currently defined as a five-wire time division multiplexed (TDM) interface controlled by an AC-link 406 in the AC analog sub-system 404. The AC controller sub-system 402 may be a stand alone device, or it may be a portion of a larger device such as a Peripheral Component Interconnect (PCI) interface device. PCI is a processor-independent, self-configuring local bus. Alternatively, the AC controller sub-system 402 may be a part of a central processing unit (CPU).

Because of the capabilities of the split digital/analog architecture (i.e., AC controller sub-system 402 and AC analog sub-system 404), the AC '97 specification includes a significant amount of flexibility intended to capture a large market by satisfying many consumer-related audio needs. For instance, the conventional AC analog sub-system 404 includes interface capability to accept input From multiple sources and to mix the analog signals from those multiple sources. Possible analog signal sources include a CD, video, or telephone line.

FIG. 2A is a diagram showing relevant features of the conventional AC analog sub-system 404. The relevant features include an analog mixing and gain control section 200 accepting input from various analog audio sources 210 including a PC Beep signal, a telephone input, two microphone inputs, a general line in, a signal from a CD player, an analog signal from a video source, and an auxiliary input. The analog mixing and gain control section 200 mixes analog signals input from the various analog audio sources 210, and outputs up to three separate analog channels for digitization in analog-to-digital (A/D) converters 206a, 206b, 206c. A digital interface 202 prepares the mixed, digitized audio signals output from the A/D converters 206a-206c into a serial data stream for transmission via an AC link 406.

In the opposite direction, digital audio signals received from the serial data stream of the AC link 406 by the digital interface 202 are converted back into analog audio signals by digital-to-analog (D/A) converters 204a, 204b, and output to the analog mixing and gain control section 200 for gain control and output on the various desired analog audio source lines 210.

FIG. 2B is a more detailed schematic diagram of the analog mixing and gain control section 200 of the AC analog subsystem 404 shown in FIG. 2A. In FIG. 2B, the analog signals from the analog audio sources 210 are gain adjusted in analog form by analog gain adjusters 300, then mixed in analog mixer 310. A secondary analog mixer 312 allows the inclusion of the PC beep signal and telephone signal into the mixed analog product. The mixed analog signal is gain adjustable in gain adjuster 302 and output from the Analog mixing and gain control block 200 and AC analog subsystem 404. Analog mixer 314 mixes the left and right channels of the summed analog signal to provide a mono signal output, which is gain adjusted in analog gain adjuster 304. Analog mixer 316 similarly provides a mono output from the stereo output signal.

For recording, a multiplexer (MUX) 320 multiplexes signals from the various sources and allows selection of one per channel of the various sources together with a microphone signal for output to a master analog gain adjuster 306. The three gain adjusted analog signals output from MUX 320 are finally converted into digital signals by A/D converters 206a, 206b and 206c. Thus, the mixing and gain control of a conventional AC analog subsystem 404 is typically handled with analog circuitry.

While it is suitable to mix and gain adjust audio signals in analog form for certain applications as shown in FIGS. 2A and 2B, analog features on an integrated circuit require significant amounts of space in the AC analog subsystem 404. Analog circuitry also generally provides a larger source of electrical noise causing cross-talk or other disadvantageous side effects. Thus, to improve a signal to noise ratio of output signals, it is desirable to provide digital testing arid processing techniques, e.g., to minimize the analog circuitry in the AC analog subsystem.

SUMMARY OF THE INVENTION

In accordance with the principles of the present invention, a digital filter comprises a recursive stage, and an output stage in series with the recursive stage. At least one of the recursive stage and the output stage including a reset input line configured to be activated upon a detection of an unstable condition with respect to a framing signal indicating a start of a data frame.

A method of resetting a digital filter in accordance with the present invention includes detecting an instability in a framing signal. A latch is reset in at least one stage of the digital filter based on the detection of the instability.

BRIEF DESCRIPTION OF THE DRAWINGS

Features and advantages of the present invention will become apparent to those skilled in the art from the following description with reference to the drawings, in which:

FIG. 1 shows a conventional split-architecture audio codec.

FIG. 2A shows a conventional audio functional module of a conventional audio codec shown in FIG. 1.

FIG. 2B shows a conventional analog mixing and gain control functional module of a split-architecture audio codec as shown in FIGS. 1 and 2.

FIG. 3 shows relevant features of an AC analog subsystem in accordance with the principles of the present invention.

FIG. 4 is a more detailed schematic diagram showing the relevant features of the AC analog subsystem shown in FIG. 3.

FIGS. 5A(1) and 5A(2) are detailed block diagrams of a filter and gain adjust module in an A/D direction and a D/A direction, respectively, according to the present invention.

FIG. 5B shows in more detail a filter and gain adjust of the embodiment of the present invention shown in FIG. 4.

FIG. 6A shows a conventional SINC filter having separate taps.

FIG. 6B shows a recursive SINC filter in accordance with the present invention.

FIG. 7 shows in more detail an embodiment of the count detector for generating a reset signal to a SINC.sup.3 filter in accordance with another aspect of the present.

FIGS. 8A and 8B are timing diagrams for the count detector of the FIR filters shown in FIG. 7.

FIG. 9 shows an overflow/clamp circuit as applied to the disclosed embodiment of the present invention.

FIGS. 10A and 10B show an overflow/clamp circuit in accordance with another aspect of the present invention.

FIGS. 11A(1) and 11A(2) show logic for detecting overflow in an embodiment of the circuit of FIGS. 10A and 10B.

FIG. 11B shows in more detail an embodiment of the overflow/clamp circuit shown in FIGS. 10A and 10B.

FIGS. 12A and 12B are logic diagrams for the overflow/clamp circuit shown in FIG. 11B.

FIG. 13 is a timing diagram showing four cycles of a clock for use in each stage of an Infinite Impulse Response (IIR) filter in an embodiment of the present invention

FIGS. 14A, 14B and 14C are more detailed diagrams showing the implementation of six channels of 4 stage (i.e., 8.sup.th order) IIR filters in the embodiment of the present invention.

FIG. 15 is a schematic block diagram showing a six channel, 8.sup.th order IIR filter in accordance with the embodiment of the present invention.

FIG. 16 shows one technique for initializing random access memory (RAM) for storing state variables for a digital IIR filter.

FIG. 17 shows an improved technique for initializing random access memory for storing variables for a digital IIR filter in accordance with another aspect of the present invention.

FIG. 18A(1) is a more detailed block diagram showing one embodiment of the state variable RAM address bus generator shown in FIG. 15.

FIG. 18A(2) is a more detailed block diagram showing another embodiment of the state variable RAM address bus generator shown in FIG. 15.

FIG. 18B(1) is a schematic diagram of the embodiment of the state variable RAM address bus generator shown in FIG. 18A(1).

FIG. 18B(2) is a schematic diagram of the embodiment of the state variable RAM address bus generator shown in FIG. 18A(2).

FIG. 19 shows a circuit for inserting test bit patterns between digital functional modules in an integrated circuit.

FIG. 20 shows a circuit for inserting test bit patterns into a digital circuit in accordance with another aspect of the present invention.

FIGS. 21A and 21B are detailed circuit diagrams showing output latches within functional modules shown in FIG. 20.

FIG. 22A is a more detailed circuit diagram showing an embodiment of the test node controller shown in FIG. 20.

FIG. 22B is a logic table for the input, output and controlled latch output, for the test node controller shown in FIGS. 20-22A.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

The present invention relates in general to digital testing filtering and other digital functions, e.g., performed between the digitization of analog audio signals and the transmission of the digitized signals over a communication link. While the present invention is described with respect to specific embodiments relating to a split-architecture audio codec in conformance with the AC '97 specification, it relates to digital data testing, processing and filtering in general.

FIG. 3 shows relevant features of an AC analog subsystem of a split-architecture audio codec in accordance with the principles of an embodiment of the present invention.

In FIG. 3, an AC analog subsystem 390 includes a digital interface 352, a digital filter and gain module 357 including six channels of gain control 356a, 356b, and six channels of digital filtering 360a, 360b, a digital mixing and gain control module 354, three D/A converters 370a, 370b, 370c, and three A/D converters 378a, 378b, 378c.

The digital interface 352 receives three digital audio signals from the AC link 406 (i.e., left, right and monaural ("mono")), and outputs the same to three channels of the digital gain control module 356a operating in a D/A direction. The digital gain control module 356a provides programmable gain to the digital signals of each channel. For instance, in the disclosed embodiment, between +12 to -46.5 decibels (dB) (i.e., attenuation) of gain, e.g. in 1.5 dB steps, is provided to the digital audio signals before they are each output to appropriate channels of a digital filter module 360a for filtering. After filtering, the three channels of digital audio signals are input to the mixing and gain control module 354 for mixing and additional gain control, if desired. After appropriate mixing with other signals as desired, and after appropriate gain control (e.g., attenuation), the digital audio signals are converted into analog signals in D/A converters 370a, 370b, 370c, and output from the AC analog subsystem 404 (FIG. 2A).

FIG. 4 shows the circuit of FIG. 3 in more detail. FIG. 4 shows details of the digital processing both in an A/D direction (upper portion of FIG. 4), and in a D/A direction (lower portion of FIG. 4).

In the A/D direction of FIG. 4, a left (L) and right (R) channel of either a LINE IN signal or a CD signal are selected by multiplexers (MUXs) 402, 403 for input to analog gain modules 405, 406. The analog gain modules 405, 406 are formed by programmable gain adjust modules in the disclosed embodiment, and provide an analog gain of between 0 and 12 dB. Of course, analog gain can be provided in any conventional form, and may alternatively be eliminated entirely, particularly if full conformance with the AC '97 specification is not required in audio codec applications.

The analog signals are output from the analog gain modules 05, 406 to .SIGMA./.DELTA. A/D converters 408, 410, respectively, for digitization. The disclosed .SIGMA./.DELTA. A/D converters 408, 410 input analog signals in a range of 0 to 5 volts and output 1-bit .SIGMA./.DELTA. data at a 12.288 megabit per second (Mb/s) rate. However, it is to be understood that the particular data encoding techniques, analog signal range, sample size and data rate are exemplary only. Aspects of the present invention are equally applicable to differing data encoding techniques, analog signal ranges, sample sizes, and/or data rates.

The left, right, monaural and other audio signals digitized in the A/D direction pass through a bank of digital gain adjusters 420, which each provide a gain adjustment, e.g., of between 0 and -46.5 dB (i.e., an attenuation) for digital signals in respective digital channels, -46.5 dB essentially providing a mute of that audio path. Both banks of digital .SIGMA./.DELTA. gain adjusters 420, 464 provide gain adjustment to input digital signals, e.g., to 1-bit .SIGMA./.DELTA. encoded audio data.

The AC '97 specification requires at least between +12 dB and -46.5 dB of gain in each channel. In the disclosed embodiment, which is in general conformance with the AC '97 specification, positive gain is accomplished in the analog gain modules 405, 406, and negative gain is distributed among several digital gain adjustment modules, first in the gain adjuster module 420, then after summation of left and right channels in digital .SIGMA./.DELTA. mixers 444 and 446 in master channel gain adjusters 430 and 432, and then in the digital filters/gain adjust modules 434, 436 and 428. The master channel gain adjusters 430, 432 and 426 provide a gain adjust of between 0 and -46.5 dB. Of course, but for conformance with the AC '97 specification, any or all of the gain control may be consolidated into fewer modules, distributed over more modules, increased, decreased, and/or eliminated as desired.

Two microphone signals MIC1, MIC2 are input to a multiplexer 412 for selection of either microphone input signal MIC1, MIC2 for further processing. The selected microphone signal output from the microphone MUX 412 passes through two programmable gain adjust modules (not shown), one providing a gain of between 0 and 12 dB, and the other providing a gain of between 0 and 32 dB, and optionally through a filter 416, before being digitized by .SIGMA./.DELTA. A/D converter 414.

Inventively, preferably all positive gain desired in a particular channel is accomplished before digitization. However, because each input channel (e.g., the microphone path 415) may be digitized and fed to as many as five separate destination paths (e.g., microphone destination paths 415a to 415e), this would require as many as five A/D converters each having as many as five corresponding gain adjusters. The present embodiment simplifies the requirements to only a single gain adjuster before a single A/D converter in each input path.

For instance, in the microphone path, instead of the single gain module 416 shown in FIG. 4 placed before the A/D converter 414, conventional techniques would have otherwise required five separate gain modules in each of the destinations 415a-415e. Thus, because each channel may have a different gain value fed to each of a plurality of destinations (e.g., to the left record, right record, mono output, left playback, and right playback), conventional techniques dictate the use of a plurality of separate gain modules for each input. This is undesirable, inter alia, because it requires a significantly larger amount of circuitry.

Instead, as shown in FIG. 4 in accordance with the principles of this embodiment, a single gain adjuster, e.g., 416, in the microphone path 415, is placed in each path. The single gain adjuster 416 handles all overall positive gain for all of the destinations. The single gain adjuster, e.g. 416, is preferably placed in an analog path, e.g., before the A/D converter 414 for the microphone path 415, to take advantage of the lower noise floor before digitization.

The single gain adjuster, e.g., 416, is programmed to provide an amount of positive gain equal to the highest required for any of its output paths, e.g., 415a-415e. Then, to provide flexibility in each channel utilizing the gain adjusted digitized signal, suitable amounts of attenuation is added in subsequent gain adjusters, e.g., 420, 426 and/or 464, to attenuate the digitized signal back down to the desired level.

For instance, if the user of the device programs registers requiring gain for the microphone path 415 as follows:

TABLE I ______________________________________ PATH OVERALL GAIN ______________________________________ Record Right +12 dB Record Left +6 dB Record Mic +3 dB Play Right -3 dB Play Left -9 dB ______________________________________

Then the single gain adjuster 416 is programmed to provide +12 dB of gain for all destinations 415a-415e. Thereafter, suitable attenuation is programmed in any subsequent gain adjuster to reduce the overall gain back to the desired level. For instance, the Record Right path would not have any attenuation added subsequently, the Record Left path would attenuate by 6 dB, e.g., in the corresponding gain adjuster in bank 420, the Record Mic path would attenuate by 9 dB, e.g., in the corresponding gain adjuster in bank 420, the Play Right path would attenuate by 15 dB, e.g., in a corresponding gain adjuster in bank 464, and the Play Left path would attenuate by 21 dB, e.g., in a corresponding gain adjuster in bank 464.

If no destination path, e.g., 415a-415e requires positive gain, then the single gain adjuster, e.g., 416, is set to provide 0 gain.

The use of a single gain adjuster instead of a plurality of gain adjusters also simplifies the effort by a processor to change gain settings in each gain adjuster, e.g., on a frame-by-frame basis.

A processor such as a microcontroller can be implemented to control the various gain adjusters. For instance, a microcontroller can interpret the overall gain stored in registers by a user, placing all positive gain in the most suitable gain adjusters, e.g., before digitization, and to distribute attenuation among other gain adjusters in the various paths.

The audio codec may also include provisions for input from other audio sources such as a telephone. For instance, a conditioned signal PH.sub.-- RECEIVE or a telephone line type signal PH.sub.-- HYBRID may be input to a down-line phone (DLP) interface 418, which includes a hybrid for the telephone line signal. The monaural telephone signal is digitized in a .SIGMA./.DELTA. A/D converter 422.

The output from either the microphone .SIGMA./.DELTA. A/D converter 414 or the telephone .SIGMA./.DELTA. A/D converter 422 is selected in MUX 424 for gain adjustment in gain adjuster 426, and filtering and gain adjustment in digital filter and gain adjuster 428, before being output to the digital interface 352 (FIG. 3).

In the A/D direction as shown in FIG. 3, three channels of analog input signals (e.g., left, right and microphone) are digitized in A/D converters 378a, 378b, 378c. In the disclosed embodiment, the analog signals are in a range of between 0 and 5 volts, but of course may be any appropriate voltage range. The three channels of digital signals from the A/D converters 378a-378c are mixed and gain controlled in three additional channels of the mixing and gain control module 354, where programmed gain and mixing occurs as in the channels in the D/A direction. The resultant signals are output to the digital interface 352 for transmission on the AC serial link 406.

While it is possible to provide all gain control in a single module, the disclosed embodiment preferably distributes the gain control, e.g., between the mixing and gain control module 354 and again control modules 356a, 356b.

The disclosed D/A converters 370a-370c and A/D converters 378a, 378b, 378c are sigma/delta (.SIGMA./.DELTA.) converters accepting (D/A) and providing (A/D) 1-bit data samples at a desired sampling rate, e.g., 12.288 Mb/s. The digital .SIGMA./.DELTA. mixers 444, 446, 466, 468 (FIG. 4) digitally mix the respectively input digital signals for the various sources. The digital signals are mixed, e.g., at data rates of 12.288 Mb/:3.

While 12.288 Mb/s is a preferred data rate for the .SIGMA./.DELTA. converter in the disclosed embodiment, it is in no way the only data rate possible. It is to be understood by those of skill in the art that this (and other) data rates disclosed herein are by way of example only.

The digital processing within the mixing and gain control module 354, the digital filters 360a, 360b, and the gain control modules 356a, 356b is performed on the digital audio samples, e.g., .SIGMA./.DELTA. encoded digital data. Of course, certain aspects of the present invention are equally applicable to processing data which is encoded using various techniques, not just .SIGMA./.DELTA., and having many sample sizes, not just 1-, 18- or 20-bit samples.

The disclosed audio codec embodiment utilizes .SIGMA./.DELTA. encoding to encode an analog signal into 1-bit samples. Sigma-delta (.SIGMA./.DELTA.) converters (sometimes referred to as delta-sigma (.SIGMA./.DELTA.) converters by those of skill in the art) are well known. One advantage of using X/A D/A and A/D converters is to facilitate easy-to-manufacture digital circuitry along with low-precision analog circuitry, allowing for highly integrated D/A and A/D converters to be created primarily with digital techniques. One conventional publication describing conventional .SIGMA./.DELTA. A/D and D/A converters is "Analog-to-Digital Conversion-A Practical Approach" by Kevin M. Daugherty, McGraw-Hill, Inc. (1994), which is expressly incorporated herein by reference.

Similar circuitry is present for three channels in the opposite direction, i.e., in the D/A direction wherein digital audio channels from the digital interface 352 provide digital signals for output from the AC analog subsystem in analog form. In this direction, in the disclosed embodiment, digital filter/gain adjusters 450, 452, 454 filter and gain adjust audio channels, e.g., the left, right and monaural channels, respectively, from the digital interface 352. The digital signals are converted, e.g., into .SIGMA./.DELTA. encoded single bit samples in digital-to-digital .SIGMA./.DELTA. converters 456, 458, 460. A monaural MUX 462 selects between the mono signal from the digital interface 352 and the selected microphone input from the microphone A/D .SIGMA./.DELTA. converter 414. A bank of gain adjusters 464 respectively digitally gain adjust individual channels, e.g., from 0 to -46.5 dB, and the gain adjusted output is summed in digital .SIGMA./.DELTA. mixers 466, 468. Master gain adjusters 470, 472, 474 provide a gain adjustment, e.g., of 0 to -46.5 dB for each of the audio channels before conversion to analog in D/A .SIGMA./.DELTA. converters 482, 484, 486. The D/A .SIGMA./.DELTA. converters 482, 484, 486 each receive, e.g., 12.288 MHz 1-bit .SIGMA./.DELTA. data and output an analog signal in a range, e.g., of between 0 and 5 volts.

Digital summer 477 adds signals from a left and right channel to form a monaural signal, which is gain adjusted in gain adjuster 480.

While FIGS. 3 and 4 show the processing of six digital audio channels, i.e., three in the A/D direction and three in the D/A direction, the present invention is equally applicable to any number of channels of digital processing in either the A/D direction and/or the D/A direction.

Analog filters 488, 490, 492 provide analog filtering of the signals before output from the AC analog subsystem by rejecting out-of-band energy, e.g., audio signals beyond 20 KHz. For instance, in the disclosed embodiment, line out left, line out right, and monaural signals are output from the AC analog subsystem. The analog filters 488, 490, 492 may be altered or eliminated as desired.

The digital filter/gain adjuster modules 434, 436, 428, 450, 452 and 454 form, e.g., six separate filter channels of a common digital filtering module 451. More or fewer channels may be provided as necessary to provide the desired number of digital filter functions, but for conformance with the AC '97 specification. Each of the digital filter/gain adjuster channels 434, 436, 428, 450, 452, and 454 filters out or eliminates out-of-band (e.g., over 20 KHz) energy in the digital signal. The filter channels also provide a decimation or interpolation function, decreasing or increasing the data rate, respectively. In the A/D direction, digital filter gain adjuster modules 434, 436, 428 provide a decimation of the data samples to a lower data rate, while the digital filters 450, 452 and 454 in the D/A direction provide an interpolation of the data samples.

Each digital filter/gain adjuster module 434, 436, 428, 450, 452 and 454 comprises, e.g., two separate filters: A two-stage decimation finite impulse response (FIR) filter, and an infinite impulse response (IIR) filter. Preferably, after filtering, the digital signal in each channel contains energy only in the desired range, e.g., in the 0 to 20 kilohertz (KHz) range, with a desired out-of-band rejection, e.g., of approximately at least -74 dB. Of course, the pass band and/or out-of-band rejection level may be adjusted to suit particular applications. An FIR filter and an IIR filter are both utilized because they are complementary to one another. The IIR filter provides the desired out-of-band rejection, e.g., of at least about -74 dB, but has repeating images at the filter rate, e.g., every 192 KHz. The FIR filter, while not contributing as significantly to the out-of-band rejection in the disclosed embodiment, eliminates the repeating images caused by the IIR filter.

A digital gain adjustment may be provided with the FIR filter and IIR filter in each channel. For instance, in the disclosed embodiment, a user programmable gain of either 0, -6, -12 or -18 dB is provided in each channel of the common digital filtering modules 451. Of course, the digital gain adjustment may be eliminated, but for conformance with the AC '97 specification, if desired.

A primary purpose of the filters 434, 436, 428 in the A/D direction is decimation, and the primary purpose of the filters 450, 452, 454 in the D/A direction is interpolation. The FIR filter and IIR filter in each channel of the common digital filtering module 451 in the A/D direction reduces (or decimates) the data rate from 12.288 Mb/s to 48 Kb/s. The decimation is distributed between the FIR filter and the IIR filter in the preferred embodiment, but may be carried more fully or entirely either by the FIR filter or the IIR filter. In the disclosed embodiment, the FIR filter in each of the three digital filter/gain adjust modules 434, 436, 428 in the A/D direction decimates by 64, and the IIR filter in these digital filter/gain adjust modules 434, 436, 428 decimates by 4. In the D/A direction, the FIR and IIR filters interpolate by 64 and 4, respectively. Therefore, the data rate output from the FIR filter is, e.g., 192 Kb/s, and the data rate output from the IIR filter is, e.g., 48 Kb/s, which is the final data rate of the AC link 406 (FIG. 3). Of course, decimation and interpolation may be performed between data rates other than to 48 Kb/s if full conformance with the AC link of the AC '97 specification is not desired.

The FIR and IIR filters are implemented in hardware in the disclosed embodiment, e.g., in a field programmable gate array (FPGA). Alternatively, the functions of the FIR and IIR filters may be performed in a processor such as a digital signal processor (DSP). The FIR and IIR filtering and other details of conventional digital filter/gain adjuster modules are disclosed in more detail in U.S. Pat. No. 5,457,456, entitled "A Data Converter with Programmable Decimation of Interpolation", the content of which is explicitly incorporated herein by reference.

The digital-to-digital .SIGMA./.DELTA. converters 456, 458, 460 receive, e.g., 20-bit .SIGMA./.DELTA. encoded data samples at, e.g., a 12.288 MHz data rate, and convert the same into 1-bit .SIGMA./.DELTA. encoded data samples at the same rate, e.g., 12.288 Mb/s.

The digital .SIGMA./.DELTA. mixers 444, 446, 466, 468 are all identical in nature and provide completely asymmetrical mixing capabilities so that different audio signals may be mixed in the A/D direction (e.g., the record path) than that mixed in the D/A direction (e.g., the playback path). As will be discussed in greater detail below, the digital .SIGMA./.DELTA. mixers 444, 446, 466, 468 each inventively contain overflow protection.

The digital filter/gain adjust modules 434, 436, 428, 450, 452 and 454 are shown in greater detail in FIGS. 5A(1), 5A(2) and 5B. FIG. 5A(1) depicts the signal flow of the filtering channels in the A/D (i.e., decimation) direction, while FIG. 5A(2) depicts the signal flow of the filtering channels in the D/A (i.e., interpolation) direction. FIG. 5B shows a more efficient utilization of hardware resources implemented in the disclosed embodiments wherein common circuitry is used for filtering and gain control in both the A/D and D/A directions.

FIG. 5A(1) depicts each of the individual filter and gain adjust channels 434, 436 and 428 in the A/D direction, while FIG. 5A(2) depicts each of the individual filter and gain adjust channels 450, 452 and 454 in the D/A direction.

In FIG. 5A(1), data from an A/D converter, e.g., 12.288 Mb/s 1-bit .SIGMA./.DELTA. encoded data samples, is input to an FIR filter 502a operating as a decimator. The FIR filter 502a decimates the A/D signal from 1-bit .SIGMA./.DELTA. encoded data samples at 12.288 Mb/s to 18-bit linear data samples at 192 Kb/s. The 18-bit linear data samples are output at 192 Kb/s from the FIR filter 502a and input to a gain/overflow module 506a, which provides gain and inventively checks to determine and provide correction for overflow in the digital samples, as will be discussed in greater detail herein below. The digital gain/overflow module 506a allows, e.g., the insertion of 0, -6, -12 or -18 dB gain (i.e., attenuation).

The gain/overflow module outputs data samples, e.g., at 192 Kb/s to an IIR filter 508a, which is operated in a decimating mode for samples in the A/D direction. The IIR filter 508a decimates, e.g., the 20-bit linear data samples at 192 Kb/s by 4 to provide 20-bit linear data samples at 48 Kb/s. The IIR filter has a gain of 4 in the A/D direction, and a gain of 0.8 in the D/A direction.

FIG. 5A(2) shows the process flow in the D/A (i.e., interpolation) direction. In this direction, in the disclosed embodiment, 20-bit linear data samples are output at, e.g., 48 Kb/s from a sample source, e.g., the digital interface 352, and provided to a gain/overflow module 506b. The gain/overflow module 506b provides gain and checks against overflow, as provided by the gain/overflow module 506a in the A/D direction.

In the D/A direction, e.g., 20-bit 48 Kb/s data samples are interpolated by 4 in the IIR filter 508b. Accordingly, 20-bit linear data samples are output from the IIR filter 508b at 192 Kb/s and directed to an FIR filter 502b. The FIR filter 502b interpolates, e.g., the 20-bit samples from 192 Kb/s to 12.288 Mb/s for output toward a D/A converter.

For ease of design, common circuitry in the filter channels in either the A/D (i.e. decimation) direction or D/A (i.e. interpolation) direction may be commonly utilized. For instance, samples in the A/D direction may be multiplexed with samples in the D/A direction, and appropriately processed within common filtering components. The common filtering components include appropriate control signaling to indicate the direction of the current samples, e.g., the A/D direction or D/A direction.

In particular, FIG. 5B shows a digital filter channel capable of operation in either an A/D direction or a D/A direction. Control of the processing is multiplexed between interpolation and decimation, with appropriate latching of samples and switching of multiplexing functions 504, 510 as necessary.

In FIG. 5B, a multiplexer function (MUX) 504 alternately selects for output either an A/D direction sample from the FIR filter 502 operating as a decimator, or a D/A direction sample from, e.g., the digital interface 352. Thus, since the disclosed embodiment includes an equal number of filtering channels in both the A/D and D/A directions, every other sample output from the MUX 504 is a 18-bit, 192 Kb/s data sample from the FIR filter 502, and the alternating every other sample output from the MUX 504 is a 20-bit, 48 Kb/s sample from the digital interface 352. The MUX 504 samples alternately between the A/D and D/A directions because of the symmetry provided by three filter channels in each direction in the present embodiment of an audio codec. However, the particular number of decimation channels and the particular number of interpolation channels may be altered in accordance with the principles of the present invention.

The disclosed embodiment includes an IIR filter 508 to accomplish high out-of-band rejection, e.g., greater than about -74 dB of rejection. The FIR filters 502, 510 in the disclosed embodiment are implemented as comb filters because of ease of design.

All or most of the decimation or interpolation performed in each digital filter/gain adjustment module 434, 436, 428, 450, 452 and 454 may be performed in either the FIR filter 502, 510 or the IIIR filter 508. Moreover, while the FIR filters 502, 510 in the disclosed embodiments are comb filters, other filter types may be implemented within the principles of the present invention.

FIG. 6A shows a conventional non-recursive comb filter, while FIG. 6B shows a recursive comb filter of the FIR filters 502, 510 of the present invention in greater detail.

In the non-recursive comb filter shown in FIG. 6A, separate taps 650-656 and summer 658 which sums the output from each of the separate taps 650-656 perform the comb filtering function. The separate taps 650-656 present little if any problem of DC offset buildup because the internal nodes feed only forward, and any DC buildup would bleed off. However, the conventional non-recursive comb filter as shown in FIG. 6A is nevertheless disadvantageous because of the use of separate, non-recursive taps 650-656. The separate taps 650-656 require a significant amount of space to implement in an integrated circuit.

In FIG. 6B, a recursive comb filter is implemented to reduce the required amount of space of the comb filter. The recursive comb filter is commonly referred to as a SINC.sup.3 filter, and has a pole on the unit circle. The comb filter of the disclosed embodiment implements the following SINC.sup.3 function: ##EQU1## wherein N is the decimation or interpolation rate. A SINC.sup.3 filter is a common way of referring to a comb filter with a transfer function which has zeroes at the decimation (or interpolation) rate so that every 192 KHz, the attenuation of the transfer function becomes infinity.

While a conventional comb or SINC.sup.3 filter may be implemented, conventional SINC.sup.3 filters are disadvantageous in that if any discontinuity in the input data is present, i.e., if the input data becomes unsynchronized, a DC value builds up inside the filter and does not leak off. Unfortunately, this DC buildup eventually causes the filter to overload. The inventive SINC.sup.3 filter shown in FIG. 6B prevents DC buildup by resetting if the comb filter control signals are unstable, i.e., not synchronous, or if an overflow has occurred in the SINC.sup.3 filter. If either condition is true, the SINC.sup.3 filter is caused to reset to avoid a DC buildup.

Asynchronous conditions do not generally occur within the same integrated circuit because of the proximity and predictability of the elements. However, asynchronous conditions are possible when separate integrated circuits are interfaced together, e.g., the AC controller 402 and the AC analog 404 of a conventional audio codec (FIG. 1). For instance, in the split-architecture audio codec, a frame signal is generated in the AC controller and AC link, which is transmitted to the AC analog for generation of a lower speed clock. The externally generated frame signal may contain noise or jitter causing asynchronous operation of the comb filter.

The inventive SINC.sup.3 filter shown in FIG. 6B is implemented in two stages: one stage 602 is recursive operating under the control of a high speed oversampling clock CK1 (e.g., a 12.288 Mb/s clock), and another stage 604 operates under the control of a lower speed clock CK2 (e.g., a 192 Kb/s clock). The decimation or interpolation rate N is equal to CK1/CK2. The stages 602, 604 shown in FIG. 6B are repeated three times to provide a SINC.sup.3 filter forming the FIR filters 502, 510 in an embodiment of the present invention.

A decimating SINC.sup.3 is shown in FIG. 6B, while an interpolating SINC.sup.3 filter has the stages 602, 604 reversed from that shown in FIG. 6B.

The recursive stage 602 of the SINC.sup.3 filter is comprised of an adder circuit 620, and an output latch 622 to latch the output of the adder circuit 620 on the transition of the higher speed clock CK1. The output stage 604 of the SINC.sup.3 filter is comprised of an input latch 624 to latch a first input to a subtractor 628, and a second latch to latch the output of the first input latch 624 for input to the other input of the subtractor 628. The output of the subtractor 628 is latched in a latch 630, for output to the overflow detector 608.

The recursive stage 602 operating under the control of the higher speed clock CK1 implements the transfer function 1/(1-Z.sup.-1), while the output stage 604 operating under the control of the lower speed clock CK2 implements the transfer function (1-Z.sup.-N). When the stages 602 and 604 are placed in series as shown in FIG. 6B, the desired SINC.sup.3 transfer function results.

In order for the SINC.sup.3 filter to properly track the input signal, the recursive stage 602 must not operate for more than N cycles without a pulse of the lower speed clock CK2. A problem occurs when the system synchronization signal (e.g., a framing signal) is noisy, jittery or otherwise occurs asynchronously. This condition may otherwise cause erroneous resetting of the control logic signals too early or too late. When this happens, the lower speed clock CK2 may not be generated during the next frame, allowing the recursive stage 602 of the SINC.sup.3