40 lines
4.6 KiB
TeX
40 lines
4.6 KiB
TeX
\section{Performance evaluation of different implementation variants}
|
|
To verify the general performance of the \ac{DSP}-implemented \ac{ANR} algorithm, the complex usecase of the high-level implemenation is utilized, which includes, again, a 16-tap \ac{FIR} filter and an update of the filter coefficients every cycle. In contary to the high-level implementation, the coeffcient convergence is now not included in the evaluation anymore, but the metric for the \ac{ANR} performance stays the same as the \ac{SNR} improvement.
|
|
\begin{figure}[H]
|
|
\centering
|
|
\includegraphics[width=1.0\linewidth]{Bilder/fig_plot_1_dsp_complex.png}
|
|
\caption{Desired signal, corrupted signal, reference noise signal and filter output of the complex \ac{ANR} use case, simulated on the \ac{DSP}}
|
|
\label{fig:fig_plot_1_dsp_complex.png}
|
|
\end{figure}
|
|
\begin{figure}[H]
|
|
\centering
|
|
\includegraphics[width=1.0\linewidth]{Bilder/fig_plot_2_dsp_complex.png}
|
|
\caption{Error signal of the complex \ac{ANR} use case, simulated on the \ac{DSP}}
|
|
\label{fig:fig_plot_2_dsp_complex.png}
|
|
\end{figure}
|
|
\noindent Figure \ref{fig:fig_plot_1_dsp_complex.png} and \ref{fig:fig_plot_2_dsp_complex.png} show the results of the complex \ac{ANR} use case, simulated on the \ac{DSP}. The \ac{SNR} improvement of 5.92 dB is similar to the one of the high-level implementation, which is 5.14 dB. The small difference can be explained by the fact that the \ac{DSP} implementation is based on fixed-point arithmetic, which leads to a slightly different convergence behavior. Nevertheless, the results show that the \ac{DSP} implementation of the \ac{ANR} algorithm is able to achieve a similar performance as the high-level implementation, again indicating the fact, that 16 filter coefficients are insufficent to filter out a complex, phase-shifted noise signal. The next step is of evaluate the performance of the \ac{DSP} implementation in terms of computational efficiency under different scenarios.
|
|
\subsection{Computational efficiency evaluation}
|
|
\noindent For the evaluation of the computational efficiency, different signal combinations, which are to be expected everyday situiations for a \ac{CI} patient, are considered. This approach rules out, that a certain combination of signals is not representative for the overall performance of the \ac{ANR} algorithm.
|
|
The desired signal of a male voice over speaker is now corrupted with 5 different noise signals:
|
|
\begin{itemize}
|
|
\item Breathing noise: Already used in the high-level implementation, this noise signal is a typical noise source for \ac{CI} patients, especially in quiet environments. It consists out of slowly rising and falling peaks.
|
|
\item Coughing noise: This noise signal is generated by coughing and consists out few, but long lasting peaks.
|
|
\item Scratching noise: This noise signal is generated by scratching some material, like the hair or clothes. It consists out of a high number of sharp peaks.
|
|
\item Drinking Noise: This noise signal is generated by drinking and consists out of a low number of peaks, which are not as sharp as the ones of the scratching noise, but still more sharp than the ones of the breathing and coughing noise.
|
|
\item Chewing Noise: This noise signal is generated by chewing and consists out of a high number of peaks of different amplitude.
|
|
\end{itemize}
|
|
The vizualization of the noise signals is shown in figure \ref{fig:fig_noise_signals.png}.
|
|
\begin{figure}[H]
|
|
\centering
|
|
\includegraphics[width=1.0\linewidth]{Bilder/fig_noise_signals.png}
|
|
\caption{Noise signals used to corrupt the desired signal in the computational efficiency evaluation}
|
|
\label{fig:fig_noise_signals.png}
|
|
\end{figure}
|
|
The combination of stated sets delivers five different scenarious, everyone different in regard of it's challenges for the \ac{ANR} algorithm. For every scenario, the \ac{SNR}-Gain is calculated with an increasing set of filter coeffcients, ranging from 16 to 64.
|
|
\begin{figure}[H]
|
|
\centering
|
|
\includegraphics[width=1.0\linewidth]{Bilder/fig_snr_comparison.png}
|
|
\caption{Python simulation of the to be expected \ac{SNR}-Gain for different noise signals and filter lengths applied to the desired signal of a male speaker. The applied delay between the signals amounts 2ms. The graphes are smoothed by a third order savigol filter.}
|
|
\label{fig:fig_snr_comparison.png}
|
|
\end{figure}
|
|
Figure \ref{fig:fig_snr_comparison.png} shows the expected \ac{SNR}-Gain for the different noise signals and filter lengths. The results shows, that a minimum filter length of about 32 taps is required, before (in any case) a rise in the \ac{SNR}-Gain can be observed. |