Open Source DSP XOs - Page 17 - 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 12th April 2012, 05:57 AM   #161
diyAudio Member
 
steph_tsf's Avatar
 
Join Date: Mar 2008
Quote:
Originally Posted by abraxalito View Post
Here's a 4th order MFB lowpass that I'd like to have as a digital filter. But here you'll notice there's a delay line for the HP rather than the traditional two opamp Sallen-Key. With the delay line matching the filter's asymptotic group delay, the HP subtracted output looks like the last plot.
What you just described is the "Lipshitz-Vanderkooy delay compensated crossover" presented at the 69th Convention 1981 May 12-15 Los Angeles. The exact title of the AES preprint was "A Family of Linear-Phase Crossover Networks of High Slope Derived by Time Delay".
In your example you have used the double Butterworth 2nd order (4th order in total) as lowpass kernel, as recommended by Lipshitz-Vanderkooy 1) for delivering a moderate time smear, 2) for maximizing the highpass selectivity, 3) for suppressing the relative phase shifts in the transition band.
Your lowpass filter uses the "MFB" architecture, which is an acronym for "Multiple FeedBack", generally preferred over the Sallen-Key architecture. The MFB" architecture helps keeping the noise floor down and helps keeping the input capacitance modulation down.
If you use a 8th order Bessel as lowpass kernel, you get no time smear at all, the lowpass selectivity gets better than the double Butterworth, but you slightly degrade the highpass selectivity and you introduce a small amount of relative phase shift in the transition band.
What Stanley P. Lipshitz and John Vanderkooy have not made clear in their publication, is that you can increase the highpass selectivity in the transition band by slightly overisizing the delay. Have you tried this yet ?
What I very much like in your approach is the idea of synthesizing the same lowpass kernel using a FIR, by duplicating the resulting impulse response untill -60 dB. Practically, in the real world, we don't care if there are wiggles -40 dB down in the lowpass function. It is very encouraging to see those interesting results with a FIR as short as 32-tap. Have you tried with a 8th-order lowpass Bessel, using a 64-tap FIR ?

When implementing such crossover in the real world, make sure that the acoustic centres of the woofer and the tweeter get properly time-aligned. If the woofer and the tweeter are flush-mounted (as it is the case mostly), the woofer appears as delayed. As consequence, you need a second delay line in the system, that you put after the highpass, for slightly delaying the tweeter signal.

As soon as you depart from the Linkwitz-Riley (double 2nd order Butterworth) providing a zero relative phase shift in the transition band, you need to use the symetric MTM (Woofer-Tweeter-Woofer) arrangement for getting a decent omnidirectional, smooth polar radiation pattern.

Last edited by steph_tsf; 12th April 2012 at 06:11 AM.
  Reply With Quote
Old 12th April 2012, 06:07 AM   #162
diyAudio Member
 
abraxalito's Avatar
 
Join Date: Sep 2007
Location: Hangzhou - Marco Polo's 'most beautiful city'. 700yrs is a long time though...
Blog Entries: 101
Send a message via MSN to abraxalito Send a message via Yahoo to abraxalito Send a message via Skype™ to abraxalito
Quote:
Originally Posted by steph_tsf View Post
What you just described is the "Lipshitz-Vanderkooy delay compensated crossover" presented at the 69th Convention 1981 May 12-15 Los Angeles. The exact title of the AES preprint was "A Family of Linear-Phase Crossover Networks of High Slope Derived by Time Delay".
Cool Nice to know I'm not totally breaking new ground here.

Quote:
In your example you have used the double Butterworth 2nd order (4th order in total) as lowpass kernel, as recommended by Lipshitz-Vanderkooy 1) for delivering a moderate time smear, 2) for maximizing the highpass selectivity, 3) for suppressing the relative phase shifts in the transition band.
Your lowpass filter uses the "MFB" architecture, which is an acronym for "Multiple FeedBack", generally preferred over the Sallen-Key architecture. The MFB" architecture helps keeping the noise floor down and helps keeping the input capacitance modulation down.
Yes - not only the input capacitance modulation but also any other common-mode non-linearities introduced by the opamp LTP stage, which turn out not to be suppressed by NFB. Also it gives flexibility to add in baffle step correction if required (not shown here) with just a couple of extra components.

Quote:
If you use a 8th order Bessel as lowpass kernel, you get no time smear at all, the lowpass selectivity gets better than the double Butterworth, but you slightly degrade the highpass selectivity and you introduce a small amount of relative phase shift in the transition band.
I'll have to turn up Williams' book to get the design parameters I think. Something to play with for the future.

Quote:
What Stanley P. Lipshitz and John Vanderkooy have not made clear in their publication, is that you can increase the highpass selectivity in the transition band by slightly overisizing the delay. Have you tried this yet ?
No - I was very happy with the response I got here - but if you'd like I'll email you the LTSpice files and you can have a play

Quote:
What I very much like in your approach is the idea of synthesizing the same lowpass kernel using a FIR, by duplicating the resulting impulse response untill -60 dB. Practically, in the real world, we don't care if there are wiggles -40 dB down in the lowpass function. It is very encouraging to see those interesting results with a FIR as short as 32-tap. Have you tried with a 8th-order lowpass Bessel, using a 64-tap FIR ?
No - not yet. But you've given me pleasant food for thought - if the Williams book does have the Bessel coefficients, I'd like to try it. Thanks for your supportive comments
__________________
No matter if we meanwhile surrender every value for which we stand, we must strive to cajole the majority into imagining itself on our side - Everett Dean Martin
  Reply With Quote
Old 12th April 2012, 07:11 AM   #163
diyAudio Member
 
steph_tsf's Avatar
 
Join Date: Mar 2008
Hello abraxalito, here attached in a .zip are a few LTspiceIV Lipshitz-Vanderkooy simulations. As you will see, to our great sorrow, tweaking the substractor delay when you base on a high order Bessel lowpass kernel doesn't increase the highpass selectivity in the transition band. On the other hand, tweaking the substractor delay when you base on a high order Butterworth lowpass kernel (a true Butterworth, not the Linkwitz-Riley variant) can significantly increase the highpass selectivity in the transition band. By plotting the (V_hp/V_lp) phase graph, you can keep an eye on the relative phase shifts in the transition band, as shown in the .doc example.
Attached Files
File Type: zip Lipshitz-Vanderkooy.zip (73.6 KB, 50 views)

Last edited by steph_tsf; 12th April 2012 at 07:28 AM.
  Reply With Quote
Old 12th April 2012, 07:20 AM   #164
diyAudio Member
 
steph_tsf's Avatar
 
Join Date: Mar 2008
Hello abraxalito, here attached are the required tables for designing high order analog Butterworth and high order analog Bessel filters using cascaded 1st and 2nd order cells. From T.I. Application Report SLOA049B - September 2002 "Active Low-Pass Filter Design" by Jim Karki.
Attached Images
File Type: jpg Butterworth and Bessel Filter Tables.jpg (238.2 KB, 196 views)

Last edited by steph_tsf; 12th April 2012 at 07:26 AM.
  Reply With Quote
Old 12th April 2012, 09:18 AM   #165
diyAudio Member
 
steph_tsf's Avatar
 
Join Date: Mar 2008
Quote:
Originally Posted by Brunos View Post
Another interesting technology which is coming up is the mixed ARM/FPGA processors such as Xilinx Zynq 7000, which does have an open source environment. I personally find FPGA programming quite difficult, but last year I have tried (for work) the Actel smartfusion, which is a cortex M3+FPGA. You program it just like any other ARM, say with Keil, but with the possibility of adding custom ports/DSP instructions etc. The design tool then generates the c drivers automatically, and you just call the functions from your ARM code. For an open platform and FPGA does offer some advantages, and they have really come down in prices in the last few years (the Actel dev board was 90$).
Hello Brunos, indeed it is tempting to have the Actel smartfusion Cortex-M3 + FPGA providing one I2S as input and four I2S as output, all operating on 24 bit 96 kHz, plus one SPI as general control at 96 kbit/s and a few chip_select. Is it feasible on the Actel A2F-EVAL-KIT at 99$, only using the FPGA and the SPI-Flash ? Shall we connect on the Mixed Signal Header ?
Currently I'm bored with the PIC32MX2 and STM32 F4 (both provide two I2S - that's not enough), me needing to dig into the configuration registers, me needing to learn their development environments, etc.
I'm doing all this, hoping that in the next few months, there will be new Microchip PIC32 variants featuring four I2S, or new ARM Cortex-M0+ or ARM Cortex-M4 featuring four I2S.
Four I2S on Cortex-M4 are already feasible using the NXP LPC43xx (Cortex-M4 plus Cortex-M0 as coprocessor), but the programmable serial engine is hard to configure and the resulting high interrupt rate consumes the built-in Cortex-M0. Currently, the NXP LPC43xx is still needing an external Flash chip. This currently makes the NXP LPC43xx based solution a cumbersome solution, miles away from a two-chip solution (CPU + Codec).
A few days ago, after having fiddled with all those microcontrollers, I concluded that the learning curve would not be steeper, using the Actel smartfusion. Like you said, the FPGA brings flexibility. Using the Actel smartfusion FPGA, is it feasible to interface the codec using TDM or TDMCA (this is a kind of I2S containing 8 channels instead of 2 channels) ?
Consider a dedicated PCB, without built-in debug circuitry, only containing the voltage regulator, reset circuit, quartz, serial Flash, FPGA, expansion connector and USB-device connector. What would be the current drain with the Cortex-M3 multiplier executing 100 32x32+64=64 multiply-accumulate each 10 s ? What would be the BOM cost ? What external debug probe to use ? Will you sketch something ?

Last edited by steph_tsf; 12th April 2012 at 09:29 AM.
  Reply With Quote
Old 17th April 2012, 05:14 AM   #166
diyAudio Member
 
Join Date: Jun 2009
has anyone seen the beaglebone ? Sounds like a good starting point.

BeagleBoard.org - bone

89 bucks gets you

Quote:
>700-MHz superscalar
ARM
Cortex-A8
256-MB DDR2 RAM
1-port USB 2.0 host
Integrated 10/100 Ethernet
microSD slot and 2-GB
microSD card with
validation and
demonstration image
from the Angstrom
Distribution
USB 2.0 fl exible device
port with ability to supply power
On-board USB-to-serial/JTAG over shared USB
device port
3.3-V 2 46-pin peripheral with multiplexed LCD
signals and battery-control expansion headers
Board size: 3.4 2.1
Click the image to open in full size.
  Reply With Quote
Old 17th April 2012, 05:22 AM   #167
diyAudio Member
 
abraxalito's Avatar
 
Join Date: Sep 2007
Location: Hangzhou - Marco Polo's 'most beautiful city'. 700yrs is a long time though...
Blog Entries: 101
Send a message via MSN to abraxalito Send a message via Yahoo to abraxalito Send a message via Skype™ to abraxalito
Quote:
Originally Posted by Trevor White View Post
has anyone seen the beaglebone ?
Its the real version of the very much still-virtual Raspberry Pi
__________________
No matter if we meanwhile surrender every value for which we stand, we must strive to cajole the majority into imagining itself on our side - Everett Dean Martin
  Reply With Quote
Old 17th April 2012, 06:02 AM   #168
diyAudio Member
 
Join Date: Feb 2009
Location: Brisbane, Australia
Quote:
Originally Posted by Trevor White View Post
has anyone seen the beaglebone ? Sounds like a good starting point.
I have one, will do some performance testing in the next few weeks to see what its good for. I got impatient waiting for RPi and ordered ...
  Reply With Quote
Old 17th April 2012, 12:56 PM   #169
diyAudio Member
 
Join Date: Jun 2009
Quote:
Originally Posted by hochopeper View Post
I have one, will do some performance testing in the next few weeks to see what its good for. I got impatient waiting for RPi and ordered ...
According to the specs for the AM3358 - ARM Cortex-A8 used on the begalbone only has 2 McASP ports so is this a limitation ?

Edit: I found out that it is the McBSP that is limited. Although both can do I2S the McASP is buffered and has four serializers each of which can do I2S.

Last edited by Trevor White; 17th April 2012 at 01:09 PM.
  Reply With Quote
Old 17th April 2012, 01:02 PM   #170
diyAudio Member
 
Join Date: Feb 2009
Location: Brisbane, Australia
While it's possible and perhaps with a multichannel I2S FIFO you could clean up the clocks etc. I was really hoping that with a multichannel usb to i2s device it wouldn't need onboard i2s. I am waiting to see what comes of the recent XMOS multichannel usb development kits. Certainly it adds expense to the setup and commits you to building a multichannel DAC as well.

My first project planned for the board is to build it into a headphone dac/amp (for playback from NAS/DAC register control/UI display) and at same time use it to benchmark some XO/DRC on it before I decide direction of my main system. I've used linux before but embedded development is a bit of a new thing for me so I chose an easier project to start on.
  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
Volume / Source selector - open source project ? AuroraB Analog Line Level 22 22nd September 2012 02:21 PM
Violet DSP Evolution - an Open Baffle Project cuibono Multi-Way 211 18th May 2010 02:26 AM
Open call for suggestions on Open Source DIY Audio Design gfergy Everything Else 1 15th April 2007 07:33 AM
Open Source, Open Architecture! zenmasterbrian Digital Source 185 23rd February 2007 10:35 PM


New To Site? Need Help?

All times are GMT. The time now is 01:14 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