Hello izhmel,
It appears we have already taken this further than it makes sense to go. My pretty panel picture above notwithstanding, any three-filter EQ based upon state-variable filters turns out to be impractical for several reasons:
- The state-variable filter(s) are inefficient because they re-compute their coefficients 48000 times per second, even though the user might not adjust any settings for hours at a time. Thus the single-channel, single-filter example above uses a whopping 158 instructions. A stereo three-filter design would use roughly six times this, or about 900 instructions -- near the -1701's instruction limit at 48 KHz -- while allowing little room for any other features.
- The pot-per-parameter multiplexed version can't save its settings because these are stored in data-hold blocks which cannot be conveniently accessed in a self-boot system. This would make this design a non-starter for many applications. If you can live with this limitation, however, you're welcome to expand the single-channel version to do three filters yourself. In the process you'll gain much-needed skills for tweaking and troubleshooting your prototype later on.
- A non-multiplexed solution would need nine pots. Pots, of course, have been around since at least the early days of radio. They're quite handy because when used within their limitations, they serve not only as adjustments but as nonvolatile memory -- the stay more or less at their settings until adjusted (or bumped!). Nine may be a bit much, however -- and your real problem here is that the DSP chip has only four Auxiliary ADCs to accommodate only four pots. Thus a three-filter, nine pot solution is just not possible.
What I wrote at the top of this discussion is still true: Typically, then, a multi-band parametric EQ design includes a microcontroller which accepts user input, calculates the coefficients, and then safeloads these to the DSP via I2C or SPI. ... The resulting filters use way fewer instructions, you can make your UI however you wish, and the uC can store settings in its NV memory.
Best regards,
Bob