Enter signal data
Use comma-separated values such as 1, 0, -1, 0 or complex entries like
3+2i, 1-4i, -2, 5i.
Example data table
This example represents one sampled sine-like cycle at 8 Hz.
| Sample n | Time (s) | Value | Comment |
|---|---|---|---|
| 0 | 0.0000 | 0.0000 | Zero crossing |
| 1 | 0.1250 | 0.7071 | Rising quarter |
| 2 | 0.2500 | 1.0000 | Positive peak |
| 3 | 0.3750 | 0.7071 | Falling quarter |
| 4 | 0.5000 | 0.0000 | Center crossing |
| 5 | 0.6250 | -0.7071 | Negative quarter |
| 6 | 0.7500 | -1.0000 | Negative peak |
| 7 | 0.8750 | -0.7071 | Cycle completion |
Formula used
Forward discrete Fourier transform
X[k] = Σ x[n] · e-i 2πkn / N for k = 0 ... N-1
Inverse discrete Fourier transform
x[n] = (1/N) · Σ X[k] · e+i 2πkn / N under standard scaling
Frequency bin spacing
Δf = fs / N
Amplitude estimate
Two-sided amplitude uses |X[k]| / (N · CG), where CG is coherent gain.
One-sided amplitude doubles interior bins to preserve sinusoid height.
Energy consistency check
The calculator compares time-domain energy with the spectrum-based equivalent using the selected normalization, giving a quick Parseval-style validation.
How to use this calculator
- Choose Forward DFT for sampled signals or Inverse DFT for spectrum reconstruction.
- Paste comma-separated real or complex values into the input box.
- Enter the sample rate so the frequency axis is labeled correctly.
- Select a window when you want less spectral leakage in forward analysis.
- Set zero-padding to refine displayed bin spacing without adding information.
- Choose normalization that matches your report, textbook, or workflow.
- Use one-sided output for real signals or two-sided output for full spectra.
- Press calculate to see the result above the form, charts, and export options.
Frequently asked questions
1) What does this solver actually calculate?
It computes the discrete Fourier transform or inverse transform of sampled data. You can inspect complex bins, amplitudes, phases, power values, and dominant frequencies from one interface.
2) Why would I use a window function?
Windows reduce leakage when your signal does not complete an exact integer number of cycles inside the sample block. That usually produces cleaner peaks and more realistic amplitude comparisons.
3) What does zero-padding change?
Zero-padding increases the number of displayed bins and makes the plotted spectrum look smoother. It does not create new physical information or improve the true frequency resolution.
4) When should I choose one-sided output?
Choose one-sided output when analyzing a real-valued time signal and you want a simpler positive-frequency spectrum. Use two-sided output when negative-frequency symmetry matters or the signal is complex.
5) Why are complex numbers allowed in the input?
Complex inputs let you solve advanced signals, analytic sequences, or inverse reconstructions directly. The parser accepts values like 2+3i, -4i, and 1.5.
6) What is the difference between magnitude and amplitude?
Magnitude is the raw size of the complex transform coefficient. Amplitude is a scaled estimate that accounts for transform length, view type, and coherent gain so sinusoid strength is easier to interpret.
7) Why does the phase jump near weak bins?
Phase becomes unstable when a frequency bin has very small magnitude. In that case, tiny numerical changes can rotate the angle sharply without representing a meaningful physical phase difference.
8) Can this replace a full FFT library?
It is excellent for education, small datasets, validation, and direct browser-based reporting. For very large signals or streaming workloads, a dedicated FFT implementation will be much faster.