Interactive Engine

FOURIER ANALYSER

Enter any expression in t, select a preset, and adjust harmonics. Time domain, magnitude spectrum, phase spectrum and harmonic synthesis update live.

Signal Input
⚠ Invalid expression
2.0s
8
512
Advanced Options
Phase spectrum
Show harmonics overlay
Noise injection
Normalise spectrum
Log scale magnitude
Peak annotations
Signal envelope
Harmonics
Parseval Err
Fs Hz
SNR dB
THD %
Crest
Graph Size
Input signal — x(t)
Time domain
Magnitude spectrum — |X[k]|
First 8 harmonics · frequency domain
Harmonic reconstruction
Components (faint) + synthesis (amber)
Cumulative energy — Σ|X[k]|²
Energy capture vs harmonic index
Phase 2 — Advanced

ADVANCED TOOLS

Phasor animation, STFT spectrogram, aliasing demonstrator, cross-correlation — all computed in-browser, no microphone required.

Phasor Controls
5
1.0×
How it works
Each arrow rotates at its harmonic frequency. The tip traces the contribution; summing all tips reconstructs the waveform (right panel trace). Square waves need only odd harmonics (1,3,5…) — watch how adding terms sharpens the edges.
Phasor diagram + time-domain trace
STFT Controls
4s
STFT Spectrogram — Time × Frequency
Aliasing Controls
8 Hz
20 Hz
Nyquist Criterion
f_alias =
Nyquist limit =
Aliasing visualisation
Blue = true · orange = sampled · red = aliased
Cross-Correlation
2s
Peak delay estimate
Δt =
Peak R =
Input signals A & B
Cross-correlation R(τ)
Peak at delay τ_max
Phase 3 — Research

RESEARCH TOOLS

Welch's PSD estimation, professional CSV export, BPF calculator and flutter margin estimator.

Welch PSD Parameters
Use randn() for white noise term
50%
Peak freq Hz
Segments
Freq res Hz
Noise floor dB
Welch Power Spectral Density — S(f)
dB/Hz · averaged periodogram estimate
Welch's Method
Divides signal into overlapping segments, applies a window, computes periodogram per segment, then averages. Reduces variance of PSD estimate by factor ≈ K (number of segments). Frequency resolution = Fs / L where L = segment length. Industry standard in vibration analysis (ISO 10816, MIL-STD-810).
Export Configuration
Preview
# Run analysis first, then export.
Export format — IS0 / Industry standard
Exports a multi-section CSV with metadata header (timestamp, Fs, T, N, window, Parseval error, SNR, THD, crest factor) followed by clearly labelled data sections for time-domain signal and frequency-domain outputs. Compatible with MATLAB, Python (pandas), Excel, and signal analysis toolchains used in structural health monitoring and acoustic analysis.
Engine Parameters
BPF Results
Enter parameters and click Calculate.
Interaction Tones
Rotor–stator interaction frequencies appear here.
Structural Parameters
Frequency response + margin bands
Run the flutter margin analyser to see results here.
Signal Theory

KEY FORMULAE & THEORY

Every equation behind the analyser, derived from first principles.

Fourier Series
General form
x(t) = a₀/2 + Σₙ [aₙ cos(2πnt/T) + bₙ sin(2πnt/T)]
Coefficients
aₙ = (2/T) ∫₀ᵀ x(t) cos(2πnt/T) dt
bₙ = (2/T) ∫₀ᵀ x(t) sin(2πnt/T) dt
Complex exponential form
x(t) = Σₙ cₙ e^(j2πnt/T)
cₙ = (1/T) ∫₀ᵀ x(t) e^(−j2πnt/T) dt

Any periodic function decomposes into harmonically related sinusoids. aₙ, bₙ are real coefficients; cₙ carries amplitude and phase.

Discrete Fourier Transform (DFT)
Forward DFT
X[k] = Σₙ₌₀^(N−1) x[n] · e^(−j2πkn/N)
Inverse DFT
x[n] = (1/N) Σₖ₌₀^(N−1) X[k] · e^(j2πkn/N)
Magnitude and phase
|X[k]| = √(Re²[k] + Im²[k])
∠X[k] = atan2(Im[k], Re[k])

Maps N time samples to N complex frequency bins. Bin k → frequency f = k·Fs/N Hz.

Cooley–Tukey FFT (Radix-2)
Butterfly operation
X[k] = E[k] + W_N^k · O[k]
X[k+N/2] = E[k] − W_N^k · O[k]
W_N^k = e^(−j2πk/N)
Complexity reduction
Naive DFT: O(N²)
Cooley–Tukey: O(N log₂ N)
Speed-up (N = 4096)
DFT: 16,777,216 mults
FFT: 49,152 mults (341× faster)

Recursively divides into two N/2-point DFTs on even and odd samples until N=1.

Nyquist–Shannon Sampling
Sampling criterion
Fs > 2 · f_max
Nyquist frequency
f_N = Fs / 2
Aliased frequency (violation)
f_alias = | f_signal − round(f_signal / Fs) · Fs |

Frequencies above f_N fold back as aliases. Turbine blade sensors must satisfy Fs > 2·f_BPF to avoid aliasing structural health signals.

Parseval's Theorem
Continuous form
∫|x(t)|² dt = Σₙ |cₙ|²
Discrete form
Σₙ |x[n]|² = (1/N) Σₖ |X[k]|²
Relative error (used in analyser)
ε = |E_time − E_freq| / E_time

Total energy is conserved between domains. The analyser reports ε ≈ 10⁻¹² for exact transforms.

Window Functions
Hanning (von Hann)
w[n] = 0.5 · (1 − cos(2πn/(N−1)))
Hamming
w[n] = 0.54 − 0.46 · cos(2πn/(N−1))
Blackman
w[n] = 0.42 − 0.5·cos(2πn/(N−1)) + 0.08·cos(4πn/(N−1))

Spectral leakage arises when period is not exact multiple of window. Windowing tapers edges, suppressing side-lobes at cost of slightly widened main lobes.

Gibbs Phenomenon
Overshoot magnitude
≈ 8.9% at every discontinuity
independent of harmonic count N
Square wave series
x(t) = (4/π) Σ sin(2πnt/T)/n (n=1,3,5,…)
nth harmonic amplitude (odd n)
Aₙ = 4 / (nπ)

Adding harmonics narrows the spike but never eliminates it. Load "Gibbs Demo" preset and increase N.

Blade Pass Frequency (Aerospace)
BPF formula
f_BPF = (RPM / 60) · N_blades
Harmonic series
f_k = k · f_BPF , k = 1, 2, 3, …
Engine order (EO)
EO = f_harmonic / (RPM / 60)

Each rotor blade sweeps a stator passage at f_BPF. FFT of nacelle data reveals this tone — used for ICAO noise certification and SHM.

STFT & Welch's PSD
STFT definition
X(τ,f) = ∫ x(t) · w(t−τ) · e^(−j2πft) dt
Welch PSD estimate
Ŝ(f) = (1/K) Σₖ |X_k(f)|² / (Fs · L)
Variance reduction
Var[Ŝ(f)] ≈ Var[S(f)] / K

Welch averages K overlapping periodograms, reducing PSD variance. Spectrogram (STFT) tracks time-varying frequency content — used in flutter margin and run-up analysis.

Development Roadmap

PLATFORM ROADMAP

Three development phases from core analysis engine to full aerospace research toolkit.

Phase 1 — Complete

CORE ENGINE

Expression Parser (math.js) Cooley-Tukey FFT Magnitude Spectrum Phase Spectrum Harmonic Synthesis Parseval Checker Hanning · Hamming · Blackman Custom Noise Injection (σ) Log Scale / Normalise 8 Aero Presets Flat-Top · Kaiser Windows SNR · THD · Crest Factor Cumulative Energy Plot Graph Size Control Peak Annotations Signal Envelope
Phase 2 — Complete

ADVANCED TOOLS

Phasor / Rotating Vector Animation STFT Spectrogram Viewer Aliasing Demonstrator Cross-Correlation Selectable Colour Maps
Phase 3 — Complete

RESEARCH TOOLS

Welch's Method PSD CSV Export (Industry Format) Turbofan BPF Calculator Flutter Margin Estimator
Algorithm Stack
Expression API math.js compile().evaluate() Live
Cooley–Tukey FFTIn-place radix-2 · O(N log N)
Window FunctionsRect · Hanning · Hamming · Blackman · Flat-Top · Kaiser
Magnitude Spectrum|X[k]| / (N/2) normalised
Phase Spectrumatan2(Im, Re) per bin
Harmonic SynthesisSum of N cosine terms
Parseval CheckerTime vs. frequency energy
Welch PSDAveraged overlapping periodograms
STFT SpectrogramSliding window FFT · dB colour map
Cross-CorrelationTime-lag via FFT convolution
SNR · THD · CrestSignal quality metrics
Phasor Animator · Aliasing Demo · BPF Calc · Flutter Margin
Pure browser · Zero server · math.js only
"The deep study of nature is the most fruitful source of mathematical discoveries."
Joseph Fourier, 1768–1830

WHY FOURIER?

Jean-Baptiste Joseph Fourier proved in his 1822 treatise Théorie analytique de la chaleur that any periodic function decomposes into an infinite sum of sines and cosines. The mathematical apparatus he built to solve the heat equation turned out to govern every oscillatory phenomenon in physics.

The Cooley–Tukey FFT (1965) cut the computational cost from O(N²) to O(N log N), making real-time spectrum analysis practical. It now underlies radar, MRI, audio codecs, wireless comms, and every structural health monitoring system in aerospace.

In aero: flutter margins are extracted from flight test accelerometer FFTs; nacelle microphones reveal turbofan BPF tones; pulse-Doppler radar builds range-Doppler maps via 2D FFT; composite SHM tracks modal frequency shifts.

1822
Fourier's Treatise
1965
Cooley–Tukey FFT
O(N log N)
Complexity
Historical Timeline

FROM HEAT TO SIGNAL THEORY

1807

FOURIER'S FIRST MEMOIR

Submitted to the Institut de France — rejected by Lagrange who disputed convergence. The work sits unpublished for 15 years.

1822

THÉORIE ANALYTIQUE DE LA CHALEUR

Fourier formally proves any periodic function can be expressed as a trigonometric series and derives the integral coefficient formulae.

1829

DIRICHLET'S CONVERGENCE PROOF

First rigorous proof of convergence for piecewise smooth, bounded functions — establishing the mathematical foundations Fourier assumed.

1898

GIBBS PHENOMENON

Josiah Willard Gibbs characterises the ~8.9% overshoot at discontinuities that persists regardless of harmonic count.

1928

NYQUIST SAMPLING THEOREM

Harry Nyquist establishes that a signal can be perfectly reconstructed from samples at more than twice the highest frequency.

1965

COOLEY–TUKEY FFT ALGORITHM

Reduces DFT from O(N²) to O(N log N). Originally to detect Soviet nuclear tests — becomes the most important numerical algorithm of the 20th century.

1967

WELCH'S MODIFIED PERIODOGRAM

Peter Welch introduces the averaged overlapping periodogram method, dramatically reducing PSD variance — now standard in structural health monitoring and vibration analysis.