When running the MATLAB QPSK transmitter and receiver example (found here: QPSK Tx and Rx Example) you can see on the plot of the spectrum that the bandwidth is ~80kHz.
If we double click on Bits Generation we can see how each frame is constructed.
For a symbol rate of 50kHz we get $\ T_s = 1/50000 $
From the settings we can see that qpsktxrx.FrameTime = 0.02266
We can also see that qpsktxrx.PayloadLength = 2240.
We know that for QPSK there are 2 bits per symbol.
Then, since we are repeating a 13 bit barker code twice and appending it to the beginning of the frame, we get a total frame size of 2240+26 = 2266 bits = 1133 symbols
The size of the frame is 1133 symbols.
For a symbol rate of 50kHz we get $\ T_s = 1/50000 $
$\ T_s * FrameSize = T_s *1133 = 0.02266 $ is the Frame Time for 1133 symbols
Then FrameTime/FrameSize = 0.02266/1133 = 0.00002 seconds per symbol
Then 1/0.00002 = 50000 symbols/sec = 100000 bits/second because 1 symbol is 2 bits
The Shannon-Hartley theorem states: $\ R = 2*B*log_2(M) $
where $\ R $ has units of bits/second
$\ B $ is in hertz
and $\ M=4 $ for QPSK
Solving for B: $\ B = R/(2*log_2(M)) = 100000/(2*2) = 25000 $ Hz
Why is the bandwidth in the spectral plot 80kHz?




