From 7c0fa48e6248cb8893460971509660c4511ceae9 Mon Sep 17 00:00:00 2001 From: SARA Date: Tue, 30 Nov 2021 20:32:54 +0100 Subject: Theory mit fractional delay erweitert --- doc/thesis/chapters/theory.tex | 57 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 54 insertions(+), 3 deletions(-) (limited to 'doc/thesis/chapters/theory.tex') diff --git a/doc/thesis/chapters/theory.tex b/doc/thesis/chapters/theory.tex index 64d412b..e3c0117 100644 --- a/doc/thesis/chapters/theory.tex +++ b/doc/thesis/chapters/theory.tex @@ -223,7 +223,7 @@ Equation \eqref{eqn:multipath-frequency-response} shows that the frequency respo } \end{figure} -\subsection{Discrete-time model} +\subsection{Discrete-time model}\label{sec:Discrete-time-model} Since in practice signal processing is done digitally, it is meaningful to discuss the properties of a discrete-time model. To keep the complexity of the model manageable some assumptions are necessary, thus the sent discrete signal \(s(n)\)\footnote{This is an abuse of notation. The argument \(n\) is used to mean the \(n\)-th digital sample of \(s\), whereas \(s(t)\) is used for the analog waveform.} is assumed to have a finite single sided bandwidth \(W\). This implies that in the time-domain signal is a series of sinc-shaped pulses each shifted from the previous by a time interval \(T = 1 / (2W)\) (Nyquist rate): \begin{equation} @@ -272,11 +272,62 @@ f = np.logspace(5, 8, num=320) multipath = tap(.8, 500e-9, f) + tap(.4, 300e-9, f) \end{lstlisting} -\subsection{Difficulties caused by discrete time} +\subsection{Fractional Delay}\label{sec:fractional-delay} +% TO Do quelle: http://users.spa.aalto.fi/vpv/publications/vesan_vaitos/ch3_pt1_fir.pdf + +\begin{figure} + \centering + \begin{subfigure}{.45\linewidth} + \includegraphics[width=\linewidth]{./figures/screenshots/Fractional_delay_6} + \caption{sinc function shifted by the delay = 6.0, with the sample points} + \end{subfigure} + \hskip 5mm + \begin{subfigure}{.45\linewidth} + \includegraphics[width=\linewidth]{./figures/screenshots/Fractional_delay_637} + \caption{sinc function shifted by the delay = 6.37, with the sample points} + \end{subfigure} + \label{fig:fractional-delay-sinc-plot} +\end{figure} + +As in \ref{sec:Discrete-time-model} mentioned a FIR filter can be used to cheat a discrete time model of multiparty fading. But with a FIR filter, the delays are set at the sample rate, so the delays are integer. When the delays are noninteger a approximation had to be done. + +In the example shown in \figref{fig:fractional-delay-sinc-plot}. For a integer delays in the sinc function all sample values are zero except the one by the delayed sample, which is the amplitude value, here one. When the delay is a fractional number all samples are non-zero. In theory this filter is notrealizable because its noncasual and the impulse respond is infinity long. This problem can't be solve by adding them because of the imaginary part. + +To desing a noninteger digital delay FIR Filter a least square integral error design approximation could be chosen. + +\begin{equation} \label{eqn:transfer-function-FIR} + H(z)=\sum_{n=0}^{N} h(n) z^{-n} +\end{equation} + +The transfare function is given in \eqref{eqn:transfer-function-FIR}, where \(N\) is the order of the filter given in integer coefficients. To be mention for the approximation is that the error decreases with a higher filter order. + +The error function between the ideal frequency respond an the approximation should be minimized, for the best possible approximation. + +\begin{equation} \label{eqn:error-function} + E\left(e^{j \omega}\right)=H\left(e^{j \omega}\right)-H_{\mathrm{id}}\left(e^{j \omega}\right) +\end{equation} + +The impulse respond of such least squared fractional delay filter in \eqref{eqn:impuls-respond}. Only positive values are used to make the sinc-function casual. + +\begin{equation} \label{eqn:impuls-respond} + h(n)= \begin{cases}\operatorname{sinc}(n-D), & 0 \leq n \leq N \\ 0, & \text { otherwise }\end{cases} +\end{equation} + +To simplify the calculation, the assumption was made that the filter order is an odd number. With this assumption the exact order for the filter can be found out with \eqref{eqn:filter-order} and the integer delay \(D_{\text {int }}\). +\begin{equation} \label{eqn:filter-order} + N = 2 D_{\text {int }} + 1 +\end{equation} + + +The first non-zero sample can be find out with the help of the index M in \eqref{eqn: M first non-zero sample}.With the help of this index it can also be said whether the FIR filter is causal or not. For \(M \geq 0\) casual and if \(M < 0\) noncasual, an so notrealizable. With the assumption that \(N\) is an odd number \(M \) should always be \( 0\) else something went wrong. + +\begin{equation}\label{eqn: M first non-zero sample} + M = \lfloor D\rfloor-\frac{N-1}{2} \quad \text { for odd } N +\end{equation} +%% TO DO : Mention windowing or not ? -\skelpar{Not sampling at peaks of sincs.} \skelpar{Discrete frequency response. Discuss bins, etc.} \subsection{Statistical model} -- cgit v1.2.1