Hi,

I will like to know what is the formula to compute the resistor and capacitor value for the tx bb second filter as I could not find it in the reference manual ug570 , page 32 as well as the register map reference map ug671, page 33. I am also trying to understand the formula used for the tx bb first LPF.

I am currently using picozed-sdr2 platform using reference design 2016_1 as well as no-os driver 2016_r1. I am doing some simple transmission and based on my SA observation, I was unable to determine why there is a huge transition band.

I was trying to understand the formula stated in these 2 functions found in ad9361.c :

1) ad9361_tx_bb_second_filter :

For this second bb filter , there is no formula used in register map reference map ug671, page 33 but was mentioned reference manual ug570 , page 32 that it is typically calibrated to 5 times the baseband channel bandwidth.

1.1)Does the 5 times explain why inside the function it calculate the corner = BBBW * 5*pi ? How does the pi come into the picture? Is it related to the cut-off freq : fc = 1/( 2*pi*R*C) where as R = resistor and C = capacitor ? If that is the case, should it be 5* BBBW * 2pi ? The same concept which is implemented in ad9361_tx_bb_analog_filter where there is a calculation of 1.6*BBBW *2*pi.

1.2) And I realized there is a calculation error here.

It stated : corner = 15708 * (tx_bb_bw / 10000UL);

5 * pi = 15.7078 , because of the "/10000", the result should be 157080. There is a short of one '0' at the end, and that in fact improve the transition band by a bit. Is this a typo error or meant to be?

2) Lastly like to ask how is the calibrated value calculated ? Like how do you determine that the first BB LPF is 1.6 times and second BB LPF is 5 times?

There used to be a AD9361 Calibration Guide. Which had a bit more information. It was merged into the reference manual ug570 at some point. Maybe you can still find a copy of it. Anyways the Guide referenced the formulas but it was all in flotation point math. Regarding 1.2) there is no error. Like I said if was all in floating point - the formula in the driver already canceled MHz, one PI, etc.

-Michael