Commit 617dc49
committed
fix(inputs): always subtract integration constant when deriving magnetizing current from voltage
The is_continuously_conducting_power heuristic was wrong for pure inductor
mode: a pure inductor has V and I in ~90 degree quadrature, so V*I ~ sin(2wt)
crosses zero often, causing the heuristic to misclassify the load as
discontinuous and skip average subtraction of the integrated voltage waveform.
For harmonic-rich AC excitations (e.g. sinusoidal with high THD), the
integration constant was left in place, producing a unipolar [0, +Imax]
magnetizing current and an asymmetric flux density whose processed.peak equalled
peak-to-peak (Bpeak = 2 x BACpeak in the UI).
Fix: always pass subtractAverage=true in this branch. Any intentional DC bias
is supplied separately via the dcCurrent argument and added back after.
Adds regression test Test_Magnetizing_Current_Pure_Inductor_With_Measured_Current_Is_Bipolar
that verifies the MC is bipolar-centered and peak ~ peakToPeak/2.
Also fixes test data path helper in TestMagneticAdviser.cpp (unrelated cleanup).1 parent dfcc041 commit 617dc49
3 files changed
Lines changed: 80 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2278 | 2278 | | |
2279 | 2279 | | |
2280 | 2280 | | |
2281 | | - | |
2282 | | - | |
| 2281 | + | |
| 2282 | + | |
| 2283 | + | |
| 2284 | + | |
| 2285 | + | |
| 2286 | + | |
| 2287 | + | |
| 2288 | + | |
| 2289 | + | |
| 2290 | + | |
| 2291 | + | |
| 2292 | + | |
| 2293 | + | |
| 2294 | + | |
| 2295 | + | |
| 2296 | + | |
| 2297 | + | |
| 2298 | + | |
2283 | 2299 | | |
2284 | 2300 | | |
2285 | 2301 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1258 | 1258 | | |
1259 | 1259 | | |
1260 | 1260 | | |
| 1261 | + | |
| 1262 | + | |
| 1263 | + | |
| 1264 | + | |
| 1265 | + | |
| 1266 | + | |
| 1267 | + | |
| 1268 | + | |
| 1269 | + | |
| 1270 | + | |
| 1271 | + | |
| 1272 | + | |
| 1273 | + | |
| 1274 | + | |
| 1275 | + | |
| 1276 | + | |
| 1277 | + | |
| 1278 | + | |
| 1279 | + | |
| 1280 | + | |
| 1281 | + | |
| 1282 | + | |
| 1283 | + | |
| 1284 | + | |
| 1285 | + | |
| 1286 | + | |
| 1287 | + | |
| 1288 | + | |
| 1289 | + | |
| 1290 | + | |
| 1291 | + | |
| 1292 | + | |
| 1293 | + | |
| 1294 | + | |
| 1295 | + | |
| 1296 | + | |
| 1297 | + | |
| 1298 | + | |
| 1299 | + | |
| 1300 | + | |
| 1301 | + | |
| 1302 | + | |
| 1303 | + | |
| 1304 | + | |
| 1305 | + | |
| 1306 | + | |
| 1307 | + | |
| 1308 | + | |
| 1309 | + | |
| 1310 | + | |
| 1311 | + | |
| 1312 | + | |
| 1313 | + | |
| 1314 | + | |
| 1315 | + | |
| 1316 | + | |
| 1317 | + | |
| 1318 | + | |
| 1319 | + | |
| 1320 | + | |
1261 | 1321 | | |
1262 | 1322 | | |
1263 | 1323 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3205 | 3205 | | |
3206 | 3206 | | |
3207 | 3207 | | |
3208 | | - | |
| 3208 | + | |
3209 | 3209 | | |
3210 | 3210 | | |
3211 | 3211 | | |
| |||
3354 | 3354 | | |
3355 | 3355 | | |
3356 | 3356 | | |
3357 | | - | |
| 3357 | + | |
3358 | 3358 | | |
3359 | 3359 | | |
3360 | 3360 | | |
| |||
0 commit comments