Hilbert transform

Uses your system voice; voice and rate in settings.

Snapshot

≈ 23 min read

Names in other languages

No names in other languages are held for this entry yet.

Article bodies are English and are not machine-translated. A name in another language is not a translation of the article.

In mathematics and signal processing, the Hilbert transform is a specific singular integral that takes a function, of a real variable and produces another function of a real variable . The Hilbert transform is given by the Cauchy principal value of the convolution with the function 1/(\pi t) (see ). The Hilbert transform has a particularly simple representation in the frequency domain: It imparts a phase shift of ±90° ( /2 radians) to every frequency component of a function, the sign of the shift depending on the sign of the frequency (see ). The Hilbert transform is important in signal processing, where it is a component of the analytic representation of a real-valued signal . The Hilbert transform was first introduced by David Hilbert in this setting, to solve a special case of the Riemann–Hilbert problem for analytic functions.

In mathematics and signal processing, the Hilbert transform is a specific singular integral that takes a function, of a real variable and produces another function of a real variable . The Hilbert transform is given by the Cauchy principal value of the convolution with the function 1/(\pi t) (see ). The Hilbert transform has a particularly simple representation in the frequency domain: It imparts a phase shift of ±90° ( /2 radians) to every frequency component of a function, the sign of the shift depending on the sign of the frequency (see ). The Hilbert transform is important in signal processing, where it is a component of the analytic representation of a real-valued signal . The Hilbert transform was first introduced by David Hilbert in this setting, to solve a special case of the Riemann–Hilbert problem for analytic functions. \operatorname{H}(u)(t) = \frac{1}{\pi}\, \operatorname{p.v.} \int_{-\infty}^{+\infty} \frac{u(\tau)}{t - \tau}\,\mathrm{d}\tau, provided this integral exists as a principal value. This is precisely the convolution of with the tempered distribution . Alternatively, by changing variables, the principal-value integral can be written explicitly as \operatorname{H}(u)(t) = \frac{2}{\pi}\, \lim_{\varepsilon \to 0} \int_\varepsilon^\infty \frac{u(t - \tau) - u(t + \tau)}{2\tau} \,\mathrm{d}\tau. When the Hilbert transform is applied twice in succession to a function , the result is \operatorname{H}\bigl(\operatorname{H}(u)\bigr)(t) = -u(t), provided the integrals defining both iterations converge in a suitable sense. In particular, the inverse transform is -\operatorname{H} . This fact can most easily be seen by considering the effect of the Hilbert transform on the Fourier transform of (see below). For an analytic function in the upper half-plane, the Hilbert transform describes the relationship between the real part and the imaginary part of the boundary values. That is, if is analytic in the upper half complex plane {{math|1={z : Im{z} > 0} }}, and , then up to an additive constant, provided this Hilbert transform exists. ===Notation=== In signal processing the Hilbert transform of is commonly denoted by \hat{u}(t) . However, in mathematics, this notation is already extensively used to denote the Fourier transform of . Occasionally, the Hilbert transform may be denoted by \tilde{u}(t) . Furthermore, many sources define the Hilbert transform as the negative of the one defined here. \mathcal{F}\bigl(\operatorname{H}(u)\bigr)(\omega) = -i \sgn(\omega) \cdot \mathcal{F}(u)(\omega) , where \mathcal{F} denotes the Fourier transform. Since , it follows that this result applies to the three common definitions of \mathcal{F} . By Euler's formula, \sigma_\operatorname{H}(\omega) = \begin{cases} ~~i = e^{+i\pi/2} & \text{if } \omega 0 \end{cases} Therefore, has the effect of shifting the phase of the negative frequency components of by +90° (  radians) and the phase of the positive frequency components by −90°, and has the effect of restoring the positive frequency components while shifting the negative frequency ones an additional +90°, resulting in their negation (i.e., a multiplication by −1). When the Hilbert transform is applied twice, the phase of the negative and positive frequency components of are respectively shifted by +180° and −180°, which are equivalent amounts. The signal is negated; i.e., , because \left(\sigma_\operatorname{H}(\omega)\right)^2 = e^{\pm i\pi} = -1 \quad \text{for } \omega \neq 0 . ==Domain of definition== It is by no means obvious that the Hilbert transform is well-defined at all, as the improper integral defining it must converge in a suitable sense. However, the Hilbert transform is well-defined for a broad class of functions, namely those in L^p(\mathbb{R}) for . More precisely, if is in L^p(\mathbb{R}) for , then the limit defining the improper integral \operatorname{H}(u)(t) = \frac{2}{\pi} \lim_{\varepsilon \to 0} \int_\varepsilon^\infty \frac{u(t - \tau) - u(t + \tau)}{2\tau}\,d\tau exists for almost every . The limit function is also in L^p(\mathbb{R}) and is in fact the limit in the mean of the improper integral as well. That is, \frac{2}{\pi} \int_\varepsilon^\infty \frac{u(t - \tau) - u(t + \tau)}{2\tau}\,\mathrm{d}\tau \to \operatorname{H}(u)(t) as in the norm, as well as pointwise almost everywhere, by the Titchmarsh theorem. In the case , the Hilbert transform still converges pointwise almost everywhere, but may itself fail to be integrable, even locally. In particular, convergence in the mean does not in general happen in this case. The Hilbert transform of an function does converge, however, in -weak, and the Hilbert transform is a bounded operator from to . (In particular, since the Hilbert transform is also a multiplier operator on , Marcinkiewicz interpolation and a duality argument furnishes an alternative proof that is bounded on .) ===Boundedness=== If , then the Hilbert transform on L^p(\mathbb{R}) is a bounded linear operator, meaning that there exists a constant such that \left\|\operatorname{H}u\right\|_p \le C_p \left\|u\right\|_p for all The best constant C_p is given by C_p = \begin{cases} \tan \frac{\pi}{2p} & \text{if} ~ 1 An easy way to find the best C_p for p being a power of 2 is through the so-called Cotlar's identity that (\operatorname{H}f)^2 =f^2 +2\operatorname{H}(f\operatorname{H}f) for all real valued . The same best constants hold for the periodic Hilbert transform. The boundedness of the Hilbert transform implies the L^p(\mathbb{R}) convergence of the symmetric partial sum operator S_R f = \int_{-R}^R \hat{f}(\xi) e^{2\pi i x\xi} \, \mathrm{d}\xi to in ===Anti-self adjointness=== The Hilbert transform is an anti-self adjoint operator relative to the duality pairing between L^p(\mathbb{R}) and the dual space where and are Hölder conjugates and . Symbolically, \langle \operatorname{H} u, v \rangle = \langle u, -\operatorname{H} v \rangle for u \isin L^p(\mathbb{R}) and ===Inverse transform=== The Hilbert transform is an anti-involution, meaning that \operatorname{H}\bigl(\operatorname{H}\left(u\right)\bigr) = -u provided each transform is well-defined. Since preserves the space this implies in particular that the Hilbert transform is invertible on and that \operatorname{H}^{-1} = -\operatorname{H} ===Complex structure=== Because (" " is the identity operator) on the real Banach space of real-valued functions in the Hilbert transform defines a linear complex structure on this Banach space. In particular, when , the Hilbert transform gives the Hilbert space of real-valued functions in L^2(\mathbb{R}) the structure of a complex Hilbert space. The (complex) eigenstates of the Hilbert transform admit representations as holomorphic functions in the upper and lower half-planes in the Hardy space by the Paley–Wiener theorem. ===Differentiation=== Formally, the derivative of the Hilbert transform is the Hilbert transform of the derivative, i.e. these two linear operators commute: \operatorname{H}\left(\frac{ \mathrm{d}u}{\mathrm{d}t}\right) = \frac{\mathrm d}{\mathrm{d}t}\operatorname{H}(u) Iterating this identity, \operatorname{H}\left(\frac{\mathrm{d}^ku}{\mathrm{d}t^k}\right) = \frac{\mathrm{d}^k}{\mathrm{d}t^k}\operatorname{H}(u) This is rigorously true as stated provided and its first derivatives belong to One can check this easily in the frequency domain, where differentiation becomes multiplication by . ===Convolutions=== The Hilbert transform can formally be realized as a convolution with the tempered distribution h(t) = \operatorname{p.v.} \frac{1}{ \pi \, t } Thus formally, \operatorname{H}(u) = h*u However, a priori this may only be defined for a distribution of compact support. It is possible to work somewhat rigorously with this since compactly supported functions (which are distributions a fortiori) are dense in . Alternatively, one may use the fact that h(t) is the distributional derivative of the function ; to wit \operatorname{H}(u)(t) = \frac{\mathrm{d}}{\mathrm{d}t}\left(\frac{1}{\pi} \left(u*\log\bigl|\cdot\bigr|\right)(t)\right) For most operational purposes the Hilbert transform can be treated as a convolution. For example, in a formal sense, the Hilbert transform of a convolution is the convolution of the Hilbert transform applied on only one of either of the factors: \operatorname{H}(u*v) = \operatorname{H}(u)*v = u*\operatorname{H}(v) This is rigorously true if and are compactly supported distributions since, in that case, h*(u*v) = (h*u)*v = u*(h*v) By passing to an appropriate limit, it is thus also true if and provided that 1 from a theorem due to Titchmarsh. ===Invariance=== The Hilbert transform has the following invariance properties on L^2(\mathbb{R}) . It commutes with translations. That is, it commutes with the operators for all in \mathbb{R}. It commutes with positive dilations. That is it commutes with the operators for all . It anticommutes with the reflection . Up to a multiplicative constant, the Hilbert transform is the only bounded operator on 2 with these properties. In fact there is a wider set of operators that commute with the Hilbert transform. The group \text{SL}(2,\mathbb{R}) acts by unitary operators on the space L^2(\mathbb{R}) by the formula \operatorname{U}_{g}^{-1} f(x) = \frac{1}{ c x + d } \, f \left( \frac{ ax + b }{ cx + d } \right) \,,\qquad g = \begin{bmatrix} a & b \\ c & d \end{bmatrix} ~,\qquad \text{ for }~ a d - b c = \pm 1 . This unitary representation is an example of a principal series representation of ~\text{SL}(2,\mathbb{R})~. In this case it is reducible, splitting as the orthogonal sum of two invariant subspaces, Hardy space H^2(\mathbb{R}) and its conjugate. These are the spaces of boundary values of holomorphic functions on the upper and lower halfplanes. H^2(\mathbb{R}) and its conjugate consist of exactly those functions with Fourier transforms vanishing on the negative and positive parts of the real axis respectively. Since the Hilbert transform is equal to , with being the orthogonal projection from L^2(\mathbb{R}) onto \operatorname{H}^2(\mathbb{R}), and the identity operator, it follows that \operatorname{H}^2(\mathbb{R}) and its orthogonal complement are eigenspaces of for the eigenvalues . In other words, commutes with the operators . The restrictions of the operators to \operatorname{H}^2(\mathbb{R}) and its conjugate give irreducible representations of \text{SL}(2,\mathbb{R}) – the so-called limit of discrete series representations. ==Extending the domain of definition== ===Hilbert transform of distributions=== It is further possible to extend the Hilbert transform to certain spaces of distributions . Since the Hilbert transform commutes with differentiation, and is a bounded operator on , restricts to give a continuous transform on the inverse limit of Sobolev spaces: \mathcal{D}_{L^p} = \underset{n \to \infty}{\underset{\longleftarrow}{\lim}} W^{n,p}(\mathbb{R}) The Hilbert transform can then be defined on the dual space of \mathcal{D}_{L^p} , denoted \mathcal{D}_{L^p}' , consisting of distributions. This is accomplished by the duality pairing: For define: \operatorname{H}(u)\in \mathcal{D}'_{L^p} = \langle \operatorname{H}u, v \rangle \ \triangleq \ \langle u, -\operatorname{H}v\rangle,\ \text{for all} \ v\in\mathcal{D}_{L^p} . It is possible to define the Hilbert transform on the space of tempered distributions as well by an approach due to Gel'fand and Shilov, but considerably more care is needed because of the singularity in the integral. \operatorname{H}(u)(t) = \operatorname{p.v.} \int_{-\infty}^\infty u(\tau)\left\{h(t - \tau)- h_0(-\tau)\right\} \, \mathrm{d}\tau where as above and h_0(x) = \begin{cases} 0 & \text{if} ~ |x| The modified transform agrees with the original transform up to an additive constant on functions of compact support from a general result by Calderón and Zygmund. Furthermore, the resulting integral converges pointwise almost everywhere, and with respect to the BMO norm, to a function of bounded mean oscillation. A deep result of Fefferman's work is that a function is of bounded mean oscillation if and only if it has the form for some ==Conjugate functions== The Hilbert transform can be understood in terms of a pair of functions and such that the function F(x) = f(x) + i\,g(x) is the boundary value of a holomorphic function in the upper half-plane. Under these circumstances, if and are sufficiently integrable, then one is the Hilbert transform of the other. Suppose that f \isin L^p(\mathbb{R}). Then, by the theory of the Poisson integral, admits a unique harmonic extension into the upper half-plane, and this extension is given by u(x + iy) = u(x, y) = \frac{1}{\pi} \int_{-\infty}^\infty f(s)\;\frac{y}{(x - s)^2 + y^2} \; \mathrm{d}s which is the convolution of with the Poisson kernel P(x, y) = \frac{ y }{ \pi\, \left( x^2 + y^2 \right) } Furthermore, there is a unique harmonic function defined in the upper half-plane such that is holomorphic and \lim_{y \to \infty} v\,(x + i\,y) = 0 This harmonic function is obtained from by taking a convolution with the conjugate Poisson kernel Q(x, y) = \frac{ x }{ \pi\, \left(x^2 + y^2\right) } . Thus v(x, y) = \frac{1}{\pi}\int_{-\infty}^\infty f(s)\;\frac{x - s}{\,(x - s)^2 + y^2\,}\;\mathrm{d}s . Indeed, the real and imaginary parts of the Cauchy kernel are \frac{i}{\pi\,z} = P(x, y) + i\,Q(x, y) so that is holomorphic by Cauchy's integral formula. The function obtained from in this way is called the harmonic conjugate of . The (non-tangential) boundary limit of as is the Hilbert transform of . Thus, succinctly, \operatorname{H}(f) = \lim_{y \to 0} Q(-, y) \star f is the limit as of a holomorphic function in the upper half-plane such that \int_{-\infty}^\infty |F(x + i\,y)|^2\;\mathrm{d}x The real and imaginary parts of are Hilbert transforms of each other. The Fourier transform \mathcal{F}(F)(x) vanishes for . A weaker result is true for functions of class for . Specifically, if is a holomorphic function such that \int_{-\infty}^\infty |F(x + i\,y)|^p\;\mathrm{d}x for all , then there is a complex-valued function in L^p(\mathbb{R}) such that in the norm as (as well as holding pointwise almost everywhere). Furthermore, F(x) = f(x) + i\,g(x) where is a real-valued function in L^p(\mathbb{R}) and is the Hilbert transform (of class ) of . This is not true in the case . In fact, the Hilbert transform of an function need not converge in the mean to another function. Nevertheless, the Hilbert transform of does converge almost everywhere to a finite function such that \int_{-\infty}^\infty \frac{ |g(x)|^p }{ 1 + x^2 } \; \mathrm{d}x This result is directly analogous to one by Andrey Kolmogorov for Hardy functions in the disc. Although usually called Titchmarsh's theorem, the result aggregates much work of others, including Hardy, Paley and Wiener (see Paley–Wiener theorem), as well as work by Riesz, Hille, and Tamarkin F_{+}(x) - F_{-}(x) = f(x) where is some given real-valued function of The left-hand side of this equation may be understood either as the difference of the limits of from the appropriate half-planes, or as a hyperfunction distribution. Two functions of this form are a solution of the Riemann–Hilbert problem. Formally, if solve the Riemann–Hilbert problem f(x) = F_{+}(x) - F_{-}(x) then the Hilbert transform of is given by H(f)(x) = -i \bigl( F_{+}(x) + F_{-}(x) \bigr) . \tilde f(x) \triangleq \frac{1}{ 2\pi } \operatorname{p.v.} \int_0^{2\pi} f(t)\,\cot\left(\frac{ x - t }{2}\right)\,\mathrm{d}t The circular Hilbert transform is used in giving a characterization of Hardy space and in the study of the conjugate function in Fourier series. The kernel, \cot\left(\frac{ x - t }{2}\right) is known as the Hilbert kernel since it was in this form the Hilbert transform was originally studied. The Hilbert kernel (for the circular Hilbert transform) can be obtained by making the Cauchy kernel periodic. More precisely, for \frac{1}{\,2\,}\cot\left(\frac{x}{2}\right) = \frac{1}{x} + \sum_{n=1}^\infty \left(\frac{1}{x + 2n\pi} + \frac{1}{\,x - 2n\pi\,} \right) Many results about the circular Hilbert transform may be derived from the corresponding results for the Hilbert transform from this correspondence. Another more direct connection is provided by the Cayley transform , which carries the real line onto the circle and the upper half plane onto the unit disk. It induces a unitary map U\,f(x) = \frac{1}{(x + i)\,\sqrt{\pi}} \, f\left(C\left(x\right)\right) of onto L^2 (\mathbb{R}). The operator carries the Hardy space onto the Hardy space H^2(\mathbb{R}) . \operatorname{H}\left(f_\text{LP}(t)\cdot f_\text{HP}(t)\right) = f_\text{LP}(t)\cdot \operatorname{H}\left(f_\text{HP}(t)\right), where and are the low- and high-pass signals respectively. A category of communication signals to which this applies is called the narrowband signal model. A member of that category is amplitude modulation of a high-frequency sinusoidal "carrier": u(t) = u_m(t) \cdot \cos(\omega t + \varphi), where is the narrow bandwidth "message" waveform, such as voice or music. Then by Bedrosian's theorem: \operatorname{H}(u)(t) = \begin{cases} +u_m(t) \cdot \sin(\omega t + \varphi) & \text{if } \omega > 0 \\ -u_m(t) \cdot \sin(\omega t + \varphi) & \text{if } \omega u_a(t) \triangleq u(t) + i\cdot H(u)(t), known as the analytic representation of u(t). The name reflects its mathematical tractability, due largely to Euler's formula. Applying Bedrosian's theorem to the narrowband model, the analytic representation is: A Fourier transform property indicates that this complex heterodyne operation can shift all the negative frequency components of above 0 Hz. In that case, the imaginary part of the result is a Hilbert transform of the real part. This is an indirect way to produce Hilbert transforms. === Angle (phase/frequency) modulation === The form: u(t) = A \cdot \cos(\omega t + \varphi_m(t)) is called angle modulation, which includes both phase modulation and frequency modulation. The instantaneous frequency is   \omega + \varphi_m^\prime(t).   For sufficiently large , compared to \operatorname{H}(u)(t) \approx A \cdot \sin(\omega t + \varphi_m(t)) and: u_a(t) \approx A \cdot e^{i(\omega t + \varphi_m(t))}. u_m(t) = m(t) + i \cdot \widehat{m}(t) the result is single-sideband modulation: u_a(t) = (m(t) + i \cdot \widehat{m}(t)) \cdot e^{i(\omega t + \varphi)} whose transmitted component is: \begin{align} u(t) &= \operatorname{Re}\{u_a(t)\}\\ &= m(t)\cdot \cos(\omega t + \varphi) - \widehat{m}(t)\cdot \sin(\omega t + \varphi) \end{align} ===Causality=== The function h(t) = 1/(\pi t) presents two causality-based challenges to practical implementation in a convolution (in addition to its undefined value at 0): Its duration is infinite (technically infinite support). Finite-length windowing reduces the effective frequency range of the transform; shorter windows result in greater losses at low and high frequencies. See also quadrature filter. It is a non-causal filter. So a delayed version, h(t-\tau), is required. The corresponding output is subsequently delayed by \tau. When creating the imaginary part of an analytic signal, the source (real part) must also be delayed by \tau . \operatorname{DTFT} (\widehat u) = U(\omega)\cdot (-i\cdot \sgn(\omega)). The inverse DTFT, using the convolution theorem, is: \begin{align} \widehat u[n] &= {\scriptstyle \mathrm{DTFT}^{-1}} (U(\omega))\ *\ {\scriptstyle \mathrm{DTFT}^{-1}} (-i\cdot \sgn(\omega))\\ &= u[n]\ *\ \frac{1}{2 \pi}\int_{-\pi}^{\pi} (-i\cdot \sgn(\omega))\cdot e^{i \omega n} \,\mathrm{d}\omega\\ &= u[n]\ *\ \underbrace{\frac{1}{2 \pi}\left[\int_{-\pi}^0 i\cdot e^{i \omega n} \,\mathrm{d}\omega - \int_0^\pi i\cdot e^{i \omega n} \,\mathrm{d}\omega \right]}_{h[n]}, \end{align} where h[n]\ \triangleq \ \begin{cases} 0, & \text{if }n\text{ even}\\ \frac 2 {\pi n} & \text{if }n\text{ odd} \end{cases} which is an infinite impulse response (IIR). Practical considerations Method 1: Direct convolution of streaming u[n] data with an FIR approximation of h[n], which we will designate by \tilde h[n]. Examples of truncated h[n] are shown in figures 1 and 2. Fig 1 has an odd number of anti-symmetric coefficients and is called Type III. This type inherently exhibits responses of zero magnitude at frequencies 0 and Nyquist, resulting in a bandpass filter shape. A Type IV design (even number of anti-symmetric coefficients) is shown in Fig 2. It has a highpass frequency response. Type III is the usual choice. for these reasons: A typical (i.e. properly filtered and sampled) u[n] sequence has no useful components at the Nyquist frequency. The Type IV impulse response requires a \tfrac{1}{2} sample shift in the h[n] sequence. That causes the zero-valued coefficients to become non-zero, as seen in Figure 2. So a Type III design is potentially twice as efficient as Type IV. The group delay of a Type III design is an integer number of samples, which facilitates aligning \widehat u[n] with u[n] to create an analytic signal. The group delay of Type IV is halfway between two samples. The abrupt truncation of h[n] creates a rippling (Gibbs effect) of the flat frequency response. That can be mitigated by use of a window function to taper \tilde h[n] to zero. Method 2: Piecewise convolution. It is well known that direct convolution is computationally much more intensive than methods like overlap-save that give access to the efficiencies of the Fast Fourier transform via the convolution theorem. Specifically, the discrete Fourier transform (DFT) of a segment of u[n] is multiplied pointwise with a DFT of the \tilde h[n] sequence. An inverse DFT is done on the product, and the transient artifacts at the leading and trailing edges of the segment are discarded. Over-lapping input segments prevent gaps in the output stream. An equivalent time domain description is that segments of length N (an arbitrary parameter) are convolved with the periodic function: \tilde{h}_N[n]\ \triangleq \sum_{m=-\infty}^\infty \tilde{h}[n - mN]. When the duration of non-zero values of \tilde{h}[n] is M the output sequence includes N-M+1 samples of \widehat u.   M-1 outputs are discarded from each block of N, and the input blocks are overlapped by that amount to prevent gaps. Method 3: Same as method 2, except the DFT of \tilde{h}[n] is replaced by samples of the -i \operatorname{sgn}(\omega) distribution (whose real and imaginary components are all just 0 or  \pm 1. ) That convolves u[n] with a periodic summation: h_N[n]\ \triangleq \sum_{m=-\infty}^\infty h[n - mN], for some arbitrary parameter, N. h[n] is not an FIR, so the edge effects extend throughout the entire transform. Deciding what to delete and the corresponding amount of overlap is an application-dependent design issue. Fig 3 depicts the difference between methods 2 and 3. Only half of the antisymmetric impulse response is shown, and only the non-zero coefficients. The blue graph corresponds to method 2 where h[n] is truncated by a rectangular window function, rather than tapered. It is generated by a Matlab function, hilb(65). Its transient effects are exactly known and readily discarded. The frequency response, which is determined by the function argument, is the only application-dependent design issue. The red graph is h_{512}[n], corresponding to method 3. It is the inverse DFT of the -i \operatorname{sgn}(\omega) distribution. Specifically, it is the function that is convolved with a segment of u[n] by the MATLAB function, hilbert(u,512). The real part of the output sequence is the original input sequence, so that the complex output is an analytic representation of u[n]. When the input is a segment of a pure cosine, the resulting convolution for two different values of N is depicted in Fig 4 (red and blue plots). Edge effects prevent the result from being a pure sine function (green plot). Since h_N[n] is not an FIR sequence, the theoretical extent of the effects is the entire output sequence. But the differences from a sine function diminish with distance from the edges. Parameter N is the output sequence length. If it exceeds the length of the input sequence, the input is modified by appending zero-valued elements. In most cases, that reduces the magnitude of the edge distortions. But their duration is dominated by the inherent rise and fall times of the h[n] impulse response. Fig 5 is an example of piecewise convolution, using both methods 2 (in blue) and 3 (red dots). A sine function is created by computing the Discrete Hilbert transform of a cosine function, which was processed in four overlapping segments, and pieced back together. As the FIR result (blue) shows, the distortions apparent in the IIR result (red) are not caused by the difference between h[n] and h_N[n] (green and red in Fig 3). The fact that h_N[n] is tapered (windowed) is actually helpful in this context. The real problem is that it's not windowed enough. Effectively, M=N, whereas the overlap-save method needs M

Text derived from https://en.wikipedia.org/w/index.php?oldid=1378540896 under CC BY-SA 4.0; modifications have been made.

Sources cited in this revision

Extracted from the cited revision's reference blocks; absent citations are not invented.