AnsweredAssumed Answered

Enabling FIR filter using libiio

Question asked by tgm on May 29, 2018
Latest reply on Jul 10, 2018 by tgm

I've got a question regarding enabling the FIR filter (obviously after configuring it first).

 

I use 5MHz LTE filter that is basically equivalent to this one: iio-oscilloscope/LTE5_MHz.ftr at master · analogdevicesinc/iio-oscilloscope · GitHub  (except comments).

 

The problem is that after enabling the RX filter before the TX filter (in_voltage_filter_fir_en before out_voltage_filter_fir_en) AD9361 gives me the following error/message:

 

ad9361 spi32766.0: ad9361_validate_enable_fir: Invalid: ratio ADC/2 / RX_SAMPL * 16 > TAPS (max 96)

 

 

If I enable TX before RX then I've the messages:

 

ad9361 spi32766.0: Unhandled case in ad9361_tx_quad_calib line 2663 clkrf 7680000 clktf 15360000
ad9361 spi32766.0: Unhandled case in ad9361_tx_quad_calib line 2663 clkrf 7680000 clktf 15360000

 

But the rest of the configuration seems to be ok, i.e.:

in_voltage_filter_fir_en is set to 1

out_voltage_filter_fir_en is set to 1

in_out_voltage_filter_fir_en is set to 1

tx_path_rates is set to BBPLL:983040000 DAC:122880000 T2:61440000 T1:30720000 TF:15360000 TXSAMP:7680000

rx_path_rates is set to BBPLL:983040000 ADC:122880000 R2:61440000 R1:30720000 RF:15360000 RXSAMP:7680000

filter_fir_config is set to FIR Rx: 128,2 Tx: 128,2

 

 

I set TX and RX sampling rates (out_volatege_sampling_frequency and in_volatage_sampling_frequency) to 7680000 before enabling FIR filters.

 

1. Why do I have to enable the TX FIR filter before the RX FIR filter?

2. Does some specific bitstream must be loaded to the FPGA to allow using FIR filter? If I use the ADI reference fmcomms2 bitstream I can enable FIR filters, but when use our custom bitstream it does not work, i.e., I cannot enable FIR filters and the kernel (?) prints/drops stack trace (see the attached file). Why is it so?

 

Outcomes