M-ASK Mod and Demod 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 modulations and observe their properties.

Educational objectives:

Consider M-ary modulations with different schemes.

Visualize the constellation of modulations.

Analyze their spectral efficiency and noise sensitivity

Compare performance via BER

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 For a 2-ASK or BPSK Media:BPSK.grc

M-PSK

A. 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

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

- Observe the BER as the noise power increases.


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

- Edit Constellation object 8PSK

- Modulus Edit 8

- Add a 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


M-ASK

A. Modify the previous flowgraph to obtain a 4-ASK.

Replace the Constellation Object by Constellation Rect Object block

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

Modify Constellation Rect Object as shown 4ASK Const.png

Modulus Edit 4.

Add a 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.


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 previous flowgraph to obtain a 16-QAM

Edit Constellation object 16QAM

Modulus Edit 16

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

Observe the BER as the noise power increases. - Multiply the delay by 2 ( int (5.5 * sps + 7)*4