[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] Changing channel width and its relation with inte
Re: [Discuss-gnuradio] Changing channel width and its relation with interpolation/decimation rate and bit rate
Wed, 3 Sep 2008 17:27:57 -0400
On Wed, Sep 3, 2008 at 5:12 PM, Anand Prabhu Subramanian
> 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.
You're close. The USRP always transmits samples at a rate of 128Msps
(Mega-samples/second). The USRP samples at 64Msps. GMSK has a
spectral efficiency of 1 bit/sec/Hz. At 1 sample/symbol and an
interpolation rate of 128, approximately 1MHz worth of bandwidth is
used. If you are running at 2 samples/symbol, you are running at
500kHz worth of bandwidth.
Working through the math for TX, you come up with 128Msps / 128
(interpolation rate) / 2 samples/symbol = 500ksps (kilosymbols/sec).
On the receive side, just work in that samples are at 64Msps instead of 128.
The actual bandwidth of your signal is determined by the modulation
type and the type of filtering done beforehand. GMSK only rotates
~pi/4 for every bit, so +/-(symbol_rate/2) ends up being your
bandwidth. CPM is all about trajectory, but that's a little
Hope this was helpful.