This commit is contained in:
Patrick Hangl
2026-01-22 08:31:34 +01:00
parent ad0e8000af
commit a9461c05bf
9 changed files with 268 additions and 196 deletions

View File

@@ -1,11 +1,11 @@
\relax
\@writefile{toc}{\contentsline {section}{\numberline {4}Hardware implementation and optimization of the ANR algorithm}{40}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4}Hardware implementation and optimization of the ANR Algorithm on a low-power system}{40}{}\protected@file@percent }
\acronymused{ANR}
\acronymused{CI}
\acronymused{ANR}
\acronymused{ANR}
\acronymused{ANR}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Description of the low-power DSP and its environment}{40}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Low-power system architecture and integration}{40}{}\protected@file@percent }
\AC@undonewlabel{acro:SOC}
\newlabel{acro:SOC}{{4.1}{40}{}{}{}}
\acronymused{SOC}
@@ -15,7 +15,7 @@
\acronymused{DSP}
\acronymused{ARM}
\acronymused{DSP}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.1}Hardware overview}{40}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.1}ARM and DSP hardware architecture overview}{40}{}\protected@file@percent }
\acronymused{ARM}
\acronymused{ARM}
\acronymused{CI}
@@ -57,7 +57,7 @@
\acronymused{MAC}
\acronymused{ALU}
\acronymused{MAC}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.2}Communication between the ARM core and the DSP core}{41}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.2}Inter-core communication mechanisms}{41}{}\protected@file@percent }
\acronymused{CI}
\acronymused{ARM}
\acronymused{DSP}
@@ -65,9 +65,11 @@
\acronymused{DSP}
\acronymused{DSP}
\acronymused{ARM}
\@writefile{lof}{\contentsline {figure}{\numberline {32}{\ignorespaces Simplified visualization of the interaction between the \ac {ARM} core and the \ac {DSP} core}}{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.}}{42}{}\protected@file@percent }
\acronymused{CI}
\acronymused{ARM}
\acronymused{DSP}
\acronymused{PCM}
\newlabel{fig:fig_dsp_setup.jpg}{{32}{42}{}{}{}}
\acronymused{ARM}
\acronymused{PCM}
@@ -84,8 +86,8 @@
\acronymused{ARM}
\acronymused{DSP}
\newlabel{fig:fig_dsp_comm.jpg}{{33}{43}{}{}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Implementation of the ANR algorithm on the DSP}{43}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.2.1}Description of the ANR algorithm implementation}{43}{}\protected@file@percent }
\@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 }
\acronymused{ANR}
\acronymused{DSP}
\acronymused{DSP}
@@ -115,7 +117,7 @@
\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 triggerd, either to the \ac {DSP} core or to the \ac {ARM} core, depending on the input or output direction.}}{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 triggerd, either to the \ac {DSP} core or to the \ac {ARM} core, depending if triggered during a Read- or Write-operation.}}{45}{}\protected@file@percent }
\acronymused{DMA}
\acronymused{DSP}
\acronymused{ARM}
@@ -129,18 +131,18 @@
\acronymused{ARM}
\acronymused{ANR}
\acronymused{DSP}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.2.2}Code implementation of the ANR algorithm on the DSP}{46}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.2.2}System control flow and main processing loop}{45}{}\protected@file@percent }
\acronymused{ANR}
\acronymused{DSP}
\@writefile{toc}{\contentsline {paragraph}{Memory initialization and mapping}{46}{}\protected@file@percent }
\@writefile{toc}{\contentsline {paragraph}{Memory initialization and mapping}{45}{}\protected@file@percent }
\acronymused{DSP}
\acronymused{PCM}
\acronymused{DSP}
\newlabel{fig:fig_dps_code_memory}{{4.2.2}{46}{}{}{}}
\@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.}}{47}{}\protected@file@percent }
\newlabel{fig:fig_compiler.jpg}{{36}{47}{}{}{}}
\@writefile{toc}{\contentsline {paragraph}{Main loop and interrupt handling}{47}{}\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 adressing is a result of the compiler abstraction.}}{46}{}\protected@file@percent }
\newlabel{fig:fig_compiler.jpg}{{36}{46}{}{}{}}
\@writefile{toc}{\contentsline {paragraph}{Main loop and interrupt handling}{46}{}\protected@file@percent }
\acronymused{DSP}
\acronymused{ANR}
\acronymused{ARM}
@@ -153,10 +155,22 @@
\@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 }
\acronymused{DSP}
\newlabel{fig:fig_dsp_logic.jpg}{{38}{48}{}{}{}}
\@writefile{toc}{\contentsline {paragraph}{ANR function}{48}{}\protected@file@percent }
\@writefile{toc}{\contentsline {paragraph}{Calc()-function}{48}{}\protected@file@percent }
\acronymused{DSP}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Hardware simulation of previous examples}{49}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.4}Optimization approach: hybrid ANR algorithm}{49}{}\protected@file@percent }
\acronymused{ANR}
\acronymused{DSP}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}DSP-level implementation of the ANR algorithm}{49}{}\protected@file@percent }
\acronymused{DSP}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.3.1}DSP-specific optimizations for real-time processing}{49}{}\protected@file@percent }
\acronymused{ANR}
\acronymused{DSP}
\@writefile{toc}{\contentsline {paragraph}{Cyclic array iteration}{49}{}\protected@file@percent }
\acronymused{ANR}
\newlabel{fig:fig_dps_code_cyclic_add}{{4.3.1}{49}{}{}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {39}{\ignorespaces Manual implementation of a cyclic array iteration function in C.}}{49}{}\protected@file@percent }
\acronymused{DSP}
\acronymused{DSP}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.3.2}Performance evaluation and quantization of the DSP implementation}{49}{}\protected@file@percent }
\@setckpt{chapter_04}{
\setcounter{page}{50}
\setcounter{equation}{21}
@@ -168,11 +182,11 @@
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{section}{4}
\setcounter{subsection}{4}
\setcounter{subsubsection}{0}
\setcounter{subsection}{3}
\setcounter{subsubsection}{2}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{38}
\setcounter{figure}{39}
\setcounter{table}{0}
\setcounter{float@type}{16}
\setcounter{tabx@nest}{0}
@@ -290,7 +304,7 @@
\setcounter{bbx:relatedcount}{0}
\setcounter{bbx:relatedtotal}{0}
\setcounter{parentequation}{0}
\setcounter{lstnumber}{18}
\setcounter{lstnumber}{11}
\setcounter{FancyVerbLine}{0}
\setcounter{linenumber}{1}
\setcounter{LN@truepage}{49}