Post Go back to editing

Adding my own DPD module to FMCOMMS2 HDL

I have built the FMCOMMS2 HDL code and I have a few questions.

1) Where is the best place to get information on what the AD IP modules do and their interface (read the code maybe?)
2) What AD937x  interface  mode is being used to talk to the IP (FDM dual port?).
3) Where would be the best place to get access to the TX and RX stream in a deterministic way?

Bit of background. I am trying to add a simple Transmitter Digital Pre-distortion module to the AD HDL code.
To do that I need access to the TX samples and RX (tx monitor) samples, the TX and RX samples need to
maintain alignment so I can distort the TX samples and then update the LUT from the RX (monitored) samples.
I am currently thinking of intercepting the samples between the de-multiplex block and the FIFO block.

Unfortunately because I need to do the correction on oversampled data I won't be able to use some of the features
on the transceiver chip. I am using a Zedboard and an FMCOMMS4 board but I won't need symbol rates above 4 MS/s.

The transmitted waveform is DVB-S2 which is a single carrier QPSK - 32APSK waveform.

Yes I know AD do a transceiver with integrated DPD but that is a bit expensive for this application which is to provide a
high power DVB-S2 signal into the Es'hail 2 Geostationary satellite Amateur Radio Wideband transponder uplink on 2.405 GHz.

- Charles



Corrected interface mode to Full Duplex Mode (FDM)
[edited by: g4guo at 11:23 AM (GMT 0) on 30 Dec 2018]

Top Replies

Parents
  • That is most helpful thanks. I now have another question this is to do with the synthesisers on the AD9364.


    Obviously for DPD the monitor receiver ideally should use the same synthesiser as the transmit channel.
    However on the AD9364 while sharing the same reference oscillator the TX and RX synthesisers are separate.

    If programmed identically will there be a phase jitter between the TX and RX channel ?

    If there is a constant phase offset I can compensate for that but if it is pseudo random then I am probably wasting
    my time. I have spoken to a colleague of mine that thinks that as the synthesisers are fractional-N there maybe an issue.

    - Charles

  • I am back looking at external DPD for the AD9364.

    To activate the monitor port I think I need to set 'attr 10: rf_port_select value: TX_MONITOR1'

    However rather than blindly doing that I would like to know what all the available options mean!

    attr 11: rf_port_select_available value: A_BALANCED B_BALANCED C_BALANCED A_N A_P B_N B_P C_N C_P TX_MONITOR1 TX_MONITOR2 TX_MONITOR1_2

    Is there are documentation I can look at?

    Looking at UG672 There are also some gain values I can set but I have not figured out the iio attr for them yet.

    - Charles

  • attr 11: rf_port_select_available value: A_BALANCED B_BALANCED C_BALANCED A_N A_P B_N B_P C_N C_P TX_MONITOR1 TX_MONITOR2 TX_MONITOR1_2

    Each of the RX channels can be configured in either unbalanced or balanced mode as below: The rf_port_select parameter selects among these input modes or assigns it for TX monitor port.

    Refer to the below link:

    https://wiki.analog.com/resources/tools-software/linux-drivers/iio-transceiver/ad9361 

Reply Children