Skip to content

Nischal-Agrawal/SpectraForge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

SpectraForge

DSP & Communication Signal Analysis Lab

SpectraForge is a research-oriented Digital Signal Processing (DSP) and Communication Systems project that demonstrates signal generation, noise modeling, frequency-domain analysis, filtering, and communication performance evaluation.

This repository contains Python, Jupyter Notebook, and MATLAB implementations of the same core experiments, allowing cross-verification and flexible demonstration.

For detailed experiment explanations, observations, and extended results,
please refer to:
SpectraForge/SpectraForge/README.md


Project Highlights

  • End-to-end DSP and communication system simulation
  • Automated, reproducible experiment pipeline
  • Time-domain and frequency-domain signal analysis
  • Digital filtering for noise reduction
  • BER vs SNR evaluation for BPSK over AWGN
  • Implemented in Python, Jupyter Notebook, and MATLAB

Visual Results Overview

The following sections highlight representative outputs generated automatically by the project. All images shown here are produced directly by the code.


Time-Domain Signal Analysis

Comparison of clean and noisy signals in the time domain.

Time Domain Signal


Frequency-Domain Analysis (FFT)

Frequency spectrum of clean and noisy signals obtained using FFT.

FFT Spectrum


Digital Filtering Results

Effect of low-pass filtering on noisy signals.

Filtered Signal


Communication Performance (BER vs SNR)

Bit Error Rate performance of a BPSK system over an AWGN channel.

BER vs SNR


MATLAB Pipeline Results

The same DSP and communication experiments are implemented in MATLAB to validate results using an academic-style signal processing environment.

Screenshot 2026-01-26 163836

Jupyter Notebook Demonstration

An interactive Jupyter Notebook is provided for step-by-step execution, visualization, and explanation of the entire experiment pipeline.

Screenshot 2026-01-26 163059

Repository Structure (High-Level)

SpectraForge/
├── SpectraForge.ipynb
├── python/
├── matlab/
├── outputs/
├── report/
└── requirements.txt

How to Explore the Project

Python (Automated Pipeline)

cd python
python pipeline.py

Jupyter Notebook

Open SpectraForge.ipynb and run all cells sequentially.

MATLAB

Upload the matlab/ folder to MATLAB Online or MATLAB Desktop and run:

run_pipeline

Notes for Reviewers

  • All plots shown are generated programmatically
  • No manual screenshots are required
  • Results are reproducible by re-running the pipeline
  • Python and MATLAB outputs follow the same methodology

Additional Documentation

For in-depth explanations, design decisions refer to the internal documentation:

SpectraForge/SpectraForge/README.md

About

DSP and communication systems simulation lab using Python, Jupyter, and MATLAB with FFT, filtering, and BER analysis.

Topics

Resources

Stars

Watchers

Forks

Contributors