Rowan-Classes/6th-Semester-Spring-2024/DSP/Labs/Lab-04/lab-4.tex
2024-04-17 22:51:14 -04:00

96 lines
4.4 KiB
TeX

\documentclass{article}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{graphicx}
\usepackage{listings}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{float}
\usepackage[margin=1in]{geometry}
\title{Discrete Fourier Transforms and Z-Transforms}
\author{Aidan Sharpe \& Elise Heim}
\DeclareMathOperator{\sinc}{sinc}
\begin{document}
\begin{titlepage}
\maketitle
\end{titlepage}
\section{Results \& Discussion}
\subsection{The Discrete Fourier Transform (DFT)}
Given a signal, $x[n]$, it's $N$-point DFT is given by
\begin{equation}
X_k = \sum_{n=0}^{N-1} x[n] W_N^{kn},
\label{eqn:DFT_def}
\end{equation}
where $W_N = e^{-j2\pi/N}$. The discrete Fourier transform is the sampled version of the discrete time Fourier transform (DTFT), which is a continuous function. More specifically, the $N$-point DFT contains $N$ samples from the continuous DTFT.
\\
\\
For example, consider the signal $x[n] = (-1)^n$ for $0 \le n \le N-1$. By evaluating the sum shown in equation \ref{eqn:DFT_def} as a truncated geometric series, the $N$-point DFT of $x[n]$ can be found. All truncated geometric series are evaluated as
\begin{equation}
\sum_{k=0}^{n-1} a r^k =
\begin{cases}
an & r = 1 \\
a\left({1 - r^n \over 1 - r}\right) & r \ne 1
\end{cases},
\end{equation}
where $r$ is the common ratio between adjacent terms. For the $N$-point DFT of $x[n]$, the common ratio is $-W_N^k$, which takes a value of 1 for $k = {N\over2}$. Therefore, the $N$-point DFT of $x[n]$ is
\begin{equation}
X[k] = \begin{cases}
N & k = {N \over 2} \\
\left({1 - (-W_N^k)^N \over 1 - (-W_N^k)}\right) & k \ne {N \over 2}
\end{cases}.
\label{eqn:DFT_N_point}
\end{equation}
The $N$-point DFT of $x[n]$, where $N=8$ is seen in figure \ref{fig:N_point_DFT}. It only has a non-zero value for $k={N\over2}=4$. This is the case for all even-number-point DFTs. Therefore, only odd-number-point DFTs should be used.
\begin{figure}[h]
\center
\includegraphics[width=0.5\textwidth]{N8_point_DFT.png}
\caption{The $N$-point DFT of $x[n]$, where $N=8$}
\label{fig:N_point_DFT}
\end{figure}
For example, the 9-point DFT of $x[n]$, where $N=8$ is seen in figure \ref{fig:9_point_DFT}. While equation \ref{eqn:DFT_N_point} cannot be used because there are a different number of samples for the DFT and the input signal, the overall DFT is more useful than the 8-point DFT.
\begin{figure}[h]
\center
\includegraphics[width=0.5\textwidth]{Q9_point_DFT.png}
\caption{The 9-point DFT of $x[n]$, where $N=8$}
\label{fig:9_point_DFT}
\end{figure}
\subsection{The Z-Transform}
Given a discrete signal, $x[n]$, its z-transform is given by
\begin{equation}
X(z) = \sum_n x[n] z^{-n}
\end{equation}
where $z$ is a complex variable. The Z-transform of any discrete signal is a continuous function. Therefore, any attempt to calculate the Z-transform with a digital computer requires sampling or symbolic math. Symbolic math is quite a powerful tool, and others have worked hard to implement the Z-transform as a symbolic function. In MATLAB, this function is \verb|ztrans|.
\\
\\
The Z-transform of the following signals can be found very quickly using this method:
$$x_1[n] = a^n u[n]$$
$$x_2[n] = (n+1)a^n u[n]$$
$$x_3[n] = a^n \cos(bn) u[n]$$
$$\mathcal{Z}\{x_1[n]\} = -{z \over a - z}$$
$$\mathcal{Z}\{x_2[n]\} = {az \over (a - z)^2} - {z \over a - 2}$$
$$\mathcal{Z}\{x_3[n]\} = -{z(\cos(b) - z/a) \over a{z^2\over a^2} - {2z\cos(b) \over a} + 1}$$
\subsection{The Inverse Z-Transform}
Similarly, the inverse Z-transform also benefits from using a symbolic calculator. For example, the inverse Z-transform of the following can be found rapidly:
$$\mathcal{Z}\{x_4[n]\} = {z \over z + 0.5}$$
$$\mathcal{Z}\{x_5[n]\} = {z^2 \over (z-0.8)^2}$$
$$\mathcal{Z}\{x_6[n]\} = {z \over (z+0.3)(z+0.6)^2}$$
$$x_4[n] = (-1/2)^n$$
$$x_5[n] = 2(4/5)^n (n-1)(4/5)^n$$
$$x_6[n] = {50n(-3/5)^n - 100(-3/5)^n + 100(-3/10)^n \over 9}$$
\section{Conclusions}
Overall understanding tricks for calculating geometric sums is very helpful for calculating DFTs. It is also important to use odd-number-point DFTs only, as taking an even number of samples forces almost all values to go to zero. As for Z-transforms and inverse Z-transforms, knowing how to use symbolic computation makes finding them quite easy. Additionally, symbolic computation allows for the easy manipulation of how simplified or expanded the result is.
\end{document}