Difference between revisions of "Aufgaben:Exercise 5.4: Sine Wave Generator"

From LNTwww
Line 53: Line 53:
 
===Musterlösung===
 
===Musterlösung===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
:<b>1.</b>&nbsp;&nbsp;Die &bdquo;1&rdquo; am Eingang wirkt sich am Ausgang erst zum Zeitpunkt <i>&nu;</i> = 1 aus (wegen <i>a</i><sub>0</sub> = 0):
+
'''(1)'''&nbsp; Die &bdquo;$1$&rdquo; 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 <i>&nu;</i> = 2 wird auch der rekursive Teil des Filters wirksam:
+
Bei $\nu = 2$ wird auch der rekursive Teil des Filters wirksam:
 
:y2=b1y1y0=3/20.866_.
 
:y2=b1y1y0=3/20.866_.
  
:<b>2.</b>&nbsp;&nbsp; Für <i>&nu;</i> &#8805; 2 ist das Filter rein rekursiv:
+
'''(2)'''&nbsp; Für $\nu \ge 2$ ist das Filter rein rekursiv:
 
:yν=b1yν1yν2.
 
:yν=b1yν1yν2.
  
:Insbesondere erhält man
+
Insbesondere erhält man
 
:y3=3y2y1=33/21/2=1;
 
:y3=3y2y1=33/21/2=1;
 
:y4=3y3y2=313/2=3/2;
 
:y4=3y3y2=313/2=3/2;
 
:y5=3y4y3=33/21=1/2;
 
:y5=3y4y3=33/21=1/2;
 
:y6=3y5y4=31/23/2=0;
 
:y6=3y5y4=31/23/2=0;
:$$y_7  = \sqrt 3  \cdot y_6  - y_5  = \sqrt 3  \cdot 0 - {1}/{2}  \hspace{0.15cm} \underline{=  - {1}/{2}}.$$
+
:$$y_7  = \sqrt 3  \cdot y_6  - y_5  = \sqrt 3  \cdot 0 - {1}/{2}  \hspace{0.15cm} \underline{=  - 0.5}.$$
  
:<b>3.</b>&nbsp;&nbsp; Durch Fortsetzung des rekursiven Algorithmuses aus (b) erhält man für große <i>&nu;</i>-Werte:
+
'''(3)'''&nbsp; Durch Fortsetzung des rekursiven Algorithmuses der Teilaufgabe (2) erhält man für große ν&ndash;Werte: &nbsp; $y_\nu  = y_{\nu  - 12} .$
:$yν=yν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.$$
  
:Daraus folgt <i>T</i><sub>0</sub>/<i>T</i> <u>= 12</u>. Zum gleichen Ergebnis kommt man durch folgende Überlegungen:
+
Die Überprüfung des Koeffizienten b1 bestätigt die Rechnung:
:a1=sin(ω0T)=sin(2πT/T0)!=1/2=sin(π/6).
 
:2T/T0=1/6T0/T=12.
 
 
 
:Die Überprüfung des Koeffizienten <i>b</i><sub>1</sub> bestätigt die Rechnung:
 
 
:b1=2cos(π/6)=2c3/2=3.
 
:b1=2cos(π/6)=2c3/2=3.
  
:<b>4.</b>&nbsp;&nbsp;Aus <i>f</i><sub>0</sub> = 10 kHz folgt <i>T</i><sub>0</sub> = 100 &mu;s bzw. <i>T</i><sub>0</sub>/<i>T</i> = 100. Damit ergibt sich:
+
'''(4)'''&nbsp; 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=2cos(2πT/T0)=2cos(3.6)1.996_.
 
:b1=2cos(2πT/T0)=2cos(3.6)1.996_.

Revision as of 14:14, 19 April 2017

Realisierung eines Sinusgenerators

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.

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

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μs. Wie müssen die Koeffizienten a1 und b1 gewählt werden, damit eine 10 kHz–Sinusschwingung erzeugt wird?

a1 =

b1 =


Musterlösung

(1)  Die „1” am Eingang wirkt sich (wegen a0=0)am Ausgang erst zum Zeitpunkt ν=1 aus:

y0=0_,y1=0.5_.

Bei ν=2 wird auch der rekursive Teil des Filters wirksam:

y2=b1y1y0=3/20.866_.

(2)  Für ν2 ist das Filter rein rekursiv:

yν=b1yν1yν2.

Insbesondere erhält man

y3=3y2y1=33/21/2=1;
y4=3y3y2=313/2=3/2;
y5=3y4y3=33/21=1/2;
y6=3y5y4=31/23/2=0;
y7=3y6y5=301/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(ω0T)=sin(2πT/T0)!=1/2=sin(π/6)2T/T0=1/6T0/T=12.

Die Überprüfung des Koeffizienten b1 bestätigt die Rechnung:

b1=2cos(π/6)=2c3/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=2cos(2πT/T0)=2cos(3.6)1.996_.