Hanwen,
Thanks for confirming the fix. The slope you see with decimation 5 is indeed the fault of the CIC. Because 5 is odd, we can't use a halfband filter, and instead need to use the CIC for all decimation.
Decimation or Interpolation which is a multiple of 4 will be the flattest, and multiples of 2 will be nearly as flat. Odd numbers will always have that slope.
Matt On 12/03/2009 06:10 AM, hanwen wrote:
I've applied the fix to my receiver. It works. The attachment is the spectrum before and after the fixing at decimation rate 4 and 5. It shows at decimation rate of 4 the 3dB bandwidth is really widened from 7.5MHz to 9.5MHz. But when decimation rate is 5, the spectrum looks like an arch with over 10dB attenuation at age comparing with carrier center. I guess this imperfect frequency response is due to the CIC design. Is there a way of improve it? Thanks. 2009/11/26 Matt Ettus <[email protected] <mailto:[email protected]>> Thanks for finding this bug. I have applied your fix to my git repo. I'm away from any equipment right now, but if someone could confirm that this works, Johnathan can get it in the mainline code. Matt On 10/08/2009 01:26 PM, Stephen Lai wrote: Hi All, I've been having problems sending a 25 Msym/s BPSK stream between two USRP2's with XCVR2450 daughterboards. I've tracked it down to the Rx circuitry limiting the passband to ~14 MHz when at least 20 MHz should be available. Sifting through the db_xcvr2450.c/db_xcvr2450.cc files, I think there may be a bug which causes the baseband LPF in the MAX2829 device to cutoff at 7.5 MHz instead of 9.5 MHz when the board is configured for Rx. Referring to "LPF Register" on the MAX2829 datasheet, the old code... static void set_reg_lpf(struct db_xcvr2450_dummy *db){ int reg_lpf = ( (db->common->d_rssi_hbw<<15) | (db->common->d_txlpf_bw<<10) | (db->common->d_rxlpf_bw<<9) | (db->common->d_rxlpf_fine<<4) | 7); send_reg(reg_lpf); } ...seems like it should read... static void set_reg_lpf(struct db_xcvr2450_dummy *db){ int reg_lpf = ( (db->common->d_rssi_hbw<<15) | (db->common->d_txlpf_bw<<9) | (db->common->d_rxlpf_bw<<7) | (db->common->d_rxlpf_fine<<4) | 7); send_reg(reg_lpf); } ...to be set correctly. Has anybody else had problems with this? I'm using txrx_edk10.1_r11370.bin. I don't have Xilinx/EDK tools installed on my setup, but if someone is willing to build a load with the fix, I can test it out. thanks, Steve _______________________________________________ Discuss-gnuradio mailing list [email protected] <mailto:[email protected]> http://lists.gnu.org/mailman/listinfo/discuss-gnuradio _______________________________________________ Discuss-gnuradio mailing list [email protected] <mailto:[email protected]> http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
_______________________________________________ Discuss-gnuradio mailing list [email protected] http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
