>> Tested. This secret patch (which essentially provides a new rate >> controller based on the rate estimator, used when the old deadband >> logic snaps) with adjust_time=1 yields https://imgur.com/a/xTFmQ . >> >> It's a pity that the deadband logic sometimes unsnaps spuriously, so >> I changed the 2.5 in the deadband condition with 5.0. Result: >> https://imgur.com/a/WKsT7 , looks better than the original deadband >> logic, but I'd say this needs more investigation (and experiments) >> from my side, because it is not clear whether these oscillations will >> eventually decay. I will lok more into this on weekends. >> > It is not a "spuriously unsnapping" but part of the regulation > process. In my opinion the phase jump > comes first and then the controller kicks in to correct it. Take a > look at the reported latency values > when you run with debugging: First there is a jump in the latency and > then the controller reacts. That > is exactly how it is supposed to be. It also looks like those jumps > are no artifacts because the next > reported value is consistent with the regulation. I believe this is > somehow connected to changing > the sample rate (by only 1 Hz) because it does not occur when the rate > is kept constant. > > Maybe the hardware sometimes takes a millisecond to switch the rate. > > I wonder how good you think we can get. Even including the jump, the > latency is kept within > around 500 usec of the expected value, if you disregard the peak we > are talking about 200 usec. > I think I found the reason for the remaining issues with the regulation. It looks like there is some latency hidden in the resampler which is not taken into account. If I set the resampling method to trivial everything is working fine and the latency error nearly disappears. With the standard resampler I occasionally see latency jumps of about 1 ms when the rate is switched. Those jumps completely disappear with the trivial resampler. Alexander, could you please re-test with the trivial resampler? Any idea how to retrieve the required information from the resampler?