design_filter_iir  R Documentation 
Design an 'IIR' filter
design_filter_iir(
method = c("butter", "cheby1", "cheby2", "ellip"),
sample_rate,
filter_order = NA,
high_pass_freq = NA,
high_pass_trans_freq = NA,
low_pass_freq = NA,
low_pass_trans_freq = NA,
passband_ripple = 0.1,
stopband_attenuation = 40
)
method 
filter method name, choices are 
sample_rate 
sampling frequency 
filter_order 
suggested filter order. Notice filters with higher orders
may become numerically unstable, hence this number is only a suggested
number. If the filter is unstable, this function will choose a lower order;
leave this input 
high_pass_freq 
highpass frequency; default is 
high_pass_trans_freq 
highpass frequency bandwidth; default is automatically inferred from filter type. 
low_pass_freq 
lowpass frequency; default is 
low_pass_trans_freq 
lowpass frequency bandwidth; default is automatically inferred from filter type. 
passband_ripple 
allowable passband ripple in decibel; default is

stopband_attenuation 
minimum stopband attenuation (in decibel) at
transition frequency; default is 
A filter in 'Arma' form.
sample_rate < 500
my_diagnose < function(
filter, vlines = c(8, 12), cutoffs = c(3, 6)) {
diagnose_filter(
b = filter$b,
a = filter$a,
fs = sample_rate,
vlines = vlines,
cutoffs = cutoffs
)
}
#  Default using butterworth to generate 812 bandpass filter 
# Butterworth filter with cutoff frequency
# 7 ~ 13 (default transition bandwidth is 1Hz) at 3 dB
filter < design_filter_iir(
method = "butter",
low_pass_freq = 12,
high_pass_freq = 8,
sample_rate = 500
)
filter
my_diagnose(filter)
## explicit bandwidths and attenuation (sharper transition)
# Butterworth filter with cutoff frequency
# passband ripple is 0.5 dB (812 Hz)
# stopband attenuation is 40 dB (518 Hz)
filter < design_filter_iir(
method = "butter",
low_pass_freq = 12, low_pass_trans_freq = 6,
high_pass_freq = 8, high_pass_trans_freq = 3,
sample_rate = 500,
passband_ripple = 0.5,
stopband_attenuation = 40
)
filter
my_diagnose(filter)
#  cheby1 
filter < design_filter_iir(
method = "cheby1",
low_pass_freq = 12,
high_pass_freq = 8,
sample_rate = 500
)
my_diagnose(filter)
#  cheby2 
filter < design_filter_iir(
method = "cheby2",
low_pass_freq = 12,
high_pass_freq = 8,
sample_rate = 500
)
my_diagnose(filter)
#  ellip 
filter < design_filter_iir(
method = "ellip",
low_pass_freq = 12,
high_pass_freq = 8,
sample_rate = 500
)
my_diagnose(filter)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.