8PSK Modulation and Demodulation in the presence of transmitter and channel impairments

An 8PSK transmitter and a receiver incorporating practical impairments (AWGN, Adjacent Channel,etc).
1K Downloads
Updated 1 Jun 2016

View License

The submitted code attempts to model a a relatively practical 8PSK transmitter consisting of a bit stream generator a pair of modulators, RF up-converters along with a raised cosine filter, a digital to analogue converter (DAC) and a non-linear RF power amplifier (RF PA). The model could be used to assess the impact of the DAC's quantization noise, non-linearity of the RF power amplifier and an adjacent carrier along with AWGN on the receiver's performance. In addition to these, a phase imbalance and a phase offset could be added to the receiver's local oscillators. Phase noise could also be added to the local oscillators as a further enhancement.
The transmitter modulates the constellation bits on the sine and cosine components of a carrier signal of frequency 'Fc'. The receiver recovers the symbols by multiplying the received signal with the sine and cosine components of the carrier and integrating the result over the symbol duration applying the trapezoidal rule to obtain the in-phase and quadrature components of the received 8PSK symbol which are in turn used to identify the appropriate constellation point of the modulated data and further decoded to obtain the bitstream.
References:
i) Simulation of Digital Communication Systems with MATLAB by Mathuranathan Viswanathan
ii) QPSK Modulation and Demodulation by Salim
iii) MPSK simulation by JC.

Cite As

Prasidh Ramabadran (2024). 8PSK Modulation and Demodulation in the presence of transmitter and channel impairments (https://www.mathworks.com/matlabcentral/fileexchange/57118-8psk-modulation-and-demodulation-in-the-presence-of-transmitter-and-channel-impairments), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2016a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Data Import and Network Parameters in Help Center and MATLAB Answers
Communities

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.0.0.0

A few typo errors in the comments have been corrected. A blank section has been added to generate phase noise and add it to the Local Oscillator's output . There is no code for this section at present to keep the code less complex but could be added.