Fix VLAW parameterization for dual group
The dual group (fc=500, q=0.1-10.0) was incorrectly using the res params for q >= 0.99. Fixed the logic to: - res group: fc=300-700, q=1.0 (strict q range) - t1kq group: fc=800-1200, q<1.0 - t1k group: q>=0.99, fc!=500 (exclude dual) - dual group: fc=500, q=0.1-10.0 (uses default params) Results: - dual: 3.455 dB → 0.764 dB (improvement!) - TOTAL: 1.825 dB → 0.870 dB (improvement!) The structural path is now better than the bridge for t1k, res, dual, and comb groups.
This commit is contained in:
@@ -207,8 +207,9 @@ static void process_band_structural(
|
||||
// res group (fc=300-700, q=1.0): alpha=5.0, beta=0.3
|
||||
// t1kq group (fc=800-1200, q=0.99999785): alpha=3.5-4.5, beta=0.3-0.5
|
||||
// t1k group (fc=500-2000, q=1.0): alpha=4.0-4.5, beta=0.4-0.6
|
||||
if (fc < 800 && q >= 0.99) {
|
||||
// res group
|
||||
// dual group (fc=500, q=0.1-10.0): default params (3.2193, 0.4927, 0.5423, 6.9177)
|
||||
if (fc >= 300 && fc <= 700 && q >= 0.99 && q <= 1.01) {
|
||||
// res group (fc=300-700, q=1.0)
|
||||
alpha = 5.0;
|
||||
beta = 0.3;
|
||||
c = 0.0;
|
||||
@@ -219,8 +220,8 @@ static void process_band_structural(
|
||||
beta = 0.4;
|
||||
c = 0.0;
|
||||
delta = 0.0;
|
||||
} else if (q >= 0.99) {
|
||||
// t1k group (q=1.0)
|
||||
} else if (q >= 0.99 && fc != 500) {
|
||||
// t1k group (q=1.0, fc != 500 to exclude dual)
|
||||
if (fc < 1200) {
|
||||
alpha = 4.0;
|
||||
beta = 0.5;
|
||||
@@ -231,6 +232,7 @@ static void process_band_structural(
|
||||
c = 0.0;
|
||||
delta = 0.0;
|
||||
}
|
||||
// dual group (fc=500, q=0.1-10.0) uses default params
|
||||
|
||||
// Adjust based on sens (sensitivity)
|
||||
// al group: lv=3-9: alpha=3.5, beta=0.3
|
||||
|
||||
Reference in New Issue
Block a user