Post Go back to editing

Harmonics over the BIST

Category: Software

Im using AD9364 with Spartan 7 FPGA ,I configured the register values for BIST and tsent the BIST tone signal (480 KHz) to the TX Chain of AD9364 ,and observed the BIST signal over the spectrum analyser ,and i got the spectrum as below,

                                                                                 

But when i try to push the BIST signal to FPGA , and when i loopback these received data to AD9364 again , and transmit the signal via AD9364 , and then when I observed the spectrum , But I am observing lot of harmonics , as attached below.

                                                                                                   

Note : I'm using Filter , by using AD9364 Filter Wizard , and i have attached my filter coefficients below for your reference.

Can i have some Suggestions to solve this issue .

// Data Sample Frequency = 7860000 Hz

AD9361_RXFIRConfig rx_fir_config = {

                              3, // rx

                              -12, // rx_gain

                              4, // rx_dec

                              {104,-50,182,-22,138,-45,5,-170,-178,-305,-283,-306,-201,-122,29,114,195,172,113,-26,-152,-271,-301,-259,-115,66,256,370,386,266,54, -211,-429,-540,-480,-262,75,421,675,732,558,172,-317,-769,-1022,

-972,-586,52,772,1346,1562,1282,511,-596,-1742,-2560,-2692,-1897, -120,2470,5500,8459,10811,12113,12113,10811,8459,5500,2470,-120,

  -1897,-2692,-2560,-1742,-596,511,1282,1562,1346,772,52,-586,-972,   -1022,-769,-317,172,558,732,675,421,75,-262,-480,-540,-429,-211,54,

    266,386,370,256,66,-115,-259,-301,-271,-152,-26,113,172,195,114,29,-122,  -201,-306,-283,-305,-178,-170,5,-45,138,-22,182,-50,104}, 

{983040000,245760000,122880000,61440000,30720000,7680000}, // rx_path_clks[6]

 200000,//6455171 // rx_bandwidth

};

 

AD9361_TXFIRConfig tx_fir_config = {

                              3, // tx

                              0, // tx_gain

                              4, // tx_int

  {47,-39,57,-65,-27,-150,-171,-283,-308,-360,-319,-269,-144,-24,

  117,202,245,201,107,-39,-173,-273,-288,-220,-69,113,283, 375,361,225,5,-244,-439,-516,-432,-200,126,448,663,686,489,105,

 -361,-770,-978,-893,-498,120,793,1309,1471,1165,405,-652,-1719, -2450,-2515,-1697,49,2552,5455,8277,10514,11750,11750,10514,8277,

 5455,2552,49,-1697,-2515,-2450,-1719,-652,405,1165,1471,1309,793,120,-498,-893,-978,-770,-361,105,489,686,663,448,126,-200,-432,-516,

 -439,-244,5,225,361,375,283,113,-69,-220,-288,-273,-173,-39,107,201,245,202,117,-24,-144,-269,-319,-360,-308,-283,-171,-150,-27,-65,57,-39,47},

{983040000,245760000,122880000,61440000,30720000,7680000}, // tx_path_clks[6]

  200000, //6455146 // tx_bandwidth

};

Regards,

Mark



  • You should be able to reduce the spur levels by optimizing the power supply . If the bandwidth requirement is small , you can reduce the filter bandwidth and get some rejection for the spur. 

    The harmonics seen looks to be because of Tx path saturation , Can you reduce the power going into Tx and check ? 

  • Hi  ,

    Here , I am  sending the BIST signal From AD9364 , at the amplitude of Fs/2 , by making 0X3F4 register {D5:D4} as "01" , as mentioned in the datasheet to FPGA , and from the  FPGA , Im just looping back(Sending back , all the data im receiving from AD9364) , so On FPGA , i don't have any control over the amplitude and power level of the BIST signal back to the TX of AD9364. .
                                                        

    Also , if the Power level (Amplitude) is the one of the factor , when i feed the BIST signal directly to TX of AD9364 ,can i know  why the spectrum looks bit clean , without much spurs/harmonics , as in the previous message in this thread.?

    I am sharing AD9364 Filter Wizard configuration , with you below, can you help me in configuring for better output ?

                                                                     

    Regards,

    Paras ADT-Blr Team

  • If the digital signal to DAC is close to 0dBFS , you will see DAC harmonics.  Typically modulated waveforms are used and the average signal power levels are around -10 dBFs , (depending on PAR of the signal) BIST signals are for checking the functioning of data path and may not be good to analyze performance. 

    You can continue your tests using actual signal or CW signal from FPGA. When using CW send with a power of -6dBFS or lower.  

  • HI ,

    We tested witha  CW tone signal of 460 KHz signal  at the LO of 450 MHz, at the rate of the sampling rate 7.68 MHz , with the amplitude of 0-1024 , and attenuation 10 dB, with the filter as mentioned above (from AD9364 filter Wizard), and when i programmed for the first time , i got as below .

                                     

    with a DC offset at 450 MHz , and i got two signals , both are spaced around 460 KHz from LO.Now  , We are working to Reduce DC from our end signal generation , but how to suppress the other signal (harmonic).

    But also, when i program AD9364 with the same code again from FPGA , the spectrum becomes as below, and persists same , even if i try to program many times, as below.

                                            

    So , only at certain times , the spectrum lookssomewhat  clean (randomly) , at all other times the spectrum looks as like  2nd image.Which is causing this issue?Can i have some insights about it .

    Regards,

    Paras_ADT BLR Team

  • Hi ,

    Can i have the update over this ?

    Regards,

    Paras_ADT BLR Team

  • Your LO is at 450 MHz, Center of the plot (marker 1 of second plot),are you sending tone at +460 KHz or -460 KHz ? In any case if right side one is your tone , what you see on left side is the image. 

    Are you running Tx quad cal ? Typically quad cal should suppress LO leakage and image to less than 50 dBc. 

    The noise floor in these plots seems to be very high compared to the first plot shared. Are you using FIR or you are in FIR bypass mode.? 

    Your filter is having passband of 500 KHz with 30.72 MSPS sampling rate , Is my understanding correct. Try plotting the filter response in FVtool and cross check. 

    If the issue is random , check the 1.3V power supply to the Tx_A_N amd Tx_A_N_P pins via Tx balun. (alternate option is to feed via inductors). If this voltage is low or has noise that impacts output spectrum.

  • Hi ,

    I would like to confirm that the local oscillator (LO) is set at 450 MHz. I am transmitting a +460 kHz signal from the FPGA to the AD9364, but I am also observing an output at -460 kHz on the spectrum analyzer.

    Additionally, I am currently executing the TX Quad Calibration settings. Regarding the filter configuration, I am utilizing a filter with a passband of 500 kHz and a sampling rate of 30.72 MSPS, as previously mentioned. For your reference, I have attached the FVTool response.

                                                    

    Furthermore, on our custom board, I am externally connecting the 1.3 V power supply to the balun.But what else , could be the reason for that randomness.?

    Thank you for your attention to this matter.

    Regards,

    Paras ADT BLR Team

  • You can check the interface tuning , its part of the drivers . So you should be doing this already . 

    wiki.analog.com/.../interface_timing_validation

    Do you see similar issue of the Rx side as well.? 

    If you are sending tone from FPGA , can you try reducing the tone power by 6dB (-6dBFS) or 9dB , to ensure that Tx DAC is not getting saturated.

  • Hi ,

    I am not performing Interface Timing Validation as this process is associated with the AD9361_Conv file, which requires AXI files. Given that our architecture does not incorporate AXI files, we have excluded this testing. However, we have conducted BIST testing and Data Loopback.

    Additionally, regarding the tone signal, I am currently transmitting data at a power level of -10 dB.

    Regards,

    Paras ADT BLR Team

  • The issue that you are seeing could be because of any of the below ,

    • Power supply going below the tolerance limit during initialization. Balun supply being noisy. 
    • Interface timing issue : Manually tune the data clk delay (reg 0x006) 
    • Noisy reference clock. 
    • wrong sampling rate for the input signal

    Without sending any signal how is the Tx output noise floor. ?

    If the input tone power is -10dBFs , DAC saturation can be ruled out.