basic questions about using FIR filters - diyAudio
Go Back   Home > Forums > Source & Line > Digital Line Level

Digital Line Level DACs, Digital Crossovers, Equalizers, etc.

Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Reply
 
Thread Tools Search this Thread
Old 10th March 2009, 03:19 AM   #1
jrwone0 is offline jrwone0  United States
diyAudio Member
 
Join Date: Jan 2009
Default basic questions about using FIR filters

I'm interested in implementing EQ and digital crossovers on the PC. I'm a programmer but in this case I'm not trying to right code just grasp the basics enough to use existing packages. I've read a little bit about FIR filters but some things are still fuzzy for me.

It seems like the "windows" referred to related to FIR filters (Kaiser, Hamming etc... ) are approaches to "designing" FIR filters which means creating coefficients to use with a FIR filter execution engine. So they related to the "design" stage of FIR filters and but aren't part of the algorithms used for the implementation a FIR filter execution engine. On the execution engine side a "window" is also referred to but this is just a sample buffer not some specific algorithm like the above. At least this is what I have gathered. However, in reading the Brutefir page http://www.ludd.luth.se/~torger/brutefir.html I see it mentions using a Kaiser window for doing "subsample delay" and you can set the "beta" to be used. Since Brutefir is just a FIR filter execution engine this makes me think I'm wrong and the different window types are part of the algorithms for the execution engine?

Also I haven't found anything like a practical how to for developing FIR filters for doing crossovers in speakers or the like. I mean anything saying this window type is better for crossovers of this slope in this circumstance or how many coefficients is usually sufficient to get suitable audio quality etc. Does anything like this exist? Or maybe the tradeoffs involved are too complicated to make a simple cookbook for stuff like this?
  Reply With Quote
Old 10th March 2009, 09:40 AM   #2
diyAudio Member
 
Join Date: Mar 2003
Location: Mountain View, CA
jrwone0,

You're pretty much right on the money with your post. Some points:
- Windowing is indeed to do with coefficient design. A popular method of designing a filter is to begin with the central chunk of a sinc function as the filter kernel and then taper it at the ends with some windowing function. Without windowing, if you stacked multiple copies of your kernel end to end, there would be a sharp transition between each one. The aim of windowing is to mitigate this and get a smooth transition - something which (not immediately obviously) has a huge effect on the performance of the filter.
Once the coefficients are designed, all you need is a convolver to perform the filtering - you don't need to consider things like windowing again.

- BruteFIR is a comprehensive FIR filtering system - not just a convolver. The subsample delay (which is implemented with another convolution process) is an optional feature which is not part of a basic, general FIR filter, but which the author of BruteFIR thought would be useful to people who need one. In general speaker applications, I imagine sub-sample delay would not often be needed.

- There are some guides around on the net which take you through the basic properties of different window functions (and the maths of them generally isn't too bad, if that's your thing), but overall cookbooks are, as you say, difficult come by. I would suggest that, no matter how many guides you can find around, nothing will beat manual experimentation with a numerical software package. I believe GNU/Octave runs on Windows as well as Linux, and is free (unlike MATLAB, which is what I've been using since my undergrad). It will certainly take some learning if you've never used such a package before, but will allow some real fine-tuning of both your filters and your knowledge. IMO, the variables are really a bit subtle to allow cookbook style design for this sort of thing.
__________________
Wingfeather
  Reply With Quote

Reply


Hide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
LP & HP Filters & Crossovers, a few newb questions... Lab_Rodent Parts 3 16th February 2008 07:50 AM
Some basic questions about Q wigginjs Multi-Way 8 20th October 2004 07:22 PM
Questions about Pi filters eeka chu Pass Labs 2 28th November 2003 06:51 PM
Basic Questions DarkMage Multi-Way 2 5th November 2003 02:51 PM
Basic Questions wnichol Solid State 4 16th November 2001 04:59 AM


New To Site? Need Help?

All times are GMT. The time now is 11:19 PM.


vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2014 DragonByte Technologies Ltd.
Copyright 1999-2014 diyAudio

Content Relevant URLs by vBSEO 3.3.2