Loading [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js

Exercise 5.4: Sine Wave Generator

From LNTwww
Revision as of 08:28, 24 August 2018 by Guenter (talk | contribs)

Vorgeschlagene Filterstruktur

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)}=zsin(ω0T)z22zcos(ω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=2cos(ω0T),b2=1.

In der Grafik ist bereits durch die hellere Umrandung markiert, dass auf die Filterkoeffizienten a0 und a2 verzichtet werden kann.



Hinweise:

  • Für die Teilaufgaben (1) bis (3) gelte:
a1=0.5,b1=3.


Fragebogen

1

Es gelte a1=0.5 und b1=3. Berechnen Sie die Ausgangswerte yν zu den Zeitpunkten ν=0, ν=1 und ν=2.

y0 = 

y1 = 

y2 = 

2

Wie lautet der Ausgangswert  yν  für  ν2  allgemein? Berechnen Sie die Werte  y3, ... , y7  und geben Sie zur Kontrolle  y7  ein.

y7 = 

3

Wie viele Stützstellen (T0/T) stellen eine Periodendauer (T0) dar?

T0/T = 

4

Es gelte nun T = 1 \hspace{0.05cm} \rm µ s. Wie müssen die Koeffizienten a_1 und b_1 gewählt werden, damit eine \text{10 kHz}–Sinusschwingung erzeugt wird?

a_1 \ = \

b_1 \ = \


Musterlösung

(1)  Die „1” am Eingang wirkt sich (wegen a_0= 0)am Ausgang erst zum Zeitpunkt \nu = 1 aus:

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}.