FIR FIltering and the DP448 Part 2

Posted by | November 08, 2012 | , | 11 Comments

How to use the FIR filtering within the DP448

Before explaining our implementation of FIR filtering, please remember that this feature is designed to be used by speaker manufacturers and designers, and acousticians.  It is NOT designed as an end user adjustable addition to the DP448.  As such, end users interested in hearing the difference  between FIR filtering in place of standard IIR filter implementations should contact the manufacturer of their speaker system(s) and ask for preset file(s) containing the FIR versions.

As mentioned in the introduction, FIR Filtering is not available on all DP448 units – for information about how to check if a unit will accept the update and be able to use it, please see the FAQs at the end of this document.

The FIR processing blocks are available on each output channel on the DP448, and utilise a combined pool of processing allowing different channels to have differing amounts of filtering (or no FIR filtering).  The total number of taps available is 2900, or 4000 if the graphic equalisers are disabled.

FIR filter data is imported into a unit alongside preset data and as such, Library Manager is used to include it in preset files.  When designing a preset, all the “traditional” filters associated with normal output memories are available, with the addition of an extra FIR data tab:

 

To include FIR filtering coefficient data on any particular output, the “Load New” button is pressed on the corresponding output.  Coefficient data must be in a comma separated variable (.csv) formatted file, although the coefficients will still be recognised as long as each one is separated by a carriage return (so each one is on a new line).

A typical data file might look like this:

-0.02012136176742655
-0.05843583195045424
-0.061166134623015594
-0.010897364468132498
0.05127863696321711
0.03318844462546994
-0.056622474759205677
-0.08572325032853853
0.06337939281116886
0.3109413381355739
0.4345629035910811
0.3109413381355739
0.06337939281116886
-0.08572325032853853
-0.056622474759205677
0.03318844462546994
0.05127863696321711
-0.010897364468132498
-0.061166134623015594
-0.05843583195045424

Loading this file into an output will immediately update the channel with the number of taps used, and the remaining reserve.  If the number of taps exceeds 2900, a warning is also displayed to remind you that the input graphic equalisers will be disabled when this preset is used.

As explained earlier in the document, there is a time penalty to be paid when using FIR filtering and this varies dependant on the complexity of the filtering (more taps = longer delay).  As each set of filter data is loaded into an output’s FIR processing block, Library Manager automatically calculates the processing delay that will be introduced on that particular channel, and adds a compensation delay across all other channels.

In the above example we can see that two different data sets are being used – one with 1344 taps, and one with 912 taps.  Library manager calculates the longest filter’s delay and this is applied to all outputs.  The delay applied to the output with the shorter filter is the difference between its inserted processing delay and the longest delay, so aligning it with all the other outputs.

In other words – 1344 taps causes 7.000mS of delay, and 912 taps causes 4.75mS of delay, so the output with the 912 tap filter needs an additional 2.25mS (7 – 4.75) of delay to keep it aligned.

These delays can be added automatically using the standard output delay lines in the preset, by ticking “Enable Auto Delay Correction”.

On the delays tab, these additional delay times can also be displayed by ticking the “Show FIR Delay Correction” (note that times shown are not related to those in the above example)

 If the correction delay is shown, you will not be able to adjust the output delay times to 0mS.

Once the filter data has been added and all other adjustments have been made to limiters, and if necessary standard IIR filters, the preset file is assembled and built as normal.

Description of this process is covered in the Library Manager manual, available on-line here

So where does the coefficient data come from?

The implementation of FIR filtering on the DP448 has been designed with loudspeaker manufacturers and acoustic engineers in mind.

It is not recommended that end users should attempt to utilise this facility.

FIR filtering coefficient data is available as an output from either DSP filter design software, or from audio analysis software.

As an example, a simple package that has been used to test the system is available on-line here:

https://t-filter.appspot.com/fir/index.html

As stated previously, coefficient data must be in a comma separated variable (.csv) formatted file, although the coefficients will still be recognised as long as each one is separated by a carriage return (so each one is on a new line).

 

FIR filtering in AudioCore

 

All FIR filtering data is stored within the presets that are sent to the unit via out loader software, in the same manner as a standard non-FIR preset file.  Note that a preset file may contain a combination of FIR only presets (all IIRS not used), FIR + IIR filtering, or standard IIR filters.  This allows easy comparison between standard crossover methods and an FIR based corrective method.

With this in mind, when a preset is recalled in AudioCore, which contains any FIR filter sections, whilst AudioCore does NOT have access to the data, it is aware of the FIR filters, and shows this by colouring the corresponding output channel’s X-Over section on the device window in green:

Clicking on output 2 in the last example will jump directly to the output’s EQ edit screen – note the FIR filter message beside the device name, and the number of taps tip in the top right of the frequency response curve:

 

Note that the frequency response does NOT include the effect of the FIR filtering.  This is also true of the global view.
Frequently asked questions

How do I know if my DP448 is compatible with this upgrade?

As this feature only became available after a hardware upgrade, and XTA reserve the right to improve the specification of the DP448 at any time, only units with a serial numbers in the range 3760-3798 and then from 3960 onwards will support the update.

Additionally, you can check when turning the unit on – if the unit is running the latest firmware (currently V1.22) then the display will show

 += AudioCore DP448 =+
 === Software V1.22 ===

if the compatible DSP platform is fitted or

== AudioCore DP448 ==
== Software V1.22 ===

if the incompatible older DSP platform is fitted.  The “+” at each end of the top line instead of an “=” is the signifier of the newer DSP.

You can also check in the System Status through the System Sub-Menu – one of the scrolling messages will either show

System Status
= DSP TYPE=2 Number=1 =

if the compatible DSP platform is fitted or

System Status
= DSP TYPE=1 Number=2 =

if the incompatible older DSP platform is fitted.

What happens if I use the new firmware with an older version of AudioCore?

FIR filter data will simply be ignored and the unit will operate as normal otherwise.
We do not recommend this of course, as it may lead to confusing operation – see the FAQ below about graphic equaliser behaviour.

 

How does Copy and Paste work with FIR Filtering Data?

Copying and pasting either an output or a device will NOT copy the FIR filtering data.  A warning will be shown to highlight this:

Pasting in data to a channel with FIR settings (even from another channel with FIR settings) will delete the FIR filtering on ALL outputs.

How are memories handled when there is FIR Filtering Data involved?

Recalling a preset including FIR data, adjusting the standard filtering (crossovers and PEQs on output) and saving this in a user memory location WILL “include” the FIR filter data.  What actually happens is that the link from the user memory to the FIR data is preserved so when the user memory is recalled, the associated FIR data is also updated.

Recalling a user memory or preset which does NOT include FIR data will delete the FIR filtering associated with ALL outputs.  Saving a user memory (based on a preset containing FIR filtering data) via the front panel menus will also preserve the links to any output FIR data.

How can I tell if a preset contains FIR filter Data?

AudioCore does not know until a preset is recalled, if there is FIR filtering data associated with it.  Remember that FIR filter data is associated with Crossover memories only.  We would advise you to name memories containing FIR filtering data with an “F” at the end of the name to remind you.

On the DP448 itself, indication of FIR filtering being in use is on an output channel’s GAIN adjustment screen – an “F” will be displayed as below on any output which has FIR filtering.

Out2    Output A   Gain
Output Gain = +6.0dB   F

What happens if I delete or replace the preset file in the DP448?

Downloading a different preset file will clear any links to previous FIR filtering data.  Subsequently recalling any crossover settings stored in user memories that were previously linked to FIR filter data will still recall the presets, but the FIR filtering will of course not be present.


Where has my Graphic Equaliser gone!?

Using FIR filtering with more than 2900 total taps will bypass the input graphic equalisers on ALL channels.
They will not appear in the input editing list via the unit’s front panel, and clicking on them in AudioCore within the device window will jump instead to input PEQ editing (and the GEQ tab will be missing).

Recalling a preset or user memory with less than 2900 taps or with no FIR filtering data will reinstate the GEQs with their last used settings.



[i] Library manager is not available through our website, as it is designed for speaker manufacturers to create presets for their systems.  Please contact your speaker manufacturer for more information on acquiring settings.

11 Comments

  • su- hsinping says:

    hi!
    we are rental company by audio,so we have 20pcs DX548! we want to upgrate firmware to support FIR filtering…,is possible? because many newer speaker-system almost have FIR correction files…!
    please help us! ^_^

    • Waring Hayes says:

      Hi there and thanks for the message.

      Do you have DP548 or DP448 units?
      If they are DP548, then unfortunately they cannot run FIR filters, as the additional DSP required is used for the DEQ and the output compressors.

      If they are DP448 then you need to check which version of DSP hardware they have – when you power them up check the display – if it says
      “+= AudioCore DP448 =+” then they can run FIR,
      if it says “== AudioCore DP448 ==” (so, no “+” signs) then it has older hardware and can’t.

      Please check this, and email me, so I can continue to help.
      (email address is on contacts page of website here: https://audiocore.wpengine.com/contact/)

      Best regards,

      Waring Hayes

  • su- hsinping says:

    hi! dear Waring:
    thanks your answer …, I think that DP548 is like a flagship of DSP’s speaker-management products!!! so many costomer (like us) still waiting for phase crooection issue..!
    we are rental company ,sometimes FIR-filters can easily fix phase issue when different speaker system are overlappy covering in audience area and help the frequency response flat!!!(because earlier system neet to inserting fir-filters to match another new system,like K1 ,J8) , tradition’s all-passs, phase-shift is not so well
    we choose DP548 because i know it is very good product and i like the sound quality! but I realy hope it can be better ^_^
    by the way, now many speaker manufacturer can provide FIR filters…
    the FIR is not perfect , but it doing in 500~20kHz, for me like a vitamin , is good for health about sound system

  • wiwin says:

    pimaaudiosoundsystem7@gmail.com
    maaf mater saya mau tnya bgi mna caranya dp448 sya kekunci .dn utuk membuka kuncinya tolong dong ksih th cra nya.
    trima kasih…

  • edger says:

    I used the FIR-Capture software test to calculate the *.csv file, and the librayr software was added successfully! In the XTA V8.91 software, the load preset file appears, “warning fir data not be loaded”, please tell me how to use FIR, we are very suitable for the performance of FIR, I hope to provide detailed usage, thank you!

    • Waring Hayes says:

      Dear Edger, thanks for your message – AudioCore is aware of FIR filter data used in a memory, but only how many taps and not the actual response or correction that will be produced by this data on any particular output. To check if there is an active FIR running on any output, either press the EDIT button on any output channel on the front panel – an “F” will be shown next to the gain value to denote active FIR processing.
      A message is also shown in AudioCore on individual output EQ screens in the top corner of the response curve, detailing how many taps are being used on a particular output, and the Xover section in the device window is coloured grey not grey to show a running FIR section.
      You also cannot copy and paste across outputs with FIR data in AudioCore – FIR data will be ignored and deleted.
      To actually get your BIN file into the unit, you cannot copy individual preset via the XBL file through AudioCore (hence the message you’re seeing) – you need to load a bin file, created from your Lib Manager file, and load it using the preset loader, into the device directly. The preset loader app is the same one used for updating firmware.
      More info on creating the bin file and loading it is in this (slightly old but workflow correct) manual online here:
      https://audiocore.wpengine.com/wp-content/uploads/2014/12/Library-Manager-Manual-Version-2.30-Human-Font.pdf#page=21
      Hope this helps – if you’ve any further questions, just let me know!
      Waring

  • edger says:

    Dear Waring!About the FIR data LOAD to DP446 already understand, thank you very much for your reply! Can you recommend the software related to the production of FIR? We generally use smaart and MLSSA to directly calculate the FIR related data by software. Please provide relevant software recommendations. Can you consider making it directly with XTAL software? Is this better and more accurate?I sent RMB: 12500 to buy FIR-CAPTURE, the data that I have purchased for a week has been wrong, I can’t listen, the test data is not right! I hope that you can provide symmetrical software, thank you for understanding my advice!

  • Audio Thai says:

    to load a bin file, created from your Lib Manager file, and load it using the preset loader, into the device directly.

    Not Save in Memory !!!!

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.