Those QSC DSPs look very interesting, I will check the control software.
The fact that the software did load the 6144 taps, and even showed a response curve does not necessarily mean it was properly loaded into the DSP as that many taps.
In that case it would be better to generate the correction as a 4096 taps FIR from the get go to get correct windowing instead of a brutal truncation.
Can you chain several FIR blocks?
In the end it might be worth bypassing the 21Hz EQ in the FIR correction and use IIR for that one (hopping QSC's biquad implementation does not introduce too much quantization noise), as well as for the high Q EQ points around 200Hz.
If you set "optimization" to "none" you will get a cleaner IR that sticks more closely to minimum-phase constraints, but those low frequency / high Q EQ points will get smoothed a lot with that number of taps, hence the use of IIR EQs to handle them.
In that scenario "cosine" windowing might give the best result.
Two "short" FIRs could be automatically generated from a longer one, I have to work on something like that as it would definitely be useful in several scenarios.
It would not be easy to do manually in rephase using trial and error so this is not an option right now.
Plus you would have to measure how much delay the processing of a FIR block takes in the QSC (is it time-domain or frequency-domain convolution?).
Using IIR for the most demanding EQs (low freq and high Q) is probably your best bet.
I did not find a complete manual for your DSP, only very short descriptions and specifications.
This looks like a very impressive and flexible unit for sure!
Understood, please let me know if you have any success.
Not sure about what type of convolution engine it is using but I will investigate.
The manual that comes with the DSP unit is maybe 12 pages long so not much help but there is very extensive online help available Here, and lots of tutorials on youtube to get a good idea of the fundamentals of the Qsys designer software.
Thanks for the link.
I tried the FIR block in emulation mode, but I did not manage to load coefficients in a consistent way.
It accepts wav files (up to 32bit IEEE floats, which is good), but the magnitude trace has ripples all over the place.
Loading csv coefficients does not work for me.
In any case the phase trace is of course wrong and should be ignored, as it does not (and cannot) take time reference used to generate the FIR.
How did you process the FIR before loading it?
The property setting let you choose up to 4096 taps (default to 384), and the manual explicitely states that FIR get truncated or zeroed to fit that limit.
How many taps in total can this dsp provide, when combining many FIR-blocks?
I was able to put 12 x 4096 taps FIR blocks in the software before a memory overflow was detected (DSP power was good up to 16 FIR blocks), so that it 48ktaps at 48kHz total!
Wow. Maybe this is the device we have been waiting for!?
Price?
I didn't make any changes to the FIR, only selected '32 / 64 bits floats mono' generated a new file and was able to load it into q-sys without problems. This format is not exactly a csv file, however it appears to support it fine.
I did check the manual re: 4096 max FIR and that maybe true, its just strange because you can save the design to the dsp then load it back without apparent truncation, however this part of the software is new to me so I am investigating as I go along.
Hi Pos
Could you elaborate on how I go about doing this. This is all very new to me.
I'm almost at the point that I can start doing some measurements to see whats going on with the DSP. There is no audible difference when I try 4096 taps v 6144 so I guess the only way is to compare is via taking some measurement. May also be able to compare with an OpenDRC implementation.
Here are two presets you can use, based on the one published in the google doc and modified for your scenario.
I removed the optimization steps, changed windowing to cosine, and also cut 1ms on each.
For some reason I cannot embed them inside CODE tags here, because of the forum wysiwyg editor trying to do smart things
I wish it could be deactivated...
Anyway, I uploaded them on pastbin, you can copy them and use the "load from clipboard" functionality in rephase.
LF: https://pastebin.com/raw/sDbtXFK3
As described in the note section this preset requires two additional constant Q EQs to be added with a "parametric equalizer" block in your process chain:
+4.5dB, Q=2.4, 21Hz
-0.8dB, Q=6.8, 62Hz
(let's hope QSC EQ implementation is actually constant Q...)
HF: https://pastebin.com/raw/5FiMYSX4
This one does not need any extra IIR EQ
It appears it does, but it implements Q as a bandwidth, like BSS, and with low precision in the gain/frequency/bandwidth values you can use (and the interface does not help there, to say the least...!).
You can use this converter to get approximated bandwidth values to use.
A much better solution would be to use biquad coefficients ("IIR custom filter" block), but unfortunately I did not manage to generate a format it would accept
Even the example they give in their help page does not work for me.
WOW, Thank you
FYI v6.1.1 of the software (i.e the current release) was the first version that IIR filters were implemented so there may still be bugs, FIR was implemented some time ago.
There are currently 2 users browsing this thread. (0 members and 2 guests)