Re: [USRP-users] Some questions regarding DDC implementation

2019-10-12 Thread Francesco Restuccia via USRP-users
Hi Martin, Thanks for your response -- Could you further clarify the following pieces of code in rx_dsp_core_200.cpp regarding the scaling factor? const double rate_pow = std::pow(double(decim & 0xff), 4); _scaling_adjustment = std::pow(2, ceil_log2(rate_pow))/(1.65*rate_pow); this->update_sca

Re: [USRP-users] Some questions regarding DDC implementation

2019-10-11 Thread Martin Braun via USRP-users
Half-Bands are very flat in the passband, and somewhat efficient to implement because every second tap is zero. The CIC on the other hand, is super efficient, but has a horrible frequency response. So, you want to use the half-bands for decimation whenever possible. You will have fewer aliases, th

[USRP-users] Some questions regarding DDC implementation

2019-10-11 Thread Francesco Restuccia via USRP-users
Dear all, I have some questions regarding the DDC implementation (ddc_chain.v, usrp2): 1) Why do we need two half-band filters (one large and one small) after the CIC? What is their purpose? Can’t we use just one half-band? 2) What is the purpose of the scale factor multiplication after hb2? Wha