2.3
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 22 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 30 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 25 KiB |
@@ -13,14 +13,14 @@ Usually, a CI system consists out of an external processor with a microphone (``
|
|||||||
\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_synchrony}
|
\label{fig:fig_synchrony}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
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}).
|
\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}).
|
||||||
\begin{figure}[H]
|
\begin{figure}[H]
|
||||||
\centering
|
\centering
|
||||||
\includegraphics[width=0.8\linewidth]{Bilder/fig_electrode.jpg}
|
\includegraphics[width=0.8\linewidth]{Bilder/fig_electrode.jpg}
|
||||||
\caption{Visualization of a MED-EL electrode inserted into a human cochlear. \cite{source_electrode}}
|
\caption{Visualization of a MED-EL electrode inserted into a human cochlear. \cite{source_electrode}}
|
||||||
\label{fig:fig_electrode}
|
\label{fig:fig_electrode}
|
||||||
\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 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.
|
\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{The problem of signal interference in audio processing}
|
\subsection{The problem of signal interference in audio processing}
|
||||||
A signal is a physical parameter (e.g. pressure, voltage) changing its value over time. The term "signal interference" describes the overlapping of two or more signals resulting in a new signal. \\ \\A simple example of a desirable signal interference would be the sound generated by playing several strings of a guitar. Hitting one string results in a pure sine wave of a designated frequency (depending on which note is played), perceptible as sound. Hitting a chord (consisting of several strings), the separate sine waves of the strings combine to a new signal through the process of signal interference - in this case a desired, harmonic sound. (see Figure \ref{fig:fig_interference})
|
A signal is a physical parameter (e.g. pressure, voltage) changing its value over time. The term "signal interference" describes the overlapping of two or more signals resulting in a new signal. \\ \\A simple example of a desirable signal interference would be the sound generated by playing several strings of a guitar. Hitting one string results in a pure sine wave of a designated frequency (depending on which note is played), perceptible as sound. Hitting a chord (consisting of several strings), the separate sine waves of the strings combine to a new signal through the process of signal interference - in this case a desired, harmonic sound. (see Figure \ref{fig:fig_interference})
|
||||||
\begin{figure}[H]
|
\begin{figure}[H]
|
||||||
@@ -29,7 +29,7 @@ A signal is a physical parameter (e.g. pressure, voltage) changing its value ove
|
|||||||
\caption{Signal interference of three separate tones resulting in an E-Minor chord.}
|
\caption{Signal interference of three separate tones resulting in an E-Minor chord.}
|
||||||
\label{fig:fig_interference}
|
\label{fig:fig_interference}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
In technical environments signal interference is also common when electromagnetic and acoustic noise coexist. Such conditions can cause electromagnetic coupling or broadband acoustic noise that degrades microphone input and digital transmission. Therefore, in auditory applications, signal interference can cause a considerable degradation to the quality of the final signal, posing an additional challenge to aurally impaired people using an implant solution for rehabilitation. Thus, the objective of this thesis shall be the improvement of implant technology in regard of adaptive noise reduction.
|
\noindent In technical environments signal interference is also common when electromagnetic and acoustic noise coexist. Such conditions can cause electromagnetic coupling or broadband acoustic noise that degrades microphone input and digital transmission. Therefore, in auditory applications, signal interference can cause a considerable degradation to the quality of the final signal, posing an additional challenge to aurally impaired people using an implant solution for rehabilitation. Thus, the objective of this thesis shall be the improvement of implant technology in regard of adaptive noise reduction.
|
||||||
\subsection{Implementation of Adaptive Noise Reduction in Cochlear Implant Systems}
|
\subsection{Implementation of Adaptive Noise Reduction in Cochlear Implant Systems}
|
||||||
The above problem statement of signal interference shows its significance in the improvement of CI systems. 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. \\ \\
|
The above problem statement of signal interference shows its significance in the improvement of CI systems. 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.\\ \\
|
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.\\ \\
|
||||||
|
|||||||
@@ -5,9 +5,8 @@ Filters are used in various functional designs, therefore a short explanation in
|
|||||||
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 use of the Least-Mean-Square algorithm.\\
|
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 use of the Least-Mean-Square algorithm.\\
|
||||||
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.\\
|
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.\\
|
||||||
At the end of chapter two, high-level Python simulations shall function as a practical demonstration of the recently presented theoretical background.\\ \\
|
At the end of chapter two, high-level Python simulations shall function as a practical demonstration of the recently presented theoretical background.\\ \\
|
||||||
Chapter 2 is relying on the textbook ``Digital Signal Processing Fundamentals and Applications 2nd Ed'' by Tan and Jiang \cite{source_dsp1}.
|
|
||||||
\subsection{Fundamentals of digital signal processing}
|
\subsection{Fundamentals of digital signal processing}
|
||||||
Digital signal processing describes the manipulation of digital signals on a dedicated processor (often called ``digital signal processor (DSP)'') trough mathematical approaches. Analog signals have to be digitalized before being able to be handled by a DSP. Nearly every part of the modern daily live, be it communication via cellphones, X-Ray imaging or picture editing, is affected by 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{Signals}
|
\subsubsection{Signals}
|
||||||
\begin{figure}[H]
|
\begin{figure}[H]
|
||||||
\centering
|
\centering
|
||||||
@@ -15,7 +14,7 @@ Digital signal processing describes the manipulation of digital signals on a ded
|
|||||||
\caption{Block diagram of processing an analog input signal to an analog output signal with digital signal processing in between \cite{source_dsp_ch1}}
|
\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}
|
\label{fig:fig_dsp}
|
||||||
\end{figure}
|
\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 distortions of the signal.\\ \\
|
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. 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. \\ \\
|
||||||
Throughout this thesis, sampled signals are denoted in lowercase with square brackets (e.g. {x[n]}) to distinguish them from time-continuous signals
|
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)}).\\
|
(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
|
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
|
||||||
@@ -25,7 +24,7 @@ The discrete digital signal can be viewed as a sequence of finite samples with i
|
|||||||
\end{equation}
|
\end{equation}
|
||||||
where x[n] is the current sample and x[n-1] is the preceding sample.
|
where x[n] is the current sample and x[n-1] is the preceding sample.
|
||||||
\subsubsection{Time domain vs. frequency domain}
|
\subsubsection{Time domain vs. frequency domain}
|
||||||
A signal (either analog or digital) can be displayed and analyzed in two ways: the time spectrum and the frequency spectrum. The time spectrum 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 frequencies present in the signal (refer to Figure \ref{fig:fig_fft}).\\ \\
|
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]
|
\begin{figure}[H]
|
||||||
\centering
|
\centering
|
||||||
\includegraphics[width=0.8\linewidth]{Bilder/fig_fft.jpg}
|
\includegraphics[width=0.8\linewidth]{Bilder/fig_fft.jpg}
|
||||||
@@ -40,33 +39,32 @@ When we discuss signals in a mathematical way, we need to explain the term ``tra
|
|||||||
\caption{Simple representation of a transfer function taking a noisy input signal and delivering a clean output signal \cite{source_dsp_ch1}}
|
\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}
|
\label{fig:fig_transfer}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
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.\\ \\
|
\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 for 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}).
|
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 for 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]
|
\begin{figure}[H]
|
||||||
\centering
|
\centering
|
||||||
\includegraphics[width=0.8\linewidth]{Bilder/fig_lowpass.jpg}
|
\includegraphics[width=0.8\linewidth]{Bilder/fig_lowpass.jpg}
|
||||||
\caption{Behavior of a low-pass-filter. \cite{source_dsp_ch2}}
|
\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}
|
\label{fig:fig_lowpass}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
Examples for an adaptive filter is a digital filter adapted by the Least-Mean-Square algorithm used for adaptive noise reduction, which will be introduced in the following chapters.
|
|
||||||
\subsection{Filter designs}
|
\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.
|
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}
|
\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 present and past input values and not feedback from output samples - therefore the response of a FIR filter reaches zero after a finite number of samples. 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. A disadvantage to the FIR design is the relatively slow frequency response compared to its Infinite Impulse Response counterpart. \\ \\
|
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
|
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}
|
\begin{equation}
|
||||||
\label{equation_fir}
|
\label{equation_fir}
|
||||||
y[n] = \sum_{k=0}^{M} b_kx[n-k] = b_0x[n] + b_1x[n-1] + ... + b_Mx[n-M]
|
y[n] = \sum_{k=0}^{M} b_kx[n-k] = b_0x[n] + b_1x[n-1] + ... + b_Mx[n-M]
|
||||||
\end{equation}
|
\end{equation}
|
||||||
Figure \ref{fig:fig_fir} visualizes a simple FIR filter with two coefficients - the first sample is multiplied with the operator $b_0$ whereas the following sample $b1$ is multiplied with the operator $b_1$ before added back together. The Operator $Z^{-1}$ represents a delay operator.
|
Figure \ref{fig:fig_fir} visualizes a simple FIR filter with two coefficients - the first sample is multiplied with the operator $b_0$ whereas the following sample $b1$ is multiplied with the operator $b_1$ before added back together. The Operator $Z^{-1}$ represents a delay operator of one sample.
|
||||||
\begin{figure}[H]
|
\begin{figure}[H]
|
||||||
\centering
|
\centering
|
||||||
\includegraphics[width=0.8\linewidth]{Bilder/fig_fir.jpg}
|
\includegraphics[width=0.8\linewidth]{Bilder/fig_fir.jpg}
|
||||||
\caption{FIR filter example with two feedforward operators}
|
\caption{FIR filter example with three feedforward operators}
|
||||||
\label{fig:fig_fir}
|
\label{fig:fig_fir}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
\subsubsection{Infinite Impulse Response filters}
|
\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 and past input samples - therefore the response of an IIR filter theoretically continues indefinitely. This recursive nature allows IIR filter 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.\\ \\
|
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.
|
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}
|
\begin{equation}
|
||||||
\label{equation_iir}
|
\label{equation_iir}
|
||||||
@@ -76,38 +74,41 @@ Figure \ref{fig:fig_iir} visualizes a simple IIR filter with one feedforward coe
|
|||||||
\begin{figure}[H]
|
\begin{figure}[H]
|
||||||
\centering
|
\centering
|
||||||
\includegraphics[width=0.8\linewidth]{Bilder/fig_iir.jpg}
|
\includegraphics[width=0.8\linewidth]{Bilder/fig_iir.jpg}
|
||||||
\caption{IIR filter example with one feedforward operator and one feedback operator}
|
\caption{IIR filter example with two feedforward operators and two feedback operators}
|
||||||
\label{fig:fig_iir}
|
\label{fig:fig_iir}
|
||||||
\end{figure}
|
\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 Nose Reduction}
|
\subsection{Introduction to Adaptive Nose Reduction}
|
||||||
\subsubsection{History}
|
\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 and T. Until then, the used filters were static, meaning they didn't change their behavior over time.\\ \\
|
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.\\ \\
|
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}).
|
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]
|
\begin{figure}[H]
|
||||||
\centering
|
\centering
|
||||||
\includegraphics[width=0.8\linewidth]{Bilder/fig_patent.jpg}
|
\includegraphics[width=0.7\linewidth]{Bilder/fig_patent.jpg}
|
||||||
\caption{Patent of a device for lowering ambient noise to improve intelligence by Lawrence Fogel in 1960 \cite{source_patent}}
|
\caption{Reconstruction of Lawrence Fogel´s patent in 1960. \cite{source_patent}}
|
||||||
\label{fig:fig_patent}
|
\label{fig:fig_patent}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
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.\\ \\
|
\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 introduction of the fundamental Least-Mean-Square (LMS) algorithm in 1960 by Widrow and Hoff, the last necessary step was made to revolutionize the field of signal filtering. With this mathematical approach it was possible, to leave the area of static filters and active noise cancellation and move to a far more sophisticated signal processing technique - adaptive noise reduction.
|
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 was introduced, allowing 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 cope with dynamic and unpredictable noise environments - the concept of adaptive noise reduction was born.\\ \\
|
||||||
\subsubsection{The concept of adaptive filtering}
|
\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.\\ \\
|
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.\\ \\
|
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.
|
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.
|
||||||
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]
|
\begin{figure}[H]
|
||||||
\centering
|
\centering
|
||||||
\includegraphics[width=0.8\linewidth]{Bilder/fig_anr.jpg}
|
\includegraphics[width=0.8\linewidth]{Bilder/fig_anr.jpg}
|
||||||
\caption{Basic variant of }
|
\caption{The basic idea of an adaptive filter design for noise reduction.}
|
||||||
\label{fig:fig_anr}
|
\label{fig:fig_anr}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
Figure \ref{fig:fig_anr} shows the basic concept of an adaptive filter design, represented through a feedback filter application. The signal sensor aims to recieve the input signal, which consists out of the target signal and the noise signal, whereas the noise sensor aims to recieve (ideally) only the noise signal, which then feeds the adaptive filter. 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. 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.
|
Figure \ref{fig:fig_anr} shows the basic concept of an adaptive filter design, represented through a feedback filter application. The signal sensor aims to recieve the input signal, which consists out of the target signal and the noise signal, whereas the noise sensor aims to recieve (ideally) only the noise signal, which then feeds the adaptive filter. 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. 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{Static vs. hybrid filter design}
|
\subsubsection{Static vs. hybrid filter design}
|
||||||
\subsubsection{Introduction to the Least Mean Square algorithm}
|
\subsubsection{Filter optimization}
|
||||||
Allowing an automatic adaption of the filter coefficients depending on the surrounding by stepwise minimization of the squared error \\ \\
|
|
||||||
|
|
||||||
\subsection{Signal flow diagram showing the origin of the useful signal,
|
\subsection{Signal flow diagram showing the origin of the useful signal,
|
||||||
noise signal, and their coupling}
|
noise signal, and their coupling}
|
||||||
\subsection{Derivation of the system’s transfer function based on the problem setup}
|
\subsection{Derivation of the system’s transfer function based on the problem setup}
|
||||||
|
|||||||
140
drawio/ANC.drawio
Normal file
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>
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" version="28.2.5">
|
<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">
|
<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">
|
<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>
|
<root>
|
||||||
<mxCell id="0" />
|
<mxCell id="0" />
|
||||||
<mxCell id="1" parent="0" />
|
<mxCell id="1" parent="0" />
|
||||||
@@ -89,6 +89,47 @@
|
|||||||
<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">
|
<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" />
|
<mxGeometry x="374" y="420" width="40" height="40" as="geometry" />
|
||||||
</mxCell>
|
</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>
|
</root>
|
||||||
</mxGraphModel>
|
</mxGraphModel>
|
||||||
</diagram>
|
</diagram>
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" version="28.2.5">
|
<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">
|
<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">
|
<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>
|
<root>
|
||||||
<mxCell id="0" />
|
<mxCell id="0" />
|
||||||
<mxCell id="1" parent="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">
|
<mxCell id="OiLAJHeFUBjgwUQ8hIGB-1" value="" style="triangle;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;strokeWidth=2;" parent="1" vertex="1">
|
||||||
<mxGeometry x="185" y="240" width="60" height="80" as="geometry" />
|
<mxGeometry x="200" y="240" width="60" height="80" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="OiLAJHeFUBjgwUQ8hIGB-2" value="" style="triangle;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;strokeWidth=2;direction=west;" parent="1" vertex="1">
|
<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" />
|
<mxGeometry x="480" y="400" width="60" height="80" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="OiLAJHeFUBjgwUQ8hIGB-3" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;strokeWidth=2;" parent="1" vertex="1">
|
<mxCell id="OiLAJHeFUBjgwUQ8hIGB-3" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;strokeWidth=2;" parent="1" vertex="1">
|
||||||
<mxGeometry x="540" y="330" width="120" height="60" as="geometry" />
|
<mxGeometry x="570" y="330" width="120" height="60" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="OiLAJHeFUBjgwUQ8hIGB-4" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;strokeWidth=2;" parent="1" vertex="1">
|
<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" />
|
<mxGeometry x="340" y="240" width="80" height="80" as="geometry" />
|
||||||
@@ -22,27 +22,30 @@
|
|||||||
<mxPoint x="360" y="360" as="targetPoint" />
|
<mxPoint x="360" y="360" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="OiLAJHeFUBjgwUQ8hIGB-12" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;" parent="1" edge="1">
|
<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">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="420" y="280" as="sourcePoint" />
|
<mxPoint x="420" y="280" as="sourcePoint" />
|
||||||
<mxPoint x="680" y="280" as="targetPoint" />
|
<mxPoint x="680" y="280" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</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">
|
<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="585" y="340" width="50" height="40" as="geometry" />
|
<mxGeometry x="605" y="340" width="50" height="40" as="geometry" />
|
||||||
</mxCell>
|
</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">
|
<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">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="600" y="280" as="sourcePoint" />
|
<mxPoint x="629.76" y="280" as="sourcePoint" />
|
||||||
<mxPoint x="600" y="330" as="targetPoint" />
|
<mxPoint x="629.76" y="330" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="629.76" y="300" />
|
||||||
|
</Array>
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</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;" parent="1" edge="1">
|
<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">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="600" y="390" as="sourcePoint" />
|
<mxPoint x="630" y="390" as="sourcePoint" />
|
||||||
<mxPoint x="540" y="440" as="targetPoint" />
|
<mxPoint x="570" y="440" as="targetPoint" />
|
||||||
<Array as="points">
|
<Array as="points">
|
||||||
<mxPoint x="600" y="440" />
|
<mxPoint x="630" y="440" />
|
||||||
</Array>
|
</Array>
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
@@ -59,22 +62,22 @@
|
|||||||
<mxGeometry x="360" y="260" width="40" height="40" as="geometry" />
|
<mxGeometry x="360" y="260" width="40" height="40" as="geometry" />
|
||||||
</mxCell>
|
</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">
|
<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="50" y="260" width="60" height="40" as="geometry" />
|
<mxGeometry x="20" y="260" width="60" height="40" as="geometry" />
|
||||||
</mxCell>
|
</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">
|
<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="185" y="260" width="40" height="40" as="geometry" />
|
<mxGeometry x="200" y="260" width="40" height="40" as="geometry" />
|
||||||
</mxCell>
|
</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">
|
<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" />
|
<mxGeometry x="500" y="420" width="40" height="40" as="geometry" />
|
||||||
</mxCell>
|
</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;" parent="1" target="dvOqxy1bSSOmIYa8ABIz-3" edge="1">
|
<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">
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
<mxPoint x="110" y="280" as="sourcePoint" />
|
<mxPoint x="110" y="280" as="sourcePoint" />
|
||||||
<mxPoint x="155" y="230" as="targetPoint" />
|
<mxPoint x="155" y="230" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</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">
|
<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="250" y="240" width="80" height="40" as="geometry" />
|
<mxGeometry x="260" y="240" width="80" height="40" as="geometry" />
|
||||||
</mxCell>
|
</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">
|
<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" />
|
<mxGeometry x="380" y="400" width="100" height="40" as="geometry" />
|
||||||
@@ -82,9 +85,84 @@
|
|||||||
<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">
|
<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" />
|
<mxGeometry x="700" y="260" width="60" height="40" as="geometry" />
|
||||||
</mxCell>
|
</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;" vertex="1" parent="1">
|
<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" />
|
<mxGeometry x="470" y="240" width="60" height="40" as="geometry" />
|
||||||
</mxCell>
|
</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>
|
</root>
|
||||||
</mxGraphModel>
|
</mxGraphModel>
|
||||||
</diagram>
|
</diagram>
|
||||||
|
|||||||
Reference in New Issue
Block a user