๐ต Advanced Telecommunication System Implementation ๐ต
A complete Python-based communication system demonstrating amplitude modulation, quadrature components, and signal recovery techniques
Project Partner: Inshaf
๐ Real-world Application: Simulates actual telecommunication systems
๐๏ธ Multiple Modulation: Implements AM with quadrature components
๐ Signal Analysis: Complete visualization and frequency domain analysis
๐ Robust Recovery: Tests demodulation under various carrier conditions
๐ฑ Easy to Use: Interactive Jupyter notebook with step-by-step execution
- ๐ Project Highlights
- ๐ก Overview
- ๐ง System Architecture
- ๐ Mathematical Model
- โ๏ธ Technical Specifications
- ๐ Quick Start
- ๐ Input & Output Files
- ๐ ๏ธ Dependencies & Tools
๐ค Speech Files (ziad.wav, esoo.wav, mohey.wav)
โ [Resample to 250kHz]
๐ก Modulation [s(t) = xโ(t)cos(ฯโt) + xโ(t)cos(ฯโt) + xโ(t)sin(ฯโt)]
โ [Transmission Simulation]
๐ Demodulation [Standard + Phase/Frequency Shifted]
โ [Low-Pass Filtering]
๐ต Recovered Audio Files (18 output variations)
- ๐ Signal Plots: Time and frequency domain visualizations
- ๐ต Audio Files: 18 processed audio outputs showing different recovery methods
- ๐ Analysis: Complete comparison of demodulation techniques
- โก Performance: Real-time processing and quality assessment
This project demonstrates speech signal modulation and demodulation techniques using Python. It implements a complete communication system that processes three audio files, modulates them using different carrier frequencies, transmits the combined signal, and then demodulates to recover the original signals.
- ๐ต Audio Processing: Resampling and preprocessing of speech signals
- ๐ถ Signal Modulation: Amplitude modulation with quadrature components
- ๐ Multiple Demodulation: Standard, phase-shifted, and frequency-shifted recovery
- ๐ Visualization: Complete signal analysis and plotting
- ๐พ Audio Generation: Output of processed audio files
- Input: Reads three speech audio files (
.wavformat) - Processing: Resamples all signals to 250,000 Hz and equalizes lengths
- Modulation: Combines signals using the mathematical model below
- Transmission: Simulates transmission of the modulated signal
- Demodulation: Recovers original signals with various carrier configurations
- Output: Generates processed audio files for analysis
System Components:
- ๐ค Input Stage: Three speech signals ready for modulation
- ๐ก Modulation Stage: Signals multiplied with carrier waves
- โ Combiner: All modulated signals summed to create s(t)
- ๐ถ Transmission: Combined signal represents transmitted data
- ๐ Demodulation Stage: Signal recovery using coherent detection
- ๐ฝ Low-Pass Filters (L.P.F): Remove high-frequency components
- ๐ต Output Stage: Recovered speech signals
- Standard: Perfect carrier synchronization
- Phase-shifted: Carriers with 10ยฐ, 30ยฐ, 90ยฐ phase offsets
- Frequency-shifted: Carriers with 2 Hz, 10 Hz frequency offsets
The core of this project is based on the following modulation equation:
s(t) = xโ(t)cos(ฯโt) + xโ(t)cos(ฯโt) + xโ(t)sin(ฯโt)
Where:
s(t)โ Composite modulated signal (transmitted)xโ(t), xโ(t), xโ(t)โ Input speech signals (ziad.wav, esoo.wav, mohey.wav)ฯโ, ฯโโ Carrier frequenciescos(ฯโt), cos(ฯโt)โ Cosine carriers for signals 1 and 2sin(ฯโt)โ Sine carrier for signal 3 (quadrature component)
- ๐ก Modulation: Amplitude Modulation (AM) with Quadrature Components
- ๐ Sampling Rate: 250,000 Hz
- ๐๏ธ Filter Type: Butterworth Low-Pass Filter
- ๐ Carrier Types: Cosine and Sine waves
- ๐ Processing: Real-time signal visualization and analysis
โโโ project.ipynb # Main Jupyter notebook
โโโ signals/ # Input audio files
โ โโโ esoo.wav
โ โโโ mohey.wav
โ โโโ ziad.wav
โโโ output_signals/ # Generated output files
โ โโโ Out_1.wav
โ โโโ Out_1_phase_10.wav
โ โโโ Out_1_phase_30.wav
โ โโโ Out_1_phase_90.wav
โ โโโ Out_1_shift_2.wav
โ โโโ Out_1_shift_10.wav
โ โโโ ... (similar files for signals 2 and 3)
โโโ images/ # Documentation images
โ โโโ Block diagram.png
โโโ requirements.txt # Python dependencies
- Python 3.7+
- Jupyter Notebook or JupyterLab
-
Clone the repository:
git clone https://github.com/mohamed-munsif/speech-signal-modulation.git cd speech-signal-modulation -
Install dependencies:
pip install -r requirements.txt
- Prepare Input: Place your
.wavaudio files in thesignals/folder - Run Analysis: Open
project.ipynband execute all cells - View Results: Check
output_signals/for generated files - Analyze: Review plots and audio outputs
ziad.wavโ Speech signal 1 (modulated with cos(ฯโt))esoo.wavโ Speech signal 2 (modulated with cos(ฯโt))mohey.wavโ Speech signal 3 (modulated with sin(ฯโt))
Out_X.wavโ Standard demodulated signalsOut_X_phase_Y.wavโ Phase-shifted demodulated signals (Y = 10ยฐ, 30ยฐ, 90ยฐ)Out_X_shift_Y.wavโ Frequency-shifted demodulated signals (Y = 2Hz, 10Hz)
Where X = 1, 2, 3 corresponding to the three input signals
numpyโ Numerical computations and array operationsscipyโ Signal processing and filteringlibrosaโ Audio processing and resamplingsoundfileโ Audio file I/O operationsmatplotlibโ Signal plotting and visualizationipythonโ Interactive Python environment
All dependencies are listed in requirements.txt for easy installation.
Feel free to submit issues and enhancement requests!
For questions about this telecommunication project, feel free to reach out!
