Announcement

Collapse
No announcement yet.

MiniDSP crossover development

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • MiniDSP crossover development

    I've been working to develop some tools for active crossover development for the past few months. This initially was to allow me to do crossover modeling a la Jeff Bagby's Passive Crossover Designer, except with all active filters. This effort has lately been expanded to include the coefficients for the MiniDSP "advanced" biquads.

    Just like in passive crossover design, one does not necessarily follow standard filter functions when developing a crossover. The goal is a flat response on axis, and smooth off axis response as well. Many DSP crossover products such as the Behringer DCX2496 only allow you to use standard filter functions (e.g. 2nd/4th/8th order Bessel/Butterworth/Linkwitz-Riley) plus EQ. This can get you a long way, but it would be better to have complete freedom to implement any 1st or 2nd order function (e.g. use an any Q, implement shelving type filters, biquadratic filters, etc.). Well, this is what I have managed to develop over the past few months - a set of tools that take FRD files as input and can apply a set of 1st or 2nd order filter functions to that FRD file, add group delay to account for driver offset, and then sum a number of these representations of driver together in to a "system" as measured at the same position in space.

    I am aiming to use the MiniDSP as a crossover development tool. The end goal is to build analog active crossovers using PCBs that I have designed and had fabbed for me, to create active speaker systems but doing the development with the MinDSP, since the filters, and therefore the system response, can be changed very quickly. I can mimic the analog active crossovers filter using the MiniDSP, tweak the filter functions and optimize/perfect the crossover, and then use the resulting set of filters to build the active crossover boards.



    Here is an example of the MiniDSP crossover design process using a 2-way using a Seas MP14RCY midwoofer and a Vifa DQ25SC05 tweeter. It's really the midrange and tweeter for a to-be-built 3-way. All measurements are done using gated swept sine measurement carried out using ARTA and a calibrated Behinger ECM8000 microphone:

    First I determine the driver acoustic offset (delay) by taking 3 measurements - the tweeter sans filters, the woofer sans filters, and then both the tweeter and woofer sans filters. The microphone position and levels remain the same for all three measurements. In my tools I dial in the delay until the summed response matches the measured two-driver response:



    The WHITE line is the measured response from both drivers together with no filters. The YELLOW line is the measured woofer response. The LIGHT BLUE line is the measured tweeter response. The DARK BLUE line is the calculated response, with no filters but with a delay of 0.052 milliseconds for the midwoofer. There is a glitch in the phase response at about 7.6K Hz that I need to fix. Otherwise, the match between measured response (WHITE) and the predicted response (DARK BLUE) is very good with this acoustic delay.

    The first filter I will apply is a 2nd order all-pass filter for the tweeter that provides about the same delay that was determined above (0.052 mS), so that the driver waveforms are coherent. Then I am free to dial in whatever filters I want for the drivers. I used something like a 4th order Linkwitz-Riley crossover for both the midwoofer and tweeter, at about 2750 Hz. Also on the midwoofer, I used a first order shelving filter to boost and flatten the low end, and then I cut down the response around about 1k Hz using EQ of about 3 dB.

    The resulting filter was implemented using the MiniDSP, and then remeasured. The next plot shows the result:



    As before, the YELLOW line is the midwoofer including all filters, the LIGHT BLUE line is the tweeter with all filters, the DARK BLUE line is the calculated response using my tools, and the WHITE line is the measured response with the filters implemented using the MiniDSP. Agreement (between WHITE and DARK BLUE) is good! This validates my modeling.


    The measurement shown above was taken on a stand out in the room, but the actual location for the speaker was on a bookshelf inside a wide closet (with two pass-by doors removed) in a bedroom that serves as an office. I installed the speakers, and remeasured the system response. The relative levels of the two drivers has changed, and the midwoofer level is depressed relative to the tweeter:



    An adjustment of the tweeter level by -2 dB restored the response of the system to about what was measured on the stand (see plot).

    This seems to give a balanced response using a variety of music sources.


    I'd like to use this approach to do some A/B/X testing of various types of response "profiles", e.g. the downwards sloping response with increasing frequency that Sigfried Linkwitz prefers, flat on axis, and later when I can take more measurements off axis, balancing power response. I'd like to be able to change between several pre-programmed responses on the fly to evaluate and compare the perceived sound of each.

    This seems like a good first step in that direction.

    -Charlie
    Last edited by charlielaub; 11-20-2011, 12:14 AM.
    Charlie's Audio Pages: http://audio.claub.net

  • #2
    Re: MiniDSP crossover development

    You've got my attention! :D
    :blues: Flat frequency response, a smooth sound power response free of resonance, careful driver-integration, and high dynamic range both upward and downward :blues:

    Comment


    • #3
      Re: MiniDSP crossover development

      Interested! Were you able to implement your new filters/functions via XML or have you had to go further under the hood?

      Comment


      • #4
        Re: MiniDSP crossover development

        Originally posted by GIS_PHAN View Post
        Interested! Were you able to implement your new filters/functions via XML or have you had to go further under the hood?
        I am using the "4-way Advanced" biquad programming of the 2x4 MiniDSPs. I just enter the biquad coefficients in the MiniDSP interface and then synch with the unit. I think that the underlying format for the instructions that are downloaded to the unit are in XML, but I don't directly program that way.

        Many of the formula for calculating the biquad coefficients can be found here:
        http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt

        -Charlie
        Charlie's Audio Pages: http://audio.claub.net

        Comment


        • #5
          Re: MiniDSP crossover development

          I think software that optimizes cascaded biquad filter functions and generates the biquad coefficients for digital implimentation is a good idea. However, I'm not sure why you woudl want to have boards made for you. I think you will find it very hard to compete with miniDSP. But if you can develop a better product for the same or less money I'm all for it.
          John k.... Music and Design NaO dsp Dipole Loudspeakers.

          Comment


          • #6
            Re: MiniDSP crossover development

            Awesome, planning on trying this same thing next year. *subscribed*

            Comment


            • #7
              Re: MiniDSP crossover development

              Originally posted by johnk... View Post
              I think software that optimizes cascaded biquad filter functions and generates the biquad coefficients for digital implimentation is a good idea. However, I'm not sure why you woudl want to have boards made for you. I think you will find it very hard to compete with miniDSP. But if you can develop a better product for the same or less money I'm all for it.
              Hi John,

              At one time I thought that it would be possible to sell my active crossover boards, but that has turned out to be a pipe dream at best and at this point I have purely DIY aspirations. I designed the boards and had a run of them made (I posted about it in the past year or so) but I couldn't scare up interest anywhere. I really made them for my own use anyway - I have always wanted to build active speakers, with amps and active crossovers incorporated in to the cabinet. As part of the design process, I didn't have a good way to "try out" a crossover design before going through the process of building up an analog board (I don't have SoundEasy or other software for that purpose). I prefer to create my own design tools so that I learn about theory and design along the way, from the ground up. Although I've found that the MiniDSPs are awesome tools for implementing filters, MiniDSP (the company) doesn't go very far to make the advanced programming of the biquads very accessible in a format that people can easily make use of IMHO. Even if they did you still need a way to model the entire system of drivers and filters in order to do the crossover design properly. Since I have already invested in the analog boards, that's pretty much the direction that I will keep heading via momentum of effort. I may make my design tools available to other DIYers once they are a little more mature and better documented.

              -Charlie
              Charlie's Audio Pages: http://audio.claub.net

              Comment


              • #8
                Re: MiniDSP crossover development

                I agree with you on miniDSp's software, The other thing I don't like about their software is that they don't uses the usual analog filter definition for Q in the peak/notch filters. They did make a special version for the of the advanced 2 way plugin for me though so I could directly transfer the settings for the NaO Note to their boards. But even so, I find I have to dick around with fine tuning to get the digital transfer functions to match my analog ones to within acceptable error (less that 1/2 dB).
                John k.... Music and Design NaO dsp Dipole Loudspeakers.

                Comment


                • #9
                  Re: MiniDSP crossover development

                  I am watching with much interest. I am particularly interested in everyones' opinion of the sound quality of analog active crossovers (esp. small custom ones like Charlie's) compared to digital crossovers (MiniDSP, Ultimate Equalizer, and DCX2496).

                  Comment


                  • #10
                    Re: MiniDSP crossover development

                    Originally posted by johnk... View Post
                    I agree with you on miniDSp's software, The other thing I don't like about their software is that they don't uses the usual analog filter definition for Q in the peak/notch filters. They did make a special version for the of the advanced 2 way plugin for me though so I could directly transfer the settings for the NaO Note to their boards. But even so, I find I have to dick around with fine tuning to get the digital transfer functions to match my analog ones to within acceptable error (less that 1/2 dB).
                    You could program the peak/notch as yet another biquad and not use their built-in EQ functionality... you get 8 biquads per channel as part of the crossover section, but there are an additional 6 per channel in the EQ section for each driver and another 6 on the input EQ (in the plug-in that I use), which is plenty even for a driver like a midrange where you might have 2-3 LP filters and 2-3 HP filters, leaving you with 8 biquads for EQ bands, all pass, etc., etc. plus the 6 on the input. It's a limitation that I can easily live with, given the price.

                    -Charlie
                    Charlie's Audio Pages: http://audio.claub.net

                    Comment


                    • #11
                      Re: MiniDSP crossover development

                      Congratulations Charlie.

                      If you ever make these tools public domain (ie PCD that takes mini-DSP formatted inputs), I'll be an early adopter and buy the mini-DSP boards.

                      This is much more attractive to me that buying a new measurement/design suite with a long steep learning curve.

                      Dave

                      Comment


                      • #12
                        Re: MiniDSP crossover development

                        Originally posted by DDF View Post
                        Congratulations Charlie.

                        If you ever make these tools public domain (ie PCD that takes mini-DSP formatted inputs), I'll be an early adopter and buy the mini-DSP boards.

                        This is much more attractive to me that buying a new measurement/design suite with a long steep learning curve.

                        Dave
                        Note: I edited this post to provide more details on the design spreadsheets. -Charlie

                        Hi Dave,

                        Yes, that's the general idea. The user supplied measured data as FRD files. There are two different types of spreadsheets. In a "Driver Response" spreadsheet, the user pastes in the driver's FRD file and describes the frequency, Q, and gain of the filters that will be applied to each driver. Plots of the raw and filtered driver response and phase, as well as the filter magnitude and phase are provided and the transfer function coefficients are listed for both the analog (s) and digital (z^-1) domains. The latter is formatted for the MiniDSP so that it can be directly pasted in to the "advanced biquads" dialog box in the MiniDSP interface. In a separate spreadsheet, the "System Response" is calculated as a sum of all the driver responses. The user needs to paste (as a link) two columns that represent the response of the driver+filters from each driver response spreadsheet into the system response spreadsheet. To model a system, there is one driver response spreadsheet per driver, and one system response worksheet, and all of these open should be open at the same time. I set Excel's calculation to "manual" and then trigger a global recalc once I have finished making my changes. Recalc time on my 3 year old computer is about 4-5 seconds. Once I am satisfied, I copy out the MiniDSP biquad coefficients from each driver response spreadsheet and paste them in to the MiniDSP interface. I can then immediately listen to the speakers.

                        This makes for very rapid updates to the MiniDSP, and one can play around and try out various crossovers very easily.

                        It's only like PCD in the fact that the input is FRD files and you can view the driver, filter, and system responses while you are developing the crossover. The actual look and feel is completely different, however. I've not used any macros, which I am hoping will make compatibility issues between different versions of Excel a non-problem. It may even run on OpenOffice Calc...

                        -Charlie
                        Last edited by charlielaub; 11-21-2011, 08:31 PM.
                        Charlie's Audio Pages: http://audio.claub.net

                        Comment


                        • #13
                          Re: MiniDSP crossover development

                          I say develop it on Open Office Calc. It would be more advantageous to everyone. Anyone can use it without the need of expensive software.

                          रेतुर्न तो थे स्रोत
                          return to the source
                          leviathan system thread
                          deadhorse thread
                          shockwave build thread

                          instagram :: greywarden_13

                          in war, victory . . . in peace, vigilance . . . in death, sacrifice.

                          Comment


                          • #14
                            Re: MiniDSP crossover development

                            charlie - this is very exciting news. I have a several minidsp units that I've used in various basic scenarios, and it is awesome to hear that there may be "formal/developed" tools that will help me take it to the next level.

                            Comment


                            • #15
                              Re: MiniDSP crossover development

                              That would be amazing!

                              Originally posted by charlielaub View Post
                              Hi Dave,

                              Yes, that's the general idea. The input is FRD files. The user describes the filters by inputting the frequency, Q, and gain of to be applied to each driver. The output is given in terms of the transfer function coefficients for both the analog (s) and digital (z^-1) domains. The latter is formatted for the MiniDSP so that it can be directly pasted in to the "advanced biquads" dialog box in the MiniDSP interface.

                              This makes for very rapid updates to the MiniDSP, and one can play around and try out various crossovers very easily.

                              It's only like PCD in the fact that the input is FRD files and you can view the driver, filter, and system responses while you are developing the crossover. The actual look and feel is completely different, however. I've not used any macros, which I am hoping will make compatibility issues between different versions of Excel a non-problem. It may even run on OpenOffice Calc...

                              -Charlie

                              Comment

                              Working...
                              X