[sci.electronics] Discrete Time Filters for Audio

kirk@sdd.hp.com (Kirk Norton) (02/14/91)

A few weeks ago I posted a question regarding discrete-time audio filter
design.  Since then, I have received several responses and some requests
to post the results.  So....here goes...

All of the responses I received agreed that the bilinear transform with
frequency prewarping was the best method to use, since it is the most
efficient and accurately reproduces the original frequency response
for frequencies "sufficiently lower" than the folding frequency
(for 44.1 KHz sampling rate, as I wanted to use, this means that my 
frequency response would only be accurate for frequencies << 22.05 KHz --
 not really good enough).

To deal with higher frequencies (between 10 KHz and 20 KHz), there are
basically two options:

  1.  Sample faster (I know, pretty obvious, but we must be thorough, musn't
      we?).  By oversampling at 2X, 4X, 8X, or even 16X the nyquist
      rate, acceptable response may be achieved at the frequencies
      of interest (up to 20 KHz).

  2.  If sampling at 44.1 KHz is ABSOLUTELY NECESSARY, acceptable response
      up to 20 KHz may be achieved, but it's not easy:
 
      a.  It requires an anti-aliasing filter with a pass band at 20 KHz
          and a stop band at 22.05 KHz -- not trivial...

      b.  and a reconstruction filter with similar frequency 
          response and sinx/x equalization for the non-impulse 
          D/A output -- yuck, ack, ptooey!

For those "phase linearity conscious" designers out there, the above method
may not be good enough, since it produces an IIR (infinite impulse response)
filter.  An FIR (finite impulse response) filter produces a linear phase
response, which, they tell me, may be advantageous in processing particular
audio signals.  The only method of producing this type of filter that
was suggested is the 'Park-McCellan' iteration, and it has the advantage
of being one of the more efficient FIR design techniques. 

I decided to go with the higher sampling rate (I know, whatta wimp) and
to use the ol' BLTWFPW myself (oh yea, and 16-bit resolution, too).

Many thanks to all those who responded.  If I typed any of this stuff
incorrectly, please let me (or the net) know.

-Kirk

--    As far as I know, Bill and Dave don't share these opinions.   --
--             (That's why they make the big bucks.)                --

      Kirk Norton 
      Hewlett-Packard, San Diego Division
      16399 West Bernardo Drive                                  
      San Diego, CA  92127-1899 

max@prls.UUCP (Max_Hauser) (02/20/91)

This application comes up a lot for the programmable DSP chips, like
TI's and Motorola's (mentioned as examples only; not an exhaustive 
list).  Interested parties might take a look at their applications
literature.  Also, comp.dsp is full of this kind of stuff and some
very knowledgeable people post there.

As for my own opinion:  When in doubt, oversample!   :-)

M. Hauser      ...mips!prls!max


no graphics  /  no fancy signature  /  no awfully clever quotation
   no painfully complicated conditional-permission-to-reproduce