From c8be5092883071c6e5b3ecafcf91690894d73110 Mon Sep 17 00:00:00 2001 From: Patrick Hangl Date: Tue, 11 Nov 2025 16:40:19 +0100 Subject: [PATCH] 2.5,2.6 --- Bilder/fig_wien.jpg | Bin 23887 -> 25280 bytes chapter_02.tex | 14 +++++++------- drawio/Wien_filter.drawio | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Bilder/fig_wien.jpg b/Bilder/fig_wien.jpg index eeaf401bfbcf0f329df573a010267ac957db6093..b13715ee9bebf3d15ee947e214b10aeb3c8ad4b0 100644 GIT binary patch literal 25280 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 literal 23887 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 R=TyKiP0#<6G(&z8{{qrf{Wt&s diff --git a/chapter_02.tex b/chapter_02.tex index 9e3e640..f191daa 100644 --- a/chapter_02.tex +++ b/chapter_02.tex @@ -146,20 +146,20 @@ As we will see in the following chapters, a real world application of an adaptiv \begin{itemize} \item The error signal $e[n]$ is not a perfect representation of the recorded target signal $s[n]$ present in the corrputed target signal $d[n]$, as the adaptive filter can only approximate the noise signal based on its current coefficients, which in general do not represent the optimal solution at that given time. \item Altough, the corruption noise signal $n[n]$ and the reference noise signal $x[n]$ are correlated, they are not identical, as they take different signal paths from the noise source to their respective sensors. This discrepancy can lead to imperfect noise reduction, as the adaptive filter has to estimate the relationship between these two signals. -\item The recorded target signal $s[n]$ is not directly available, as it is only available combined with the corruption noise signal $n[n]$ in the form of $d[n]$ while there is no reference available. Therefore, the error signal $e[n]$, respectively $š[n]$, of the adaptive filter serves as an approximation of the clean speech signal and is used as an indirect measure of the filter's performance, guiding the adaptation process by its own stepwise minimization. -\item The reference noise signal $x[n]$ fed into the adaptive filter could also contaminated with parts of the target signal. If this circumstance occurs, it can lead to undesired effects if not handled properly. +\item The recorded target signal $s[n]$ is not directly available, as it is only available combined with the corruption noise signal $n[n]$ in the form of $d[n]$ while there is no reference available. Therefore, the error signal $e[n]$, respectively $š[n]$, of the adaptive filter serves as an approximation of the clean target signal and is used as an indirect measure of the filter's performance, guiding the adaptation process by its own stepwise minimization. +\item The reference noise signal $x[n]$ fed into the adaptive filter could also contaminated with parts of the target signal. If this circumstance occurs is not handled properly, it could lead to the undesired removal of parts of the target signal from the output signal $š[n]$. \end{itemize} The goal of the adaptive filter is therefore to minimize this error signal over time, thereby improving the quality of the output signal by reducing it by it´s noise-component.\\ The minimization of the error signal $e[n]$ can by achieved by applying different error metrics used to evaluate the performance of an adaptive filter, including: \begin{itemize} \item Mean Squared Error (MSE): This metric calculates the averaged square of the error between the expected value and the observed value over a predefined period. It is sensitive to large errors and is commonly used in adaptive filtering applications. \item Least Mean Squares (LMS): This metric focuses on minimizing the mean squared error by adjusting the filter coefficients iteratively based on the error signal by applying the gradient descent method. It is computationally efficient and widely used in real-time applications. -\item Normalized Least Mean Squares (NLMS): An extension of the LMS algorithm that normalizes the step size based on the power of the input signal, improving convergence speed and stability. -\item Recursive Least Squares (RLS): This metric aims to minimize the weighted sum of squared errors, providing faster convergence than LMS but at the cost of higher computational complexity. +\item Normalized Least Mean Squares (NLMS): An extension of the LMS algorithm that normalizes the step size based on the input signal, improving convergence speed. +\item Recursive Least Squares (RLS): This metric aims to minimize the weighted sum of squared errors, providing faster convergence than the LMS metric but at the cost of higher computational effort. \end{itemize} -As computaional efficiency is a key requirement for the implementation of real-time ANR on a low-power digital signal processor, the Least Mean Squares algorithm is chosen for the minimization of the error signal and therefore will be further explained in the following subchapter. +As computaional efficiency is a key requirement for the implementation of real-time ANR on a low-power DSP, the Least Mean Squares algorithm is chosen for the minimization of the error signal and therefore will be further explained in the following subchapter. -\subsubsection{The Wiener filter and Gradient Descent} +\subsubsection{The Wiener filter and the concept of Gradient Descent} Before the Least Mean Squares algorithm can be explained in detail, the Wiener filter and the concept Gradient Descent have to be introduced. \\ \\ \begin{figure}[H] \centering @@ -279,7 +279,7 @@ The noise reference signal $x[n]$ can be mathematically described as: x[n] = v[n] * (C_nB) \end{equation} where $v[n]$ is the noise signal at its source and $x[n]$ is the recorded reference noise signal after passing the transfer functions.\\ \\ -Another possible signal interaction could be the leakage of the target signal into the noise signal sensor, leading to undesired effects. This case is not illustrated in Figure \ref{fig:fig_anr_implant} as it wont be further evaluated in this thesis, but shall be mentioned for the sake of completeness at this point.\\ \\ +Another possible signal interaction could be the leakage of the target signal into the noise signal sensor, leading to the partly removal of the target signal from the output signal. This case is not illustrated in Figure \ref{fig:fig_anr_implant} as it wont be further evaluated in this thesis, but shall be mentioned for the sake of completeness.\\ \\ At this point, the thereotical background and the fundamentals of adaptive noise reduction have been adequatly introduced and explained as necessary for the understanding of the following chapters of this thesis. The next chapter will now focus on practical high level simulations of different filter concepts and LMS algorithm variations to evaluate their performance in regard of noise reduction quality before the actual implementation on a low-power digital signal processor is conducted. diff --git a/drawio/Wien_filter.drawio b/drawio/Wien_filter.drawio index dc717f5..25f726d 100644 --- a/drawio/Wien_filter.drawio +++ b/drawio/Wien_filter.drawio @@ -46,8 +46,8 @@ - - + +