discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] pll_refout_cc - finding optimum alpha & beta ??


From: Charles Swiger
Subject: Re: [Discuss-gnuradio] pll_refout_cc - finding optimum alpha & beta ??
Date: Thu, 16 Mar 2006 17:49:34 -0500

On Thu, 2006-03-16 at 14:39 -0800, Eric Blossom wrote:
> On Thu, Mar 16, 2006 at 05:24:26PM -0500, Charles Swiger wrote:
> > On Thu, 2006-03-16 at 12:35 -0800, Eric Blossom wrote:
> > 
> > Here's the only place they're used:
> > 
> >     d_freq = d_freq + d_beta * error;
> >     d_phase = mod_2pi(d_phase + d_freq + d_alpha * error);
> > 
> > It's way over my head but is d_freq supposed to be in the d_phase
> > calculation, 2nd line? phase is mod_2pi but freq can be a very big
> > number, like mod_2pi(100000 + 1.572849). That is I'm USING very big
> > numbers for max_freq and min_freq - don't suppose they're normalized
> > somehow.
> 
> OK.  I can see why that would be a problem.  mod_2pi is optimized for
> the expected "close in case" (symmetric around zero), thus the phase
> isn't *really* getting folded down to [-pi,pi].
>  
> Try changing mod_2pi to make the bounds check and then compute the
> modulus if it needs to using division, floor, multiplication and
> subtraction. It's not cheap, but it'll probably compute the right
> answer.
> 

Uh, I just mutated the "+ d_freq" term out, guessing a typo, and got a
very well behaved organism. Maybe suitable for synchronous AM carrier
detection.

--Chuck






reply via email to

[Prev in Thread] Current Thread [Next in Thread]