Sample rate mismatch in TX & RX + ad9361+zedboard+ NO OS

Hi Everyone,

I am performing the following experiment using Zedboard+ad9361+ No OS:

Transmitting a sine wave (Normalized Frequency: .0625 & LO: 1.57542 GHz) from Hack RF at the Transmitter and at the Receiver side, I am using ad9361 + zedboard to collect the data. I am performing FFT in Matlab to see the frequency. I am using the following configuration generated from the ad9361 filter wizard Matlab app:

As you can see the data rate is configured to be 4 Msps in the filter RX chain. Also following is the Hackrf TX parameters:

The sine wave seems to be oversampled at the RX side. At the RX when I plot the FFT of the signal the normalized frequency seems to be 0.03125. This means the sampling rate must be 8 Msps at the receiver side.

TX Input data:

Normalized frequency : (2305-2048)/4096 = .0627

RX received data: 

Normalized frequency : (2172-2048)/4096 = .0303 ~ .03125

This suggests to me that the sampling rate is 8 Msps at the receiver side. Kindly let me know why is this happening. What is wrong with the configuration?

BR,

Bhaskar

Parents
  • 0
    •  Analog Employees 
    on Nov 23, 2020 11:19 PM 2 months ago

    Have you enabled the filters in No-OS and read back the sample rate? Are you correctly pulling back the data from the desired channels? Have you tried plotting in IIO-Scope?https://wiki.analog.com/resources/tools-software/no-os-software/iio

    -Travis

  • Hi ,

    I am doing the following changes in the SDK code:

    2 TXRX to 1 TXRX

    Calling the set_tx_fir & set_rx_fir functions to set the coefficients:

    Calling a ping pong interrupt service routine to write the sampling in DDR and transferring the data through UART by reading and printing.:

    I have connected the SMA wire from the HACK RF transmitter to the RX1A port of the ad9361.

    I am not sure how else to enable the filters and read back the sample rate and check if I am retrieving data from the correct channel. Please guide me regarding the same. Also, I am using windows , hence I am not sure if I can use the IIo scope

    BR,

    Bhaskar

  • +1
    •  Analog Employees 
    on Nov 25, 2020 1:44 AM 1 month ago in reply to bhaskar872

    Those sets won't enable the filters, which needs to be done as well. I would use ad9361_trx_load_enable_fir.

    -Travis

  • Thank you . Problem was fixed after using ad9361_trx_load_enable_fir function.

  • Hi ,

    I have noticed that even when I am using 1tx1rx mode I am getting output at both channels. Following is my observation.

    Input form transmitter: 

    LO freq: 1.57542 GHz

    Sampling rate: 8 Msps

    Normalized frequency : 0.0625 rads

    Input signal matlab frequency plot

    As  can be seen, the normalized frequency is .0627 ~ 0.0625

    At receiver:  Connection made to the First channel

    1.) 1 tx1rx mode is used:

    2.) Filter configuration: Using filter wizard

    {1024000000,64000000,32000000,16000000,8000000,8000000}, // rx_path_clks[6]

    2.) SMA wire is connected to RX1A of ad9361:

    3.) Matlab frequency plot: 4096 fft of the received samples is done

    As it can be seen the frequency plot shows the normalized frequency plot to be 0.0615 ~ 0.0625. This result is as expected.

    But when I am switching the SMA wire connection to 2nd channel (RX2A) and keeping all the other configurations the same, I get the following result:

    As can be seen, I am still getting a proper sine wave with a frequency in normalized rads 0.0081. This equals ~ .0625/8. Which means the data is 8 times oversampled.

    But In my understanding when I am using 1 TX1RX mode 1 of the channels should be inactive. Even if I am sending data to an inactive channel I should receive noise. Why am I getting output at both channels when I am using 1TX1RX mode and that too at different frequencies?

    The result is difficult to understand. Please let me know what I am missing here.

    BR,

    Bhaskar

Reply
  • Hi ,

    I have noticed that even when I am using 1tx1rx mode I am getting output at both channels. Following is my observation.

    Input form transmitter: 

    LO freq: 1.57542 GHz

    Sampling rate: 8 Msps

    Normalized frequency : 0.0625 rads

    Input signal matlab frequency plot

    As  can be seen, the normalized frequency is .0627 ~ 0.0625

    At receiver:  Connection made to the First channel

    1.) 1 tx1rx mode is used:

    2.) Filter configuration: Using filter wizard

    {1024000000,64000000,32000000,16000000,8000000,8000000}, // rx_path_clks[6]

    2.) SMA wire is connected to RX1A of ad9361:

    3.) Matlab frequency plot: 4096 fft of the received samples is done

    As it can be seen the frequency plot shows the normalized frequency plot to be 0.0615 ~ 0.0625. This result is as expected.

    But when I am switching the SMA wire connection to 2nd channel (RX2A) and keeping all the other configurations the same, I get the following result:

    As can be seen, I am still getting a proper sine wave with a frequency in normalized rads 0.0081. This equals ~ .0625/8. Which means the data is 8 times oversampled.

    But In my understanding when I am using 1 TX1RX mode 1 of the channels should be inactive. Even if I am sending data to an inactive channel I should receive noise. Why am I getting output at both channels when I am using 1TX1RX mode and that too at different frequencies?

    The result is difficult to understand. Please let me know what I am missing here.

    BR,

    Bhaskar

Children
No Data