RFC: A generic 'Loop Filter' for PLL type blocks (Work with Freq and Time synch)

Hi All,

Recently, I’ve gone down the road of timing synchronization and ended
up learning basics for PLLs and such. So far in GNURadio, it seems
that the loop filters used in the existing GNURadio synch blocks are
only first order. From what I understand, increasing the filter order
of the PLL can help it to lock in the presence of noise, for both
timing and frequency. Any else care to comment on the performance
gains for higher orders?

I propose to come up with a block that can cascade a series of
integrators and gains to form a loop filter. The total order and gains
of the filter can perhaps be defined in the block constructor. The
idea is make the block generic enough so that you can drop it in with
an outside NCO and phase error detector.

Thoughts, questions or concerns?

Colby

On Sat, May 28, 2011 at 2:29 AM, Colby B. [email protected]
wrote:

I propose to come up with a block that can cascade a series of
integrators and gains to form a loop filter. The total order and gains
of the filter can perhaps be defined in the block constructor. The
idea is make the block generic enough so that you can drop it in with
an outside NCO and phase error detector.

Thoughts, questions or concerns?

Colby

Colby,
You’re general thought about having an implementation for these loops
could
work well, since we repeat them frequently in various blocks.

I will point out, though, that the PLLs are (I’m pretty sure) second
order
loops since they have the two accumulator stages in them. These of
course
look different than the types of circuits you normally see for PLLs,
like in
Gardner’s book. But if you can get it, fred harris has a paper called
“Let’s
assume the system is synchronized” that gives a great overview of the
various synchronization problems. It also contains many block diagrams
for
these different systems, including a block diagram for a digital PLL.
You
can pretty much trace the code in these PLL blocks to his diagrams.

Tom

I’ve taken a look at Gardner’s text earlier and he does mention 3rd
order
PLLs. Also, I found the text with the chapter by Harris. Good reference.

Thanks.

On Tue, May 31, 2011 at 11:17 AM, Colby B. [email protected]
wrote:

I’ve taken a look at Gardner’s text earlier and he does mention 3rd order
PLLs. Also, I found the text with the chapter by Harris. Good reference.

Thanks.

Yes, there is the 3rd order loop. It’s honestly been so long since I’ve
looked at one, though, that I can’t remember what they are used for.
Which
is not to say that they aren’t useful.

Tom

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs