electrical signals systems fourier transforms
- Representation of Aperiodic Signals
- Development of the DT FT
- Examples of DT FT
- Convergence Issues with the DT FT
- FT for Periodic Signals
- Properties of the DT FT
- Periodicity of the DT FT
- Linearity of the FT
- Time shifting and Frequency Shifting
- Conjugation and Conjugate Symmetry
- Differencing and Accumulation
- Time Reversal
- Time Expansion
- Differentiation in Frequency
- Parseval’s Relation
- The Convolution Property
- The Multiplication Property
- Duality
There are strong parallels between discrete and continuous signals, but there are important differences
- the Fourier Series of a discrete-time periodic signal is a finite series, but the continuous-time representation is infinite
- Similarly there are strong differences in the the Fourier Transforms too.
Representation of Aperiodic Signals: The Discrete-Time Fourier Transform
Derivation
Consider a general sequence of finite duration as shown below
:
We can construct a periodic sequence for which is one period. We can choose the period as we like, and as we get
:
Now that is a period function we can take its Fourier Series representation:
gives you a set over one time period, typically or
define the Fourier Transform as
where
Discrete Time Fourier Transform Representation of Aperiodic Signals:
- is periodic unlike the continuous case (with period )
- this implies that the Fourier Series coefficients are periodic
- the Fourier Series representation is a finite sum
- the interval of integration is finite in the synthesis equation
signals at frequencies near are considered slow moving or low-frequency signals signals at frequencies near are considered high-frequency signals
Examples
Consider the function
- this Fourier Transform is for , you can notice that the peaks are concentrated toward making this a low-frequency signal.
- Setting makes this a high-frequency graph
Python Function for Graphs
def myFunc(a| n): unit = []; for sample in n: if sample >= 0: unit.append(float(a**sample)) else: unit.append(0) return unit UL = 10 LL = -10 n = np.arange(LL, UL, 1) unit = myFunc(0.5, n) plt.stem(n, unit) plt.xlabel('n') plt.xticks(np.arange(LL, UL + 1, 10)) plt.yticks(np.arange(0, 1.05, 0.05)) plt.ylabel('x[n]') def DFT(x): """ Function to calculate the discrete Fourier Transform of a 1D real-valued signal x """ N = len(x) n = np.arange(N) k = n.reshape((N, 1)) e = np.exp(-2j * np.pi * k * n / N) X = np.dot(e, x) return X sr = 1 X = DFT(unit) N = len(X) n = np.arange(N) T = N/sr freq = n/T plt.figure(figsize = (8, 6)) plt.stem(freq, abs(X), 'b', basefmt="-b") plt.xlabel('Freq (Hz)') plt.ylabel('DFT Amplitude |X(freq)|') plt.show()