Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
ss15:tonerzeugung [2015/10/01 22:39] m.schramm [2.1 Variante A] |
ss15:tonerzeugung [2016/05/10 14:46] (aktuell) |
||
---|---|---|---|
Zeile 9: | Zeile 9: | ||
def code(l): | def code(l): | ||
'''erzeugt aus der Bit-Liste l Töne und Taktsignal''' | '''erzeugt aus der Bit-Liste l Töne und Taktsignal''' | ||
- | f_0 = 12900 # Frequenz zur codierung der 0 | + | f_0 = 13000 # Frequenz zur codierung der 0 |
f_1 = 12800 # Frequenz zur codierung der 1 | f_1 = 12800 # Frequenz zur codierung der 1 | ||
f_takt = 12600 # Taktfrequenz | f_takt = 12600 # Taktfrequenz | ||
dauer_bit = 0.05 # Dauer des Signals für 1 Bit in Sekunden | dauer_bit = 0.05 # Dauer des Signals für 1 Bit in Sekunden | ||
t = [] # List zur Speicherung des Taktsignals | t = [] # List zur Speicherung des Taktsignals | ||
+ | |||
for i in range(0, len(l)): # Erzeugung des Taktsignals mit der Länge von l | for i in range(0, len(l)): # Erzeugung des Taktsignals mit der Länge von l | ||
t.append(i%2) | t.append(i%2) | ||
Zeile 28: | Zeile 29: | ||
</code> | </code> | ||
==== 2.2 Variante B ==== | ==== 2.2 Variante B ==== | ||
+ | Die Variante B funktioniert ähnlich wie Variante A, allerdings wird hier von Anfang an die vier auftretenden Fälle unterschieden und ausgehend davon die Töne erzeugt. | ||
Wir wissen, dass jeder Datentyp ein Vielfaches von 4 als Bit-Anzahl besitzt und damit eine gerade Anzahl hat. So endet bei einem ständigen Wechsel zwischen An/Aus die Takt-Frequenz immer gleich. Wenn wir nun neben der 0 und 1 Codierung eine Takt-Frequenz als zusätzliche Info miteinbringen wollen, so kommen wir auf 4 verschiedene Kombinationen an Tönen. Die erhaltene Bit-Liste aus der Datei wird deshalb umgeschrieben. Durch die Hinzugabe der Takt-Frequenz geht die 0 und 1 Codierung auch nicht verloren, da die Frequenzen keine Auswirkungen aufeinander haben. Sehr wichtig ist, dass auf jeder geraden Stelle der Liste die Takt-Frequenz gespielt wird, damit es auch damit endet. Dies ist für die Taktrückgewinnung relevant! | Wir wissen, dass jeder Datentyp ein Vielfaches von 4 als Bit-Anzahl besitzt und damit eine gerade Anzahl hat. So endet bei einem ständigen Wechsel zwischen An/Aus die Takt-Frequenz immer gleich. Wenn wir nun neben der 0 und 1 Codierung eine Takt-Frequenz als zusätzliche Info miteinbringen wollen, so kommen wir auf 4 verschiedene Kombinationen an Tönen. Die erhaltene Bit-Liste aus der Datei wird deshalb umgeschrieben. Durch die Hinzugabe der Takt-Frequenz geht die 0 und 1 Codierung auch nicht verloren, da die Frequenzen keine Auswirkungen aufeinander haben. Sehr wichtig ist, dass auf jeder geraden Stelle der Liste die Takt-Frequenz gespielt wird, damit es auch damit endet. Dies ist für die Taktrückgewinnung relevant! | ||
Zeile 55: | Zeile 57: | ||
playsnd(signal,RATE) | playsnd(signal,RATE) | ||
</code> | </code> | ||
+ | {{:ss15:code.png?direct&700 |erzeugtes Signal zur Bit-Liste [0,1,1,0,0,1,0,0,0,1,0,1,0,0,1,1]}} |