Exercise 5.4: Sine Wave Generator
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.
In der Grafik 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.
- Für die Teilaufgaben (1) bis (3) gelte:
- a1=0.5,b1=√3.
Fragebogen
Musterlösung
- y_0 \hspace{0.15cm} \underline{= 0},\quad y_1 \hspace{0.15cm} \underline{ = 0.5}.
Bei \nu = 2 wird auch der rekursive Teil des Filters wirksam:
- y_2 = b_1 \cdot y_1 - y_0 = {\sqrt 3 }/{2} \hspace{0.15cm} \underline{ \approx 0.866}.
(2) Für \nu \ge 2 ist das Filter rein rekursiv:
- y_\nu = b_1 \cdot y_{\nu - 1} - y_{\nu - 2} .
Insbesondere erhält man
- y_3 = \sqrt 3 \cdot y_2 - y_1 = \sqrt 3 \cdot {\sqrt 3 }/{2} - {1}/{2} = 1;
- 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 = {1}/{2};
- 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} \hspace{0.15cm} \underline{= - 0.5}.
(3) Durch Fortsetzung des rekursiven Algorithmuses der Teilaufgabe (2) erhält man für große \nu–Werte: y_\nu = y_{\nu - 12} . Daraus folgt T_0/T\hspace{0.15cm} \underline{= 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 b_1 bestätigt die Rechnung:
- b_1 = 2 \cdot \cos \left( {{{\rm{\pi }}}/{6}} \right) = 2 \cdot c{\sqrt 3 }/{2} = \sqrt 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:
- a_1 = \sin \left( {2{\rm{\pi }}\cdot{T}/{T_0 }} \right) = \sin \left( {3.6^ \circ } \right) \hspace{0.15cm} \underline{\approx 0.062},
- b_1 = 2 \cdot \cos \left( {2{\rm{\pi }}\cdot{T}/{T_0 }} \right) = 2 \cdot \cos \left( {3.6^ \circ } \right) \hspace{0.15cm} \underline{\approx 1.996}.