Plots überarbeitet

This commit is contained in:
Patrick Hangl
2026-03-02 21:17:31 +01:00
parent 4e92e5d9bc
commit 0ac01e1f76
20 changed files with 269 additions and 87 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

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: 3.2 MiB

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 MiB

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 MiB

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 343 KiB

After

Width:  |  Height:  |  Size: 295 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1000 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 954 KiB

After

Width:  |  Height:  |  Size: 943 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 990 KiB

After

Width:  |  Height:  |  Size: 983 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 600 KiB

After

Width:  |  Height:  |  Size: 570 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 716 KiB

After

Width:  |  Height:  |  Size: 685 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 564 KiB

After

Width:  |  Height:  |  Size: 590 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 964 KiB

After

Width:  |  Height:  |  Size: 819 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 748 KiB

View File

@@ -1,28 +1,28 @@
\relax
\@writefile{toc}{\contentsline {section}{\numberline {4}Hardware implementation and performance quantization of the ANR Algorithm on a low-power system}{40}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4}Hardware implementation and performance quantization of the ANR Algorithm on a low-power system}{42}{}\protected@file@percent }
\acronymused{ANR}
\acronymused{CI}
\acronymused{ANR}
\acronymused{ANR}
\acronymused{ANR}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Low-power system architecture and integration}{40}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Low-power system architecture and integration}{42}{}\protected@file@percent }
\AC@undonewlabel{acro:SOC}
\newlabel{acro:SOC}{{4.1}{40}{}{subsection.4.1}{}}
\newlabel{acro:SOC}{{4.1}{42}{}{}{}}
\acronymused{SOC}
\AC@undonewlabel{acro:ARM}
\newlabel{acro:ARM}{{4.1}{40}{}{subsection.4.1}{}}
\newlabel{acro:ARM}{{4.1}{42}{}{}{}}
\acronymused{ARM}
\acronymused{DSP}
\acronymused{ARM}
\acronymused{DSP}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.1}ARM and DSP hardware architecture overview}{40}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.1}ARM and DSP hardware architecture overview}{42}{}\protected@file@percent }
\acronymused{ARM}
\acronymused{ARM}
\acronymused{CI}
\acronymused{DSP}
\acronymused{DSP}
\AC@undonewlabel{acro:MAC}
\newlabel{acro:MAC}{{4.1.1}{40}{}{subsubsection.4.1.1}{}}
\newlabel{acro:MAC}{{4.1.1}{42}{}{}{}}
\acronymused{MAC}
\acronymused{ARM}
\acronymused{ANR}
@@ -37,10 +37,10 @@
\acronymused{ARM}
\acronymused{DSP}
\AC@undonewlabel{acro:DMA}
\newlabel{acro:DMA}{{4.1.1}{41}{}{subsubsection.4.1.1}{}}
\newlabel{acro:DMA}{{4.1.1}{43}{}{}{}}
\acronymused{DMA}
\AC@undonewlabel{acro:PCM}
\newlabel{acro:PCM}{{4.1.1}{41}{}{subsubsection.4.1.1}{}}
\newlabel{acro:PCM}{{4.1.1}{43}{}{}{}}
\acronymused{PCM}
\acronymused{DSP}
\acronymused{PCM}
@@ -51,13 +51,13 @@
\acronymused{DSP}
\acronymused{DSP}
\AC@undonewlabel{acro:ALU}
\newlabel{acro:ALU}{{4.1.1}{41}{}{subsubsection.4.1.1}{}}
\newlabel{acro:ALU}{{4.1.1}{43}{}{}{}}
\acronymused{ALU}
\acronymused{DSP}
\acronymused{MAC}
\acronymused{ALU}
\acronymused{MAC}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.2}Intercore communication mechanisms}{41}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.2}Intercore communication mechanisms}{43}{}\protected@file@percent }
\acronymused{CI}
\acronymused{ARM}
\acronymused{DSP}
@@ -65,12 +65,12 @@
\acronymused{DSP}
\acronymused{DSP}
\acronymused{ARM}
\@writefile{lof}{\contentsline {figure}{\numberline {32}{\ignorespaces Simplified visualization of the interaction between the \ac {CI}-System, the \ac {ARM} core and the \ac {DSP} core, making use of the \ac {PCM} interface and shared memory for audio data exchange.}}{42}{}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {32}{\ignorespaces Simplified visualization of the interaction between the \ac {CI}-System, the \ac {ARM} core and the \ac {DSP} core, making use of the \ac {PCM} interface and shared memory for audio data exchange.}}{44}{}\protected@file@percent }
\acronymused{CI}
\acronymused{ARM}
\acronymused{DSP}
\acronymused{PCM}
\newlabel{fig:fig_dsp_setup.jpg}{{32}{42}{}{figure.32}{}}
\newlabel{fig:fig_dsp_setup.jpg}{{32}{44}{}{}{}}
\acronymused{ARM}
\acronymused{PCM}
\acronymused{DMA}
@@ -82,12 +82,12 @@
\acronymused{DSP}
\acronymused{DMA}
\acronymused{PCM}
\@writefile{lof}{\contentsline {figure}{\numberline {33}{\ignorespaces Simplified flowchart of the sample processing between the \ac {ARM} core and the \ac {DSP} core via interrupts and shared memory.}}{43}{}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {33}{\ignorespaces Simplified flowchart of the sample processing between the \ac {ARM} core and the \ac {DSP} core via interrupts and shared memory.}}{45}{}\protected@file@percent }
\acronymused{ARM}
\acronymused{DSP}
\newlabel{fig:fig_dsp_comm.jpg}{{33}{43}{}{figure.33}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Software architecture and execution flow}{43}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.2.1}ARMDSP communication and data exchange details}{43}{}\protected@file@percent }
\newlabel{fig:fig_dsp_comm.jpg}{{33}{45}{}{}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Software architecture and execution flow}{45}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.2.1}ARMDSP communication and data exchange details}{45}{}\protected@file@percent }
\acronymused{ANR}
\acronymused{DSP}
\acronymused{DSP}
@@ -117,11 +117,11 @@
\acronymused{PCM}
\acronymused{ARM}
\acronymused{DSP}
\@writefile{lof}{\contentsline {figure}{\numberline {34}{\ignorespaces Detailed visualization of the \ac {DMA} operations between the PCM interface to the shared memory section. When the memory buffer occupied, an interrupt is triggered, either to the \ac {DSP} core or to the \ac {ARM} core, depending on, if triggered during a Read- or Write-operation.}}{45}{}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {34}{\ignorespaces Detailed visualization of the \ac {DMA} operations between the PCM interface to the shared memory section. When the memory buffer occupied, an interrupt is triggered, either to the \ac {DSP} core or to the \ac {ARM} core, depending on, if triggered during a Read- or Write-operation.}}{47}{}\protected@file@percent }
\acronymused{DMA}
\acronymused{DSP}
\acronymused{ARM}
\newlabel{fig:fig_dsp_dma.jpg}{{34}{45}{}{figure.34}{}}
\newlabel{fig:fig_dsp_dma.jpg}{{34}{47}{}{}{}}
\acronymused{DMA}
\acronymused{DMA}
\acronymused{PCM}
@@ -131,18 +131,18 @@
\acronymused{ARM}
\acronymused{ANR}
\acronymused{DSP}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.2.2}System control flow and main processing loop}{45}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.2.2}System control flow and main processing loop}{47}{}\protected@file@percent }
\acronymused{ANR}
\acronymused{DSP}
\@writefile{toc}{\contentsline {paragraph}{Memory initialization and mapping}{45}{}\protected@file@percent }
\@writefile{toc}{\contentsline {paragraph}{Memory initialization and mapping}{47}{}\protected@file@percent }
\acronymused{DSP}
\acronymused{PCM}
\acronymused{DSP}
\newlabel{fig:fig_dps_code_memory}{{4.2.2}{46}{}{lstnumber.-2.13}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {35}{\ignorespaces Low-level implementation: Memory initialization and mapping}}{46}{}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {36}{\ignorespaces Exemplary memory map of the 4-element input buffer array. As it is initialized as a 16-bit integer array, each element occupies 2 bytes of memory, resulting in a total size of 8 bytes for the entire array. As the DSP architecture works in 32-bit double-words, the bytewise addressing is a result of the compiler abstraction.}}{46}{}\protected@file@percent }
\newlabel{fig:fig_compiler.jpg}{{36}{46}{}{figure.36}{}}
\@writefile{toc}{\contentsline {paragraph}{Main loop and interrupt handling}{46}{}\protected@file@percent }
\newlabel{fig:fig_dps_code_memory}{{4.2.2}{48}{}{}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {35}{\ignorespaces Low-level implementation: Memory initialization and mapping}}{48}{}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {36}{\ignorespaces Exemplary memory map of the 4-element input buffer array. As it is initialized as a 16-bit integer array, each element occupies 2 bytes of memory, resulting in a total size of 8 bytes for the entire array. As the DSP architecture works in 32-bit double-words, the bytewise addressing is a result of the compiler abstraction.}}{48}{}\protected@file@percent }
\newlabel{fig:fig_compiler.jpg}{{36}{48}{}{}{}}
\@writefile{toc}{\contentsline {paragraph}{Main loop and interrupt handling}{48}{}\protected@file@percent }
\acronymused{DSP}
\acronymused{ANR}
\acronymused{ARM}
@@ -150,76 +150,76 @@
\acronymused{DSP}
\acronymused{ARM}
\acronymused{DSP}
\@writefile{lof}{\contentsline {figure}{\numberline {37}{\ignorespaces Low-level implementation: Main loop and interrupt handling}}{47}{}\protected@file@percent }
\newlabel{fig:fig_dps_code_mainloop}{{37}{47}{}{figure.37}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {38}{\ignorespaces Flow diagram of the code implementation of the main loop and interrupt handling on the \ac {DSP} core.}}{48}{}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {37}{\ignorespaces Low-level implementation: Main loop and interrupt handling}}{49}{}\protected@file@percent }
\newlabel{fig:fig_dps_code_mainloop}{{37}{49}{}{}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {38}{\ignorespaces Flow diagram of the code implementation of the main loop and interrupt handling on the \ac {DSP} core.}}{50}{}\protected@file@percent }
\acronymused{DSP}
\newlabel{fig:fig_dsp_logic.jpg}{{38}{48}{}{figure.38}{}}
\@writefile{toc}{\contentsline {paragraph}{calculate\_output()-function}{48}{}\protected@file@percent }
\newlabel{fig:fig_dsp_logic.jpg}{{38}{50}{}{}{}}
\@writefile{toc}{\contentsline {paragraph}{calculate\_output()-function}{50}{}\protected@file@percent }
\acronymused{DSP}
\acronymused{ANR}
\acronymused{DSP}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}DSP-level implementation of the ANR algorithm}{49}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}DSP-level implementation of the ANR algorithm}{51}{}\protected@file@percent }
\acronymused{DSP}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.3.1}DSP-specific optimizations for real-time processing}{49}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.3.1}DSP-specific optimizations for real-time processing}{51}{}\protected@file@percent }
\acronymused{ANR}
\acronymused{DSP}
\@writefile{toc}{\contentsline {paragraph}{Logic operations}{49}{}\protected@file@percent }
\@writefile{toc}{\contentsline {paragraph}{Logic operations}{51}{}\protected@file@percent }
\acronymused{DSP}
\acronymused{DSP}
\@writefile{lof}{\contentsline {figure}{\numberline {39}{\ignorespaces Manual implementation of a max-function, returning the maximum of two integer values, taking 12 cycles to execute. The intrinsic functions of the DSP compiler allows a 4-cycle implementation of such an operation.}}{49}{}\protected@file@percent }
\newlabel{fig:fig_dsp_code_find_max}{{39}{49}{}{figure.39}{}}
\@writefile{toc}{\contentsline {paragraph}{Cyclic array iteration}{49}{}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {39}{\ignorespaces Manual implementation of a max-function, returning the maximum of two integer values, taking 12 cycles to execute. The intrinsic functions of the DSP compiler allows a 4-cycle implementation of such an operation.}}{51}{}\protected@file@percent }
\newlabel{fig:fig_dsp_code_find_max}{{39}{51}{}{}{}}
\@writefile{toc}{\contentsline {paragraph}{Cyclic array iteration}{51}{}\protected@file@percent }
\acronymused{ANR}
\@writefile{lof}{\contentsline {figure}{\numberline {40}{\ignorespaces Manual implementation of a cyclic array iteration function in C, taking the core 20 cycles to execute a pointer inremen of 1. The intrinsic functions of the DSP compiler allows a single-cycle implementation of such cyclic additions.}}{50}{}\protected@file@percent }
\newlabel{fig:fig_dsp_code_cyclic_add}{{40}{50}{}{figure.40}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {40}{\ignorespaces Manual implementation of a cyclic array iteration function in C, taking the core 20 cycles to execute a pointer inremen of 1. The intrinsic functions of the DSP compiler allows a single-cycle implementation of such cyclic additions.}}{52}{}\protected@file@percent }
\newlabel{fig:fig_dsp_code_cyclic_add}{{40}{52}{}{}{}}
\acronymused{DSP}
\acronymused{DSP}
\@writefile{toc}{\contentsline {paragraph}{Fractional fixed-point arithmetic}{50}{}\protected@file@percent }
\@writefile{toc}{\contentsline {paragraph}{Fractional fixed-point arithmetic}{52}{}\protected@file@percent }
\acronymused{DSP}
\acronymused{MAC}
\acronymused{ALU}
\acronymused{DSP}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.3.2}Performance quantization of the ANR calculation}{50}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.3.2}Performance quantization of the ANR calculation}{52}{}\protected@file@percent }
\acronymused{ANR}
\acronymused{DSP}
\acronymused{FIR}
\acronymused{FIR}
\acronymused{DSP}
\@writefile{toc}{\contentsline {paragraph}{write\_buffer}{51}{}\protected@file@percent }
\@writefile{toc}{\contentsline {paragraph}{write\_buffer}{53}{}\protected@file@percent }
\acronymused{DSP}
\@writefile{toc}{\contentsline {paragraph}{apply\_fir\_filter}{51}{}\protected@file@percent }
\@writefile{toc}{\contentsline {paragraph}{apply\_fir\_filter}{53}{}\protected@file@percent }
\acronymused{FIR}
\acronymused{MAC}
\acronymused{DSP}
\acronymused{DSP}
\@writefile{lof}{\contentsline {figure}{\numberline {41}{\ignorespaces Code snippet of the $apply\_fir\_filter$-function, showing the use of the dual \ac {MAC} architecture of the \ac {DSP} and the fractional multiplication function. The loop iterates through the filter coefficients and reference noise signal samples, performing two multiplications and two additions in each cycle.}}{52}{}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {41}{\ignorespaces Code snippet of the $apply\_fir\_filter$-function, showing the use of the dual \ac {MAC} architecture of the \ac {DSP} and the fractional multiplication function. The loop iterates through the filter coefficients and reference noise signal samples, performing two multiplications and two additions in each cycle.}}{54}{}\protected@file@percent }
\acronymused{MAC}
\acronymused{DSP}
\newlabel{fig:fig_dsp_code_apply_fir_filter}{{41}{52}{}{figure.41}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {42}{\ignorespaces Visualization of the FIR filter calculation in the $apply\_fir\_filter$-function during the 2nd cyclce of a calculation loop. The reference noise signal samples are stored in the sample line, while the filter coefficients are stored in a separate memory section (filter line).}}{52}{}\protected@file@percent }
\newlabel{fig:fig_dsp_fir_cycle.jpg}{{42}{52}{}{figure.42}{}}
\@writefile{toc}{\contentsline {paragraph}{update\_output}{53}{}\protected@file@percent }
\@writefile{toc}{\contentsline {paragraph}{update\_filter\_coefficient}{53}{}\protected@file@percent }
\newlabel{fig:fig_dsp_code_apply_fir_filter}{{41}{54}{}{}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {42}{\ignorespaces Visualization of the FIR filter calculation in the $apply\_fir\_filter$-function during the 2nd cyclce of a calculation loop. The reference noise signal samples are stored in the sample line, while the filter coefficients are stored in a separate memory section (filter line).}}{54}{}\protected@file@percent }
\newlabel{fig:fig_dsp_fir_cycle.jpg}{{42}{54}{}{}{}}
\@writefile{toc}{\contentsline {paragraph}{update\_output}{55}{}\protected@file@percent }
\@writefile{toc}{\contentsline {paragraph}{update\_filter\_coefficient}{55}{}\protected@file@percent }
\acronymused{DSP}
\acronymused{MAC}
\@writefile{lof}{\contentsline {figure}{\numberline {43}{\ignorespaces Code snippet of the $update\_filter\_coefficient$-function, again making use of the dual \ac {MAC} architecture of the \ac {DSP} and the fractional multiplication function. Additionaly, 32-bit values are loaded and stored as 64-bit values, using two also intrinisc functions, allowing to update two filter coefficients in a single cycle.}}{53}{}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {43}{\ignorespaces Code snippet of the $update\_filter\_coefficient$-function, again making use of the dual \ac {MAC} architecture of the \ac {DSP} and the fractional multiplication function. Additionaly, 32-bit values are loaded and stored as 64-bit values, using two also intrinisc functions, allowing to update two filter coefficients in a single cycle.}}{55}{}\protected@file@percent }
\acronymused{MAC}
\acronymused{DSP}
\newlabel{fig:fig_dsp_code_update_filter_coefficients}{{43}{53}{}{figure.43}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {44}{\ignorespaces Visualization of the coefficient calculation in the $update\_filter\_coefficient$-function during the 2nd cyclce of a calculation loop. The output is multiplied with the step size and the corresponding sample from the sample line, before being added to the current filter coefficient.}}{54}{}\protected@file@percent }
\newlabel{fig:fig_dsp_coefficient_cycle.jpg}{{44}{54}{}{figure.44}{}}
\@writefile{toc}{\contentsline {paragraph}{write\_output}{54}{}\protected@file@percent }
\newlabel{equation_computing}{{24}{54}{}{equation.24}{}}
\newlabel{equation_c_1}{{25}{54}{}{equation.25}{}}
\newlabel{equation_c_2}{{26}{54}{}{equation.26}{}}
\newlabel{equation_c_3}{{27}{54}{}{equation.27}{}}
\newlabel{equation_c_4}{{28}{54}{}{equation.28}{}}
\newlabel{equation_c_5}{{30}{54}{}{equation.30}{}}
\newlabel{equation_computing_final}{{31}{55}{}{equation.31}{}}
\newlabel{fig:fig_dsp_code_update_filter_coefficients}{{43}{55}{}{}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {44}{\ignorespaces Visualization of the coefficient calculation in the $update\_filter\_coefficient$-function during the 2nd cyclce of a calculation loop. The output is multiplied with the step size and the corresponding sample from the sample line, before being added to the current filter coefficient.}}{56}{}\protected@file@percent }
\newlabel{fig:fig_dsp_coefficient_cycle.jpg}{{44}{56}{}{}{}}
\@writefile{toc}{\contentsline {paragraph}{write\_output}{56}{}\protected@file@percent }
\newlabel{equation_computing}{{24}{56}{}{}{}}
\newlabel{equation_c_1}{{25}{56}{}{}{}}
\newlabel{equation_c_2}{{26}{56}{}{}{}}
\newlabel{equation_c_3}{{27}{56}{}{}{}}
\newlabel{equation_c_4}{{28}{56}{}{}{}}
\newlabel{equation_c_5}{{30}{56}{}{}{}}
\newlabel{equation_computing_final}{{31}{57}{}{}{}}
\acronymused{DSP}
\@setckpt{chapter_04}{
\setcounter{page}{56}
\setcounter{page}{58}
\setcounter{equation}{31}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
@@ -354,7 +354,7 @@
\setcounter{lstnumber}{15}
\setcounter{FancyVerbLine}{0}
\setcounter{linenumber}{1}
\setcounter{LN@truepage}{55}
\setcounter{LN@truepage}{57}
\setcounter{FancyVerbWriteLine}{0}
\setcounter{FancyVerbBufferLine}{0}
\setcounter{FV@TrueTabGroupLevel}{0}

View File

@@ -1,18 +1,18 @@
\relax
\@writefile{toc}{\contentsline {section}{\numberline {5}Performance evaluation of different implementation variants}{56}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5}Performance evaluation of different implementation variants}{58}{}\protected@file@percent }
\acronymused{DSP}
\acronymused{ANR}
\acronymused{FIR}
\acronymused{ANR}
\acronymused{SNR}
\@writefile{lof}{\contentsline {figure}{\numberline {45}{\ignorespaces Desired signal, corrupted signal, reference noise signal and filter output of the complex \ac {ANR} use case, simulated on the \ac {DSP}}}{56}{}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {45}{\ignorespaces Desired signal, corrupted signal, reference noise signal and filter output of the complex \ac {ANR} use case, simulated on the \ac {DSP}}}{58}{}\protected@file@percent }
\acronymused{ANR}
\acronymused{DSP}
\newlabel{fig:fig_plot_1_dsp_complex.png}{{45}{56}{}{figure.45}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {46}{\ignorespaces Error signal and filter coefficient evolution of the complex \ac {ANR} use case, simulated on the \ac {DSP}}}{57}{}\protected@file@percent }
\newlabel{fig:fig_plot_1_dsp_complex.png}{{45}{58}{}{}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {46}{\ignorespaces Error signal of the complex \ac {ANR} use case, simulated on the \ac {DSP}}}{59}{}\protected@file@percent }
\acronymused{ANR}
\acronymused{DSP}
\newlabel{fig:fig_plot_2_dsp_complex.png}{{46}{57}{}{figure.46}{}}
\newlabel{fig:fig_plot_2_dsp_complex.png}{{46}{59}{}{}{}}
\acronymused{ANR}
\acronymused{DSP}
\acronymused{SNR}
@@ -20,12 +20,21 @@
\acronymused{DSP}
\acronymused{ANR}
\acronymused{DSP}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}Computational efficiency evaluation}{57}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}Computational efficiency evaluation}{59}{}\protected@file@percent }
\acronymused{CI}
\acronymused{ANR}
\acronymused{CI}
\@writefile{lof}{\contentsline {figure}{\numberline {47}{\ignorespaces Noise signals used to corrupt the desired signal in the computational efficiency evaluation}}{60}{}\protected@file@percent }
\newlabel{fig:fig_noise_signals.png}{{47}{60}{}{}{}}
\acronymused{ANR}
\acronymused{SNR}
\@writefile{lof}{\contentsline {figure}{\numberline {48}{\ignorespaces 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.}}{61}{}\protected@file@percent }
\acronymused{SNR}
\newlabel{fig:fig_snr_comparison.png}{{48}{61}{}{}{}}
\acronymused{SNR}
\acronymused{SNR}
\@setckpt{chapter_05}{
\setcounter{page}{58}
\setcounter{page}{62}
\setcounter{equation}{31}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
@@ -39,7 +48,7 @@
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{46}
\setcounter{figure}{48}
\setcounter{table}{0}
\setcounter{float@type}{16}
\setcounter{tabx@nest}{0}
@@ -160,7 +169,7 @@
\setcounter{lstnumber}{15}
\setcounter{FancyVerbLine}{0}
\setcounter{linenumber}{1}
\setcounter{LN@truepage}{57}
\setcounter{LN@truepage}{61}
\setcounter{FancyVerbWriteLine}{0}
\setcounter{FancyVerbBufferLine}{0}
\setcounter{FV@TrueTabGroupLevel}{0}

View File

@@ -1,5 +1,5 @@
\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 used, 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}
@@ -9,23 +9,32 @@ To verify the general performance of the \ac{DSP} implemented \ac{ANR} algorithm
\begin{figure}[H]
\centering
\includegraphics[width=1.0\linewidth]{Bilder/fig_plot_2_dsp_complex.png}
\caption{Error signal and filter coefficient evolution of the complex \ac{ANR} use case, simulated on the \ac{DSP}}
\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}
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 XXXX dB is nearly the same as the one of the high-level implementation, which is XXXX 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}. 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 combinations of desired signals and noise signals 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 signals are chosen as follows:
\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 A male speaker on TV
\item A short music jingle
\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}
PLOT
These two desired signals are corrupted with 3 different noise signals:
\begin{itemize}
\item The already used breathing sound
\item A chewing sound
\item A scratching sound
\end{itemize}
PLOT
The combination of stated sets delivers 6 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.
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.

164
main.bbl-SAVE-ERROR Normal file
View File

@@ -0,0 +1,164 @@
% $ biblatex auxiliary file $
% $ biblatex bbl format version 3.2 $
% Do not modify the above lines!
%
% This is an auxiliary file used by the 'biblatex' package.
% This file may safely be deleted. It will be recreated by
% biber as required.
%
\begingroup
\makeatletter
\@ifundefined{ver@biblatex.sty}
{\@latex@error
{Missing 'biblatex' package}
{The bibliography requires the 'biblatex' package.}
\aftergroup\endinput}
{}
\endgroup
\refsection{0}
\datalist[entry]{none/global//global/global}
\entry{source_synchrony}{misc}{}
\name{author}{1}{}{%
{{hash=ffb45f0281705211553241b831eeaf22}{%
family={MED-EL},
familyi={M\bibinithyphendelim E\bibinitperiod}}}%
}
\strng{namehash}{ffb45f0281705211553241b831eeaf22}
\strng{fullhash}{ffb45f0281705211553241b831eeaf22}
\strng{bibnamehash}{ffb45f0281705211553241b831eeaf22}
\strng{authorbibnamehash}{ffb45f0281705211553241b831eeaf22}
\strng{authornamehash}{ffb45f0281705211553241b831eeaf22}
\strng{authorfullhash}{ffb45f0281705211553241b831eeaf22}
\field{extraname}{1}
\field{sortinit}{1}
\field{sortinithash}{4f6aaa89bab872aa0999fec09ff8e98a}
\field{labelnamesource}{author}
\field{labeltitlesource}{title}
\field{howpublished}{\url{https://www.medel.com/de/hearing-solutions/cochlear-implants}}
\field{note}{Accessed on 20.01.2026}
\field{title}{MED-EL Synchrony Cochlear Implant with a Sonnet 3 Audio Processor}
\field{year}{2026}
\endentry
\entry{source_electrode}{misc}{}
\name{author}{1}{}{%
{{hash=ffb45f0281705211553241b831eeaf22}{%
family={MED-EL},
familyi={M\bibinithyphendelim E\bibinitperiod}}}%
}
\strng{namehash}{ffb45f0281705211553241b831eeaf22}
\strng{fullhash}{ffb45f0281705211553241b831eeaf22}
\strng{bibnamehash}{ffb45f0281705211553241b831eeaf22}
\strng{authorbibnamehash}{ffb45f0281705211553241b831eeaf22}
\strng{authornamehash}{ffb45f0281705211553241b831eeaf22}
\strng{authorfullhash}{ffb45f0281705211553241b831eeaf22}
\field{extraname}{2}
\field{sortinit}{3}
\field{sortinithash}{ad6fe7482ffbd7b9f99c9e8b5dccd3d7}
\field{labelnamesource}{author}
\field{labeltitlesource}{title}
\field{howpublished}{\url{https://blog.medel.pro/de/chirurgie/relevanz-der-ci-elektrode/}}
\field{note}{Accessed on 30.01.2026}
\field{title}{Visualization of a MED-EL electrode inserted into a human cochlear}
\field{year}{2026}
\endentry
\entry{source_dsp_ch1}{misc}{}
\name{author}{1}{}{%
{{hash=26ad37f8f6f878dc28acadb561885bff}{%
family={Li\bibnamedelima Tan},
familyi={L\bibinitperiod\bibinitdelim T\bibinitperiod},
given={Jean\bibnamedelima Jiang},
giveni={J\bibinitperiod\bibinitdelim J\bibinitperiod}}}%
}
\strng{namehash}{26ad37f8f6f878dc28acadb561885bff}
\strng{fullhash}{26ad37f8f6f878dc28acadb561885bff}
\strng{bibnamehash}{26ad37f8f6f878dc28acadb561885bff}
\strng{authorbibnamehash}{26ad37f8f6f878dc28acadb561885bff}
\strng{authornamehash}{26ad37f8f6f878dc28acadb561885bff}
\strng{authorfullhash}{26ad37f8f6f878dc28acadb561885bff}
\field{extraname}{1}
\field{sortinit}{4}
\field{sortinithash}{9381316451d1b9788675a07e972a12a7}
\field{labelnamesource}{author}
\field{labeltitlesource}{title}
\field{howpublished}{Elsevier Inc.}
\field{note}{Chapter 1}
\field{title}{Digital Signal Processing Fundamentals and Applications 3rd Ed}
\field{year}{2013}
\endentry
\entry{source_dsp_ch2}{misc}{}
\name{author}{1}{}{%
{{hash=26ad37f8f6f878dc28acadb561885bff}{%
family={Li\bibnamedelima Tan},
familyi={L\bibinitperiod\bibinitdelim T\bibinitperiod},
given={Jean\bibnamedelima Jiang},
giveni={J\bibinitperiod\bibinitdelim J\bibinitperiod}}}%
}
\strng{namehash}{26ad37f8f6f878dc28acadb561885bff}
\strng{fullhash}{26ad37f8f6f878dc28acadb561885bff}
\strng{bibnamehash}{26ad37f8f6f878dc28acadb561885bff}
\strng{authorbibnamehash}{26ad37f8f6f878dc28acadb561885bff}
\strng{authornamehash}{26ad37f8f6f878dc28acadb561885bff}
\strng{authorfullhash}{26ad37f8f6f878dc28acadb561885bff}
\field{extraname}{2}
\field{sortinit}{1}
\field{sortinithash}{4f6aaa89bab872aa0999fec09ff8e98a}
\field{labelnamesource}{author}
\field{labeltitlesource}{title}
\field{howpublished}{Elsevier Inc.}
\field{note}{Chapter 2}
\field{title}{Digital Signal Processing Fundamentals and Applications 3rd Ed}
\field{year}{2013}
\endentry
\entry{source_patent}{misc}{}
\name{author}{1}{}{%
{{hash=93a5470d20a141eea1a1f94678d4a447}{%
family={Fogel},
familyi={F\bibinitperiod},
given={Lawrence\bibnamedelima J.},
giveni={L\bibinitperiod\bibinitdelim J\bibinitperiod}}}%
}
\strng{namehash}{93a5470d20a141eea1a1f94678d4a447}
\strng{fullhash}{93a5470d20a141eea1a1f94678d4a447}
\strng{bibnamehash}{93a5470d20a141eea1a1f94678d4a447}
\strng{authorbibnamehash}{93a5470d20a141eea1a1f94678d4a447}
\strng{authornamehash}{93a5470d20a141eea1a1f94678d4a447}
\strng{authorfullhash}{93a5470d20a141eea1a1f94678d4a447}
\field{sortinit}{1}
\field{sortinithash}{4f6aaa89bab872aa0999fec09ff8e98a}
\field{labelnamesource}{author}
\field{labeltitlesource}{title}
\field{howpublished}{United States Patent Office}
\field{note}{Pat. Nr. 2966549}
\field{title}{Apparatus for improving intelligence under high ambient noise levels}
\field{year}{1960}
\endentry
\entry{source_dsp_ch9}{misc}{}
\name{author}{1}{}{%
{{hash=26ad37f8f6f878dc28acadb561885bff}{%
family={Li\bibnamedelima Tan},
familyi={L\bibinitperiod\bibinitdelim T\bibinitperiod},
given={Jean\bibnamedelima Jiang},
giveni={J\bibinitperiod\bibinitdelim J\bibinitperiod}}}%
}
\strng{namehash}{26ad37f8f6f878dc28acadb561885bff}
\strng{fullhash}{26ad37f8f6f878dc28acadb561885bff}
\strng{bibnamehash}{26ad37f8f6f878dc28acadb561885bff}
\strng{authorbibnamehash}{26ad37f8f6f878dc28acadb561885bff}
\strng{authornamehash}{26ad37f8f6f878dc28acadb561885bff}
\strng{authorfullhash}{26ad37f8f6f878dc28acadb561885bff}
\field{extraname}{3}
\field{sortinit}{1}
\field{sortinithash}{4f6aaa89bab872aa0999fec09ff8e98a}
\field{labelnamesource}{author}
\field{labeltitlesource}{title}
\field{howpublished}{Elsevier Inc.}
\field{note}{Chapter 9}
\field{title}{Digital Signal Processing Fundamentals and Applications 3rd Ed}
\field{year}{2013}
\endentry
\enddatalist
\endrefsection
\endinput