-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FLL bandedge: fix math & thread safety bugs #7127
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
1e6bd01
to
bdc2e3f
Compare
bdc2e3f
to
2874d35
Compare
fll_band_edge_cc fails on Debian 11 |
@marcusmueller any clue on the failure? It's a comparison that's not even close ... not a tolerance thing. |
huh, no, no idea. Need to reproduce locally. |
Any progress? This looks like some sort of precision difference on 32-bit. |
4a42df2
to
303e18f
Compare
locally reproduced the 32 bit test failure. having a hard time figuring out the reason. The tolerance seems very generous already. |
Tap generation broken on 32 bit, it seems:
|
baseband taps seem to be different, but not much (10⁻⁷, still surprisingly much for these relatively well-conditioned numbers) 64 bit:
32 bit:
But here's the real part of the (frequency shifted baseband==) lower edge filter: 😮 |
Yep,
|
Is this because |
I think there was something fishy going on with integer promotion rules. Having made Note that the 32 bit build uses -O3, the 64 bit build -O2. |
…thods Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
While fixing a bug in thread safety, an error in how the filter is normalized was noticed and fixed Also, figuring out what the critical sections are becomes easier when methods actually use the members they were supposed to use, instead of always being called with them as arguments. Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
1ed75cd
to
5f0a484
Compare
Description
Related Issue
Closes #6466
Found the normalization bug and the numerical accuracy TODO while doing that
Which blocks/areas does this affect?
FLL bandedge
Testing Done
Added a test to demonstrate it now actually works oin noisy weather
Checklist