File Exchange

image thumbnail

J211 Compliant filter

version (2.45 KB) by Meade
Calculate filter coefficients & filter signals in accordance with SAE-J211. -Phaseless -2 pole Butterworth IIR -Adjustable corner


Updated 06 Jul 2020

View Version History

View License

filterJ211 is simply a wrapper for the algorithm set forth by SAE-J211 (MAR95) (APPENDIX C);
This standard describes how to calculate the filter coefficients necessary for a BUTTERWORTH 4-POLE PHASELESS DIGITAL FILTER. These coefficients can then be directly applied to an input signal using the standard Matlab |filtfilt| command or with any custom filtering function that requires any number of 2nd-order sections (pole-pairs).
By default, this function will create the coefficients, and (if the Signal Processing Toolbox is installed) filter the input signals.

Cite As

Meade (2021). J211 Compliant filter (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (3)


@Allen, Thanks for your comment. You are correct. Long ago, the function was a wrapper that would dump into the Matlab |designfilt| function for higher order filters. That tool is much better for designing arbitrary filter classes and I had deprecated the functionality without removing the arguments.

I have updated the function to reflect that it will only solve the J211 spec'd 2 pole Phaseless filter.
Thanks much,


Meade, this function works great using the default 2nd-order value, but does not appear to behave correctly when trying to use the optional 'order' input for anything other than a 2nd-order. Trying to do so generates an error when passing the transfer function coefficients to filtfilt(...) that reads "Warning: Expected input to be a vector."

Tom Prohaszka

awesome! nice job

MATLAB Release Compatibility
Created with R2015b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!