Difference between revisions of "Aufgaben:Exercise 5.4: Sine Wave Generator"
Line 53: | Line 53: | ||
===Musterlösung=== | ===Musterlösung=== | ||
{{ML-Kopf}} | {{ML-Kopf}} | ||
− | + | '''(1)''' Die „$1$” am Eingang wirkt sich (wegen a0=0)am Ausgang erst zum Zeitpunkt $\nu = 1$ aus: | |
:y0=0_,y1=0.5_. | :y0=0_,y1=0.5_. | ||
− | + | Bei $\nu = 2$ wird auch der rekursive Teil des Filters wirksam: | |
:y2=b1⋅y1−y0=√3/2≈0.866_. | :y2=b1⋅y1−y0=√3/2≈0.866_. | ||
− | + | '''(2)''' Für $\nu \ge 2$ ist das Filter rein rekursiv: | |
:yν=b1⋅yν−1−yν−2. | :yν=b1⋅yν−1−yν−2. | ||
− | + | Insbesondere erhält man | |
:y3=√3⋅y2−y1=√3⋅√3/2−1/2=1; | :y3=√3⋅y2−y1=√3⋅√3/2−1/2=1; | ||
:y4=√3⋅y3−y2=√3⋅1−√3/2=√3/2; | :y4=√3⋅y3−y2=√3⋅1−√3/2=√3/2; | ||
:y5=√3⋅y4−y3=√3⋅√3/2−1=1/2; | :y5=√3⋅y4−y3=√3⋅√3/2−1=1/2; | ||
:y6=√3⋅y5−y4=√3⋅1/2−√3/2=0; | :y6=√3⋅y5−y4=√3⋅1/2−√3/2=0; | ||
− | :$$y_7 = \sqrt 3 \cdot y_6 - y_5 = \sqrt 3 \cdot 0 - {1}/{2} \hspace{0.15cm} \underline{= - | + | :$$y_7 = \sqrt 3 \cdot y_6 - y_5 = \sqrt 3 \cdot 0 - {1}/{2} \hspace{0.15cm} \underline{= - 0.5}.$$ |
− | + | '''(3)''' Durch Fortsetzung des rekursiven Algorithmuses der Teilaufgabe (2) erhält man für große ν–Werte: $y_\nu = y_{\nu - 12} .$ | |
− | + | Daraus folgt T0/T=12_. Zum gleichen Ergebnis kommt man durch folgende Überlegungen: | |
+ | :$$a_1 = \sin \left( {\omega _0 \cdot T} \right) = \sin \left( {2{\rm{\pi }}\cdot{T}/{T_0 }} \right)\mathop = \limits^! {1}/{2} = \sin \left( {{{\rm{\pi }}}/{6}} \right) \;\;{\rm \Rightarrow} \;\;{2T}/{T_0 } = {1}/{6}\quad \Rightarrow \;\;{T_0 }/{T} = 12.$$ | ||
− | + | Die Überprüfung des Koeffizienten b1 bestätigt die Rechnung: | |
− | |||
− | |||
− | |||
− | |||
:b1=2⋅cos(π/6)=2⋅c√3/2=√3. | :b1=2⋅cos(π/6)=2⋅c√3/2=√3. | ||
− | + | '''(4)''' Aus $f_0 = 10 \hspace{0.05cm} \rm kHz$ folgt $T_0 = 100 \hspace{0.05cm} \rm \mu s$ bzw. $T_0/T = 100$. Damit erhält man: | |
:a1=sin(2π⋅T/T0)=sin(3.6∘)≈0.062_, | :a1=sin(2π⋅T/T0)=sin(3.6∘)≈0.062_, | ||
:b1=2⋅cos(2π⋅T/T0)=2⋅cos(3.6∘)≈1.996_. | :b1=2⋅cos(2π⋅T/T0)=2⋅cos(3.6∘)≈1.996_. |
Revision as of 14:14, 19 April 2017
Die Grafik zeigt ein digitales Filter zweiter Ordnung, das zum Beispiel zur Erzeugung einer zeitdiskreten Sinusfunktion auf einem digitalen Signalprozessor (DSP) geeignet ist:
- ⟨yν⟩=⟨sin(νTω0)⟩.
- Vorausgesetzt wird, dass die Eingangsfolge ⟨xν⟩ eine (zeitdiskrete) Diracfunktion beschreibt. Damit sind gleichzeitig alle Ausgangswerte yν für Zeiten ν<0 identisch Null.
- Die insgesamt fünf Filterkoeffizienten ergeben sich aus der z-Transformation:
- z{sin(νTω0)}=z⋅sin(ω0T)z2−2⋅z⋅cos(ω0T)+1.
- Setzt man diese Gleichung durch ein rekursives Filter zweiter Ordnung (M=2) um, so erhält man die folgenden Filterkoeffizienten:
- a0=0,a1=sin(ω0T),a2=0,b1=2⋅cos(ω0T),b2=−1.
Im Bild ist bereits durch die hellere Umrandung markiert, dass auf die Filterkoeffizienten a0 und a2 verzichtet werden kann.
Hinweise:
- Die Aufgabe gehört zum Kapitel Digitale Filter im vorliegenden Buch.
- Sollte die Eingabe des Zahlenwertes „0” erforderlich sein, so geben Sie bitte „0.” ein.
- Für die Teilaufgaben (1) bis (3) gelte:
- a1=0.5,b1=√3.
Fragebogen
Musterlösung
- y0=0_,y1=0.5_.
Bei ν=2 wird auch der rekursive Teil des Filters wirksam:
- y2=b1⋅y1−y0=√3/2≈0.866_.
(2) Für ν≥2 ist das Filter rein rekursiv:
- yν=b1⋅yν−1−yν−2.
Insbesondere erhält man
- y3=√3⋅y2−y1=√3⋅√3/2−1/2=1;
- y4=√3⋅y3−y2=√3⋅1−√3/2=√3/2;
- y5=√3⋅y4−y3=√3⋅√3/2−1=1/2;
- y6=√3⋅y5−y4=√3⋅1/2−√3/2=0;
- y7=√3⋅y6−y5=√3⋅0−1/2=−0.5_.
(3) Durch Fortsetzung des rekursiven Algorithmuses der Teilaufgabe (2) erhält man für große ν–Werte: yν=yν−12. Daraus folgt T0/T=12_. Zum gleichen Ergebnis kommt man durch folgende Überlegungen:
- a1=sin(ω0⋅T)=sin(2π⋅T/T0)!=1/2=sin(π/6)⇒2T/T0=1/6⇒T0/T=12.
Die Überprüfung des Koeffizienten b1 bestätigt die Rechnung:
- b1=2⋅cos(π/6)=2⋅c√3/2=√3.
(4) Aus f0=10kHz folgt T0=100μs bzw. T0/T=100. Damit erhält man:
- a1=sin(2π⋅T/T0)=sin(3.6∘)≈0.062_,
- b1=2⋅cos(2π⋅T/T0)=2⋅cos(3.6∘)≈1.996_.