|
|||||||
| Home | Forums | Rules | Articles | Store | Gallery | Blogs | Register | Donations | FAQ | Calendar | Search | Today's Posts | Mark Forums Read | Search |
| Digital Source Digital Players and Recorders: CD , SACD , Tape, Memory Card, 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 |
|
|
|
Thread Tools | Search this Thread |
|
|
#1 |
|
diyAudio Member
Join Date: Jan 2004
Location: graz
|
hi,
I am working on a digital crossover for multichannel pc audio cards like creative or philips in combination with multichannel power amplifiers. The tricky part is how to design suitable filter coeff's for low and high pass-band FIR filters. What I have tried is to do a straight forward approach with matlab (remez) to get a set of coeff's. The result was blobs and ringing during audio playback in the low-pass filter. my question is, do constraints exists like even or odd filter order, slope,... can you help me.. regards, millim |
|
|
|
#2 |
|
diyAudio Member
Join Date: Oct 2003
Location: Ottawa, Canada
|
The fundamental problem is that you are trying to design a FIR filter. So the concept of "order", "slope", etc. do not apply in the same way as they do for analog filters, or for IIR filters which mimic analog filters.
An FIR filter to implement a 80 Hz filter at 48 kHz sampling rate (pretty standard for PC audio and DVD) would have to have about 6000 coefficients. Implement one high and one low pass per channel, multiplied by 6 channels, multiplied by 48000 samples per second, multiplied by say 8 CPU instructions per coefficient calculation, and you can see that you'll need a 30 to 40 GHz processor to do this in real time. So you may be able to do this around the year 2015. If you are thinking more near-term, then consider IIR filters
|
|
|
|
#3 | |
|
diyAudio Member
Join Date: Sep 2002
Location: Copenhagen, Denmark
|
Quote:
http://www.ludd.luth.se/~torger/brutefir.html With a massive convolution configuration file setting up BruteFIR to run 26 filters, each 131072 taps long, each connected to its own input and output (that is 26 inputs and outputs), meaning a total of 3407872 filter taps, a 1 GHz AMD Athlon with 266 MHz DDR RAM gets about 90% processor load, and can successfully run it in real time. The FIR filter coefficents produced by remez is a phase linear filter and that gives rise to rining. you should look at minimum phase filters. One way of obtaining this is taking the impulse response of the corresponing analog filter. use windowing to the desired number of taps and ther you have your FIR filter coefficients Based on IIR filers take a look at AsioXO; http://www2.gol.com/users/pcazeles/asioxo.htm And for formulars on IIR coefficients look at; http://www.harmony-central.com/Compu...Q-Cookbook.txt Nothing wrong with IIR filters you can always use DRC to correct the phase distortion they produces like conventional analog filters. http://freshmeat.net/projects/drc/?topic_id=114 Be warned though DRC has a quite steep learning curve. Morten |
|
|
|
|
#4 |
|
diyAudio Member
Join Date: Oct 2003
Location: Ottawa, Canada
|
IIR filters (Bi-Quadratic) are minimum phase. So what is the advantage of using a FIR filter designed for minimum phase? Their impulse and therefore phase responses will be the same. Minimum phase is minimum phase is minimum phase.
BruteFIR doesn't do true FIR's. It essentially performs a long FFT and scales the result according the the filter coefficients, and then converts back to the time domain. This has a similar effect as an FIR filter, but it is not an FIR filter in the conventional sense. I personally prefer not to subject my music to FFT's. Have you ever simply taken a piece of music and run it through a FFT and back again, and compared this to the original? You might think that it wouldn't be altered, but the effect is dramatic. A short FFT gives poor resolution in the bass. A long FFT becomes ringy, with a distinct pre-response. The effect is an overall smearing of the music in time. FIR filters can have the same effect, since they can theoretically respond to n/2 future samples (n is the number of coefficients). IIR filters can only respond to the current sample and past samples. FIR? FFT? No thanks. |
|
|
|
#5 | |||
|
diyAudio Member
Join Date: Sep 2002
Location: Copenhagen, Denmark
|
Quote:
Quote:
Quote:
Can i challenge you to try Foobar 2000 with the convolution module ? Use the Kroenecker delta impulse as the FIR coefficents. I would be most interesting to know if you can hear any difference using the convolver or not. This convoler is based on the same but slightly simple scheme as Brutefir. ( i does not use partioned convolution) Morten |
|||
|
|
|
#6 |
|
diyAudio Member
Join Date: May 2002
Location: Switzerland
|
Since you are doing it in the digital domain you can use some form of subtractive filter that isn't doable (or at least not practical) in continuous-time processing:
http://www.geocities.com/kreskovs/new-xooz1.html Regards Charles |
|
|
|
#7 | ||
|
diyAudio Member
Join Date: Feb 2002
|
Quote:
The topology of a filter is DEFINED by it's impulse response. Period. How it is implemented is completely irrelevent to the question. The FFT-based approach is a very very common way to implement FIR filters, as it is computationally efficient. *PROPERLY IMPLEMENTED* there is no problem and no difference compared to a 'normal form' FIR Quote:
The problems you're seeing with FFT's and FIR's must be due to the software you're using. Any FFT/IFFT filter that unexpectedly alters the signal is simply poorly implemented, or else is showing the effects of poor windowing choices. I don't doubt for a second that there are a lot of sub-optimal implementations out there. I'm not trying to suggest that FFT's or FIR filters are automatically perfect, only that your arguments are based on an incomplete understanding of the underlying processing. There is nothing to be inherently afraid of in these approaches, although you certainly can screw up the signal if you do things incorrectly. |
||
|
|
|
#8 |
|
diyAudio Member
Join Date: Jan 2004
Location: spijkcity
|
Some experiences from another soundcard player:
I use labview based FIR filers with adjustable cross-over frequency and adjustable tweeter delay, a 5.1 audio card and a 4 channel power amplifier to realize stereo digital two-way cross-over. The nice thing about software filters is that you can actually visualize the highpass and lowpass response before turning on the poweramp and possibly destroying a tweeter in case of (DC) errors. Visualizing the highpass, lowpass and the sum of these response makes it clear that FIR filters can actually be quite near to perfect. Early mistakes I made: I used much too less FIR filter taps: use about 333000/f(cross-over), so 333 for 1kHz, and 3333(!!) for 100 Hz cross-over. Too few taps will result in bad filtering (especially lowfrequency signals will occur in the highpass response). Ringing occurs if you filter block wise without overlap and deleting distorted parts: always use overlapping blocks of data and cut off the beginning and end of about the size of the number of taps used for FIRring. Done right, FIR rules. (however, I will have a look at IIR filtering too, because its so easily implemented) |
|
|
|
#9 |
|
diyAudio Member
Join Date: Jan 2004
Location: Torrance, CA, USA
|
How about multistage FIR?
|
|
|
|
#10 | |
|
diyAudio Member
Join Date: Jan 2004
Location: spijkcity
|
que?
Quote:
|
|
|
| Thread Tools | Search this Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Crossover Frequency | Ironhead | Multi-Way | 14 | 17th June 2008 09:12 PM |
| Progress report - digital crossover as a DAC - digital all the way to the amps | Ken L | Multi-Way | 0 | 26th November 2006 11:42 PM |
| Digital Freqency To Analog Frequency | dswiston | Everything Else | 1 | 1st December 2004 03:21 AM |
| crossover frequency | Laufer | Multi-Way | 2 | 22nd October 2003 06:52 PM |
| crossover frequency | ray | Multi-Way | 1 | 10th September 2001 06:31 AM |
| New To Site? | Need Help? |