This repository demonstrates the implementation of Delta Modulation (DM) and Delta Demodulation (DD) using Python. Delta Modulation is a method for digitizing analog signals, particularly suited for low-bandwidth communication systems. The project also includes signal reconstruction with a Low-Pass Filter (LPF) to improve accuracy.
Below is an example output from the Delta Modulation and Demodulation process:
- Delta Modulation: Encodes analog signals into a binary sequence using a fixed step size.
- Delta Demodulation: Decodes the binary sequence to reconstruct the original signal.
- Low-Pass Filtering: Smooths the reconstructed signal to remove high-frequency noise.
- Visualization:
- Original signal.
- Delta modulated signal.
- Reconstructed signal (before and after LPF).
- Signal comparisons (original vs. reconstructed).
- Compares the current input signal with the last quantized value.
- Outputs
1
if the input is larger, adding a step size to the quantized value. - Outputs
0
if the input is smaller, subtracting a step size. - Generates a binary sequence and a staircase approximation of the signal.
- Processes the binary sequence to reconstruct the signal.
- Cumulatively adds or subtracts the step size based on the binary values.
- Applies a Butterworth Low-Pass Filter to the reconstructed signal.
- Removes high-frequency components, making the signal closely resemble the original.
git clone https://github.com/your-username/DeltaModulation-Demodulation.git
cd DeltaModulation-Demodulation
Make sure Python and pip
are installed. Install the required libraries:
pip install -r requirements.txt
Execute the main script to visualize the Delta Modulation and Demodulation process:
python delta_modulation.py
The script generates the following plots:
- Original Signal
- Delta Modulated Signal
- Reconstructed Signal
- Reconstructed Signal (after LPF)
- Signal Comparisons (Original vs. Reconstructed)