Post Go back to editing

How to design rx filter for ADRV 9025?

The new profile is created by ADRV9025 TES v6.3.0.5 for RX BW 100MHz and RX output rate 245.76MHz.

The 24 taps coefficient of rxFIR (as follows) is generated, and it is successful to bring up adrv9025.
{-27, 147, -287, 93, 602, -950, -299, 2392, -1747, -4159, 9881, 21478, 9881, -4159, -1747, 2392, -299, -950, 602, 93, -287, 147, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}


However, I want to modify 72 taps coefficient as follows and it is failed to initialize ADRV9025 Board.
{-197,-278,-63,244,260,-67,-331,-163,245,348,-29,-401,-240,281,454,-9,-512,-332,356,613,3,-704,-476,505,908,11,-1108,-785,875,1680,15,-2515,-2091,3105,10100,13356,10100,3105,-2091,-2515,15,1680,875,-785,-1108,11,908,505,-476,-704,3,613,356,-332,-512,-9,454,281,-240,-401,-29,348,245,-163,-331,-67,260,244,-63,-278,-197,0}


The error message shows
" ERROR: ADRV9025 Error number 3, Recovery action -3. In file ../src/devices/adrv9
025/public/src/adi_adrv9025_utilities.c, in function adi_adrv9025_PostMcsInit, i
n line 1952, variable name ((void *)0). Error message TIARx:No solution for RX.
ERROR: fpga9025Device Error number 0, Recovery action 0. In file (null), in func
tion (null), in line 0, variable name (null). Error message (null). "

May I modify 24 or 72 taps coefficient for rxFIR?  What kind of the rule to design filter? Thanks for your response.

Top Replies

    •  Analog Employees 
    May 4, 2022 in reply to Clement +1 verified
    If you need to modify the taps and coefficients, please edit the initdata.c as shown in the below snippet. Also, you may need to modify the gain_dB parameter to 0dB, -6dB and -12dB if the default…
  • What was the reason to modify the filter taps and coefficients?

    As mentioned in the UG, the Roll off within the Rx pass band is compensated by the PFIR to ensure a maximally flat pass-band frequency response.

    The no.of taps depends on the DPCLK and RX IQ Data rate as explained below in the UG and it depends on the profile that we use.

    If you need to modify the taps and coefficients, please edit the initdata.c as shown in the below snippet. Also, you may need to modify the gain_dB parameter to 0dB, -6dB and -12dB if the default of 6dB does not work.

    In general, we dont recommend to modify the PFIR filter as this is to flatten the overall response and the TIARx calibration may fail as you are observing.

  • Thanks for your response. 

    I have an interference issue at bandwidth edge, and we want to modify Rx PFIR to solve it. 

    In my profile, DPCLK is 1GHz, and Rx_IQ_DataRate is 245.76MHz. It is okay to use 72 filter taps.

    After modifying gain_dB parameter to other value, the other error is shown as  

    "ERROR: adi_adrv9025Board_Dispatch:2364 has failed.
    TRX Phase 2 failed.
    Failed to initialize ADRV9025 Board
    ERROR: ADRV9025 Error number 3, Recovery action -3. In file ../src/devices/adrv9
    025/public/src/adi_adrv9025_utilities.c, in function adi_adrv9025_PostMcsInit, i
    n line 1952, variable name ((void *)0). Error message RxTCAL:RxQec3 obs insuffic
    ient power error.
    ERROR: fpga9025Device Error number 0, Recovery action 0. In file (null), in func
    tion (null), in line 0, variable name (null). Error message (null)."

    May I change other parameter to fix this error?

  • If you need to modify the taps and coefficients, please edit the initdata.c as shown in the below snippet. Also, you may need to modify the gain_dB parameter to 0dB, -6dB and -12dB if the default of 6dB does not work.

    Have you tried with all the gain_dB values of 0dB, -6dB and -12dB?

    Are you observing this on all the Rx channels? Can you try with Rx attenuation of 0dB and check if the cal passes.