If you simulate a QPSK channel under Rayleigh fading which means of no LOS environments you can obviously observe worst performance in sense of bit error rate. as you can see in this example.
QPSK theoretical performance under Rayleigh fading approximate with this formula:
Pbtheory4 = 0.5*(1-(sqrt((Es/N0)./(1+(Es/N0)))));
1.Generate random bits (randn)(define a function to generate "0" and "1" bits.
2. Map bits to symbols define constellation points and modulation scheme
3. characterize channel fading( in this case Rayleigh)
4.add WGN noise
5. set decision regions
6.compare thresholds and sampling
7.inspect received bits for any error