CTE 444 - Part 2
CTE 444 - Part 2
CTE 444 - Part 2
A Discrete-Time Signal is a sequence of values that are defined only at discrete points in time.
Unlike continuous-time signals that are defined for every time instance, discrete-time signals are
represented as a sequence of numbers, where each number corresponds to the signal's value at a
specific time instant. A discrete-time signal is commonly denoted as x[n], where n is an integer
representing the time index, and x[n] is the signal's value at time n. The sequence could be finite
or infinite. For example, x[n] = {1, 2, 3, 4 …} is a discrete-time signal.
1. Periodicity: A discrete-time signal is periodic if x[n + N] =x [n] for some positive integer
N.
2. Causality: A discrete-time signal is causal if x[n] = 0 for all n < 0.
3. Even and Odd Signals: A signal is even if x[n] = x[−n] and odd if x[n] = −x[−n].
A Discrete-Time System processes or transforms discrete-time signals. It takes an input signal
x[n] and produces an output signal y[n]. The system can be represented as a function T that maps
the input signal x[n] to the output signal y[n], i.e., y[n] = T{x[n]}.
System Representation
Impulse Response: The response of a discrete-time system to a discrete impulse δ[n] is called
the impulse response, denoted as h[n]. For linear time-invariant (LTI) systems, the output y[n]
can be computed using the convolution sum:
∞
Discrete Fourier Transform (DFT) and Inverse Discrete Fourier Transform (IDFT)
The Discrete Fourier Transform (DFT) and Inverse Discrete Fourier Transform (IDFT) are
essential tools in digital signal processing for analyzing and manipulating signals in the
frequency domain.
𝑁−1
2𝜋𝑘𝑛
𝑋[𝑘] = ∑ 𝑥[𝑛]. 𝑒 −𝑗 𝑁 , 𝑘 = 0, 1, … , 𝑁 − 1
𝑛=0
Where:
The IDFT converts a sequence of frequency-domain components back into the time-domain
sequence. It is defined as:
𝑁−1
1 2𝜋𝑘𝑛
𝑥[𝑛] = ∑ 𝑋[𝑘] . 𝑒 𝑗 𝑁 , 𝑛 = 0, 1, … , 𝑁 − 1
𝑁
𝑘=0
Where:
An example of how to convert a signal to the frequency domain using the DFT, reconstruct it
back to the time domain using the IDFT, and print the original signal x, the DFT of the signal X,
and the reconstructed signal x_reconstructed:
import numpy as np
X = np.fft.fft(x)
x_reconstructed = np.fft.ifft(X)
# Print results
This code converts a digital signal x from the time domain to the frequency domain using the
Discrete Fourier Transform (DFT) via NumPy's fft function. It then reconstructs the signal back
to the time domain using the Inverse Discrete Fourier Transform (IDFT) via the ifft function.
The original signal, its DFT (frequency-domain representation), and the reconstructed signal are
printed to verify that the IDFT successfully recovers the original time-domain signal.
Digital Filters
Digital filters are mathematical algorithms designed to process discrete-time signals (digital
signals) to achieve specific filtering objectives, such as removing unwanted components (e.g.,
noise) or extracting useful parts of the signal (e.g., particular frequency bands). They operate on
a digital signal by manipulating its values according to a predefined formula, transforming the
signal in a way that meets the desired criteria. Unlike analog filters, which work on continuous-
time signals, digital filters process sampled (discrete) data, making them suitable for
implementation in digital systems, such as computers, DSPs, and microcontrollers.
Finite Impulse Response (FIR) filters respond to an impulse with a finite number of nonzero
outputs, meaning their impulse response settles to zero after a certain period. They are inherently
stable because they do not rely on feedback from previous outputs. FIR filters are designed by
directly specifying the filter coefficients and are commonly implemented using convolution,
where the output y[n] is computed as a weighted sum of the current and past input values:
𝑦[𝑛] = ∑ 𝑏𝑘 . 𝑥[𝑛 − 𝑘]
𝑘=0
where 𝑏𝑘 are the filter coefficients and x[n-k] are the input values.
Infinite Impulse Response (IIR) filters respond to an impulse with an output that theoretically
continues indefinitely, as their feedback mechanism can cause the output to persist. These filters
use both the current and past input values, as well as previous output values, to compute the
current output. While IIR filters are efficient in terms of the number of computations required,
they can be less stable than FIR filters. The output y[n] is computed using both input and
feedback terms:
𝑀 𝑁
where 𝑏𝑘 are the feed forward coefficients, and 𝑎𝑘 are the feedback coefficients.
Digital filters can be designed to have specific frequency responses, allowing them to selectively
amplify or attenuate particular frequency components of a signal. For example, low-pass filters
allow low-frequency signals to pass while attenuating high-frequency signals, and high-pass
filters allow high-frequency signals to pass while attenuating low-frequency signals. Band-pass
filters allow signals within a certain frequency band to pass while attenuating frequencies outside
this band, while band-stop filters attenuate signals within a specific frequency band while
allowing others to pass.
Various design methods exist for digital filters, such as windowing methods, the bilinear
transform, and optimization techniques. The choice of design method depends on the required
filter characteristics, such as the desired passband, stopband, and transition band specifications.
TIME AND FREQUENCY DOMAINS FUNCTIONS
Z-Transformation
The z-transform is a powerful mathematical tool used in the analysis and design of discrete-time
systems. It is analogous to the Laplace transform used in continuous-time systems and serves as
a bridge between the time domain and the frequency domain for discrete signals. The z-
transform converts a discrete-time signal, typically a sequence of samples, into a complex
frequency-domain representation. This transformation simplifies the analysis of linear time-
invariant (LTI) systems and makes it easier to solve difference equations, analyze system
stability, and design digital filters.
Unlike the discrete Fourier transform (DFT), which specifically deals with frequency
components (magnitude and phase) of a signal, the z-transform is more general and provides
insight into both the signal's frequency response and its stability. The z-domain encompasses
both magnitude (distance from the origin) and phase (angle around the origin) information,
offering a broader perspective on the signal and system behavior.
𝑋(𝑧) = ∑ 𝑥[𝑛]. 𝑧 −𝑛
𝑛=−∞
Here, z is a complex variable defined as 𝑧 = 𝑟𝑒 𝑗𝜔 , where r is the magnitude, and ω is the angular
frequency. The z-transform essentially maps the time-domain signal into the complex z-plane.
Types of Z-Transform
1. Bilateral Z-Transform: This is the most general form of the z-transform and includes all
values of n from negative to positive infinity:
∞
𝑋(𝑧) = ∑ 𝑥[𝑛]. 𝑧 −𝑛
𝑛=−∞
It is used when the signal is defined for both positive and negative values of n.
2. Unilateral Z-Transform: This is a more restricted form of the z-transform and includes
only non-negative values of n:
𝑋(𝑧) = ∑ 𝑥[𝑛]. 𝑧 −𝑛
𝑛=0
The unilateral z-transform is often used when analyzing causal systems, where the signal
is defined for n ≥ 0.
The z-transform has several important properties that are useful for analyzing and manipulating
discrete-time signals and systems. Here are some key properties:
1. Linearity: The z-transform is a linear operation. If x1[n] and x2[n] are discrete-time
signals with z-transforms X1(z) and X2(z) respectively, and a1 and a2 are constants, then
the z-transform of a1x1[n] + a2x2[n] is:
2. Time Shifting: If x[n] has a z-transform X(z), then shifting the signal by n0 units results
in:
Right Shift (Delay): If x[n − n0] (for n0 ≥ 0), the z-transform is:
Left Shift (Advance): If x[n + n0] (for n0 ≥ 0), the z-transform is:
Z{x[n + n0 ]} = z n0 X(z)
3. Time Reversal: Reversing the time axis of x[n], denoted as x[−n], results in:
1
Z{x[−n]} = X ( )
z
4. Time Scaling: If the signal x[n] is scaled by a (i.e., x[an]), where aaa is an integer:
a−1
1 1 2πk
Z{x[an]} = ∑ X(z a . ej a )
a
k=0
Z{x[an]} = X(z a )
5. Convolution: The z-transform of the convolution of two signals x1[n] and x2[n] is the
product of their individual z-transforms:
Rational of z – Transformation
The z-transform is a fundamental tool in digital signal processing and control systems that help
bridge the gap between time-domain analysis and frequency-domain analysis for discrete-time
signals and systems. The rationale behind using the z-transform:
Many discrete-time systems are described by linear difference equations, which can be
challenging to solve directly. The z-transform converts these difference equations into algebraic
equations in the z-domain. This simplification allows for easier manipulation and solution of
these equations, facilitating the analysis of system behavior and design.
3. Frequency-Domain Representation
In the z-domain, you can assess the stability and causality of a system by examining the location
of poles and zeros. A system is stable if all its poles lie within the unit circle in the z-plane. This
criterion provides a straightforward method to analyze and ensure the stability of digital systems
and filters.
The z-transform is versatile in handling both causal (where the signal starts at or after n = 0) and
non-causal systems. It can be applied to signals that are defined for all values of n (both positive
and negative), making it suitable for a wide range of applications.
6. Initial and Final Value Theorems
The z-transform provides initial and final value theorems, which offer insights into the signal's
behavior at the start and as n approaches infinity. These theorems simplify the process of
determining the initial and final states of a system from its z-transform.
In digital filter design, the z-transform helps specify and analyze filter characteristics. By
designing filters in the z-domain, you can specify desired frequency responses and analyze the
filter’s performance. The resulting filters can be implemented using digital processors or
software.
The z-transform makes convolution operations simpler by converting them into multiplication in
the z-domain. This property is useful for determining the system response to various inputs and
combining the effects of multiple systems.
Inverse Z-Transform
The inverse z-transform converts the frequency-domain representation X(z) back into the time-
domain sequence x[n]. Several methods exist for finding the inverse z-transform, including:
Analyzing a discrete-time system using the Z-transform involves examining the system’s
behavior through its transfer function, which is derived from the Z-transform of the system’s
difference equation. The transfer function, representing the ratio of the Z-transform of the output
to that of the input, reveals key characteristics of the system by identifying its poles and zeros.
The location of the poles in the z-plane indicates the system’s stability, with stability ensured if
all poles lie inside the unit circle. Additionally, by substituting z = ejω into the transfer function,
one can determine the frequency response, which describes how the system reacts to various
input frequencies.
Example:
Solution:
Rearranging terms:
Y(z) 1
H(z) = =
X(z) 1 − 0.5z −1
Simplify to:
z
H(z) =
z − 0.5
Zeros:
z
The zeros are the roots of the numerator of H(z). For H(z) = z−0.5 , the numerator is z, so
there is a zero at z = 0.
Poles:
z
The poles are the roots of the denominator of H(z). For H(z) = z−0.5 , the denominator is
To assess stability, check the location of the poles in the z-plane. A system is stable if all
poles lie inside the unit circle (i.e., ∣z∣ < 1).
The pole for this system is at z = 0.5. Since ∣0.5∣ < 1, the pole is inside the unit circle.
Therefore, the system is stable.
This expression provides the frequency response of the system. It tells us how the
system's output amplitude and phase will change in response to different input
frequencies ω.
THE FUNCTIONAL DIFFERENCES BETWEEN THE DFT, FFT AND FOURIER
TRANSFORMATION
1. Fourier Transform: The Fourier Transform (FT) is a key tool in frequency analysis. It
transforms a continuous-time signal x(t) from the time domain into the frequency
domain, resulting in a function X(f) that describes the signal’s frequency content.
Mathematically, the Fourier Transform is defined as:
∞
𝑋(𝑓) = ∫ 𝑥(𝑡)𝑒 −𝑗2𝜋𝑓𝑡 𝑑𝑡
−∞
Here, X(f) represents the amplitude and phase of each frequency component in the signal,
where f is the frequency variable.
2. Magnitude and Phase Spectrum: The result of the Fourier Transform, X(f), is a
complex function. To understand the signal’s frequency characteristics, we often analyze
the magnitude and phase spectra. The magnitude spectrum ∣X(f)∣ shows how much of
each frequency is present in the signal, while the phase spectrum ∠X(f) shows the phase
shift of each frequency component.
3. Frequency Domain Representation: In the frequency domain, a signal is represented as
a sum of sinusoidal components with different frequencies, amplitudes, and phases. This
representation helps in understanding how different frequency components contribute to
the overall signal.
4. Applications: Frequency analysis is used in various applications, including signal
processing, communications, and audio analysis. For instance, in audio processing, it
helps identify the different tones and harmonics in a sound signal. In communications, it
is used to analyze and filter signals for better transmission and reception.
5. Inverse Fourier Transform: To convert the frequency domain representation back to
the time domain, the Inverse Fourier Transform (IFT) is used. This process reconstructs
the original signal from its frequency components.
∞
𝑥(𝑡) = ∫ 𝑋(𝑓)𝑒 𝑗2𝜋𝑓𝑡 𝑑𝑓
−∞
The frequency analysis through the Fourier Transform provides a powerful way to analyze and
manipulate continuous-time signals by breaking them down into their constituent frequency
components.
Frequency analysis of discrete-time signals involves examining how the signal's energy is
distributed across various frequencies. This analysis helps in understanding the frequency
components present in the signal and their contributions. An overview of how this analysis is
performed for discrete-time signals:
1. Discrete Fourier Transform (DFT): The Discrete Fourier Transform (DFT) is used to
analyze discrete-time signals. It transforms a finite sequence of discrete data points from
the time domain into the frequency domain, providing a representation of the signal's
frequency content. For a discrete-time signal x[n] with N samples, the DFT is defined as:
𝑁−1
2𝜋𝑘𝑛
𝑋[𝑘] = ∑ 𝑥[𝑛]𝑒 −𝑗 𝑁
𝑛=0
Here, X[k] represents the frequency components of the signal, where k is the frequency
index.
2. Magnitude and Phase Spectrum: The DFT result, X[k], is a complex sequence. To
understand the signal's frequency content, we analyze the magnitude and phase spectra.
The magnitude spectrum ∣X[k]∣ shows the amplitude of each frequency component, while
the phase spectrum ∠X[k] reveals the phase shift of each frequency component.
3. Frequency Domain Representation: The DFT provides a frequency domain
representation of the discrete-time signal as a sum of sinusoids with different frequencies,
amplitudes, and phases. This representation is useful for analyzing the periodicity and
frequency content of the signal.
4. Fast Fourier Transform (FFT): The Fast Fourier Transform (FFT) is an efficient
algorithm for computing the DFT. It reduces the computational complexity from O(N^2)
to O(NlogN), making it practical for analyzing large signals. The FFT algorithm speeds
up the process of frequency analysis and is widely used in digital signal processing.
5. Applications: Frequency analysis of discrete-time signals is used in various applications,
including digital audio processing, image processing, and communications. For instance,
in audio processing, it helps in identifying different frequencies and filtering noise. In
communications, it aids in signal modulation and demodulation.
6. Inverse Discrete Fourier Transform (IDFT): To convert the frequency domain
representation back to the time domain, the Inverse Discrete Fourier Transform (IDFT) is
used. It reconstructs the original discrete-time signal from its frequency components.
𝑁−1
1 2𝜋𝑘𝑛
𝑥[𝑛] = ∑ 𝑋[𝑘]𝑒 −𝑗 𝑁
𝑁
𝑘=0
The frequency analysis using the DFT and FFT provides a powerful means of examining and
manipulating discrete-time signals by breaking them down into their constituent frequency
components.
The Discrete Fourier Transform (DFT) is a fundamental tool in digital signal processing used to
analyze the frequency content of discrete-time signals. It converts a finite sequence of discrete
data points from the time domain into the frequency domain. An overview of the DFT:
Definition
For a discrete-time signal x[n] consisting of N samples, the DFT is defined as:
𝑁=1
2𝜋𝑘𝑛
𝑋[𝑘] = ∑ 𝑥[𝑛]𝑒 −𝑗 𝑁
𝑛=0
where:
Key Concepts
𝑁−1
1 2𝜋𝑘𝑛
𝑥[𝑛] = ∑ 𝑋[𝑘] 𝑒 𝑗 𝑁
𝑁
𝑘=0
This reconstructs the original discrete-time signal from its frequency components.
3. Complex Spectrum: The DFT result X[k] is generally complex, comprising both
magnitude and phase information. The magnitude spectrum ∣X[k]∣ represents the
amplitude of each frequency component, while the phase spectrum ∠X[k] indicates the
phase shift.
4. Properties: The DFT has several important properties including linearity, time and
frequency shifting, and convolution. These properties help in manipulating and analyzing
signals effectively.
5. Applications: The DFT is used in various applications such as signal processing, image
analysis, audio processing, and communications. It helps in tasks like filtering, spectral
analysis, and data compression.
6. Computational Efficiency: The DFT can be computationally intensive for large N. The
Fast Fourier Transform (FFT) is an efficient algorithm for computing the DFT, reducing
the computational complexity from O(N^2) to O(NlogN).
The Discrete Fourier Transform (DFT) is a critical tool for analyzing the frequency content of
discrete-time signals. It transforms a sequence of NNN time-domain samples into NNN
frequency components, providing insight into the signal’s frequency characteristics. The DFT is
widely used in digital signal processing and can be efficiently computed using algorithms like
the FFT.
The Fast Fourier Transform (FFT) is an efficient algorithm used to compute the Discrete Fourier
Transform (DFT) of a sequence or its inverse. The FFT reduces the computational complexity of
the DFT from O(N^2) to O(NlogN), making it feasible to analyze large datasets in practical time.
The FFT is designed to efficiently compute the DFT of a discrete-time signal, which transforms a
sequence of N time-domain samples into N frequency components. The FFT algorithm achieves
this by exploiting symmetries and redundancies in the DFT computation.
The FFT works by recursively breaking down the DFT computation into smaller DFTs, which
are easier to handle and combine. This divide-and-conquer approach reduces the number of
required calculations.
Key Algorithms
There are several algorithms for computing the FFT, with the most common being:
1. Cooley-Tukey Algorithm:
o Radix-2 Cooley-Tukey: This is the most widely used FFT algorithm, which
requires that the number of samples N be a power of 2. It recursively divides the
DFT into smaller DFTs by separating the even and odd indexed samples.
o Algorithm Steps:
▪ Divide: Split the input sequence into two halves, one containing the even-
indexed samples and the other the odd-indexed samples.
▪ Conquer: Recursively compute the FFT of these smaller sequences.
▪ Combine: Combine the results of these smaller FFTs to obtain the final
DFT.
2. Radix-4 and Mixed-Radix FFT:
o These algorithms generalize the Radix-2 approach to handle cases where N is a
power of 4 or other composite numbers. They further reduce the number of
operations by dividing the sequence into more parts.
Computational Efficiency
The Fourier Transform (FT) is a mathematical technique used to analyze the frequency
components of continuous-time signals by transforming them from the time domain to the
frequency domain. The Discrete Fourier Transform (DFT) applies this concept to discrete-time
signals, transforming a finite sequence of data points into its frequency components. The Fast
Fourier Transform (FFT) is an efficient algorithm for computing the DFT, significantly reducing
the computational complexity from O(N^2) to O(NlogN). While the FT deals with continuous
signals, the DFT and FFT are used for discrete signals, with the FFT offering a practical and
computationally efficient means to compute the DFT.
ASSIGNMENT
1. Explain the properties of the Fourier Transform for Discrete - Time Signals
2. Explain Frequency - Domain characteristics of LTI Systems
3. Explain Frequency Response of LTI systems
4. Explain frequency response as discrete time Fourier transform (DTFT) of impulse
response
5. Explain the properties of the Fourier Transform for Discrete - Time Signals
6. State the applications of DFT and FFT