Main Menu

Home

Products

Sample Champion
Overview
Features
Plug-ins

Download

Order

Support

Sample Champion
Manual on-line
FAQ and RAQ
Tips
Known issues

Resources

MLS theory
Application notes
Video Tutorials
Bibliography
Links

What's new

Contact us

Site Map


 
 
 

Application note # 9
Sample Champion

 

BUTTERWORTH and CHEBYSHEV IIR digital filter

This application note describes how to use the Sample Champion Filter Banks plugin for custom, octave and 1/3 octave filtering.


BUTTERWORTH and CHEBYSHEV IIR digital filter

Figure 1 - Filter Banks plugin window


First of all, an impulse response must be measured or loaded in Sample Champion. The measured or loaded Imulse Response can be mono (1 channel) or stereo (2 channels).
Now the Filter Banks plugin can be opened (from the "New Measurement" Window); the dialog in figure 1 will appear.

 

IEC 1260 Octave Filters

The plugin implements a complete set of octave band-pass filters, as specified in the International Standard IEC 1260 (that superseded the IEC 225 normative). The IIR filter is generated as a 6th order band-pass Butterworth digital filter, with passband depending on the selected center frequency. The true frequency response of the filter is plotted in the graph at the lower right corner of the plugin.

Filtering procedure:
Select "IEC 1260 Octave Filter" in the "Filter Banks" selection and the desired center frequency of the filter in the "Octave" selection.

For seeing the result of filtering both in the time and frequency domains, it can be useful to make a selection of the impulse response and to open the Frequency domain "FFT of Selection" window (see Application note #1). Press "Select All" time domain data.

In the following examples, a narrow Impulse Response has been used, in order to have a nearly flat (unfiltered) frequency response.

 

Figure 2 - Unfiltered Impulse Response

 

Figure 3 - Frequency response of the unfiltered Impulse Response represented in figure 2


Now, to apply the filtering, check "Enable Filtering", press two times the F5 button and the filtering will be applied. Figures 4 and 5 present the result, in the time and frequency domains, of a 1 kHz octave filtering.


Figure 4 - Impulse Response of figure 2, after 1 kHz octave filtering

 

Figure 5 - Frequency response of the filtered Impulse Response represented in figure 4

 

To UNDO the filtering, uncheck "Enable Filtering" and press again two times the F5 button. The UNDO restores the Impulse Response data present when the plugin had been opened. Once the plugin is closed, the UNDO function can no longer be applied.

 

IEC 1260 1/3 Octave Filters

The plugin implements a complete set of 1/3 octave band-pass filters, as specified in the International Standard IEC 1260.

Filtering procedure:
Select "IEC 1260 1/3 Octave Filter" in the "Filter Banks" selection and the desired center frequency of the filter in the "1/3 Octave" selection.

The same procedure of the octave filter case can be followed.

Figures 6 and 7 present the result, in the time and frequency domain, of a 1 kHz 1/3 octave filtering.


Figure 6 - Impulse Response of figure 2,
after 1 kHz 1/3 octave filtering

 

Figure 7 - Frequency response of the filtered Impulse Response represented in figure 6

 

Custom Filters

The plugin allows also creating and applying custom low-pass, high-pass and band-pass BUTTERWORTH and CHEBYSHEV IIR digital filters.

The parameters of the filter are:

- Filter type (LP, HP or BP)
- Filter prototype (BUTTERWORTH or CHEBYSHEV)
- Filter order (1 to 16, must be even for band-pass)
- Ripple value (in dB, CHEBYSHEV filters only)
- Low-cut and High-cut frequencies

Care must be taken when the chosen cut frequency is near to 0 or to the Nyquist frequency because high order filters can lead to unexpected behaviours. Anyway the graph with the frequency response of the filter, located at the lower right corner of the plugin, gives an immediate description of the result.

 

Figure 8 - Frequency response of the Impulse Response represented in figure 2, after a 5 kHz low-pass filtering

Figure 9 - Frequency response of the Impulse Response represented in figure 2, after a 5 kHz high-pass filtering

 

For each generated filter (custom or octave and 1/3 octave presets), the plugin gives also the complete set of the computed coefficients of the IIR filter. For example, the following coefficients have been generated for a 1 kHz octave filter (sampling frequency 48000 kHz):


a[0]:=9,05521705998714E-5; b[0]:=1;
a[1]:=0; b[1]:=-5,76516227546357;
a[2]:=-0,000271656511799614; b[2]:=13,8992002157152;
a[3]:=0; b[3]:=-17,9364279956002;
a[4]:=0,000271656511799614; b[4]:=13,0669125310377;
a[5]:=0; b[5]:=-5,09546732357597;
a[6]:=-9,05521705998714E-5; b[6]:=0,830949423916396;

 

They can be used by other software for filtering time data, using the following pseudo-pascal code:

 

// InputData[]: array of time data to be filtered
// OutData[]: array of filtered time data
//
TempData[]: temporary time data array
//
NumData: number of time data
// a[], b[]: coefficients generated by the plugin


N:=FilterOrder;
M:=FilterOrder;

fill(TempData,0);
for q:=0 to N do InputData[q]:=0;

for ny:=N+1 to NumData do

begin

s1:=0;
for k:=0 to M do
s1:=s1+a[k]*InputData[ny-k];

s2:=0;
for j:=1 to N do
s2:=s2+b[j]*TempData[ny-j];

TempData[ny]:=s1-s2;

end;

for q:=0 to NumData do OutData[q]:=TempData[q];

// ---------------------------------------------------
// You are free to use, edit and redistribute this source
// code provided that reference to this site appears
// somewhere in the source code.
// ---------------------------------------------------

 

 

Download PDF file (360K) Shift-click to download

Back to Application Notes

 

 

 

HOME | PRODUCTS | DOWNLOAD | ORDER | SUPPORT | RESOURCES
WHAT'S NEW | CONTACT US | SITE MAP

Copyright 2004 PureBits.com - All Rights Reserved.