cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
akozak
Observer
Observer
502 Views
Registered: ‎07-22-2019

RFSoC NCO phase issues

Jump to solution

I am using an ADC @ 4Gsps real to I/Q with 2x decimation.  The data being sent in is a pulsed chirp that arrives at a given interval.  If I don't use an NCO, the in-phase data is perfectly aligned; I can plot the received data on the same graph and the starting phase aligns perfectly.  If I set the NCO to a frequency that is not a factor of the AXI-stream clock (250MHz), then I get multiple phases.  The NCO at 250, 500, and 1000 all have phase aligned data.

I am using the real-time NCO ports in order to reset the phase of the NCO coherently.  I put the signals on an ILA to verify that the signals get send to the RFDC, and the busy goes low at the same interval; not even 1 clock cycle of difference.

Is this the expected natural of the NCO, that it is somehow tied to the AXI-stream clock and that it cannot be phase coherent to a frequency not derived from the AXI-stream clock?

 

Thank you

Tags (1)
0 Kudos
1 Solution

Accepted Solutions
akozak
Observer
Observer
416 Views
Registered: ‎07-22-2019

It seems like the fix is to not use MTS and disabling it in the RFDC IP core.  For some reason, it is not phase coherent unless it is a factor of the clock.  Using real-time NCO controls without MTS produces phase coherent data.  We are lucky that our system can synchronize the latency between multiples channels in the processing state.  Still unsure as to why this is a problem but I suspect it has to do with how the NCO controls cross over to the sample clock domain.

View solution in original post

0 Kudos
1 Reply
akozak
Observer
Observer
417 Views
Registered: ‎07-22-2019

It seems like the fix is to not use MTS and disabling it in the RFDC IP core.  For some reason, it is not phase coherent unless it is a factor of the clock.  Using real-time NCO controls without MTS produces phase coherent data.  We are lucky that our system can synchronize the latency between multiples channels in the processing state.  Still unsure as to why this is a problem but I suspect it has to do with how the NCO controls cross over to the sample clock domain.

View solution in original post

0 Kudos