Korr 4
This commit is contained in:
+6
-6
@@ -46,11 +46,11 @@ def anr_function(input, ref_noise, coefficients, mu, adaption_step=1):
|
||||
\noindent The algorithm implementation shall now be put under test by different use cases to demonstrate the functionality and performance under different scenarios, varying from simple to complex ones. Every use case 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 evaluate the performance of the algorithm based on the \ac{SNR}-Gain in dB and also visually by the amplitude of the error signal (difference between the desired signal and the filter output). The error signal and the \ac{SNR}-Gain are calculated as follows:
|
||||
\begin{gather}
|
||||
\label{equation_snr_gain_error}
|
||||
\text{P}_{\text{Error-signal}} = \text{P}_{\text{Desired-signal}} - \text{P}_{\text{Filter-output}} \\
|
||||
\text{P}_{\text{Error signal}} = \text{P}_{\text{Desired signal}} - \text{P}_{\text{Filter-output}} \\
|
||||
\label{equation_snr_gain}
|
||||
\text{SNR-Gain} = 10 \cdot \log_{10}\frac{\text{P}_{\text{Desired-signal}}}{\text{P}_{\text{Noise-signal}}} - 10 \cdot \log_{10}\frac{\text{P}_{\text{Desired-signal}}}{\text{P}_{\text{Error-signal}}}
|
||||
\text{SNR-Gain} = 10 \cdot \log_{10}\frac{\text{P}_{\text{Desired signal}}}{\text{P}_{\text{Noise signal}}} - 10 \cdot \log_{10}\frac{\text{P}_{\text{Desired signal}}}{\text{P}_{\text{Error signal}}}
|
||||
\end{gather}
|
||||
with $\text{P}_{\text{Desired-signal}}$ being the power of the desired signal, $\text{P}_{\text{Noise-signal}}$ being the power of the noise signal and $\text{P}_{\text{Error-signal}}$ being the power of the error signal, which is the difference between the desired signal and the filter output. A positive \ac{SNR}-Gain indicates an improvement in signal quality, while a negative \ac{SNR}-Gain indicates a degradation in signal quality after applying the \ac{ANR} algorithm.
|
||||
with $\text{P}_{\text{Desired signal}}$ being the power of the desired signal, $\text{P}_{\text{Noise signal}}$ being the power of the noise signal and $\text{P}_{\text{Error signal}}$ being the power of the error signal, which is the difference between the desired signal and the filter output. A positive \ac{SNR}-Gain indicates an improvement in signal quality, while a negative \ac{SNR}-Gain indicates a degradation in signal quality after applying the \ac{ANR} algorithm.
|
||||
\subsection{Simple ANR use cases}
|
||||
To evaluate the general functionality and performance of the \ac{ANR} algorithm from Listing \ref{lst:lst_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 (Use case 1 and 2) or a Gaussian white noise (Use case 3) as noise signal respectively. In this simple setup, the corruption noise signal is also available as the reference noise signal. Every approach is conducted with 16 filter coefficients and a step size of 0.01. The four graphs in the respective 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 exemplary filter coefficients over time.\\ \\
|
||||
@@ -78,7 +78,7 @@ The second use case resembles the first one, but instead of a 2000 Hz sine wave,
|
||||
\caption{Desired signal, corrupted signal, reference noise signal and filter output of simple use case 2}
|
||||
\label{fig:fig_plot_1_sine_2.png}
|
||||
\end{figure}
|
||||
\noindent Figure \ref{fig:fig_plot_2_sine_2.png} shows a significant increase of the amplitude of the error signal compared to Use case 1, especially around the 500 Hz frequency of the noise signal. Also, the adaption of the coefficients shows far more variance compared to use case 1, with a complete rearrangement in the area of 500 Hz. This indicates that the \ac{ANR} algorithm is struggling to adapt effectively in a scenario, where the noise signal overlaps with the desired signal.
|
||||
\noindent Figure \ref{fig:fig_plot_2_sine_2.png} shows a significant increase of the amplitude of the error signal compared to use case 1, especially around the 500 Hz frequency of the noise signal. Also, the adaption of the coefficients shows far more variance compared to use case 1, with a complete rearrangement in the area of 500 Hz. This indicates that the \ac{ANR} algorithm is struggling to adapt effectively in a scenario, where the noise signal overlaps with the desired signal.
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=1.0\linewidth]{Bilder/fig_plot_2_sine_2.png}
|
||||
@@ -119,14 +119,14 @@ After the general functionality of the \ac{ANR} algorithm has been verified with
|
||||
\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 utilized - but now they pass 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 corruption noise signal and the reference noise signal is introduced - this simulates the realsitic case, that the microphones are located on different locations, leading to a small delay due to traveling time of the signal. Now, an analytical solution is not possible anymore, as the signals are affected in different ways, making it impossible to simply subtract the noise signal from the corrupted signal. This scenario represents a realistic application of the \ac{ANR} algorithm, as it involves complex audio signals as well as signals passing different signal paths while being delayed.\\ \\
|
||||
Using a sampling frequency of 20 kHz, a delay of 2 ms represents a shift of 40 samples. As the corrpution noise signal, which the alorithm tries to filter out of the corrupoted signal, is now delayed by these 40 samples, the filter needs more coefficients to aqquire a certain ``memory'' - this means, that the used 16 tap filter is not sufficient anymore. To prove the correct function of the \ac{ANR} algorithm, the filter length is increased by 40 taps up to 56 taps. \\ \\
|
||||
The now introduced challenges ae making adaptive noise reduction the only feasible approach to reduce the noise from the corrupted signal.
|
||||
The now introduced challenges are 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}
|
||||
\caption{Two different sensor sensitivity curves used for recording the corrupted signal and the reference noise signal}
|
||||
\label{fig:fig_plot_3_wav_complex.png}
|
||||
\end{figure}
|
||||
\noindent Figure \ref{fig:fig_plot_3_wav_complex.png} illustrates the sensitivity curve of two different microphones used to record the corrupted signal and the reference noise signal respectively, resulting in two different transfer functions applied to the signals. The effect of transfer functions on the noise signal is shown in Figure \ref{fig:fig_plot_4_wav_complex.png}, where the top graph shows the noise signal at it's source, while the second and third graph show the effect of the two different transfer functions resulting in the corruption noise signal and the reference noise signal respectively.
|
||||
\noindent Figure \ref{fig:fig_plot_3_wav_complex.png} illustrates the sensitivity curve of two different microphones used to record the corrupted signal and the reference noise signal respectively, resulting in two different transfer functions applied to the signals. The effect of transfer functions on the noise signal is shown in Figure \ref{fig:fig_plot_4_wav_complex.png}, where the top graph shows the noise signal at its source, while the second and third graph show the effect of the two different transfer functions resulting in the corruption noise signal and the reference noise signal respectively.
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=1.0\linewidth]{Bilder/fig_plot_4_wav_complex.png}
|
||||
|
||||
Reference in New Issue
Block a user