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

View source: R/filter-utils.R

rcond_filter_arR Documentation

Computer reciprocal condition number of an 'Arma' filter

Description

Test whether the filter is numerically stable for filtfilt.

Usage

rcond_filter_ar(a)

Arguments

a

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

Value

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

See Also

check_filter

Examples



# 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)


ravetools documentation built on Sept. 11, 2024, 9:06 p.m.