Skip to main content
8 events
when toggle format what by license comment
Oct 23, 2019 at 16:26 comment added researcher9 I'm working on data stream and that makes me wonder if mine contains some sort of mistake since it doesn't always lock, only for a certain range of phase difference (if it's out of $(−\pi/2,\pi/2)$, it won't lock) link
Oct 23, 2019 at 14:12 comment added TimWescott In general a PLL is assumed to work on a data stream, and it is acceptable for it to take some time to lock. Just a plain multiplier will always lock, at least if there's noise to kick it out of the unstable equilibrium when the phase difference is equal to $\pi$. If you need to acquire the phase of a packet or something then you need a different synchronization technique.
Oct 23, 2019 at 14:05 comment added researcher9 Oh, I see. So as long as I'm sure that the initial $\theta_{in}-\theta$ is small enough so that $sin(2\theta_{in} - 2\theta)\simeq2\theta_{in} - 2\theta$, I can use the simple Costas loop you proposed, right? And if I wanted to address a larger $\theta_{in}-\theta$, I'd need to consider implementing a decision-directed loop. At least that's what I'm seeing in my simulations, it works fine for $\theta_{in}-\theta$ not bigger than $\pi/2$
Oct 22, 2019 at 20:07 comment added TimWescott And yes, if you wanted to use an atan2 function in there you'd want a decision-directed loop. But you'd want to ask yourself why you were doing it -- you want your phase error to be small, and that implies that the approximation $\theta \simeq \sin \theta$ holds -- so why bother with atan2?
Oct 22, 2019 at 20:06 comment added TimWescott I tend to conflate "Costas loop" with "decision directed" loop. I'm not sure what's considered to be the dividing line these days. I think the improvements I had in the back of my mind would push it more into decision-directed territory.
Oct 22, 2019 at 18:39 vote accept researcher9
Oct 22, 2019 at 18:39 comment added researcher9 It did work! Changing atan2 by a multiplier and adding a loop filter, it's working now! Thank you very much. When you say it's a simple Costas loop, it's because it could be improved somehow? Also, I'd like to know some more info about it: as far as I understand by your reply, if I wanted to use atan2 I'd need some sort of decision-directed method?
Oct 22, 2019 at 18:25 history answered TimWescott CC BY-SA 4.0