diff --git a/Bilder/fig_plot_1_noise.png b/Bilder/fig_plot_1_noise.png index 68e316a..d66a611 100644 Binary files a/Bilder/fig_plot_1_noise.png and b/Bilder/fig_plot_1_noise.png differ diff --git a/Bilder/fig_plot_1_sine_1.png b/Bilder/fig_plot_1_sine_1.png index 56cdc4c..6d95648 100644 Binary files a/Bilder/fig_plot_1_sine_1.png and b/Bilder/fig_plot_1_sine_1.png differ diff --git a/Bilder/fig_plot_1_sine_2.png b/Bilder/fig_plot_1_sine_2.png index f79975d..451b1f3 100644 Binary files a/Bilder/fig_plot_1_sine_2.png and b/Bilder/fig_plot_1_sine_2.png differ diff --git a/Bilder/fig_plot_1_sine_noise.png b/Bilder/fig_plot_1_sine_noise.png new file mode 100644 index 0000000..69d3f6c Binary files /dev/null and b/Bilder/fig_plot_1_sine_noise.png differ diff --git a/Bilder/fig_plot_1_wav.png b/Bilder/fig_plot_1_wav.png index 5a99522..d412dda 100644 Binary files a/Bilder/fig_plot_1_wav.png and b/Bilder/fig_plot_1_wav.png differ diff --git a/Bilder/fig_plot_1_wav_complex.png b/Bilder/fig_plot_1_wav_complex.png index a2c1bdf..d668e69 100644 Binary files a/Bilder/fig_plot_1_wav_complex.png and b/Bilder/fig_plot_1_wav_complex.png differ diff --git a/Bilder/fig_plot_2_noise.png b/Bilder/fig_plot_2_noise.png index c981bc9..61d763b 100644 Binary files a/Bilder/fig_plot_2_noise.png and b/Bilder/fig_plot_2_noise.png differ diff --git a/Bilder/fig_plot_2_sine_1.png b/Bilder/fig_plot_2_sine_1.png index 1ed2f50..978456b 100644 Binary files a/Bilder/fig_plot_2_sine_1.png and b/Bilder/fig_plot_2_sine_1.png differ diff --git a/Bilder/fig_plot_2_sine_2.png b/Bilder/fig_plot_2_sine_2.png index 9cfb01e..df4e9f0 100644 Binary files a/Bilder/fig_plot_2_sine_2.png and b/Bilder/fig_plot_2_sine_2.png differ diff --git a/Bilder/fig_plot_2_sine_noise.png b/Bilder/fig_plot_2_sine_noise.png new file mode 100644 index 0000000..95bacc3 Binary files /dev/null and b/Bilder/fig_plot_2_sine_noise.png differ diff --git a/Bilder/fig_plot_2_wav.png b/Bilder/fig_plot_2_wav.png index c287602..f9fbf21 100644 Binary files a/Bilder/fig_plot_2_wav.png and b/Bilder/fig_plot_2_wav.png differ diff --git a/Bilder/fig_plot_2_wav_complex.png b/Bilder/fig_plot_2_wav_complex.png index 2bc5047..3ec9d56 100644 Binary files a/Bilder/fig_plot_2_wav_complex.png and b/Bilder/fig_plot_2_wav_complex.png differ diff --git a/chapter_02.tex b/chapter_02.tex index ef24be9..3984aca 100644 --- a/chapter_02.tex +++ b/chapter_02.tex @@ -274,7 +274,7 @@ The following definitions of the involved signals shall help to better understan \item Corruption noise signal: The noise signal after passing the transfer function to the primary sensor. \item Reference noise signal: The noise signal after passing the transfer function to the secondary sensor. \item Corrupted signal: The combination of the recorded desired signal and the corruption noise signal -\item Filter output / Cleaned signal: The output signal of the \ac{ANR} system, representing the desired signal after noise reduction. +\item Filter output / Cleaned signal: The output signal of the \ac{ANR} algorithm, representing the desired signal after noise reduction. This signal also equals the error signal of the adaptive filter. \end{itemize} The primary sensor receives the desired- and noise signal over their respective transfer functions and outputs the corrupted signal $d[n]$, which consists out of the recorded desired signal $s[n]$ and the corruption noise signal $n[n]$, whereas the noise signal sensor aims to receive (ideally) only the noise signal $v[n]$ over its transfer function and outputs the reference noise signal $x[n]$, which then feeds the adaptive filter.\\ \\ Additionally, now the relevant transfer functions of the overall system are illustrated in Figure \ref{fig:fig_anr_implant}. The transfer functions $C_n$, $D_n$, and $E_n$ describe the path from the signal sources to the cochlear implant system. As the sources, the relative location of the user to the sources and the medium bewteen them can vary, these transfer functions are time-variant and unknown. After the signals reached the implant systems, we establish the possibility, that the remaining path of the signals is mainly depented on the sensitivity curve of the respective sensors and therefore can be seen as time-invariant and known. This known transfer functions, which are titled $A$ and $B$, allow us to apply an hybrid static/adaptive filter design for the \ac{ANR} implementation, as described in chapter 2.5.2.\\ \\ diff --git a/chapter_03.tex b/chapter_03.tex index be0bb3e..b24bec0 100644 --- a/chapter_03.tex +++ b/chapter_03.tex @@ -44,8 +44,9 @@ The flow diagram in Figure \ref{fig:fig_anr_logic} illustrates the logical flow \label{fig:fig_anr_code} \caption{High-level implementation of the \ac{ANR} algorithm in Python} \end{figure} +\noindent The algroithm implementation shall now be put under test by different usecases to demonstrate the functionality and performance under different secnarios, varying from simple to complex ones. Every usecase includes graphical representations of the desired signal, the corrupted signal, the reference noise signal, the filter output, the error signal and the evolution of selected filter coefficients over time. In contrary to a realistic setup, the desired signal is available, allowing to evaulatue the performance of the algorithm in a clear way. The performance of the \ac{ANR} algorithm is evaluated based on the error between the desired signal and the filter output, complemented whith the normalized integrated squared error. \subsection{Simple ANR usecases} -To evaltuate the general functionality and performance of the \ac{ANR} algorithm from Figure \ref{fig:fig_anr_code} a set of three simple, artificial scenarios are introduced. These examples shall serve as a showcase to demonstrate the general functionality, the possibilities and the limitations of the \ac{ANR} algorithm. In contrary to a more complex and realistic setup, which will be reviewed afterwards, the clean signals are available, which is in a realistic application not the case.\\ \\ +To evaltuate the general functionality and performance of the \ac{ANR} algorithm from Figure \ref{fig:fig_anr_code} a set of three simple, artificial scenarios are introduced. These examples shall serve as a showcase to demonstrate the general functionality, the possibilities and the limitations of the \ac{ANR} algorithm.\\ \\ In all three scenarios, a chirp signal with a frequency range from 100-1000 Hz is used as the desired signal, which is then corrupted with a sine wave (Usecase 1 and 2) or a gaussian white noise (Usecase 3) as noise signal respectively. In this simple setup, the corrpution noise signal is also available as the reference noise signal. Every approach is conducted with 16 filter coefficients and a stepsize of 0.01. The four graphs in the repsective first plot show the desired signal, the corrupted signal, the reference noise signal and the filter output. The two graphs in the respective second plot show the performance of the filter in form of the resulting error signal and the evolution of three filter coefficients over time.\\ \\ \noindent This artificial setup could be solved analitically, as the signals do not pass seperate, different transfer functions. This means, that the reference noise signal is the same as the corruption noise signal. This simple setup would not require an adaptive filter approach, but it nevertheless allows to clearly evaluate the performance of the \ac{ANR} algorithm in different scenarios. Also, due to the fact that the desired signal is known, it is possible to graphically evaluate the performance of the algorithm in a simple way. \subsubsection{Simple usecase 1: Sine noise at 2000 Hz} @@ -133,7 +134,7 @@ Therefore, the audio tracks from the previous example are now convolved with dif \caption{Desired signal, corrputed signal, reference noise signal and filter output of the complex \ac{ANR} usecase} \label{fig:fig_plot_1_wav_complex.png} \end{figure} -\noindent The error signal in Figure \ref{fig:fig_plot_2_wav_complex.png} shows only a minor increase in amplitude compared to the previous intermediate usecase, indicating that the \ac{ANR} algorithm is effectively adapting its filter coefficients. +\noindent The error signal in Figure \ref{fig:fig_plot_2_wav_complex.png} shows an even better performance compared to the previous intermediate usecase, indicating that the \ac{ANR} algorithm is effectively adapting its filter coefficients. The performance increase can be explained by the fact, that the transfer functions applied to the signals have attenuated certain frequency components of the noise signal, making it easier for the \ac{ANR} algorithm to isolate and reduce the noise from the corrupted signal. Also the corrpution noise signal is reduced in amplitude, wheares the reference noise signal is amplified in certain frequency areas, which helps the \ac{ANR} algorithm to better identify and cancel out the noise components from the corrupted signal. \begin{figure}[H] \centering \includegraphics[width=1.0\linewidth]{Bilder/fig_plot_2_wav_complex.png}