Digital Modulations using Python

Digital Modulations using Python book cover

Author: Mathuranathan Viswanathan
Editor (with publishing rights): Varsha Srinivasan
Formats : eBook and Paperback
Paperback: 216 pages
Publisher: Independently published (December 2019)
Language: English
ISBN: 978-1712321638 (paperback color print)
ISBN: 978-1712342749 (paperback black & white print)
Paperback Dimensions: 7 x 0.5 x 10 inches

Note: Only PDF version is available for purchase from this website. Paperback Print editions are available only from Amazon.

Ratings: PoorBelow averageAverageGoodExcellent (127 votes, average: 3.58 out of 5)

Please provide correct email address when purchasing the ebook. The ebook will be sent to the email address upon purchase. Upon successful purchase, you can contact the author (check preface in the book for contact detail) for any doubts in the text/code. Your queries will be promptly responded in a day.

Description

A learner-friendly, practical and example driven book, Digital Modulations using Python gives you a solid background in building simulation models for digital modulation systems in Python version 3. This book, an essential guide for understanding the implementation aspects of a digital modulation system, shows how to simulate and model a digital modulation system from scratch. The implemented simulation models shown in this book, provide an opportunity for an engineer to understand the basic implementation aspects of modeling various building blocks of a digital modulation system. It presents the key topics with required theoretical background along with the implementation details in the form of Python scripts.

Key features

► Basics of signal processing, essential for implementing digital modulation techniques – generation of test signals, interpreting FFT results, power and energy of a signal, methods to compute convolution, analytic signal and applications.
► Waveform and complex baseband equivalent simulation models.
► Digital modulation techniques covered: BPSK and its variants, QPSK and its variants, M-ary PSK, M-ary QAM, M-ary PAM, CPM, MSK, GMSK,M-ary FSK.
► Simulation for ascertaining performance of digital modulation techniques in AWGN and fading channels – Eb/N0 Vs BER curves.
► Design and implementation of linear equalizers – zero forcing and MMSE equalizers, using them in a communication link, LMS algorithm for adaptive equalization.
► Simulation and performance of modulation systems with receiver impairments.
Examples using object oriented programming.
► Simulation scripts using SciPy, Numpy and Matplotlib packages.

Table of contents

  • Essentials of Signal Processing
    • Generating standard test signals
      • Sinusoidal signals
      • Square wave
      • Rectangular pulse
      • Gaussian pulse
      • Chirp signal
    • Interpreting FFT results – complex DFT, frequency bins and FFTShift
      • Real and complex DFT
      • Fast Fourier Transform (FFT)
      • Interpreting the FFT results
      • FFTShift
      • IFFTShift
      • Some observations on FFTShift and IFFTShift
    • Obtaining magnitude and phase information from FFT
      • Discrete-time domain representation
      • Representing the signal in frequency domain using FFT
      • Reconstructing the time domain signal from the frequency domain samples
    • Power spectral density
    • Power and Energy of a signal
      • Energy of a signal
      • Power of a signal
      • Classification of signals
      • Computation of power of a signal – simulation and verification
    • Polynomials, Convolution and Toeplitz matrices
      • Polynomial functions
      • Representing single variable polynomial functions
      • Multiplication of polynomials and linear convolution
      • Toeplitz Matrix and Convolution
    • Methods to compute convolution
      • Method 1 – Brute-Force Method
      • Method 2 – Using Toeplitz Matrix
      • Method 3 – Using FFT to compute convolution
      • Miscellaneous methods
    • Analytic signal and its applications
      • Analytic signal and Fourier Transform
      • Applications of analytic signal
    • Choosing a filter : FIR or IIR : understanding the design perspective
      • Design specification
      • General considerations in design
  • Digital Modulators and Demodulators – Passband Simulation Models
    • Introduction
    • Binary Phase Shift Keying (BPSK)
      • BPSK transmitter
      • BPSK receiver
      • End-to-end simulation
    • Coherent detection of Differentially Encoded BPSK (DEBPSK)
    • Differential BPSK (D-BPSK)
      • Sub-optimum receiver for DBPSK
      • Optimum noncoherent receiver for DBPSK
    • Quadrature Phase Shift Keying (QPSK)
      • QPSK transmitter
      • QPSK receiver
      • Performance simulation over AWGN
    • Offset QPSK (O-QPSK)
    • π∕4-DQPSK
    • Continuous Phase Modulation (CPM)
      • Motivation behind CPM
      • Continuous Phase Frequency Shift Keying (CPFSK) modulation
      • Minimum Shift Keying (MSK)
    • Investigating phase transition properties
    • Power Spectral Density (PSD) plots
    • Gaussian Minimum Shift Keying (GMSK)
      • Pre-modulation Gaussian Low Pass Filter
      • Quadrature implementation of GMSK modulator
      • GMSK spectra
      • GMSK demodulator
      • Performance
    • Frequency Shift Keying (FSK)
      • Binary-FSK (BFSK)
      • Orthogonality condition for non-coherent BFSK detection
      • Orthogonality condition for coherent BFSK
      • Modulator
      • Coherent Demodulator
      • Non-coherent Demodulator
      • Performance simulation
      • Power Spectral Density
  • Digital Modulators and Demodulators – Complex Baseband Equivalent Models
    • Introduction
    • Complex baseband representation of a modulated signal
    • Complex baseband representation of channel response
    • Implementing complex baseband modems using object oriented programming
      • Pulse Amplitude Modulation (M-PAM) modem
      • Phase Shift Keying Modulation (M-PSK) modem
      • Quadrature Amplitude Modulation (M-QAM) modem
      • Optimum detector on IQ plane using minimum Euclidean distance
      • M-ary Frequency Shift Keying modem
    • Instantiation of modems
  • Performance of Digital Modulations over Wireless Channels
    • AWGN channel
      • Signal to Noise Ratio (SNR) definitions
      • AWGN channel model
      • Theoretical Symbol Error Rates
      • Unified Simulation model for performance simulation
    • Fading channels
      • Linear Time Invariant channel model and FIR filters
      • Simulation model for detection in flat Fading Channel
      • Rayleigh flat-fading channel
      • Rician flat-fading channel
  • Linear Equalizers
    • Introduction
    • Linear Equalizers
    • Symbol-spaced linear equalizer channel model
    • Implementing equalizers using object oriented programming
    • Zero-forcing equalizer
      • Least squares solution
      • Noise enhancement
      • Design and simulation of zero-forcing equalizer
      • Drawbacks of zero-forcing equalizer
    • Minimum mean square error (MMSE) equalizer
      • Alternate solution
      • Design and simulation of MMSE equalizer
    • Equalizer delay optimization
    • BPSK modulation with zero-forcing and MMSE equalizers
    • Adaptive equalizer: Least mean square (LMS) algorithm
  • Receiver Impairments and Compensation
    • Introduction
    • DC offsets and compensation
    • IQ imbalance model
    • IQ imbalance estimation and compensation
      • Blind estimation and compensation
      • Pilot based estimation and compensation
    • Visualizing the effect of receiver impairments
    • Performance of M-QAM modulation with receiver impairments

21 thoughts on “Digital Modulations using Python”

  1. We are thinking of using this pdf file to hold a seminar with 5 people. In that case, do I need to purchase 5 pdf files? I have already purchased a book and a pdf file of “Digital Modulations using Python”.

    Reply
  2. Thanks for the explanations and examples in this book. Is the software open-source? Does the licence permit open source applications to use your code with attribution?

    Reply
  3. Where is the “BUY” button for the PDF ? Looks like there is a loop between the “buy-books” page and the “digital-modulations-using-python” page. I have ordered the paper back version on Amazon without issue but I would like to have a pdf version when I travel

    Reply
  4. Can i get the solution from this book?
    generate a complex time series , like a 4-QAM scenario
    – add “sufficient” noise to the time series
    – perform coherent integrations with different length (window)
    -> multiple! 1,2,4,…16…n samples to average

    Reply
  5. Please stop using paypal. It is a nightmare to set up and pay. It literally took me less than a minute in amazon, but hours and no success with paypal. Please publish this ebook in amazon instead!

    Reply
  6. The book looks great, however it doesn’t explain what should the learner install to implement the code for a python newcomer like me it’s important because when I downloaded Python 3.9 from official website I didn’t understand how to setup everything properly.

    Reply
    • Thanks for the comment. The preface of the book hints that basic Python3 installation (with SciPy & Numpy) is sufficient to run the scripts. Moreover, every PDF purchase is accompanied by associated scripts packaged as a module. The reader can simply import the package and execute the scripts.

      May be I can include instructions on how to setup Python & execute scripts, but this information is readily available in the internet (example: python official website’s documentation).

      Reply
    • I don’t quite follow the problem. Each chapter has dedicated section for references cited in the corresponding chapter (table of contents given below).

      Last chapter has cited 6 references, that is why there are 6 references in the last chapter.
      If you don’t mind could you check the following : 1) Are the references from end of all other chapters missing ? 2) Are there any missing page numbers between each chapters ?

      This would help me to ascertain the nature of the problem and take corrective/preventive action. Thank you.

      Digital modulations using python reference

      Reply
  7. Hi Mathuranathan,

    I bought your book in Amazon. There is a mistake, the refence page there are only six references.
    The last reference is “Wireless LAN Medium Acess Control (Mac) and Physical Layer (Phy) Specifications…”
    Could you send me a file whit all refersnces?

    thank you.

    Reply
  8. Does this book contain simulation of Rayleigh Clarke’s channel model that you had in your earlier book using Matlab?

    Reply

Post your valuable comments !!!