Compare commits
26 Commits
7f3a321929
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f235dbbcdc | ||
|
|
f34d27c817 | ||
|
|
bee8e1c744 | ||
|
|
c24ea16623 | ||
|
|
4eeabddb3a | ||
|
|
6cff68ad4d | ||
|
|
4c3f5d7129 | ||
|
|
af2a1b3c5e | ||
|
|
523110fee1 | ||
|
|
f111a26285 | ||
|
|
2016b6ed9f | ||
| 0b30ad11f2 | |||
| 5c08b650c6 | |||
|
|
fbfe3985b5 | ||
|
|
bd86d3766b | ||
|
|
c826f8ba7a | ||
|
|
c3f12ac6ad | ||
|
|
1e1297f440 | ||
| c48bf258b1 | |||
| 335f2c4cf0 | |||
|
|
e028a80571 | ||
|
|
35fcb48624 | ||
|
|
70d356df2f | ||
|
|
1d19112e8c | ||
|
|
374580a0dd | ||
|
|
534409a493 |
6
.vscode/ltex.dictionary.en-US.txt
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
Widrow
|
||||||
|
Fogel
|
||||||
|
antiphase
|
||||||
|
Lueg
|
||||||
|
IIR
|
||||||
|
Zobel
|
||||||
1
.vscode/ltex.hiddenFalsePositives.en-US.txt
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"rule":"ABOUT_ITS_NN","sentence":"^\\QIn contrary to it's counterpart, it also uses past output samples in addition to current and past input samples - therefore the response of an IIR-filter theoretically continues indefinitely.\\E$"}
|
||||||
BIN
Bilder/Thumbs.db
BIN
Bilder/fig_anr.jpg
Normal file
|
After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 14 KiB |
BIN
Bilder/fig_anr_hybrid.jpg
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
Bilder/fig_anr_implant.jpg
Normal file
|
After Width: | Height: | Size: 58 KiB |
BIN
Bilder/fig_dsp.jpg
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
Bilder/fig_electrode.jpg
Normal file
|
After Width: | Height: | Size: 69 KiB |
BIN
Bilder/fig_fft.jpg
Normal file
|
After Width: | Height: | Size: 102 KiB |
BIN
Bilder/fig_fir.jpg
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
Bilder/fig_gradient.jpg
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
Bilder/fig_iir.jpg
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
Bilder/fig_interference.jpg
Normal file
|
After Width: | Height: | Size: 94 KiB |
BIN
Bilder/fig_lowpass.jpg
Normal file
|
After Width: | Height: | Size: 73 KiB |
BIN
Bilder/fig_nyquist.jpg
Normal file
|
After Width: | Height: | Size: 116 KiB |
BIN
Bilder/fig_patent.jpg
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
Bilder/fig_transfer.jpg
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
Bilder/fig_w_opt.jpg
Normal file
|
After Width: | Height: | Size: 7.9 KiB |
BIN
Bilder/fig_wien.jpg
Normal file
|
After Width: | Height: | Size: 23 KiB |
@@ -1,19 +1,29 @@
|
|||||||
\section{Introduction}
|
\section{Introduction}
|
||||||
\subsection{Motivation}
|
\subsection{Motivation}
|
||||||
According to the World Health Organisation (WHO), around 1.6 billion people over 14 years on earth suffer from any kind of hearing loss. From this 1.6 billion people, around 430 million suffer from disabling hearing loss (up to deafness), requiring rehabilitation.
|
According to the World Health Organization (WHO), around 1.6 billion people over 14 years worldwide suffer from any kind of hearing loss. Included in this 1.6 billion people, around 430 million suffer from disabling hearing loss (up to deafness), requiring rehabilitation. In the case of disabling hearing loss, the possibility of using an implant system solution has revolutionized auditory rehabilitation by restoring partial hearing. Despite steady progress in implant technology over the past decades, the system still faces its limitations. Complex auditory environments, like static noises overlain by a person speaking, can still propose a considerable challenge for users of auditory implants compared to people with a healthy hearing. \\ \\
|
||||||
\subsection{Overview of hearing aids and their role in auditory assistance}
|
Therefore, the improvement of implant performance in regard to the suppression of disturbance noises is therefore a crucial step in the development of more user-friendly implant solutions which provide users with more natural sound perception and greater listening comfort.
|
||||||
\subsection{Introduction to Cochlear Implant (CI) Systems and Audio Processors}
|
\\ \\
|
||||||
A Cochlear Implant (CI) System is a specialized form of hearing aid, used to restore partly or complete deafness. In contrary to standard hearing aids, CI's do not just amplify the audio signal received by the ear, but stimulate the auditory nerve itself directly through electric pulses.\\ \\
|
By addressing these challenges, this work aims to contribute to the next generation of cochlear implant technology, ultimately enhancing the auditory experience and quality of life for people with severe hearing impairments.
|
||||||
Usually, a CI System consists out of an external processor (''audio processor'') receiving the ambient audio signal, processing it, and then transmitting it inductively via a transmission coil through the skin to the cochlear implant itself, implanted on the patient's skull (see figure \ref{fig:fig_snychrony}). The CI stimulates the auditory nerves inside the cochlear through charge pulses, thus enabling the patient to hear the received audio signal as sound.\\
|
\subsection{Introduction to cochlear implant systems}
|
||||||
\begin{figure}
|
A cochlear implant (CI) System is a specialized form of hearing aid, used to restore partly or complete deafness. In contrary to standard hearing aids, CI's do not just amplify the audio signal received by the ear, but stimulate the auditory nerve itself directly through electric pulses.\\ \\
|
||||||
|
Usually, a CI system consists out of an external processor with a microphone (``audio processor'') receiving the ambient audio signal, processing it, and then transmitting it inductively via a transmission coil through the skin to the cochlear implant itself, implanted on the patient's skull (see Figure \ref{fig:fig_synchrony}). The CI stimulates the auditory nerves inside the cochlear through charge pulses, thus enabling the patient to hear the received audio signal as sound.\\
|
||||||
|
\begin{figure}[H]
|
||||||
\centering
|
\centering
|
||||||
\includegraphics[width=0.5\linewidth]{Bilder/fig_synchrony.png}
|
\includegraphics[width=0.6\linewidth]{Bilder/fig_synchrony.png}
|
||||||
\caption{Sketch of a MED-EL Synchrony Cochlear Implant with a Sonnet 3 Audio Processor \cite{source_synchrony}}
|
\caption{Sketch of a MED-EL Synchrony Cochlear Implant with a Sonnet 3 Audio Processor \cite{source_synchrony}}
|
||||||
\label{fig:fig_snychrony}
|
\label{fig:fig_synchrony}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
\\As for any head worn hearing aid, the audio processor of a CI system does not only pick up the desired ambient audio signal, but also any sort of interference noises from different sources. This circumstance leads to a decrease in the quality of the final audio signal. Reducing this interference noise through Adaptive Noise Reduction (ANR), implemented on a low-power Digital Signal Processor (DSP), which can be powered within the electrical limitations of a CI system, is the topic of this master's thesis.
|
\noindent The pulse transmission to the cochlear is realized through a silicone electrode with embedded metal contacts. Said electrode is inserted into the cochlear through a drilled hole in the bone, where, depending on the insertion depth, different contact areas stimulate different parts of the frequency spectrum of the hearing sense. The smaller end of the electrode array inserted deep into the cochlear stimulates low frequencies, whereas the larger part at the beginning of the array stimulates high frequencies. (see Figure \ref{fig:fig_electrode}).
|
||||||
\subsection{Problem description: Interference signals mixed with the ambient audio signals
|
\begin{figure}[H]
|
||||||
in Audio Processors}
|
\centering
|
||||||
\subsection{Formulation of the objective of the thesis: Implementation of Adaptive Noise
|
\includegraphics[width=0.8\linewidth]{Bilder/fig_electrode.jpg}
|
||||||
Reduction (ANR) on a dedicated low-power Digital Signal Processor (DSP)}
|
\caption{Visualization of a MED-EL electrode inserted into a human cochlear. \cite{source_electrode}}
|
||||||
|
\label{fig:fig_electrode}
|
||||||
|
\end{figure}
|
||||||
|
\noindent As for any head worn hearing aid, the audio processor of a CI system does not only pick up the desired ambient audio signal, but also any sort of interference noises from different sources. This circumstance leads to a decrease in the quality of the final audio signal for the user. Reducing this interference noise through adaptive noise reduction, implemented on a low-power digital signal processor, which can be powered within the electrical limitations of a CI system, is the topic of this master's thesis.
|
||||||
|
\subsection{Implementation of Adaptive Noise Reduction in Cochlear Implant Systems}
|
||||||
|
The above problem description of noise interference shows the need of further improvement of CI systems in this regard. For persons with a healthy hearing sense, the addition of noise to an observed signal may just mean a decrease in hearing comfort, whereas for aurally impaired people it can make the difference in the basic understanding of information. As everyday environments present fluctuating background noise - from static crowd chatter to sudden sounds of different characteristics — that can severely degrade speech perception, the ability to suppress noise is a crucial benefit for users of cochlear implant systems. \\ \\
|
||||||
|
Adaptive noise reduction (ANR) (also commonly referred as adaptive noise cancellation (ANC)), is an advanced signal processing technique that adjusts the parameters of a digital filter to suppress unwanted noise from a signal while preserving the desired target signal. In contrary to static filters (like a high- or low-pass filter), ANR uses real-time feedback to adjust said digital filter to adapt to the current circumstances.\\ \\
|
||||||
|
The challenge in the implementation of ANR in CI systems lies in the limited capacities. As the CI system is powered by a small battery located in the audio processor, energy efficiency is crucial for a possible solution of the described problem of noise interference. Any approach to a reduction of interference noise must be highly optimized with regard to computing power and implemented on dedicated low-power hardware, being able to be powered within the limitations of a CI system.\\ \\
|
||||||
|
The main solution concept of this thesis is the optimization of the adaptive filter of the ANR algorithm in combination with the used low-power hardware. Its goal is, to deliver the best possible result in interference noise reduction while still being able to be powered by the limited resources of a CI system. Different variants, like the fully adaptive filter, the hybrid static/adaptive filter and different optimization approaches of the latter one are low-level simulated on the dedicated digital signal processor. Especially, the different optimization strategies of the hybrid static/adaptive filter algorithm shall be evaluated and compared in regard of their required computing power, and therefore, their required power consumption. Depending on the kind of interference noise, the frequency and the intensity, a promising optimization approach is the reduction of adaptation steps per sample while still maintaining an adequate quality of the filtered audio signal.\\ \\
|
||||||
|
Due to the fact, that the CI system is powered by a battery with a relatively small capacity, the firmware is required to work with the least power possible. Therefore, optimization in regard to a minimization of needed processor clocks is aimed for.
|
||||||
296
chapter_02.tex
@@ -1,11 +1,287 @@
|
|||||||
\section{Theoretical Background}
|
\section{Theoretical Background}
|
||||||
\subsection{Fundamentals of signal theory and transfer functions, including a simple illus-
|
The following subchapters shall supply the reader with the theoretical foundation of digital signal processing to better understand the following implementation of ANR on a low-power signal processor.\\ \\
|
||||||
trative example}
|
The chapter begins with the decription of signals, the problem of them interfering and the basics of digital signal processing in general, covering fundamental topics like signal representation, transfer functions and filters.\\
|
||||||
\subsection{Introduction to ANR}
|
Filters are used in various functional designs, therefore a short explanation into the concepts of Finite Impulse Response- and Infinite Impulse Response filters is indispensable.\\
|
||||||
\subsection{Explanation of Finite Impulse Response (FIR) and Infinite Impulse Response
|
At this point an introduction into adaptive noise reduction follows, including a short overview of the most important steps in history, the general concept of ANR, its design possibilities and its optimization possibilities in regard of error calculation.\\
|
||||||
(IIR) filters}
|
With this knowledge covered, a realistic signal flow diagram of an implanted CI system with corresponding transfer functions is designed, essential to implement ANR on a low-power digital signal processor.\\
|
||||||
\subsection{Introduction to the Least Mean Square (LMS) method for adaptive filtering}
|
At the end of chapter two, high-level Python simulations shall function as a practical demonstration of the recently presented theoretical background.
|
||||||
\subsection{Problem analysis: Signal flow diagram showing the origin of the useful signal,
|
\subsection{Signals and signal interference}
|
||||||
noise signal, and their coupling}
|
A signal is a physical parameter (e.g. pressure, voltage) changing its value over time. Whereas in nature, a signal is always analog, meaning continuous in both time and amplitude, a digital signal is represented in a discrete form, being sampled at specific time intervals and quantized to finite amplitude levels.\\ \\
|
||||||
\subsection{Derivation of the system’s transfer function based on the problem setup}
|
The term "signal interference" describes the overlapping of unwanted signals or noise with the desired signal, degrading the overall quality and intelligibility of the processed information. A simple example of signal interference is shown in Figure \ref{fig:fig_interference} - the noisy signal (top) consists out of several signals of different frequencies, representing both the desired signal and unwanted noise. The cleaned signal (bottom) shows the desired signal after unwanted frequencies has been cut off by a filter.\\ \\
|
||||||
\subsection{Example applications and high-level simulations using Python}
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.8\linewidth]{Bilder/fig_interference.jpg}
|
||||||
|
\caption{Noisy signal containing different frequencyies and cleaned signal. \cite{source_dsp_ch1}}
|
||||||
|
\label{fig:fig_interference}
|
||||||
|
\end{figure}
|
||||||
|
\noindent In cochlear implant systems, speech signals must be reconstructed with high spectral precision to ensure intelligibility for the user. As signal interference can cause considerable degradation to the quality of said final audio signal, the objective of this thesis shall be the improvement of implant technology in regard of adaptive noise reduction.
|
||||||
|
\subsection{Fundamentals of digital signal processing}
|
||||||
|
Digital signal processing describes the manipulation of digital signals on a digital signal processor (DSP) trough mathematical approaches. Analog signals have to be digitalized before being able to be handled by a DSP.
|
||||||
|
\subsubsection{Signal conversion and representation}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.8\linewidth]{Bilder/fig_dsp.jpg}
|
||||||
|
\caption{Block diagram of processing an analog input signal to an analog output signal with digital signal processing in between. \cite{source_dsp_ch1}}
|
||||||
|
\label{fig:fig_dsp}
|
||||||
|
\end{figure}
|
||||||
|
Before digital signal processing can be applied to an analog signal like human voice, several steps are required beforehand. An analog signal, continuous in both time and amplitude, is passed through an initial filter, which limits the frequency bandwidth. An analog-digital converter then samples and quantities the signal into a digital form, now discrete in time and amplitude. This digital signal can now be processed, before (possibly) being converted to an analog signal again (refer to Figure \ref{fig:fig_dsp}). The sampling rate defines, in how many samples per second are taken from the analog signal - a higher sample rate delivers a more accurate digital representation of the signal but also uses more resources. According to the Nyquist–Shannon sampling theorem, the sample rate must be at least twice the highest frequency component present in the signal to avoid aliasing of the signal (refer to Figure \ref{fig:fig_nyquist}). Aliasing describes the phenomenon, that high frequency parts of a signal are wrongly interpreted, if the sampling rate of the analog signal is too low. The digitlazied signal then contains low frequencies, which don´t occur in the original signal.
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.8\linewidth]{Bilder/fig_nyquist.jpg}
|
||||||
|
\caption{Adequate (top) and inadequate (bottom) sampling frequency of a signal. \cite{source_dsp_ch1}}
|
||||||
|
\label{fig:fig_nyquist}
|
||||||
|
\end{figure}
|
||||||
|
Throughout this thesis, sampled signals are denoted in lowercase with square brackets (e.g. {x[n]}) to distinguish them from time-continuous signals
|
||||||
|
(e.g. {x(t)}).\\
|
||||||
|
The discrete digital signal can be viewed as a sequence of finite samples with its amplitude being a discrete value, like a 16- or 32-bit integer. A signal vector of the length N, containing N samples, is therefore notated as
|
||||||
|
\begin{equation}
|
||||||
|
\label{equation1}
|
||||||
|
x[n] = [x[n-N+1],x[n-N+2],...,x[n-1],x[n]]
|
||||||
|
\end{equation}
|
||||||
|
where x[n] is the current sample and x[n-1] is the preceding sample.
|
||||||
|
\subsubsection{Time domain vs. frequency domain}
|
||||||
|
A signal (either analog or digital) can be displayed and analyzed in two ways: the time domain and the frequency domain. The time domain shows the amplitude of the signal over time - like the sine waves from Figure \ref{fig:fig_interference}. If a Fast Fourier Transformation (FFT) is applied to the signal in the time spectrum, we receive the same signal in the frequency spectrum, now showing the spectral power present in the signal (refer to Figure \ref{fig:fig_fft}).\\ \\
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.8\linewidth]{Bilder/fig_fft.jpg}
|
||||||
|
\caption{Sampled digital signal in the time spectrum and in the frequency spectrum. \cite{source_dsp_ch1}}
|
||||||
|
\label{fig:fig_fft}
|
||||||
|
\end{figure}
|
||||||
|
\subsubsection{Transfer Functions and filters}
|
||||||
|
When we discuss signals in a mathematical way, we need to explain the term ``transfer function''. A transfer function is a mathematical representation of an abstract system that describes how an input signal is transformed into an output signal. This could mean a simple amplification or a phase shift applied to an input signal.
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.8\linewidth]{Bilder/fig_transfer.jpg}
|
||||||
|
\caption{Simple representation of a transfer function taking a noisy input signal and delivering a clean output signal. \cite{source_dsp_ch1}}
|
||||||
|
\label{fig:fig_transfer}
|
||||||
|
\end{figure}
|
||||||
|
\noindent In digital signal processing, especially in the design of a noise reduction algorithm, transfer functions are essential for modeling and analyzing filters, amplifiers, and the pathway of the signal itself. By understanding a system’s transfer function, one can predict how sound signals are altered and therefore how filter parameters can be adapted to deliver the desired output signal.\\ \\
|
||||||
|
During the description of transfer functions, the term ``filter'' was used but not yet defined. A filter can be understood as a component in signal processing, designed to modify or extract specific parts of a signal by selectively allowing certain frequency ranges to pass while attenuating others. Filters can be static, meaning they always extract the same portion of a signal, or adaptive, meaning they change their filtering behavior over time according to their environment. Examples of static filter include low-pass-, high-pass-, band-pass- and band-stop filters, each tailored to isolate or remove particular frequency content (refer to Figure \ref{fig:fig_lowpass}).
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.8\linewidth]{Bilder/fig_lowpass.jpg}
|
||||||
|
\caption{Behavior of a low-pass-filter. At the highlighted frequecny $f_c$ of 3400 Hz, the amplitude of the incoming signal is reduced to 70\%. \cite{source_dsp_ch2}}
|
||||||
|
\label{fig:fig_lowpass}
|
||||||
|
\end{figure}
|
||||||
|
\subsection{Filter designs}
|
||||||
|
Before we continue with the introduction to the actual topic of this thesis, adaptive noise reduction, two very essential filter designs need further explanation - the Finite Impulse Response- and Infinite Impulse Response filter.
|
||||||
|
\subsubsection{Finite Impulse Response filters}
|
||||||
|
A Finite Impulse Response (FIR) filter, commonly referred to as a ``Feedforward Filter'' is defined through the property, that it uses only input values and not feedback from output samples to determine it´s filtering behavior - therefore, if the input signal is reduced to zero, the response of a FIR filter reaches zero after a finite number of samples.\\ \\
|
||||||
|
Equation \ref{equation_fir} specifies the input-output relationship of a FIR filter - $x[n]$ is the input sample, $y[n]$ is output sample, and $b_0$ to $b_M$ the filter coefficients and M the length of the filter
|
||||||
|
\begin{equation}
|
||||||
|
\label{equation_fir}
|
||||||
|
y[n] = \sum_{k=0}^{M} b_kx[n-k] = b_0x[n] + b_1x[n-1] + ... + b_Mx[n-M]
|
||||||
|
\end{equation}
|
||||||
|
Figure \ref{fig:fig_fir} visualizes a simple FIR filter with three coefficients - the first sample is multiplied with the operator $b_0$ whereas the following samples are multiplied with the operators $b_1$ amd $b_2$ before added back together. The Operator $Z^{-1}$ represents a delay operator of one sample.
|
||||||
|
As there are three operators present in the filter, three samples are needed before the filter response is complete.
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.8\linewidth]{Bilder/fig_fir.jpg}
|
||||||
|
\caption{FIR filter example with three feedforward operators.}
|
||||||
|
\label{fig:fig_fir}
|
||||||
|
\end{figure}
|
||||||
|
\subsubsection{Infinite Impulse Response filters}
|
||||||
|
An Infinite Impulse Response (IIR) filter, commonly referred to as a ``Feedback Filter'' can be seen as an extension of the FIR filter. In contrary to its counterpart, it also uses past output samples in addition to current input samples to adapt it´s filtering behavior - therefore the response of an IIR filter theoretically continues indefinitely, even if the input signal is reduced to zero.\\ \\
|
||||||
|
Equation \ref{equation_iir} specifies the input-output relationship of a IIR filter. In addition to Equation \ref{equation_fir} there is now a second term included, where $a_0$ to $a_N$ are the feedback coefficients with their own filter length N.
|
||||||
|
\begin{equation}
|
||||||
|
\label{equation_iir}
|
||||||
|
y[n] = \sum_{k=0}^{M} b_kx[n-k] - \sum_{k=0}^{N} a_ky[n-k] = b_0x[n] + ... + b_Mx[n-M] - a_0y[n] - ... - a_Ny[n-N]
|
||||||
|
\end{equation}
|
||||||
|
Figure \ref{fig:fig_iir} visualizes a simple IIR filter with two feedforward coefficients and two feedback coefficient. The first sample passes through the adder after it was multiplied with $b_0$. After that, it is passed back after being multiplied with $a_0$. The second sample is then processed the same way - this time multiplied with $b_1$ and $b_1$. After two samples, the response of this exemplary IIR filter is complete.
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.8\linewidth]{Bilder/fig_iir.jpg}
|
||||||
|
\caption{IIR filter example with two feedforward operators and two feedback operators.}
|
||||||
|
\label{fig:fig_iir}
|
||||||
|
\end{figure}
|
||||||
|
\subsubsection{FIR- vs. IIR-filters}
|
||||||
|
Due to the fact, that there is no feedback, a FIR filter offers unconditional stability, meaning that the filter response always converges, no matter how the coefficients are set. The disadvantages of the FIR design is the relatively flat frequency response and the higher number of needed coefficitents needed to achieve a certain frequency response compared to its Infinite Impulse Response counterpart.\\ \\
|
||||||
|
The recursive nature of an IIR filter, in contrary, allows to achieve a sharp frequency response with significantly fewer coefficients than an equivalent FIR filter, but it also opens up the possibility, that the filter response diverges, depending on the set coefficients.\\ \\
|
||||||
|
A higher number of needed coefficients implies, that the filter itself needs more time to complete it´s signal response, as more samples are needed to pass the filter.
|
||||||
|
|
||||||
|
\subsection{Introduction to Adaptive Noise Reduction}
|
||||||
|
\subsubsection{History}
|
||||||
|
The necessity for the use of electric filters arose the first time in the beginnings of the 20th century with the development of the quite young fields of tele- and radio-communication. At his time, engineers used static filters like low- or highpass filters to improve transmission quality - this fundamental techniques allowed limiting the frequency spectrum, by cutting out certain frequencies like high-pitched noises or humming. From this time on, the development of new filter designs accelerated, for example with the soon-to-be developed LC-filter by Otto Zobel, an American scientist working at the telecommunication company AT\&T. Until then, the used filters were static, meaning they didn't change their behavior over time.\\ \\
|
||||||
|
In the 1930s, the first real concept of active noise cancellation was proposed by the German Physician Paul Lueg. Lueg patented the idea of two speakers emitting antiphase signals which cancel each other out. Though his patent was granted in 1936, back at the time, there was no technical possibility detect and process audio signals in a way, to make his noise cancellation actually work in a technical environment.\\ \\
|
||||||
|
20 years after Lueg's patent, Lawrence Fogel patented a practical concept of noise cancellation, intended for noise suppression in aviation - this time, the technical circumstances of the 1950s enabled the development of an aviation headset, lowering the overall noise experienced by pilots in the cockpit of a helicopter or an airplane by emitting a 180 degree phase shifted signal of the recorded background noise of the cockpit into the pilots' headset. (see Figure \ref{fig:fig_patent}).
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.7\linewidth]{Bilder/fig_patent.jpg}
|
||||||
|
\caption{Reconstruction of Lawrence Fogel´s patent in 1960. \cite{source_patent}}
|
||||||
|
\label{fig:fig_patent}
|
||||||
|
\end{figure}
|
||||||
|
\noindent In contrary to the static filters in the beginning of the century, the active noise cancellation of Lueg and Widrow was far more advanced than just reducing a signal by a specific frequency portion like with the use of static filters, yet this technique still has their limitations as it is designed only to work within to a certain environment.\\ \\
|
||||||
|
With the rapid advancement of digital signal processing technologies, noise cancellation techniques evolved from static, hardware-based filters and pyhsical soundwave cancellation towards more sophisticated approaches. In the then 1970s, the concept of digital adaptive filtering arose, allowing digital filters to adjust their parameters in real-time based on the characteristics of the incoming signal and noise. This marked a significant leap forward, as it enabled systems to deal with dynamic and unpredictable noise environments - the concept of adaptive noise reduction was born.
|
||||||
|
\subsubsection{The concept of adaptive filtering}
|
||||||
|
Adaptive noise reduction describes an advanced filtering method based on an error-metric and represents a significant advancement over these earlier methods by allowing the filter parameters to continuously adapt to the changing acoustic environment in real-time. This adaptability makes ANR particularly suitable for hearing devices, where environmental noise characteristics vary constantly.\\ \\
|
||||||
|
Static filters low- and high-pass filters as described in the previous chapter feature coefficients that remain constant over time. They are designed for known, predictable noise conditions (e.g., removing a steady 50 Hz hum). While these filters are efficient and easy to implement, they fail to function when noise characteristics change dynamically.\\ \\
|
||||||
|
Although active noise cancellation and adaptive noise reduction share obvious similarities, they differ fundamentally in their application and signal structure. While active noise cancellation aims to physically cancel noise in the acoustic domain — typically before, or at the time, the signal reaches the ear — ANR operates within the signal processing chain, attempting to extract the digital noisy component from the desired digital signal. In cochlear implant systems, the latter is more practical because the acoustic waveform is converted into electrical stimulation signals; thus, signal-domain filtering is the only feasible approach.
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.8\linewidth]{Bilder/fig_anr.jpg}
|
||||||
|
\caption{The basic idea of an adaptive filter design for noise reduction.}
|
||||||
|
\label{fig:fig_anr}
|
||||||
|
\end{figure}
|
||||||
|
\noindent Figure \ref{fig:fig_anr} shows the basic concept of an adaptive filter design, represented through a feedback filter application. The target signal sensor (top) aims to recieve the target signal and outputs the corrupted target signal $d[n]$, which consists out of the recorded target signal $s[n]$ and the corruption noise signal $n[n]$, whereas the noise signal sensor aims to recieve (ideally) only the noise signal and outputs the recorded reference noise signal $x[n]$, which then feeds the adaptive filter. We assume at this point, that the corruption-noise signal is uncorellated to the recorded target signal, and therefore seperable from it. In addition, we asume, that the corruption noise signal is correlated to the reference noise signal, as it originitaes from the same source, but takes a different signal path. \\ \\ The adaptive filter removes a certain, noise-related, frequency part of the input signal and re-evaluates the output through its feedback design. The filter parameters are then adjusted and applied to the next sample to minimize the observed error $e[n]$, which also represents the aproximated target signal $š[n]$. In reality, a signal contamination of the two sensors has to be expected, which will be illustrated in a more realistic signal flow diagram of an implanted CI system.
|
||||||
|
\subsubsection{Fully adaptive vs. hybrid filter design}
|
||||||
|
The basic ANR concept illustrated in Figure \ref{fig:fig_anr} can be understood as a fully adaptive variant. A fully adaptive filter design works with a fixed number of coefficients of which everyone is updated after every sample processing. Even if this approach features the best performance in noise reduction, it also requires a relatively high amount of computing power, as every coefficient has to be re-calculated after every evaluation step.\\ \\
|
||||||
|
To reduce the required computing power, a hybrid static/adaptive filter design can be taken into consideration instead. In this approach, the inital fully adaptive filter is split into a fixed and an adaptive part - the static filter removes a certain, known, or estimated, frequency portion of the noise signal, whereas the adaptive part only has to adapt to the remaining, unforecastable, noise parts. This approach reduces the number of coefficients required to be adapted, therefore lowering the required computing power.
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.8\linewidth]{Bilder/fig_anr_hybrid.jpg}
|
||||||
|
\caption{Hybrid adaptive filter design for noise reduction with a static part and an adaptive part.}
|
||||||
|
\label{fig:fig_anr_hybrid}
|
||||||
|
\end{figure}
|
||||||
|
\noindent Different approaches of the hybrid static/adaptive filter design will be evaluated and compared in regard of their required computing power in a later chapter of this thesis.
|
||||||
|
\subsection{Adaptive optimization strategies}
|
||||||
|
In the decription of the concept of adaptive filtering above, the adaption of filter coefficients due to an error metric was mentioned but not further explained. The following subchapters shall cover the most important aspects of filter optimization in regard of adaptive noise reduction.
|
||||||
|
\subsubsection{Filter optimization and error metrics }
|
||||||
|
Adaptive filters rely on an error metric to self-reliantely evaluate their performance in real-time by adjusting their coefficients in a constant manner to minimize the recieved error signal $e[n]$, which is defined as:
|
||||||
|
\begin{equation}
|
||||||
|
\label{equation_error}
|
||||||
|
e[n] = d[n] - y[n] = š[n]
|
||||||
|
\end{equation}
|
||||||
|
The error signal $e[n]$, already illustrated in Figure \ref{fig:fig_anr} and \ref{fig:fig_anr_hybrid}, is calculated as the difference between the corrupted target signal $d[n]$ and the output signal of the filter $y[n]$.
|
||||||
|
As we will see in the following chapters, a real world application of an adaptive filter system poses several challenges, which have to be taken into consideration when designing the filter. These challenges include:
|
||||||
|
\begin{itemize}
|
||||||
|
\item The error signal $e[n]$ is not a perfect representation of the recorded target signal $s[n]$ present in the corrputed target signal $d[n]$, as the adaptive filter can only approximate the noise signal based on its current coefficients, which in general do not represent the optimal solution at that given time.
|
||||||
|
\item Altough, the corruption noise signal $n[n]$ and the reference noise signal $x[n]$ are correlated, they are not identical, as they take different signal paths from the noise source to their respective sensors. This discrepancy can lead to imperfect noise reduction, as the adaptive filter has to estimate the relationship between these two signals.
|
||||||
|
\item The recorded target signal $s[n]$ is not directly available, as it is only available combined with the corruption noise signal $n[n]$ in the form of $d[n]$ while there is no reference available. Therefore, the error signal $e[n]$, respectively $š[n]$, of the adaptive filter serves as an approximation of the clean speech signal and is used as an indirect measure of the filter's performance, guiding the adaptation process by its own stepwise minimization.
|
||||||
|
\item The reference noise signal $x[n]$ fed into the adaptive filter could also contaminated with parts of the target signal. If this circumstance occurs, it can lead to undesired effects if not handled properly.
|
||||||
|
\end{itemize}
|
||||||
|
The goal of the adaptive filter is therefore to minimize this error signal over time, thereby improving the quality of the output signal by reducing it by it´s noise-component.\\
|
||||||
|
The minimization of the error signal $e[n]$ can by achieved by applying different error metrics used to evaluate the performance of an adaptive filter, including:
|
||||||
|
\begin{itemize}
|
||||||
|
\item Mean Squared Error (MSE): This metric calculates the averaged square of the error between the expected value and the observed value over a predefined period. It is sensitive to large errors and is commonly used in adaptive filtering applications.
|
||||||
|
\item Least Mean Squares (LMS): This metric focuses on minimizing the mean squared error by adjusting the filter coefficients iteratively based on the error signal by applying the gradient descent method. It is computationally efficient and widely used in real-time applications.
|
||||||
|
\item Normalized Least Mean Squares (NLMS): An extension of the LMS algorithm that normalizes the step size based on the power of the input signal, improving convergence speed and stability.
|
||||||
|
\item Recursive Least Squares (RLS): This metric aims to minimize the weighted sum of squared errors, providing faster convergence than LMS but at the cost of higher computational complexity.
|
||||||
|
\end{itemize}
|
||||||
|
As computaional efficiency is a key requirement for the implementation of real-time ANR on a low-power digital signal processor, the Least Mean Squares algorithm is chosen for the minimization of the error signal and therefore will be further explained in the following subchapter.
|
||||||
|
|
||||||
|
\subsubsection{The Wiener filter and Gradient Descent}
|
||||||
|
Before the Least Mean Squares algorithm can be explained in detail, the Wiener filter and the concept Gradient Descent have to be introduced. \\ \\
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.7\linewidth]{Bilder/fig_wien.jpg}
|
||||||
|
\caption{Simple implementation of a Wien filter.}
|
||||||
|
\label{fig:fig_wien}
|
||||||
|
\end{figure}
|
||||||
|
\noindent The Wiener filter, the base of many adaptive filter designs, is a statistical filter used to minimize the Mean Square Error between a target signal and the output of a linear filter. The output $y[n]$ of the Wiener filter is the sum of the weighted input samples, where the weights are represented by the filter coefficients.
|
||||||
|
\begin{equation}
|
||||||
|
\label{equation_wien}
|
||||||
|
y[n] = w_0x[n] + w_1x[n-1] + ... + w_Mx[n-M] = \sum_{k=0}^{M} w_kx[n-k]
|
||||||
|
\end{equation}
|
||||||
|
The Wiener filter aims to adjust it´s coefficients to generate a filter output, which resembles the corruption noise signal $n[n]$ contained in the corrupted target signal $d[n]$ as close as possible. After the filter output is substracted from the corrupted target signal, we recvieve the error signal $e[n]$, which represents the cleaned signal $š[n]$ after the corruption noise component has been removed. For better understanding, a simple Wiener filter with one coefficient shall be illustrated in the following mathematical approach, before the generalization to an n-dimensional filter is made.
|
||||||
|
\begin{equation}
|
||||||
|
\label{equation_wien_error}
|
||||||
|
e[n] = d[n] - y[n] = d[n] - wx[n]
|
||||||
|
\end{equation}
|
||||||
|
If we square the error signal and calculate the expected value, we receive the Mean Squared Error $J$, mentioned in the previous chapter, which is the metric the Wiener filter aims to minimize by adjusting it´s coefficients $w$.
|
||||||
|
\begin{equation}
|
||||||
|
\label{equation_j}
|
||||||
|
J = E(e[n]^2) = E(d^2[n])-2wE(d[n]x[n])+w^2E(x^2[n]) = MSE
|
||||||
|
\end{equation}
|
||||||
|
The terms contained in Equation \ref{equation_j} can be further be defined as:
|
||||||
|
\begin{itemize}
|
||||||
|
\item $\sigma^2$ = $E(d^2[n])$: The expected value of the squared corrupted target signal - a constant term independent of the filter coefficients $w$.
|
||||||
|
\item P = $E(d[n]x[n])$: The cross-correlation between the corrupted target signal and the reference noise signal - a measure of how similar these two signals are.
|
||||||
|
\item R = $E(x^2[n])$: The auto-correlation (or serial-correlation) of the reference noise signal - a measure of the similarity of a signal with it´s delayed copy and therefore of the signal's spectral power.
|
||||||
|
\end{itemize}
|
||||||
|
Equation {\ref{equation_j}} can therefore be further simplified and written as:
|
||||||
|
\begin{equation}
|
||||||
|
\label{equation_j_simple}
|
||||||
|
J = \sigma^2 - 2wP + w^2R
|
||||||
|
\end{equation}
|
||||||
|
As every part of Equation \ref{equation_j_simple} beside $w^2$ is constant, $j$ is a quadratic function of the filter coefficients $w$, offering a calculatable minimum. To find this minimum, the derivative of $J$ with respect to $w$ can be calculated and set to zero:
|
||||||
|
\begin{equation}
|
||||||
|
\label{equation_j_gradient}
|
||||||
|
\frac{dJ}{dw} = -2P + 2wR = 0
|
||||||
|
\end{equation}
|
||||||
|
Solving Equation \ref{equation_j_gradient} for $w$ delivers the equation to calculate the optimal coefficients for the Wiener filter:
|
||||||
|
\begin{equation}
|
||||||
|
\label{equation_w_optimal}
|
||||||
|
w_{opt} = {P}R^{-1}
|
||||||
|
\end{equation}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.7\linewidth]{Bilder/fig_w_opt.jpg}
|
||||||
|
\caption{Minimum of the Mean Square Error J located at the optimcal coefficient w* \cite{source_dsp_ch9}}
|
||||||
|
\label{fig:fig_mse}
|
||||||
|
\end{figure}
|
||||||
|
\noindent If the Wiener filter now consists not out of one coefficient, but out of several coefficients, Equation \ref{equation_wien} can be written in a matrix form as
|
||||||
|
\begin{equation}
|
||||||
|
\label{equation_wien_matrix}
|
||||||
|
y[n] = \sum_{k=0}^{M} w_kx[n-k] = \textbf{W}^T\textbf{X}[n]
|
||||||
|
\end{equation}
|
||||||
|
where \textbf{X} is the input signal matrix and \textbf{W} the filter coefficient matrix.
|
||||||
|
\begin{gather}
|
||||||
|
\label{equation_input_vector}
|
||||||
|
\textbf{X}[n] = [x[n],x[n-1],...,x[n-M]]^T \\
|
||||||
|
\label{equation_coefficient_vector}
|
||||||
|
\textbf{W}[n] = [w_0,w_1,...,w_M]^T
|
||||||
|
\end{gather}
|
||||||
|
Equation \ref{equation_j} can therefore also be rewritten in matrix form to:
|
||||||
|
\begin{equation}
|
||||||
|
\label{equation_j_matrix}
|
||||||
|
J = \sigma^2 - 2\textbf{W}^TP + \textbf{W}^TR\textbf{W}
|
||||||
|
\end{equation}
|
||||||
|
After settings the derivative of Equation \ref{equation_j_matrix} to zero and solving for $W$, we receive the optimal filter coefficient matrix:
|
||||||
|
\begin{equation}
|
||||||
|
\label{equation_w_optimal_matrix}
|
||||||
|
\textbf{W}_{opt} = PR^{-1}
|
||||||
|
\end{equation}
|
||||||
|
\noindent For a large filter, the numerical solution of Equation \ref{equation_w_optimal_matrix} can be computational expensive, as it involves the inversion of potential large matrix. Therefore, to find the optimal set of coefficients $w$, the concept of gradient descent, introduced by Widrow\&Stearns in 1985, can be applied. The gradient decent algortihm aims to to minimize the MSE iteratively sample by sample by adjusting the filter coefficients $w$ in small steps towards the direction of the steepest descent to find the optimal coefficients. The update rule for the coefficients using gradient descent can be expressed as
|
||||||
|
\begin{equation}
|
||||||
|
\label{equation_gradient}
|
||||||
|
w(n+1) = w(n) - \mu \frac{dJ}{dw}
|
||||||
|
\end{equation}
|
||||||
|
where $\mu$ is the constant step size determining the rate of convergence. Figure \ref{fig:fig_w_opt} visualizes the concept of stepwise minimization of the MSE using gradient descent. After the derivative of $J$ with respect to $w$ r4aches zero, the optimal coefficients $w_{opt}$ are found and the coefficients are no longer updated.
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.9\linewidth]{Bilder/fig_gradient.jpg}
|
||||||
|
\caption{Vizualization of the steepest decent alorithm used on the Mean Squared Error. \cite{source_dsp_ch9}}
|
||||||
|
\label{fig:fig_w_opt}
|
||||||
|
\end{figure}
|
||||||
|
\subsubsection{The Least Mean Squares algorithm}
|
||||||
|
The given approach of the steepest decent algorithm in the subchapter above still involves the calculation of the derivative of the MSE $\frac{dJ}{dw}$, which is also a compuational expensive operation to calulate, as it requires knowledge of the statistical properties of the input signals (cross-correlation P and auto-correlation R). Therefore, in energy critical real-time applications, like the implementation of ANR on a low-power DSP, a sample-based aproxmation in form of a Least Mean Squares (LMS) algorithm is used instead. The LMS algorithm approximates the gradient of the MSE by using the instantaneous estimates of the cross-correlation and auto-correlation. To achieve this, we remove the statistical expectation out of the MSE $J$ and take the derivative to obtain a samplewise approximate of $\frac{dJ}{dw[n]}$.
|
||||||
|
\begin{gather}
|
||||||
|
\label{equation_j_lms}
|
||||||
|
J = e[n]^2 = (d[n]-wx[n])^2 \\
|
||||||
|
\label{equation_j_lms_final}
|
||||||
|
\frac{dJ}{dw[n]} = 2(d[n]-w[n]x[n])\frac{d(d[n])-w[n]x[n]}{dw[n]} = -2e[n]x[n]
|
||||||
|
\end{gather}
|
||||||
|
The result of Equation \ref{equation_j_lms_final} can now be inserted into Equation \ref{equation_gradient} to receive the LMS update rule for the filter coefficients:
|
||||||
|
\begin{equation}
|
||||||
|
\label{equation_lms}
|
||||||
|
w[n+1] = w[n] - 2\mu e[n]x[n]
|
||||||
|
\end{equation}
|
||||||
|
The LMS algorithm therefore updates the filter coefficients $w[n]$ after every sample by adding a correction term, which is is calculated by the error signal $e[n]$ and the reference noise signal $x[n]$, scaled by the constant step size $\mu$. By iteratively applying the LMS algorithm, the filter coefficients converge towards the optimal values that minimize the mean squared error between the target signal and the filter output. When a predefined acceptable error level is reached, the adaptation process can be stopped to save computing power.\\ \\
|
||||||
|
\subsection{Signal flow diagram of an implanted cochlear implant system}
|
||||||
|
Now equipped with the necessary theoretical background about signal processing, adaptive noise reduction and the LMS algorithm, a realistic signal flow diagram with the relevant transfer functions of an implanted cochlear implant system can be designed, which will serve as the basis for the implementation of ANR on a low-power digital signal processor.
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=1.1\linewidth]{Bilder/fig_anr_implant.jpg}
|
||||||
|
\caption{Realstic implant design.}
|
||||||
|
\label{fig:fig_anr_implant}
|
||||||
|
\end{figure}
|
||||||
|
\noindent Figure \ref{fig:fig_anr_hybrid} showed us the basic concept of an ANR implementation, without a detailed description how the corrupted targed signal $d[n]$ and the reference noise signal $x[n]$ are formed. Figure \ref{fig:fig_anr_implant} now shows a more complete and realistic signal flow diagram of an implanted cochlear implant system, with two signal sensors and an adaptive noise reduction circuit afterwards. The target signal sensor recieves the target signal and the noise signal over their respective transfer functions and outputs the corrupted target signal $d[n]$, which consists out of the recorded target signal $s[n]$ and the recorded corruption noise signal $n[n]$, whereas the noise signal sensor aims to receive (ideally) only the noise signal $v[n]$ over its transfer function and outputs the reference noise signal $x[n]$, which then feeds the adaptive filter.\\ \\
|
||||||
|
Adittionaly, now the relevant transfer functions of the overall system are illustrated in Figure \ref{fig:fig_anr_implant}. The transfer functions $D_n$, $F_n$, and $C_n$ describe the path from the signal sources to the chasis of the cochlear implant, where the sensors are located. As the sources and the relative location of the user to the sources can vary, these transfer functions are time-variant and unknown. From the chasis, there are two options for continuing the signal path - either directly to the microphone membranes of the respective sensors, represented through the transfer function $G$, or through mechanical vibrations of the implant´s chasis, represented through the transfer functions $A$ and $B$. As the mechanical properties of the implanted cochlear systems are fixed, these transfer functions do not change over time, so they can be seen as time-invariant and known.\\ \\
|
||||||
|
The corrupted target signal $d[n]$ can thereforebe mathematically described as:
|
||||||
|
\begin{equation}
|
||||||
|
\label{equation_dn}
|
||||||
|
d[n] = s[n] + n[n] = t[n] * (D_nG) + v[n] * ((F_nG) + (C_nA))
|
||||||
|
\end{equation}
|
||||||
|
where $t[n]$ and $v[n]$ are the target- and noise signals at their respective source, $s[n]$ is the recorded target signal and $v[n]$ is the recorded corruption noise after passing the transfer functions.\\ \\
|
||||||
|
The noise reference signal $x[n]$ can be mathematically described as:
|
||||||
|
\begin{equation}
|
||||||
|
\label{equation_xn}
|
||||||
|
x[n] = v[n] * (C_nB)
|
||||||
|
\end{equation}
|
||||||
|
where $v[n]$ is the noise signal at its source and $x[n]$ is the recorded reference noise signal after passing the transfer functions.\\ \\
|
||||||
|
Another possible signal interaction could be the leakage of the target signal into the noise signal sensor, leading to undesired effects. This case is not illustrated in Figure \ref{fig:fig_anr_implant} as it wont be further evaluated in this thesis, but shall be mentioned for the sake of completeness at this point.\\ \\
|
||||||
|
At this point, the thereotical background and the fundamentals of adaptive noise reduction have been adequatly introduced and explained as necessary for the understanding of the following chapters of this thesis. The next chapter will now focus on practical high level simulations of different filter concepts and LMS algorithm variations to evaluate their performance in regard of noise reduction quality before the actual implementation on a low-power digital signal processor is conducted.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,2 @@
|
|||||||
\section{Hardware and low-level simulation of different algorithm approaches}
|
\section{High level simulations}
|
||||||
\subsection{Hardware description}
|
|
||||||
\subsection{System setup}
|
|
||||||
\subsection{Low-level simulations of different algorithm approaches}
|
|
||||||
|
|
||||||
|
|||||||
139
chapter_04.aux
Normal file
@@ -0,0 +1,139 @@
|
|||||||
|
\relax
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {4}Hardware and low-level simulation of different algorithm approaches}{25}{}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Hardware description}{25}{}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}System setup}{25}{}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Low-level simulations of different algorithm approaches}{25}{}\protected@file@percent }
|
||||||
|
\@setckpt{chapter_04}{
|
||||||
|
\setcounter{page}{26}
|
||||||
|
\setcounter{equation}{21}
|
||||||
|
\setcounter{enumi}{0}
|
||||||
|
\setcounter{enumii}{0}
|
||||||
|
\setcounter{enumiii}{0}
|
||||||
|
\setcounter{enumiv}{0}
|
||||||
|
\setcounter{footnote}{0}
|
||||||
|
\setcounter{mpfootnote}{0}
|
||||||
|
\setcounter{part}{0}
|
||||||
|
\setcounter{section}{4}
|
||||||
|
\setcounter{subsection}{3}
|
||||||
|
\setcounter{subsubsection}{0}
|
||||||
|
\setcounter{paragraph}{0}
|
||||||
|
\setcounter{subparagraph}{0}
|
||||||
|
\setcounter{figure}{17}
|
||||||
|
\setcounter{table}{0}
|
||||||
|
\setcounter{float@type}{4}
|
||||||
|
\setcounter{tabx@nest}{0}
|
||||||
|
\setcounter{listtotal}{0}
|
||||||
|
\setcounter{listcount}{0}
|
||||||
|
\setcounter{liststart}{0}
|
||||||
|
\setcounter{liststop}{0}
|
||||||
|
\setcounter{citecount}{0}
|
||||||
|
\setcounter{citetotal}{0}
|
||||||
|
\setcounter{multicitecount}{0}
|
||||||
|
\setcounter{multicitetotal}{0}
|
||||||
|
\setcounter{instcount}{18}
|
||||||
|
\setcounter{maxnames}{3}
|
||||||
|
\setcounter{minnames}{1}
|
||||||
|
\setcounter{maxitems}{3}
|
||||||
|
\setcounter{minitems}{1}
|
||||||
|
\setcounter{citecounter}{0}
|
||||||
|
\setcounter{maxcitecounter}{0}
|
||||||
|
\setcounter{savedcitecounter}{0}
|
||||||
|
\setcounter{uniquelist}{0}
|
||||||
|
\setcounter{uniquename}{0}
|
||||||
|
\setcounter{refsection}{0}
|
||||||
|
\setcounter{refsegment}{0}
|
||||||
|
\setcounter{maxextratitle}{0}
|
||||||
|
\setcounter{maxextratitleyear}{0}
|
||||||
|
\setcounter{maxextraname}{3}
|
||||||
|
\setcounter{maxextradate}{0}
|
||||||
|
\setcounter{maxextraalpha}{0}
|
||||||
|
\setcounter{abbrvpenalty}{50}
|
||||||
|
\setcounter{highnamepenalty}{50}
|
||||||
|
\setcounter{lownamepenalty}{25}
|
||||||
|
\setcounter{maxparens}{3}
|
||||||
|
\setcounter{parenlevel}{0}
|
||||||
|
\setcounter{blx@maxsection}{0}
|
||||||
|
\setcounter{mincomprange}{10}
|
||||||
|
\setcounter{maxcomprange}{100000}
|
||||||
|
\setcounter{mincompwidth}{1}
|
||||||
|
\setcounter{afterword}{0}
|
||||||
|
\setcounter{savedafterword}{0}
|
||||||
|
\setcounter{annotator}{0}
|
||||||
|
\setcounter{savedannotator}{0}
|
||||||
|
\setcounter{author}{0}
|
||||||
|
\setcounter{savedauthor}{0}
|
||||||
|
\setcounter{bookauthor}{0}
|
||||||
|
\setcounter{savedbookauthor}{0}
|
||||||
|
\setcounter{commentator}{0}
|
||||||
|
\setcounter{savedcommentator}{0}
|
||||||
|
\setcounter{editor}{0}
|
||||||
|
\setcounter{savededitor}{0}
|
||||||
|
\setcounter{editora}{0}
|
||||||
|
\setcounter{savededitora}{0}
|
||||||
|
\setcounter{editorb}{0}
|
||||||
|
\setcounter{savededitorb}{0}
|
||||||
|
\setcounter{editorc}{0}
|
||||||
|
\setcounter{savededitorc}{0}
|
||||||
|
\setcounter{foreword}{0}
|
||||||
|
\setcounter{savedforeword}{0}
|
||||||
|
\setcounter{holder}{0}
|
||||||
|
\setcounter{savedholder}{0}
|
||||||
|
\setcounter{introduction}{0}
|
||||||
|
\setcounter{savedintroduction}{0}
|
||||||
|
\setcounter{namea}{0}
|
||||||
|
\setcounter{savednamea}{0}
|
||||||
|
\setcounter{nameb}{0}
|
||||||
|
\setcounter{savednameb}{0}
|
||||||
|
\setcounter{namec}{0}
|
||||||
|
\setcounter{savednamec}{0}
|
||||||
|
\setcounter{translator}{0}
|
||||||
|
\setcounter{savedtranslator}{0}
|
||||||
|
\setcounter{shortauthor}{0}
|
||||||
|
\setcounter{savedshortauthor}{0}
|
||||||
|
\setcounter{shorteditor}{0}
|
||||||
|
\setcounter{savedshorteditor}{0}
|
||||||
|
\setcounter{labelname}{0}
|
||||||
|
\setcounter{savedlabelname}{0}
|
||||||
|
\setcounter{institution}{0}
|
||||||
|
\setcounter{savedinstitution}{0}
|
||||||
|
\setcounter{lista}{0}
|
||||||
|
\setcounter{savedlista}{0}
|
||||||
|
\setcounter{listb}{0}
|
||||||
|
\setcounter{savedlistb}{0}
|
||||||
|
\setcounter{listc}{0}
|
||||||
|
\setcounter{savedlistc}{0}
|
||||||
|
\setcounter{listd}{0}
|
||||||
|
\setcounter{savedlistd}{0}
|
||||||
|
\setcounter{liste}{0}
|
||||||
|
\setcounter{savedliste}{0}
|
||||||
|
\setcounter{listf}{0}
|
||||||
|
\setcounter{savedlistf}{0}
|
||||||
|
\setcounter{location}{0}
|
||||||
|
\setcounter{savedlocation}{0}
|
||||||
|
\setcounter{organization}{0}
|
||||||
|
\setcounter{savedorganization}{0}
|
||||||
|
\setcounter{origlocation}{0}
|
||||||
|
\setcounter{savedoriglocation}{0}
|
||||||
|
\setcounter{origpublisher}{0}
|
||||||
|
\setcounter{savedorigpublisher}{0}
|
||||||
|
\setcounter{publisher}{0}
|
||||||
|
\setcounter{savedpublisher}{0}
|
||||||
|
\setcounter{language}{0}
|
||||||
|
\setcounter{savedlanguage}{0}
|
||||||
|
\setcounter{origlanguage}{0}
|
||||||
|
\setcounter{savedoriglanguage}{0}
|
||||||
|
\setcounter{pageref}{0}
|
||||||
|
\setcounter{savedpageref}{0}
|
||||||
|
\setcounter{textcitecount}{0}
|
||||||
|
\setcounter{textcitetotal}{0}
|
||||||
|
\setcounter{textcitemaxnames}{0}
|
||||||
|
\setcounter{biburlbigbreakpenalty}{100}
|
||||||
|
\setcounter{biburlbreakpenalty}{200}
|
||||||
|
\setcounter{biburlnumpenalty}{0}
|
||||||
|
\setcounter{biburlucpenalty}{0}
|
||||||
|
\setcounter{biburllcpenalty}{0}
|
||||||
|
\setcounter{smartand}{1}
|
||||||
|
\setcounter{bbx:relatedcount}{0}
|
||||||
|
\setcounter{bbx:relatedtotal}{0}
|
||||||
|
\setcounter{parentequation}{0}
|
||||||
|
}
|
||||||
5
chapter_04.tex
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
\section{Hardware and low-level simulation of different algorithm approaches}
|
||||||
|
\subsection{Hardware description}
|
||||||
|
\subsection{System setup}
|
||||||
|
\subsection{Low-level simulations of different algorithm approaches}
|
||||||
|
|
||||||
140
drawio/ANC.drawio
Normal file
@@ -0,0 +1,140 @@
|
|||||||
|
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" version="28.2.7">
|
||||||
|
<diagram name="Seite-1" id="BWOSVWQKrhK0Pcg9Olm2">
|
||||||
|
<mxGraphModel dx="1678" dy="874" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||||
|
<root>
|
||||||
|
<mxCell id="0" />
|
||||||
|
<mxCell id="1" parent="0" />
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-1" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;strokeWidth=2;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="400.5" y="540" width="80" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-7" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;strokeWidth=2;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="200" y="80" width="120" height="60" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-13" value="Reciever" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=15;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="217.5" y="95" width="80" height="30" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="uwalZ4GZDBHuo1GNIbxM-2" value="<span style="font-size: 20px;">User</span>" style="text;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="417" y="561" width="70" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="lzdkUs7KSLMrkP71YnfK-1" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;strokeWidth=2;fontColor=#333333;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="200" y="180" width="120" height="60" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="lzdkUs7KSLMrkP71YnfK-2" value="Audio<br>Amplifier" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=15;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="217.5" y="185" width="80" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="lzdkUs7KSLMrkP71YnfK-3" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;strokeWidth=2;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="560" y="80" width="120" height="60" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="lzdkUs7KSLMrkP71YnfK-4" value="Transmitter" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=15;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="570" y="95" width="100" height="30" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="lzdkUs7KSLMrkP71YnfK-6" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;strokeWidth=2;fontColor=#333333;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="560" y="180" width="120" height="60" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="lzdkUs7KSLMrkP71YnfK-7" value="Audio<br>Amplifier" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=15;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="577.5" y="185" width="80" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="lzdkUs7KSLMrkP71YnfK-8" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;strokeWidth=2;fontColor=#333333;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="381" y="180" width="120" height="60" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="lzdkUs7KSLMrkP71YnfK-9" value="Phase<br>Control" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=15;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="403.5" y="183" width="70" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="lzdkUs7KSLMrkP71YnfK-10" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;strokeWidth=2;fontColor=#333333;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="377.5" y="280" width="120" height="60" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="lzdkUs7KSLMrkP71YnfK-11" value="Tone<br>Control" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=15;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="405" y="285" width="70" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="lzdkUs7KSLMrkP71YnfK-12" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;strokeWidth=2;fontColor=#333333;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="379.5" y="380" width="120" height="60" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="lzdkUs7KSLMrkP71YnfK-13" value="Phase<br>Inverter" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=15;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="405" y="385" width="70" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="lzdkUs7KSLMrkP71YnfK-14" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;strokeWidth=2;" edge="1" parent="1" source="lzdkUs7KSLMrkP71YnfK-1" target="8LSkbo7Ni411-_OUStLd-7">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="390" y="410" as="sourcePoint" />
|
||||||
|
<mxPoint x="440" y="360" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="lzdkUs7KSLMrkP71YnfK-16" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeWidth=2;" edge="1" parent="1" target="lzdkUs7KSLMrkP71YnfK-3">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="620" y="180" as="sourcePoint" />
|
||||||
|
<mxPoint x="620" y="170" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="lzdkUs7KSLMrkP71YnfK-17" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;strokeWidth=2;" edge="1" parent="1" source="lzdkUs7KSLMrkP71YnfK-1" target="lzdkUs7KSLMrkP71YnfK-8">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="130" y="290" as="sourcePoint" />
|
||||||
|
<mxPoint x="130" y="250" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="lzdkUs7KSLMrkP71YnfK-18" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;strokeWidth=2;" edge="1" parent="1" source="lzdkUs7KSLMrkP71YnfK-8" target="lzdkUs7KSLMrkP71YnfK-6">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="490" y="130" as="sourcePoint" />
|
||||||
|
<mxPoint x="550" y="130" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="lzdkUs7KSLMrkP71YnfK-19" value="" style="endArrow=none;html=1;rounded=0;entryX=0.481;entryY=1.004;entryDx=0;entryDy=0;exitX=0.51;exitY=-0.002;exitDx=0;exitDy=0;strokeWidth=2;exitPerimeter=0;entryPerimeter=0;" edge="1" parent="1" source="lzdkUs7KSLMrkP71YnfK-10" target="lzdkUs7KSLMrkP71YnfK-8">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="500" y="320" as="sourcePoint" />
|
||||||
|
<mxPoint x="500" y="280" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="lzdkUs7KSLMrkP71YnfK-21" value="" style="endArrow=none;html=1;rounded=0;entryX=0.523;entryY=0.988;entryDx=0;entryDy=0;exitX=0.513;exitY=-0.011;exitDx=0;exitDy=0;strokeWidth=2;entryPerimeter=0;exitPerimeter=0;" edge="1" parent="1" source="lzdkUs7KSLMrkP71YnfK-12" target="lzdkUs7KSLMrkP71YnfK-10">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="440" y="390" as="sourcePoint" />
|
||||||
|
<mxPoint x="440" y="350" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="lzdkUs7KSLMrkP71YnfK-23" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="lzdkUs7KSLMrkP71YnfK-28" target="lzdkUs7KSLMrkP71YnfK-1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="370" y="550" as="sourcePoint" />
|
||||||
|
<mxPoint x="260" y="270" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="260" y="580" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="lzdkUs7KSLMrkP71YnfK-24" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=2;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" target="lzdkUs7KSLMrkP71YnfK-27">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="260" y="530" as="sourcePoint" />
|
||||||
|
<mxPoint x="510" y="590" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="560" y="530" />
|
||||||
|
<mxPoint x="560" y="580" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="lzdkUs7KSLMrkP71YnfK-25" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="lzdkUs7KSLMrkP71YnfK-29" target="lzdkUs7KSLMrkP71YnfK-6">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="440" y="640" as="sourcePoint" />
|
||||||
|
<mxPoint x="630" y="310" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="620" y="670" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="lzdkUs7KSLMrkP71YnfK-26" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="lzdkUs7KSLMrkP71YnfK-30" target="lzdkUs7KSLMrkP71YnfK-12">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="440" y="480" as="sourcePoint" />
|
||||||
|
<mxPoint x="437.08" y="440" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="lzdkUs7KSLMrkP71YnfK-27" value="" style="triangle;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="492" y="570" width="20" height="20" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="lzdkUs7KSLMrkP71YnfK-28" value="" style="triangle;whiteSpace=wrap;html=1;direction=west;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="363" y="570" width="20" height="20" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="lzdkUs7KSLMrkP71YnfK-29" value="" style="triangle;whiteSpace=wrap;html=1;direction=south;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="427" y="640" width="30" height="30" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="lzdkUs7KSLMrkP71YnfK-30" value="" style="triangle;whiteSpace=wrap;html=1;direction=north;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="425" y="480" width="30" height="30" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
</root>
|
||||||
|
</mxGraphModel>
|
||||||
|
</diagram>
|
||||||
|
</mxfile>
|
||||||
115
drawio/ANR.drawio
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" version="28.2.9">
|
||||||
|
<diagram name="Seite-1" id="BWOSVWQKrhK0Pcg9Olm2">
|
||||||
|
<mxGraphModel dx="2253" dy="743" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||||
|
<root>
|
||||||
|
<mxCell id="0" />
|
||||||
|
<mxCell id="1" parent="0" />
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-12" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.13;exitY=-0.031;exitDx=0;exitDy=0;exitPerimeter=0;strokeWidth=2;" parent="1" source="ngw2JN3qWJ9t0b-mEEB_-9" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="390" y="410" as="sourcePoint" />
|
||||||
|
<mxPoint x="510" y="410" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-1" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;strokeWidth=2;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="430" y="230" width="80" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-2" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;strokeWidth=2;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="410" y="430" width="120" height="60" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-4" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;" parent="1" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="510" y="269.5" as="sourcePoint" />
|
||||||
|
<mxPoint x="820" y="270" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-3" value="Adaptive<br>Filter" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=15;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="430" y="435" width="80" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-6" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="8LSkbo7Ni411-_OUStLd-2" target="8LSkbo7Ni411-_OUStLd-1" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="520" y="370" as="sourcePoint" />
|
||||||
|
<mxPoint x="780" y="370" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-7" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;strokeWidth=2;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="132.5" y="240" width="120" height="60" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-8" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;strokeWidth=2;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="132.5" y="430" width="125" height="60" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-9" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="8LSkbo7Ni411-_OUStLd-7" target="8LSkbo7Ni411-_OUStLd-1" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="317.5" y="270.5" as="sourcePoint" />
|
||||||
|
<mxPoint x="392.5" y="270" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-10" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="8LSkbo7Ni411-_OUStLd-8" target="8LSkbo7Ni411-_OUStLd-2" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="340" y="520" as="sourcePoint" />
|
||||||
|
<mxPoint x="345" y="459.5" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-11" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=2;" parent="1" target="8LSkbo7Ni411-_OUStLd-7" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="100" y="270" as="sourcePoint" />
|
||||||
|
<mxPoint x="183" y="269.5" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-12" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="ngw2JN3qWJ9t0b-mEEB_-3" target="8LSkbo7Ni411-_OUStLd-8" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="100" y="460" as="sourcePoint" />
|
||||||
|
<mxPoint x="190" y="459.5" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-13" value="Target signal<br>sensor" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=15;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="137.5" y="245" width="110" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-14" value="Noise<br>sensor" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=15;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="160" y="435" width="70" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-16" value="<font style="font-size: 20px;">Σ</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="450" y="250" width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="uwalZ4GZDBHuo1GNIbxM-2" value="<span style="font-size: 20px;">Target signal</span><div><span style="font-size: 20px;">+<br>Noise signal</span></div>" style="text;whiteSpace=wrap;html=1;align=center;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="-40" y="227.5" width="140" height="85" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-1" value="<span style="font-size: 20px;">d[n] = s[n]+n[n]</span>" style="text;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="270" y="227.5" width="180" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-3" value="<span style="font-size: 20px;">Noise&nbsp;</span><span style="font-size: 20px; background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">signal</span>" style="text;whiteSpace=wrap;html=1;align=center;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="-35" y="435" width="130" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-4" value="<span style="font-size: 20px;">x[n]</span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="300" y="420" width="60" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-5" value="<span style="font-size: 20px;">y</span><span style="font-size: 20px; background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">[n]</span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="410" y="340" width="60" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-6" value="<span style="font-size: 20px;">e[n] = d[n]-y[n] =&nbsp;</span><span style="color: rgb(32, 33, 34); font-family: sans-serif; font-size: 16px; text-align: start; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);">Š</span><span style="font-size: 20px;">[n]</span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="510" y="227.5" width="210" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-8" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1.025;exitDx=0;exitDy=0;exitPerimeter=0;strokeWidth=2;" parent="1" source="ngw2JN3qWJ9t0b-mEEB_-4" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="390" y="410" as="sourcePoint" />
|
||||||
|
<mxPoint x="410" y="560" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="330" y="560" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-9" value="<font style="font-size: 15px;">Error<br>Metric</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;strokeWidth=2;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="410" y="530" width="120" height="60" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-10" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" target="ngw2JN3qWJ9t0b-mEEB_-9" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="720" y="270" as="sourcePoint" />
|
||||||
|
<mxPoint x="680" y="369" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="720" y="560" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
</root>
|
||||||
|
</mxGraphModel>
|
||||||
|
</diagram>
|
||||||
|
</mxfile>
|
||||||
157
drawio/ANR_hybrid.drawio
Normal file
@@ -0,0 +1,157 @@
|
|||||||
|
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" version="28.2.9">
|
||||||
|
<diagram name="Seite-1" id="BWOSVWQKrhK0Pcg9Olm2">
|
||||||
|
<mxGraphModel dx="2253" dy="743" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||||
|
<root>
|
||||||
|
<mxCell id="0" />
|
||||||
|
<mxCell id="1" parent="0" />
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-12" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.13;exitY=-0.031;exitDx=0;exitDy=0;exitPerimeter=0;strokeWidth=2;" parent="1" source="ngw2JN3qWJ9t0b-mEEB_-9" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="390" y="460" as="sourcePoint" />
|
||||||
|
<mxPoint x="510" y="460" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-1" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;strokeWidth=2;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="430" y="230" width="80" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-2" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;strokeWidth=2;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="410" y="480" width="120" height="60" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-4" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;" parent="1" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="510" y="269.5" as="sourcePoint" />
|
||||||
|
<mxPoint x="820" y="270" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-3" value="Adaptive<br>Filter" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=15;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="430" y="485" width="80" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-6" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" target="8LSkbo7Ni411-_OUStLd-2" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="360" y="460" as="sourcePoint" />
|
||||||
|
<mxPoint x="780" y="370" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="360" y="510" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-7" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;strokeWidth=2;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="132.5" y="240" width="120" height="60" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-8" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;strokeWidth=2;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="132.5" y="430" width="125" height="60" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-9" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="8LSkbo7Ni411-_OUStLd-7" target="8LSkbo7Ni411-_OUStLd-1" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="317.5" y="270.5" as="sourcePoint" />
|
||||||
|
<mxPoint x="392.5" y="270" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-10" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="8LSkbo7Ni411-_OUStLd-8" target="ngw2JN3qWJ9t0b-mEEB_-14" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="340" y="520" as="sourcePoint" />
|
||||||
|
<mxPoint x="410" y="460" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="360" y="460" />
|
||||||
|
<mxPoint x="360" y="420" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-11" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=2;" parent="1" target="8LSkbo7Ni411-_OUStLd-7" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="100" y="270" as="sourcePoint" />
|
||||||
|
<mxPoint x="183" y="269.5" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-12" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=2;" parent="1" target="8LSkbo7Ni411-_OUStLd-8" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="100" y="460" as="sourcePoint" />
|
||||||
|
<mxPoint x="190" y="459.5" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-13" value="Target signal<br>sensor" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=15;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="137.5" y="245" width="110" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-14" value="Noise<br>sensor" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=15;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="160" y="435" width="70" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-16" value="<font style="font-size: 20px;">Σ</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="450" y="250" width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="uwalZ4GZDBHuo1GNIbxM-2" value="<span style="font-size: 20px;">Target signal</span><div><span style="font-size: 20px;">+<br>Noise signal</span></div>" style="text;whiteSpace=wrap;html=1;align=center;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="-20" y="227.5" width="120" height="85" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-1" value="<span style="font-size: 20px;">d[n] = s[n]+n[n]</span>" style="text;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="270" y="227.5" width="180" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-3" value="<span style="font-size: 20px;">Noise signal</span>" style="text;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="-20" y="440" width="130" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-4" value="<span style="font-size: 20px;">x[n]</span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="280" y="420" width="60" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-5" value="<span style="font-size: 20px;">y</span><span style="font-size: 20px; background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">[n]</span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="580" y="420" width="60" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-6" value="<span style="font-size: 20px;">e[n] = d[n]-y[n] =&nbsp;</span><span style="color: rgb(32, 33, 34); font-family: sans-serif; font-size: 16px; text-align: start; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);">Š</span><span style="font-size: 20px;">[n]</span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="510" y="227.5" width="210" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-8" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" target="ngw2JN3qWJ9t0b-mEEB_-9" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="310" y="460" as="sourcePoint" />
|
||||||
|
<mxPoint x="410" y="560" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="310" y="610" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-9" value="<font style="font-size: 15px;">Error<br>Metric</font>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;strokeWidth=2;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="410" y="580" width="120" height="60" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-10" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" target="ngw2JN3qWJ9t0b-mEEB_-9" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="720" y="270" as="sourcePoint" />
|
||||||
|
<mxPoint x="680" y="369" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="720" y="610" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-14" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;strokeWidth=2;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="410" y="390" width="120" height="60" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-15" value="Static<br>Filter" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=15;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="440" y="395" width="60" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-17" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=2;" parent="1" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="530" y="420" as="sourcePoint" />
|
||||||
|
<mxPoint x="580" y="460" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="580" y="420" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-18" value="" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;strokeWidth=2;" parent="1" source="8LSkbo7Ni411-_OUStLd-2" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="570" y="510" as="sourcePoint" />
|
||||||
|
<mxPoint x="580" y="460" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="580" y="510" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-19" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeWidth=2;" parent="1" target="8LSkbo7Ni411-_OUStLd-1" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="580" y="460" as="sourcePoint" />
|
||||||
|
<mxPoint x="630" y="410" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="640" y="460" />
|
||||||
|
<mxPoint x="640" y="360" />
|
||||||
|
<mxPoint x="470" y="360" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
</root>
|
||||||
|
</mxGraphModel>
|
||||||
|
</diagram>
|
||||||
|
</mxfile>
|
||||||
217
drawio/ANR_implant.drawio
Normal file
@@ -0,0 +1,217 @@
|
|||||||
|
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" version="28.2.8">
|
||||||
|
<diagram name="Seite-1" id="BWOSVWQKrhK0Pcg9Olm2">
|
||||||
|
<mxGraphModel dx="1426" dy="863" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||||
|
<root>
|
||||||
|
<mxCell id="0" />
|
||||||
|
<mxCell id="1" parent="0" />
|
||||||
|
<mxCell id="qO-CM7M714h87kHfMT8G-5" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f9f7ed;strokeColor=#36393d;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="510" y="200" width="520" height="480" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-12" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.13;exitY=-0.031;exitDx=0;exitDy=0;exitPerimeter=0;strokeWidth=2;" parent="1" source="ngw2JN3qWJ9t0b-mEEB_-9" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="650" y="460" as="sourcePoint" />
|
||||||
|
<mxPoint x="770" y="460" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-1" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;strokeWidth=2;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="690" y="230" width="80" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-2" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;strokeWidth=2;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="670" y="480" width="120" height="60" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-4" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;" parent="1" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="770" y="269.5" as="sourcePoint" />
|
||||||
|
<mxPoint x="1130" y="270" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-3" value="<b>W<sub>2</sub></b>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=15;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="710" y="490" width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="qO-CM7M714h87kHfMT8G-4" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#eeeeee;strokeColor=#36393d;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="270" y="200" width="240" height="480" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-6" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" target="8LSkbo7Ni411-_OUStLd-2" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="620" y="460" as="sourcePoint" />
|
||||||
|
<mxPoint x="1040" y="370" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="620" y="510" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-7" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;strokeWidth=2;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="330" y="240" width="120" height="60" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-8" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;strokeWidth=2;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="320" y="430" width="125" height="60" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-9" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="8LSkbo7Ni411-_OUStLd-7" target="8LSkbo7Ni411-_OUStLd-1" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="210" y="180" as="sourcePoint" />
|
||||||
|
<mxPoint x="392.5" y="270" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-10" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="8LSkbo7Ni411-_OUStLd-8" target="ngw2JN3qWJ9t0b-mEEB_-14" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="510" y="460" as="sourcePoint" />
|
||||||
|
<mxPoint x="410" y="460" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="620" y="460" />
|
||||||
|
<mxPoint x="620" y="420" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-11" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;" parent="1" source="uwalZ4GZDBHuo1GNIbxM-2" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="100" y="252.3" as="sourcePoint" />
|
||||||
|
<mxPoint x="270" y="252.3" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-12" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;" parent="1" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="80" y="460" as="sourcePoint" />
|
||||||
|
<mxPoint x="270" y="460" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-13" value="Target signal<br>sensor" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=15;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="335" y="245" width="110" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-14" value="Noise signal<br>sensor" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=15;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="327.5" y="435" width="110" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-16" value="<font style="font-size: 20px;">Σ</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="710" y="250" width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="uwalZ4GZDBHuo1GNIbxM-2" value="<div style="text-align: center;"><span style="font-size: 20px; background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">Target</span></div><span style="font-size: 20px;"><div style="text-align: center;"><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">signal</span></div></span><div style="text-align: center;"><span style="font-size: 20px;">t[n]</span><span style="font-size: 20px;"></span></div>" style="text;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="15" y="210" width="70" height="85" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-1" value="<span style="font-size: 20px;">d[n] = s[n]+n[n]</span>" style="text;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="530" y="227.5" width="180" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-3" value="<span style="font-size: 20px;">Noise</span><div><span style="font-size: 20px;">signal<br></span><div><span style="font-size: 20px;">v[n]</span></div></div>" style="text;whiteSpace=wrap;html=1;align=center;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="10" y="430" width="80" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-4" value="<span style="font-size: 20px;">x[n]</span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="520" y="420" width="60" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-5" value="<span style="font-size: 20px;">y</span><span style="font-size: 20px; background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">[n]</span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="840" y="420" width="60" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-6" value="<span style="font-size: 20px;">e[n] = d[n]-y[n] =&nbsp;</span><span style="color: rgb(32, 33, 34); font-family: sans-serif; font-size: 16px; text-align: start; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);">Š</span><span style="font-size: 20px;">[n]</span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="770" y="227.5" width="210" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-9" value="<span style="font-size: 15px;">LMS</span>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;strokeWidth=2;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="670" y="580" width="120" height="60" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-10" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" target="ngw2JN3qWJ9t0b-mEEB_-9" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="980" y="270" as="sourcePoint" />
|
||||||
|
<mxPoint x="940" y="369" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="980" y="610" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-14" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;strokeWidth=2;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="670" y="390" width="120" height="60" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-15" value="<b>W<sub>1</sub></b>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=15;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="710" y="400" width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-17" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=2;" parent="1" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="790" y="420" as="sourcePoint" />
|
||||||
|
<mxPoint x="840" y="460" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="840" y="420" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-18" value="" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;strokeWidth=2;" parent="1" source="8LSkbo7Ni411-_OUStLd-2" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="830" y="510" as="sourcePoint" />
|
||||||
|
<mxPoint x="840" y="460" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="840" y="510" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-19" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeWidth=2;" parent="1" target="8LSkbo7Ni411-_OUStLd-1" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="840" y="460" as="sourcePoint" />
|
||||||
|
<mxPoint x="890" y="410" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="900" y="460" />
|
||||||
|
<mxPoint x="900" y="360" />
|
||||||
|
<mxPoint x="730" y="360" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="qO-CM7M714h87kHfMT8G-7" value="" style="endArrow=classic;html=1;rounded=0;entryX=-0.007;entryY=0.148;entryDx=0;entryDy=0;strokeWidth=2;exitX=0.875;exitY=0.4;exitDx=0;exitDy=0;exitPerimeter=0;entryPerimeter=0;" parent="1" source="ngw2JN3qWJ9t0b-mEEB_-3" target="qO-CM7M714h87kHfMT8G-4" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="150" y="360" as="sourcePoint" />
|
||||||
|
<mxPoint x="370" y="360" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="qO-CM7M714h87kHfMT8G-9" value="<span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 20px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: nowrap; background-color: rgb(236, 236, 236); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">e[n]</span>" style="text;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="940" y="420" width="70" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="qO-CM7M714h87kHfMT8G-10" value="<span data-mx-given-colors="{&quot;color&quot;:&quot;rgb(32, 33, 34)&quot;,&quot;background-color&quot;:&quot;rgb(255, 255, 255)&quot;}" style="forced-color-adjust: none; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; color: light-dark(rgb(32, 33, 34), rgb(208, 209, 210)); font-family: sans-serif; font-size: 16px; text-align: start; background-color: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));">Š</span><span style="forced-color-adjust: none; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: nowrap; background-color: rgb(236, 236, 236); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; font-size: 20px;">[n]</span>" style="text;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="1050" y="227.5" width="70" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="qO-CM7M714h87kHfMT8G-11" value="<div style="text-align: center;"><span style="font-size: 20px;">Cochlear Implant<br>Chasis</span></div>" style="text;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="319" y="145" width="190" height="85" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="qO-CM7M714h87kHfMT8G-12" value="<div style="text-align: center;"><span style="font-size: 20px;">Digital Signal Processor</span></div>" style="text;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="658.75" y="142.5" width="222.5" height="85" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="qO-CM7M714h87kHfMT8G-13" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=0.004;exitY=0.544;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="270.96000000000004" y="460.1200000000001" as="sourcePoint" />
|
||||||
|
<mxPoint x="320" y="459" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="qO-CM7M714h87kHfMT8G-15" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.75;entryDx=0;entryDy=0;strokeWidth=2;exitX=0;exitY=0.543;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="qO-CM7M714h87kHfMT8G-4" target="8LSkbo7Ni411-_OUStLd-7" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="270" y="330" as="sourcePoint" />
|
||||||
|
<mxPoint x="430" y="390" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="qO-CM7M714h87kHfMT8G-16" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=-0.004;exitY=0.11;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.213;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="qO-CM7M714h87kHfMT8G-4" target="8LSkbo7Ni411-_OUStLd-7" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="250" y="260" as="sourcePoint" />
|
||||||
|
<mxPoint x="420" y="260" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="qO-CM7M714h87kHfMT8G-17" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=-0.004;exitY=0.11;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.213;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="269" y="271.8" as="sourcePoint" />
|
||||||
|
<mxPoint x="330" y="271.8" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="qO-CM7M714h87kHfMT8G-18" value="<div style="text-align: center;"><span style="font-size: 20px;">F<sub>n</sub></span></div>" style="text;whiteSpace=wrap;html=1;fontColor=light-dark(#E90C0C,#EDEDED);" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="140" y="330" width="30" height="30" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="qO-CM7M714h87kHfMT8G-19" value="<div style="text-align: center;"><span style="font-size: 20px;"><font style="color: rgb(233, 12, 12);">C<sub>n</sub></font></span></div>" style="text;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="140" y="455" width="30" height="30" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="qO-CM7M714h87kHfMT8G-20" value="<div style="text-align: center;"><span style="font-size: 20px;">D<sub>n</sub></span></div>" style="text;whiteSpace=wrap;html=1;fontColor=light-dark(#e90c0c, #ededed);" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="140" y="217" width="30" height="30" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="qO-CM7M714h87kHfMT8G-21" value="<div style="text-align: center;"><span style="font-size: 20px;"><font style="color: rgb(0, 204, 102);">G</font></span></div>" style="text;whiteSpace=wrap;html=1;fontColor=light-dark(#06c609, #bcbcff);" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="289" y="220" width="30" height="30" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="qO-CM7M714h87kHfMT8G-22" value="<div style="text-align: center;"><span style="font-size: 20px;">G</span></div>" style="text;whiteSpace=wrap;html=1;fontColor=#00CC66;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="289" y="265" width="30" height="30" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="qO-CM7M714h87kHfMT8G-23" value="<div style="text-align: center;"><span style="font-size: 20px;"><font style="color: rgb(0, 204, 102);">B</font></span></div>" style="text;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="289" y="430" width="30" height="30" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="qO-CM7M714h87kHfMT8G-24" value="<div style="text-align: center;"><span style="font-size: 20px;"><font style="color: rgb(0, 204, 102);">A</font></span></div>" style="text;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="290" y="316" width="30" height="30" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
</root>
|
||||||
|
</mxGraphModel>
|
||||||
|
</diagram>
|
||||||
|
</mxfile>
|
||||||
136
drawio/FIR.drawio
Normal file
@@ -0,0 +1,136 @@
|
|||||||
|
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" version="28.2.5">
|
||||||
|
<diagram name="Seite-1" id="BWOSVWQKrhK0Pcg9Olm2">
|
||||||
|
<mxGraphModel dx="983" dy="512" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||||
|
<root>
|
||||||
|
<mxCell id="0" />
|
||||||
|
<mxCell id="1" parent="0" />
|
||||||
|
<mxCell id="OiLAJHeFUBjgwUQ8hIGB-1" value="" style="triangle;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;strokeWidth=2;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="370" y="240" width="60" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="OiLAJHeFUBjgwUQ8hIGB-2" value="" style="triangle;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;strokeWidth=2;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="370" y="400" width="60" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="OiLAJHeFUBjgwUQ8hIGB-3" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;strokeWidth=2;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="200" y="330" width="120" height="60" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="OiLAJHeFUBjgwUQ8hIGB-4" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;strokeWidth=2;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="560" y="240" width="80" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="OiLAJHeFUBjgwUQ8hIGB-5" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=2;" parent="1" source="OiLAJHeFUBjgwUQ8hIGB-3" target="OiLAJHeFUBjgwUQ8hIGB-2" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="390" y="410" as="sourcePoint" />
|
||||||
|
<mxPoint x="440" y="360" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="260" y="440" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="OiLAJHeFUBjgwUQ8hIGB-17" value="<font style=""><span style="vertical-align: sub;"><span style="font-size: 20px;">x[n-1]*b</span><span style="font-size: 16.6667px;">1</span></span></font>" style="edgeLabel;html=1;align=center;verticalAlign=bottom;resizable=0;points=[];labelPosition=center;verticalLabelPosition=top;fontSize=15;" parent="OiLAJHeFUBjgwUQ8hIGB-5" vertex="1" connectable="0">
|
||||||
|
<mxGeometry x="0.4421" y="-3" relative="1" as="geometry">
|
||||||
|
<mxPoint x="175" y="-3" as="offset" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="OiLAJHeFUBjgwUQ8hIGB-7" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=2;" parent="1" source="OiLAJHeFUBjgwUQ8hIGB-1" target="OiLAJHeFUBjgwUQ8hIGB-4" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="390" y="410" as="sourcePoint" />
|
||||||
|
<mxPoint x="440" y="360" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="OiLAJHeFUBjgwUQ8hIGB-8" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="OiLAJHeFUBjgwUQ8hIGB-2" target="OiLAJHeFUBjgwUQ8hIGB-4" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="460" y="440" as="sourcePoint" />
|
||||||
|
<mxPoint x="510" y="390" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="600" y="440" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="OiLAJHeFUBjgwUQ8hIGB-10" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;labelPosition=center;verticalLabelPosition=top;align=center;verticalAlign=bottom;strokeWidth=2;entryX=-0.025;entryY=0.518;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="OiLAJHeFUBjgwUQ8hIGB-3" target="QOcnq7HjOjD87WvfSlmi-5" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="350" y="330" as="sourcePoint" />
|
||||||
|
<mxPoint x="400" y="280" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="260" y="280" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="OiLAJHeFUBjgwUQ8hIGB-15" value="<div><font style=""><span style="vertical-align: sub;"><span style="font-size: 20px;">x[n]*b</span><span style="font-size: 16.6667px;">0</span></span></font></div>" style="edgeLabel;html=1;align=center;verticalAlign=bottom;resizable=0;points=[];labelPosition=center;verticalLabelPosition=top;" parent="OiLAJHeFUBjgwUQ8hIGB-10" vertex="1" connectable="0">
|
||||||
|
<mxGeometry x="0.2105" y="4" relative="1" as="geometry">
|
||||||
|
<mxPoint x="184" y="4" as="offset" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="OiLAJHeFUBjgwUQ8hIGB-11" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=2;" parent="1" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="120" y="280" as="sourcePoint" />
|
||||||
|
<mxPoint x="260" y="280" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="OiLAJHeFUBjgwUQ8hIGB-12" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;strokeWidth=2;" parent="1" source="OiLAJHeFUBjgwUQ8hIGB-4" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="390" y="410" as="sourcePoint" />
|
||||||
|
<mxPoint x="720" y="280" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="OiLAJHeFUBjgwUQ8hIGB-13" value="<font style="font-size: 20px;">Σ</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="580" y="260" width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="OiLAJHeFUBjgwUQ8hIGB-14" value="<font style="font-size: 20px;">Z<sup>-1</sup></font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="235" y="340" width="50" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="QOcnq7HjOjD87WvfSlmi-2" value="<span style="font-size: 20px;">x[n]</span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="60" y="260" width="60" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="QOcnq7HjOjD87WvfSlmi-3" value="<span style="font-size: 20px;">y[n]</span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="720" y="260" width="60" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="QOcnq7HjOjD87WvfSlmi-5" value="<font style="font-size: 20px;">b</font><font style="font-size: 16.6667px;"><sub>0</sub></font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="370" y="260" width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="QOcnq7HjOjD87WvfSlmi-6" value="<font style="font-size: 20px;">b</font><font style="font-size: 13.8889px;">1</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="374" y="420" width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="2-d-TmP4VX6OiB4247eF-1" value="" style="triangle;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;strokeWidth=2;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="370" y="560" width="60" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="2-d-TmP4VX6OiB4247eF-2" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;strokeWidth=2;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="200" y="490" width="120" height="60" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="2-d-TmP4VX6OiB4247eF-3" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=2;" edge="1" parent="1" source="2-d-TmP4VX6OiB4247eF-2" target="2-d-TmP4VX6OiB4247eF-1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="390" y="570" as="sourcePoint" />
|
||||||
|
<mxPoint x="440" y="520" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="260" y="600" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="2-d-TmP4VX6OiB4247eF-4" value="<font style=""><span style="vertical-align: sub;"><span style="font-size: 20px;">x[n-2]*b</span><span style="font-size: 16.6667px;">2</span></span></font>" style="edgeLabel;html=1;align=center;verticalAlign=bottom;resizable=0;points=[];labelPosition=center;verticalLabelPosition=top;fontSize=15;" vertex="1" connectable="0" parent="2-d-TmP4VX6OiB4247eF-3">
|
||||||
|
<mxGeometry x="0.4421" y="-3" relative="1" as="geometry">
|
||||||
|
<mxPoint x="175" y="-3" as="offset" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="2-d-TmP4VX6OiB4247eF-5" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="2-d-TmP4VX6OiB4247eF-1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="460" y="600" as="sourcePoint" />
|
||||||
|
<mxPoint x="600" y="440" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="600" y="600" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="2-d-TmP4VX6OiB4247eF-8" value="<font style="font-size: 20px;">b</font><font style="font-size: 13.8889px;">2</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="374" y="580" width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="2-d-TmP4VX6OiB4247eF-9" value="<font style="font-size: 20px;">Z<sup>-1</sup></font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="235" y="500" width="50" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="2-d-TmP4VX6OiB4247eF-10" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;" edge="1" parent="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="260" y="440" as="sourcePoint" />
|
||||||
|
<mxPoint x="260" y="490" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
</root>
|
||||||
|
</mxGraphModel>
|
||||||
|
</diagram>
|
||||||
|
</mxfile>
|
||||||
169
drawio/IIR.drawio
Normal file
@@ -0,0 +1,169 @@
|
|||||||
|
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" version="28.2.5">
|
||||||
|
<diagram name="Seite-1" id="BWOSVWQKrhK0Pcg9Olm2">
|
||||||
|
<mxGraphModel dx="1188" dy="619" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||||
|
<root>
|
||||||
|
<mxCell id="0" />
|
||||||
|
<mxCell id="1" parent="0" />
|
||||||
|
<mxCell id="OiLAJHeFUBjgwUQ8hIGB-1" value="" style="triangle;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;strokeWidth=2;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="200" y="240" width="60" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="OiLAJHeFUBjgwUQ8hIGB-2" value="" style="triangle;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;strokeWidth=2;direction=west;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="480" y="400" width="60" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="OiLAJHeFUBjgwUQ8hIGB-3" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;strokeWidth=2;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="570" y="330" width="120" height="60" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="OiLAJHeFUBjgwUQ8hIGB-4" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;strokeWidth=2;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="340" y="240" width="80" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="OiLAJHeFUBjgwUQ8hIGB-7" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=2;labelPosition=center;verticalLabelPosition=top;align=center;verticalAlign=bottom;fontSize=15;" parent="1" source="OiLAJHeFUBjgwUQ8hIGB-1" target="OiLAJHeFUBjgwUQ8hIGB-4" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="310" y="410" as="sourcePoint" />
|
||||||
|
<mxPoint x="360" y="360" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="OiLAJHeFUBjgwUQ8hIGB-12" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;entryX=0.047;entryY=0.525;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" edge="1" target="dvOqxy1bSSOmIYa8ABIz-10">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="420" y="280" as="sourcePoint" />
|
||||||
|
<mxPoint x="680" y="280" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="OiLAJHeFUBjgwUQ8hIGB-14" value="<font style="font-size: 20px;">Z<sup>-1</sup></font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="605" y="340" width="50" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="5J26uNCy_atFF0Sp8wAd-1" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeWidth=2;" parent="1" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="629.76" y="280" as="sourcePoint" />
|
||||||
|
<mxPoint x="629.76" y="330" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="629.76" y="300" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="5J26uNCy_atFF0Sp8wAd-2" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=2;entryX=0.954;entryY=0.495;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" edge="1" target="dvOqxy1bSSOmIYa8ABIz-4">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="630" y="390" as="sourcePoint" />
|
||||||
|
<mxPoint x="570" y="440" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="630" y="440" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="5J26uNCy_atFF0Sp8wAd-3" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeWidth=2;" parent="1" source="OiLAJHeFUBjgwUQ8hIGB-2" target="OiLAJHeFUBjgwUQ8hIGB-4" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="310" y="410" as="sourcePoint" />
|
||||||
|
<mxPoint x="360" y="360" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="380" y="440" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="OiLAJHeFUBjgwUQ8hIGB-13" value="<font style="font-size: 20px;">Σ</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="360" y="260" width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="dvOqxy1bSSOmIYa8ABIz-1" value="<span style="font-size: 20px;">x[n]</span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="20" y="260" width="60" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="dvOqxy1bSSOmIYa8ABIz-3" value="<font style="font-size: 20px;">b</font><font style="font-size: 16.6667px;">0</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="200" y="260" width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="dvOqxy1bSSOmIYa8ABIz-4" value="<font style=""><span style="font-size: 20px;">a</span><span style="font-size: 16.6667px;">0</span></font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="500" y="420" width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="dvOqxy1bSSOmIYa8ABIz-6" value="" style="endArrow=classic;html=1;rounded=0;entryX=-0.05;entryY=0.475;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=2;exitX=1.006;exitY=0.525;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="dvOqxy1bSSOmIYa8ABIz-3" edge="1" source="dvOqxy1bSSOmIYa8ABIz-1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="110" y="280" as="sourcePoint" />
|
||||||
|
<mxPoint x="155" y="230" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="dvOqxy1bSSOmIYa8ABIz-7" value="<span style="font-size: 20px;">x[n]*b</span><span style="font-size: 16.6667px;">0</span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="260" y="240" width="80" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="dvOqxy1bSSOmIYa8ABIz-9" value="<span style="font-size: 20px;">y[n-1]*a</span><span style="font-size: 16.6667px;">0</span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="380" y="400" width="100" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="dvOqxy1bSSOmIYa8ABIz-10" value="<span style="font-size: 20px;">y[n]</span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="700" y="260" width="60" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="Lg59FlyzQoTfed3G6JgI-1" value="<span style="font-size: 20px;">y[n]</span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="470" y="240" width="60" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="iQ2xeGu4HnHkSbtBqBDD-1" value="" style="triangle;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;strokeWidth=2;direction=west;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="480" y="560" width="60" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="iQ2xeGu4HnHkSbtBqBDD-2" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;strokeWidth=2;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="570" y="490" width="120" height="60" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="iQ2xeGu4HnHkSbtBqBDD-3" value="<font style="font-size: 20px;">Z<sup>-1</sup></font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="605" y="500" width="50" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="iQ2xeGu4HnHkSbtBqBDD-4" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeWidth=2;" edge="1" parent="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="630" y="440" as="sourcePoint" />
|
||||||
|
<mxPoint x="630" y="490" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="iQ2xeGu4HnHkSbtBqBDD-5" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=2;entryX=1.013;entryY=0.507;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" target="iQ2xeGu4HnHkSbtBqBDD-7">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="630" y="550" as="sourcePoint" />
|
||||||
|
<mxPoint x="570" y="600" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="630" y="600" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="iQ2xeGu4HnHkSbtBqBDD-6" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=-0.005;entryY=1.004;entryDx=0;entryDy=0;strokeWidth=2;entryPerimeter=0;" edge="1" parent="1" source="iQ2xeGu4HnHkSbtBqBDD-1" target="dvOqxy1bSSOmIYa8ABIz-9">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="310" y="570" as="sourcePoint" />
|
||||||
|
<mxPoint x="380" y="480" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="380" y="600" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="iQ2xeGu4HnHkSbtBqBDD-7" value="<font style=""><span style="font-size: 20px;">a</span><span style="font-size: 16.6667px;">1</span></font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="500" y="580" width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="iQ2xeGu4HnHkSbtBqBDD-8" value="<span style="font-size: 20px;">y[n-2]*a</span><span style="font-size: 16.6667px;">1</span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="380" y="560" width="100" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="iQ2xeGu4HnHkSbtBqBDD-9" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;strokeWidth=2;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="70" y="330" width="120" height="60" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="iQ2xeGu4HnHkSbtBqBDD-10" value="<font style="font-size: 20px;">Z<sup>-1</sup></font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="105" y="340" width="50" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="iQ2xeGu4HnHkSbtBqBDD-11" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeWidth=2;" edge="1" parent="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="130" y="280" as="sourcePoint" />
|
||||||
|
<mxPoint x="130" y="330" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="iQ2xeGu4HnHkSbtBqBDD-12" value="" style="triangle;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;strokeWidth=2;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="200" y="400" width="60" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="iQ2xeGu4HnHkSbtBqBDD-13" value="<font style="font-size: 20px;">b</font><font style="font-size: 16.6667px;">1</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="200" y="420" width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="iQ2xeGu4HnHkSbtBqBDD-14" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=2;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryPerimeter=0;" edge="1" parent="1" source="iQ2xeGu4HnHkSbtBqBDD-9" target="iQ2xeGu4HnHkSbtBqBDD-13">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="129.58" y="400" as="sourcePoint" />
|
||||||
|
<mxPoint x="129.58" y="450" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="130" y="440" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="iQ2xeGu4HnHkSbtBqBDD-15" value="" style="endArrow=classic;html=1;rounded=0;entryX=-0.005;entryY=0.983;entryDx=0;entryDy=0;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryPerimeter=0;" edge="1" parent="1" source="iQ2xeGu4HnHkSbtBqBDD-12" target="dvOqxy1bSSOmIYa8ABIz-9">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="290" y="460" as="sourcePoint" />
|
||||||
|
<mxPoint x="290" y="510" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="iQ2xeGu4HnHkSbtBqBDD-16" value="<span style="font-size: 20px;">x[n-1]*b</span><span style="font-size: 16.6667px;">1</span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="260" y="400" width="100" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
</root>
|
||||||
|
</mxGraphModel>
|
||||||
|
</diagram>
|
||||||
|
</mxfile>
|
||||||
67
drawio/Wien_filter.drawio
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" version="28.2.9">
|
||||||
|
<diagram name="Seite-1" id="BWOSVWQKrhK0Pcg9Olm2">
|
||||||
|
<mxGraphModel dx="1426" dy="743" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||||
|
<root>
|
||||||
|
<mxCell id="0" />
|
||||||
|
<mxCell id="1" parent="0" />
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-1" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;strokeWidth=2;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="430" y="230" width="80" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-2" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;strokeWidth=2;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="410" y="430" width="120" height="60" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-4" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;" parent="1" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="510" y="269.5" as="sourcePoint" />
|
||||||
|
<mxPoint x="670" y="270" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-3" value="<font style="font-size: 16px;">Wiener<br>filter</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=15;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="435" y="435" width="70" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-6" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="8LSkbo7Ni411-_OUStLd-2" target="8LSkbo7Ni411-_OUStLd-1" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="520" y="370" as="sourcePoint" />
|
||||||
|
<mxPoint x="780" y="370" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-9" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" target="8LSkbo7Ni411-_OUStLd-1" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="252.5" y="270" as="sourcePoint" />
|
||||||
|
<mxPoint x="392.5" y="270" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-10" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" target="8LSkbo7Ni411-_OUStLd-2" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="257.5" y="460" as="sourcePoint" />
|
||||||
|
<mxPoint x="345" y="459.5" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8LSkbo7Ni411-_OUStLd-16" value="<font style="font-size: 20px;">Σ</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="450" y="250" width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="uwalZ4GZDBHuo1GNIbxM-2" value="<div><span style="font-size: 20px;">Recorded target</span></div><span style="font-size: 20px;">signal</span><div><span style="font-size: 20px;">+<br>Recorded noise</span><div><span style="font-size: 20px;">signal</span></div></div>" style="text;whiteSpace=wrap;html=1;align=center;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="80" y="203.75" width="170" height="132.5" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-1" value="<span style="font-size: 20px;">d[n] = s[n]+n[n]</span>" style="text;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="270" y="227.5" width="180" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-3" value="<span style="font-size: 20px;">Recorded noise<br>signal</span>" style="text;whiteSpace=wrap;html=1;align=center;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="85" y="430" width="160" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-4" value="<span style="font-size: 20px;">x[n]</span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="300" y="420" width="60" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-5" value="<span style="font-size: 20px;">y</span><span style="color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); background-color: transparent; font-size: 20px;">[n]</span><span style="font-size: 20px; background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">&nbsp;=&nbsp;</span><span style="font-size: 20px;">w*x</span><span style="color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); background-color: transparent; font-size: 20px;">[n]</span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="475" y="340" width="130" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="ngw2JN3qWJ9t0b-mEEB_-6" value="<span style="font-size: 20px;">e[n]&nbsp;</span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="560" y="227.5" width="60" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="qqt2P6Bfjwj8cCOmPv3F-1" value="<span style="font-size: 20px;">Output</span>" style="text;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="680" y="250" width="80" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
</root>
|
||||||
|
</mxGraphModel>
|
||||||
|
</diagram>
|
||||||
|
</mxfile>
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
@misc{source_synchrony,
|
@misc{source_synchrony,
|
||||||
author = {MED-EL},
|
author = {MED-EL},
|
||||||
title = {MED-EL Synchrony Cochlear Implant with a Sonnet 3 Audio Processor},
|
title = {MED-EL Synchrony Cochlear Implant with a Sonnet 3 Audio Processor},
|
||||||
howpublished = {\url{ https://www.medel.com/de/hearing-solutions/cochlear-implants}},
|
howpublished = {\url{https://www.medel.com/de/hearing-solutions/cochlear-implants}},
|
||||||
year = {2025},
|
year = {2025},
|
||||||
note = {Accessed on 26.06.2025}
|
note = {Accessed on 26.06.2025}
|
||||||
}
|
}
|
||||||
@@ -12,3 +12,47 @@
|
|||||||
year = {2025},
|
year = {2025},
|
||||||
note = {Accessed on 10.07.2025}
|
note = {Accessed on 10.07.2025}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@misc{source_electrode,
|
||||||
|
author = {MED-EL},
|
||||||
|
title = {Visualization of a MED-EL electrode inserted into a human cochlear},
|
||||||
|
howpublished = {\url{https://blog.medel.pro/de/chirurgie/relevanz-der-ci-elektrode/}},
|
||||||
|
year = {2025},
|
||||||
|
note = {Accessed on 18.09.2025}
|
||||||
|
}
|
||||||
|
|
||||||
|
@misc{source_dsp1,
|
||||||
|
author = {Li Tan, Jean Jiang},
|
||||||
|
title = {Digital Signal Processing Fundamentals and Applications 3rd Ed},
|
||||||
|
howpublished = {Elsevier Inc.},
|
||||||
|
year = {2013},
|
||||||
|
note = {ISBN: 978-0-12-415893-1}
|
||||||
|
}
|
||||||
|
@misc{source_dsp_ch1,
|
||||||
|
author = {Li Tan, Jean Jiang},
|
||||||
|
title = {Digital Signal Processing Fundamentals and Applications 3rd Ed},
|
||||||
|
howpublished = {Elsevier Inc.},
|
||||||
|
year = {2013},
|
||||||
|
note = {Chapter 1}
|
||||||
|
}
|
||||||
|
@misc{source_dsp_ch2,
|
||||||
|
author = {Li Tan, Jean Jiang},
|
||||||
|
title = {Digital Signal Processing Fundamentals and Applications 3rd Ed},
|
||||||
|
howpublished = {Elsevier Inc.},
|
||||||
|
year = {2013},
|
||||||
|
note = {Chapter 2}
|
||||||
|
}
|
||||||
|
@misc{source_patent,
|
||||||
|
author = {Lawrence J. Fogel},
|
||||||
|
title = {Apparatus for improving intelligence under high ambient noise levels},
|
||||||
|
howpublished = {United States Patent Office},
|
||||||
|
year = {1960},
|
||||||
|
note = {Pat. Nr. 2966549}
|
||||||
|
}
|
||||||
|
@misc{source_dsp_ch9,
|
||||||
|
author = {Li Tan, Jean Jiang},
|
||||||
|
title = {Digital Signal Processing Fundamentals and Applications 3rd Ed},
|
||||||
|
howpublished = {Elsevier Inc.},
|
||||||
|
year = {2013},
|
||||||
|
note = {Chapter 9}
|
||||||
|
}
|
||||||
6
main.tex
@@ -6,7 +6,8 @@
|
|||||||
\usepackage{microtype} %bessere Zeichenabstände
|
\usepackage{microtype} %bessere Zeichenabstände
|
||||||
\usepackage[english]{babel} %englisch
|
\usepackage[english]{babel} %englisch
|
||||||
\usepackage{graphicx}
|
\usepackage{graphicx}
|
||||||
\usepackage{abstract}
|
\usepackage{abstract} %abstract einfügen
|
||||||
|
\usepackage{float} %Bilder besser positionieren
|
||||||
\usepackage[sorting=none]{biblatex}
|
\usepackage[sorting=none]{biblatex}
|
||||||
\usepackage{csquotes}
|
\usepackage{csquotes}
|
||||||
\usepackage{wrapfig}
|
\usepackage{wrapfig}
|
||||||
@@ -62,12 +63,13 @@ by \par
|
|||||||
\tableofcontents
|
\tableofcontents
|
||||||
\newpage
|
\newpage
|
||||||
\begin{abstract}
|
\begin{abstract}
|
||||||
Hier steht der Text meiner Zusammenfassung.
|
abstract
|
||||||
\end{abstract}
|
\end{abstract}
|
||||||
|
|
||||||
\include{chapter_01}
|
\include{chapter_01}
|
||||||
\include{chapter_02}
|
\include{chapter_02}
|
||||||
\include{chapter_03}
|
\include{chapter_03}
|
||||||
|
\include{chapter_04}
|
||||||
\printbibliography
|
\printbibliography
|
||||||
\listoffigures
|
\listoffigures
|
||||||
|
|
||||||
|
|||||||