M-ASK, M-PSK, and QAM-M Mod and Demod

From GNU Radio
Jump to navigation Jump to search

Purpose of the LAB: To put into practice M-ASK, M-PSK and QAM-M mod/demod and observe their performances/diffrences.

Educational objectives:

- Consider M-ary modulations with different schemes.

- Visualize the constellation of modulations.

- Analyze their spectral efficiency and noise sensitivity

- Compare performances via BER

BPSK/2-ASK

At first, run Media:BPSK.grc corresponding to the flowgraph :

BPSK.png

Refer to the section https://wiki.gnuradio.org/index.php?title=Simulation_example:_BPSK_Demodulation for explanation.

Variables

Contents of the variables 'Delay', 'rrc-taps' and 'timing_loop_bw'

Delay: int (5.5 * sps + 7)

rrc_ taps : firdes.root _raised_ cosine ( nfilts , nfilts , 1.0/float( sps ), Alpha, 11* sps * nfilts )

timing_loop_bw : 0.0628

Blocks Setting

Block setting.png

M-PSK

QPSK

Modify the previous flowgraph to obtain a QPSK Media:QPSK.grc

QPSK.png - Edit Constellation object QPSK.

- Modulus Edit 4.

- Add a K-bit Unpack block (K: 2) to be placed as shown in the flowgraph

- Multiply the delay by 2 --> int (5.5 * sps + 7)*2

- Observe the BER as the noise power increases.

8-PSK

Modify the previous flowgraph to obtain an 8-PSK Media:8psk.grc

8psk.png - Edit Constellation object 8PSK

- Modulus Edit 8

- K-bit Unpack block (K: 3).

- Observe the BER as the noise power increases.

- Multiply the delay by 3 --> int (5.5 * sps + 7)*3

8PSK Output.png

M-ASK

4-ASK

Modify the QPSK flowgraph to obtain a 4-ASK.

- Replace the Constellation Object by Constellation Rect Object block

4ASK Const.png

4-ASK Media:4ASK.grc whose flowgraph is given below :

4ASK.png - Modify Constellation Rect Object as shown above.

- Modulus Edit 4.

- K-bit Unpack block (K: 2)

- Multiply the delay by 2 --> int (5.5 * sps + 7)*2

- Observe the BER as the noise power increases.

4ASK Output.png

8-ASK

8-ASK Media:8ASK.grc whose flowgraph is given below :

8ASK.png

- Edit Constellation Rect Object as shown

8ASK Const.png

QAM-M

QAM-16 Media:QAM16.grc whose flowgraph is given below :

QAM16.png

- Modify the QPSK flowgraph to obtain a 16-QAM

- Edit Constellation object 16QAM

- Modulus Edit 16

- K-bit Unpack block (K: 4).

- Observe the BER as the noise power increases.

- Multiply the delay by 4 --> int (5.5 * sps + 7)*4

16QAM Output.png