Let me start off by saying I'm at least a little embarrassed that there's something simple that I'm fundamentally not understanding here. Not sure if the blame is on me, or the prof that taught me DSP in grad school, but either way...
I have a very simple flowgraph in GNU Radio. LimeSDR block, (quadrature) sampling at the full 61.44MHz - so it's actually capturing 61.44MHz of spectrum - 30.72 above the center frequency, and 30.72 below the center frequency. So the effective bw at this point is 61.44MHz
Next a Frequency XLating FIR block, being used as a channel selector - no decimation (decimation=1, complex to complex, real taps). So let's say I take a 34 MHz chunk of the incoming spectrum and shift that to be centered around 0Hz and 34MHz bandwidth.
Do a very simple complex operation - multiply conjugate, the signal by itself to a 1 sample delayed version of itself.
Take the output of the multiply conjugate, and feed it into a QT GUI Sink to look at the spectral components. In the resulting FFT, I have a symmetric spectrum from -30.72MHz to +30.72MHz, and any spectral component that's above 30.72MHz is aliased around 30.72, so for instance if I have a spectral component at 34MHz, it ends up at 30.72 - (34-30.72) = 27.44 Mhz.
So, with a sampling frequency of 61.44MHz and everything being quadrature sampled, how do I end up with only half of that bandwidth in the end? Is it the multiply conjugate that halves the bandwidth? Do I need to 2x upsample before that operation? Do I need to use complex taps on the FIR filter instead of real taps?