Both sides previous revisionPrevious revision | |
resources:eval:user-guides:ad-fmcomms5-ebz:phase-sync [28 Oct 2019 16:58] – Add section on external vs internal LO Travis Collins | resources:eval:user-guides:ad-fmcomms5-ebz:phase-sync [14 Jan 2021 05:11] (current) – user interwiki links Robin Getz |
---|
==== 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: |
</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}} |
| |
</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 ==== |