I was having a very difficult time trying to get a Costas Loop to work
yesterday for order=2. I discovered, by the end of the day, several
- Min and Max frequency are in Radians per Sample (the documentation
says ‘normalized’, but I wasn’t sure whether it meant cycles/sample or
- The loop likes a signal that lies on the unit circle (i.e.
magnitude=1). I was using unscaled data that ranged from -150 to
150…not so good! I used Automatic Gain Control to fix this.
I used a nominal value of 0.01 for alpha and alpha^2/4 for beta, but I
suppose you should tweak these by testing the response of the loop for
I think I’ll update the documentation to make things more explicit.