digital crossover frequency - diyAudio
Go Back   Home > Forums > Source & Line > Digital Source

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
Reply
 
Thread Tools Search this Thread
Old 15th January 2004, 01:34 PM   #1
millim is offline millim  Austria
diyAudio Member
 
Join Date: Jan 2004
Location: graz
Unhappy digital crossover frequency

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
  Reply With Quote
Old 15th January 2004, 03:26 PM   #2
macboy is offline macboy  Canada
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
  Reply With Quote
Old 15th January 2004, 05:43 PM   #3
Henckel is offline Henckel  Denmark
diyAudio Member
 
Join Date: Sep 2002
Location: Copenhagen, Denmark
Quote:
Originally posted by macboy
So you may be able to do this around the year 2015. If you are thinking more near-term, then consider IIR filters
No -it is perfectly possible today. Take a look at the brutefir program;

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
  Reply With Quote
Old 15th January 2004, 06:39 PM   #4
macboy is offline macboy  Canada
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.
  Reply With Quote
Old 16th January 2004, 07:42 AM   #5
Henckel is offline Henckel  Denmark
diyAudio Member
 
Join Date: Sep 2002
Location: Copenhagen, Denmark
Quote:
Originally posted by macboy
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.
Your are right. I could have been a bit more clear on this point. Pure phaselinear filters will have a lot of ringing on their Impulse respones. Probably the optimum is in the middel between phase linear and minimum phase.

Quote:
[i]
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.[/B]
Agreed in part, but there is a more than just FFT and IFFT to it. It utillise an overlap save and partioned convolution scheme. I would say that it is one implementation of a FIR filter, but it is not a direct-form implementation of a FIR filter

Quote:
[i]
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. [/B]
I do not agree. If the overlap add and save scheme is use - no ringing is present ( unless when the FIR coefficents is so that Ringing should be present).

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
  Reply With Quote
Old 16th January 2004, 07:56 AM   #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
  Reply With Quote
Old 17th January 2004, 08:02 PM   #7
diyAudio Member
 
Join Date: Feb 2002
Quote:
Originally posted by macboy

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 see this type of statement on this board from time to time, and I'm sorry, but you are simply wrong.
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:

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.
Well, it's almost a certainty that every single piece of music that you listen to on CD has been through a bunch of FFT's, so you're pretty much stuck.
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.
  Reply With Quote
Old 19th January 2004, 04:31 PM   #8
awboy is offline awboy  Netherlands
diyAudio Member
 
Join Date: Jan 2004
Location: spijkcity
Default FIR digital crossover frequency, yes

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)
  Reply With Quote
Old 26th January 2004, 08:25 PM   #9
diyAudio Member
 
Join Date: Jan 2004
Location: Torrance, CA, USA
How about multistage FIR?
  Reply With Quote
Old 27th January 2004, 03:04 PM   #10
awboy is offline awboy  Netherlands
diyAudio Member
 
Join Date: Jan 2004
Location: spijkcity
que?

Quote:
Originally posted by jheoaustin
How about multistage FIR?
  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
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?

All times are GMT. The time now is 07:28 AM.


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