Learn R Programming

ravetools (version 0.2.2)

rcond_filter_ar: Computer reciprocal condition number of an 'Arma' filter

Description

Test whether the filter is numerically stable for filtfilt.

Usage

rcond_filter_ar(a)

Value

Reciprocal condition number of matrix z1, used in filtfilt. If the number is less than .Machine$double.eps, then filtfilt will fail.

Arguments

a

auto-regression coefficient, numerical vector; the first element must not be zero

See Also

check_filter

Examples

Run this code


# Butterworth filter with low-pass at 0.1 Hz (order = 4)
filter <- butter(4, 0.1, "low")

# TRUE
rcond_filter_ar(filter$a) > .Machine$double.eps

diagnose_filter(filter$b, filter$a, 500)

# Bad filter (order is too high)
filter <- butter(50, 0.1, "low")

rcond_filter_ar(filter$a) > .Machine$double.eps

# filtfilt needs to inverse a singular matrix
diagnose_filter(filter$b, filter$a, 500)

Run the code above in your browser using DataLab