A high-performance, purely client-side web application suite designed to help engineering students visualize core analog and digital communication techniques in real-time.
This suite provides an interactive, mathematically rigorous environment for exploring signal processing. By leveraging hardware-accelerated charting and high-speed array processing in vanilla JavaScript, the simulators render thousands of data points at 60 frames per second without requiring a backend server or local environment setup.
Visualizes continuous wave modulation techniques using a composite multi-tone message signal.
- Amplitude Modulation (AM)
- Frequency Modulation (FM)
- Phase Modulation (PM)
- Independent control over dual message tones (amplitude and frequency)
- Carrier parameter adjustment
- Dynamic modulation index controls
Visualizes discrete binary data transmission by mapping logic states to analog carrier variations.
- Amplitude Shift Keying (ASK)
- Frequency Shift Keying (FSK)
- Binary Phase Shift Keying (BPSK)
- Custom binary string input
- Adjustable bit duration
- Vertical bit-boundary markers for precise state transition tracking
Demonstrates analog-to-digital conversion using the Nyquist-Shannon sampling theorem.
- Interactive sampling frequency adjustment
- Real-time signal reconstruction
- Dynamic state warnings:
- Over-sampled
- Critical
- Aliasing
The simulators compute time-domain waveforms based on foundational communication theory.
For a composite message signal m(t) and a carrier signal:
The modulated outputs are calculated as follows:
Note:
The FM module utilizes a discrete running integral for real-time calculation of complex composite signals, avoiding static calculus derivatives.
To ensure visual clarity and pedagogical value, the parameters in the Digital Modulation and Sampling modules are intentionally scaled down from real-world applications.
For example, a simulated BPSK carrier frequency is constrained to 1–10 Hz with a 1-second bit duration, allowing students to visually count individual cycles.
In practical communication systems (e.g., IEEE 802.11 standards), frequencies operate in the Gigahertz (GHz) range with nanosecond-scale bit durations.
- HTML5
- CSS3
- Vanilla JavaScript (ES6+)
Float32Arrayfor high-speed digital signal processing
- Plotly.js for responsive, WebGL-accelerated interactive plotting
- Fully WCAG compliant
- Semantic HTML structure
- ARIA labels
- Keyboard navigability
- Live region announcements for screen readers
communications-suite/
│
├── index.html # Master landing page
├── style.css # Global stylesheet
│
├── analog/ # Analog Modulation Module
│ ├── index.html
│ ├── script.js
│ └── style.css
│
├── digital/ # Digital Modulation Module
│ ├── index.html
│ ├── script.js
│ └── style.css
│
├── sampling/ # Nyquist Sampling Module
│ ├── index.html
│ ├── script.js
│ └── style.css
This suite requires zero dependencies, build tools, or package managers.
- Clone this repository or download the ZIP file.
- Open the root
index.htmlfile in any modern web browser: - Use the main menu to navigate between the different visualizers.