Post Go back to editing

What is the meaning of option 'int_FIR' in internal_design_filter.m (in MATLAB AD936x Filter Wizard)?

Category: Hardware
Product Number: AD9361

The AD936x Filter Wizard package provides a function to design custom filter for the TX and RX path :

https://github.com/analogdevicesinc/ad936x-filter-wizard/blob/master/internal_design_filter.m

The function requires a data structure to design the filter. The data structure should provide the following fields :

% Rdata      = input/output sample data rate (in Hz)
% FIR        = FIR interpolation/decimation factor
% PLL_mult   = PLL multiplication
% Fpass      = passband frequency (in Hz)
% Fstop      = stopband frequency (in Hz)
% Apass      = max ripple allowed in passband (in dB)
% Astop      = min attenuation in stopband (in dB)
% FIRdBmin   = min rejection that FIR is required to have (in dB)
% phEQ       = phase equalization on (not -1)/off (-1)
% int_FIR    = use AD9361 FIR on (1)/off (0)
% wnom       = analog cutoff frequency (in Hz)

Most of the fields of the design structure are quite clear to understand except the exact consequence of :

int_FIR

  1. I can read from the code that the design process is slightly different between (1) or (0). But a more wordy explanation would be welcome (I understand that the FIR filter is normally designed to compensate the analog and HB filters chain ; but in the other case is unclear).
  2. Furthermore, does this option actually disable the FIR filters on the board  as if we used the system command (as described in https://wiki.analog.com/resources/tools-software/linux-drivers/iio-transceiver/ad9361#load_a_filter) :

echo 1 > in_voltage_filter_fir_en

  • And finally, it is not clear for me how should I use the output of this internal_design_filter.m function to configure the board from Matlab. Can someone provide a code snippet about that point ?