DirectSequenceSpreadSpectrum

πŸ“‘ Direct Sequence Spread Spectrum Study

This project investigates spread spectrum transmission using a direct sequence spreading technique. Performance evaluation is first conducted over a Gaussian channel, with the possible presence of a jammer. Then, an experimental transmission over an acoustic channel is performed. The entire study is carried out in the Jupyter Notebook environment.

🎯 Purpose

  • 🌌 Spread Spectrum Transmission: Analyze direct sequence spread spectrum (DSSS) techniques.
  • πŸ“Š Performance Evaluation: Assess system performance under Gaussian noise and jamming conditions.
  • πŸ”Š Acoustic Channel Experimentation: Implement DSSS transmission over an acoustic medium.
  • πŸ–₯️ Jupyter Notebook Implementation: Develop and document the study in a Jupyter Notebook environment.

πŸ“ Features

🏷️ Feature πŸ” Description
🌌 Direct Sequence DSSS Implements direct sequence spread spectrum transmission
πŸ“Š Performance Metrics Evaluate system performance in different noise conditions
πŸš€ Jamming Resilience Study system robustness against intentional interference
πŸ”Š Acoustic Transmission Test DSSS communication over an acoustic channel
πŸ–₯️ Jupyter Notebook Full implementation and documentation in Python

πŸ”¬ Methodology

🌌 Signal Spreading πŸ“Š Performance Evaluation πŸ”Š Acoustic Transmission

πŸ“š Architecture

/spread-spectrum-transmission
│── notebooks/
β”‚ β”œβ”€β”€ 01_transmitter.ipynb # DSSS transmitter implementation
β”‚ β”œβ”€β”€ 02_receiver.ipynb # DSSS receiver implementation
β”‚ β”œβ”€β”€ 03_awgn_channel.ipynb # AWGN channel simulation
β”‚ β”œβ”€β”€ 04_performance.ipynb # Performance evaluation (BER, SNR)
β”‚ β”œβ”€β”€ 05_jamming.ipynb # Jamming impact analysis
β”‚ β”œβ”€β”€ 06_dbpsk.ipynb # DBPSK implementation
β”‚ β”œβ”€β”€ 07_audio_transmission.ipynb # Audio experimentation
│── src/
β”‚ β”œβ”€β”€ dsp_utils.py # Signal processing utilities
β”‚ β”œβ”€β”€ modulation.py # Implementation of BPSK and DBPSK modulations
β”‚ β”œβ”€β”€ spreading.py # Spread sequence generation
β”‚ β”œβ”€β”€ filtering.py # RRC filters and delay compensation
│── data/
β”‚ β”œβ”€β”€ audio/ # Audio signals recorded for testing
β”‚ β”œβ”€β”€ parameters/ # Transmission parameters saved
β”‚ β”œβ”€β”€ images/ # Images used for transmission
│── results/
β”‚ β”œβ”€β”€ figures/ # Graphics generated (spectrograms, BER, etc.)
β”‚ β”œβ”€β”€ logs/ # Experiment results
│── README.md # Project documentation
│── requirements.txt # Libraries required (numpy, scipy, matplotlib...)
│── environment.yml # Jupyter configuration file

πŸ“š Report & Code

The project deliverables include:

  • A detailed report illustrating the results obtained for each step.
  • The full implementation in a Jupyter Notebook.