# Numerical stability and accuracy of PLL blocks

**URL:** <https://www.ruby-forum.com/t/numerical-stability-and-accuracy-of-pll-blocks/234673>\
**Category:** GNU Radio\
**Created:** [March 20, 2015, 3:58pm UTC](https://www.ruby-forum.com/t/numerical-stability-and-accuracy-of-pll-blocks/234673 "2015-03-20T15:58:47Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![addis\_a](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/c4cdca/32.png) [@addis\_a](https://www.ruby-forum.com/u/addis_a)\
**Post date:** [March 20, 2015, 3:58pm UTC](https://www.ruby-forum.com/t/numerical-stability-and-accuracy-of-pll-blocks/234673/1 "2015-03-20T15:58:47Z")

</div>

Hello,

does anyone know if any stability and accuracy evaluation of the digital  
PLL as implemented in GNU Radio exist?

I’m trying to measure the frequency of a very low phase-noise signal and  
I see strange artifacts for certain combinations of detuning (residual  
frequency difference between the signal and the N210 center frequency)  
and PLL bandwidth.

I already have re-implemented the PLL blocks to measure phase using a  
more accurate arctan2() function than the one provided by Volk (which  
uses a linear approximation for small angles) but I still see strange  
things that I believe are due to the control loop going nuts due to  
numerical problems.

If some work has already been done in this regard I could probably save  
some time.

Thanks. Cheers,  
Daniele
