Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Discrete-time Fourier transform
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{distinguish|text=the [[discrete Fourier transform]]}} {{short description|Fourier analysis technique applied to sequences}} {{Fourier transforms}} In [[mathematics]], the '''discrete-time Fourier transform''' ('''DTFT''') is a form of [[Fourier analysis]] that is applicable to a sequence of discrete values. The DTFT is often used to analyze samples of a continuous function. The term ''discrete-time'' refers to the fact that the transform operates on discrete data, often samples whose interval has units of time. From uniformly spaced samples it produces a function of frequency that is a [[periodic summation]] of the [[continuous Fourier transform]] of the original continuous function. In simpler terms, when you take the DTFT of regularly-spaced samples of a continuous signal, you get repeating (and possibly overlapping) copies of the signal's frequency spectrum, spaced at intervals corresponding to the sampling frequency. Under certain theoretical conditions, described by the [[sampling theorem]], the original continuous function can be recovered perfectly from the DTFT and thus from the original discrete samples. The DTFT itself is a continuous function of frequency, but discrete samples of it can be readily calculated via the [[discrete Fourier transform]] (DFT) (see {{slink|#Sampling the DTFT}}), which is by far the most common method of modern Fourier analysis. Both transforms are invertible. The inverse DTFT reconstructs the original sampled data sequence, while the inverse DFT produces a periodic summation of the original sequence. The [[fast Fourier transform]] (FFT) is an algorithm for computing one cycle of the DFT, and its inverse produces one cycle of the inverse DFT. == Relation to Fourier Transform == Let <math>s(t)</math> be a continuous function in the time domain. We begin with a common definition of the continuous [[Fourier transform]], where <math>f</math> represents frequency in hertz and <math>t</math> represents time in seconds: :<math>S(f) \triangleq \int_{-\infty}^\infty s(t)\cdot e^{-i 2\pi ft} dt.</math> We can reduce the integral into a summation by sampling <math>s(t)</math> at intervals of <math>T</math> seconds (see {{slink|Fourier_transform|Numerical_integration_of_a_series_of_ordered_pairs}}). Specifically, we can replace <math>s(t)</math> with a discrete sequence of its samples, <math>s(nT)</math>, for integer values of <math>n</math>, and replace the differential element <math>dt</math> with the sampling period <math>T</math>. Thus, we obtain one formulation for the discrete-time Fourier transform (DTFT): :<math>S_{1/T}(f) \triangleq \sum_{n=-\infty}^{\infty} \underbrace{T\cdot s(nT)}_{s[n]}\ e^{-i 2\pi f T n}.</math> This [[Fourier series#Definition|Fourier series]] (in frequency) is a continuous periodic function, whose periodicity is the sampling frequency <math>1/T</math>. The subscript <math>1/T</math> distinguishes it from the continuous Fourier transform <math>S(f)</math>, and from the angular frequency form of the DTFT. The latter is obtained by defining an angular frequency variable, <math>\omega \triangleq 2 \pi f T</math> (which has [[Normalized frequency (digital signal processing)|normalized units]] of ''radians/sample''), giving us a periodic function of angular frequency, with periodicity <math>2\pi</math>:{{efn-la |Oppenheim and Schafer,<ref name=Oppenheim/> p 147 (4.17), where: <math>x[n] \triangleq s(nT) = \tfrac{1}{T}s[n],</math> therefore <math>X(e^{i\omega}) \triangleq \tfrac{1}{T}S_{2\pi}(\omega).</math> }} {{Equation box 1 |indent=: |cellpadding= 0 |border= 0 |background colour=white |equation={{NumBlk||<math> S_{2\pi}(\omega) = S_{1/T}\left(\tfrac{\omega}{2\pi T}\right) = \sum_{n=-\infty}^{\infty} s[n] \cdot e^{-i \omega n}. </math> |{{EquationRef|Eq.1}}}} }} [[File:Fourier transform, Fourier series, DTFT, DFT.svg|thumb|500px|Fig 1. Depiction of a Fourier transform (upper left) and its periodic summation (DTFT) in the lower left corner. The lower right corner depicts samples of the DTFT that are computed by a discrete Fourier transform (DFT).]] The utility of the DTFT is rooted in the [[Poisson summation formula]], which tells us that the periodic function represented by the Fourier series is a periodic summation of the continuous Fourier transform''':'''{{efn-la |Oppenheim and Schafer,<ref name=Oppenheim/> p 147 (4.20), p 694 (10.1), and Prandoni and Vetterli,<ref name=Prandoni/> p 255, (9.33), where: <math>\omega \triangleq 2\pi f T,</math> and <math>X_c(i 2\pi f) \triangleq S(f).</math> }}{{Equation box 1|border|title=Poisson summation|indent=:|border colour=#0073CF|background colour=#F5FFFA|cellpadding=6|equation={{NumBlk||<math> S_{1/T}(f) = \sum_{n=-\infty}^{\infty} s[n]\cdot e^{-i 2\pi f T n}\; = \sum_{k=-\infty}^{\infty} S\left(f - k/T\right). </math> |{{EquationRef|Eq.2}}}}}} The components of the periodic summation are centered at integer values (denoted by <math>k</math>) of a [[Normalized frequency (signal processing)|normalized frequency]] (cycles per sample). Ordinary/physical frequency (cycles per second) is the product of <math>k</math> and the sample-rate, <math>f_s=1/T.</math> For sufficiently large <math>f_s,</math> the <math>k=0</math> term can be observed in the region <math>[-f_s/2, f_s/2]</math> with little or no distortion ([[aliasing]]) from the other terms. '''Fig.1''' depicts an example where <math>1/T</math> is not large enough to prevent aliasing. We also note that <math>e^{-i2\pi fTn}</math> is the Fourier transform of <math>\delta(t-nT).</math> Therefore, an alternative definition of DTFT is''':'''{{efn-ua |In fact {{EquationNote|Eq.2}} is often justified as follows''':'''<ref name=Oppenheim/>{{rp|p.143, eq 4.6}} <math display="block">\begin{align} \mathcal{F}\left \{\sum_{n=-\infty}^{\infty} T\cdot s(nT) \cdot \delta(t-nT)\right \} &=\mathcal{F}\left \{s(t)\cdot T \sum_{n=-\infty}^{\infty} \delta(t-nT)\right \}\\ &= S(f) * \mathcal{F}\left \{T \sum_{n=-\infty}^{\infty} \delta(t-nT)\right \} \\ &= S(f) * \sum_{k=-\infty}^{\infty} \delta \left(f - \frac{k}{T}\right) \\ &= \sum_{k=-\infty}^{\infty} S\left(f - \frac{k}{T}\right). \end{align}</math> }} {{Equation box 1 |indent=: |cellpadding= 0 |border= 0 |background colour=white |equation={{NumBlk||<math> S_{1/T}(f) = \mathcal{F}\left \{\sum_{n=-\infty}^{\infty} s[n] \cdot \delta(t-nT)\right \}. </math> |{{EquationRef|Eq.3}}}} }} The modulated [[Dirac comb]] function is a mathematical abstraction sometimes referred to as ''impulse sampling''.<ref name=Rao/> == Inverse transform == An operation that recovers the discrete data sequence from the DTFT function is called an ''inverse DTFT''. For instance, the inverse continuous Fourier transform of both sides of {{EquationNote|Eq.3}} produces the sequence in the form of a modulated Dirac comb function''':''' :<math>\sum_{n=-\infty}^{\infty} s[n]\cdot \delta(t-n T) = \mathcal{F}^{-1}\left \{S_{1/T}(f)\right\} \ \triangleq \int_{-\infty}^\infty S_{1/T}(f)\cdot e^{i 2 \pi f t} df.</math> However, noting that <math>S_{1/T}(f)</math> is periodic, all the necessary information is contained within any interval of length <math>1/T.</math> In both {{EquationNote|Eq.1}} and {{EquationNote|Eq.2}}, the summations over <math>n</math> are a [[Fourier series]], with coefficients <math>s[n].</math> The standard formulas for the Fourier coefficients are also the inverse transforms''':''' {{Equation box 1 |title= |indent=:|border|border colour=#0073CF|background colour=#F5FFFA|cellpadding=6 |equation = {{NumBlk||<math>\begin{align} s[n] &= T \int_{\frac{1}{T}} S_{1/T}(f)\cdot e^{i 2 \pi f nT} df \quad \scriptstyle{\text{(integral over any interval of length }1/T\textrm{)}} \\ \displaystyle &= \frac{1}{2 \pi}\int_{2\pi} S_{2\pi}(\omega)\cdot e^{i \omega n} d\omega \quad \scriptstyle{\text{(integral over any interval of length }2\pi\textrm{)}} \end{align}</math> |{{EquationRef|Eq.4}}}} }} == Periodic data == When the input data sequence <math>s[n]</math> is <math>N</math>-periodic, {{EquationNote|Eq.2}} can be computationally reduced to a discrete Fourier transform (DFT), because''':''' * All the available information is contained within <math>N</math> samples. * <math>S_{1/T}(f)</math> converges to zero everywhere except at integer multiples of <math>1/(NT),</math> known as [[harmonic]] frequencies. At those frequencies, the DTFT diverges at different frequency-dependent rates. And those rates are given by the DFT of one cycle of the <math>s[n]</math> sequence. * The DTFT is periodic, so the maximum number of unique harmonic amplitudes is <math>(1/T)/(1/(NT)) = N.</math> The DFT of one cycle of the <math>s[n]</math> sequence is''':''' :<math>S[k] \triangleq \underbrace{\sum_{N} s[n]\cdot e^{-i 2 \pi \frac{k}{N}n}}_{\text{any n-sequence of length N}}, \quad k \in \mathbf{Z}.</math> And <math>s[n]</math> can be expressed in terms of the inverse transform, which is sometimes referred to as a '''[[Discrete Fourier series]]''' (DFS)''':'''<ref name="Oppenheim" />{{rp|p 542}} :<math>s[n] = \frac{1}{N} \underbrace{\sum_{N} S[k]\cdot e^{i 2 \pi \frac{k}{N}n}}_{\text{any k-sequence of length N}}, \quad n \in \mathbf{Z}.</math> With these definitions, we can demonstrate the relationship between the DTFT and the DFT''':''' :<math> \begin{align} S_{1/T}(f) &\triangleq \sum_{n=-\infty}^{\infty} s[n]\cdot e^{-i 2\pi f nT}\\ &= \sum_{n=-\infty}^{\infty} \left[\frac{1}{N} \sum_{k=0}^{N-1} S[k]\cdot e^{i 2 \pi \frac{k}{N}n}\right] \cdot e^{-i 2\pi f n T}\\ &= \frac{1}{N} \sum_{k=0}^{N-1} S[k] \underbrace{\left[\sum_{n=-\infty}^{\infty} e^{i 2 \pi \frac{k}{N}n} \cdot e^{-i 2\pi f n T}\right]}_{\operatorname{DTFT}\left(e^{i 2 \pi \frac{k}{N}n}\right)}\\ &= \frac{1}{N} \sum_{k=0}^{N-1} S[k] \cdot \frac{1}{T}\sum_{M=-\infty}^\infty \delta \left(f - \tfrac{k}{NT} - \tfrac{M}{T} \right) \end{align} </math> {{efn-la |Oppenheim and Schafer,<ref name=Oppenheim/> p 551 (8.35), and Prandoni and Vetterli,<ref name=Prandoni/> p 82, (4.43). With definitions''':''' <math>\tilde{X}(e^{i\omega}) \triangleq \tfrac{1}{T} S_{2\pi}(\omega),</math> <math>\omega \triangleq 2\pi f T,</math> <math>\tilde{X}[k] \triangleq S[k],</math> and <math>\delta\left(2\pi fT - \tfrac{2\pi k}{N}\right) \equiv \delta\left(f - \tfrac{k}{NT}\right)/(2\pi T),</math> this expression differs from the references by a factor of <math>2\pi</math> because they lost it in going from the 3rd step to the 4th. Specifically, the DTFT of <math>e^{-ian}</math> at {{slink||Table of discrete-time Fourier transforms}} has a <math>2\pi</math> factor that the references omitted. }}{{efn-ua |From {{slink||Table of discrete-time Fourier transforms}} we have: :<math> \begin{align} \operatorname{DTFT}\left( e^{i 2 \pi \frac{k}{N}n} \right) &= 2\pi \sum_{M=-\infty}^{\infty} \delta \left(\omega - 2 \pi \frac{k}{N} -2\pi M\right)\\ &= 2\pi \sum_{M=-\infty}^{\infty} \delta \left(2\pi f T -2 \pi \frac{k}{N} -2\pi M\right)\\ &=2\pi \sum_{M=-\infty}^{\infty} \tfrac{1}{2\pi T}\ \delta \left( \tfrac{1}{2\pi T} \left( 2\pi f T -2 \pi \frac{k}{N} -2\pi M \right) \right)\\ &=\frac{1}{T} \sum_{M=-\infty}^\infty \delta \left(f - \tfrac{k}{NT} - \tfrac{M}{T} \right) \end{align} </math> }} Due to the <math>N</math>-periodicity of both functions of <math>k,</math> this can be simplified to''':''' :<math>S_{1/T}(f) = \frac{1}{NT} \sum_{k=-\infty}^{\infty} S[k] \cdot \delta\left(f-\frac{k}{NT}\right),</math> which satisfies the inverse transform requirement''':''' :<math>\begin{align} s[n] &= T \int_{0}^{\frac{1}{T}} S_{1/T}(f)\cdot e^{i 2 \pi f nT} df\\ &=\frac{1}{N} \sum_{k=-\infty}^\infty S[k] \underbrace{\int_{0}^{\frac{1}{T}} \delta \left(f-\tfrac{k}{NT}\right) e^{i 2 \pi f nT} df}_{\text{zero for } k\ \notin\ [0,N-1]}\\ &=\frac{1}{N} \sum_{k=0}^{N-1} S[k] \int_{0}^{\frac{1}{T}} \delta \left(f-\tfrac{k}{NT}\right) e^{i 2 \pi f nT} df\\ &=\frac{1}{N} \sum_{k=0}^{N-1} S[k]\cdot e^{i 2 \pi \tfrac{k}{NT} nT}\\ &=\frac{1}{N} \sum_{k=0}^{N-1} S[k]\cdot e^{i 2 \pi \tfrac{k}{N} n} \end{align} </math> == {{anchor|DFT}}Sampling the DTFT == When the DTFT is continuous, a common practice is to compute an arbitrary number of samples <math>(N)</math> of one cycle of the periodic function <math>S_{1/T}</math>''':''' <ref name=Oppenheim/>{{rp|pp 557–559 & 703}} <ref name=Prandoni/>{{rp|p 76}} :<math> \begin{align} \underbrace{S_{1/T}\left(\frac{k}{NT}\right)}_{S_k} &= \sum_{n=-\infty}^\infty s[n]\cdot e^{-i 2\pi \frac{k}{N}n} \quad \quad k = 0, \dots, N-1 \\ &= \underbrace{\sum_{N} s_{_N}[n]\cdot e^{-i 2\pi \frac{k}{N}n},}_{\text{DFT}}\quad \scriptstyle{\text{(sum over any }n\text{-sequence of length }N)} \end{align} </math> where <math>s_{_N}</math> is a [[periodic summation]]''':''' :<math>s_{_N}[n]\ \triangleq\ \sum_{m=-\infty}^{\infty} s[n-mN].</math> (see [[Discrete Fourier series]]) The <math>s_{_N}</math> sequence is the inverse DFT. Thus, our sampling of the DTFT causes the inverse transform to become periodic. The array of <math>|S_k|^2</math> values is known as a ''[[periodogram]]'', and the parameter <math>N</math> is called NFFT in the Matlab function of the same name.<ref name=Matlab/> In order to evaluate one cycle of <math>s_{_N}</math> numerically, we require a finite-length <math>s[n]</math> sequence. For instance, a long sequence might be truncated by a [[window function]] of length <math>L</math> resulting in three cases worthy of special mention. For notational simplicity, consider the <math>s[n]</math> values below to represent the values modified by the window function. {{anchor|L{{=}}N×I}}'''Case: Frequency decimation.''' <math>L=N\cdot I,</math> for some integer <math>I</math> (typically 6 or 8) A cycle of <math>s_{_N}</math> reduces to a summation of <math>I</math> segments of length <math>N.</math> The DFT then goes by various names, such as''':''' *''window-presum FFT''<ref name=Gumas/> *''Weight, overlap, add (WOLA)''<ref name=Crochiere/><ref name=Wang/><ref name=Lyons/><ref name=Lillington/><ref name=Lillington2/><ref name="Hochgürtel"/>{{efn-ua |WOLA should not be confused with the [[Overlap-add method]] of piecewise convolution. }}{{efn-ua |WOLA example: [[:File:WOLA channelizer example.png]] }} *''polyphase DFT''<ref name=Lillington/><ref name=Lillington2/> *''polyphase filter bank''<ref name=Chennamangalam/> *''multiple block windowing'' and ''time-aliasing''.<ref name=Dahl/> Recall that decimation of sampled data in one domain (time or frequency) produces overlap (sometimes known as [[aliasing]]) in the other, and vice versa. Compared to an <math>L</math>-length DFT, the <math>s_{_N}</math> summation/overlap causes decimation in frequency,<ref name=Oppenheim/>{{rp|p.558}} leaving only DTFT samples least affected by [[spectral leakage]]. That is usually a priority when implementing an FFT [[filter bank|filter-bank]] (channelizer). With a conventional window function of length <math>L,</math> [[Spectral leakage#Window tradeoffs|scalloping loss]] would be unacceptable. So multi-block windows are created using [[FIR filter]] design tools.<ref name=Lin/><ref name=Harrisbook/><!--removing a dead link <ref>{{Citation |title=cmfb.m |publisher=Caltech |url=http://www.systems.caltech.edu/dsp/software/conventional/cmfb.m |access-date=2017-03-16}}</ref>--> Their frequency profile is flat at the highest point and falls off quickly at the midpoint between the remaining DTFT samples. The larger the value of parameter <math>I,</math> the better the potential performance. {{anchor|L{{=}}N+1}}'''Case: <math>L=N+1</math>''' When a symmetric, <math>L</math>-length [[window function]] (<math>s</math>) is truncated by 1 coefficient it is called [[Spectral_leakage#DFT-symmetry|''periodic'' or ''DFT-even'']]. That is a common practice, but the truncation affects the DTFT (spectral leakage) by a small amount. It is at least of academic interest to characterize that effect. An <math>N</math>-length DFT of the truncated window produces frequency samples at intervals of <math>1/N,</math> instead of <math>1/L.</math> The samples are real-valued,<ref name=Harris/>{{rp|p.52}} but their values do not exactly match the DTFT of the symmetric window. The periodic summation, <math>s_{_N},</math> along with an <math>N</math>-length DFT, can also be used to sample the DTFT at intervals of <math>1/N.</math> Those samples are also real-valued and do exactly match the DTFT (example: [[:File:Sampling the Discrete-time Fourier transform.svg]]). To use the full symmetric window for spectral analysis at the <math>1/N</math> spacing, one would combine the <math>n=0</math> and <math>n=N</math> data samples (by addition, because the symmetrical window weights them equally) and then apply the truncated symmetric window and the <math>N</math>-length DFT. [[Image:zeropad.png|thumb|350px|Fig 2. DFT of {{math|''e''<sup>i2πn/8</sup>}} for {{math|''L'' {{=}} 64}} and {{math|''N'' {{=}} 256}}]] [[Image:no-zeropad.png|thumb|350px|Fig 3. DFT of {{math|''e''<sup>i2πn/8</sup>}} for {{math|''L'' {{=}} 64}} and {{math|''N'' {{=}} 64}}]] {{anchor|L≤N}}'''Case: Frequency interpolation.''' <math>L \le N</math> In this case, the DFT simplifies to a more familiar form''':''' :<math>S_k = \sum_{n=0}^{N-1} s[n]\cdot e^{-i 2\pi \frac{k}{N}n}.</math> In order to take advantage of a fast Fourier transform algorithm for computing the DFT, the summation is usually performed over all <math>N</math> terms, even though <math>N-L</math> of them are zeros. Therefore, the case <math>L < N</math> is often referred to as '''zero-padding'''. Spectral leakage, which increases as <math>L</math> decreases, is detrimental to certain important performance metrics, such as resolution of multiple frequency components and the amount of noise measured by each DTFT sample. But those things don't always matter, for instance when the <math>s[n]</math> sequence is a noiseless sinusoid (or a constant), shaped by a window function. Then it is a common practice to use ''zero-padding'' to graphically display and compare the detailed leakage patterns of window functions. To illustrate that for a rectangular window, consider the sequence: :<math>s[n] = e^{i 2\pi \frac{1}{8} n},\quad </math> and <math>L=64.</math> '''Figures 2 and 3''' are plots of the magnitude of two different sized DFTs, as indicated in their labels. In both cases, the dominant component is at the signal frequency: <math>f = 1/8 = 0.125</math>. Also visible in '''Fig 2''' is the spectral leakage pattern of the <math>L=64</math> rectangular window. The illusion in '''Fig 3''' is a result of sampling the DTFT at just its zero-crossings. Rather than the DTFT of a finite-length sequence, it gives the impression of an infinitely long sinusoidal sequence. Contributing factors to the illusion are the use of a rectangular window, and the choice of a frequency (1/8 = 8/64) with exactly 8 (an integer) cycles per 64 samples. A [[Window_function#Hann_and_Hamming_windows|Hann window]] would produce a similar result, except the peak would be widened to 3 samples (see [https://commons.wikimedia.org/wiki/File:DFT-even_Hann_window_&_spectral_leakage.png DFT-even Hann window]). == Convolution == {{Main|Convolution theorem#Functions of a discrete variable (sequences)}} The [[convolution theorem]] for sequences is''':''' :<math>s * y\ =\ \scriptstyle{\rm DTFT}^{-1} \displaystyle \left[\scriptstyle{\rm DTFT} \displaystyle \{s\}\cdot \scriptstyle{\rm DTFT} \displaystyle \{y\}\right].</math><ref name=Proakis/>{{rp|p.297}}{{efn-la |Oppenheim and Schafer,<ref name=Oppenheim/> p 60, (2.169), and Prandoni and Vetterli,<ref name=Prandoni/> p 122, (5.21) }} An important special case is the [[circular convolution]] of sequences {{mvar|s}} and {{mvar|y}} defined by <math>s_{_N}*y,</math> where <math>s_{_N}</math> is a periodic summation. The discrete-frequency nature of <math>\scriptstyle{\rm DTFT} \displaystyle \{s_{_N}\}</math> means that the product with the continuous function <math>\scriptstyle{\rm DTFT} \displaystyle \{y\}</math> is also discrete, which results in considerable simplification of the inverse transform''':''' :<math>s_{_N} * y\ =\ \scriptstyle{\rm DTFT}^{-1} \displaystyle \left[\scriptstyle{\rm DTFT} \displaystyle \{s_{_N}\}\cdot \scriptstyle{\rm DTFT} \displaystyle \{y\}\right]\ =\ \scriptstyle{\rm DFT}^{-1} \displaystyle \left[\scriptstyle{\rm DFT} \displaystyle \{s_{_N}\}\cdot \scriptstyle{\rm DFT} \displaystyle \{y_{_N}\}\right].</math><ref name=Rabiner/><ref name=Oppenheim/>{{rp|p.548}} For {{mvar|s}} and {{mvar|y}} sequences whose non-zero duration is less than or equal to {{mvar|N}}, a final simplification is''':''' :<math>s_{_N} * y\ =\ \scriptstyle{\rm DFT}^{-1} \displaystyle \left[\scriptstyle{\rm DFT} \displaystyle \{s\}\cdot \scriptstyle{\rm DFT} \displaystyle \{y\}\right].</math> The significance of this result is explained at [[Circular convolution#Example|Circular convolution]] and [[Convolution#Fast convolution algorithms|Fast convolution algorithms]]. == Relationship to the Z-transform == <math>S_{2\pi}(\omega)</math> is a [[Fourier series]] that can also be expressed in terms of the bilateral [[Z-transform]]. I.e.''':''' :<math>S_{2\pi}(\omega) = \left. S_z(z) \, \right|_{z = e^{i \omega}} = S_z(e^{i \omega}),</math> where the <math>S_z</math> notation distinguishes the Z-transform from the Fourier transform. Therefore, we can also express a portion of the Z-transform in terms of the Fourier transform''':''' :<math> \begin{align} S_z(e^{i \omega}) &= \ S_{1/T}\left(\tfrac{\omega}{2\pi T}\right) \ = \ \sum_{k=-\infty}^{\infty} S\left(\tfrac{\omega}{2\pi T} - k/T\right)\\ &= \sum_{k=-\infty}^{\infty} S\left(\tfrac{\omega - 2\pi k}{2\pi T} \right). \end{align} </math> Note that when parameter {{mvar|T}} changes, the terms of <math>S_{2\pi}(\omega)</math> remain a constant separation <math>2 \pi</math> apart, and their width scales up or down. The terms of {{math|''S''<sub>1/''T''</sub>(''f'')}} remain a constant width and their separation {{math|1/''T''}} scales up or down. == Table of discrete-time Fourier transforms == Some common transform pairs are shown in the table below. The following notation applies''':''' *<math>\omega=2 \pi f T</math> is a real number representing continuous angular frequency (in radians per sample). (<math>f</math> is in cycles/sec, and <math>T</math> is in sec/sample.) In all cases in the table, the DTFT is 2π-periodic (in <math>\omega</math>). *<math>S_{2\pi}(\omega)</math> designates a function defined on <math>-\infty < \omega < \infty </math>. *<math>S_o(\omega)</math> designates a function defined on <math>-\pi < \omega \le \pi</math>, and zero elsewhere. Then: <math display="block">S_{2\pi}(\omega)\ \triangleq \sum_{k=-\infty}^{\infty} S_o(\omega - 2\pi k).</math> * <math>\delta ( \omega )</math> is the [[Dirac delta function]] * <math>\operatorname{sinc} (t)</math> is the normalized [[sinc function]] * <math>\operatorname{rect}\left[{n \over L}\right] \triangleq \begin{cases} 1 & |n|\leq L/2 \\ 0 & |n| > L/2 \end{cases}</math> * <math>\operatorname{tri} (t)</math> is the [[triangle function]] * {{mvar|n}} is an integer representing the discrete-time domain (in samples) * <math>u[n]</math> is the discrete-time [[Heaviside step function#Discrete form|unit step function]] * <math>\delta[n]</math> is the [[Kronecker delta]] <math>\delta_{n,0}</math> {| class="wikitable" |- ! Time domain <br /> ''s''[''n''] ! Frequency domain <br />''S''<sub>2''π''</sub>(''ω'') ! Remarks ! Reference |- | <math>\delta[n]</math> | <math>S_{2\pi}(\omega) = 1</math> | | <ref name=Proakis/>{{rp|p.305}} |- | <math>\delta[n-M]</math> | <math>S_{2\pi}(\omega) = e^{-i\omega M}</math> | integer <math>M</math> | |- |<math>\sum_{m = -\infty}^{\infty} \delta[n - M m] \!</math> |<math>S_{2\pi}(\omega) = \sum_{m = -\infty}^{\infty} e^{-i \omega M m} = \frac{2\pi}{M}\sum_{k = -\infty}^{\infty} \delta \left( \omega - \frac{2\pi k}{M} \right) \,</math><br> <math>S_o(\omega) = \frac{2\pi}{M}\sum_{k = -(M-1)/2}^{(M-1)/2} \delta \left(\omega - \frac{2\pi k}{M} \right) \,</math> odd ''M''<br> <math>S_o(\omega) = \frac{2\pi}{M}\sum_{k = -M/2+1}^{M/2} \delta \left(\omega - \frac{2\pi k}{M} \right) \,</math> even ''M''<br> | integer <math>M > 0 </math> | |- | <math>u[n]</math> | <math>S_{2\pi}(\omega) = \frac{1}{1-e^{-i \omega}} + \pi \sum_{k=-\infty}^{\infty} \delta (\omega - 2\pi k)\!</math><br> <math>S_o(\omega) = \frac{1}{1-e^{-i \omega}} + \pi \cdot \delta (\omega)\!</math> |The <math>1/(1-e^{-i \omega})</math> term must be interpreted as a [[distribution (mathematics)|distribution]] in the sense of a [[Cauchy principal value]] around its [[pole (complex analysis)|poles]] at <math>\omega=2 \pi k</math>. | |- | <math>a^n u[n]</math> | <math>S_{2\pi}(\omega) = \frac{1}{1-a e^{-i \omega}}\!</math> | <math>0 < |a| < 1 </math> | <ref name=Proakis/>{{rp|p.305}} |- | <math>e^{-i a n}</math> | <math>S_o(\omega) = 2\pi\cdot \delta (\omega +a),</math> -π < a < π<br> <math>S_{2\pi}(\omega) = 2\pi \sum_{k=-\infty}^{\infty} \delta (\omega +a -2\pi k)</math> | real number <math>a</math> | |- | <math>\cos(a\cdot n)</math> | <math>S_o(\omega) = \pi \left[\delta \left(\omega -a\right)+\delta \left(\omega +a\right)\right],</math><br> <math>S_{2\pi}(\omega)\ \triangleq \sum_{k=-\infty}^{\infty} S_o(\omega - 2\pi k)</math> | real number <math>a</math> with <math>-\pi < a < \pi</math> | |- | <math>\sin(a\cdot n)</math> | <math>S_o(\omega) = \frac{\pi}{i} \left[\delta \left(\omega -a\right)-\delta \left(\omega +a\right)\right]</math> | real number <math>a</math> with <math>-\pi < a < \pi</math> | |- | <math>\operatorname{rect} \left[ { n - M \over N } \right] \equiv \operatorname{rect} \left[ { n - M \over N-1 } \right]</math> | <math>S_o(\omega) = { \sin( N \omega / 2 ) \over \sin( \omega / 2 ) } \, e^{ -i \omega M } \!</math> | integer <math>M,</math> and <u>odd</u> integer <math>N</math> | |- | <math>\operatorname{sinc} ( W (n+a))</math> | <math>S_o(\omega) = \frac{1}{W} \operatorname{rect} \left( { \omega \over 2\pi W } \right) e^{ia\omega}</math> | real numbers <math>W,a</math> with <math>0 < W < 1</math> | |- | <math>\operatorname{sinc}^2(W n)\,</math> | <math>S_o(\omega) = \frac{1}{W} \operatorname{tri} \left( { \omega \over 2\pi W } \right)</math> | real number <math>W</math>, <math>0 < W < 0.5</math> | |- | <math> \begin{cases} 0 & n=0 \\ \frac{(-1)^n}{n} & \text{elsewhere} \end{cases}</math> | <math>S_o(\omega) = j \omega</math> |it works as a [[differentiator]] filter |- | <math>\frac{1}{(n + a)} \left\{ \cos [ \pi W (n+a)] - \operatorname{sinc} [ W (n+a)] \right\}</math> | <math>S_o(\omega) = \frac{j \omega}{W} \cdot \operatorname{rect} \left( { \omega \over \pi W } \right) e^{j a \omega}</math> | real numbers <math>W,a</math> with <math>0 < W < 1 </math> | |- | <math>\begin{cases} \frac{\pi}{2} & n = 0 \\ \frac{(-1)^n - 1}{\pi n^2} & \text{ otherwise} \end{cases}</math> | <math>S_o(\omega) = |\omega|</math> | | |- | <math>\begin{cases} 0; & n \text{ even} \\ \frac{2}{\pi n} ; & n \text{ odd} \end{cases}</math> | <math>S_o(\omega) = \begin{cases} j & \omega < 0 \\ 0 & \omega = 0 \\ -j & \omega > 0 \end{cases}</math> |[[Hilbert transform]] | |- | <math>\frac{C (A + B)}{2 \pi} \cdot \operatorname{sinc} \left[ \frac{A - B}{2\pi} n \right] \cdot \operatorname{sinc} \left[ \frac{A + B}{2\pi} n \right]</math> | <math>S_o(\omega) = </math>[[Image:Trapezoid signal.svg|250px]] | real numbers <math>A,B</math> <br /> complex <math>C</math> | |} ==Properties== This table shows some mathematical operations in the time domain and the corresponding effects in the frequency domain. * <math>*\!</math> is the [[Convolution#Discrete convolution|discrete convolution]] of two sequences * <math>s^{*}[n]</math> is the [[complex conjugate]] of <math>s[n].</math> {| class="wikitable" |- ! Property ! Time domain<br/>{{math|''s''[''n'']}} ! Frequency domain<br/><math>S_{2\pi}(\omega)</math> ! Remarks ! Reference |- | Linearity | <math>a\cdot s[n] + b\cdot y[n]</math> | <math>a\cdot S_{2\pi}(\omega) + b\cdot Y_{2\pi}(\omega)</math> | complex numbers <math>a,b</math> | <ref name=Proakis/>{{rp|p.294}} |- | Time reversal / Frequency reversal | <math>s[-n]</math> | <math>S_{2\pi}(-\omega) \!</math> | | <ref name=Proakis/>{{rp|p.297}} |- | Time conjugation | <math>s^*[n]</math> | <math>S_{2\pi}^*(-\omega) \!</math> | | <ref name=Proakis/>{{rp|p.291}} |- | Time reversal & conjugation | <math>s^*[-n]</math> | <math>S_{2\pi}^*(\omega) \!</math> | | <ref name=Proakis/>{{rp|p.291}} |- | Real part in time | <math>\operatorname{Re}{(s[n])}</math> | <math>\frac{1}{2}(S_{2\pi}(\omega) + S_{2\pi}^*(-\omega))</math> | | <ref name=Proakis/>{{rp|p.291}} |- | Imaginary part in time | <math>\operatorname{Im}{(s[n])}</math> | <math>\frac{1}{2i}(S_{2\pi}(\omega) - S_{2\pi}^*(-\omega))</math> | | <ref name=Proakis/>{{rp|p.291}} |- | Real part in frequency | <math>\frac{1}{2}(s[n]+s^*[-n])</math> | <math>\operatorname{Re}{(S_{2\pi}(\omega))}</math> | | <ref name=Proakis/>{{rp|p.291}} |- | Imaginary part in frequency | <math>\frac{1}{2i}(s[n]-s^*[-n])</math> | <math>\operatorname{Im}{(S_{2\pi}(\omega))}</math> | | <ref name=Proakis/>{{rp|p.291}} |- | Shift in time / Modulation in frequency | <math>s[n-k]</math> | <math>S_{2\pi}(\omega)\cdot e^{-i\omega k}</math> | integer {{mvar|k}} | <ref name=Proakis/>{{rp|p.296}} |- | Shift in frequency / Modulation in time | <math>s[n]\cdot e^{ian} \!</math> | <math>S_{2\pi}(\omega-a) \!</math> | real number <math>a</math> | <ref name=Proakis/>{{rp|p.300}} |- | Decimation | <math>s[nM]</math> | <math>\frac{1}{M}\sum_{m=0}^{M-1} S_{2\pi}\left(\tfrac{\omega - 2\pi m}{M}\right) \!</math> {{efn-ua |This expression is derived as follows:<ref name=Oppenheim/>{{rp|p.168}} :<math> \begin{align} \sum_{n=-\infty}^{\infty} s(nMT)\ e^{-i\omega n} &= \frac{1}{MT}\sum_{k=-\infty}^{\infty} S\left(\tfrac{\omega}{2\pi MT} - \tfrac{k}{MT}\right)\\ &= \frac{1}{MT}\sum_{m=0}^{M-1} \quad \sum_{n=-\infty}^{\infty} S\left(\tfrac{\omega}{2\pi MT} - \tfrac{m}{MT} - \tfrac{n}{T}\right), \quad \text{where} \quad k \rightarrow m + nM\\ &=\frac{1}{M}\sum_{m=0}^{M-1} \quad \frac{1}{T}\sum_{n=-\infty}^{\infty}S\left(\tfrac{(\omega - 2\pi m)/M}{2\pi T} - \tfrac{n}{T}\right)\\ &= \frac{1}{M}\sum_{m=0}^{M-1} \quad S_{2\pi}\left(\tfrac{\omega - 2\pi m}{M}\right) \end{align} </math> }} | integer <math>M</math> | |- | Time Expansion | <math> \scriptstyle \begin{cases} s[n/M] & n=\text{multiple of M} \\ 0 & \text{otherwise} \end{cases}</math> | <math>S_{2\pi}(M \omega) \!</math> | integer <math>M</math> |<ref name=Oppenheim/>{{rp|p.172}} |- | Derivative in frequency | <math>\frac{n}{i} s[n] \!</math> | <math>\frac{d S_{2\pi}(\omega)}{d \omega} \!</math> | | <ref name=Proakis/>{{rp|p.303}} |- | Integration in frequency | <math> \!</math> | <math> \!</math> | | |- | Differencing in time | <math> s[n]-s[n-1] \!</math> | <math> \left( 1-e^{-i \omega} \right) S_{2\pi}(\omega) \!</math> | | |- | Summation in time | <math> \sum_{m=-\infty}^{n} s[m] \!</math> | <math> \frac{1}{\left( 1-e^{-i \omega} \right)} S_{2\pi}(\omega) + \pi S(0) \sum_{k=-\infty}^{\infty} \delta(\omega-2\pi k) \!</math> | | |- | Convolution in time / Multiplication in frequency | <math>s[n] * y[n] \!</math> | <math>S_{2\pi}(\omega) \cdot Y_{2\pi}(\omega) \!</math> | | <ref name=Proakis/>{{rp|p.297}} |- | Multiplication in time / Convolution in frequency | <math>s[n] \cdot y[n] \!</math> | <math>\frac{1}{2\pi}\int_{-\pi}^{\pi}S_{2\pi}(\nu) \cdot Y_{2\pi}(\omega-\nu) d\nu \!</math> | [[Periodic convolution]] | <ref name=Proakis/>{{rp|p.302}} |- | [[Cross correlation]] | <math>\rho_{sy} [n] = s^{*}[-n] * y[n] \!</math> | <math>R_{sy} (\omega) = S_{2\pi}^*(\omega) \cdot Y_{2\pi}(\omega) \!</math> | | |- | [[Parseval's theorem]] | <math>E_{sy} = \sum_{n=-\infty}^{\infty} {s[n] \cdot y^*[n]} \!</math> | <math>E_{sy} = \frac{1}{2\pi}\int_{-\pi}^{\pi}{S_{2\pi}(\omega) \cdot Y_{2\pi}^*(\omega) d\omega} \!</math> | | <ref name=Proakis/>{{rp|p.302}} |} ==See also== * [[Least-squares spectral analysis]] * [[Multidimensional transform]] * [[Zak transform]] == Notes == {{notelist-ua|1}} == Page citations == {{notelist-la|1}} == References == {{reflist|1|refs= <ref name=Proakis> {{cite book |last1=Proakis |first1=John G. |last2=Manolakis |first2=Dimitri G. |title=Digital Signal Processing: Principles, Algorithms and Applications |place=New Jersey |publisher=Prentice-Hall International |year=1996 |edition=3 |language=en |id=sAcfAQAAIAAJ |isbn=9780133942897 |bibcode=1996dspp.book.....P |url-access=registration |url=https://archive.org/details/digitalsignalpro00proa }}</ref> <ref name=Rabiner> {{cite book |last1=Rabiner |first1=Lawrence R. |author1-link=Lawrence Rabiner |last2=Gold |first2=Bernard |date=1975 |title=Theory and application of digital signal processing |page=59 (2.163) |location=Englewood Cliffs, NJ |publisher=Prentice-Hall, Inc. |isbn=978-0139141010 |url-access=registration |url=https://archive.org/details/theoryapplicatio00rabi }}</ref> <ref name=Oppenheim> {{Cite book |last1=Oppenheim |first1=Alan V. |author-link=Alan V. Oppenheim |last2=Schafer |first2=Ronald W. |author2-link=Ronald W. Schafer |last3=Buck |first3=John R. |title=Discrete-time signal processing |year=1999 |publisher=Prentice Hall |location=Upper Saddle River, N.J. |isbn=0-13-754920-2 |edition=2nd |chapter=4.2, 8.4 |url-access=registration |url=https://archive.org/details/discretetimesign00alan |quote=samples of the Fourier transform of an aperiodic sequence x[n] can be thought of as DFS coefficients of a periodic sequence obtained through summing periodic replicas of x[n]. }} </ref> <ref name=Crochiere> {{cite book |last1=Crochiere |first1=R.E. |last2=Rabiner |first2=L.R. |title=Multirate Digital Signal Processing |year=1983 |chapter=7.2 |pages=313–326 |publisher=Prentice-Hall |location=Englewood Cliffs, NJ |isbn=0136051626 |url=https://kupdf.net/download/multirate-digital-signal-processing-crochiere-rabiner_58a7065b6454a7e80bb1e993_pdf }}</ref> <ref name=Rao> {{cite book |title=Signals and Systems |author=Rao, R. |isbn=9788120338593 |url=https://books.google.com/books?id=4z3BrI717sMC |publisher=Prentice-Hall Of India Pvt. Limited |year=2008 }}</ref> <ref name=Matlab> {{cite web|url=https://www.mathworks.com/help/signal/ref/periodogram.html |title=Periodogram power spectral density estimate - MATLAB periodogram }}</ref> <ref name=Gumas> {{cite journal|last=Gumas |first=Charles Constantine |date=July 1997 |title=Window-presum FFT achieves high-dynamic range, resolution |journal=Personal Engineering & Instrumentation News |pages=58–64 |url=http://www.chipcenter.com/dsp/DSP000315F1.html |url-status=bot: unknown |archive-url=https://web.archive.org/web/20010210052902/http://www.chipcenter.com/dsp/DSP000315F1.html |archive-date=2001-02-10 }}</ref> <ref name=Lillington> {{cite web |last=Lillington |first=John |title=Comparison of Wideband Channelisation Architectures |url=http://pdfs.semanticscholar.org/f3af/7acf516685ad04b3ebe19eb79db4dc3feb39.pdf |archive-url=https://web.archive.org/web/20190308132844/http://pdfs.semanticscholar.org/f3af/7acf516685ad04b3ebe19eb79db4dc3feb39.pdf |url-status=dead |archive-date=2019-03-08 |page=4 (fig 7) |access-date=2020-09-06 |publisher=International Signal Processing Conference |date=March 2003 |location=Dallas |s2cid=31525301 |quote=The "Weight Overlap and Add" or WOLA or its subset the "Polyphase DFT", is becoming more established and is certainly very efficient where large, high quality filter banks are required. }}</ref> <ref name=Lillington2> {{cite web |last1=Lillington |first1=John |title=A Review of Filter Bank Techniques - RF and Digital |website=armms.org |publisher=Libra Design Associates Ltd |access-date=2020-09-06 |location=Isle of Wight, UK |page=11 |url=https://www.armms.org/media/uploads/16_lillington_a-review-of-filter-bank-techniques--.pdf |quote=Fortunately, there is a much more elegant solution, as shown in Figure 20 below, known as the Polyphase or WOLA (Weight, Overlap and Add) FFT. }}</ref> <ref name=Chennamangalam> {{cite web |last=Chennamangalam| first=Jayanth |title=The Polyphase Filter Bank Technique |publisher=CASPER Group |date=2016-10-18 |url=https://casper.berkeley.edu/wiki/The_Polyphase_Filter_Bank_Technique |access-date=2016-10-30 }}</ref> <ref name=Lyons> {{cite web |last=Lyons |first=Richard G. |title=DSP Tricks: Building a practical spectrum analyzer |publisher=EE Times |date=June 2008 |url=https://www.embedded.com/dsp-tricks-building-a-practical-spectrum-analyzer |access-date=2024-09-19 }} Note however, that it contains a link labeled ''weighted overlap-add structure'' which incorrectly goes to [[Overlap-add method]]. </ref> <ref name=Dahl> {{cite thesis |last=Dahl |first=Jason F. |date=2003-02-06 |title=Time Aliasing Methods of Spectrum Estimation |type=Ph.D. |publisher=Brigham Young University |url=http://scholarsarchive.byu.edu/cgi/viewcontent.cgi?article=1049&context=etd |access-date=2016-10-31 }}</ref> <ref name=Wang> {{cite book |first1=Hong |last1=Wang |first2=Youxin |last2=Lu |first3=Xuegang |last3=Wang |title=2006 CIE International Conference on Radar |chapter=Channelized Receiver with WOLA Filterbank |pages=1–3 |date=16 October 2006 |doi=10.1109/ICR.2006.343463 |publisher=IEEE |location=Shanghai, China |isbn=0-7803-9582-4 |s2cid=42688070 }}</ref> <ref name=Lin> {{cite journal |last1=Lin |first1=Yuan-Pei |last2=Vaidyanathan |first2=P.P. |title=A Kaiser Window Approach for the Design of Prototype Filters of Cosine Modulated Filterbanks |journal=IEEE Signal Processing Letters |volume=5 |issue=6 |pages=132–134 |date=June 1998 |url=http://authors.library.caltech.edu/6891/1/LINieeespl98.pdf |access-date=2017-03-16|doi=10.1109/97.681427 |bibcode=1998ISPL....5..132L |s2cid=18159105 }}</ref> <ref name=Harrisbook> {{cite book |last=Harris |first=Frederic J. |title=Multirate Signal Processing for Communication Systems |publisher=Prentice Hall PTR |location=Upper Saddle River, NJ |date=2004-05-24 |chapter=9 |pages=226–253 |isbn=0131465112 }}</ref> <ref name=Harris> {{cite journal |doi=10.1109/PROC.1978.10837 |last=Harris |first=Fredric J. |title=On the use of Windows for Harmonic Analysis with the Discrete Fourier Transform |journal=Proceedings of the IEEE |volume=66 |issue=1 |pages=51–83 |date=Jan 1978 |url=http://web.mit.edu/xiphmont/Public/windows.pdf |citeseerx=10.1.1.649.9880|bibcode=1978IEEEP..66...51H |s2cid=426548 }}</ref> <ref name="Hochgürtel"> {{citation |last1=Hochgürtel |first1=Stefan |title=Efficient implementations of high-resolution wideband FFT-spectrometers and their application to an APEX Galactic Center line survey |url=https://bonndoc.ulb.uni-bonn.de/xmlui/bitstream/handle/20.500.11811/5701/3251.pdf |publisher=Rhenish Friedrich Wilhelms University of Bonn |access-date=2024-09-19 |location=Bonn |chapter=2.5 |pages=26–31 |date=2013 |bibcode=2013PhDT.......427H |quote=To perform M-fold WOLA for an N-point DFT, M·N real input samples a<sub>j</sub> first multiplied by a window function w<sub>j</sub> of same size }}</ref> <ref name=Prandoni> {{cite book |last1=Prandoni |first1=Paolo |last2=Vetterli |first2=Martin |title=Signal Processing for Communications |date=2008 |publisher=CRC Press |location=Boca Raton, FL |isbn=978-1-4200-7046-0 |edition=1 |url=https://www.sp4comm.org/docs/sp4comm.pdf |access-date=4 October 2020 |pages=72, 76 |quote=the DFS coefficients for the periodized signal are a discrete set of values for its DTFT }}</ref> <!-- <ref name=JOS> {{cite web |last=Smith |first=Julius O. | title=`Introduction to Digital Filters with Audio Applications | publisher=Center for Computer Research in Music and Acoustics (CCRMA), Stanford University | date = 2007-09-01 | url=https://ccrma.stanford.edu/~jos/filters06/Units.html | website = ccrma.stanford.edu | access-date = 2024-10-01 | quote = It can be helpful to think ``seconds per sample'' and ``samples per second,'' where ``samples'' is a dimensionless quantity (pure number) included for clarity. }}</ref> --> }} {{refbegin}} == Further reading== *{{cite book|title=A Course in Digital Signal Processing|last=Porat|first=Boaz|date=1996|publisher=John Wiley and Sons|isbn=0-471-14961-6|pages=27–29 and 104–105}} *{{cite book|title=Circuits, Signals, and Systems|last=Siebert|first=William M.|publisher=MIT Press|year=1986|isbn=0262690950|location=MIT Electrical Engineering and Computer Science Series. Cambridge, MA}} *{{cite book|title=Understanding Digital Signal Processing|last=Lyons|first=Richard G.|publisher=Prentice Hall|year=2010|isbn=978-0137027415|edition=3rd}} {{refend}} {{DSP}} [[Category:Transforms]] [[Category:Fourier analysis]] [[Category:Digital signal processing]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Anchor
(
edit
)
Template:Cite book
(
edit
)
Template:DSP
(
edit
)
Template:Distinguish
(
edit
)
Template:Efn-la
(
edit
)
Template:Efn-ua
(
edit
)
Template:EquationNote
(
edit
)
Template:EquationRef
(
edit
)
Template:Equation box 1
(
edit
)
Template:Fourier transforms
(
edit
)
Template:Main
(
edit
)
Template:Math
(
edit
)
Template:Mvar
(
edit
)
Template:Notelist-la
(
edit
)
Template:Notelist-ua
(
edit
)
Template:Refbegin
(
edit
)
Template:Refend
(
edit
)
Template:Reflist
(
edit
)
Template:Rp
(
edit
)
Template:Short description
(
edit
)
Template:Slink
(
edit
)