Professional Documents
Culture Documents
ELP-725
EXPERIMENT-3
LAB REPORT
HIMSHIKHA 2023EEE2334
BIDISHA MISRA 2023EEE2759
Objective:
a. Estimate the channel quality
b. Assign the modulation (QAM) depending on the location of the receiver from the transmitter to satisfy
Quality of Service in terms of Bit Error Rate.
c. Compare the performance of adaptive modulation scheme with non-adaptive modulation scheme
(demonstrate the benefits of adaptive over non-adaptive)
Equipment used:
1. GNU Radio-companion
2. HackRF one of transceiver
3. One RTL SDR
4. Connecting cables
5. Two laptops
Theory:
Channel estimation:
When a signal passes through a channel, it is distorted by the noise or by other signals traversing the same
medium. This means that when signal is received at its destination, it could have errors. So, in order to
remove the noise and distortion effects of the channel from the received signal, channel properties have to be
found out. The process of figuring out channel characteristics is called Channel Estimation.
Adaptive modulation and coding (AMC) and non-adaptive modulation and coding (NAMC) are techniques
used in wireless communication systems to optimize data transmission based on channel conditions.
In NAMC, a fixed modulation and coding scheme (MCS) is used for all data transmissions, regardless
of channel conditions.
The MCS is predetermined and typically chosen based on worst-case channel conditions to ensure
reliability.
While NAMC provides consistent performance, it may not efficiently utilize the available bandwidth
under varying channel conditions.
AMC dynamically adjusts the modulation and coding scheme based on real-time channel conditions.
It continuously monitors the channel quality and adapts the MCS to maximize data rate while
maintaining an acceptable level of error performance.
Higher MCS (e.g., using higher-order modulation or lower coding rates) are used when the channel
quality is good, allowing for higher data rates. Conversely, lower MCS are selected when the channel
quality deteriorates to ensure reliability.
AMC enhances spectral efficiency and overall system capacity by utilizing the available resources
more efficiently compared to NAMC.
While NAMC uses a fixed MCS for all transmissions, AMC dynamically adjusts the MCS based on channel
conditions to optimize data rate and reliability.
Working Principle of Adaptive Modulation
Adaptive Modulation is based on the principle of continuous control of the conditions of the channel and is
based on the regulation of the parameters of the modulation. It includes the following:
Channel Estimation: The receiver always tries to estimate the channel conditions at any point in time.
This involves constantly assessing the Signal-to-Noise Ratio (SNR), levels of interference, and
characteristics of fading within the channel. Such estimation is crucial for adapting the communication
strategy to current conditions, ensuring optimal signal transmission and reception.
Modulation Scheme Selection: This process involves selecting an appropriate modulation scheme from
a predefined set, mainly depending on the channel estimates, to balance the data rate against reliability.
The choice of modulation scheme affects how data is encoded for transmission, with different schemes
offering trade-offs between data throughput and resilience to channel impairments.
Transmission: After selecting the modulation scheme, the transmitter encodes the data accordingly and
then transmits it through the channel. This step is where the actual data transmission occurs, with the
encoded data being sent from the transmitter to the receiver over the communication channel.
Feedback: The receiver provides feedback about the quality of the received signal and the modulation
parameters that need to be adjusted. This feedback is crucial for the transmitter to understand how well
the transmission was received and what adjustments may be needed to improve future transmissions.
Adjustments could involve changing the modulation scheme, power levels, or other parameters to
enhance signal quality and communication reliability.
By its iterative process, this system gets adapted to varying conditions of the channel for real-time performance
optimization with maximum throughput.
Implementation:
1. Channel Estimation
Fig3: Adaptive Modulation and Coding (AMC) (a) transmitter (b) receiver
1. Channel Estimation:
For BPSK
(i)
(ii)
Fig4: Transmitted and received BPSK constellation with corresponding SNR values (i) when channel condition is
moderate (ii) when channel condition is much worse
For QPSK
(i)
(ii)
Fig 5: Transmitted and received QPSK constellation with corresponding SNR values (i) when channel condition
is good (ii) when channel condition is much worse
For 8PSK
(i)
(ii)
Fig6: Transmitted and received 8PSK constellation with corresponding SNR values (i) when channel condition is good
(ii) when channel condition is much worse
For QAM-16
(i)
(ii)
Fig 7: Transmitted and received QAM-16 constellation with corresponding SNR values (i) when channel condition is
good (ii) when channel condition is much worse
Fig (A) Channel Estimation (a) Transmitted and (b) Received constellations and SNRs obtained by varying distances
(i) (ii)
(iii) (iv)
Fig 8: Selection of 16-QAM (i) time sink (ii) corresponding SNR when it is selected (iii) transmitted constellation (iv)
received constellation
PSK8:
(i) (ii)
(iii) (iv)
Fig 9: Selection of 8-PSK (i) time sink (ii) corresponding SNR when it is selected (iii) transmitted constellation (iv)
received constellation
QPSK:
(i) (ii)
(iii) (iv)
Fig 10: Selection of QPSK (i) time sink (ii) corresponding SNR when it is selected (iii) transmitted constellation (iv)
received constellation
BPSK:
(i) (ii)
(iii) (iv)
Fig 11: Selection of BPSK (i) time sink (ii) corresponding SNR when it is selected (iii) transmitted constellation (iv)
received constellation
Fig (B) AMC Modulation: showing switching between different constellations based on channel conditions (SNR
values)
3. Comparison of Adaptive and Non-Adaptive Modulation Schemes:
Table 1: BER vs SNR for BPSK Modulation: Table 1: BER vs SNR for QPSK Modulation:
Table 1: BER vs SNR for 8PSK Modulation: Table 1: BER vs SNR for QAM16 Modulation:
Channel Estimation:
1. In Fig (A) (4,5,6 and 7), we have performed channel estimation for all the modulation schemes BPSK,
QPSK, 8-PSK and 16-QAM by varying the distance between the transmitter and receiver. For each
modulation scheme, it is seen that when distance between transmitter and receiver is less (channel
condition is good), then received constellation is fairly accurate whereas when distance between
transmitter and receiver is more (channel condition is worse), then the received constellation gets
distorted.
2. This is because when distance between transmitter and receiver increases, the signal strength weakens
due to factors like attenuation and interference, which lowers the SNR. A lower SNR means that the
signal becomes more susceptible to noise, leading to errors in signal detection, hence increasing the BER.
Adaptive Modulation:
1. Channel gain is random and there may be multipaths leading to multiple copies of the signal at the
receiver causing uncertain SNR at the receiver end. We can use adaptive modulation and coding which
adjusts the modulation schemes based on factors like channel conditions, interference, and signal
strength to ensure efficient use of available bandwidth and maximizing the data throughput while
maintaining acceptable BER.
2. From Fig (B) (8,9,10,11), we can see that the multiplexer picks QAM-16 constellation when channel
condition is good (SNR=14), 8-PSK constellation when the channel condition is moderate (SNR=9),
QPSK constellation when channel condition degrades (SNR=7) and BPSK constellation when channel
condition is worst (SNR=4).
3. This is because higher order modulation is picked when the channel condition is good, allowing for
higher data rates whereas lower order modulation is picked when channel condition deteriorates to
ensure reliability in terms of BER.
4. When channel condition is bad (low SNR) and if we transmit higher order constellation (QAM-16),
then BER is high as QAM 16 has the minimum distance between the signaling points, thus there is
more chance of bits getting flipped as noise amplitude will be at least, higher than half of the distance
between the signaling points, so it is better to select lower order constellation like BPSK as there is
more distance between the signaling points as compared to higher order constellations .
1. In non-adaptive modulation, we use single modulation. In case of higher constellation, if SNR is low,
BER is worst and information is lost, whereas, in case of lower constellation, we do not use complete
channel capacity when SNR is very low.
2. In adaptive modulation, we prevent our data from distortion even if SNR is very low by transmitting
lower order constellation but when the channel condition improves, it switches to higher order
constellation to ensure better utilization of channel capacity.
3. In Fig12., we have plotted BER vs SNR for all the constellations (BPSK, QPSK, 8PSK and 16QAM)
for non-adaptive modulation and in order to show adaptive modulation and its switching among
different modulation schemes we have coded the logic accordingly which is given below MATLAB
code. From graph we can see that when SNR<5dB it transmits BPSK, when 5dB<SNR<8.5dB AMC
gets switched from BPSK to QPSK, and when 8.5dB<SNR<11dB it gets switched from QPSK to
8PSK and for SNR>11dB it picks QAM16.These results can be verified from the graph.
Conclusion:
We have performed channel estimation for different modulation schemes and shown SNR values by varying
distances between Tx and Rx and corresponding picked constellation by adaptive modulation. We can see that
we prevent our data from distortion when channel is very bad by sending lower order modulation scheme and
increase the data rate by sending higher order constellation when channel condition is good.
Adaptive modulation coding technique is useful in such scenarios for proper utilization of channel capacity.
We have compared the transmitted and received file and calculated the BER for different modulation schemes
and finally we plotted the graph of BER vs SNR for different modulation schemes and compared non-adaptive
modulation scheme with adaptive modulation scheme.
Reference:
1. Goldsmith A (2005) Wireless Communications Cambridge University Press Doi:10.1017/CBO9780511841224.
2.https://www.gnuradio.org/
Python Code:
(Multiplexer)
"""
Embedded Python Blocks:
Each time this file is saved, GRC will instantiate the first class it finds
to get ports and parameters of your block. The arguments to _init_ will
be the parameters. All of them are required to have default values!
"""
import numpy as np
from gnuradio import gr
import pmt
(DeMux)
"""
Embedded Python Blocks:
Each time this file is saved, GRC will instantiate the first class it finds
to get ports and parameters of your block. The arguments to _init_ will
be the parameters. All of them are required to have default values!
"""
import numpy as np
from gnuradio import gr
import pmt
BER Calculation:
MATLAB CODE FOR BER of BPSK