The USRP sales brochure lists as a feature "Capable of processing
signals up to 16 MHz wide". I can only figure out how it can process
signals up to 8 MHz wide. What am I missing?
Since samples sent across the USB are 16-bit signed integers (16-bit I
and 16-bit Q for complex samples) that makes each complex sample size 4
bytes. Since the USB max is 32MB/s, we have a limit of 8MS/s which
translates to an effective bandwidth of 8MHz wide.
I noticed that there is another method besides usrp.source_c() to
retrieve data from the USRP, it is usrp.source_s(). Is this
returning an even smaller sample that would somehow get us to the
16 MHz wide bandwidth? What exactly is this method returning?