I'm involved in a very time-constrained project that has involved the implementation of a direct conversion receiver, which uses a couple of ADF4355-2's as local oscillator synthesizers. So far, I had used ADF4351's in several projects and I know very well how it behaves and how it performs, but in this case a more restrictive phase noise mask tipped the balance in favor of ADF4355-2, which I've never used.
I'm aware that it doesn't have a low-spur mode like ADF4351 and I'm also aware of the Integer boundary spur issue, but being so time constrained I just assumed that the official linux drivers would take that into account and try to optimize divider values to avoid close-in spurs.
The thing is that the ADF4355's work well in the receiver using the drivers, they lock without problems and phase noise seems to comply with the mask and agrees to simulations, but we have both very close-in spurs that show as a decaying series of spurs separated about 300kHz, 600KHz, 900 kHz (approx) and so on from the carrier, with levels decaying from about -80 dBc, and also more separated spurs that sometimes lie within our instantaneous bandwith and mix with the RF signal, creating replicas. It happens at "most" frequencies but there are some times where either set of spurs disappears.The reference frequency is 122,88MHz fed as a differential, properly terminated and coupled LVPECL clock (according to datasheet LVCMOS single-ended would be better but our clock distributor can't do single-ended).
Do linux drivers take into account spur generation? Are my spurs within normal? If drivers don't take it into account, could yo provide pseudocode on how to check/recalculate dividers to optimize spurs?
Let me know if you need more info or captures from the spectrum analyzer.