View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from

Be the first to rate this file! 2 Downloads (last 30 days) File Size: 6.25 KB File ID: #30247 Version: 1.2



Jan Simon (view profile)


31 Jan 2011 (Updated )

Store persistent list of BUTTER parameters for faster access

| Watch this File

File Information

ButterParam - Fast parameters for a digital Butterworth filter

The calculation of filter parameters with BUTTER is expensive. Therefore ButterParam stores calculated parameters in a lookup-table to accelerate repeated calls with the same input.
  x = rand(10000, 1); % test data
  [B, A] = butter(3, 0.6);
  y = filter(B, A, x);
The relation of the processing times is: BUTTER=68% / FILTER=32%!
With [B, A] = ButterParam(3, 0.6) we get: ButterParam=14% / FILTER = 86%, and the both calls together use 35% of the version with BUTTER.

Input and output equal the BUTTER command of the Signal-Processing-Toolbox
when used with 3 inputs and 2 outputs:
[B, A] = ButterParam(N, Wn, Pass)
  N: Order of the filter.
  Wn: Cutoff frequency, scalar or [1x2].
  Pass: Optional, 'low', 'high', 'bandpass', 'stop'.
  B, A: Coefficients for FILTER.

  New parameters are calculated by BUTTER (Signal-Processing-Toolbox).
  The list of calculated parameters can be saved to a MAT file for future access.
  If all used parameters are found in this MAT file, the SPT is not needed to
  get the Butterworth filter parameters.

Run the included unittest function uTest_ButterParam to check validity and speed.

Required Products Signal Processing Toolbox
MATLAB release MATLAB 7.8 (R2009a)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (2)
18 Jun 2011 Jan Simon

Jan Simon (view profile)

Thanks for finding this bug. I'm using faster replacements for testing the existence of files or folders, but in this submission "exist(myPrefFile, 'file')" is needed. An update is comming soon.

Comment only
17 Jun 2011 Stephan

Thanks for this tool.
In line 55 of ButterParam.m you are using

if FileExist(myPrefFile)

This function does not exist in my matlab-installation.
Exchanging it with

if exist(myPrefFile,'file')

works fine though.

Comment only
29 Jun 2011 1.2

Bugfix: FileExist -> exist('file')

Contact us