This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
resources:eval:user-guides:ad-fmcomms5-ebz:phase-sync [28 Oct 2019 16:58] Travis Collins Add section on external vs internal LO |
resources:eval:user-guides:ad-fmcomms5-ebz:phase-sync [14 Jan 2021 05:11] Robin Getz user interwiki links |
||
---|---|---|---|
Line 3: | Line 3: | ||
==== Theory of Operation ==== | ==== Theory of Operation ==== | ||
- | The AD9361 transceiver has no built-in functionality to provide phase synchronization, but through external equipment and additional software and HDL phase alignment can be achieved across multiple transceiver chips. The calibration process is documented on this [[https://wiki.analog.com/resources/eval/user-guides/ad-fmcomms5-ebz/multi-chip-sync#rf_phase_difference|wiki page]] and as well in this {{ :resources:tools-software:linux-software:doa_whitepaper.pdf|whitepage}} in the "Phase Alignment" discussion. | + | The AD9361 transceiver has no built-in functionality to provide phase synchronization, but through external equipment and additional software and HDL phase alignment can be achieved across multiple transceiver chips. The calibration process is documented on this [[/resources/eval/user-guides/ad-fmcomms5-ebz/multi-chip-sync#rf_phase_difference|wiki page]] and as well in this {{ :resources:tools-software:linux-software:doa_whitepaper.pdf|whitepage}} in the "Phase Alignment" discussion. |
The calibration procedures are implemented in both IIO-Scope and in a C library libad9361. It can be useful to see how they are implemented, or if end-users want additional debug to be extracted start at the following linked lines: | The calibration procedures are implemented in both IIO-Scope and in a C library libad9361. It can be useful to see how they are implemented, or if end-users want additional debug to be extracted start at the following linked lines: | ||
Line 57: | Line 57: | ||
</m> | </m> | ||
- | where <m>phi</m> is the phase difference in degrees, <m>D</m> is the distance in meters, <m>f</m> is the frequency in hertz, and <m>c</m> is the speed of light through a specific medium in meters per second. For FMComms5 <m>c=15 cm/nsec</m> which is in reference to FR4. Grab the [[https://wiki.analog.com/resources/eval/user-guides/ad-fmcomms5-ebz/hardware|board files]] for your specific revision to get the actual trace lengths for specific channels, which will determine <m>D</m>. Below is a plot of possible offsets across frequency and trace distance deltas. | + | where <m>phi</m> is the phase difference in degrees, <m>D</m> is the distance in meters, <m>f</m> is the frequency in hertz, and <m>c</m> is the speed of light through a specific medium in meters per second. For FMComms5 <m>c=15 cm/nsec</m> which is in reference to FR4. Grab the [[/resources/eval/user-guides/ad-fmcomms5-ebz/hardware|board files]] for your specific revision to get the actual trace lengths for specific channels, which will determine <m>D</m>. Below is a plot of possible offsets across frequency and trace distance deltas. |
{{ :resources:tools-software:linux-software:phasediff.png?nolink&600 |Phase difference over frequency and distance}} | {{ :resources:tools-software:linux-software:phasediff.png?nolink&600 |Phase difference over frequency and distance}} | ||
Line 85: | Line 85: | ||
</code> | </code> | ||
- | These phase estimates can be used to correct for trace mismatches, which can be applied through internal phase shifters with the HDL reference designs' [[https://wiki.analog.com/resources/tools-software/linux-drivers/iio-adc/axi-adc-hdl?s[]=calibphase#driver_testing|ADC]] and [[https://wiki.analog.com/resources/tools-software/linux-drivers/iio-dds/axi-dac-dds-hdl?s[]=calibphase#driver_testing|DAC cores]] by the calibphase properties. | + | These phase estimates can be used to correct for trace mismatches, which can be applied through internal phase shifters with the HDL reference designs' [[/resources/tools-software/linux-drivers/iio-adc/axi-adc-hdl?s[]=calibphase#driver_testing|ADC]] and [[/resources/tools-software/linux-drivers/iio-dds/axi-dac-dds-hdl?s[]=calibphase#driver_testing|DAC cores]] by the calibphase properties. |
==== Phase Performance: Rev B vs. Rev C ==== | ==== Phase Performance: Rev B vs. Rev C ==== |