DamFilterDesigner App : create and display FIR&IIR Lowpass Filters for Soekris dam

This app was aleardy introduced in the Filter Brewing for soekris dam thread, but it's time to open a dedicated thread, so here it is.

This app is made with MATLAB app designer an is free of charge.
I am an electrical engineering student from Germany and this app was developed while procrastinating studying for exams ........

This app is for designing FIR and IIR Lowpass Filters for Soekris dam1xxx (in next release also dam2xxx)
The type of Filter, wether it's an interpolation Filter, an decimation Filter (for DSD) or just Lowpass(IIR) is selected automatically.

Currecntly you can design FIR Lowpass Filters with the following techniques:
  1. Spectral Windows (Standard windows like Kaiser, Hann, Blackman-Harris... and Albrecht 3-11th term, and Albrecht Minimal Side Lobes)
  2. Halfband linear and minimum phase
  3. Nyquist linear and minimum phase
  4. least Squrare
  5. ParksMcClellan
  6. Equiripple linear and minimum phase
  7. LeastPthNorm mixed and minimum phase
IIR design:
  1. Butterworth
  2. Chebychev
  3. Elliptical
  4. Quasilinphase
The IIR Filters can be higher order as they will be converted to cascaded Biquad Filters.

You can verify the designed filters right away with:
  1. Magnitude Response
  2. Phase Response
  3. Impulse response
  4. Step response
  5. Group delay
  6. Magnitude Response Estimate only valid for dam1xxx at the moment
The Magnitude Response estimate is working with fixed point arythmetic:
Coefficientsdatatype:
  • 1.31 for FIR1
  • 2.30 for FIR2
  • 3.29 for IIR
productDataType:
  • 35.35
AccumulatorDataType:
  • 4.24
Output Datatype:
  • 2.30 for FIR1 as these will go into FIR2...
  • 2.30 for IIR as these will go into FIR2...
  • 2.26 for FIR2 as we have a 28bit ladder dac
I found this a very important feature as this serves as an overflow detection.

About Gain:
  • standard gain is applied to the corresponding Interpolation Rate
  • When designing Filters you can chnage the Gain in form of a Correction Faktor:
    eg. the FIR1 Filters designed by Soeren have a gain of 8 and an correction factor of 0.7585
    if you multiply these you get the 6.8 gain value you can find in the filter text files...
  • DSD Filters have a gain of 30dB - this comes from: 24dB gain in the DAC and 6dB gain because it's dsd...
    but again you can make a gain correction by the factor
  • I strongly advise to have a look at the magnitude response estimate and change the correction faktor so the filter wont overflow! This is especially the case when designing Filers with short Coeff length as their values are simply higher.

The designed filters can be stored to a list inside the app that does all the sorting for you.
In this "Filter List" the filters are shown with their properties:
  • Filter type FIR1/FIR2.. ,
  • Filter Bank F4/F5/F6/F7..
  • key values (like attenuation at 20kHz)
  • Input Sampling Rate
From this list you can select a matching pair of FIR1 and FIR2 filters and plot a cascaded mangitude response!
The magnitude response estimate however does not work for caseded filters...

Next feature is the import of .skr filter Files:
You can import ANY .skr filter file, no matter how old, plot the responses and add them to your "filter list".
This way you can import your favourite old filters and mix and match them with new ones.

Of course you can export the designed Filters as a .skr file!

As filter design is not done in a day you can save your "filter list" as a matlab workspace (.mat) file that can be opend up later to resume your work.

The newest feature (but not properly tested so kind of beta) is Upload of filters to dam:

As this is not a commercial tool and I'm not a pro this tool is not free of bugs, so please report any problems and I'll try to correct them

At the moment I'm trying to integrate an automated Room Correction feature but that is difficult...

You can download the App here:

https://jp-hoffmann.de/Files/DamFilterDesigner2_3.zip

Be aware, this app is pretty big and quite Power Hungry as it is running MATLAB Runtime in background.
From users aleardy testing the app I got the sense that you need Win11 or Win10 at least, not sure.

Enjoy

Here are some example pictures of how the app looks like:
app_1.png


app_2.png
 
  • Like
  • Thank You
Reactions: 5 users