Filter with external level, center frequency, and Q controls (GPIO)
I am looking to create a filter (General 2nd Order for now) where I can edit the level, center frequency, and Q of the filter using external controls. So far, I have found ways to adjust either the level, or both the Q and center frequency, but I have yet to discover a way to have all three in one filter. Thanks for your help.
-Justin
Hi Justin,
Unfortunately, due to the complexity of calculating the 5 coefficients necessary for a general 2nd order IIR filter, it is very DSP-intensive to implement a filter where the level, boost/cut, Q, and frequency are controllable internally in the DSP program. This is why the standard filters in the library do not have this feature.
I see two options for you in this scenario:
Use a standard filter but have some external intelligence (like a microcontroller) calculating the filter coefficients on behalf of the DSP. This FAQ can help with that: https://ez.analog.com/docs/DOC-1819
Select a limited number of possible filters that you would like the user to be able to select, and use the Index Selectable Filter cell (more info here: https://wiki.analog.com/resources/tools-software/sigmastudio/toolbox/filters/general2ndorderindexselectable). This will effectively instruct SigmaStudio to pre-compute all of the filter coefficients and store them in memory, so the user can select one filter at a time. This saves a great deal of complexity in terms of DSP computation, but unfortunately it is very memory-intensive because you need to store a large table of data in parameter memory.
This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.
Thank you,
EZ Admin
Please log in to reply.