# Simulating/Learning about poly phase clock recovery

**URL:** <https://www.ruby-forum.com/t/simulating-learning-about-poly-phase-clock-recovery/244821>\
**Category:** GNU Radio\
**Created:** [June 21, 2016, 8:30am UTC](https://www.ruby-forum.com/t/simulating-learning-about-poly-phase-clock-recovery/244821 "2016-06-21T08:30:06Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Rafa\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/958977/32.png) [@Rafa\_F](https://www.ruby-forum.com/u/Rafa_F)\
**Post date:** [June 21, 2016, 8:30am UTC](https://www.ruby-forum.com/t/simulating-learning-about-poly-phase-clock-recovery/244821/1 "2016-06-21T08:30:06Z")

</div>

Hi,

I’m trying to learn about software defined radio, obviously, and writing  
the necessary code to do so - I like to prove concepts to myself by  
simulating them in Matlab, or Python. I run into trouble when it comes  
to control loops like PLLs and lately Poly Phase Filter Blocks - which I  
still don’t really understand, because of the feedback and how to handle  
error and stability in code. I’d like to ultimately simulate  
PLLs, PFB, and Costa’s loop in the time domain, with a stream of input  
samples going into the recovery block. By the way, I’ve seen some PLL  
tutorials on the internet, but they cheat by simulating it in the phase  
domain, that’s not good enough, I want time domain!

But right now, I’d like to learn about Poly Phase Filter Block Clock  
Recovery and perform a miniature simulation to learn it. Can anybody  
point me to some references and maybe some advice. I just pulled up the  
pfb\_clock\_sync code from the source and oh my god, I don’t think I can  
hang. Any advice on how to start learning from the code too would be  
helpful.

I have a B.S. in Electrical Engineering, and know a B.S. worth amount of  
RF, mainly Smith charts and matching, which won’t help me here!
