Difference between revisions of "Applets:Digital Filters"

From LNTwww
Line 79: Line 79:
  
 
{{GraueBox|TEXT=   
 
{{GraueBox|TEXT=   
$\text{Beispiel 2:}$  Betrachtet wird ein nichtrekursives Filter mit den Filterkoeffizienten  $a_0  =  1,\hspace{0.5cm} a_1  = 2,\hspace{0.5cm} a_2  =  1.$ 
+
$\text{Example 2:} Consider a non-recursive filter with the filter coefficients $a_0  =  1,\hspace{0.5cm} a_1  = 2,\hspace{0.5cm} a_2  =  1.$
 
[[Datei:P_ID608__Sto_Z_5_3.png|right|frame|Nichtrekursives Filter]]
 
[[Datei:P_ID608__Sto_Z_5_3.png|right|frame|Nichtrekursives Filter]]
 
   
 
   
'''(1)''' &nbsp; Die herkömmliche Impulsantwort lautet: &nbsp; $h(t) = \delta (t) + 2 \cdot \delta ( {t - T_{\rm A} } ) + \delta ( {t - 2T_{\rm A} } ).$ <br>&nbsp; &nbsp; &nbsp; &nbsp; &rArr; &nbsp; Zeitdiskrete Impulsantwort:&nbsp; $〈h_\mu〉= 〈1,\ 2,\  1〉 .$
+
'''(1)''' The conventional impulse response is: $h(t) = \delta (t) + 2 \cdot \delta ( {t - T_{\rm A} } ) + \delta ( {t - 2T_{\rm A} } ).$ <br>&nbsp; &nbsp; &nbsp; &nbsp; &rArr; &nbsp; discrete-time impulse response: $〈h_\mu〉= 〈1,\ 2,\  1〉 .$
  
'''(2)''' &nbsp; Der Frequenzgang&nbsp; $H(f)$&nbsp; ist die Fouriertransformierte von&nbsp; $h(t)$.&nbsp; Durch Anwendung des Verschiebungssatzes:
+
'''(2)''' &nbsp; The frequency response $H(f)$ is the Fourier transform of $h(t)$. By applying the displacement theorem:
 
:$$H(f) = 2\big [ {1 + \cos ( {2{\rm{\pi }\cdot  }f \cdot T_{\rm A} } )} \big ] \cdot {\rm{e} }^{ - {\rm{j} }2{\rm{\pi } }fT_{\rm A} }\hspace{0.5cm}\Rightarrow \hspace{0.5cm}H(f = 0) = 4.$$
 
:$$H(f) = 2\big [ {1 + \cos ( {2{\rm{\pi }\cdot  }f \cdot T_{\rm A} } )} \big ] \cdot {\rm{e} }^{ - {\rm{j} }2{\rm{\pi } }fT_{\rm A} }\hspace{0.5cm}\Rightarrow \hspace{0.5cm}H(f = 0) = 4.$$
  
'''(3)''' &nbsp; Daraus folgt:&nbsp; Die&nbsp; '''zeitdiskrete Sprungantwort'''&nbsp; $〈\sigma_ν〉$&nbsp; tendiert für große&nbsp; $\nu$&nbsp; gegen&nbsp; $4$.
+
'''(3)''' &nbsp; It follows that the '''time-discrete step response''' $〈\sigma_ν〉$ tends to become $4$ for large $\nu$.
  
'''(4)''' &nbsp; Die zeitdiskrete Faltung der Eingangsfolge&nbsp; $\left\langle \hspace{0.05cm}{x_\nu  } \hspace{0.05cm}\right\rangle  =  \left\langle {\;1,\;0,\;0,\;0,\;1,\;0,\;0,\;0,\;\text{...} } \hspace{0.05cm} \right\rangle$&nbsp; mit&nbsp;  $\left\langle \hspace{0.05cm}{h_\nu  } \hspace{0.05cm}\right\rangle = \left\langle \hspace{0.05cm}{1, \ 2,\ 1  } \hspace{0.05cm}\right\rangle$&nbsp; ergibt
+
'''(4)''' &nbsp; The discrete-time convolution of the input sequence $\left\langle \hspace{0.05cm}{x_\nu  } \hspace{0.05cm}\right\rangle  =  \left\langle {\;1,\;0,\;0,\;0,\;1,\;0,\;0,\;0,\;\text{...} } \hspace{0.05cm} \right\rangle$&nbsp; with $\left\langle \hspace{0.05cm}{h_\nu  } \hspace{0.05cm}\right\rangle = \left\langle \hspace{0.05cm}{1, \ 2,\ 1  } \hspace{0.05cm}\right\rangle$&nbsp; results
 
:$$\left\langle \hspace{0.05cm}{y_\nu  } \hspace{0.05cm}\right\rangle  = \left\langle {\;1,\;2,\;1,\;0,\;1,\;2,\;1,\;0,\;0,\;0,\;0,\; \text{...} \;} \right\rangle. $$
 
:$$\left\langle \hspace{0.05cm}{y_\nu  } \hspace{0.05cm}\right\rangle  = \left\langle {\;1,\;2,\;1,\;0,\;1,\;2,\;1,\;0,\;0,\;0,\;0,\; \text{...} \;} \right\rangle. $$
  
'''(5)''' &nbsp; Die zeitdiskrete Faltung der Eingangsfolge&nbsp; $\left\langle \hspace{0.05cm}{x_\nu  } \hspace{0.05cm}\right\rangle  =  \left\langle {\;1,\;1,\;0,\;0,\;1,\;0,\;0,\;0,\;\text{...} } \hspace{0.05cm} \right\rangle$&nbsp; mit&nbsp;  $\left\langle \hspace{0.05cm}{h_\nu  } \hspace{0.05cm}\right\rangle = \left\langle \hspace{0.05cm}{1, \ 2,\ 1  } \hspace{0.05cm}\right\rangle$&nbsp; ergibt
+
'''(5)''' &nbsp; The discrete-time convolution of the input sequence $\left\langle \hspace{0.05cm}{x_\nu  } \hspace{0.05cm}\right\rangle  =  \left\langle {\;1,\;1,\;0,\;0,\;1,\;0,\;0,\;0,\;\text{...} } \hspace{0.05cm} \right\rangle$&nbsp; with&nbsp;  $\left\langle \hspace{0.05cm}{h_\nu  } \hspace{0.05cm}\right\rangle = \left\langle \hspace{0.05cm}{1, \ 2,\ 1  } \hspace{0.05cm}\right\rangle$&nbsp; results
 
:$$\left\langle \hspace{0.05cm}{y_\nu  } \hspace{0.05cm}\right\rangle  = \left\langle {\;1,\;3,\;3,\;2,\;2,\;1,\;0,\;0,\;0,\;0,\;0,\; \text{...} \;} \right\rangle. $$}}
 
:$$\left\langle \hspace{0.05cm}{y_\nu  } \hspace{0.05cm}\right\rangle  = \left\langle {\;1,\;3,\;3,\;2,\;2,\;1,\;0,\;0,\;0,\;0,\;0,\; \text{...} \;} \right\rangle. $$}}
  
  
  
===Rekursives Filter &nbsp; &rArr; &nbsp; IIR&ndash;Filter ===
+
===Recursive filter &nbsp; &rArr; &nbsp; IIR filter ===
  
 
{{BlaueBox|TEXT=  
 
{{BlaueBox|TEXT=  
[[Datei:P_ID607__Sto_A_5_3.png|right|frame|Rekursives Filter erster Ordnung]]  
+
[[Datei:P_ID607__Sto_A_5_3.png|right|frame|First order recursive filter]]  
 
$\text{Definition:}$&nbsp;  
 
$\text{Definition:}$&nbsp;  
*Ist zumindest einer der Rückführungskoeffizienten&nbsp; $b_{\mu} \ne 0$, so spricht von einem&nbsp; '''rekursiven Filter'''&nbsp; (siehe rechte Grafik).&nbsp; Insbesondere in der englischsprachigen Literatur ist hierfür auch die Bezeichnung&nbsp; '''IIR Filter'''&nbsp; (''Infinite Impulse Response'') gebräuchlich.&nbsp; Dieses Filter wird in der Verrsuchsdurchführung ausführlich behandelt.
+
*If at least one of the feedback coefficients is $b_{\mu} \ne 0$, then this is referred to as a '''recursive filter''' (see graphic on the right). The term '''IIR filter'''&nbsp; (''Infinite Impulse Response'') is also used for this, particularly in the English-language literature. This filter is dealt with in detail in the trial implementation.
  
  
*Sind zusätzlich alle Vorwärtskoeffizienten identisch&nbsp; $a_\mu = 0$&nbsp; mit Ausnahme von&nbsp; $a_0$, &nbsp; so liegt ein&nbsp; '''rein rekursives Filter'''&nbsp; vor &nbsp; (siehe linke Grafik).
+
*If all forward coefficients are also identical $a_\mu = 0$ with the exception of $a_0$, a '''purely recursive filter''' is available (see graphic on the left).
  
[[Datei:P_ID554__Sto_T_5_2_S3_neu.png|left|frame| Rein rekursives Filter erster Ordnung]] }}
+
[[Datei:P_ID554__Sto_T_5_2_S3_neu.png|left|frame| Purely recursive first order filter]] }}
  
  

Revision as of 23:24, 20 June 2020

Open Applet in a new tab

Programmbeschreibung


The applet should clarify the properties of digital filters, whereby we confine ourselves to filters of the order $M=2$. Both non-recursive filters $\rm (FIR$,  Finite Impulse Response$)$  as well as recursive filters $\rm (IIR$,  Infinite Impulse Response$)$.

The input signal $x(t)$ is represented by the sequence $〈x_ν〉$ of its samples, where $x_ν$ stands for $x(ν · T_{\rm A})$. The output sequence $〈y_ν〉$is calculated, i.e. the discrete-time representation of the output signal $y(t)$.

  • $T_{\rm A}$ denotes the time interval between two samples.
  • We also limit ourselves to causal signals and systems, which means that $x_ν \equiv 0$ and $y_ν \equiv 0$ for $ν \le 0$.


It should also be noted that we denote the initial sequence $〈y_ν〉$ as

(1) the discrete-time impulse response $〈h_ν〉$ if the “discrete-time Dirac function” is present at the input:         $〈x_ν〉= 〈1,\ 0,\ 0,\ 0,\ 0,\ 0,\ 0, \text{...}〉,$

(2) the time-discrete step response $〈\sigma_ν〉$ if the “time-discrete step function” is present at the input:         $〈x_ν〉= 〈1,\ 1,\ 1,\ 1,\ 1,\ 1,\ 1, \text{...}〉,$

(3) the discrete-time rectangle response $〈\rho_ν^{(2, 4)}〉$ if the “discrete-time rectangle function” is present at the input:     $〈x_ν〉= 〈0,\ 0,\ 1,\ 1,\ 1,\ 0,\ 0, \text{...}〉;$
        In quotation marks are the beginning of the ones $(2)$ and the position of the last ones $(4)$.


Theoretical background


General block diagram

Each signal $x(t)$ can only be represented on a computer by the sequence $〈x_ν〉$ of its samples, where $x_ν$ stands for $x(ν · T_{\rm A})$. right |frame| Block diagram of a digital (IIR–) filter $M$–order

  • The time interval $T_{\rm A}$ between two samples is limited by the sampling theorem.
  • We limit ourselves here to causal signals and systems, which means that $x_ν \equiv 0$ for $ν \le 0$.
  • In order to determine the influence of a linear filter with frequency response $H(f)$ on the time-discrete input signal $〈x_ν〉$, it is advisable to describe the filter discrete-time. In the time domain, this happens with the discrete-time impulse response $〈h_ν〉$.
  • On the right you can see the corresponding block diagram. The following therefore applies to the samples of the output signal $〈y_ν〉$ thus holds:
$$y_\nu = \sum\limits_{\mu = 0}^M {a_\mu } \cdot x_{\nu - \mu } + \sum\limits_{\mu = 1}^M {b_\mu } \cdot y_{\nu - \mu } .$$

The following should be noted here:

  • The index $\nu$ refers to sequences, for example at the input $〈x_ν〉$ and output $〈y_ν〉$.
  • On the other hand, we use the index $\mu$ to identify the $a$ and $b$ filter coefficients.
  • The first sum describes the dependency of the current output $y_ν$ on the current input $x_ν$ and on the $M$ previous input values $x_{ν-1}$, ... , $x_{ν-M}$.
  • The second sum indicates the influence of $y_ν$ by the previous values $y_{ν-1}$, ... , $y_{ν-M}$ at the filter output. It specifies the recursive part of the filter.
  • The integer parameter $M$ is called the order of the digital filter. In the program, this value is limited to $M\le 2$.


$\text{Definitions:}$ 

(1)  The output sequence $〈y_ν〉$ is called the discrete-time impulse response $〈h_ν〉$ if the “discrete-time Dirac function” is present at the input:

$$〈x_ν〉= 〈1,\ 0,\ 0,\ 0,\ 0,\ 0,\ 0, \text{...}〉 .$$

(2)  The output sequence $〈y_ν〉$ is called the time-discrete step response $〈\sigma_ν〉$ if the “time-discrete step function” is present at the input:

$$〈x_ν〉= 〈1,\ 1,\ 1,\ 1,\ 1,\ 1,\ 1, \text{...}〉 .$$

(3)  The output sequence $〈y_ν〉$ is called the discrete-time rectangle response  $〈\rho_ν^{(2, 4)}〉$ if the “discrete-time rectangular function” is present at the input:

$$〈x_ν〉= 〈0,\ 0,\ 1,\ 1,\ 1,\ 0,\ 0, \text{...}〉 .$$
The beginning of ones $(2)$ and the position of the last ones $(4)$ are given in single quotes.


Non-recursive filter   ⇒   FIR–filter

right |frame| Non-recursive digital filter  $($FIR filter$)$  $M$ order $\text{Definition:}$ If all feedback coefficients $b_{\mu} = 0$ , one speaks of one non-recursive filter. In the English language literature, the term FIR filter (Finite Impulse Response) is also used for this.

The following applies to the order $M$ applies:

  • The output value $y_ν$ depends only on the current and the previous $M$ input values:
$$y_\nu = \sum\limits_{\mu = 0}^M {a_\mu \cdot x_{\mu - \nu } } .$$
  • Time-discrete impulse response with $〈x_ν〉= 〈1,\ 0,\ 0,\ 0,\ 0,\ 0,\ 0, \text{...}〉$:
$$〈h_\mu〉= 〈a_0,\ a_1,\ \text{...},\ a_M〉 .$$


$\text{Example 1:}$  A two-way channel where

  • the signal on the main path arrives undamped compared to the input signal but is delayed by $2\ \rm µ s$ arrives with a delay, and
  • at $4\ \rm µ s$ distance – so absolutely at time $t = 6\ \rm µ s$ – follows an echo with half the amplitude,


can be simulated by a non-recursive filter according to the sketch above, whereby the following parameter values ​​must be set:

$$M = 3,\quad T_{\rm A} = 2\;{\rm{µ s} },\quad a_{\rm 0} = 0,\quad a_{\rm 1} = 1, \quad a_{\rm 2} = 0, \quad a_{\rm 3} = 0.5.$$


$\text{Example 2:} Consider a non-recursive filter with the filter coefficients $a_0 = 1,\hspace{0.5cm} a_1 = 2,\hspace{0.5cm} a_2 = 1.$ [[Datei:P_ID608__Sto_Z_5_3.png|right|frame|Nichtrekursives Filter]] '''(1)''' The conventional impulse response is: $h(t) = \delta (t) + 2 \cdot \delta ( {t - T_{\rm A} } ) + \delta ( {t - 2T_{\rm A} } ).$ <br>        ⇒   discrete-time impulse response: $〈h_\mu〉= 〈1,\ 2,\ 1〉 .$ '''(2)'''   The frequency response $H(f)$ is the Fourier transform of $h(t)$. By applying the displacement theorem: :'"`UNIQ-MathJax8-QINU`"' '''(3)'''   It follows that the '''time-discrete step response''' $〈\sigma_ν〉$ tends to become $4$ for large $\nu$. '''(4)'''   The discrete-time convolution of the input sequence $\left\langle \hspace{0.05cm}{x_\nu } \hspace{0.05cm}\right\rangle = \left\langle {\;1,\;0,\;0,\;0,\;1,\;0,\;0,\;0,\;\text{...} } \hspace{0.05cm} \right\rangle$  with $\left\langle \hspace{0.05cm}{h_\nu } \hspace{0.05cm}\right\rangle = \left\langle \hspace{0.05cm}{1, \ 2,\ 1 } \hspace{0.05cm}\right\rangle$  results :'"`UNIQ-MathJax9-QINU`"' '''(5)'''   The discrete-time convolution of the input sequence $\left\langle \hspace{0.05cm}{x_\nu } \hspace{0.05cm}\right\rangle = \left\langle {\;1,\;1,\;0,\;0,\;1,\;0,\;0,\;0,\;\text{...} } \hspace{0.05cm} \right\rangle$  with  $\left\langle \hspace{0.05cm}{h_\nu } \hspace{0.05cm}\right\rangle = \left\langle \hspace{0.05cm}{1, \ 2,\ 1 } \hspace{0.05cm}\right\rangle$  results :'"`UNIQ-MathJax10-QINU`"' <div style="clear:both;"> </div> </div> ==='"`UNIQ--h-4--QINU`"'Recursive filter   ⇒   IIR filter === <div class="bluebox"> [[Datei:P_ID607__Sto_A_5_3.png|right|frame|First order recursive filter]] $\text{Definition:}$  *If at least one of the feedback coefficients is $b_{\mu} \ne 0$, then this is referred to as a '''recursive filter''' (see graphic on the right). The term '''IIR filter'''  (''Infinite Impulse Response'') is also used for this, particularly in the English-language literature. This filter is dealt with in detail in the trial implementation. *If all forward coefficients are also identical $a_\mu = 0$ with the exception of $a_0$, a '''purely recursive filter''' is available (see graphic on the left). [[Datei:P_ID554__Sto_T_5_2_S3_neu.png|left|frame| Purely recursive first order filter]] <div style="clear:both;"> </div> </div> Im Folgenden beschränken wir uns auf den Sonderfall  „Rein rekursives Filter erster Ordnung”.  Dieses Filter weist folgende Eigenschaften auf: *Der Ausgangswert  $y_ν$  hängt (indirekt) von unendlich vielen Eingangswerten ab: :'"`UNIQ-MathJax11-QINU`"' *Dies zeigt die folgende Rechung: :'"`UNIQ-MathJax12-QINU`"' *Die zeitdiskrete Impulsantwort ist definitionsgemäß gleich der Ausgangsfolge, wenn am Eingang eine einzelne „Eins” bei  $t =0$  anliegt. :'"`UNIQ-MathJax13-QINU`"' <div class="bluebox"> $\text{Fazit:}$  Bei einem rekursiven Filter reicht die (zeitdiskrete) Impulsantwort schon mit  $M = 1$  bis ins Unendliche: *Aus Stabilitätsgründen muss  $b_1 < 1$  gelten. *Bei  $b_1 = 1$  würde sich die Impulsantwort  $h(t)$  bis ins Unendliche erstrecken und bei  $b_1 > 1$  würde  $h(t)$  sogar bis ins Unendliche anklingen. *Bei einem solchen rekursiven Filter erster Ordnung ist jede einzelne Diraclinie genau um den Faktor  $b_1$  kleiner als die vorherige Diraclinie: :'"`UNIQ-MathJax14-QINU`"' <div style="clear:both;"> </div> </div> <div class="greybox"> [[Datei:Sto_T_5_2_S3_version2.png |frame| Zeitdiskrete Impulsantwort | rechts]] $\text{Beispiel 3:}$  Die nebenstehende Grafik zeigt die zeitdiskrete Impulsantwort  $〈\hspace{0.05cm}h_\mu\hspace{0.05cm}〉$  eines rekursiven Filters erster Ordnung mit den Parametern  $a_0 = 1$  und  $b_1 = 0.6$. *Der (zeitdiskrete) Verlauf ist exponentiell abfallend und erstreckt sich bis ins Unendliche. *Das Verhältnis der Gewichte zweier aufeinanderfolgender Diracs ist jeweils  $b_1 = 0.6$. <div style="clear:both;"> </div> </div> ==='"`UNIQ--h-5--QINU`"'Rekursives Filter als Sinus–Generator=== [[Datei:P_ID622__Sto_A_5_4.png|right|frame|Vorgeschlagene Filterstruktur '''ändern auf''' $T_{\rm A}$]] Die Grafik zeigt ein digitales Filter zweiter Ordnung, das zur Erzeugung einer zeitdiskreten Sinusfunktion auf einem digitalen Signalprozessor (DSP) geeignet ist, wenn die Eingangsfolge  $\left\langle \hspace{0.05cm} {x_\nu } \hspace{0.05cm}\right\rangle$  eine (zeitdiskrete) Diracfunktion ist: :'"`UNIQ-MathJax15-QINU`"' Die fünf Filterkoeffizienten ergeben sich aus der  [https://de.wikipedia.org/wiki/Z-Transformation $Z$-Transformation]: :'"`UNIQ-MathJax16-QINU`"' Nach Umsetzung dieser Gleichung durch ein rekursives Filter zweiter Ordnung erhält man folgende Filterkoeffizienten: :'"`UNIQ-MathJax17-QINU`"' *Auf die Filterkoeffizienten  $a_0$  und  $a_2$  kann verzichtet werden und  $b_2=-1$  hat einen festen Wert.  *Die Kreisfrequenz  $\omega_0$  der Sinusschwingung wird also nur durch  $a_0$  und  $a_0$  festelegt. <div class="greybox"> $\text{Beispiel 3:}$  Es gelte  $a_1 = 0.5$,  $b_1 = \sqrt 3$,  $x_0 = 1$  und  $x_{\nu \hspace{0.05cm}\ne\hspace{0.05cm} 0} = 0$. '''(1)'''  Dann gilt für die Ausgangswerte  $y_\nu$  zu den Zeitpunkten  $\nu \ge 0$:<br> :*  $y_0 = 0;$ :*  $y_1 = 0.5$                                                                                         ⇒  die „$1$” am Eingang wirkt sich wegen  $a_0= 0$  am Ausgang erst zum Zeitpunkt  $\nu = 1$  aus; :*  $y_2 = b_1 \cdot y_1 - y_0 = {\sqrt 3 }/{2} \approx 0.866$                             ⇒   bei  $\nu = 2$  wird auch der rekursive Teil des Filters wirksam; :*  $y_3 = \sqrt 3 \cdot y_2 - y_1 = \sqrt 3 \cdot {\sqrt 3 }/{2} - {1}/{2} = 1$          ⇒  für  $\nu \ge 2$  ist das Filter rein rekursiv:     $y_\nu = b_1 \cdot y_{\nu - 1} - y_{\nu - 2}$; :*  $y_4 = \sqrt 3 \cdot y_3 - y_2 = \sqrt 3 \cdot 1 - {\sqrt 3 }/{2} = {\sqrt 3 }/{2};$ :*  $y_5 = \sqrt 3 \cdot y_4 - y_3 = \sqrt 3 \cdot {\sqrt 3 }/{2} - 1 = 0.5;$ :*  $y_6 = \sqrt 3 \cdot y_5 - y_4 = \sqrt 3 \cdot {1}/{2} - {\sqrt 3 }/{2} = 0;$ :*  $y_7 = \sqrt 3 \cdot y_6 - y_5 = \sqrt 3 \cdot 0 - {1}/{2} = - 0.5.$ '''(2)'''  Durch Fortsetzung des rekursiven Algorithmuses erhält man für große  $\nu$–Werte:     $y_\nu = y_{\nu - 12} $   ⇒   $T_0/T_{\rm A}= 12.$ <div style="clear:both;"> </div> </div> =='"`UNIQ--h-6--QINU`"'Versuchsdurchführung== [[Datei:Exercises_binomial_fertig.png|right]] *Wählen Sie zunächst die Nummer  '''1'''  ...  '''10'''  der zu bearbeitenden Aufgabe. *Eine Aufgabenbeschreibung wird angezeigt. Die Parameterwerte sind angepasst. *Lösung nach Drücken von „Musterlösung”. *Die Nummer  '''0'''  entspricht einem „Reset”:  Gleiche Einstellung wie beim Programmstart. <br clear="all"> <div class="bluebox"> '''(1)'''  Die Filterkoeffizienten seien  $a_0=0.25$,  $a_1=0.5$, $a_2=0.25$,  $b_1=b_2=0$.  Um welches Filter handelt es sich?  <br>        Interpretieren Sie die Impulsantwort  $〈h_ν〉$,  die Sprungantwort  $〈\sigma_ν〉$  und  die Rechteckantwort  $〈\rho_ν^{(2, 8)}〉$  jeweils in zeitdiskreter Darstellung. <div style="clear:both;"> </div> </div> :*  Aufgrund der fehlenden  $b$–Koeffizienten handelt es sich um ein nichtrekursives digitales Filter   ⇒   '''FIR–Filter'''  (''Finite Impulse Response''). :*  Die Impulsantwort setzt sich aus  $M+1=3$  Diraclinien gemäß den  $a$–Koeffizienten zusammen:    $〈h_ν〉= 〈a_0, \ a_1,\ a_2〉= 〈0.25, \ 0.5,\ 0.25,\ 0, \ 0, \ 0,\text{...}〉 $. :*  Die Sprungantwort lautet:    $〈\sigma_ν〉= 〈0.25, \ 0.75,\ 1,\ 1, \ 1, \ 1,\text{...}〉 $.  Der Endwert ist gleich dem Gleichsignalübertragungsfaktor  $H(f=0)=a_0+a_1+a_2 = 1$. :*  Die Verzerrungen bei Anstieg und Abfall erkennt man auch aus der Rechteckantwort  $〈\rho_ν^{(2, 8)}〉= 〈0,\ 0, 0.25, \ 0.75,\ 1,\ 1, \ 1, \ 1, \ 1, \ 0.75, \ 0.25, \ \text{...}〉$. <div class="bluebox"> '''(2)'''  Wie unterscheiden sich die Ergebnisse mit  $a_2=-0.25$? <div style="clear:both;"> </div> </div> :*  Unter Berücksichtigung von  $H(f=0)= 0.5$  ergeben sich vergleichbare Folgen   ⇒   Sprungantwort:    $〈\sigma_ν〉= 〈0.25, \ 0.75,\ 0.5,\ 0.5, \ 0.5, \ 0.5,\text{...}〉 $. <div class="bluebox"> '''(3)'''  Nun seien die Filterkoeffizienten  $a_0=1$,  $b_1=0.9$  sowie  $a_1=a_2= b_2=0$.  Um welches Filter handelt es sich?  Interpretieren Sie die Impulsantwort  $〈h_ν〉$. <div style="clear:both;"> </div> </div> :*  Es handelt sich um ein rekursives digitales Filter   ⇒   '''IIR–Filter'''  (''Infinite Impulse Response'')  erster Ordnung.  Es ist das zeitdiskrete Analogon zum RC–Tiefpass. :*  Ausgehend von  $h_0= 1$  gilt  $h_1= h_0 \cdot b_0= 0.9$,  $h_2= h_1 \cdot b_0= b_0^2=0.81$,  $h_3= h_2 \cdot b_0= b_0^3=0.729$,  usw.   ⇒   $〈h_ν〉$  reicht bis ins Unendliche. :*  Impulsantwort  $h(t) = {\rm e}^{-t/T}$  mit  $T$:  Schnittpunkt $($Tangente bei  $t=0$, Abszisse$)$   ⇒   $h_\nu= h(\nu \cdot T_{\rm A}) = {\rm e}^{-\nu/(T/T_{\rm A})}$  mit  $T/T_{\rm A} = 1/(h_0-h_1)= 10$. :*  Also:  Die Werte der zeitkontinuierlichen unterscheiden sich von der zeitdiskreten Impulsantwort.  Hierfür ergeben sich die Werte $1.0, \ 0.9048,\ 0.8187$ ... <div class="bluebox"> '''(4)'''  Die Filtereinstellung wird beibehalten.  Interpretieren Sie die Sprungantwort  $〈h_ν〉$  und  die Rechteckantwort  $〈\rho_ν^{(2, 8)}〉$.  Welcher Wert ergibt sich für  $H(f=0)$? <div style="clear:both;"> </div> </div> :*  Die Sprungantwort ist das Integral über die Impulsantwort:   $\sigma(t) = T \cdot (1-{\rm e}^{-t/T}) ]$   ⇒   $\sigma_\nu= 10 \cdot (1-{\rm e}^{-\nu/10})$   ⇒   $\sigma_0=1$,  $\sigma_1=1.9$,  $\sigma_2=2.71$, ... :*  Für große $\nu$–Werte tendiert die (zeitdiskrete) Sprungantwort gegen den Gleichsignalübertragungsfaktor  $H(f=0)= 10$:  $\sigma_{40}=9.867$,  $\sigma_{50}=9.954$,  $\sigma_\infty=10$. :* Die Rechteckantwort  $〈\rho_ν^{(2, 8)}〉$  steigt mit einer Verzögerung von  $2$  in gleicher Weise an wie  $〈\sigma_ν〉$.  Im Bereich  $\nu \ge 8$  fallen die  $\rho_ν$– Werte exponentiell ab. <div class="bluebox"> '''(5)'''  Wir betrachten weiterhin das Filter mit  $a_0=1$,  $b_1=0.9$,  $a_1=a_2= b_2=0$.  Wie lautet die Ausgangsfolge  $〈y_ν〉$ für die Eingangsfolge  $〈x_ν〉= 〈1,\ 0,\ -0.5〉$? <br>        ''Hinweis'':  Die Aufgabe lässt sich ebenfalls mit diesem Programm lösen, obwohl die hier betrachtete Konstellation nicht direkt einstellbar ist. <div style="clear:both;"> </div> </div> :*  Man behilft sich, indem man den Koeffizienten  $a_2=-0.5$  setzt und dafür die Eingangsfolge auf   $〈x_ν〉= 〈1,\ 0,\ 0,\ \text{ ...}〉$   ⇒   „Diracfunktion” reduziert. :*  Die tatsächliche Impulsantwort dieses Filters $($mit  $a_2=0)$  wurde in Aufgabe  '''(3)'''  ermittelt:   $h_0= 1$,   $h_1= 0.9$,   $h_2= 0.81$,   $h_3= 0.729$,   $h_4= 0.646$.   :*  Die Lösung dieser Aufgabe lautet somit:   $y_0 = h_0= 1$,   $y_1= h_1= 0.9$,   $y_2 =h_2-h_0/2= 0.31$,   $y_3 =h_3-h_1/2= 0.279$,   $y_4 =h_4-h_2/2= 0.251$.   :*  Vorsicht:  Sprungantwort und Rechteckantwort beziehen sich nun auf das fiktive Filter $($mit  $a_2=-0.5)$  und nicht auf das eigentliche Filter $($mit  $a_2=0)$. <div class="bluebox"> '''(6)'''  Betrachten und interpretieren Sie die Impulsanwort und die Sprungantwort für die Filterkoeffizienten  $a_0=1$,  $b_1=1$,  $a_1=a_2= b_2=0$.  <div style="clear:both;"> </div> </div> :*  '''Das System ist instabil''':   Eine zeitdiskrete Diracfunktion am Eingang  $($zur Zeit  $t=0)$  bewirkt im Ausgangsignal unendlich viele Diracs gleicher Höhe. :*  Eine zeitdiskrete Sprungfunktion am Eingang bewirkt im Ausgangsignal unendlich viele Diracs mit monoton ansteigenden Gewichten (bis ins Unendliche). <div class="bluebox"> '''(7)'''  Betrachten und interpretieren Sie Impulsanwort und Sprungantwort für die Filterkoeffizienten  $a_0=1$,  $b_1=-1$,  $a_1=a_2= b_2=0$.  <div style="clear:both;"> </div> </div> :*  Im Gegensatz zur Aufgabe  '''(6)'''  sind hier die Gewichte der Impulsantwort  $〈h_ν〉$  nicht konstant gleich  $1$, sondern alternierend  $\pm 1$.  Das System ist ebenfalls instabil. :*  Bei der Sprunganwort  $〈\sigma_ν〉$  wechseln sich dagegen die Gewichte alternierend zwischen  $0$  $($bei geradem $\nu)$  und  $1$  $($bei ungeradem $\nu)$  ab. <div class="bluebox"> '''(8)'''  Wir betrachten den  „Sinusgenerator”:  $a_1=0.5$,  $b_1=\sqrt{3}= 1.732$,  $b_2=-1.$  Vergleichen Sie die Impulsantwort mit den berechneten Werten in  $\text{Beispiel 4}$. <br>        Wie beinflussen die Parameter  $a_1$  und  $b_1$  die Periodendauer  $T_0/T_{\rm A}$  und die Amplitude  $A$  der Sinusfunktion? <div style="clear:both;"> </div> </div> :*  $〈x_ν〉=〈1, 0, 0, \text{...}〉$   ⇒   $〈y_ν〉=〈0, 0.5, 0.866, 1, 0.866, 0.5, 0, -0.5, -0.866, -1, -0.866, -0.5, 0, \text{...}〉$   ⇒   '''Sinus''',  Periode  $T_0/T_{\rm A}= 12$,  Amplitude  $1$. :*  Die Vergrößerung/Verkleinerung von  $b_1$  führt zur größeren/kleineren Periodendauer  $T_0/T_{\rm A}$  und zur größeren/kleineren Amplitude  $A$.  Es muss  $b_1 < 2$  gelten. :*  $a_1$  beinflusst nur die Amplitude, nicht die Periodendauer.  Für  $a_1$  gibt es keine Wertebegrenzumg.  Bei negativem  $a_1$  ergibt sich die Minus–Sinusfunktion. :*  '''Gibt es hier keine Diskrepanz zu h(t) wertkontinuierlich ???''' <div class="bluebox"> '''(9)'''  Die Grundeinstellung bleibt erhalten.  Mit welchen  $a_1$  und  $b_1$ ergibt sich eine Sinusfunktion mit Periodendauer  $T_0/T_{\rm A}=16$  und Amplitude  $A=1$? <div style="clear:both;"> </div> </div> :*  Durch Probieren erreicht man mit  $b_1= 1.8478$  tatsächlich die Periodendauer  $T_0/T_{\rm A}=16.$  Allerdings erhöht sich dadurch die Amplitude auf  $A=1.307$. :*  Die Anpassung des Parameters   $a_1= 0.5/1.307=0.3826$  führt dann zur gewünschten Amplitude  $A=1$. :*  Oder man kann das auch wie im Beispiel berechnen:  $b_1 = 2 \cdot \cos ( {2{\rm{\pi }}\cdot{T_{\rm A}}/{T_0 }})= 2 \cdot \cos (\pi/8)=1.8478$,     $a_1 = \sin (\pi/8)=0.3827$. <div class="bluebox"> '''(10)'''  Wir gehen weiter vom „Sinusgenerator” aus.  Welche Modifikationen muss man vornehmen, um damit einen „Cosinus” zu generieren? <div style="clear:both;"> </div> </div> :*  Mit  $a_1=0.5$,  $b_1=\sqrt{3}= 1.732$,  $b_2=-1$  sowie  $〈x_ν〉=〈1, 1, 1, \text{...}〉$  ist die Ausgangsfolge  $〈y_ν〉$  das zeitdiskrete Analogon der Sprungantwort  $\sigma(t)$.

  •   Es fehlen noch einige Statements


Zur Handhabung des Applets


Über die Autoren


Dieses interaktive Berechnungstool wurde am Lehrstuhl für Nachrichtentechnik der Technischen Universität München konzipiert und realisiert.

Nochmalige Aufrufmöglichkeit des Applets in neuem Fenster

Open Applet in a new tab