I am trying to change the channel width used for a transmission using
the benchmark_tx.py program. I use the default modulation scheme
(gmsk) and on the receive side, I am running the usrp_fft.py to see
the spectrum and understand how wide the channel is used.
If I use an interpolation rate of 128, I see a channel width of 500kHz
showing high energy in the spectrum. Similarly, if I change it to 64,
I see about 1MHz occupied. I read in one of the docs that the
interpolation rate could be varied from [4, 512] and it should be a
multiple of 4. I tried it but I was able to vary only from 16 to 512.
I notice the channel width = 64MHz/interpolation rate. Please correct
me if I am wrong. The bits/symbol always seems to be 1, so if I use a
500KHz channel, the bit rate is set to 500Kbps.
On the receive side, if use the benchmark_rx.py, a decimation rate of
64 corresponds to 500Kbps bitrate while on the transmit side an
interpolation rate of 128 corresponds to 500kbps. Also, if I fix the
bitrate to 500kbps, I do not see the relation channel width =
64Mhz/interpolation rate to hold. Channel width seems to be 500kHz for
different interpolation rates.
It would be very helpful if someone can help me understand the
relationship between channel width, bit rate and the
interpolation/decimation rates. I want to be able tune the channel
width for each transmission dynamically by playing with these
parameters. Thanks a lot for your time and consideration.
Wireless Networking and Simulations Lab,
Stony Brook University.