From 91e0e9f81cfb0ae9293429c714f5869d69c46bd1 Mon Sep 17 00:00:00 2001 From: Keerthanana212223060122 Date: Mon, 24 Mar 2025 14:07:27 +0530 Subject: [PATCH] Update README.md --- README.md | 95 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 90 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 855ec9d..6879cfd 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,91 @@ # Pulse-Code-Modulation -Aim -Tools required -Program -Output Waveform -Results +Aim: +To implement Pulse Code Modulation (PCM) for encoding and decoding a sinusoidal signal using quantization and to observe the output waveforms. + + +Tools/Software Required: + + 1. Python Software + +-> Numpy Library + +-> Matplotlib Library + +-> Scipy Library (for signal processing + + +Program: + +import numpy as np + +import matplotlib.pyplot as plt + +def pcm_encode(signal, quantization_levels): + + min_val, max_val = np.min(signal), np.max(signal) + + quantized_signal = np.round((signal - min_val) / (max_val - min_val) * (quantization_levels - 1)) + + return quantized_signal.astype(int) + +def pcm_decode(encoded_signal, quantization_levels, min_val, max_val): + + decoded_signal = encoded_signal / (quantization_levels - 1) * (max_val - min_val) + min_val + + return decoded_signal + +fs = 1000 # Sampling frequency + +t = np.linspace(0, 1, fs) + +original_signal = 0.5 * np.sin(2 * np.pi * 5 * t) # 5 Hz sine wave + +quantization_levels = 16 + +encoded_signal = pcm_encode(original_signal, quantization_levels) + +decoded_signal = pcm_decode(encoded_signal, quantization_levels, np.min(original_signal), np.max(original_signal)) + +plt.figure(figsize=(12, 8)) + +plt.subplot(3, 1, 1) + +plt.plot(t, original_signal, label='Original Signal') + +plt.title('Original Signal') + +plt.grid(True) + +plt.subplot(3, 1, 2) + +plt.step(t, encoded_signal, label='PCM Modulated Signal', color='r') + +plt.title('PCM Modulated Signal') + +plt.grid(True) + +plt.subplot(3, 1, 3) + +plt.plot(t, decoded_signal, label='Demodulated Signal', color='g') + +plt.title('PCM Demodulated Signal') + +plt.grid(True) + +plt.tight_layout() + +plt.show() + +Output Waveform: + +image +image +image + +Results: + +The PCM encoding process successfully quantized the original sine wave into 16 levels. + +The demodulated signal closely resembled the original signal with minor quantization noise. + +The output waveforms validated the functioning of PCM in digital communication systems.