|
From: | Marcus Müller |
Subject: | Re: [Discuss-gnuradio] GnuRadio: Clock Recovery MM: imu out of bounds |
Date: | Mon, 7 Sep 2015 10:39:06 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 |
Hi Michael, so, this having sat on my "what the hell, I need to look at this" list for the weekend: I can't reproduce the behaviour, but that might simply have the cause of me using white noise instead of your recording. Could you share that? I have two hypotheses and one observation so far: The observation is that in many places where we want to get the closest int to a float, we use stuff like int imu= rint(mu*NSTEPS), which is wrong in respect to the return value (double), the parameter type (double) and in most cases also the side effects (rint is the version of nearbyint that sets error flags, but we don't check them). We should use something else; that's an overhaul of existing code that'll have to be done another day. So first hypothesis: It's your signal that will suffice for us to reproduce the error. That's the "good" case, because then one can actually inspect what goes wrong here. Second hypothesis: Based on above observation and VirtualBox' history of delicate floating point bugs, this might get a bit more involved, especially since floating point exception registers are involved, which historically were hard to properly multithread/make ISR save; maybe the overhaul mentioned above would solve the issue, though. Best regards, Marcus On 21.08.2015 08:00, Michael B wrote:
|
[Prev in Thread] | Current Thread | [Next in Thread] |