2019-03-11 19:37:57 +01:00
|
|
|
|
|
|
|
# Speicherung
|
|
|
|
|
|
|
|
<notes>
|
|
|
|
* Audio-Daten (Schallwellen)
|
|
|
|
* digital codiert
|
|
|
|
* auch beschädigt abspielbar
|
|
|
|
</notes>
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
## Codierung von Ton
|
|
|
|
|
|
|
|
<div class="overlay-container">
|
|
|
|
<div class="fragment"><img height="350px" src="img/nyquist-shannon-1.svg"></div>
|
|
|
|
<div class="fragment"><img height="350px" src="img/nyquist-shannon-2.svg"></div>
|
|
|
|
<div class="fragment"><img height="350px" src="img/nyquist-shannon-3.svg"></div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<notes>
|
|
|
|
* Schallwellen (grün)
|
|
|
|
* Annäherung an Schallwellen (bis zu ~ 20 Tausend pro Sekunde hörbar)
|
|
|
|
* Samples (rot)
|
|
|
|
* repräsentiert: Zeitpunkt und Amplitude (wie stark oben/unten; Lautstärke)
|
|
|
|
* ungefähres Signal kann rekonstruiert werden
|
|
|
|
</notes>
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
## Fehlerkorrektur
|
|
|
|
|
|
|
|
<script>
|
|
|
|
document.addEventListener('DOMContentLoaded', () => {
|
|
|
|
const cycles = {
|
|
|
|
fehlerkorrektur: ['img/fehlerkorrektur.svg', 'img/fehlerkorrektur-scrambled.svg']
|
|
|
|
}
|
|
|
|
|
|
|
|
function setCycle(id, cycle) {
|
|
|
|
let image = document.getElementById(id)
|
|
|
|
src = cycles[id][cycle]
|
|
|
|
if (src === undefined) {
|
|
|
|
src = 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=='
|
|
|
|
}
|
|
|
|
image.src = src
|
|
|
|
}
|
|
|
|
|
|
|
|
Reveal.addEventListener('fragmentshown', e => {
|
|
|
|
let el = e.fragment
|
|
|
|
if (el.hasAttribute('data-cycle')) setCycle(el.getAttribute('data-id'), el.getAttribute('data-cycle'))
|
|
|
|
})
|
|
|
|
|
|
|
|
Reveal.addEventListener('fragmenthidden', e => {
|
|
|
|
let el = e.fragment
|
|
|
|
if (el.hasAttribute('data-cycle')) setCycle(el.getAttribute('data-id'), el.getAttribute('data-cycle') - 1)
|
|
|
|
})
|
|
|
|
})
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<img id="fehlerkorrektur" src="" height="500px">
|
|
|
|
<div class="fragment" data-id="fehlerkorrektur" data-cycle="0"></div>
|
|
|
|
<div class="fragment" data-id="fehlerkorrektur" data-cycle="1"></div>
|
|
|
|
|
|
|
|
<notes>
|
|
|
|
* auch sehr komplexes Thema, wieder stark vereinfacht
|
|
|
|
* Datenstrom wird unterteilt
|
|
|
|
* an jedes Paket: Prüfsumme
|
|
|
|
* kann Fehler im Paket korrigieren
|
|
|
|
* zusätzlich: verteilt
|
2019-03-12 16:51:08 +01:00
|
|
|
* kann trotz 2.4 mm langen Kratzern abspielen
|
2019-03-11 19:37:57 +01:00
|
|
|
</notes>
|