HomeCalculatorsMathTransformsDiscrete Fourier Transform Calculator
Math calculator

Discrete Fourier Transform Calculator

Direct DFT / IDFT and radix-2 FFT / IFFT of a length-N sequence, N≤64. FFT requires N=2^k. Numpy backward: unnormalized forward, 1/N inverse. Discovery /dft, /inverse-dft, /fft, /ifft. Not Laplace. Not CAS. Runs locally.

Instant result
Result
—

Enter values to calculate.

Inputs—
Mode—
Formula—
Trust summary CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance · all published modes
Input interpretation
Enter values to calculate.
Result
—
Verified scope
all published modes
Assurance
Core
Declared partition coverage
PASS · 7/7 declared partitions (scaled-components, numerical-range, dft, idft, fft, ifft, invalid-domain) · Matrix
Known limitations
  • Core CVP does not include live graph, viewport, or pointer interaction.
Model
Direct DFT / IDFT and radix-2 FFT / IFFT of a length-N sequence, N≤64, with an engine-linked stem figure of |X[k]| or |x[n]|.
Scope
Direct O(N²) DFT/IDFT; radix-2 FFT/IFFT
Verification
Engine tested · Source checked · v1.2.1 · CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance · all published modes· View Manifest · CVP overview · Specification
Versions
Calculation 1.2.1 · CVP protocol 1.0.0-proposed · Evidence 2026-10-09.dft-complete-json-mobile
Verification revision
2026-10-09.dft-complete-json-mobile · 1/1 property · digest 803f88691f89
Legacy regression
17/17 tests · Production surface contract 5/5
Trust layers
Verification VERIFIED · Production CURRENT · Overall CVP state: VERIFIED under CVP 1.0.0-proposed
Reference
O1 model · O2 expected_values · O2 numerical_behavior
Interfaces
PASS · UI (SSR) / REST / MCP — ui-ssr is query-result HTML, not a live browser session. Error-path engine·REST·MCP 2/2 (status, code, calculation_version). SSR compared on URL-canonical requested calculations; empty query is idle (not an error) and JSON-typed object/array inputs are REST/MCP-only.
Supplemental domain review
Not performed
Named expert review
Not performed
CVP suite
13/13 golden · 3/3 CVP boundary · 10/10 invalid · 1/1 property · 7/7 cross-interface · 5/5 CVP contract · Manifest
Sources
Sources
Evidence
6 legacy golden · 3 legacy boundary · legacy regression suite · 13/13 oracle-backed golden · 10/10 invalid · Artifact integrity PASS
This calculator CURRENT · Public schema 1.2.1 matches · Semantic contract ✓ · Production attested · Public/cache ✓ · Origin ✓
Semantic contract
PASS
Full verification

Manifest identity, reference classes, interfaces, suite, and production records.

Formulas

Core equations used by this calculator.

Forward DFTX[k] = Σ_n x[n] e^{−2πi kn/N}
Inverse DFTx[n] = (1/N) Σ_k X[k] e^{2πi kn/N}
iNumpy backward: scale 1 on the forward transform, 1/N on the inverse. The impulse 1,0,0,0 has DFT/FFT 1,1,1,1. DC 1,1,1,1 has X[0]=N. FFT requires N=2^k. Not Laplace.

How to use

1

Choose DFT, IDFT, FFT, or IFFT

Enter a real list (optional im of the same length). N must be 1–64. FFT/IFFT also require N=2^k.

2

Read X[k] or x[n]

Impulse → all ones. DC → N at bin 0. Round-trip recovers the samples. The stem figure shows |X[k]| (forward) or |x[n]| (inverse), marker at index 0.

Example calculations

Common configurations with formula and result.

ϟ

Impulse

samples = 1,0,0,0

X = [1, 1, 1, 1]
1
ϟ

DC

samples = 1,1,1,1

X = [4, 0, 0, 0]
4
ϟ

Inverse DC

mode=idft, samples = 4,0,0,0

x = [1, 1, 1, 1]
1

Discrete Fourier Transform calculator specification

Version 1.2.1 · Engine tested

Calculation status

Review policy · Evidence

Definition
The unnormalized DFT is X[k]=Σ_n x[n] e^{−2πi kn/N}. The inverse (Numpy backward) is x[n]=(1/N) Σ_k X[k] e^{2πi kn/N}. Direct O(N²) for any N≤64; radix-2 Cooley–Tukey when N=2^k. Discovery /dft, /inverse-dft, /fft, /ifft. Not Laplace. Not Z. Not CAS.
What it calculates
Direct DFT / IDFT and radix-2 FFT / IFFT of a length-N sequence, N≤64, with an engine-linked stem figure of |X[k]| or |x[n]|.
Inputs
  • mode
  • samples
  • im?
Outputs
  • n
  • re
  • im
  • mag
  • algorithm
  • normalization
Formula
X[k]=Σ x[n] e^{−2πi kn/N}; x[n]=(1/N) Σ X[k] e^{2πi kn/N}
Assumptions
  • Direct O(N²) DFT/IDFT; radix-2 FFT/IFFT
  • Numpy backward normalization
  • N ≤ 64; FFT N = 2^k
  • The Result Card includes an engine-linked stem figure of |X[k]| (forward) or |x[n]| (inverse); marker is index 0. Same mag as REST/MCP.
  • Not Laplace / Z
  • Not CAS
Units
  • dimensionless
Boundary conditions
  • empty samples → INVALID_INPUT
  • N > 64 → INVALID_INPUT
  • im length mismatch → INVALID_INPUT
  • N not a power of 2 on FFT → INVALID_INPUT
  • unknown mode (including laplace, cas) → INVALID_MODE
Example
mode=dft samples=1,0,0,0 → X=[1,1,1,1]
Validation cases

3 published on this page · 17/17 tests · Production surface contract 5/5 · View evidence

  • mode=dft samples=1,0,0,0 → re=[1,1,1,1]
  • mode=dft samples=1,1,1,1 → re=[4,0,0,0]
  • mode=fft samples=1,0,0,0 → re=[1,1,1,1]
Sources
  • ISO 80000-2:2019 Quantities and units — Mathematics
    Supports: Mathematical symbols and notation. This standard is not numerical verification or an endorsement of this implementation.
  • Oppenheim & Schafer, Discrete-Time Signal Processing — DFT / radix-2 FFT, Numpy backward normalization
    Supports: X[k]=Σ x[n] e^{−2πi kn/N}; inverse 1/N; radix-2 Cooley–Tukey when N=2^k
  • NumPy — Discrete Fourier Transform
    Supports: DFT and inverse-DFT definitions, frequency ordering, and backward normalization; does not establish this implementation’s accuracy.
Calculation version
1.2.1

Background

Interpretation and common distinctions.

What does this discrete fourier transform calculator compute?

The unnormalized DFT is X[k]=Σ_n x[n] e^{−2πi kn/N}. The inverse (Numpy backward) is x[n]=(1/N) Σ_k X[k] e^{2πi kn/N}. Direct O(N²) for any N≤64; radix-2 Cooley–Tukey when N=2^k.

The published formula or method is X[k]=Σ x[n] e^{−2πi kn/N}; x[n]=(1/N) Σ X[k] e^{2πi kn/N}. The following references support the stated mathematics or method:

Which inputs and limits should you check?

Retain the full complex sequence and distinguish the unnormalized forward transform from the 1/N inverse normalization. FFT presets also impose the stated sequence-length restrictions.

The worked example uses samples = 1,0,0,0 with X = [1, 1, 1, 1]. Compare it with the Example calculations and the complete result for the same inputs.

How can you verify and cite this result?

CalculatorX is responsible for this page. The mathematical references above explain the model; implementation checks and their scope are documented separately in the math.transform.dft v1.2.1 Evidence and capability contract. Read the displayed verification and production state together with the specification's numerical limits.

Use the clean calculator URL to cite the tool. A shared input link identifies a particular calculation. Content updates, numerical verification, and domain reviews have separate dates and scopes.

Frequently asked questions

Key distinctions behind the calculation.

Is this an FFT?

FFT is a mode on this engine (radix-2 Cooley–Tukey, N=2^k). Direct DFT is still O(N²) for arbitrary N≤64. Discovery /fft and /ifft. Not a second engine. Not CAS.

Is this Laplace or Z?

No. Laplace and Z are later canonicals, not modes here. Not CAS.

Where does this run?

Locally in the browser by default. REST and MCP call the same discrete-fourier-transform engine.