Fractional Octave Band and A, B, C Weighting Filters DF2T SOS IIR Matlab and limited Labview

This is a Direct Form 2 Transposed Cascaded Second Order Sections IIR implementation of Filters.
Updated 11 Sep 2015

View License

ABC weighting is accomplished using the ABC_time_filter program.
Fractional Octave Band Filtering is accomplished using the Nth_oct_time_filter_df2tsos program.
ABC_time_filter and Nth_oct_time_filter_df2tsos use Direct Form II Cascaded IIR Second Order Section Filters.
Edward L. Zechmann
Last modified: 2015/09/10
Nth_oct_time_filter_df2tsos is the main program for analyzing time recordings in fractional octave bands.
The data can be broken up into small bins and continuity will still be preserved.
Nth_oct_time_filter_df2tsos contains examples which show how to set up the program for running multiple channels with multiple bins of data.

filter_coef_tool5.m is the main program for calculating a bank of third octave band filters.

Using Method 1, filter_coef_tool5.m returns the optimized Labview filters
Using Method 2, filter_coef_tool5.m returns the non-optimized Matlab filters.
Using Method 2, filter_coef_tool5.m returns either the Labview or Matlab filters based on the tolerance of the sampling rate.
If the sampling rate is supported within the tolerance of the preferred sampling rates then the Labview filters are used otherwise the Matlab filters are returned.
filter_coef_tool5.m contains a list of the supported sampling rates for the Labview filters.
In general the Labview filters are more accurate and robust than the Matlab Filters.
The Labview filters only work at the supported frequencies.

The not optimized filters are native Matlab filters which will run at any specified sampling rate.

The optimized filters were created using Labview and only work at the specified sampling rates.
If the sampling rate is not supported than the not optimized filters are used.

The tolerance of 0.01% of the sampling rate is used for selecting the not optimized filters.
This choice was arbitrary and the uncertainty of this choice has not been evaluated.

test_labview_filter_coefficients3.m is a program that is meant to be modified for testing different combinations of filters.

plot_test_results_labview_filters.m is a program for plotting the results from test_labview_filter_coefficients3.m.
plot_test_results_labview_filters.m is meant to be modified to present meaningful results.

Cite As

Edward Zechmann (2024). Fractional Octave Band and A, B, C Weighting Filters DF2T SOS IIR Matlab and limited Labview (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2015a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on LabVIEW in Help Center and MATLAB Answers

Inspired by: octave, Generate spatial data, NaN Suite

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

Added an image and an acknowledgment.