ButterParam

Store persistent list of BUTTER parameters for faster access

Vous suivez désormais cette soumission

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.
Example:
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)
INPUT:
N: Order of the filter.
Wn: Cutoff frequency, scalar or [1x2].
Pass: Optional, 'low', 'high', 'bandpass', 'stop'.

OUTPUT:
B, A: Coefficients for FILTER.

REQUIREMENTS:
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.

Citation pour cette source

Jan (2026). ButterParam (https://fr.mathworks.com/matlabcentral/fileexchange/30247-butterparam), MATLAB Central File Exchange. Extrait(e) le .

Informations générales

Compatibilité avec les versions de MATLAB

  • Compatible avec toutes les versions

Plateformes compatibles

  • Windows
  • macOS
  • Linux
Version Publié le Notes de version Action
1.2.0.0

Bugfix: FileExist -> exist('file')

1.0.0.0