I have a narrow band waveform on the RX channel and a wide band waveform on TX and would like to know how to compute the FIR filters.
E.g. I may have a CW or 2FSK waveform (<= 25 kHz) and simultaneously have anything from a CW to a full bandwidth waveform on TX.
I have looked at ad9361_set_bb_rate_custom_filter_manual but it looks like the non-normalized Fpass and Fstop are applied to both.
If I use this interface, would the Fpass and Fstop used be that of the wider bandwidth waveform?
Would that result in the same filter coefficients for wide and narrow?
Or is that what the analog BW is used to account for?
Should I do something like filter_designer_test.c and the set filter_design_parameters Fpass, Fstop, Apass, Astop prior to calling ad9361_generate_fir_taps and then write the taps to out myself as done in ad9361_set_trx_filter_fir_config?
If you need to design non-symmetrical filters the only real way to do this is with a pattern like filter_designer_test.c .Or with the filter design tool: https://wiki.analog.com/resources/eval/user-guides/ad-fmcomms2-ebz/software/filters
How the design process for all the functions work is that we take the configuration of the part (including the bandwidth of the HB filters, analog front-end filters, and ADC/DAC response) and try to generate a filter to your specification with a maximally flat passband.
As a follow up, is it possible to enable just the TX FIR filter and not the RX in Linux? From the block diagram it looks like they should be independent.