This works a bit more effeciently in matching a usrp to the atsc code (either all 0.9, or part 0.9 and part 2.x):
Instead of: collect data with usrp decim = 8, then interp by 5 (8Msps to 40) then decim by 2 (40Msps to 20) while upshifting to 5.75MHz - just collect data with decim = 10, then interp by 3 (6.4Msps to 19.2Msps), then upshift. The 0.9 code need two changes, one to atsc_rx.cc, set input_rate to 19.2e6 (IR_20 = 19.2 instead of 20e6), and there is also needed a little tweak in GrBitTimingLoop3.cc and atsc_sssr.cc to get past the sanity checks for ratio of receiver clock to symbol rate, change the 1.8 to 1.78, it's *just* under the limit ;) ( 19.2 / 10.76 ). This puts the bottleneck back on the modified lt-atsc_rx process, which includes bit_timing_loop, fs_checker, equalizer and field_sync_demux. I should be able to split those up and manually redistribute the load a little better still. With that it's up from 1MiB / 6 seconds to about 1.2 or 1.3, or at least 20% faster, plus it takes 20% less disk space recording the signal ( before, a two hour movie would *just* fit on two striped 220GB disks using decim=8, with 5GB left ;) --Chuck _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio