This commit is contained in:
Patrick Hangl
2026-03-19 16:30:42 +01:00
parent 44a38a429b
commit 8acc132548
14 changed files with 82 additions and 39 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 992 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 315 KiB

After

Width:  |  Height:  |  Size: 288 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 685 KiB

After

Width:  |  Height:  |  Size: 547 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 819 KiB

After

Width:  |  Height:  |  Size: 812 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 845 KiB

After

Width:  |  Height:  |  Size: 893 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 731 KiB

View File

@@ -119,7 +119,7 @@ After the general functionality of the \ac{ANR} algorithm has been verified with
\noindent The error signal in Figure \ref{fig:fig_plot_2_wav.png} confirms the function of the algorithm and shows maxima corresponding to the maxima in the breathing noise, indicating the moments, when the \ac{ANR} algorithm is setting its coefficients again to adapt to the changing noise characteristics. It makes sense, that the adaption of the filter coefficients causes repeating maxima in the error signal, as the noise signal now is not static or periodic, but rather dynamic and changing it frequency and amplitude over time. The \ac{SNR}-Gain of 6.51 dB also indicates a significant improvement in signal quality and can be compared againtst the complex use case in the next subchapter, where the same audio tracks are used, but now with different transfer functions applied to them.
\subsection{Complex ANR use case}
To close the topic of high-level simulations of the \ac{ANR} algorithm, a more complex and realistic use case is finally introduced. In this scenario, the same two audio tracks of the previous use case are used - but now they pass different transfer functions. Now, an analytical solution is not possible anymore, as the transfer functions affect the signals in different ways, making it impossible to simply subtract the noise signal from the corrupted signal. This scenario represents a more realistic application of the \ac{ANR} algorithm, as it involves complex audio signals with varying frequency components and dynamics, as well as different transfer functions affecting the signals.\\ \\
Therefore, the audio tracks from the previous example are now convolved with different transfer functions, which mimic the case, that the sensor recording the corrupted signal, shows another frequency response characteristic as the one recording the reference noise signal. Additionaly, a delay of 2 ms between the two signals is introduced, mimicing different loactions of the sensors and different preprocessing of the signals. This means, that the reference noise signal is now not only differs from the noise signal corrupting the desired signal but also reaching the secondary sensor delayed, making adaptive noise reduction the only feasible approach to reduce the noise from the corrupted signal.
Therefore, the audio tracks from the previous example are now convolved with different transfer functions, which mimic the case, that the sensor recording the corrupted signal, shows another frequency response characteristic as the one recording the reference noise signal. This means, that the reference noise signal is now not only differs from the noise signal corrupting the desired signal, making adaptive noise reduction the only feasible approach to reduce the noise from the corrupted signal.
\begin{figure}[H]
\centering
\includegraphics[width=1.0\linewidth]{Bilder/fig_plot_3_wav_complex.png}
@@ -133,14 +133,14 @@ Therefore, the audio tracks from the previous example are now convolved with dif
\caption{The raw noise signal recorded with two different sensors, showing the effect of different transfer functions on the signal}
\label{fig:fig_plot_4_wav_complex.png}
\end{figure}
\noindent To evaluate the performance of the \ac{ANR} algorithm in this complex scenario, the corrupted signal is recorded with the primary sensor while the reference noise signal is recorded with secondary sensor. The filter output and \ac{SNR}-Ratio in Figure \ref{fig:fig_plot_1_wav_complex.png} display with 5.14 dB a significantly worse performance compared to the previous use case. This bevavior is perfectly explainable by the fact, that the introduced delay is taking the small 16 tap filter already to its limit to adapt effectively, as the noise signal is already changing significantly after 2 ms. A longer filter would be required to adapt effectively, especially if the noise signal would show a higher dynamics.
\noindent To evaluate the performance of the \ac{ANR} algorithm in this complex scenario, the corrupted signal is recorded with the primary sensor while the reference noise signal is recorded with secondary sensor. The filter output and \ac{SNR}-Ratio in Figure \ref{fig:fig_plot_1_wav_complex.png} display with 6.98 dB a an even slightly better performance compared to the previous use case. This bevavior is explainable by the fact, that depending on the transfer functions of the sensors, for some signals the adaptation process might be more effective than for others.
\begin{figure}[H]
\centering
\includegraphics[width=1.0\linewidth]{Bilder/fig_plot_1_wav_complex.png}
\caption{Desired signal, corrupted signal, reference noise signal and filter output of the complex \ac{ANR} use case}
\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, as expected, also a increased amplitude compared to the previous intermediate use case, indicating that the \ac{ANR} algorithm is confronted by a more challening task. Still, the \ac{SNR}-Gain of 5.14 dB still indicates a quite sucessful noise reduction, even with just 16 taps in this more complex scenario.
\noindent The error signal in Figure \ref{fig:fig_plot_2_wav_complex.png} shows, as expected, also a similar amplitude compared to the previous intermediate use case, indicating that the \ac{ANR} algorithm is still working fine. The \ac{SNR}-Gain of 6.98 dB indicates a quite sucessful noise reduction, even with just 16 taps in this more complex scenario.
\begin{figure}[H]
\centering
\includegraphics[width=1.0\linewidth]{Bilder/fig_plot_2_wav_complex.png}

View File

@@ -15,24 +15,29 @@
\acronymused{ANR}
\acronymused{DSP}
\newlabel{fig:fig_plot_2_dsp_complex.png}{{47}{59}{}{}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {48}{\ignorespaces Comparison of the high- and low-level simulation output. The Pearson coefficient shows a correlation of above 99\% between the two graphs.}}{59}{}\protected@file@percent }
\newlabel{fig:fig_high_low_comparison.png}{{48}{59}{}{}{}}
\acronymused{ANR}
\acronymused{DSP}
\acronymused{SNR}
\acronymused{DSP}
\acronymused{DSP}
\acronymused{DSP}
\acronymused{DSP}
\acronymused{ANR}
\acronymused{ANR}
\acronymused{DSP}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Computational efficiency evaluation}{59}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Computational efficiency evaluation}{60}{}\protected@file@percent }
\acronymused{CI}
\acronymused{ANR}
\acronymused{CI}
\@writefile{lof}{\contentsline {figure}{\numberline {48}{\ignorespaces Noise signals used to corrupt the desired signal in the computational efficiency evaluation}}{60}{}\protected@file@percent }
\newlabel{fig:fig_noise_signals.png}{{48}{60}{}{}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {49}{\ignorespaces Noise signals used to corrupt the desired signal in the computational efficiency evaluation}}{61}{}\protected@file@percent }
\newlabel{fig:fig_noise_signals.png}{{49}{61}{}{}{}}
\acronymused{ANR}
\acronymused{SNR}
\@writefile{lof}{\contentsline {figure}{\numberline {49}{\ignorespaces 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 graphs are smoothed by a third order savigol filter.}}{61}{}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {50}{\ignorespaces 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 graphs are smoothed by a third order savigol filter.}}{62}{}\protected@file@percent }
\acronymused{SNR}
\newlabel{fig:fig_snr_comparison.png}{{49}{61}{}{}{}}
\newlabel{fig:fig_snr_comparison.png}{{50}{62}{}{}{}}
\acronymused{SNR}
\acronymused{SNR}
\acronymused{SNR}
@@ -42,26 +47,39 @@
\acronymused{ANR}
\acronymused{SNR}
\acronymused{ANR}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Evaluation of the computational load}{61}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.3.1}Full-Update implementation}{61}{}\protected@file@percent }
\newlabel{equation_computing_calculation}{{32}{61}{}{}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Evaluation of the computational load for fixed implementation}{62}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.3.1}Full-Update implementation}{62}{}\protected@file@percent }
\newlabel{equation_computing_calculation}{{32}{63}{}{}{}}
\acronymused{PCM}
\acronymused{DSP}
\acronymused{DSP}
\newlabel{equation_cycle_budget}{{33}{62}{}{}{}}
\newlabel{equation_cycle_budget}{{33}{63}{}{}{}}
\acronymused{DSP}
\newlabel{equation_load_calculation}{{34}{62}{}{}{}}
\newlabel{equation_load_calculation}{{34}{63}{}{}{}}
\acronymused{ANR}
\acronymused{SNR}
\acronymused{DSP}
\acronymused{DSP}
\acronymused{SNR}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.3.2}Reduced-update implementation}{62}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.3.3}Error-driven implementation}{62}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4}Summary of the performance evaluation}{62}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.3.2}Reduced-update implementation}{63}{}\protected@file@percent }
\acronymused{DSP}
\acronymused{SNR}
\@writefile{lof}{\contentsline {figure}{\numberline {51}{\ignorespaces Relative performance of the SNR-Gain, the cycles per samples and the DSP load in regard of the update rate of the ANR algorithm. The baseline is the full update variant the complex usecase. The marked dots represent the results of the simulation for an explicit setup.}}{64}{}\protected@file@percent }
\newlabel{fig:fig_snr_reduced_update.png}{{51}{64}{}{}{}}
\acronymused{SNR}
\acronymused{DSP}
\acronymused{SNR}
\acronymused{SNR}
\acronymused{DSP}
\newlabel{equation_computing_calculation}{{35}{64}{}{}{}}
\newlabel{equation_load_calculation}{{36}{64}{}{}{}}
\acronymused{DSP}
\acronymused{SNR}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4}Evaluation of the computational load for error driven implementation}{64}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.5}Summary of the performance evaluation}{65}{}\protected@file@percent }
\@setckpt{chapter_05}{
\setcounter{page}{63}
\setcounter{equation}{34}
\setcounter{page}{66}
\setcounter{equation}{36}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
@@ -70,11 +88,11 @@
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{section}{5}
\setcounter{subsection}{4}
\setcounter{subsection}{5}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{49}
\setcounter{figure}{51}
\setcounter{table}{0}
\setcounter{float@type}{16}
\setcounter{tabx@nest}{0}
@@ -195,7 +213,7 @@
\setcounter{lstnumber}{15}
\setcounter{FancyVerbLine}{0}
\setcounter{linenumber}{1}
\setcounter{LN@truepage}{62}
\setcounter{LN@truepage}{65}
\setcounter{FancyVerbWriteLine}{0}
\setcounter{FancyVerbBufferLine}{0}
\setcounter{FV@TrueTabGroupLevel}{0}

View File

@@ -1,6 +1,6 @@
\section{Performance evaluation of different implementation variants}
\subsection{Verification of the \ac{DSP} implementation}
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.
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}
@@ -12,11 +12,16 @@ To verify the general performance of the \ac{DSP}-implemented \ac{ANR} algorithm
\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}
\begin{figure}[H]
\centering
\includegraphics[width=1.0\linewidth]{Bilder/fig_high_low_comparison.png}
\caption{Comparison of the high- and low-level simulation output. The Pearson coefficient shows a correlation of above 99\% between the two graphs.}
\label{fig:fig_high_low_comparison.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.
\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} - with a \ac{SNR}-Gain of 6.98 dB it performs equivalent as the one of the high-level implementation. Figure \ref{fig:fig_high_low_comparison.png} shows both outputs seperately and then together in one sub figure. The \ac{DSP} output which features a Perason correlation of 99.3\% against the high-level output, again indicating the correct functionality of the \ac{DSP} implementation. 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 the same performance as the high-level implementation, again indicating the fact, that 16 filter coefficients are sufficent to filter out a complex but synchrone noise signal. In reality, the \ac{ANR} algorithm is confronted with delayed signals, as the sensors are located im different positions. The next step is of evaluate the performance of the \ac{DSP} implementation in terms of computational efficiency under different scenarios and non-synchrone signals.
\subsection{Computational efficiency evaluation}
\noindent The main focus for evaluating the computational efficiency is the determination of the optimal filter length. To achieve this goal, 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:
\noindent The main focus for evaluating the computational efficiency is the determination of the optimal filter length. To achieve this goal, different signal combinations, which are to be expected everyday situiations for a \ac{CI} patient, are considered. Now, also, a delay of 2ms bewteen the corrupted signal an the reference noise signal is applied, increasing the need for a longer filter. The desired signal of a male voice over speaker is now corrupted with 5 different noise signals, ruling out, that a certain combination of signals is not representative for the overall performance of the \ac{ANR} algorithm:
\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 maxima.
\item Coughing noise: This noise signal is generated by coughing and consists out few, but long lasting maxima, showing similarities to a rectangular function.
@@ -38,16 +43,16 @@ The vizualization of the noise signals is shown in Figure \ref{fig:fig_noise_sig
\caption{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 graphs are smoothed by a third order savigol filter.}
\label{fig:fig_snr_comparison.png}
\end{figure}
\noindent 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 significant rise in the \ac{SNR}-Gain can be observed. This circustance can be explained by the fact, that the noise signals are phase-shifted, meaning, that the filter needs a certain length before it can react to the corruption noise signal. The results also show, that the \ac{SNR}-Gain is different for the different noise signals, which can be explained by the fact, that the noise signals have different characteristics, like the number of peaks, their frequency spectrum an their amplitude.\\ \\
The mean \ac{SNR}-Gain of the different noise signals, also shown in Figure \ref{fig:fig_snr_comparison.png}, signals, that after reaching 95\% of the maximum \ac{SNR}-Gain, the \ac{SNR}-Gain increase is slowing down. This threshold is reached at a filter length of 45 taps. This indicates, that a filter length of 45 taps represents an optimal solution for a statisfying performance of the \ac{ANR} algorithm, while a further increase of the filter length does not lead to a significant increase of the \ac{SNR}-Gain. This is an important finding, as it allows to optimize the computational efficiency of the \ac{ANR} algorithm by choosing an appropriate filter length.
\subsection{Evaluation of the computational load}
\noindent 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 significant rise in the \ac{SNR}-Gain can be observed - this is highly contrary to the sinchronous high-level simulation, where a filter length of only 16 taps provided sufficent noise reduction. This circustance can be explained by the fact, that the reference noise signal is now delayed, meaning, that the filter needs a certain length before it can react. The results also show, that the \ac{SNR}-Gain is different for the different noise signals, indicating, that the noise signals have different characteristics, like the number of peaks, their frequency spectrum an their amplitude.\\ \\
The mean \ac{SNR}-Gain of the different noise signals, also shown in Figure \ref{fig:fig_snr_comparison.png}, signals, that after reaching 95\% of the maximum \ac{SNR}-Gain, the \ac{SNR}-Gain increase is slowing down. This threshold is reached at a filter length of 45 taps. This means, that a filter length of 45 taps represents an optimal solution for a statisfying performance of the \ac{ANR} algorithm, while a further increase of the filter length does not lead to a significant increase of the \ac{SNR}-Gain. This is an important finding, as it allows to optimize the computational efficiency of the \ac{ANR} algorithm by choosing an appropriate filter length.
\subsection{Evaluation of the computational load for fixed implementation}
\subsubsection{Full-Update implementation}
\noindent Equation \ref{equation_computing_final} can now be utilized to calculate the needed cycles for the calculation of one sample of the filter output, using a filter length of 45 taps and an update of the filter coefficients every cycle. The needed cycles are calculated as follows:
\begin{equation}
\label{equation_computing_calculation}
C_{total} = 45 + \frac{6*45+8}{1} + 34 = 319 \text{ cycles}
C_{total} = 45 + \frac{6*45+8}{1} + 34 = 357 \text{ cycles}
\end{equation}
As already mentioned in the previous chapters, the sampling rate of the audio data provided to the \ac{PCM} interface amounts 20 kHz. The prefered clock frequency of the \ac{DSP} is set to 16 MHz, which means, that the \ac{DSP} core has cycle budget of
As already mentioned in the previous chapters, the sampling rate of the audio data provided to the \ac{PCM} interface amounts 20 kHz. The prefered clock frequency of the \ac{DSP} is chosen as 16 MHz, which means, that the \ac{DSP} core has cycle budget of
\begin{equation}
\label{equation_cycle_budget}
C_{budget} = \frac{16 MHz}{20 kHz} = 800 \text{ cycles}
@@ -55,11 +60,31 @@ As already mentioned in the previous chapters, the sampling rate of the audio da
\noindent for one sample. With these two values, the load of the \ac{DSP} core can be calculated as follows:
\begin{equation}
\label{equation_load_calculation}
Load_{DSP} = \frac{C_{total}}{C_{budget}} = \frac{319 \text{ cycles}}{800 \text{ cycles}} = 39.88 \%
Load_{DSP} = \frac{C_{total}}{C_{budget}} = \frac{357 \text{ cycles}}{800 \text{ cycles}} = 44.6 \%
\end{equation}
\noindent The results, calculated in Equation \ref{equation_computing_calculation} to \ref{equation_load_calculation} can be summarized as follows:\\ \\
With the optimal filter length of 45 taps and an update rate of the filter coefficients every cycle, the \ac{ANR} algorithm is able to achieve a \ac{SNR}-Gain of about 16,34 dB, averaged over different signal/noise combinatons. Under this circumstances, the computational load of the \ac{DSP} core amounts about 40\%, which means that 60\% of the time, which a new sample takes to arrive, it can be halted, and therefore, the overall power consumption can be reduced.\\ \\
The initial signal/noise combination of a male speaker disturbed by a breathing noise, which is used for the verification of the \ac{DSP} implementation, delivers with 45 filter coefficients an \ac{SNR}-Gain of about 16,34 dB, which will be again used as an example for the next evaluation.
With the optimal filter length of 45 taps and an update rate of the filter coefficients every cycle, the \ac{ANR} algorithm is able to achieve a \ac{SNR}-Gain of about 11.54 dB, averaged over different signal/noise combinatons. Under this circumstances, the computational load of the \ac{DSP} core amounts about 45\%, which means that 55\% of the time, which a new sample takes to arrive, it can be halted, and therefore, the overall power consumption can be reduced.\\ \\
The initial signal/noise combination of a male speaker disturbed by a breathing noise, which is used for the verification of the \ac{DSP} implementation, delivers with 45 filter coefficients an \ac{SNR}-Gain of about 9.44 dB, which will be again used as a benchmark for the coming evaluations.
\subsubsection{Reduced-update implementation}
\subsubsection{Error-driven implementation}
The most straight-forward method to further reduce the computing effort for the \ac{DSP} core is to reduce the update frequency of the filter coeffcients. This means, that for every sample, the new filter coefficients are calculated, but not written to the into the Filter Line, meaning that the filter, calculated for the previous sample, is applied to the actual sample. Depending on the acoustic situation, the savings in computing power will most likely lead to a degredation of the noise reduction quality, depending if the current situation is highly dynamic (and therefore would require a frequent update of the filter coefficients) or is rather static. Changing the update frequency, changes the denominator in Equation \ref{equation_c_5} and therefore in Equation \ref{equation_computing_final}.\\ \\
As already mentioned, the reduction of the update rate is evaluated for the signal/noise combination of a male speaker disturbed by a breathing noise. Therefore the \ac{SNR}-Gain of 9.44 dB represents 100\% achievable noise reduction with a maximum of 357 cycles.
\begin{figure}[H]
\centering
\includegraphics[width=1.0\linewidth]{Bilder/fig_snr_reduced_update.png}
\caption{Relative performance of the SNR-Gain, the cycles per samples and the DSP load in regard of the update rate of the ANR algorithm. The baseline is the full update variant the complex usecase. The marked dots represent the results of the simulation for an explicit setup.}
\label{fig:fig_snr_reduced_update.png}
\end{figure}
\noindent Figure \ref{fig:fig_snr_reduced_update.png} descriptively illustrates the trend of the \ac{SNR}-Gain, the executed cycles per sample and the \ac{DSP} load compared to the full-update algorithm. Contrary to the executed cycles per sample and the load of the processor, the \ac{SNR}-Gain does not behave linear over the course of reducing the update frequency. This behavior allows us, to determinte the update rate, where the benevolent ratio of \ac{SNR}-Gain in regard to \ac{DSP} load can be expected.\\ \\
The maximum offset bewteen the two graphs can be cound found at an updat rate of 0.33, meaning, that an update of the filter coefficients is only conducted every third sample. Updating Equation \ref{equation_computing_calculation} and \ref{equation_load_calculation} therefore delivers:
\begin{equation}
\label{equation_computing_calculation}
C_{total} = 45 + \frac{6*45+8}{0.33} + 34 = 171 \text{ cycles}
\end{equation}
\begin{equation}
\label{equation_load_calculation}
Load_{DSP} = \frac{C_{total}}{C_{budget}} = \frac{171 \text{ cycles}}{800 \text{ cycles}} = 21.4 \%
\end{equation}
The interpreation of this results leads to the coclusion, that the most cost-effective way to reduce the load of the \ac{DSP} would be to reduce the update rate of the filter coefficients to 0.33. This action nearly halfs the processor load, while only reducing the \ac{SNR}-Gain by rougly a third to 6.06 dB. The next step will be to determine the possibilites of a dynamic reduction of the update frequency to further improve the cost-value ratio of our implemenation.
\subsection{Evaluation of the computational load for error driven implementation}
The error-driven implemenation approach focuses on an error metric, over which the decision for an coefficient update is made.
\subsection{Summary of the performance evaluation}

View File

@@ -1,8 +1,8 @@
\relax
\@writefile{toc}{\contentsline {section}{\numberline {6}Conclusion and outlook}{63}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6}Conclusion and outlook}{66}{}\protected@file@percent }
\@setckpt{chapter_06}{
\setcounter{page}{64}
\setcounter{equation}{34}
\setcounter{page}{67}
\setcounter{equation}{36}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
@@ -15,7 +15,7 @@
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{49}
\setcounter{figure}{51}
\setcounter{table}{0}
\setcounter{float@type}{16}
\setcounter{tabx@nest}{0}
@@ -136,7 +136,7 @@
\setcounter{lstnumber}{15}
\setcounter{FancyVerbLine}{0}
\setcounter{linenumber}{1}
\setcounter{LN@truepage}{63}
\setcounter{LN@truepage}{66}
\setcounter{FancyVerbWriteLine}{0}
\setcounter{FancyVerbBufferLine}{0}
\setcounter{FV@TrueTabGroupLevel}{0}