Sie sind auf Seite 1von 21

Technische Universität Berlin

Fakulät IV
Institut für Energie und Automatisierungstechnik
Fachgebiet Elektronische Mess- und Diagnosetechnik

Praktikum Grundlagen der elektronischen Messtechnik


Betreuer: Daniel
WS 2018/19

Versuchsprotokoll
Versuch 8
Digitale Messkette 2

Alfredo Chavez (385212)


Hedii Jalloulli (367313)
Meriem Jabri(396132)

29. Januar 2019


Inhaltsverzeichnis

1 Einleitung 1

2 Theoretische Aufgaben 1
2.1 Aliasing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2.2 Entwurf eines Aliasing-Filters . . . . . . . . . . . . . . . . . . . . . . . . . 1
2.3 DNL eines Analog-Digital-Umsetzers . . . . . . . . . . . . . . . . . . . . . 1
2.4 INL eines Analog-Digital-Umsetzers . . . . . . . . . . . . . . . . . . . . . . 2
2.5 Störspannungsunterdrückung . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.5.1 Vorteil des Dual-Slope-Integrierers . . . . . . . . . . . . . . . . . . . 2
2.5.2 Berechnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3 Praktische Aufgaben 4

4 Praktische Aufgaben 4
4.1 Aliasing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4.2 Aliasingfilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.3 ADU-Histogramm-Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.4 Störspannungsunterdrückung . . . . . . . . . . . . . . . . . . . . . . . . . 10

5 Zusammenfassung 13

6 Verwendeter Code 14
Alfredo Chavez ,Hedii Jalloulli , Meriem Jabri Versuchsprotokoll Versuch 8

1 Einleitung

2 Theoretische Aufgaben

2.1 Aliasing

Worum handelt es sich bei Aliasing? Wie kann es vermieden werden?


Ist die Abtastkreisfrequenz nicht hoch genug, werden Spektralanteile des um die Abtastkreis-
frequenz ω0 liegenden Spektrums in den Originalbereich zurückgefaltet (Spiegelfrequenzen).
Durch diese Signalfaltung wird das Originalspektrum verfälscht (Aliasing). Um diese zu ver-
meiden sollten wir die Anti-Aliasing-Filter benutzen , da die Erohung der Abtastrate ist wegen
begrenzten technischen Moglichkeiten nicht moglich

2.2 Entwurf eines Aliasing-Filters

Wie muss ein Aliasing-Filter entworfen werden? Warum spielt dabei auch die
Auflösung (Bitanzahl) des AD-Umsetzers eine Rolle ?
Es muss gelten
f0
A( ) ≥ 20 ∗ log(2N − 1)
2

und
ω0 ≥ 2 ∗ ωm

Da die Auflosung des ADU die Abtastfrequenz beeinflust spielt es eine wichtige Rolle . Es
gilt fur die Filterordnung

∆A A(t) f0 − A(t)g
2
m= = f0
∆f log10 ( f2g )

2.3 DNL eines Analog-Digital-Umsetzers

Was ist die differentielle Nichtlinearität eines AD-Umsetzers und wie kann sie
messtechnisch bestimmt werden?

1
Alfredo Chavez ,Hedii Jalloulli , Meriem Jabri Versuchsprotokoll Versuch 8

Die differenzielle Nichtlinearität ist die Abweichung der Stufenbreite von ihrem idealen Wert
(1 LSB). Übersteigt die differentielle Nichtlinearität an einer Quantisierungsstufe den Wert
eines LSB, so wird der zugehörige Ausgangswert nicht ausgegeben und als ”missing co-
de”bezeichnet.

Hauf igkeit(Stuf e)
DN L = −1
Hauf igkeit(soll)

2.4 INL eines Analog-Digital-Umsetzers

Was ist die integrale Nichtlinearität eines AD-Umsetzers?


Die integrale Nichtlinearität ist die maximale Abweichung zwischen der Funktion, die durch
die Mitten der Quantisierungsstufen des realen ADU gelegt wird, und der Geraden durch die
ideale Kennlinie.

2.5 Störspannungsunterdrückung

2.5.1 Vorteil des Dual-Slope-Integrierers

Welchen Vorteil hat der Dual-Slope-Integrierer, bei der Verarbeitung eines der
Messgröße Ux überlagertem Störsignals us?

Der Dual-Slope-Wandler ist relativ langsam (typ. 20 ms pro Umwandlung) und wird vor al-
lem in Digitalvoltmetern eingesetzt. Durch das Verfahren heben sich Messfehler, die durch
Bauteiltoleranzen verursacht werden, auf, wodurch der Dual-Slope-Konverter gute Auflösung
und Linearität (16 Bit und mehr) bietet. Trotzdem ist er preisgünstig und außerdem leicht
anzuwenden, da er aufgrund seiner integrierenden Eigenschaften Artefakte bei der Messung
unterdrückt

Durch den Dual-Slope-Integrierer konnte die Storspannungsdampfung sehr gut erzielt werden.
Ausserdem die Fehler,die entstehen , werden verringert .
Wie kann die Integrationszeit Ti für die 1. Phase des Dual-Slope-Integrierers be-
stimmt werden, sodass idealerweise das Störsignal vollständig unterdrückt wird?
1
R Ti
U1 (Ti ) = − RC t0
Ue

2
Alfredo Chavez ,Hedii Jalloulli , Meriem Jabri Versuchsprotokoll Versuch 8

2.5.2 Berechnung

Bestimmen Sie für Fall 1 und Fall 2 aus den Mittelwert des Storsignalsus und die
Störspannungsdämpfung S.

uS
s = −20log( )
u
cS
mit
cS ∗ si(π ∗ fs ∗ Ti ) ∗ sin(π ∗ fs ∗ Ti + φ)
uS = u

Fall 1 ;
fs ∗ Ti = 1.5
φ=π
Der Mittelwert des Storsignals :

cS ∗ si(π1.5) ∗ sin(π ∗ 1.5 + π) = 0.2122 ∗ u


uS = u cS = 0.0637V

Die Storspannungsdampfung :

0.063
s = −20log( ) = 13, 46dB
0.03
Fall 2 :

fs ∗ Ti = 2
φ=0
Der Mittelwert des Storsignals :

cS ∗ si(π ∗ 2) ∗ sin(π ∗ 2 + 0) = 0V
uS = u

Die Storspannungsdampfung :

uS
s = −20log( ) = −20log(0) = ∞
u
cS

3
Alfredo Chavez ,Hedii Jalloulli , Meriem Jabri Versuchsprotokoll Versuch 8

3 Praktische Aufgaben

4 Praktische Aufgaben

4.1 Aliasing

Die Effekte von Aliasing bei der digitalisierung eines rechteckigen Signales mit einem Grund-
frequenz von 10 kHz, bei verschiedenen Abtastfrequenzen ist in Abb 1 zu sehen.

4
Alfredo Chavez ,Hedii Jalloulli , Meriem Jabri Versuchsprotokoll Versuch 8

Aliasing
Abtastrate = 4000 Hz Abtastrate = 10000 Hz
Spannung [V]

Spannung [V]
0.5 0.5

0.0 0.0
0 250 500 750 1000 1250 1500 1750 2000 0 1000 2000 3000 4000 5000
Frequenz [Hz] Frequenz [Hz]
Abtastrate = 12500 Hz Abtastrate = 15000 Hz
Spannung [V]

Spannung [V]
0.5 0.5

0.0 0.0
0 1000 2000 3000 4000 5000 6000 0 1000 2000 3000 4000 5000 6000 7000
Frequenz [Hz] Frequenz [Hz]
Abtastrate = 17500 Hz Abtastrate = 20000 Hz
1.0
Spannung [V]

Spannung [V]

0.5 0.5

0.0 0.0
0 2000 4000 6000 8000 0 2000 4000 6000 8000 10000
Frequenz [Hz] Frequenz [Hz]
Abtastrate = 25000 Hz Abtastrate = 30000 Hz
Spannung [V]

Spannung [V]

0.5 0.5

0.0 0.0
0 2000 4000 6000 8000 10000 12000 0 2000 4000 6000 8000 10000 12000 14000
Frequenz [Hz] Frequenz [Hz]
Abtastrate = 35000 Hz Abtastrate = 40000 Hz
Spannung [V]

Spannung [V]

1.0
0.5
0.5
0.0 0.0
0 2500 5000 7500 10000 12500 15000 17500 0 2500 5000 7500 10000 12500 15000 17500 20000
Frequenz [Hz] Frequenz [Hz]

Abbildung 1: Aliasing Effekt bei verschiedenen Abtastfrequenzen


5
Alfredo Chavez ,Hedii Jalloulli , Meriem Jabri Versuchsprotokoll Versuch 8

Wie man in Abb. 1 sehen kann, kommt den korrekten Spektrum erst bei einer Abtastfrequenz
von 20kHz vor, was dem Abtasttheorem entspricht. Bei kleinere Abtastfrequenzen kommen
andere Werte als die zu erwartende Grundfrequenz von 20kHz vor.
Die Aliasing Effekt wäre relativ groß, wegen der Einflüsse des Abtaste theorems. Wenn bei
der Digitalisierung eines auf fmax bandbegrenztes Signals, die Abtastrate kleiner als 2fmax
ist, geschieht eine Verletzung des Nyquist-Shannon-Abtasttheorems. Die Konsequenz dazu
ist Aliasing. Im Frequenzspektrum, die Abtastung eines Signales entspricht eine Periodische
Fortsetzung des originalen Signales im Frequenzbereich, wenn die Abtastrate zu klein ist,
überschneiden sich die einzelne Periode miteinander, und daraus folgt dass das Signal im
Zeitbereich Verzehrt wird.
Die negativen Effekte von Aliasing können mithilfe von einem Low Pass Filter vermieden wer-
den, um den Frequenzspektrum zu reduzieren, und ihn auf die Abtastefrequenz anzupassen.

4.2 Aliasingfilter

Folgend wurden die Effekte von Aliasingfilter betrachtet, bei Nichtsinusförmige Signale. Das
ist nötig weil, bei z.B. rechteckförmige Signalen kommen Oberschwingungen vor die den
Abtasttheorem verletzen können, und als störendes Rauschen in Erscheinung treten. Dafür
wurde ein Rechtecksignal mit einer Grundfrequenz on 1, 4kHz erzeugt, und jeweils mit den
Frequenzen 44kHz und 10kHz abgetastet. Dannach wurde das Prozess wiederholt, aber mit
einer Aliasingfilter, um die Effekte zu vergleichen. Wie man in Abb. 2 sehen kann, helfen die
Aliasingsfilter die ungewünschte Frequenzen zu reduzieren. In den Grafiken ohne Aliasfilter,
kann mann die wiederholende Oberschwingungen sehen, insbesondere bei fs = 10kHz, wo
diese Werte zunehmen. Bei den Fällen wo den Aliasfilter benutzt wurde wird das Signal
schwer gedämpft, und bei einem Fall ist die Grundfrequenz nicht mehr zu erkennen, man
kann aber schon merken dass es weniger Oberschwingungen gibt als am Anfang.

6
Alfredo Chavez ,Hedii Jalloulli , Meriem Jabri Versuchsprotokoll Versuch 8

Aliasing

fs = 44000 Hz ohne aliasing fs = 44000 Hz mit aliasing


1.4 0.012
1.2 0.010
1.0 0.008
Spannung [V]

Spannung [V]
0.8
0.006
0.6
0.004
0.4
0.2 0.002

0.0 0.000
0 5000 10000 15000 20000 0 5000 10000 15000 20000
Frequenz [Hz] Frequenz [Hz]

fs = 10000 Hz ohne aliasing fs = 10000 Hz mit aliasing


1.6
0.012
1.4
1.2 0.010
Spannung [V]

1.0

Spannung [V]
0.008
0.8 0.006
0.6
0.004
0.4
0.2 0.002
0.0 0.000
0 1000 2000 3000 4000 5000 0 1000 2000 3000 4000 5000
Frequenz [Hz] Frequenz [Hz]

Abbildung 2: Vergleich vom Spektrum der Signalen mit und ohne Antialiasingfilter

4.3 ADU-Histogramm-Test

Den Histogramm eines abgetasteten Dreiecksignales wurde aufgenommen. Es wurde eine


Auflösung von 7-bits ausgewählt, welche jedem Spannungswert einem Code zwischen 0 und
127 zuordnet. Die Amplitude des erzeugten Signal war von 5V, die Messbereichsamplitude
war aber nur von 2V. Wegen dieser Differenz tratt Clipping auf, dessen Effekte gut in Abb. 3
zu sehen sind. Im vergleich dazu befindet sich in Abb 4 eine verarbeitete Version die die
Randwerte weglässt. Da kann man deutlich sehen wie die quantisierte Werte gleich verteilt
sind. kann

7
Alfredo Chavez ,Hedii Jalloulli , Meriem Jabri Versuchsprotokoll Versuch 8

ADU HIstogramm
4000
3500
3000
Absolutehaeufigkeit

2500
2000
1500
1000
500
0
0 20 40 60 80 100 120
Code

Abbildung 3: Histogramm mit Randwerten wegen Clipping Effekte.

8
Alfredo Chavez ,Hedii Jalloulli , Meriem Jabri Versuchsprotokoll Versuch 8

Bar Diagramm von ADU Histogramm


300

250
Absolutehaeufigkeit

200

150

100

50

0
0 20 40 60 80 100 120
Code

Abbildung 4: Bar Histogramm ohne Randwerte. Die gleich Verteilung ist besser hier
erkennbar.

In Abb 5 befindet sich die als Histogramm dargestellte Differentielle Nichtlinearität für jede
Häufigkeit
Stufe des Codes. Sie wurde mit folgender Formel berechnet DN L = Sollhäufigkeit wobei die
Sollhäufigkeit die Häufigkeit bei einer perfekt gleichverteilung der quiantisierten Werten wäre.
Wie man sehen kann, die Form bleibt genau wie bei Abb. 4 erhalten, der Faktor ist aber
anders. Von der Abb. 5 kann man einen Mittelwert schätzen, der gegen 0.8 liegt.

9
Alfredo Chavez ,Hedii Jalloulli , Meriem Jabri Versuchsprotokoll Versuch 8

Differentielle Nichtlinearitäten

0.8
Differentielle Nichtliniearität

0.6

0.4

0.2

0.0
0 20 40 60 80 100 120
Code

Abbildung 5: Bar Histogramm ohne Randwerte. Die gleich Verteilung ist besser hier
erkennbar.

4.4 Störspannungsunterdrückung

In Abb. 6 und Abb. 6. Kann man das Ergebnis der Störspannungsdämpfung eines Störsignals,
die mithilfe von dem Funktionsgenerator und das Programm LabVIEW generiert wurde. In
Abb. 8 ist den Maximalen Fehler zu sehen.

10
Alfredo Chavez ,Hedii Jalloulli , Meriem Jabri Versuchsprotokoll Versuch 8

Stoerspannungsdampfung
50

40
Stoerungsdampfung [dB]

30

20

10

0
101 102
Frequenz [Hz]

Abbildung 6: Störspannungsdämpfung als Funktion der Störfrequenz fs

11
Alfredo Chavez ,Hedii Jalloulli , Meriem Jabri Versuchsprotokoll Versuch 8

normierte Stoerspannungsdampfung
50

40
Stoerungsdampfung [dB]

30

20

10

0
0.1 1.0 10.0
normierte Frequenz

Abbildung 7: Störspannungsdämpfung als Funktion von fs ∗ Ti

12
Alfredo Chavez ,Hedii Jalloulli , Meriem Jabri Versuchsprotokoll Versuch 8

1.0

0.5
Maximale Fehler [%/100]

0.0

0.5

1.0
0 2 4 6 8 10 12
Normierte Frequenz in fs* Ti

Abbildung 8: Maximaler Fehler

5 Zusammenfassung

Weitere Elemente der Digitalen Messkete, wie Antialiasingsfilter wurden untersucht, sowie
die Einflüsse und Rückwirkungen die bei der Nutzung von ADU’s auftretten können.

Literatur

http://www.vias.org/mikroelektronik/adcd ualslope.html

13
Alfredo Chavez ,Hedii Jalloulli , Meriem Jabri Versuchsprotokoll Versuch 8

6 Verwendeter Code
4 import numpy as np
5 import matplotlib . pyplot as plt
6 import mdt
7 import os
8
9 freq = {}
10 file_names = []
11 for filen in os . listdir ( " . " ) :
12 if filen . endswith ( " . npy " ) :
13 file_names . append ( filen )
14 def sort_name ( elem ) :
15 return int ( elem . split ( ’. ’) [0])
16
17 file_names . sort ( key = sort_name )
18
19 for filen in file_names :
20 freq [ filen . split ( ’. ’) [0]] = np . load ( filen )
21
22 # fig , axes = plt . subplots (3 ,4 , sharex = True )
23 fig = plt . figure ( figsize =(8 ,10) )
24 fig . suptitle ( ’ Aliasing ’)
25 subplts = {}
26 counter = 1
27 for key , val in freq . items () :
28 spec = mdt . spectrum ( val [0] , int ( key ) )
29 subplts [ key ] = fig . add_subplot (5 ,2 , counter )
30 subplts [ key ]. set_title ( ’ Abtastrate = {} Hz ’. format ( key ) )
31 subplts [ key ]. plot ( spec [0] , spec [1])
32 subplts [ key ]. grid ()
33 subplts [ key ]. set_xlabel ( ’ Frequenz [ Hz ] ’)
34 subplts [ key ]. set_ylabel ( ’ Spannung [ V ] ’)
35 counter += 1;
36
37 # f = freq [0]. items ()
38 # spec = mdt . spectrum ( f [0] , f [1])
39 # ax = fig . add_subplot (3 ,4 ,1)
40 # ax . plot ( spec [0] , spec [1])
41 plt . subplots_adjust ( hspace =0.73)
42 plt . show ()

14
Alfredo Chavez ,Hedii Jalloulli , Meriem Jabri Versuchsprotokoll Versuch 8

Listing 1: benutzter Code

4 import numpy as np
5 import matplotlib . pyplot as plt
6 import mdt
7 import os
8
9 freq = {}
10 file_names = []
11 for filen in os . listdir ( " . " ) :
12 if filen . endswith ( " . npy " ) :
13 file_names . append ( filen )
14 def sort_name ( elem ) :
15 return int ( elem . split ( ’. ’) [0])
16
17 # file_names . sort ( key = sort_name )
18
19 for filen in file_names :
20 freq [ filen . split ( ’. ’) [0]] = np . load ( filen )
21
22 # fig , axes = plt . subplots (3 ,4 , sharex = True )
23 fig = plt . figure ()
24 fig . suptitle ( ’ Aliasing ’)
25 subplts = {}
26 counter = 1
27 for key , val in freq . items () :
28 s_rate = int ( key . split ( ’2 ’) [1][:5])
29 mit = key . split ( ’2 ’) [1][5:]
30 spec = mdt . spectrum ( val [0] , int ( key . split ( ’2 ’) [1][:5]) )
31 subplts [ key ] = fig . add_subplot (2 ,2 , counter )
32 subplts [ key ]. set_title ( ’ fs = {} Hz {}
aliasing ’. format ( s_rate , mit ) )
33 subplts [ key ]. plot ( spec [0] , spec [1])
34 subplts [ key ]. grid ()
35 subplts [ key ]. set_xlabel ( ’ Frequenz [ Hz ] ’)
36 subplts [ key ]. set_ylabel ( ’ Spannung [ V ] ’)
37 counter += 1;
38
39 # f = freq [0]. items ()
40 # spec = mdt . spectrum ( f [0] , f [1])
41 # ax = fig . add_subplot (3 ,4 ,1)

15
Alfredo Chavez ,Hedii Jalloulli , Meriem Jabri Versuchsprotokoll Versuch 8

42 # ax . plot ( spec [0] , spec [1])


43 plt . subplots_adjust ( hspace =0.52)
44 plt . show ()

Listing 2: benutzter Code

4 # -* - coding : utf -8 -* -
5 """
6 Spyder Editor
7
8 This is a temporary script file .
9 """
10
11 import mdt
12 import numpy as np
13 import matplotlib . pyplot as plt
14 # %%
15 # aduhist = mdt . dataRead ( amplitude =2 , samplingRate =40000 , duration
= 10 , channels =[3] , resolution = 7 , outType = ’ volt ’)
16 aduhist = np . loadtxt ( ’ V8_Aufgabe4 . csv ’ , delimiter = ’ , ’)
17
18 adu_crop = [ x for x in aduhist if x > 0]
19 adu_crop = [ x for x in adu_crop if x < 126]
20
21 ran = np . arange (0 ,128 ,1)
22
23 anzahl , bins , tmp = plt . hist ( aduhist , ran , edgecolor = ’ black ’ ,
linewidth =0.5)
24 plt . title ( ’ ADU HIstogramm ’)
25 plt . xlabel ( ’ Code ’)
26 plt . ylabel ( ’ A b so l u te h a eu f i gk e i t ’)
27 plt . savefig ( ’ auf3 . pdf ’)
28
29 plt . clf ()
30 plt . title ( ’ Bar Diagramm von ADU Histogramm ’)
31 plt . xlabel ( ’ Code ’)
32 plt . ylabel ( ’ A b so l u te h a eu f i gk e i t ’)
33 plt . bar ( ran [1: -2] , anzahl [1: -1])
34 plt . savefig ( ’ auf3_bar . pdf ’)
35
36
37 soll = np . sum ( anzahl ) / len ( anzahl )
38 plt . clf ()

16
Alfredo Chavez ,Hedii Jalloulli , Meriem Jabri Versuchsprotokoll Versuch 8

39 plt . clf ()
40 plt . title ( ’ Differentielle Nichtlinearit ä ten ’)
41 plt . xlabel ( ’ Code ’)
42 plt . ylabel ( ’ Differentielle Nichtliniearit ä t ’)
43 plt . bar ( ran [1: -2] , anzahl [1: -1] / soll )
44 plt . savefig ( ’ auf3_dnl . pdf ’)
45
46
47 # anzahl , bins , tmp = plt . hist ( aduhist [0] ,127)
48 # %%

Listing 3: benutzter Code

4 # -* - coding : utf -8 -* -
5 """
6 Spyder Editor
7
8 This is a temporary script file .
9 """
10
11 import mdt
12 import numpy as np
13 import matplotlib . pyplot as plt
14 # %%
15 # aduhist = mdt . dataRead ( amplitude =2 , samplingRate =40000 , duration
= 10 , channels =[3] , resolution = 7 , outType = ’ volt ’)
16 aduhist = np . loadtxt ( ’ V8_Aufgabe4 . csv ’ , delimiter = ’ , ’)
17
18 adu_crop = [ x for x in aduhist if x > 0]
19 adu_crop = [ x for x in adu_crop if x < 126]
20
21 ran = np . arange (0 ,128 ,1)
22
23 anzahl , bins , tmp = plt . hist ( aduhist , ran , edgecolor = ’ black ’ ,
linewidth =0.5)
24 plt . title ( ’ ADU HIstogramm ’)
25 plt . xlabel ( ’ Code ’)
26 plt . ylabel ( ’ A b so l u te h a eu f i gk e i t ’)
27 plt . savefig ( ’ auf3 . pdf ’)
28
29 plt . clf ()
30 plt . title ( ’ Bar Diagramm von ADU Histogramm ’)
31 plt . xlabel ( ’ Code ’)

17
Alfredo Chavez ,Hedii Jalloulli , Meriem Jabri Versuchsprotokoll Versuch 8

32 plt . ylabel ( ’ A b so l u te h a eu f i gk e i t ’)
33 plt . bar ( ran [1: -2] , anzahl [1: -1])
34 plt . savefig ( ’ auf3_bar . pdf ’)
35
36
37 soll = np . sum ( anzahl ) / len ( anzahl )
38 plt . clf ()
39 plt . clf ()
40 plt . title ( ’ Differentielle Nichtlinearit ä ten ’)
41 plt . xlabel ( ’ Code ’)
42 plt . ylabel ( ’ Differentielle Nichtliniearit ä t ’)
43 plt . bar ( ran [1: -2] , anzahl [1: -1] / soll )
44 plt . savefig ( ’ auf3_dnl . pdf ’)
45
46
47 # anzahl , bins , tmp = plt . hist ( aduhist [0] ,127)
48 # %%

Listing 4: benutzter Code

4 import numpy as np
5 import matplotlib . pyplot as plt
6 from matplotlib . ticker import ScalarFormatter
7
8 data = np . loadtxt ( ’ auf4 . txt ’ , delimiter = None )
9 xdata = np . array ([ x [0] for x in data ])
10 ydata = [ x [1] for x in data ]
11
12 plt . semilogx ( xdata , ydata )
13 plt . grid ( which = ’ both ’)
14 plt . title ( ’ S t o e r s p a n n u n g s d a m p f u n g ’)
15 plt . xlabel ( ’ Frequenz [ Hz ] ’)
16 plt . ylabel ( ’ S toerun gsdamp fung [ dB ] ’)
17 plt . savefig ( ’ auf4 . pdf ’)
18
19 plt . clf ()
20 plt . title ( ’ normierte S t o e r s p a n n u n g s d a m p f u n g ’)
21 plt . xlabel ( ’ normierte Frequenz ’)
22 plt . ylabel ( ’ S toerun gsdamp fung [ dB ] ’)
23 plt . semilogx ( xdata /50 , ydata )
24
25 formatter = ScalarFormatter ()
26 formatter . set_scientific ( False )

18
Alfredo Chavez ,Hedii Jalloulli , Meriem Jabri Versuchsprotokoll Versuch 8

27 plt . gca () . xaxis . s e t_ m a jo r _ fo r m at t e r ( formatter )


28
29 plt . grid ( which = ’ both ’)
30 plt . savefig ( ’ auf4_norm . pdf ’)
31
32 Fmaxp = (2.1/2) * np . sinc ( xdata *.02)
33 Fmaxn = -(2.1/2) * np . sinc ( xdata *.02)
34 plt . clf ()
35 plt . grid ()
36 plt . xlabel ( ’ Normierte Frequenz in fs * Ti ’)
37 plt . ylabel ( ’ Maximale Fehler [ % /100] ’)
38 plt . plot ( xdata /50 , Fmaxp )
39 plt . plot ( xdata /50 , Fmaxn )
40 plt . savefig ( ’ auf4_fehl . pdf ’)

Listing 5: benutzter Code

19