Wiki

This version (29 Jul 2020 16:04) was approved by Joshua Berlin.The Previously approved version (15 Sep 2017 11:07) is available.Diff

General (2nd-Order / Index Selectable) Graphical

Click here to return to the Filters page
The General (2nd-Order / Index Selectable) block provides a wide variety of 2nd-order filter algorithms. This block extends the functionality of the General (2nd-Order / Lookup) filter with an enhanced graphical filter design tool. In addition, each of this filter's response curves can be designed independently, allowing you to use complex filter configurations to match your desired system response.

This filter provides:

  • Selection from a set of filter responses via external control input pin.
  • Graphical design of filter response curves.
  • Independent filter type and settings for each response curve.
  • Loading of filter coefficients from a text file containing the same.

This block is implemented as a biquad filter that has multiple sets of coefficients stored in tables on the DSP. See General 2nd-Order Filters (in Algorithm Information) for details about the biquad filter design techniques used for this block.

As of SigmaStudio 4.5, Index Selectable Filters are not working on ADAU1701 or ADAU1401. The block is tested and working for ADAU176x, ADAU144x, ADAU145x, and ADAU146x.

Input Pins

NameFormat [int/dec] - [control/audio]Function Description
Pin 0: Inputdecimal - audioInput to the filter
Pin 1: Filter Select Index decimal - audioIndex of the selected frequency response curve

Output Pins

NameFormat [int/dec] - [control/audio]Function Description
Pin 0: Outputdecimal - audioThe filtered output

NOTE: The selection input should be a 28.0 format integer value between 0 and the number of curves. For example if your filter has 6 curves, the selection input value should be a 28.0 integer value from 0 to 5.

Configuration

To open the Filter Control Window, Click the icon button:



GUI Control NameDefault ValueRangeFunction Description
icon button--Opens the Filter Control Window
Select Filter by Filter Number0 0-99Selects a filter response curve by filter number selected
Frequency100Hz 0-96KHzSet the cutoff frequency of the filter
Boost10-150 to 30dBSet the boost value for a particular filter curve
Q factor1.410.05 to 15Set the Q factor
Ripple0.10.1 to 5Set the Ripple factor for particular filter type(this control is not enabled for all filter types)
Gain6-96dB to 10dBSet the Gain for a particular filter response curve.
Graph--The filter response curves in the graph can be dragged to suitably change the filter characteristics
Filter TypePeaking(0)0-13Select the type of filter
Filter Sub-type00-4The “Sub Type” section is only available for the First Order filter type. In first order mode, you have the flexibility of choosing between two cascaded first order filters in a configuration of Low - Low, Low - High, High - Low, or High - High combinations. The “Active 1” and “Active 2” check boxes also apply to First Order filters only, and allow you to independently enable or disable either of the two first order filters.
Load All--The ISF form also has a load all button. On clicking the Load all button the filter types of all added filters is changed to IIR Coefficient and enables loading of filter coefficient for all filters from a single text file containing the coefficients for all filters.
Opacity--The “Opacity” control sets the transparency value of the control window
Slew120-46/ 0-100ADAU144x/ADAU176x supports upto 46 slew points.The “Slew Points” control sets how many transition points the algorithm uses to transition from one selected filter curve to another, increasing the number of points will provide smoother transitions
Bypass00 or 1The “Bypass” check box disables the filter when checked
View--The “View” section only applies for the First Order filter type, this tool allows you to manage each first order filter and control its settings graphically. Refer to the Example for more details



You can add additional filter curves by clicking the Add Filter button. To remove a filter, select the filter in the graph or clicking its index in the Filter column and press the Remove Filter button.
Coefficients can be loaded for all added filters using the load all button which opens the choose file dialogue where the file containing all coefficients can be loaded as shown in the figure. Coefficients file is expected as a text file containing the biquad coefficients in the following order.

  1. B0
  2. B1
  3. B2
  4. A1
  5. A2





When the filter type chosen is IIR, coefficients for that particular filter can be chosen by clicking the load button which opens a choose file dialogue where the file containing all coefficients can be loaded as shown in the figure.

DSP Parameter Information


GUI Control NameCompiler NameFunction Description
B2B2Bi-quad coefficient of the selected filter response curve
B1B1Bi-quad coefficient of the selected filter response curve
B0B0Bi-quad coefficient of the selected filter response curve
A2A2Bi-quad coefficient of the selected filter response curve
A1A1Bi-quad coefficient of the selected filter response curve



Example


In this example, ISF1 and ISF2 are the names of the two consecutive blocks on Figure c. Both blocks contain four filters, and are set to the “zeroth” index filter, curve 0, selected by the DC input in “28.0” format. (Other formats cannot be used for selection). The ISF1 window is shown below. The cascaded Transfer Function is represented at the bottom. A different filter response curve can be selected by changing the value of the DC input block to corresponding filter index.



Using cascaded Index Selectable Filters (ISF) as in the above example, it is possible to simulate complex responses like the Fletcher & Manson psychoacoustic contours of loudness.

resources/tools-software/sigmastudio/toolbox/filters/general2ndorderindexselectable.txt · Last modified: 23 Jun 2020 19:48 by Joshua Berlin