Add selectable RTA filter characteristics

This commit is contained in:
Mikei386
2026-07-21 21:12:19 +02:00
parent af974b92ec
commit 3478bfb495
8 changed files with 116 additions and 18 deletions
+7
View File
@@ -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");