Welcome, Guest
Username: Password: Remember me
Need help configuring your plug-ins? This is the place to ask the miniDSP community for help. Please read manual first to limit 101 questions.

NOTE: This is a "Community" forum. Please be mindful that community members are here to help as part of a community effort. We therefore appreciate your effort in keeping this forum a happy place!

If you have a specific issue (e.g. hardware, failure) and want help from our support team, please use our tech support portal (Support menu - > Contact Us).
Thanks a lot of your help in making a better community.
  • Page:
  • 1
  • 2

TOPIC:

FIR filters? 9 months 3 weeks ago #54698

  • andyr
  • andyr's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
  • Posts: 233
  • Thank you received: 17
OK, I have the default IIR filters set up in the plug-in for my 2x8 nanoDIGI (by selecting the 'Basic' option in each Xover window):
* sub LP
* woofer HP & LP
* mid HP & LP, and
* tweeter HP.

How can I get the correct code to use FIR filters instead (by selecting the 'Advanced' option in the Xover window)?

Or has the plug-in already provided this for me?

(I note that the following code is already populated for the Right Sub LP filter, when I choose the 'Advanced' option:

biquad1,
b0=0.010664563639139585,
b1=0.02132912727827917,
b2=0.010664563639139585,
a1=1.6873607673585171,
a2=-0.7300190219150755,
biquad2,
b0=1,
b1=0,
b2=0,
a1=0,
a2=0,
biquad3,
b0=1,
b1=0,
b2=0,
a1=0,
a2=0,
biquad4,
b0=1,
b1=0,
b2=0,
a1=0,
a2=0,
biquad5,
b0=0.9870784354608405,
b1=-0.9870784354608405,
b2=0,
a1=0.974156870921681,
a2=0,
biquad6,
b0=0.9869114968661793,
b1=-1.9738229937323586,
b2=0.9869114968661793,
a1=1.9734847458564977,
a2=-0.9741612416082197,
biquad7,
b0=1,
b1=0,
b2=0,
a1=0,
a2=0,
biquad8,
b0=1,
b1=0,
b2=0,
a1=0,
a2=0,)

If anyone can explain what I need to do, to implement FIR filters ... I'd be very grateful.

Andy

Please Log in or Create an account to join the conversation.

FIR filters? 9 months 3 weeks ago #54712

  • Jim the Oldbie
  • Jim the Oldbie's Avatar
  • Offline
  • Elite Member
  • Elite Member
  • Posts: 268
  • Thank you received: 80
Hi Andy,

Sorry, but the nanoDIGI is IIR only, and has no FIR capabilities. The Advanced option is referring to the biquad option for entering custom IIR coefficients.

I never noticed this before, but what I think you're seeing in the Advanced window are just the calculated biquad coefficients from the IIR plugin filters you've already chosen & configured in normal (non-Advanced) mode. These can be modified and/or replaced with custom (Advanced) settings, but it will still be IIR.

Please Log in or Create an account to join the conversation.

Last edit: by Jim the Oldbie.

FIR filters? 9 months 3 weeks ago #54716

  • andyr
  • andyr's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
  • Posts: 233
  • Thank you received: 17
Aah, now you've confused me, Jim! :(

What advantage do you get from being able to use bi-quad options with the 'Advanced' option ... if the result is still an IIR filter?

My understanding was that the 'Advanced' option is for implementing FIR filters.

@DevTeam, can you respond. please?

Thanks,
Andy

Please Log in or Create an account to join the conversation.

FIR filters? 9 months 3 weeks ago #54719

  • mdsimon2
  • mdsimon2's Avatar
  • Offline
  • Elite Member
  • Elite Member
  • Posts: 247
  • Thank you received: 86
Everything Jim said is correct. The only miniDSP products capable of implementing FIR filters are those running the miniSHARC, nanoSHARC or 2x4HD plugins.

Although biquads are IIR they allow you to things beyond limitations of the plug-in defaults. Things that biquads are good for:

-Linkwitz transforms
-Notch filters
-All pass filters
-Crossovers steeper than 8th order
-Filters with gain, Q or frequency values outside of the plug-in limits

More details can be found in the app note linked below.

www.minidsp.com/applications/advanced-to...d-biquad-programming

Michael

Please Log in or Create an account to join the conversation.

FIR filters? 9 months 3 weeks ago #54723

  • andyr
  • andyr's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
  • Posts: 233
  • Thank you received: 17
Aah, thank you, Michael.

In terms of IIR filters - I don't need the extra sophistication that the bi-quad route offers ... the stock IIR filters are fine. I simply wanted to try out how FIR filters might better my sound. :)

Can you tell me whether there is a miniDSP unit that runs miniSHARC or nanoSHARC plug-ins and is digital in/digital out, like the nanoDIGI 2x8 is?

Thanks,
Andy

Please Log in or Create an account to join the conversation.

FIR filters? 9 months 3 weeks ago #54724

  • mdsimon2
  • mdsimon2's Avatar
  • Offline
  • Elite Member
  • Elite Member
  • Posts: 247
  • Thank you received: 86
It depends on what you want to do. It sounds like you are running a 4 way active system. One of the most popular things to do with FIR filters is to implement linear phase crossovers. You can do this with an OpenDRC-DI (I had forgot about the OpenDRC 2x2 plug-in in my previous reply) upstream of your nanoDIGI. You would use rePhase to generate "reverse" all pass FIR filters in the OpenDRC which will cancel the phase shift from the IIR crossovers implemented in your nanoDIGI. See app note below for a brief overview of this.

www.minidsp.com/applications/advanced-tools/rephase-fir-tool

If you want 8 channels of output with individual FIR filtering on each channel there are no off the shelf options to do this but it can be done with a miniSHARC and some DIY work. I have done this myself, see link below for more details.

www.minidsp.com/forum/hardware-support/1...annel-digital-output

Previously the OpenDRC-DA8 was an off the shelf option running the miniSHARC plugin but it has since been discontinued. However it is still available at Parts Express.

www.parts-express.com/miniDSP-OpenDRC-DA...on-DSP-8-Out-230-336

Michael

Please Log in or Create an account to join the conversation.

Last edit: by mdsimon2.

FIR filters? 9 months 3 weeks ago #54726

  • andyr
  • andyr's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
  • Posts: 233
  • Thank you received: 17

It depends on what you want to do. It sounds like you are running a 4 way active system. One of the most popular things to do with FIR filters is to implement linear phase crossovers.

Michael


Exactly! That's what I'm interested in doing. :)

You can do this with an OpenDRC-DI (I had forgot about the OpenDRC 2x2 plug-in in my previous reply) upstream of your nanoDIGI. You would use rePhase to generate "reverse" all pass FIR filters in the OpenDRC which will cancel the phase shift from the IIR crossovers implemented in your nanoDIGI. See app note below for a brief overview of this.

www.minidsp.com/applications/advanced-tools/rephase-fir-tool


Thank you for this link - I will study it?

If you want 8 channels of output with individual FIR filtering on each channel there are no off the shelf options to do this but it can be done with a miniSHARC and some DIY work. I have done this myself, see link below for more details.

www.minidsp.com/forum/hardware-support/1...annel-digital-output


Again, thanks for this link. Yes, I had thought that I would be doing individual FIR filters for each of 8 output channels - so I will look at this 2nd link, too.

Andy

Please Log in or Create an account to join the conversation.

FIR filters? 9 months 3 weeks ago #54735

  • andyr
  • andyr's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
  • Posts: 233
  • Thank you received: 17

It depends on what you want to do. It sounds like you are running a 4 way active system. One of the most popular things to do with FIR filters is to implement linear phase crossovers. You can do this with an OpenDRC-DI (I had forgot about the OpenDRC 2x2 plug-in in my previous reply) upstream of your nanoDIGI. You would use rePhase to generate "reverse" all pass FIR filters in the OpenDRC which will cancel the phase shift from the IIR crossovers implemented in your nanoDIGI.

Michael


Reading the Datasheet for the OpenDRC-DI, Michael, it says:
"Mono signal: FIR filter with up to 12228 taps @48kHz, 6144 @ 96kHzStereo signal: FIR filter with up to 6144 taps/ch @48kHz."

Am I correct in assuming that if I am going to feed a stereo signal into the digital input of the OpenDRC-DI (and take a stereo signal from the digital output) ... then processing will only be at 48kHz?

If so ... I'll have to look at your other option, involving the OpenDRC-DA8.

Andy

Please Log in or Create an account to join the conversation.

FIR filters? 9 months 3 weeks ago #54738

  • mdsimon2
  • mdsimon2's Avatar
  • Offline
  • Elite Member
  • Elite Member
  • Posts: 247
  • Thank you received: 86
If you play around in rePhase you will very quickly learn you want to use a 48 kHz sample rate when linearizing phase at low frequencies. At 96 kHz you have essentially 4 times less FIR processing power compared to 48 kHz. You can run the OpenDRC-DI at 96 kHz using the miniSHARC-96K plugin but you will be limited to 2048 taps per channel (4300 total taps).

I should also note that it is much more efficient to use FIR to linearize IIR crossovers than implementing linear phase crossovers with FIR. It is also much more efficient to use a single FIR correction upstream of the crossover rather than implementing individual correction at each output.

To illustrate some of these differences here is a very simple model 4 way. It uses LR4 filters at 60 Hz, 800 Hz and 3500 Hz. The sub rolloff is BW2 at 30 Hz.

First here is the magnitude / phase response prior to linearization. As you can see we have lots of non-minimum phase behavior as a result of the crossovers.



Here is the result using a single 6144 tap correction at 48 kHz to linearize the crossovers at 60 Hz, 800 Hz, 3500 Hz. I did not attempt to linearize the sub rolloff because I do not think it makes sense to linearize minimum phase behavior. As you can see the magnitude / phase response are perfectly flat other than the anticipated sub rolloff effects.



Here is the result using 2048 taps at 96 kHz. As you can see you now have oscillations in both the phase and magnitude response. These effects will get worse for lower frequency crossovers and steeper slopes.



Again the best advice I have is to start playing around in rePhase to see what is possible.

Michael
Attachments:

Please Log in or Create an account to join the conversation.

Last edit: by mdsimon2.

FIR filters? 9 months 3 weeks ago #54740

  • andyr
  • andyr's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
  • Posts: 233
  • Thank you received: 17

To illustrate some of these differences here is a very simple model 4 way. It uses LR4 filters at 60 Hz, 800 Hz and 3500 Hz. The sub rolloff is BW2 at 30 Hz.

First here is the magnitude / phase response prior to linearization. As you can see we have lots of non-minimum phase behavior as a result of the crossovers.



Michael


That's very interesting, Michael - thanks very much.

Attached is my 'SPL & Phase' plot; I'm wondering what parameters I need to change, to get the phase line to come out like yours is ... rather than how mine is?




Thanks again,
Andrew
Attachments:

Please Log in or Create an account to join the conversation.

FIR filters? 9 months 3 weeks ago #54741

  • dreite
  • dreite's Avatar
  • Offline
  • Platinum Member
  • Platinum Member
  • Posts: 1520
  • Thank you received: 695
Andy,

To start, you need to remove the time-of-flight delay in your measurement. That will remove all the phase "wraps" that aren't associated with pure delays.
But after that, you still have a lot of work to linearize the phase response of multi-driver system like yours. In fact, it's impossible. :)

Have you noted this article in the Applications section of the website?
www.minidsp.com/applications/dsp-basics/fir-vs-iir-filtering

Dave.

Please Log in or Create an account to join the conversation.

FIR filters? 9 months 3 weeks ago #54742

  • Jim the Oldbie
  • Jim the Oldbie's Avatar
  • Offline
  • Elite Member
  • Elite Member
  • Posts: 268
  • Thank you received: 80

...you still have a lot of work to linearize the phase response of multi-driver system like yours. In fact, it's impossible. :)


Not only that, but this phase shift may not be as audible as one might think.

Thanks to lucky driver choices (nicely matched directivity in the crossover region), I'm able to enjoy the sound of LR48 (IIR) slopes in the mid/high crossover at 2 KHz. This of course creates a prodigious phase twist, so awhile back I became curious. I used RePhase to create a correction impulse (including the mid/bass crossover in the correction as well).

After loading the generated impulse into the Foobar2000 convolver DSP component, I was able to observe a properly phase-aligned (and bandwidth-limited of course) 315 Hz square wave using the UMIK-1 with REW's Oscilloscope mode. Without the convolution, the observed waveform was the usual mess. But here's the thing: try as I might, after hours of A/B listening tests I could not hear a difference between the 2 setups.

This still boggles my mind a little bit, and one of these days I intend to try this experiment again just to double check - but for now I'm just enjoying the music! B)

Please Log in or Create an account to join the conversation.

Last edit: by Jim the Oldbie.

FIR filters? 9 months 3 weeks ago #54747

  • andyr
  • andyr's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
  • Posts: 233
  • Thank you received: 17

Andy,

To start, you need to remove the time-of-flight delay in your measurement. That will remove all the phase "wraps" that aren't associated with pure delays.

Dave.


Thanks, Dave ... but can you tell me how to remove the "time-of-flight delay " in my measurement process?

But after that, you still have a lot of work to linearize the phase response of multi-driver system like yours. In fact, it's impossible. :)


And yet, Michael seems to have done it (with an active system)?

Have you noted this article in the Applications section of the website?
www.minidsp.com/applications/dsp-basics/fir-vs-iir-filtering


Had not seen that, Dave - I will study it. :)

Andy

Please Log in or Create an account to join the conversation.

FIR filters? 9 months 3 weeks ago #54748

  • andyr
  • andyr's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
  • Posts: 233
  • Thank you received: 17

Not only that, but this phase shift may not be as audible as one might think.

Thanks to lucky driver choices (nicely matched directivity in the crossover region), I'm able to enjoy the sound of LR48 (IIR) slopes in the mid/high crossover at 2 KHz. This of course creates a prodigious phase twist, so awhile back I became curious. I used RePhase to create a correction impulse (including the mid/bass crossover in the correction as well).

After loading the generated impulse into the Foobar2000 convolver DSP component, I was able to observe a properly phase-aligned (and bandwidth-limited of course) 315 Hz square wave using the UMIK-1 with REW's Oscilloscope mode. Without the convolution, the observed waveform was the usual mess. But here's the thing: try as I might, after hours of A/B listening tests I could not hear a difference between the 2 setups.

This still boggles my mind a little bit, and one of these days I intend to try this experiment again just to double check - but for now I'm just enjoying the music! B)


That is very interesting, Jim. :)

Thanks,
Andy

Please Log in or Create an account to join the conversation.

FIR filters? 9 months 3 weeks ago #54749

  • mdsimon2
  • mdsimon2's Avatar
  • Offline
  • Elite Member
  • Elite Member
  • Posts: 247
  • Thank you received: 86
To clarify the example that I showed was a simulation and obviously not created from acoustic measurements.

I imagine Dave's comment regarding the difficulties of implementing a true linear phase crossover is that even if you linearize on-axis phase based on quasi-anechoic measurements those results won't hold true for off-axis response and once you put a speaker in a room things become even more squirrelly.

My experience with linear phase crossovers so far is somewhat similar to Jim. For typical mid/high frequencies I have not been able to distinguish between linear and non-linear phase crossovers. I have found that I am able to distinguish the difference at lower frequencies (say woofer to sub crossover @ 60 Hz) but although it is different I am not sure I prefer it. As of today I do not use any FIR correction.

Michael

Please Log in or Create an account to join the conversation.

Last edit: by mdsimon2.
  • Page:
  • 1
  • 2
Moderators: devteam