Add selectable RTA filter characteristics
This commit is contained in:
@@ -321,6 +321,10 @@ fn normalize_rta_config(mut config: PhoenixRtaConfig) -> PhoenixRtaConfig {
|
||||
"fft" => "fft".to_string(),
|
||||
_ => "iir".to_string(),
|
||||
};
|
||||
config.filterbank = match config.filterbank.trim().to_ascii_lowercase().as_str() {
|
||||
"butterworth" | "butter" => "butterworth".to_string(),
|
||||
_ => "legacy".to_string(),
|
||||
};
|
||||
config.fft_size = match config.fft_size {
|
||||
2048 | 4096 | 8192 | 16384 => config.fft_size,
|
||||
n if n < 3072 => 2048,
|
||||
@@ -721,6 +725,7 @@ mod tests {
|
||||
..PhoenixRtaConfig::default()
|
||||
});
|
||||
assert_eq!(config.engine, "iir");
|
||||
assert_eq!(config.filterbank, "legacy");
|
||||
assert_eq!(config.bpo, "1_12");
|
||||
assert_eq!(config.order, 6);
|
||||
assert_eq!(config.freq_range, "norm");
|
||||
@@ -730,6 +735,7 @@ mod tests {
|
||||
fn phoenix_profile_retains_explicit_extensions() {
|
||||
let config = normalize_rta_config(PhoenixRtaConfig {
|
||||
engine: "fft".to_string(),
|
||||
filterbank: "butterworth".to_string(),
|
||||
bpo: "1_12".to_string(),
|
||||
order: 8,
|
||||
freq_range: "lf".to_string(),
|
||||
@@ -738,6 +744,7 @@ mod tests {
|
||||
..PhoenixRtaConfig::default()
|
||||
});
|
||||
assert_eq!(config.engine, "fft");
|
||||
assert_eq!(config.filterbank, "butterworth");
|
||||
assert_eq!(config.bpo, "1_12");
|
||||
assert_eq!(config.order, 8);
|
||||
assert_eq!(config.freq_range, "lf");
|
||||
|
||||
Reference in New Issue
Block a user