# Discrete-time Fourier transform The **discrete-time Fourier transform** (DTFT) is the [[Fourier_analysis|Fourier]] representation of a sequence. For samples x[n] it is `X(ω) = Σ_{n=−∞}^{∞} x[n] e^{−jωn}`, a complex-valued function of the continuous frequency ω, measured in radians per sample, that repeats every 2π. It is the form the [[Fourier_transform]] takes when a [[Signal|signal]] exists only at integer instants, and when the sequence consists of samples of a continuous signal taken fs times per second, the DTFT is the periodic summation of that signal's spectrum, copies of it spaced fs apart.[^tm110] The whole of [[Sampling_(signal_processing)|sampling]] theory follows from that one statement: the copies do not overlap when fs exceeds twice the highest frequency present, and the [[Nyquist_frequency|Nyquist frequency]] fs/2 sits at ω = π, the edge of one period. Because it is continuous in frequency the DTFT cannot be stored or plotted exactly; what a computer evaluates is the [[Discrete_Fourier_transform|discrete Fourier transform]] (DFT), N equally spaced samples of one period of the DTFT of a finite record, usually by a [[Fast_Fourier_transform|fast Fourier transform]]. The DTFT is also the [[Z-transform]] evaluated on the unit circle, and it is the language in which the [[Frequency_response|frequency response]] of a [[Digital_filter|digital filter]] is written. The primary microsim on this page, *Discrete-time Fourier transform*, builds a record of L samples from sine components, evaluates its DTFT densely across one period from 0 to 2π and plots the magnitude and the phase, while a highlighted-frequency slider draws the basis sinusoid cos(ω₀n) against the samples, shades their products and prints |X(ω₀)|; the reader changes the record length and watches the peaks sharpen and the leakage between them move. ## Relation to Fourier transform Sampling a continuous signal x(t) every Δt = 1/fs seconds can be modelled as multiplying it by an impulse train, `x_s(t) = x(t) Δt Σ_n δ(t − nΔt)`, and the [[Fourier_transform]] of the product is the periodic summation `X_s(f) = Σ_k X(f − k fs)`.[^tm108] Written out, the transform of the impulse-sampled signal is `Δt Σ_n x(nΔt) e^{−j2πf nΔt}`, which is the DTFT of the sample sequence with ω = 2πf/fs, so the DTFT of the samples is the spectrum of the original signal repeated every fs. The period is fs in hertz and 2π in radians per sample; the digital frequency ω̂ = ωΔt is confined to [−π, π] and f̂ = f/fs to [−1/2, 1/2].[^sc71] The sampling theorem is the condition that the copies do not overlap: fs > 2f_h for a signal whose spectrum vanishes above f_h, or fs ≥ 2f_h when the spectrum is already zero at f_h itself.[^tm111] An 11 Hz cosine sampled at 30 Hz has copies at 19, 41, 49 and 71 Hz and is recovered perfectly by a low-pass filter; sampled at 10 Hz it is indistinguishable from a 1 Hz cosine.[^tm112] At a 1,000 Hz sample rate a 700 Hz tone appears at 300 Hz, a 1,200 Hz tone at 200 Hz and a 3,400 Hz tone at 400 Hz.[^dd50] The apparent frequencies of a sampled phasor are ±ω₀ + kωs for every integer k, and a discrete-time frequency is unique only within half a cycle per sample.[^sc56][^j25] A textbook that models the impulse train without the Δt factor writes the periodic summation with a leading 1/Δt instead; the conventions differ by that constant alone.[^dd47] The [[Nyquist–Shannon_sampling_theorem|sampling theorem]] is visible inside the sketch. Its three component sliders are labelled 0.4π, π and 1.6π radians per sample, and on the 0 to 2π axis a component at 1.6π is the same sequence as one at 1.6π − 2π = −0.4π, so the third slider adds no new peak: since sin(−0.4πn) = −sin(0.4πn), raising a₃ lowers both peaks that a₁ raised, and at a₃ = a₁ the record vanishes and the readout falls to |X(ω₀)| = 0.00. The middle slider does nothing at all, because sin(πn) is zero at every integer n: a sine at exactly the Nyquist frequency is sampled at its zero crossings. The two peaks the sketch does show, near 0.4π and near 1.6π, are the positive- and negative-frequency lines of one real sinusoid, the second copy that the periodic summation predicts. ## Inverse transform One period of the DTFT holds all the information in the sequence, and the inverse is an integral over that period: `x[n] = (1/2π) ∫_{−π}^{π} X(ω) e^{jωn} dω`. The sketch's basis panel shows the forward half of this pairing as an inner product, the samples x[n] multiplied point by point by cos(ω₀n) and the shaded products summed to give the real part of X(ω₀); the inverse is the same operation read the other way, each sample being the average over one period of X(ω) e^{jωn}. Recovering the continuous signal rather than the sequence needs one further step, the removal of every spectral copy but the central one. An ideal low-pass filter of gain one below fs/2, `H_r(f) = Π(f/fs)`, has the impulse response `h_r(t) = fs sinc(fs t)`, and passing the impulse-sampled signal through it gives the [[Whittaker–Shannon_interpolation_formula|interpolation formula]] `x_r(t) = Σ_n x(nΔt) sinc((t − nΔt)/Δt)`, which passes through every sample and, when the sampling theorem holds, reproduces x(t) everywhere.[^tm116] It is non-causal, since every sinc extends to both sides of its sample, so no real-time system can implement it.[^tm116] A [[Zero-order_hold|zero-order hold]], the staircase a converter produces, has instead the response `sinc(Δt f) e^{−jπfΔt}`, a half-sample delay with a gentle roll-off that leaves scallops of the neighbouring copies at multiples of fs even when the sampling theorem is satisfied.[^tm119] The distinction matters when the theorem is violated: sinc²(t), whose spectrum reaches 1 Hz, sampled at 1.5 Hz reconstructs as `(3/4) sinc(1.5t) + (1/4) sinc²(0.5t)`, a different function.[^tm119] A 1 Hz cosine of amplitude 2 through a hold at 3 samples per second is a blocky stair, and at 10 samples per second is recognisably a cosine.[^tm123] ## Periodic data When a sequence repeats with period N, x[n + N] = x[n], its DTFT collapses to lines. The sequence is a [[Fourier_series]] of N complex exponentials, `x[n] = Σ_{k=0}^{N−1} c_k e^{j2πkn/N}`, whose coefficients are the DFT of one period divided by N, and the DTFT is a train of [[Dirac_delta_function|Dirac impulses]] of weight 2πc_k at ω = 2πk/N, repeated every 2π. The finite record of a computer is never periodic in this sense, so the DTFT of the record is those lines convolved with the transform of the record's window, which gives each line a width and side lobes. Whether sampled data is periodic at all depends on the ratio of signal frequency to sample rate. A 0.8 Hz cosine sampled at 8 Hz repeats every 10 samples, a 1.12 Hz cosine after 50 samples, and a √2 Hz cosine never repeats, because √2/8 is irrational.[^tm130] The sketch's surviving component at 0.4π has a period of 5 samples, and this decides what its readout shows. A record of L = 20 samples holds exactly four periods, and with ω₀ moved to 1.26 rad, the nearest slider position to 0.4π, the readout gives |X(ω₀)| = 5.99, the amplitude 0.6 times L/2 within the resolution of the sketch's frequency grid. A record of L = 16 samples cuts the fourth period short; the same readout gives 4.49, and the magnitude panel shows the side lobes of a truncated tone on both sides of the peak. Lengthening the record to L = 48 raises the readout to 14.14 and narrows every lobe, since the width of a line in the DTFT of a finite record is set by the record length alone. ## Sampling the DTFT The DFT of an N-sample record is the DTFT of that record sampled at ω_k = 2πk/N, or f_k = k fs/N; the bin spacing is fs/N = 1/T, the reciprocal of the record duration T.[^tm129] Bins N − k and k are complex conjugates for a real record, bin 0 is the record's average scaled by T, and bin N/2 is the Nyquist bin.[^tm134] Sampling in frequency has the same consequence as sampling in time: the inverse DFT of N samples of the DTFT returns not the sequence but its periodic summation with period N, which equals the sequence only when the sequence fits inside N samples. For a longer sequence the wrap-around is the [[Aliasing|aliasing]] of the time domain. Sampling the DTFT more finely reveals more of its shape but no new information. A 3 Hz cosine sampled at 10 Hz for 2 s gives N = 20 samples and a spacing of 0.5 Hz, so it falls exactly on bin 6 and every other bin is zero; a 20 Hz cosine over 2 s and a 10 Hz cosine over 4 s both give N = 40 but spacings of 0.5 and 0.25 Hz, since the duration and not the count sets the spacing.[^tm139] A 4 Hz cosine observed for 1 s at 64 samples per second occupies a single bin of magnitude 0.5 in the textbook's Δt-scaled convention, while a 4.5 Hz cosine spreads across many bins.[^tm143] Padding a 4 s record with zeros to 10 s changes N from 12 to 30 and the spacing from 1/4 Hz to 1/10 Hz, drawing the same DTFT at more points.[^tm145] The sketch's "continuous" curves are exactly this: 512 samples of the DTFT of a record at most 48 samples long, a zero-padded DFT drawn as a line. Because 512 is a multiple of 16, the curve for the default L = 16 passes through the frequencies of a 16-point DFT, ω = 2πk/16, and the readout can be parked on them: at ω₀ = 1.18 rad, the third bin, |X(ω₀)| is 4.30, and at 1.57 rad, the fourth bin, it is 1.31, the tone at 0.4π = 1.257 rad having leaked into both because it lies at k = 3.2. At L = 20 the fourth bin of a 20-point DFT sits exactly on the tone and every other bin on a zero of the lobe pattern, the single clean line of a sinusoid that completes whole cycles. ## Convolution The DTFT turns the [[Convolution|convolution]] of two sequences into the product of their transforms: `Σ_m x[m] h[n − m]` has the transform X(ω)H(ω). For a [[Linear_time-invariant_system|linear time-invariant]] system with [[Impulse_response|impulse response]] h[n] this is the whole theory of digital filtering, since the output spectrum is the input spectrum multiplied by the frequency response H(ω), the DTFT of the impulse response.[^sc74] A [[Finite_impulse_response|finite impulse response]] filter `y[n] = Σ_k b_k x[n − k]` has `H(ω) = Σ_k b_k e^{−jωk}`; the one-tap echo `y = x + b₁x[n − m]` has magnitude `√(1 + b₁² + 2b₁ cos(ωm))`, with maxima where ωm is an even multiple of π and notches at odd multiples, so a 167 µs delay places maxima at 0, 6 and 12 kHz and notches at 3, 9 and 15 kHz.[^sc69] The filter `y[n] = x[n] + x[n − 2]` has |H| = 2|cos ω| and a zero at ω = π/2, which at a 100 Hz sample rate removes a 25 Hz tone from a 5 Hz plus 25 Hz input.[^sc79] The dual statement is that multiplication in time becomes convolution in frequency, taken around one period: the transform of x[n]w[n] is `(1/2π) ∫ X(θ) W(ω − θ) dθ`. Every finite record is such a product, of the underlying sequence with a rectangular [[Window_function|window]] of L samples, whose DTFT is the Dirichlet kernel `e^{−jω(L−1)/2} sin(ωL/2)/sin(ω/2)`, with zeros 2π/L apart and a main lobe 4π/L wide. Its continuous-time counterpart is `W(f) = T sinc(Tf)`, with zeros at multiples of 1/T; two tones closer than about 1/T merge into one peak, and a tone of a quarter the amplitude of a neighbour 1/T away is masked by that neighbour's side lobes.[^tm96] A Hann window has a main lobe twice as wide and much lower side lobes.[^tm101] The side lobes on both flanks of the sketch's peaks, with zeros 2π/16 = 0.39 rad apart at the default length, are the Dirichlet kernel carried onto each spectral line of the sinusoid, [[Spectral_leakage|leakage]] seen at the resolution of the DTFT rather than of the DFT. ## Relationship to the Z-transform The [[Z-transform]] of a sequence is `X(z) = Σ_n x[n] z^{−n}` for complex z, and the DTFT is its value on the unit circle, `X(ω) = X(z)` at `z = e^{jω}`.[^sc74] One circuit of the circle is one period of the DTFT, which is why the transform repeats every 2π, and the DTFT exists as an ordinary function only when the region of convergence of the z-transform includes the circle. For a filter the substitution is what turns a [[Transfer_function|transfer function]] into a frequency response: an FIR filter `H(z) = Σ_k b_k z^{−k}` is a polynomial in z⁻¹ whose zeros are its roots, and |H(ω)| is the product of the distances from the point e^{jω} to those zeros, `|(z − z₁)(z − z₂)|` for a two-tap filter, so a zero on the circle is a perfect notch and a zero at radius 0.9 a shallow one.[^sc76] The textbook's figures place conjugate zeros at radius 0.9 and angles ±π/2 and ±5π/6 and read the response off the geometry.[^sc78] A [[Pole–zero_plot|pole–zero plot]] of an [[Infinite_impulse_response|infinite impulse response]] filter is read the same way, poles inside the circle raising the response near them. The [[Laplace_transform]] of the continuous signal is related by z = e^{sΔt}, which maps each horizontal strip of the s-plane of height 2π/Δt onto the whole z-plane, the periodicity of the DTFT seen from the continuous side. ## Table of discrete-time Fourier transforms The transforms below are given for one period, −π ≤ ω < π, and repeat with period 2π; δ[n] is the unit sample, δ(ω) the Dirac impulse, u[n] the unit step and m an integer. | x[n] | X(ω) | |---|---| | `δ[n]` | `1` | | `δ[n − m]` | `e^{−jωm}` | | `1` | `2π δ(ω)` | | `e^{jω₀n}` | `2π δ(ω − ω₀)` | | `cos(ω₀n)` | `π[δ(ω − ω₀) + δ(ω + ω₀)]` | | `sin(ω₀n)` | `(π/j)[δ(ω − ω₀) − δ(ω + ω₀)]` | | `aⁿ u[n]`, |a| < 1 | `1/(1 − a e^{−jω})` | | rectangle, 1 for 0 ≤ n < L | `e^{−jω(L−1)/2} sin(ωL/2)/sin(ω/2)` | | `(ω_c/π) sinc(ω_c n/π)` | rectangle, 1 for |ω| < ω_c | The sketch's signal is the sine row multiplied by the rectangle row, so its DTFT is the pair of impulses at ±ω₀ convolved with the Dirichlet kernel: two lobes of height aL/2, one at 0.4π and one at −0.4π, which on the sketch's 0 to 2π axis appears at 1.6π. For the default amplitude 0.6 the lobe height is 4.5 at L = 15 and 6 at L = 20, the two lengths that hold whole periods, and the readout at ω₀ = 1.26 rad gives 4.49 and 5.99, a little below the ideal because the frequency grid does not land exactly on 0.4π. The rectangle row is also the DTFT of a moving-average filter, and the last row is the ideal low-pass filter, whose impulse response is infinitely long in both directions and so is realisable only approximately. ## Properties The properties follow from the definition and mirror those of the continuous transform, with the one addition that everything is periodic in ω. | Property | Sequence | Transform | |---|---|---| | Linearity | `a x[n] + b y[n]` | `a X(ω) + b Y(ω)` | | Periodicity | `x[n]` | `X(ω + 2π) = X(ω)` | | Time shift | `x[n − m]` | `e^{−jωm} X(ω)` | | Modulation | `e^{jω₀n} x[n]` | `X(ω − ω₀)` | | Time reversal | `x[−n]` | `X(−ω)` | | Conjugation | `x*[n]` | `X*(−ω)` | | Real sequence | `x[n]` real | `X(−ω) = X*(ω)` | | Convolution | `Σ_m x[m] h[n − m]` | `X(ω) H(ω)` | | Multiplication | `x[n] w[n]` | `(1/2π) ∫ X(θ) W(ω − θ) dθ` | | Parseval | `Σ_n |x[n]|²` | `(1/2π) ∫ |X(ω)|² dω` | | Frequency differentiation | `n x[n]` | `j dX/dω` | The conjugate symmetry of a real sequence is the property the sketch displays most plainly. Its magnitude panel is mirror-symmetric about ω = π, because |X(2π − ω)| = |X(−ω)| = |X(ω)|, and its phase panel is antisymmetric: at the default settings the readout at ω₀ = 1.00 rad is |X| = 2.23 with phase 0.40 rad, and at ω₀ = 5.29 rad, the mirror position 2π − 1.00, it is 2.23 with phase −0.40 rad. The same symmetry is why a spectrum analyser shows only 0 to fs/2, and why the DFT of a real record has only N/2 + 1 independent bins.[^tm134] Parseval's relation, with the Δt convention, becomes the statement that the energy of a windowed record equals the integral of its power spectrum over one period, and the power of a cosine of amplitude A windowed over T seconds is A²/2 whatever the window length.[^tm100] ## Microsims The *Discrete-time Fourier transform* sketch draws four panels. The top panel plots the record x[n] as stems, built from `a₁ sin(0.4πn) + a₂ sin(πn) + a₃ sin(1.6πn)` for n from 0 to L − 1, with the sliders *Signal length* (L from 4 to 48 samples, default 16), *Harmonic 1 (ω=0.4π)*, *Harmonic 2 (ω=π)* and *Harmonic 3 (ω=1.6π)* (each 0 to 100, read as hundredths of unit amplitude, defaults 80, 40 and 20). The second panel draws cos(ω₀n) at the frequency set by *Highlighted freq* (ω₀ from 0 to 6.28 rad, default 1.00), shades the products x[n]cos(ω₀n) as bars and prints |X(ω₀)|, 2.23 at the defaults. The lower panels plot |X(ω)| and the phase ∠X(ω) as continuous curves over 0 to 2π, evaluated at 512 points and with the highlighted frequency marked; the HUD repeats L, ω₀, the three amplitudes and |X(ω₀)|, and the equation `X(ω) = Σ x[n]·e^{−jωn}`. Two of the components are ILLUSTRATIVE in an unplanned way: sin(πn) is zero at every integer n, so the second slider has no effect, and sin(1.6πn) = −sin(0.4πn), so the third slider subtracts from the first, which is itself the lesson of the 2π periodicity. A three.js companion on this page renders the periodic spectrum of a sampled signal in depth, with one period highlighted. *Try:* Move *Highlighted freq* to 1.26 rad, the top of the left peak, and read |X(ω₀)| = 4.49 at the default L = 16; then set *Signal length* to 20, where the record holds exactly four periods of the 5-sample sinusoid, and watch the side lobes vanish as the readout rises to 5.99. Then raise *Harmonic 3* to 80, equal to *Harmonic 1*, and watch both peaks disappear together. ## Wikipedia : Wikitube **Strict pair:** [Wikipedia](https://en.wikipedia.org/wiki/Discrete-time_Fourier_transform) : [Wikitube](https://en.wikitube.io/wiki/Discrete-time_Fourier_transform) Skeleton mirrored at revision 1368863878. Prose, emphasis and the microsims are Wikitube's own. ## See also - [[Discrete_Fourier_transform]] - [[Z-transform]] - [[Sampling_(signal_processing)]] - [[Nyquist_frequency]] - [[Fourier_transform]] - [[Fast_Fourier_transform]] - [[Aliasing]] - [[Window_function]] - [[Spectral_leakage]] - [[PORTAL_Signal_Processing]] ## Notes The sketch is ILLUSTRATIVE in two respects. It evaluates the DTFT of a finite record at 512 points, so its "continuous" curves are a zero-padded DFT, and it uses the unscaled sum without the Δt factor of the textbook convention, so its magnitudes are L/2 times the amplitude of an on-grid sinusoid rather than T/2 times it. Of its three components only the first produces an independent spectral line; the second is identically zero at integer n and the third is the alias of the first. ## Page citations Page numbers in the references are PDF pages of the open editions listed under Further reading. ## References [^tm108]: Tiberius, C.; Mulder, M. *Engineering Signal Analysis: From Fourier to filtering: Theory*. 2026, pp. 108–110 (PDF pages): the impulse-train sampling model with the Δt factor, Eqs. 9.2–9.3, and the periodic summation X_s(f) = Σ_k X(f − k fs), Eq. 9.10. Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/engineering-signal-analysis-from-fourier-to-filtering-theory . CC BY. [^tm110]: Tiberius, C.; Mulder, M. *Engineering Signal Analysis: From Fourier to filtering: Theory*. 2026, p. 110 (PDF page): the spectrum of a sampled signal as the periodic summation of the original spectrum with period fs. Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/engineering-signal-analysis-from-fourier-to-filtering-theory . CC BY. [^tm111]: Tiberius, C.; Mulder, M. *Engineering Signal Analysis: From Fourier to filtering: Theory*. 2026, pp. 111–113 (PDF pages): the sampling theorem, fs > 2f_h, or fs ≥ 2f_h when X(f_h) = 0, Eqs. 9.11–9.14. Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/engineering-signal-analysis-from-fourier-to-filtering-theory . CC BY. [^tm112]: Tiberius, C.; Mulder, M. *Engineering Signal Analysis: From Fourier to filtering: Theory*. 2026, pp. 112–115 (PDF pages): an 11 Hz cosine sampled at 30 Hz, with copies at 19, 41, 49 and 71 Hz and perfect reconstruction, and the same cosine sampled at 10 Hz aliasing to 1 Hz. Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/engineering-signal-analysis-from-fourier-to-filtering-theory . CC BY. [^tm116]: Tiberius, C.; Mulder, M. *Engineering Signal Analysis: From Fourier to filtering: Theory*. 2026, pp. 116–119 (PDF pages): the ideal reconstruction filter Π(f/fs), its impulse response fs sinc(fs t), the sinc interpolation formula, Eqs. 10.2–10.6, and its non-causality. Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/engineering-signal-analysis-from-fourier-to-filtering-theory . CC BY. [^tm119]: Tiberius, C.; Mulder, M. *Engineering Signal Analysis: From Fourier to filtering: Theory*. 2026, pp. 119–122 (PDF pages): the zero-order hold, its response sinc(Δt f) e^{−j2πfΔt/2} and the spectral scallops at multiples of fs, Eqs. 10.11–10.13, and Example 10.1, sinc²(t) sampled at 1.5 Hz reconstructing as (3/4) sinc(1.5t) + (1/4) sinc²(0.5t). Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/engineering-signal-analysis-from-fourier-to-filtering-theory . CC BY. [^tm123]: Tiberius, C.; Mulder, M. *Engineering Signal Analysis: From Fourier to filtering: Theory*. 2026, pp. 123–125 (PDF pages): Example 10.2, 2cos(2πt) through a zero-order hold at 3 Hz and at 10 Hz. Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/engineering-signal-analysis-from-fourier-to-filtering-theory . CC BY. [^tm129]: Tiberius, C.; Mulder, M. *Engineering Signal Analysis: From Fourier to filtering: Theory*. 2026, pp. 129–133 (PDF pages): the DFT as samples of the transform of the windowed record, the bin spacing fs/N = 1/T, Eqs. 12.2 and 12.9, and the Δt-scaled transform pair, Eqs. 12.5–12.6. Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/engineering-signal-analysis-from-fourier-to-filtering-theory . CC BY. [^tm130]: Tiberius, C.; Mulder, M. *Engineering Signal Analysis: From Fourier to filtering: Theory*. 2026, pp. 130–131 (PDF pages): Example 11.1, a 0.8 Hz cosine sampled at 8 Hz repeating every 10 samples, a √2 Hz cosine never repeating, and 1.12 Hz repeating after 50 samples. Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/engineering-signal-analysis-from-fourier-to-filtering-theory . CC BY. [^tm134]: Tiberius, C.; Mulder, M. *Engineering Signal Analysis: From Fourier to filtering: Theory*. 2026, pp. 134–138 (PDF pages): the layout of the DFT coefficients, X_{N−k} = X_k*, X_0 as T times the average, and the Nyquist bin. Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/engineering-signal-analysis-from-fourier-to-filtering-theory . CC BY. [^tm139]: Tiberius, C.; Mulder, M. *Engineering Signal Analysis: From Fourier to filtering: Theory*. 2026, pp. 139–142 (PDF pages): Examples 12.3 and 12.4, the 3 Hz cosine at 10 Hz for 2 s on bin 6 and the two 40-sample records with spacings of 0.5 and 0.25 Hz. Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/engineering-signal-analysis-from-fourier-to-filtering-theory . CC BY. [^tm143]: Tiberius, C.; Mulder, M. *Engineering Signal Analysis: From Fourier to filtering: Theory*. 2026, pp. 143–144 (PDF pages): Example 12.5, a 4 Hz cosine at 64 samples per second for 1 s in a single bin of magnitude 0.5 and a 4.5 Hz cosine leaking across many bins. Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/engineering-signal-analysis-from-fourier-to-filtering-theory . CC BY. [^tm145]: Tiberius, C.; Mulder, M. *Engineering Signal Analysis: From Fourier to filtering: Theory*. 2026, pp. 133–135 and 144–146 (PDF pages): Example 12.1, sinc² sampled at 3 Hz for 4 s giving N = 12 and Δf = 1/4 Hz, and Example 12.6, zero-padding the record to 10 s giving N = 30 and Δf = 1/10 Hz with no added information. Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/engineering-signal-analysis-from-fourier-to-filtering-theory . CC BY. [^tm96]: Tiberius, C.; Mulder, M. *Engineering Signal Analysis: From Fourier to filtering: Theory*. 2026, pp. 96–100 (PDF pages): the rectangular window transform T sinc(Tf) with zeros at k/T, two-tone resolution at separations of 1/T to 5/(2T), and the masking of a tone of relative amplitude 0.25. Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/engineering-signal-analysis-from-fourier-to-filtering-theory . CC BY. [^tm100]: Tiberius, C.; Mulder, M. *Engineering Signal Analysis: From Fourier to filtering: Theory*. 2026, pp. 100–101 (PDF pages): every windowed signal as an energy signal with P = E/T, and the energy (A²/2)T and power A²/2 of a cosine windowed over T. Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/engineering-signal-analysis-from-fourier-to-filtering-theory . CC BY. [^tm101]: Tiberius, C.; Mulder, M. *Engineering Signal Analysis: From Fourier to filtering: Theory*. 2026, pp. 101–102 (PDF pages): the Hann window and its transform, Eqs. 8.5–8.6, with a main lobe twice as wide and lower side lobes. Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/engineering-signal-analysis-from-fourier-to-filtering-theory . CC BY. [^sc56]: Stiber, M.; Stiber, B.; Larson, E. *Signal Computing: Digital Signals in the Software Domain*. 2020, pp. 56–57 (PDF pages): the digital frequency ω̂ = ω₀Ts confined to [−π, π] and the apparent frequencies ±ω₀ + kωs of a sampled phasor. Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/signal-computing-digital-signals-in-the-software-domain . CC BY-SA. [^sc69]: Stiber, M.; Stiber, B.; Larson, E. *Signal Computing: Digital Signals in the Software Domain*. 2020, pp. 69–70 (PDF pages): the one-delay filter H = 1 + b₁e^{−jωτ}, its magnitude √(1 + b₁² + 2b₁cos ωτ), and the maxima at 0, 6 and 12 kHz and notches at 3, 9 and 15 kHz for τ = 167 µs. Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/signal-computing-digital-signals-in-the-software-domain . CC BY-SA. [^sc71]: Stiber, M.; Stiber, B.; Larson, E. *Signal Computing: Digital Signals in the Software Domain*. 2020, p. 71 (PDF page): digital frequency ω̂ = ωTs in [−π, π] and f̂ = f/fs in [−1/2, 1/2]. Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/signal-computing-digital-signals-in-the-software-domain . CC BY-SA. [^sc74]: Stiber, M.; Stiber, B.; Larson, E. *Signal Computing: Digital Signals in the Software Domain*. 2020, pp. 72–74 (PDF pages): the FIR filter y[n] = Σ b_k x[n − k], its transfer function H(z) = Σ b_k z^{−k}, and the frequency response as H(z) evaluated at z = e^{jω̂}, Eqs. 3-20, 3-28 and 3-31. Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/signal-computing-digital-signals-in-the-software-domain . CC BY-SA. [^sc76]: Stiber, M.; Stiber, B.; Larson, E. *Signal Computing: Digital Signals in the Software Domain*. 2020, pp. 76–77 (PDF pages): |H| = |z − b₁| for a one-zero filter and |H| = |(z − z₁)(z − z₂)| on the unit circle for two zeros, Eqs. 3-38 to 3-42. Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/signal-computing-digital-signals-in-the-software-domain . CC BY-SA. [^sc78]: Stiber, M.; Stiber, B.; Larson, E. *Signal Computing: Digital Signals in the Software Domain*. 2020, p. 78 (PDF page): z-plane figures with zeros at radius 0.9 and angles ±π/2 and ±5π/6. Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/signal-computing-digital-signals-in-the-software-domain . CC BY-SA. [^sc79]: Stiber, M.; Stiber, B.; Larson, E. *Signal Computing: Digital Signals in the Software Domain*. 2020, pp. 79–84 (PDF pages): the filter with b₁ = 0, b₂ = 1, |H| = 2|cos ω̂| with zeros at e^{±jπ/2}, Eqs. 3-50 and 3-51, and y[n] = x[n] + x[n − 2] at 100 Hz removing the 25 Hz component of a 5 Hz plus 25 Hz input. Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/signal-computing-digital-signals-in-the-software-domain . CC BY-SA. [^dd47]: Dyer, J.; Davis, C. *Measurement and Instrumentation: An Introduction to Concepts and Methods*. 2020, pp. 47–48 (PDF pages): the sampled spectrum written with an unscaled impulse train as (1/Ts) Σ X(j(ω − kωs)). Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/measurement-and-instrumentation-an-introduction-to-concepts-and-methods . CC BY-NC-SA. [^dd50]: Dyer, J.; Davis, C. *Measurement and Instrumentation: An Introduction to Concepts and Methods*. 2020, pp. 49–50 (PDF pages): the alias-frequency algorithm and its cases at fs = 1,000 Hz, 700 Hz appearing at 300 Hz, 1,200 Hz at 200 Hz and 3,400 Hz at 400 Hz. Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/measurement-and-instrumentation-an-introduction-to-concepts-and-methods . CC BY-NC-SA. [^j25]: Johnson, D. *Fundamentals of Electrical Engineering I*. 2014, pp. 25–26 (PDF pages): discrete-time frequency is unique only for f between −1/2 and 1/2 cycle per sample, Eq. 2.27. Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/fundamentals-of-electrical-engineering-1 . CC BY. ## Further reading - Christian Tiberius; Max Mulder. *Engineering Signal Analysis: From Fourier to filtering: Theory*. 2026. CC BY. Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/engineering-signal-analysis-from-fourier-to-filtering-theory - Michael Stiber; Bilin Stiber; Eric Larson. *Signal Computing: Digital Signals in the Software Domain*. 2020. CC BY-SA. Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/signal-computing-digital-signals-in-the-software-domain - Don Johnson. *Fundamentals of Electrical Engineering I*. 2014. CC BY. Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/fundamentals-of-electrical-engineering-1 - John Dyer; Chad Davis. *Measurement and Instrumentation: An Introduction to Concepts and Methods*. 2020. CC BY-NC-SA. Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/measurement-and-instrumentation-an-introduction-to-concepts-and-methods - Discrete-time Fourier transform, live p5.js sketch: https://editor.p5js.org/sciencenibber/full/WSFkgn7YM - Discrete-time Fourier transform, fork the sketch in the p5.js editor: https://editor.p5js.org/sciencenibber/sketches/WSFkgn7YM <!-- Hubs: Signal_processing. Portals: PORTAL_Signal_Processing. Signal Processing portal wave 1 · 2026-09-17 · drafted. -->