For a while now I have been working on a CD player project. One of the features I have in there is a Xilinx FPGA to do the digital filtering, 4 audio output channels based on pcm1704 (for fully differential) audio, Tent oscillator etc.
What I did with the fully differential outputs was to also attach phono connectors so that I can run 4 independant audio outputs. So what would be more natural than putting a digital XO into the FPGA?
My problem is where to start. I know nothing about loudspeaker design and XOs. But I do know a fair share about analog and digital filter design in general. So I'm happy about any comments you may have on my ideas here! Also, I'd like to know where to start to learn more about XO design and the way the filters interact with the box and speaker element.
My initial philosophy is to use Laplace equations that add to 1. In the world of analog filters this is only possible with the 1st order lopass and hipass 1/(Ts+1) + Ts/(Ts+1) = 1.
But when going digital, it is possible to come up with Laplace equations that don't map to actual RCL structures, but that can still be transformed to the Z domain using bilinear transform etc.
One of the structures I thought about is to have a denominator of (Ts+1)^n. With n=3, lopass and hipass filters can look like this: (3Ts+1)/(T^3s^3+3T^2s^2+3Ts+1) and (T^3s^3+3T^2s^2)/(-same-denominator-). These two have 2nd order slopes and linear summation. They have a small overshoot. For higher order slopes, use n=5,7,9 etc. For a different overshoot change the denominator from 1-3-3-1 to 1-5-5-1 etc.
But rather than go for a strictly mathematical model I'd like to look at which denominators are available and then work on those. One denominator to play with could stem from the poles you get from a speaker element, the box and a DC blocking cap. Then I'd do the same thing with the other element(s) in the speaker, then, if necessary, increase the filter order, and end up with a denominator that I split in two (for two-way speakers) for linear summation.
Each of the two numerators is then modified digitally so that the product of the digital filter and the naturally occuring electromechanical phenomena, make the sum of the two numerators equal to their common denominator. And that should give a linear phase system.
With my speaker knowledge I don't know how the element and box work together and whether or not a DC blocking cap is needed.
Any opinions?
Regards,
Børge
What I did with the fully differential outputs was to also attach phono connectors so that I can run 4 independant audio outputs. So what would be more natural than putting a digital XO into the FPGA?
My problem is where to start. I know nothing about loudspeaker design and XOs. But I do know a fair share about analog and digital filter design in general. So I'm happy about any comments you may have on my ideas here! Also, I'd like to know where to start to learn more about XO design and the way the filters interact with the box and speaker element.
My initial philosophy is to use Laplace equations that add to 1. In the world of analog filters this is only possible with the 1st order lopass and hipass 1/(Ts+1) + Ts/(Ts+1) = 1.
But when going digital, it is possible to come up with Laplace equations that don't map to actual RCL structures, but that can still be transformed to the Z domain using bilinear transform etc.
One of the structures I thought about is to have a denominator of (Ts+1)^n. With n=3, lopass and hipass filters can look like this: (3Ts+1)/(T^3s^3+3T^2s^2+3Ts+1) and (T^3s^3+3T^2s^2)/(-same-denominator-). These two have 2nd order slopes and linear summation. They have a small overshoot. For higher order slopes, use n=5,7,9 etc. For a different overshoot change the denominator from 1-3-3-1 to 1-5-5-1 etc.
But rather than go for a strictly mathematical model I'd like to look at which denominators are available and then work on those. One denominator to play with could stem from the poles you get from a speaker element, the box and a DC blocking cap. Then I'd do the same thing with the other element(s) in the speaker, then, if necessary, increase the filter order, and end up with a denominator that I split in two (for two-way speakers) for linear summation.
Each of the two numerators is then modified digitally so that the product of the digital filter and the naturally occuring electromechanical phenomena, make the sum of the two numerators equal to their common denominator. And that should give a linear phase system.
With my speaker knowledge I don't know how the element and box work together and whether or not a DC blocking cap is needed.
Any opinions?
Regards,
Børge