:: wikimiki.org ::
| Alias-Effekt |
Alias-EffektAlias-Effekte sind durch die Nichtbeachtung des Abtasttheorems auftretende Fehler beim Abtasten von Signalen.
Signalverarbeitung
In der Signalverarbeitung treten Alias-Effekte beim Digitalisieren analoger Signale auf.
Damit das Ursprungssignal korrekt wiederhergestellt werden kann, dürfen im abgetasteten Signal nur Frequenzanteile vorkommen, die weniger als halb so groß wie die Abtastfrequenz sind. Wird dieses Abtasttheorem verletzt, werden Frequenzanteile, die größer sind als die halbe Abtastfrequenz als niedrigere Frequenzen interpretiert. Die hohen Frequenzen geben sich sozusagen als jemand anderes aus, daher die Bezeichnung Alias. Die halbe Abtastfrequenz wird als Nyquist-Frequenz bezeichnet.
Falls es nicht zu vermeiden ist, dass hohe Frequenzen im Eingangssignal vorhanden sind, wird das Eingangssignal zur Unterdrückung von Alias-Effekten durch einen Tiefpass gefiltert (auch als Anti-Aliasing-Filter bezeichnet), wobei die aktive Filterwirkung dieses Abschneidens der hohen Frequenzen eindeutiger mit Höhensperre, Höhenfilter, High Cut und Treble Cut beschrieben wird.
Beispiel
Alias-Effekt (Unterabtastung)
Bild:Aliasingeffekt.jpg
Bilderfassung
In der Bildverarbeitung treten Alias-Effekte bei der Abtastung von Bildern auf, ein Beispiel ist das Auftreten von Moiré-Mustern.
Da der Alias-Effekt nicht beim Digitalisieren, sondern beim Abtasten auftritt, können die genannten Beispiele sowohl bei analogen Fernsehbildern als auch bei digitalen Fotos beobachtet werden.
Bei Kameras ab 3 Megapixel werden Alias-Effekte meist zuverlässig durch geschicktes Auslegen der Optik unterdrückt. Die optische Auflösung bleibt hier absichtlich unter der Pixelauflösung. Die Optik bildet also ein wenig unscharf ab und dient somit als Tiefpassfilter.
In diversen Bildbearbeitungsprogrammen können mit der Anti-Alias-Funktion die Alias-Effekte bereinigt werden.
Filme
In Filmen können Alias-Effekte auftreten, welche auf die Zusammensetzung des Films aus Einzelbildern zurückzuführen sind. Als weithin bekanntes Beispiel sei das langsame Rückwärtslaufen der Wagenräder in Western genannt. Es tritt auf, wenn das Rad sich von Bild zu Bild gerade um etwas weniger als der Abstand der Speichen weiterdreht.
Beobachtet man die Beschleunigung eines Wagens im Film, dreht sich das Rad zunächst in die richtige Richtung. Ab einer bestimmten Geschwindigkeit dreht sich das Rad rückwärts und wird immer langsamer. Dann scheint es stehenzubleiben um sich gleich danach mit unnatürlich langsamer Geschwindigkeit wieder in die richtige Richtung zu bewegen. Das Vor- und Rückwärtslaufen wiederholt sich bei weiterer Beschleunigung.
Signaltheoretisch betrachtet stellt jedes Einzelbild einen Abtastvorgang dar. Die Abtastfrequenz entspricht der Bildwiederholfrequenz (typ. 24 Bilder pro Sekunde). Die Signalfrequenz entspricht der Frequenz, mit der die Speichen einen gewissen Winkel durchlaufen.
- Dreht sich das Rad pro Bild um eine halbe Speiche weiter, kann nicht mehr unterschieden werden, ob es sich vorwärts oder rückwärts dreht (Signalfrequenz = Nyquist-Frequenz). Ab dieser Geschwindigkeit beginnt der Alias-Effekt.
- Liegt die Signalfrequenz zwischen der Nyquist-Frequenz und der Abtastfrequenz, ist die Phase invertiert, das Wagenrad scheint rückwärts zu laufen.
- Bewegt sich das Rad pro Bild um genau eine Speiche weiter, scheint es stillzustehen (Signalfrequenz = Abtastfrequenz).
- Das Rad scheint auch stillzustehen, wenn sich das Rad zwischen zwei Bildern um eine beliebige ganzzahlige Anzahl von Speichen weiterdreht (Signalfrequenz = n · Abtastfrequenz).
Konzeptuelle Informatik
Mit Aliasing wird in der konzeptuellen Informatik auch das Vorhandensein mehrerer Bezeichner (Namen) für eine Variable mit dem selben Speicherort bezeichnet.
Es kann hierbei (insbesondere in Verbindung mit Zeigern oder Referenzparametern von Prozeduren) zu undurchsichtigen Fehlern zur Laufzeit kommen, da an einer Stelle der Wert geändert wird, was an einer anderen Stelle (wegen eines dort verwendeten Alias-Bezeichners) nicht sofort ersichtlich ist.
Weblinks
- [http://www.dsptutor.freeuk.com/aliasing/AliasingDemo.html Demonstration von Beispielen (in Englisch)]
Kategorie:Digitale Signalverarbeitung
Kategorie:Fernsehtechnik
Kategorie:Grafik
Kategorie:Programmierung
Kategorie:Bildfehler
Nyquist-Shannon-AbtasttheoremDas Nyquist-Shannonsche Abtasttheorem, in neuerer Literatur auch WKS-Sampling-Theorem (für Whittaker-Kotelnikow-Shannon) genannt, ist ein grundlegendes Theorem der Nachrichtentechnik, Signalverarbeitung und Informationstheorie. Claude Elwood Shannon formulierte es 1948 als Ausgangspunkt seiner Theorie der maximalen Kanalkapazität, d.h. der maximalen Bitrate in einem frequenzbeschränkten, rauschbelasteten Übertragungskanal. Dabei stützte er sich auf Überlegungen von Harry Nyquist (1928) zur Übertragung endlicher Zahlenfolgen mittels trigonometrischer Polynome und auf die Theorie der Kardinalfunktionen von Edmund Taylor Whittaker (1915) und seinem Sohn John Macnaughten Whittaker (1929) [2]. Unabhängig davon wurde das Abtasttheorem 1933 von Wladimir Alexandrowitsch Kotelnikow [3] in der sowjetischen Literatur eingeführt, was im Westen allerdings erst in den 1950er Jahren bekannt wurde. Ansätze zur Interpolation mittels Kardinalreihen oder ähnlicher Formeln lassen sich bis in die Mitte des 19. Jahrhunderts zurückverfolgen.
Das Abtasttheorem besagt, dass ein kontinuierliches, bandbegrenztes Signal mit einer Minimalfrequenz von 0 Hz und einer Maximalfrequenz fmax mit einer Frequenz größer als 2 · fmax abgetastet werden muss, damit man aus dem so erhaltenen zeitdiskreten Signal das Ursprungssignal ohne Informationsverlust (aber mit unendlich großem Aufwand) rekonstruieren bzw. (mit endlichem Aufwand) beliebig genau approximieren kann.
Für Nicht-Basisband-Signale, die eine minimale Frequenz größer 0Hz haben, gilt das Abtasttheorem in einer verallgemeinerten Form, die Abtastfrequenz muss dann größer als zweimal die Bandbreite (= zweimal die Grenzfrequenz) des Signals sein (siehe Abschnitt Unterabtastung).
Für untere Grenzfrequenz gleich 0:
:
und allgemein (auch für untere Grenzfrequenz größer als 0):
:
In der Praxis bedeutet das Abtasttheorem, dass man vor der Abtastung die maximale Frequenz kennen oder herausfinden muss (zum Beispiel mit Hilfe der Fourier-Analyse eines hochfrequent abgetasteten Signals) und dass dann das Signal (z. B. zum Zwecke der Digitalisierung) mit mehr als der doppelten Frequenz abgetastet werden muss, wenn man das Signal in guter Näherung rekonstruieren will.
Das Nyquist-Shannon Abtasttheorem findet bei jeder Digitalisierung Anwendung. nennt man, nach Vorschlag von C. E. Shannon, die Nyquist-Frequenz.
Analog gilt das Abtasttheorem auch bei Bildern, wobei die Abtastfrequenz dann in Linien (bzw. Pixel) pro Längeneinheit bestimmt werden kann.
Erklärung der Begriffe
- Ein bandbeschränktes Signal x mit einer maximalen Frequenz F:=fmax ist eine Funktion, für welche die Fouriertransformierte existiert und diese Fouriertransformierte außerhalb des Intervalls Null ist. Dann kann umgekehrt das bandbeschränkte Signal durch die inverse Fouriertransformation der Frequenzdichte dargestellt werden:
::.
:„Gute“, zulässige Funktionen für die Frequenzdichte X sind beispielsweise stückweise stetige Funktionen, für welche in jedem Punkt beide der einseitigen Grenzwerte existieren. Allgemeiner sind Funktionen aus dem Funktionenraum zulässig.
:Ist x reellwertig, so gilt . Wird X in Polarkoordinaten dargestellt, , so erhalten wir x mittels eines Integrals mit reellem Integranden,
::.
:In der arithmetischen Darstellung ergibt sich analog
::.
- Abtasten mit der doppelten Frequenz bedeutet hier, dass Funktionswerte in gleichmäßigen Abständen genommen werden, wobei ein einfacher Abstand T=1/(2F) beträgt, d.h. aus x wird die Zahlenfolge x[k]:=x(kT) konstruiert. Nach der Fourierdarstellung ergeben sich diese Werte aus der Frequenzdichte als
::.
:Diese sind aber gerade die Koeffizienten in der Fourierreihenentwicklung
::
:Somit ist die Frequenzdichte und damit das Signal schon durch die Werte der Abtastfolge vollständig determiniert.
- Rekonstruieren ohne Informationsverlust meint, dass die Lagrange-Interpolation, ausgeweitet auf den Fall mit unendlich vielen, regelmäßig angeordneten Stützstellen, wieder das Ausgangssignal ergibt
::.
:Man beachte, das zur Bestimmung eines jeden Signalwertes eine Summation über einen unendlichen Bereich notwendig ist. Außerdem müssen unendlich viele Takte abgewartet werden, bevor die Summation abgeschlossen werden kann.
:Die Funktion sinc(x)=sin(πx)/(πx), der Sinus cardinalis, ist dabei der ideale Interpolationskern für ganzzahlige Stützstellen, es ist sinc(0)=1, sinc(n)=0 für jedes weiter ganzzahlige n. Die interpolierende Reihe wird auch, nach Whittakers Notation, als Kardinalreihe bezeichnet, dabei bezieht sich die Vorsilbe kardinal auf die herausragende Rolle als „schwankungsärmste“ unter allen interpolierenden Funktionenreihen. Die sinc-Funktion hat, bis auf einen Faktor, die Rechteck-Funktion rect(x/(2π)) als Fourier-Transformierte, diese hat den Wert 1 auf dem Intervall [-π; π], sonst den Wert Null. Sie ist also bandbeschränkt mit höchster Frequenz 1/2.
:Die Entwicklung als Kardinalreihe ergibt sich nun ganz natürlich, indem die Fourierreihe der Frequenzdichte in die inverser Fouriertransformation eingesetzt wird,
::
- Ein reelles Nicht-Basisband-Signal muss, um Abtastung durch Funktionswerte zu erlauben, eine nur für Frequenzen aus dem Intervall [2πnF,2π(n+1)F] nicht verschwindende Fourier-Transformierte haben. Dann ist F die einseitige Bandbreite. Dies kann auf Frequenzbänder beliebigen Zuschnitts verallgemeinert werden, allerdings ist dann das Abtasten nicht durch Funktionswerte, sondern durch Skalarprodukte zu definieren. Ein Beispiel dafür ist das Frequenzmultiplexverfahren, s. auch OFDM.
Bemerkung: Kein endliches Signal, d.h. keine Funktion mit einem endlichen Träger erfüllt die Voraussetzungen an eine bandbeschränkte Funktion. Ebensowenig fallen periodische Signale, wie z.B. reine Sinusschwingungen, in den Bereich dieses Theorems; genausowenig Signale mit Knicken oder Sprüngen. Es ist somit als ideale Aussage in einer idealen Situation zu betrachten. Dem Ideal am nächsten kommen modulierte Schwingungen, wie Musik- oder Sprachaufzeichnungen, welche zum Speichern auf CD gesampelt und digitalisiert werden sollen. Für andere praktische Zwecke, z.B. digitale Bildbearbeitung, müssen Varianten des Abtasttheorems mit nicht ganz so starken Anforderungen gefunden werden, für welche dieses Theorem dann Richtschnur ist. (Siehe [Unser: Sampling...])
Tiefpass zur Verhinderung von Signalstörungen
Eventuell enthaltene Signalanteile mit einer Frequenz größer der halben Abtastfrequenz müssen vor der Abtastung mit einem (analogen) Tiefpass-Filter aus dem Signal entfernt werden, da es sonst zu Artefakten kommt.
Die Entfernung dieser Anteile führt zu einer Veränderung des Signals und sollte nur angewendet werden, wenn diese Änderung unwesentlich ist oder eine Erhöhung der Abtastfrequenz nicht in Frage kommt.
Die Artefakte sind Alias-Signale (Störsignale, Pseudosignale), die sich als störende Frequenzanteile bemerkbar machen. Wird zum Beispiel ein Sinussignal, das eine Frequenz von 1600 Hz hat, mit einer Abtastfrequenz von 2000 Hz digitalisiert, erhält man ein 400 Hz Alias-Signal (2000-1600 Hz). Bei einer Abtastfrequenz über 3200 Hz entsteht dagegen kein Alias-Signal. Eine Abtastfrequenz von zum Beispiel 3300 Hz führt zu einem Differenzsignal von 1700 Hz (3300-1600 Hz). Da dieses oberhalb des zu übertragenen Frequenzbandes liegt, kann man es mit einem Tiefpass ohne Informationsverlust entfernen.
Mathematischer Hintergrund
Zu mathematischen Grundlagen siehe: Lebesgue-Integral, Lebesgue-Raum, Fourier-Transformation
Durch Skalieren der Zeitabhängigkeit kann jedes bandbeschränkte Signal x(t) auf den Frequenzbereich [-½; ½], bzw. [-π; π] als Kreisfrequenzbereich, reduziert werden. Die Frequenzdichte g(f) muss eine Funktion beschränkter Variation sein, wie es z.B. stückweise stetige Funktionen sind. Dann ist x(t) eine stetige, beliebig oft differenzierbare, absolut- und quadratintegrable Funktion,
, und hat eine Fourier-Transformierte mit Träger .
Der Funktionswert x(t) an jedem beliebigen Punkt t ist unter diesen Voraussetzungen schon allein durch die Funktionswerte x(n) an allen ganzzahligen Punkten t=n festgelegt, es gilt:
:.
Diese Gleichung enthält zwei nichttriviale Aussagen: 1) Die unendliche Reihe konvergiert, und 2) der Grenzwert ist immer identisch mit dem Funktionswert x(t).
Artefakte
Wird die Abtastfrequenz unbedacht zu klein gewählt, treten Artefakte auf.
Beispiel Bilder
Alias-Signale treten auch beim Scannen von Vorlagen mit wechselnden Ortsfrequenzen auf, man spricht dann von einem Moiré-Effekt. (z.B. Kleidungsstücke wie Wollpullis oder Anzüge mit dünnen Streifen, auch Ziegeldächer etc.) Oft sind Moirés auch im Fernsehen zu sehen, wenn Moderatoren Nadelstreifenanzüge tragen.
Im hier vorliegenden Fall ist die Ursache eine Überlagerung der Spektren der Abtast-Funktion, deren Ausgangssignale mit fabtast periodisch sind.
Beispiel Töne
Das erste Klangbeispiel lässt einen Ton erklingen, dessen Frequenz von ca. 100Hz bis über 8000Hz linear zunimmt (die Original-Abtastfrequenz von 16kHz wurde bei der Transformation in das Ogg-Vorbis Format auf 42kHz heraufgesetzt). Das zweite Beispiel gibt fast das gleiche Signal wieder, diesesmal mit 8000Hz abgetastet. Durch Unterabtastung werden Töne oberhalb von 4000Hz falsch ausgelesen mit dem Ergebnis, dass eine Tonhöhe aufgezeichnet wird, die abfällt, statt zu steigen.
- Linear ansteigender Ton (16kHz Abtastung)
- Linear ansteigender Ton (8kHz Abtastung)
Modifizierte Formel für praktische Anwendung
In der Praxis gibt es (prinzipiell aus Gründen der Kausalität) keinen idealen Tiefpass. Er hat immer einen gewissen Übergangsbereich zwischen praktisch keiner Dämpfung im Durchlassbereich und praktisch vollständiger Dämpfung im Sperrbereich. Daher verwendet man in der Praxis eine modifizierte Formel:
Beispiel:
:
Bei einer CD werden Frequenzen bis 20 kHz übertragen, die Abtastfrequenz beträgt 44,1 kHz.
Der verwendete Faktor ist abhängig vom verwendeten Tiefpassfilter und von der benötigten Dämpfung der Alias-Signale. Andere gebräuchliche Faktoren sind 2,4 (DAT, DVD) und 2,56 (FFT-Analysatoren)
Wenn man eine höhere Abtastfrequenz wählt, erhält man keine zusätzlichen Informationen. Der Aufwand für Verarbeitung, Speicherung und Übertragung steigt jedoch. Trotzdem wird Oversampling häufig angewendet.
Liegt nämlich die Nutzbandbreite B sehr nahe bei der halben Abtastfrequenz, so werden sehr hohe Anforderungen an die Flankensteilheit des Tiefpassfilters gestellt. Diese analogen Filter können häufig nur mit großem Aufwand abgeglichen werden.
Oversampling erlaubt es, die Anforderungen an das analoge Tiefpassfilter drastisch zu reduzieren, indem die steilflankige Bandbegrenzung auf ein präzises Digitalfilter hoher Ordnung verlagert wird. (In der Praxis wird häufig ein Oversampling-Faktor M = 2 oder M = 4 gewählt).
Somit braucht man weniger steile analoge Filter vor dem Abtasten. Nach der Abtastung wird dann das digitale Filter angewendet und gleichzeitig die Abtastfrequenz reduziert. Das digitale Filter wird auch als Dezimationsfilter bezeichnet.
Mathematisch ausgedrückt hat ein ideales Tiefpassfilter eine Rechteckfunktion als Frequenzantwort (Übertragungsfunktion oder Frequenzgang), welche nur die Werte 0 und 1 annimmt und den Bereich [-B,B] der Nutzbandbreite markiert.
+---+
| |
----+ +----
-B B
Schneidet man mit einer solchen Filterfunktion im Frequenzraum ab, so wird das gefilterte Signal perfekt aus den Abtastpunkten rekonstruiert. Aus prinzipiellen Gründen (Kausalität und Unstetigkeit) ist ein solches ideales Tiefpassfilter physikalisch nicht zu realisieren.
Deswegen verwendet man ein analoges Filter, das eine stetige, trapezähnliche Funktion als Frequenzantwort bzw. Frequenzgang aufweist,
+---+
/ \
____/ \____
-MB -B B MB
deren Flanken mit endlicher Steigung zu- bzw. abnehmen. Auf dem Intervall der Nutzbandbreite [-B,B] nimmt diese den Wert 1 an, außerhalb des Intervalls [-MB,MB] ist die Fequenzantwort 0. Ein Filter, das diese Anforderungen erfüllt, kann physikalisch realisiert werden. Nach dem Abtasten erfolgt die digitale Glättung auf die Nutzbandbreite und das Heruntertakten. Die Flankensteilheit hat offensichtlich einen Einfluss auf die Güte des rekonstruierten Signals.
Unterabtastung (Sub-Nyquist-Sampling)
Das Konzept fabtast > 2 · fmax ist eine vereinfachte Darstellung, die allerdings sehr gebräuchlich und nützlich ist. Genau genommen muss anstelle von fmax die Bandbreite stehen, welche definiert ist durch den Bereich zwischen niedrigster und höchster im Signal vorkommenden Frequenz. Nur in Basisbandsignalen ist die Bandbreite mit fmax identisch, Basisbandsignale sind Signale mit niederfrequenten Anteilen in der Nähe von 0 Hz.
Diese Erkenntnis führte zu einem Konzept namens Unterabtastung, welches z. B. in digitaler Radiotechnik Verwendung findet. Angenommen, man möchte alle Radiosender empfangen, die zwischen 88 und 108 MHz senden. Interpretiert man das Abtasttheorem wie bisher beschrieben, so müsste die Abtastfrequenz über 216 MHz liegen. Tatsächlich wird aber durch die Technik der Unterabtastung nur eine Abtastfrequenz von etwas mehr als 40 MHz benötigt. Voraussetzung dafür ist, dass vor der Abtastung aus dem Signal mittels Bandpassfilter alle Frequenzen außerhalb des Frequenzbereichs von 88–108 MHz entfernt werden. Die Abtastung erfolgt beispielsweise mit 44 MHz, ohne dass der relevante Bereich von einem analogen Mischer umgesetzt würde – das Ergebnis ist quasi ein Alias-Signal und entspricht dem Signal, das bei Abtastung eines per Mischer auf 0–22 MHz umgesetzten Bereichs entstünde.
Um die notwendige punktförmige Abtastung wenigstens näherungsweise realisieren zu können, muss das Ausleseintervall jedoch so eng angelegt werden, dass insgesamt eine Abtastfrequenz von 220 MHz oder mehr erreicht wird. Nur kann die digitale Nachfilterung hier auf das Weglassen der vier Zwischenwerte und Beibehalten jeden 5. Wertes beschränkt werden.
Siehe auch
Informationstheorie, Claude Shannon, Abtastung, Alias-Effekt
Literatur
- [1] Claude Elwood Shannon: [http://www.stanford.edu/class/ee104/shannonpaper.pdf Communication in the Presence of Noise]
- [2] J. M. Whittaker: The Fourier theory of the cardinal functions, Proc. Edinburgh Math. Soc. 1(1929)
- [3] V. A. Kotelnikow: On the transmission capacity of "ether" and wire in electrocommunications, Izd. Red. Upr. Svyazzi RKKA (1933)
- Harry Nyquist: Certain topics in telegraph transmission theory,Trans. Amer. Inst. Elect. Eng. 47(1928)
- J. R. Higgins: Five short stories about the cardinal series, Bulletin of the AMS 12(1985)
- Michael Unser: [http://bigwww.epfl.ch/publications/unser0001.html Sampling-50 Years after Shannon]
- Artikel "Signalabtastung" in Funkamateur 5/2004, S. 457
Kategorie:NachrichtentechnikKategorie:Digitale Signalverarbeitung
ja:標本化定理
Digitalisierung
Der folgende Artikel befasst sich mit der Digitalisierung in der Datenverarbeitung. In der Medizin hat der Begriff die Bedeutung im Sinne von "Verabreichung eines Fingerhut-Präparats". Zu den technischen Anwendungen des Digitalisierens zur Erfassung physischer Objekte sind Informationen unter Reverse Engineering (Digitalisieren) zu finden
----
Der Begriff der Digitalisierung wird heute vielschichtig verwendet:
- Zum Einen ist Digitalisierung die Umwandlung (Codierung) von Information wie Schrift, Bild, Ton in digitale (schrittweise, ziffernmäßige) Form. Im Allgemeinen wird die Information dabei in einen Binärcode umgewandelt (z.B. Scanner).
- Zweitens wird der Begriff der Digitalisierung für die Umwandlung eines analogen Signals in ein digitales Signal verwendet (z.B. A/D-Wandler).
- Drittens wird auch der Übergang von Analog- zu Digital-Elektronik in allen Lebensbereichen als Digitalisierung bezeichnet (z.B. »Neue Medien«).
Dieser Artikel beschäftigt sich mit der Digitalisierung im Sinne des ersten und zweiten Punktes.
Gründe für die Digitalisierung
Durch Wandlung von Informationen bzw. Signalen in digitale Form können diese einfacher und exakter bearbeitet und transportiert werden. Auch bei langen Transportwegen und nach vielfacher Bearbeitung sind Fehler und Verfälschungen (z.B. Rauschüberlagerungen) im Vergleich zur analogen Verarbeitung gering.
Historische Entwicklung
Der Begriff der Digitalisierung ist ein historisch gewachsener Begriff und lässt sich deshalb heute nur schwer in eine einfache und klare Definition bringen. Die historische Entwicklung macht deutlich, weshalb es zur Digitalisierung kam.
Eine historisch frühe Digitalisierung war das Morsen (ab 1837). Text wurde in Morsecode gewandelt, übertragen, und wieder zurück in Text verwandelt. Dies funktionierte auch bei technisch ungünstigen Bedingungen per Lichtsignal und Tonsignal (Funktechnik, Telefon, Telegraphie). Später folgten Fernschreiber (u. a. unter Verwendung des Baudot-Codes), Telefax, E-Mail. Der Computer heute verarbeitet Information fast ausschließlich in digitaler Form.
Umwandlung einer Information in digitale Form
Digitalisierung von Text
Eine mögliche Form der Digitalisierung von Text ist z.B. der sehr verbreitete ASCII-Code, bei dem jeder lateinische Buchstabe durch eine Folge von sieben Zahlen ausgedrückt, wobei die Zahlen nur den Wert 0 und 1 annehmen dürfen. Z. B. wird für den Großbuchstaben »A« die Folge 1000001 geschrieben.
Digitalisierung von Bildern
Um ein Bild zu digitalisieren, wird das Bild zuerst in Zeilen und Spalten (Matrix) zerlegt. Bei einer sehr einfachen Rastergrafik (nur schwarze oder weiße Bildpunkte, keine Grautöne) nimmt dann der Wert für einen Pixel (Element dieser Matrix), z. B. 0 für weiß und 1 für schwarz, an. Die Matrix wird zeilenweise ausgelesen, wodurch man eine Zahlenfolge aus den Zahlen 0 und 1 erhält, welche das Bild repräsentiert. Um ein Farbbild darzustellen, kann man jedem Pixel z. B. eine 16stellige oder 32stellige Zahlenfolge aus 0 und 1 zuordnen (siehe die Farbmodelle: RGB, CMYK).
Digitalisierung von Ton
siehe Wandlung von analogem Signal zu digitalem Signal
Umwandlung analoger Signale in digitale Signale
Diese Art der Umwandlung spielt ein Rolle bei der Informationsverarbeitung in der digitalen Elektronik.
Im engeren Sinn liegt der Unterschied zwischen analoger und digitaler Darstellung im Wertebereich. Die Digitalisierung besteht dann nur aus der Quantisierung, welche den ursprünglich kontinuierlichen Wertebereich (z.B. eine beliebige Spannung zwischen 0 und 10 V) auf einer diskreten Menge (z.B. Zahlen zwischen 0 und 255) abbildet.
Bei der Digitalisierung von analogen Signalen – also von zeitabhängigen Werten – wird gleichzeitig mit der Quantisierung immer eine Abtastung vorgenommen. Dadurch entsteht ein wert- und zeitdiskretes Signal. Die technische Umsetzung erfolgt in vielen Fällen mit Analog-Digital-Wandlern. Auflösung und Abtastrate bestimmen (unter anderem), mit welcher Genauigkeit das analoge Signals digital dargestellt wird.
Die digitale Signalverarbeitung befasst sich mit dem Digitalisieren, digitalen Verarbeiten und anschliessendem »Zurückwandeln« von Analogsignalen. Eine Anwendung ist z.B. die Musikbearbeitung (Digitalisierung von Audiosignalen).
Siehe auch:
binär, Medientheorie, Digitales Fernsehen, Retrodigitalisierung, Digitales Vergessen
Kategorie:Technik
Kategorie:Hardware
!
Nyquist-Shannon-AbtasttheoremDas Nyquist-Shannonsche Abtasttheorem, in neuerer Literatur auch WKS-Sampling-Theorem (für Whittaker-Kotelnikow-Shannon) genannt, ist ein grundlegendes Theorem der Nachrichtentechnik, Signalverarbeitung und Informationstheorie. Claude Elwood Shannon formulierte es 1948 als Ausgangspunkt seiner Theorie der maximalen Kanalkapazität, d.h. der maximalen Bitrate in einem frequenzbeschränkten, rauschbelasteten Übertragungskanal. Dabei stützte er sich auf Überlegungen von Harry Nyquist (1928) zur Übertragung endlicher Zahlenfolgen mittels trigonometrischer Polynome und auf die Theorie der Kardinalfunktionen von Edmund Taylor Whittaker (1915) und seinem Sohn John Macnaughten Whittaker (1929) [2]. Unabhängig davon wurde das Abtasttheorem 1933 von Wladimir Alexandrowitsch Kotelnikow [3] in der sowjetischen Literatur eingeführt, was im Westen allerdings erst in den 1950er Jahren bekannt wurde. Ansätze zur Interpolation mittels Kardinalreihen oder ähnlicher Formeln lassen sich bis in die Mitte des 19. Jahrhunderts zurückverfolgen.
Das Abtasttheorem besagt, dass ein kontinuierliches, bandbegrenztes Signal mit einer Minimalfrequenz von 0 Hz und einer Maximalfrequenz fmax mit einer Frequenz größer als 2 · fmax abgetastet werden muss, damit man aus dem so erhaltenen zeitdiskreten Signal das Ursprungssignal ohne Informationsverlust (aber mit unendlich großem Aufwand) rekonstruieren bzw. (mit endlichem Aufwand) beliebig genau approximieren kann.
Für Nicht-Basisband-Signale, die eine minimale Frequenz größer 0Hz haben, gilt das Abtasttheorem in einer verallgemeinerten Form, die Abtastfrequenz muss dann größer als zweimal die Bandbreite (= zweimal die Grenzfrequenz) des Signals sein (siehe Abschnitt Unterabtastung).
Für untere Grenzfrequenz gleich 0:
:
und allgemein (auch für untere Grenzfrequenz größer als 0):
:
In der Praxis bedeutet das Abtasttheorem, dass man vor der Abtastung die maximale Frequenz kennen oder herausfinden muss (zum Beispiel mit Hilfe der Fourier-Analyse eines hochfrequent abgetasteten Signals) und dass dann das Signal (z. B. zum Zwecke der Digitalisierung) mit mehr als der doppelten Frequenz abgetastet werden muss, wenn man das Signal in guter Näherung rekonstruieren will.
Das Nyquist-Shannon Abtasttheorem findet bei jeder Digitalisierung Anwendung. nennt man, nach Vorschlag von C. E. Shannon, die Nyquist-Frequenz.
Analog gilt das Abtasttheorem auch bei Bildern, wobei die Abtastfrequenz dann in Linien (bzw. Pixel) pro Längeneinheit bestimmt werden kann.
Erklärung der Begriffe
- Ein bandbeschränktes Signal x mit einer maximalen Frequenz F:=fmax ist eine Funktion, für welche die Fouriertransformierte existiert und diese Fouriertransformierte außerhalb des Intervalls Null ist. Dann kann umgekehrt das bandbeschränkte Signal durch die inverse Fouriertransformation der Frequenzdichte dargestellt werden:
::.
:„Gute“, zulässige Funktionen für die Frequenzdichte X sind beispielsweise stückweise stetige Funktionen, für welche in jedem Punkt beide der einseitigen Grenzwerte existieren. Allgemeiner sind Funktionen aus dem Funktionenraum zulässig.
:Ist x reellwertig, so gilt . Wird X in Polarkoordinaten dargestellt, , so erhalten wir x mittels eines Integrals mit reellem Integranden,
::.
:In der arithmetischen Darstellung ergibt sich analog
::.
- Abtasten mit der doppelten Frequenz bedeutet hier, dass Funktionswerte in gleichmäßigen Abständen genommen werden, wobei ein einfacher Abstand T=1/(2F) beträgt, d.h. aus x wird die Zahlenfolge x[k]:=x(kT) konstruiert. Nach der Fourierdarstellung ergeben sich diese Werte aus der Frequenzdichte als
::.
:Diese sind aber gerade die Koeffizienten in der Fourierreihenentwicklung
::
:Somit ist die Frequenzdichte und damit das Signal schon durch die Werte der Abtastfolge vollständig determiniert.
- Rekonstruieren ohne Informationsverlust meint, dass die Lagrange-Interpolation, ausgeweitet auf den Fall mit unendlich vielen, regelmäßig angeordneten Stützstellen, wieder das Ausgangssignal ergibt
::.
:Man beachte, das zur Bestimmung eines jeden Signalwertes eine Summation über einen unendlichen Bereich notwendig ist. Außerdem müssen unendlich viele Takte abgewartet werden, bevor die Summation abgeschlossen werden kann.
:Die Funktion sinc(x)=sin(πx)/(πx), der Sinus cardinalis, ist dabei der ideale Interpolationskern für ganzzahlige Stützstellen, es ist sinc(0)=1, sinc(n)=0 für jedes weiter ganzzahlige n. Die interpolierende Reihe wird auch, nach Whittakers Notation, als Kardinalreihe bezeichnet, dabei bezieht sich die Vorsilbe kardinal auf die herausragende Rolle als „schwankungsärmste“ unter allen interpolierenden Funktionenreihen. Die sinc-Funktion hat, bis auf einen Faktor, die Rechteck-Funktion rect(x/(2π)) als Fourier-Transformierte, diese hat den Wert 1 auf dem Intervall [-π; π], sonst den Wert Null. Sie ist also bandbeschränkt mit höchster Frequenz 1/2.
:Die Entwicklung als Kardinalreihe ergibt sich nun ganz natürlich, indem die Fourierreihe der Frequenzdichte in die inverser Fouriertransformation eingesetzt wird,
::
- Ein reelles Nicht-Basisband-Signal muss, um Abtastung durch Funktionswerte zu erlauben, eine nur für Frequenzen aus dem Intervall [2πnF,2π(n+1)F] nicht verschwindende Fourier-Transformierte haben. Dann ist F die einseitige Bandbreite. Dies kann auf Frequenzbänder beliebigen Zuschnitts verallgemeinert werden, allerdings ist dann das Abtasten nicht durch Funktionswerte, sondern durch Skalarprodukte zu definieren. Ein Beispiel dafür ist das Frequenzmultiplexverfahren, s. auch OFDM.
Bemerkung: Kein endliches Signal, d.h. keine Funktion mit einem endlichen Träger erfüllt die Voraussetzungen an eine bandbeschränkte Funktion. Ebensowenig fallen periodische Signale, wie z.B. reine Sinusschwingungen, in den Bereich dieses Theorems; genausowenig Signale mit Knicken oder Sprüngen. Es ist somit als ideale Aussage in einer idealen Situation zu betrachten. Dem Ideal am nächsten kommen modulierte Schwingungen, wie Musik- oder Sprachaufzeichnungen, welche zum Speichern auf CD gesampelt und digitalisiert werden sollen. Für andere praktische Zwecke, z.B. digitale Bildbearbeitung, müssen Varianten des Abtasttheorems mit nicht ganz so starken Anforderungen gefunden werden, für welche dieses Theorem dann Richtschnur ist. (Siehe [Unser: Sampling...])
Tiefpass zur Verhinderung von Signalstörungen
Eventuell enthaltene Signalanteile mit einer Frequenz größer der halben Abtastfrequenz müssen vor der Abtastung mit einem (analogen) Tiefpass-Filter aus dem Signal entfernt werden, da es sonst zu Artefakten kommt.
Die Entfernung dieser Anteile führt zu einer Veränderung des Signals und sollte nur angewendet werden, wenn diese Änderung unwesentlich ist oder eine Erhöhung der Abtastfrequenz nicht in Frage kommt.
Die Artefakte sind Alias-Signale (Störsignale, Pseudosignale), die sich als störende Frequenzanteile bemerkbar machen. Wird zum Beispiel ein Sinussignal, das eine Frequenz von 1600 Hz hat, mit einer Abtastfrequenz von 2000 Hz digitalisiert, erhält man ein 400 Hz Alias-Signal (2000-1600 Hz). Bei einer Abtastfrequenz über 3200 Hz entsteht dagegen kein Alias-Signal. Eine Abtastfrequenz von zum Beispiel 3300 Hz führt zu einem Differenzsignal von 1700 Hz (3300-1600 Hz). Da dieses oberhalb des zu übertragenen Frequenzbandes liegt, kann man es mit einem Tiefpass ohne Informationsverlust entfernen.
Mathematischer Hintergrund
Zu mathematischen Grundlagen siehe: Lebesgue-Integral, Lebesgue-Raum, Fourier-Transformation
Durch Skalieren der Zeitabhängigkeit kann jedes bandbeschränkte Signal x(t) auf den Frequenzbereich [-½; ½], bzw. [-π; π] als Kreisfrequenzbereich, reduziert werden. Die Frequenzdichte g(f) muss eine Funktion beschränkter Variation sein, wie es z.B. stückweise stetige Funktionen sind. Dann ist x(t) eine stetige, beliebig oft differenzierbare, absolut- und quadratintegrable Funktion,
, und hat eine Fourier-Transformierte mit Träger .
Der Funktionswert x(t) an jedem beliebigen Punkt t ist unter diesen Voraussetzungen schon allein durch die Funktionswerte x(n) an allen ganzzahligen Punkten t=n festgelegt, es gilt:
:.
Diese Gleichung enthält zwei nichttriviale Aussagen: 1) Die unendliche Reihe konvergiert, und 2) der Grenzwert ist immer identisch mit dem Funktionswert x(t).
Artefakte
Wird die Abtastfrequenz unbedacht zu klein gewählt, treten Artefakte auf.
Beispiel Bilder
Alias-Signale treten auch beim Scannen von Vorlagen mit wechselnden Ortsfrequenzen auf, man spricht dann von einem Moiré-Effekt. (z.B. Kleidungsstücke wie Wollpullis oder Anzüge mit dünnen Streifen, auch Ziegeldächer etc.) Oft sind Moirés auch im Fernsehen zu sehen, wenn Moderatoren Nadelstreifenanzüge tragen.
Im hier vorliegenden Fall ist die Ursache eine Überlagerung der Spektren der Abtast-Funktion, deren Ausgangssignale mit fabtast periodisch sind.
Beispiel Töne
Das erste Klangbeispiel lässt einen Ton erklingen, dessen Frequenz von ca. 100Hz bis über 8000Hz linear zunimmt (die Original-Abtastfrequenz von 16kHz wurde bei der Transformation in das Ogg-Vorbis Format auf 42kHz heraufgesetzt). Das zweite Beispiel gibt fast das gleiche Signal wieder, diesesmal mit 8000Hz abgetastet. Durch Unterabtastung werden Töne oberhalb von 4000Hz falsch ausgelesen mit dem Ergebnis, dass eine Tonhöhe aufgezeichnet wird, die abfällt, statt zu steigen.
- Linear ansteigender Ton (16kHz Abtastung)
- Linear ansteigender Ton (8kHz Abtastung)
Modifizierte Formel für praktische Anwendung
In der Praxis gibt es (prinzipiell aus Gründen der Kausalität) keinen idealen Tiefpass. Er hat immer einen gewissen Übergangsbereich zwischen praktisch keiner Dämpfung im Durchlassbereich und praktisch vollständiger Dämpfung im Sperrbereich. Daher verwendet man in der Praxis eine modifizierte Formel:
Beispiel:
:
Bei einer CD werden Frequenzen bis 20 kHz übertragen, die Abtastfrequenz beträgt 44,1 kHz.
Der verwendete Faktor ist abhängig vom verwendeten Tiefpassfilter und von der benötigten Dämpfung der Alias-Signale. Andere gebräuchliche Faktoren sind 2,4 (DAT, DVD) und 2,56 (FFT-Analysatoren)
Wenn man eine höhere Abtastfrequenz wählt, erhält man keine zusätzlichen Informationen. Der Aufwand für Verarbeitung, Speicherung und Übertragung steigt jedoch. Trotzdem wird Oversampling häufig angewendet.
Liegt nämlich die Nutzbandbreite B sehr nahe bei der halben Abtastfrequenz, so werden sehr hohe Anforderungen an die Flankensteilheit des Tiefpassfilters gestellt. Diese analogen Filter können häufig nur mit großem Aufwand abgeglichen werden.
Oversampling erlaubt es, die Anforderungen an das analoge Tiefpassfilter drastisch zu reduzieren, indem die steilflankige Bandbegrenzung auf ein präzises Digitalfilter hoher Ordnung verlagert wird. (In der Praxis wird häufig ein Oversampling-Faktor M = 2 oder M = 4 gewählt).
Somit braucht man weniger steile analoge Filter vor dem Abtasten. Nach der Abtastung wird dann das digitale Filter angewendet und gleichzeitig die Abtastfrequenz reduziert. Das digitale Filter wird auch als Dezimationsfilter bezeichnet.
Mathematisch ausgedrückt hat ein ideales Tiefpassfilter eine Rechteckfunktion als Frequenzantwort (Übertragungsfunktion oder Frequenzgang), welche nur die Werte 0 und 1 annimmt und den Bereich [-B,B] der Nutzbandbreite markiert.
+---+
| |
----+ +----
-B B
Schneidet man mit einer solchen Filterfunktion im Frequenzraum ab, so wird das gefilterte Signal perfekt aus den Abtastpunkten rekonstruiert. Aus prinzipiellen Gründen (Kausalität und Unstetigkeit) ist ein solches ideales Tiefpassfilter physikalisch nicht zu realisieren.
Deswegen verwendet man ein analoges Filter, das eine stetige, trapezähnliche Funktion als Frequenzantwort bzw. Frequenzgang aufweist,
+---+
/ \
____/ \____
-MB -B B MB
deren Flanken mit endlicher Steigung zu- bzw. abnehmen. Auf dem Intervall der Nutzbandbreite [-B,B] nimmt diese den Wert 1 an, außerhalb des Intervalls [-MB,MB] ist die Fequenzantwort 0. Ein Filter, das diese Anforderungen erfüllt, kann physikalisch realisiert werden. Nach dem Abtasten erfolgt die digitale Glättung auf die Nutzbandbreite und das Heruntertakten. Die Flankensteilheit hat offensichtlich einen Einfluss auf die Güte des rekonstruierten Signals.
Unterabtastung (Sub-Nyquist-Sampling)
Das Konzept fabtast > 2 · fmax ist eine vereinfachte Darstellung, die allerdings sehr gebräuchlich und nützlich ist. Genau genommen muss anstelle von fmax die Bandbreite stehen, welche definiert ist durch den Bereich zwischen niedrigster und höchster im Signal vorkommenden Frequenz. Nur in Basisbandsignalen ist die Bandbreite mit fmax identisch, Basisbandsignale sind Signale mit niederfrequenten Anteilen in der Nähe von 0 Hz.
Diese Erkenntnis führte zu einem Konzept namens Unterabtastung, welches z. B. in digitaler Radiotechnik Verwendung findet. Angenommen, man möchte alle Radiosender empfangen, die zwischen 88 und 108 MHz senden. Interpretiert man das Abtasttheorem wie bisher beschrieben, so müsste die Abtastfrequenz über 216 MHz liegen. Tatsächlich wird aber durch die Technik der Unterabtastung nur eine Abtastfrequenz von etwas mehr als 40 MHz benötigt. Voraussetzung dafür ist, dass vor der Abtastung aus dem Signal mittels Bandpassfilter alle Frequenzen außerhalb des Frequenzbereichs von 88–108 MHz entfernt werden. Die Abtastung erfolgt beispielsweise mit 44 MHz, ohne dass der relevante Bereich von einem analogen Mischer umgesetzt würde – das Ergebnis ist quasi ein Alias-Signal und entspricht dem Signal, das bei Abtastung eines per Mischer auf 0–22 MHz umgesetzten Bereichs entstünde.
Um die notwendige punktförmige Abtastung wenigstens näherungsweise realisieren zu können, muss das Ausleseintervall jedoch so eng angelegt werden, dass insgesamt eine Abtastfrequenz von 220 MHz oder mehr erreicht wird. Nur kann die digitale Nachfilterung hier auf das Weglassen der vier Zwischenwerte und Beibehalten jeden 5. Wertes beschränkt werden.
Siehe auch
Informationstheorie, Claude Shannon, Abtastung, Alias-Effekt
Literatur
- [1] Claude Elwood Shannon: [http://www.stanford.edu/class/ee104/shannonpaper.pdf Communication in the Presence of Noise]
- [2] J. M. Whittaker: The Fourier theory of the cardinal functions, Proc. Edinburgh Math. Soc. 1(1929)
- [3] V. A. Kotelnikow: On the transmission capacity of "ether" and wire in electrocommunications, Izd. Red. Upr. Svyazzi RKKA (1933)
- Harry Nyquist: Certain topics in telegraph transmission theory,Trans. Amer. Inst. Elect. Eng. 47(1928)
- J. R. Higgins: Five short stories about the cardinal series, Bulletin of the AMS 12(1985)
- Michael Unser: [http://bigwww.epfl.ch/publications/unser0001.html Sampling-50 Years after Shannon]
- Artikel "Signalabtastung" in Funkamateur 5/2004, S. 457
Kategorie:NachrichtentechnikKategorie:Digitale Signalverarbeitung
ja:標本化定理
Nyquist-FrequenzDie Nyquist-Frequenz, durch Claude Elwood Shannon benannt nach Harry Nyquist, ist die halbe Abtastfrequenz.
Nach dem WKS-Abtasttheorem müssen in einem Signal alle Anteile kleinere Frequenzen als die Nyquist-Frequenz haben, damit das abgetastete Signal beliebig genau rekonstruiert werden kann. Das Abtasttheorem ist ein Gesetz, wonach die Taktfrequenz der punktweisen Probeentnahme aus dem Ursprungssignal mindestens doppelt so hoch sein muss, wie die höchste im Ursprungssignal enthaltende Frequenz fabtast>= 2 x fsignal.
Will man über einen, aus technischen oder behördlichen Gründen, frequenzbeschränkten Kanal Nachrichten übersenden in Form einer Folge reeller Zahlen, so ist die Anzahl von Zahlen pro Sekunde durch das Doppelte der Bandbreite beschränkt.
Beispiel
Aliasingeffekt (Unterabtastung)
Bild:Aliasingeffekt.jpg
Literatur
- John R. Higgins: Five short stories about the cardinal series, in: Bulletin of the American Mathematical Society 12 (1985)
- Karl D. Kammeyer: Nachrichtenübertragung, Teubner, Stuttgart, 2004, ISBN 3-519-26142-1
- Claude E. Shannon: [http://www.stanford.edu/class/ee104/shannonpaper.pdf Communication in the Presence of Noise]
Kategorie:Digitale Signalverarbeitung
TiefpassAls Tiefpass bezeichnet man Filter, die Signalanteile mit Frequenzen unterhalb der Grenzfrequenz annähernd ungeschwächt passieren lassen und Anteile hoher Frequenzen abschwächen. Gebräuchlich sind solche Filter in der Elektronik, können aber auch in anderen Bereichen, wie zum Beispiel Mechanik, Akustik oder Hydraulik vorkommen. Spannungsgesteuerte Tiefpassfilter spielen bei der Klangerzeugung in Synthesizern eine große Rolle.
Tiefpass-Filter werden auch anwendungsbezogen als Höhensperre, Höhenfilter, High Cut, Treble Cut oder auch als Rauschfilter bezeichnet. Diese Begriffe sind in der Tontechnik gebräuchlich; sie weisen direkter darauf hin, dass solch ein EQ-Filter die Höhen des Signals abschwächt.
Tiefpass 1. Ordnung
Signal
Ein einfacher (passiver) Tiefpass 1. Ordnung (RC-Glied) sieht folgendermaßen aus:
::Einfacher RC-Tiefpass (Tiefpass 1.Ordnung)
Von der Eingangsspannung Ue erscheint am Ausgang gemäß der Spannungsteilerformel nur der Anteil Ua:
:.
Unter der Grenzfrequenz fc (cutoff frequency) versteht man diejenige Frequenz, bei der
(d. h. Ua gegenüber Ue um 3 Dezibel abgeschwächt) ist. Da XC mit steigender Frequenz kleiner wird,
: mit ,
geht das Teilungsverhältnis mit sinkender Frequenz gegen 1, für Gleichspannung (Frequenz f = 0) wird .
Bei einer logarithmischen Darstellung (log(f)) würde die Dämpfung oberhalb der Grenzfrequenz um 20dB/Dekade) zunehmen.
Tiefpass 2. Ordnung
Einen verbesserten Tiefpass erhält man, indem man R durch eine Induktivität L ersetzt, da diese ihrerseits eine - und zwar zum Kondensator gegenläufige - Frequenzabhängigkeit besitzt. Dies nennt man Tiefpass 2.Ordnung:
: mit .
Damit fällt die Ausgangsspannung Ua oberhalb von fG schneller (mit 40dB/Dekade) ab, da nun nicht nur XC kleiner sondern zugleich XL größer wird.
:
Tiefpässe zweiter und höherer Ordnung werden heute üblicherweise durch Operationsverstärker-Schaltungen realisiert. Diese Filter werden als aktive Tiefpässe (bzw. aktive Filter) bezeichnet.
Tiefpass n-ter Ordnung
Durch das hintereinanderschalten von mehreren Tiefpässen, kann man dessen Ordnung erhöhen.
Zwei hintereinander geschaltete Tiefpässe 2. Ordnung bilden z. B. einen Tiefpass 4. Ordnung.
Die Dämpfung eines Tiefpasses n-ter Ordnung nimmt oberhalb der Grenzfrequenz mit n·20dB/Dekade zu.
Emphasis und Deemphasis
Bei der statischen Frequenzgangveränderung, der Emphasis und der Deemphasis wird anstatt der Grenzfrequenz üblicherweise die Zeitkonstante angegeben [http://www.sengpielaudio.com/Rechner-zeitkonstante.htm].
Siehe auch
- Filter
- Hochpass
- Bandpass
- Blindwiderstand von Kondensator und Spule
- Zeitkonstante und Grenzfrequenz
Weblinks
- [http://www.sengpielaudio.com/FilterMit6dBproOktave.pdf Filter mit 6 dB pro Oktave unter der Lupe - pdf]
Literatur
- Ulrich Tietze, Christoph Schenk, Eberhard Gamm, Halbleiter-Schaltungstechnik, Springer 2002, 12. Auflage, ISBN 3540428496
Kategorie:Elektronik
Moiré-EffektDer Moiré-Effekt (franz. moirer = moirieren) macht sich bei der Überlagerung von Rastern oder Linien durch die Entstehung neuer Linien bemerkbar. Zum Beispiel tritt er auf beim Scannen von Bildern mit periodischen Strukturen (karierte Hemden, Rasterbilder), wenn das Bild digital abgetastet wird, oder auch beim Siebdruck durch Überlagerung der Siebstruktur mit Strichmustern im Bild.
Werden zwei Liniengitter mit dem Gitterabstand a1 und a2 parallel
übereinander gelegt, beobachtet man eine Helligkeitsmodulation mit einem
Gitterabstand a3 von:
Diese Beziehung erinnert an die Entstehung niederfrequenter Schwebungen ν3, die bei nichtlinearer Überlagerung ähnlicher (Schall-)Frequenzen ν1 und ν2 entstehen: ν3 = ν2–ν1. Ersetzt man die Frequenz durch die Wellenlänge a über die Beziehung mit der konstanten (Schall-)Geschwindigkeit c: c=a - ν folgt unmittelbar der oben angegebene Moiré-Abstand.
Schwebung
Beispiel, siehe Abbildung rechts:
Der Gitterabstand des rechten unteren
Liniengitters beträgt a1=4 Pixel, des linken oberen Gitters a2= 0.95 - a1.
Dann beträgt der Abstand der Überlagerung a3= a1 - 0.95/0.05 = 76 Pixel.
Schwebung
Zwei Gitter mit der Gitterkonstante a weisen ein Moiré-Muster der Periode
a3 auf, wenn sie um den Winkel gegeneinander gedreht übereinander
gelegt werden:
Beispiel, siehe Abbildung rechts:
Der Gitterabstand a beträgt 4 Pixel, der Winkel , um den beide
Gitter verdreht
sind, 2 Grad. Dann beträgt der Abstand der Überlagerung:
a3= 4/(2 - sin(1)) = 114.5 Pixel.
Allgemein lautet die Beziehung für die Helligkeitsmodulation a3, wenn
zwei Gitter mit den Konstanten a1 und a2 übereinander gelegt und um den Winkel gedreht
werden:
Moiré-Muster treten auf, wenn periodische Strukturen mit Frequenzen
abgetastet werden, die niedriger sind als die doppelte Frequenz der
Strukturen (siehe Nyquist-Shannon-Abtasttheorem,
Alias-Effekt).
Alias-Effekt
Das Bild rechts zeigt Beispiele aus der Druckpraxis. Besteht die Möglichkeit, die Ausgabe-Vergrößerung am Bildschirm oder Ausdruck zu
ändern, lassen sich weitere Moiré-Muster beobachten.
Das Ursprungsbild ist als verkleinertes Halbtonbild eingefügt.
Das große Bild oben links entstand durch Rasterung eines gleichgroßen
Halbtonbildes. Wird das Rasterbild verkleinert, entstehen Moiré-
Linien, die das Bild überlagern. Das Bild oben rechts wurde um 1%
verkleinert, das Bild darunter um 20%. Im Vergleich dazu zeigt das Rasterbild
unten links, das aus einem um 20% verkleinerten Halbtonbild entstand,
keinerlei Störungen.
Alias-Effekt
Das Bild rechts zeigt eine elektronenmikroskopische Aufnahme von Graphit. Die Auflösung ist zu gering, um die senkrecht im Bild verlaufenden Basalebenen (0,3 nm Abstand) zu erkennen. Wohl aber sieht man dunkle horizontal verlaufende Banden, die aus einer Moiré-Überlagerung leicht verkippter Ebenen herrühren.
siehe auch: Rasterung, Rundungsfehler, Schwebung, Magic Stretch.
Weblinks
Kategorie:Optischer Effekt
Kategorie:Drucktechnik
Kategorie:Fototechnik
Kategorie:Fotopraxis
Kategorie:Fernsehtechnik
Kategorie:Bildfehler
ja:モアレ
Anti-Aliasing
Bei Antialiasing werden Signalanteile, die das Abtasttheorem verletzen, durch Oversampling mit anschließender Tiefpassfilterung gedämpft. Antialiasing wird eingesetzt bei:
- der Ausgabe von Text und Grafiken auf einem Computerbildschirm und
- der Digitalisierung von Analogsignalen (siehe Alias-Effekt).
Das Antialiasing bei der Ausgabe auf ein Rastermedium wie dem Bildschirm nennt man auch Treppeneffektglättung.
Häufig wird Antialiasing auch falsch als Oversampling bezeichnet. Tatsächlich sind zwei Schritte notwendig: Erzeugung von Datenmaterial in höherer Auflösung, und anschließende Reduktion, wobei die Lokalität der zusätzlich gemessenen oder berechneten Daten vernichtet wird. Diese beiden Schritte fasst man bei der Treppeneffektglättung auch unter dem Begriff Supersampling zusammen. Bei zweidimensionalen Grafiken werden jedoch meist spezielle Algorithmen verwendet, die die reduzierten Daten direkt berechnen und kein Supersampling erfordern.
Entstehung von Aliasing
Keine Wiedergabe, egal ob ein Monitor oder eine Druckmaschine, kann unendlich fein auflösen. Das kleinste darstellbar Element soll im folgenden "Pixel" genannt werden. Dieses Pixel steht für eine Fläche, und sollte sinnvollerweise die Mischfarbe aller Farben darstellen, die im Pixel vorkommen, wobei diese Farben anteilig ihres Vorkommens gewichtet werden. Dies erfordert jedoch einerseits sehr viel Rechenleistung und andererseits unabsehbar viel Speichplatz, da die Anzahl der Objekte, die im Pixel liegen, theoretisch unbegrenzt ist. Deshalb wird in der Regel nur diejenige Farbe ermittelt, die im Mittelpunkt des Pixels liegt. Alle anderen Informationen werden unterschlagen. Die darzustellende Szene wird unterabgetastet und es kommt zu Aliasing-Effekten, das heißt es werden nicht nur im Pixelraster nicht mehr darstellbaren Informationen weggelassen, sondern die dargestellten Informationen zusätzlich verfälscht. Mittels Antialiasing kann man die Verfälschung mildern, ohne dass das Pixelraster verfeinert werden muss.
Bei Schriften, wenn es nur "Druckfarbe" oder "Papier" gibt, ließe sich mit entsprechendem Aufwand immerhin feststellen, ob mindestens 50% Druckerfarbe im Pixel liegen, anstatt nur den Mittelpunkt zu untersuchen. Sofern man jedoch im Pixel immer nur eine einzelne Kante hat, und nicht etwa eine Spitze, die ins Pixel hereinragt, ist die Mittelpunkt-Abtastung immer korrekt: Man kann keine Fläche mit gerader Begrenzung so in die Pixelfläche (meist ein Quadrat) schieben, dass zwar mehr als die Hälfte Fläche bedeckt wurde, aber der Mittelpunkt noch frei wäre. Schriftfont-Antialiasing ist aber ohnehin eine Problemklasse für sich, da man zum Beispiel bemüht ist, die Strichstärke immer auf ganzzahlige Pixelgrößen zu bringen. Andernfalls leidet die Lesbarkeit erheblich. Gerade auf Monitoren ist auch die gamma-korrigierte Darstellung wichtig, um Schriftfont-Antialiasing zu gestalten.
Antialiasing bei Vektorgrafiken
Beim Antialiasing der Bildschirmausgabe wird der so genannte Treppeneffekt – eine Auswirkung vom Aliasing – beseitigt, der bei der Rasterung einer Vektorgrafik (Linie, Kreis, Schrift u. ä.) entsteht. Weiterhin wird so genanntes Line popping reduziert, welches bei bewegten Grafiken auftritt.
Beim Zeichnen einer Linie können nur horizontale und vertikale Linien problemlos gezeichnet werden, deren Strichstärke ein Vielfaches des Pixelabstands ist und deren Anfangs- und Endpunkt auf einem Pixel liegt. Ist eine Linie etwas schräg, so entstehen zwangsläufig Treppenstufen. Das gleiche widerfährt auch allen runden Formen und Schriften. Je gröber die Auflösung ist, desto deutlicher wird der Effekt.
Beim Antialiasing von Vektorgrafiken berücksichtigt man, welche Pixel von der Grafik wie stark überschnitten werden und gibt ihnen einen entsprechend gewichteten Farbwert. Dabei werden die Pixel üblicherweise als Quadrate betrachtet. Je mehr von der Pixelfläche durch die Grafik abgedeckt wird, desto mehr wird der Pixel mit deren Farbe eingefärbt. Oft werden spezielle Filter angewandt, bei denen die Grafik auch Einfluss auf umliegende Pixel hat.
Antialiasing bei 3D-Grafikkarten
Bei den von 3D-Beschleunigern erzeugten 3D-Grafiken kann Antialiasing nicht nur, wie bei zweidimensionalen Grafiken, von der Software, sondern auch von der Grafikkarte durchgeführt werden. Es wird häufig AA abgekürzt.
Zunächst unterstützten nur sehr hochwertige und teure Grafikkarten diese Technik in Grafikschnittstellen wie OpenGL. Doch mit der Einführung des Desktopgrafikchips VSA 100 von 3dfx, verwendet in den Grafikkarten Voodoo 4 4500, Voodoo 5 5500 und der nie offiziell erschienenen Voodoo 5 6000, wurde diese Eigenschaft auch für den normalen Anwender verfügbar. Folgende Techniken des Antialiasing kommen dabei zur Anwendung:
; „Supersampling“ (SSAA): Dabei wird das Bild in einer höheren Auflösung berechnet und dann heruntergerechnet, womit Farbmittelwerte entstehen. Beispielsweise wird bei 4-fachem AA das Bild in der Auflösung 800×600 angezeigt, aber in der 4-fachen Auflösung von 1600×1200 berechnet und dann auf 800×600 heruntergerechnet. Dadurch werden also indirekt 4 Samples pro Pixel berechnet; man nennt das auch 2×2 Supersampling. Der Vorteil dieser Technik ist, dass zumindest Ordered Grid Supersampling (siehe unten) nur per Treiber, also eigentlich mit jeder 3D-Grafikkarte, realisierbar ist. Außerdem werden nicht nur die Kanten geglättet, sondern auch die Texturen. Dies ist möglich, da der Filter von Grafikkarten nicht perfekt ist. Allerdings kann der anisotrope Filter bei neueren Grafikkarten aktiviert werden, der ein viel besseres Bild als der sonst übliche trilineare oder gar bilineare Filter bietet, obwohl auch dieser Filter nicht ganz perfekt ist. Der Nachteil dieser Methode ist, dass sie sehr viel Leistung verbraucht. Obgleich alle Antialiasing-Techniken der 3D-Beschleuniger Supersampling verwenden, wird diese Bezeichnung von den Herstellern nur speziell für diese Variante verwendet.
; Multisampling (MSAA): Bei dieser Technik wird nur an den Kanten, nicht in den Texturen Supersampling durchgeführt. Multisampling wird nicht von allen Grafikkarten unterstützt.
; Fragment Antialiasing (FAA): ist eine dem Multisampling verwandte Technik. Sie kostet sehr wenig Leistung, muss aber auch durch die Hardware unterstützt werden.
; Ordered Grid- und Rotated Grid-Antialiasing (OGAA und RGAA): Beim OrderedGrid-AA sind die Samples innerhalb des Pixels rasterförmig angeordnet und wie die Pixel ausgerichtet. Bei RotatedGrid-AA sind die Samplepositionen gedreht (um eine bestimmte Gradzahl, beispielsweise 27,5° beim VSA-100). Tatsächlich wird eine sparse Maske verwendet (siehe unten), sodass ein qualitativ deutlich höherwertiges AA entsteht. Beide Methoden sind bei allen drei oben genannten Techniken möglich. Bei Supersampling wird dies mit einer Verzerrung des Pixelmusters herbeigeführt.
; Sparse Grid Antialiasing (SGAA): Der 2x und 4x Modus im sparse-Verfahren entspricht einem rotated grid. Dabei wird beim rotated grid nicht das OG-Pixelmuster nur rotiert, es wird auch so skaliert, dass es die sparse-Bedingung erfüllt, eine bestmögliche Kantenauflösung zu gewährleisten. Das 6x-Muster der ATI Radeon-Grafikkarten (ab Radeon 9500) ist ein sparse Grid.
Full Screen Antialiasing (FSAA)
Anwendung
Vorteile
- Eckige Kanten und harte Übergänge werden reduziert. Die eigentliche Form der Linie bzw. Rundung tritt deutlicher hervor. Aliasing-Effekte wie "Treppenbildung" an Kanten wird reduziert.
- Pixel- und Linien-Flimmern wird reduziert. Durch die feinere Abtastung werden ganze kleine oder ganz dünne Objekte, die sonst durch das Pixelraster fallen, noch erfasst. Dies verhindert ein plötzliches Erscheinen von Linien wie z. B. an dünnen Antennen-Masten.
Nachteile
- Verringerte Schärfe. Durch die zusätzlichen Punkte und den weicheren Übergang zum Hintergrund wird das Bild scheinbar unschärfer. Tatsächlich jedoch nimmt der Informationsgehalt zu. Aliasing-Effekte sind Bildstörungen, die durch "Überschärfe" auftreten. Im Vergleich wird das bessere Bild mit Antialiasing manchmal als unschärfer empfunden.
- Kleine Schriften werden beschädigt. Wenn ohnehin kaum noch genügend Pixel zur Darstellung einer Schrift vorhanden sind, kann Antialiasing die Schrift soweit zerstören, dass sie unleserlich wird. Allerdings ist eine solche Schrift auch ohne Antialiasing aufgrund ihrer Grösse meist nicht mehr zu entziffern.
- Größere Dateien. Durch die Halbwerte im Übergangsbereich entstehen zusätzliche Farbwerte.
- Längere Rechenzeiten. Das Erzeugen der geglätteten Kanten durch Oversampling nimmt deutlich mehr Rechenleistung in Anspruch. Stösst die Recheneinheit dabei an ihre Grenzen, ist die Darstellung von Animationen oft nicht mehr flüssig.
Antialiasing durch das Betriebssystem
Antialiasing kann auch durch das Betriebssystem durchgeführt werden, in dem die ganze Darstellung der Benutzeroberfläche mit einen Antialiasing-Algorithmus bearbeitet wird.
Microsoft Windows XP, Mac OS X und die meisten Linux-Distributionen verwenden standardmäßig Antialiasing zur Darstellung der Benutzeroberfläche. Wer das Ergebnis als zu unscharf empfindet oder kleine Schriften dadurch nicht mehr lesen kann, kann das Antialiasing deaktivieren.
Antialiasing ist kein Allheilmittel gegen zu geringe Auflösung, sondern kann die Folgen nur lindern. Als Anwender muss man jeweils prüfen, ob Antialiasing das Ergebnis verbessert oder ob man diese Option lieber ausschaltet. Antialiasing kostet grundsätzlich Systemleistung.
Weblinks
- [http://neota.castleparadox.com/aa_tutorial.html NeoTA's Antialiasing Tutorial] (engl.)
- [http://3dcenter.org/artikel/anti-aliasing/ Ausführlicher Artikel zum Antialiasing bei 3D-Grafikkarten]
Kategorie:Computergrafik
Kategorie:Digitale Signalverarbeitung
ja:アンチエイリアス
BildwiederholfrequenzDie Bildwiederholfrequenz oder Bildwiederholrate ist ein Begriff aus der Computertechnik. Sie bezeichnet die Anzahl der Einzelbilder pro Sekunde, die z.B. auf eine Kinoleinwand projiziert werden oder auf einen Fernsehbildschirm oder Monitor durch dessen Elektronenstrahl geschrieben werden. Man gibt diese i.A. in der Einheit Hertz (Hz) an. Man beachte, dass manche Displays (LCD, Projektoren) nicht mit der Frequenz der Graphikkarte aufgefrischt werden, was für die Frequenzkonvertierung einen Bildspeicher im Display voraussetzt.
Bei der Darstellung im Zeilensprungverfahren (Interlace), wie es bei PAL oder NTSC (Analoges Fernsehen) verwendet wird, wird als Bildwiederholfrequenz i.A. die Halbbildfrequenz gemeint, also 50 Hz (PAL) bzw. 60 Hz (NTSC).
Bei der Video- bzw. Bewegtbildwiedergabe wird die physiologische Eigenschaft des menschlichen Sehvermögens Visuelle Wahrnehmung ausgenutzt, dass sich Änderungen des Bildinhaltes mit dem im Millisekundenbereich weiterbestehenden Nachbild des vorherigen Bildinhaltes vom Seheindruck her vermischen.
Hierbei ist eine Unterscheidung zwischen Bildrate und Bildwiederholfrequenz wichtig, da diese nicht identisch sein müssen. Die Bildrate sollte einen Wert von ca. 20 Bildern/Sekunden nicht unterschreiten, um dem menschlichen Auge einen flüssigen Bildeindruck bei bewegten Bildinhalten vermitteln zu können. Dabei ist die Grenze zur Wahrnehmung einer fließenden Bewegung individuell von Mensch zu Mensch leicht verschieden. Die heute im Kino übliche Bildrate von 24 Hz begrenzt die Bewegtbilddarstellung, was dazu führt dass sich Objekte, die sich mit ungünstiger, mittlerer Geschwindigkeit auf dem Bild bewegen, als 'ruckelnd' wahrgenommen werden. Eine gute Regie weiss dies jedoch zu vermeiden, indem beispielsweise Kameraschwenks nur sehr langsam oder ausreichend schnell erfolgen. Die Aufzeichnung mit Studiokameras oder Camcordern verwendet das Zeilensprungverfahren, was durch die höhere Bildrate mit 50 bzw. 60 Bewegungsphasen pro Sekunde deutliche Vorteile z.B. bei Sportaufnahmen bietet.
Die Bildwiederholfrequenz eines Bildschirms trägt entscheidend zum Flimmereindruck bei. Das hängt jedoch auch von der verwendeten Bildschirmtechnologie ab. So wird beispielsweise im Kino jedes der 24 Bilder pro Sekunde (= 24 Hz Bildrate) drei mal mit einem Schutter projiziert, also mit einer Bildwiederholfrequenz von 72 Hz abwechselnd an und dunkel geschalten. Würde man jedes Bild nur zwei mal mit 48 Hz projizieren, wäre durch den Hell-Dunkelwechsel bereits ein deutliches Bildflimmern wahrnehmbar. Bei Flüssigkristallbildschirmen hingegen wirkt sich die Bildwiederholfrequenz kaum auf den Flimmereindruck aus, da prinzipbedingt die Helligkeit jedes Bildpunktes zwischen den Bildwechseln nahezu konstant bleibt, was Hell-Dunkelwechsel vermeidet.
Bemerkenswert ist, daß das menschliche Sehvermögen in den Außenbereichen durch die Stäbchen empfindlicher bei Helligkeitsänderungen reagiert. Flimmern wird daher eher wahrgenommen, wenn man z.B. einen Röhrenmonitor im Augenwinkel betrachtet.
Für schnell bewegte Bilder (Sport, Videospiele, etc.) haben Bildschirmtechnologien Vorteile, die eine ausreichend hohe Bildwiederholfrequenz mit mind. 50 Hz und eine möglichst kurze Bildpunktleuchtdauer aufweisen. Kathodenstrahlröhrenbildschirme haben hier prinzipbedingte Vorteile gegenüber LCD-Technologien, da jeder Bildpunkt innerhalb der Bildperiodendauer (=1/Bildwiederholfrequenz) nur kurzzeitig auf'blitzt' und somit Bewegungen einen sehr scharfen Bildeindruck beim Betrachter hinterlassen. Im menschlichen Sehapparat entsteht schliesslich aus diesen kurz aufleuchtenden Einzelaufnahmen eine flüssige Bewegung. Die Forschung im Bereich der LCD-Technik versucht dies durch Techniken wie 'scanning backlight' oder 'black stripe insertion' (Flüssigkristallbildschirm) zu verbessern, was eine effektive Verkürzung der Bildpunktleuchtdauer (wie beim Kathodenstrahlröhrenbildschirm) bewirkt. Natürlich kann dadurch wieder Bildflimmern entstehen, was aber durch eine ausreichend hohe Bildwiederholrate größer ca. 80 Hz nicht wahrgenommen wird. Ein Ansatz der Displayindustrie, die Bewegtbilddarstellung durch die Verkürzung der LCD-Schaltzeit zu verbessern, bringt bei LCD-Schaltzeiten kleiner ca. 10 ms keine sichtbare Verbesserung mehr.
Berechnung
Die Bildwiederholfrequenz von Computermonitoren lässt sich näherungsweise folgendermaßen berechnen:
Wobei die Horizontalfrequenz (Anzahl der Zeilen pro Sekunde) und die Anzahl der Zeilen (vertikale Auflösung) ist.
Übliche Bildwiederholraten
- Personal Computer (ca. 1982...1987): 50...60 Vollbilder/Sekunde
- Personal Computer (ca. 1990...1995): 70...85 Vollbilder/Sekunde
- Personal Computer (ca. 1998...heute): 85 Vollbilder/Sekunde
Siehe auch: Vertikalfrequenz, Bildfrequenz, VESA, 100-Hz-Technik
Kategorie:Fernsehtechnik
Kategorie:Computergrafik
ja:フレームレート
Zeiger (Informatik)Ein Zeiger oder Pointer bezeichnet in der Informatik eine besondere Klasse von Variablen, die auf einen anderen Speicherbereich verweisen. Der referenzierte Speicherbereich enthält entweder Daten (Objekt, Variable) oder Programmcode.
Man unterscheidet bei Zeigern zwischen zwei Zugriffsverfahren: Auf der einen Seite lässt sich auf den Wert zugreifen, der auf das referenzierte Element (Datenbereich oder Code-Abschnitt) verweist. Auf der anderen Seite kann auf das verwiesene Element selbst zugegriffen werden. Die Operation, bei der man über den Zeiger auf das verwiesene Element zugreift, nennt man Dereferenzierung.
Ein verbreitetes Anwendungsgebiet für Zeiger ist die Referenzierung dynamisch angeforderten Speichers. Auch bestimmte Datenstrukturen, wie z.B. verkettete Listen werden in der Regel mit Hilfe von Zeigern implementiert.
Zeiger in Programmiersprachen
Zeiger kommen vor allem in maschinennahen Programmiersprachen wie z.B. Assembler, C oder C++ vor, während man den Gebrauch in streng typisierten Sprachen wie Modula-2 oder Ada stark einschränkt und sie in Sprachen wie Java oder Eiffel zwar intern vorhanden, aber für den Programmierer vollständig verborgen (opak) sind. Mit erstgenannten Sprachen ist es möglich, Zeiger auf beliebige Stellen im Speicher zu erzeugen oder mit ihnen zu rechnen.
Moderne Programmiersprachen schränken den Gebrauch von Zeigern ein, weil Programmierern bei der Arbeit mit Zeigern leicht schwerwiegende Programmierfehler unterlaufen (sicherlich die Hauptursache für Pufferüberläufe und Abstürze bei zum Beispiel in C und C++ geschriebenen Programmen).
Typisierte Zeiger
In den meisten Programmiersprachen werden Zeiger direkt mit Datentypen assoziiert. So kann ein so genannter "Zeiger auf ein Objekt vom Typ (OvT) Integer" normalerweise auch nur auf den ein Objekt vom Typ "Integer" verweisen. Der Datentyp des Zeigers selbst bestimmt sich also durch den Typ, auf den er verweist. In der Programmiersprache C ist dies eine Voraussetzung zur Realisierung der Zeigerarithmetik, denn nur durch das Wissen um die Speichergröße des assoziierten Typs kann die Adresse des Vorgänger- oder Nachfolgeelementes berechnet werden. Darüber hinaus ermöglicht die Typisierung von Zeigern dem Compiler, Verletzungen der Typkompatibilität zu erkennen.
Untypisierte Zeiger
Diese Zeiger sind mit keinen Datentyp verbunden. Sie können nicht dereferenziert, inkrementiert oder dekrementiert werden.
Leerzeiger (Nullzeiger)
Der Leerzeiger ist ein Zeiger mit einem speziellen, dafür reservierten Wert (nicht zwingend numerisch 0), der anzeigt, dass auf nichts verwiesen wird. Nullzeiger werden in fast allen Sprachen sehr häufig verwendet, da man mittels des Nullzeigers eine "designierte Leerstelle" kennzeichnet. Zum Beispiel wird eine einfach verkettete Liste meist so implementiert, dass das letzte Element auf den Leerzeiger als Folgeelement verweist. Er kennzeichnet in diesem Fall also das Ende der Liste. In Pascal-basierten Sprachen wie Delphi bzw. Object Pascal heißt der Nullzeiger beispielsweise nil (lateinisch: "nichts"), in C und C++ NULL.
Intern werden Nullzeiger auf unterschiedliche Arten repräsentiert, weshalb man sich nach Möglichkeit nie um den tatsächlichen Wert kümmert, sondern ihn einfach als gegebene Leerstelle akzeptiert, die keinen benutzbaren Inhalt trägt. Die logische Folge ist, dass ein Leerzeiger nicht dereferenziert werden darf. Ein solcher Umgang mit dem Nullzeiger kann undefiniertes Verhalten oder eine Zugriffsschutzverletzung auslösen.
Uninitialisierte Zeiger
Falls eine Zeigervariable dereferenziert wird, die nicht auf einen gültigen Speicherbereich des entsprechenden Typs zeigt, kann es ebenfalls zu unerwartetem Verhalten oder einer Zugriffsschutzverletzung kommen. So eine Situation kann auftreten, wenn eine Variable vor ihrer Benutzung nicht auf einen gültigen Wert initialisiert wurde oder wenn sie noch auf eine Speicheradresse verweist, die nicht mehr gültig ist (wilder Zeiger).
Eigenschaften
Vorteile
Die Verwendung von Zeigern kann in bestimmten Fällen den Programmablauf beschleunigen oder helfen, Speicherplatz zu sparen:
- Ist die von einem Programm im Speicher zu haltende Datenmenge am Programmstart unbekannt, so kann genau so viel speicher alloziert werden, wie benötigt wird (Dynamische Speicherverwaltung).
- Bei der Verwendung von Feldern/Vektoren kann man mittels Zeigern schnell innerhalb des Feldes springen und navigieren. Mittels Zeigerinkrement wird dabei durch ein Feld hindurchgelaufen. Anstatt einen Index zu verwenden und so die Feldelemente über diesen anzusprechen, setzt man zu Beginn des Ablaufs einen Zeiger auf den Anfang des Feldes und inkrementiert diesen Zeiger bei jedem Durchlauf. Diese Art des Zugriffs auf Felder wird in vielen Programmiersprachen und Compilern an manchen Stellen intern automatisch so umgesetzt.
- Verweise auf Speicherbereiche können geändert werden, z.B. zur Sortierung von Listen, ohne die Elemente umkopieren zu müssen (dynamische Datenstrukturen).
- Bei Funktionsaufrufen kann durch die Übergabe eines Zeigers auf eine Variable vermieden werden, die Variable selbst zu übergeben, was eine in bestimmten Fällen sehr zeitaufwändige Anfertigung einer Kopie der Variablen erfordern würde.
- Anstatt Variablen jedes Mal zu kopieren und so jedes Mal erneut Speicherplatz zur Verfügung zu stellen, kann man in manchen Fällen einfach mehrere Zeiger auf ein und dieselbe Variable verweisen lassen.
Nachteile und Gefahren
Es gibt Sprachen, die bewusst auf den Einsatz von Zeigern verzichten (s.o.). Dies hat vor allem folgende Gründe:
- Der Umgang mit Zeigern ist schwierig zu erlernen, kompliziert und fehleranfällig. Vor allem im Sinne von Zeigern zu denken, bereitet Programmieranfängern anfangs oft Schwierigkeiten. Auch bei erfahrenen Programmierern kommen Flüchtigkeitsfehler im Umgang mit Zeigern noch relativ häufig vor.
- Programmierfehler bei der Arbeit mit Zeigern können schwere Folgen haben. So kommt es z.B. zu Programmabstürzen, unbemerkter Beschädigung von Daten, Pufferüberläufen oder "verlorenen" Speicherbereichen (so genannten Speicherlecks: Das Programm fordert ständig mehr Speicher an, der anderen Programmen nicht mehr zur Verfügung steht, bis im Extremfall das Betriebssystem nicht mehr genügend liefern kann).
- Setzen sich Datenstrukturen aus Zeigern zusammen, die auf einzelne kleine Speicherblöcke verweisen, kann dies insbesondere bei Prozessen, die sehr lange laufen, zur Fragmentierung des Adressraumes führen, so dass der Prozess keinen weiteren Speicher anfordern kann, obwohl die Summe der allozierten Speicherblöcke wesentlich geringer als der verfügbare Speicher ist.
- Die Effizienz des Prozessor-Caches leidet darunter, wenn eine Datenstruktur auf viele Speicherblöcke verweist, die im Adressraum weit auseinander liegen. Daher kann es sinnvoll sein, stattdessen Arrays zu verwenden, weil diese eine kompakte Darstellung im Speicher haben.
- Letzteres kann sich auch negativ im Zusammenhang mit Paging auswirken.
Zeigeroperationen
- Dereferenzieren auf das Objekt (die Variable) auf den der Zeiger zeigt zugreifen
- Inkrementieren/Dekrementieren den Zeiger auf das nächste/vorhergehende Objekte (Variable) versetzten
- Erzeugen/Zerstören des referenzierten Objektes
- Vergleichen mit anderen Zeigern oder mit NULL
- Subtrahieren zwei Zeiger dürfen subtrahiert werden. Das Ergebnis eine Ganzzahl.
- Addieren diese Operation ist verboten, da sie keinen Sinn macht!
Zeigerarithmetik
Das Erhöhen oder Erniedrigen eines Zeigers um einen festen Wert oder das Subtrahieren zweier Zeiger wird als Zeigerarithmetik bezeichnet.
Intelligente Zeiger
Als Intelligente Zeiger (smart pointers) werden Objekte bezeichnet, die sich wie Zeiger verhalten und verwenden lassen, aber intelligenter sind als einfache Zeiger. Durch Kapselung des Zeigers innerhalb eines Objektes wird versucht, bestimmte negative Eigenschaften von Zeigern zu verhindern.
Funktionszeiger
Sind eine besondere Klasse von Zeigern, sie zeigen nicht auf ein Datenobjekt, sondern auf den Einsprungspunkt einer Funktion. Damit ist es möglich benutzerdefinierte Funktionsaufrufe, deren Ziel erst zur Laufzeit bestimmt wird zu realisieren. Häufigster Anwendungsfall sind Callback-Funktionen.
Methodenzeiger
Sind eine besondere Klasse von Zeigern, sie zeigen den Einsprungspunkt einer Methode.
Siehe auch Methodenzeiger
Interfacezeiger
Zeigen auf ein COM oder Corba Interface und sind unter manchen Programmiersprachen (z.B. Delphi) als Intelligenter Zeiger implementiert.
Kategorie:Programmiersprachelement
ja:ポインタ
ko:포인터 (프로그래밍)
ReferenzparameterReferenzparameter (engl. call by reference) sind Parameter von Unterprogrammen in Programmiersprachen, die die Übergabe und Rückgabe von Werten ermöglichen. Ihr Name kommt daher, dass der Compiler in den meisten Programmiersprachen die Adresse des Speicherbereichs einer Variablen oder eines Feldelements übergibt (also einen Zeiger auf die Variable oder das Feldelement), die als Referenz aufgefasst werden kann.
Beim Aufruf des Unterprogramms wird die Adresse im formalen Parameter gespeichert. Jede Operation mit diesem formalen Parameter wirkt sofort auf den aktuellen Parameter und bleibt auch nach Verlassen des Unterprogramms erhalten.
Normalerweise stehen neben Referenzparametern auch Wertparameter zur Verfügung, die die Übergabe von Ausdrücken erlauben, jedoch keine Rückgabe von Werten.
Beispiel
In der Sprache Pascal muss beim Unterprogrammaufruf für jeden Referenzparameter eine Variable, ein Feld- oder Strukturelement als aktueller Parameter angegeben werden:
1 ( - Uebergabe der Variablen X als Referenzparameter in PASCAL - )
2 PROGRAM Demo(input,output);
3
4 PROCEDURE Inkrementiere(VAR N: Integer);
5 BEGIN
6 N:=N+1;
7 END;
8
9 VAR X: integer;
10 BEGIN
11 Write('Bitte X eingeben'); ReadLn(X);
12 Inkrementiere(X);
13 Write('Der Nachfolger von X ist: '; WriteLn(X);
14 END.
Die Funktion Inkrementiere hat den Referenzparameter N (Zeile 4), der in Zeile 13 durch die Variable X als aktuellen Parameter X ersetzt wird. Die Unterprogramme Write und WriteLn (Zeilen 11 und 13) verwenden Wertparameter, während ReadLn einen Referenzparameter verlangt (Zeile 11), für den hier auch X eingesetzt wird. Dadurch ist z. B. WriteLn(2 - X) ohne weiteres möglich, während ReadLn(2 - X) einen Syntaxfehler bei der Übersetzung erzeugt.
Formale und aktuelle Parameter
Im Beispiel wird der Referenzparameter N (Schlüsselwort VAR) verwendet, der bei der Deklaration des Unterprogramms erzeugt wird. Wird VAR weggelassen, so wird ein Wertparameter erzeugt. Beim Aufruf wird der aktuelle Parameter X übergeben.
Moderne (optimierende) Compiler können bei Übergabe von Wertparametern ermitteln, ob eine Kopie nötig ist und gegebenenfalls darauf verzichten.
Simulation von Referenzparametern durch Zeiger
Das folgende Beispiel ist in der Sprache C geschrieben, welche keine Refernzparameter kennt Durch Benutzung von Zeigern kann aber ein ähnliches Verhalten realisiert werden.
1 / - Uebergabe der Variablen x als Zeigerparameter p in C / -
2
3 #include
4
5 void increment_p(int - p)
6
9
11
12 int main()
13
In Zeile 17 wird der Adressoperator & verwendet, so dass die Adresse der Variablen x an die Funktion übergeben wird. Diese wird an den Zeigerparameter p (Zeile 5) übergeben.
Referenzparameter in Form von Referenzen
In der Sprache C++ können Referenzparameter ebenso wie in C als Zeiger realisiert werden. In C++ wurde aber auch eine Spracherweiterung eigens zu diesem Zweck eingeführt. Diese Spracherweiterung nennt sich Referenz und hat folgende Notation:
void increment_r(int& r)
Im Vergleich dazu noch einmal das Beispiel für Zeiger:
void increment_p(int - p)
Bei der Variante increment_r entfallen also die Zeigerdereferenzierungen im Funktionsrumpf.
Aufruf der Funktion:
...
increment_r(x);
...
Im Unterschied zu der Variante mit increment_p wird also hier beim Aufruf nicht der Adressoperator & verwendet.
Verwendende Programmiersprachen
- Pascal
- Modula-2
- Fortran
- C++
Kategorie:Programmiersprachelement
Prozedur (Programmierung)Eine Prozedur (oder auch Unterprogramm) in der Programmierung von Computersystemen ist ein Stück zusammengehörigen Codes, der es erlaubt, eine bestimmte Aufgabe in wiederverwendbarer Art umzusetzen.
Prozeduren können einen oder mehrere Aufrufparameter haben, Variablenwerte ändern (siehe unten), liefern jedoch nach ihrem Ende keinen Wert zurück. Im Gegensatz hierzu geben Funktionen einen Wert (das Ergebnis der Funktion) zurück. Prozeduren können in Bibliotheken thematisch zusammengestellt werden. Hierdurch besteht die Möglichkeit, eine Prozedur auch aus anderen Programmen oder separaten Programmdateien heraus aufzurufen. Eine wichtige Standardprozedur ist die Bildschirmausgabe. Des Weiteren besteht die Möglichkeit, selbst Prozeduren und Bibliotheken zu erstellen, um damit den eigenen Code modularer und wiederverwendbarer zu gestalten.
Besondere Beachtung bei der Arbeit mit Prozeduren verdienen die in den Prozeduren verwendeten Variablen. Man kann hier zwischen globalen (d.h. während der gesamten Laufzeit des Programmes gültigen) und lokalen Variablen (d.h. nur während der Laufzeit der Prozedur gültigen) unterscheiden. Innerhalb einer Prozedur ist es möglich, auch globale Variablen zu verändern, was die Übersicht des Programms beeinträchtigen kann.
Die folgenden Beispiele zeichnen jeweils eine Linie mit anzahl Punkten.
Beispiel einer Prozedur in Pascal:
PROCEDURE Punkte_zeichnen(Anzahl:Integer);
VAR
i:Integer;
BEGIN
FOR i := 1 TO Anzahl DO
BEGIN
Write('.');
END;
END;
Beispiel eines Prozeduraufrufs in Pascal:
Punkte_zeichnen(5);
Realisierung einer Prozedur in Java (Methode ohne Rückgabewert):
public void Punkte_zeichnen (int anzahl)
Beispiel eines Methodenaufrufs in Java:
Punkte_zeichnen(5);
Siehe auch: Programmiersprache, Funktion (Programmierung), Unterprogramm
Kategorie:Programmiersprachelement
Laufzeit (Informatik)
Unter der Laufzeit (Direktübersetzung aus dem englischen runtime) versteht man in der Informatik die Zeitspanne, innerhalb deren ein Programm im Arbeitsspeicher residiert und ausgeführt wird, d.h. Maschinenbefehle an die CPU gesendet werden.
Laufzeit als Leistungsmerkmal von Software
Eine andere Bedeutung des Begriffes Laufzeit ist die Zeit (Anzahl der Rechenschritte), die zur Ausführung eines Algorithmus notwendig ist - siehe dazu Zeitkomplexität. Ein Programm, welches für einen Bestimmten Befehl mehr Zeit benötigt, als ein anderes, hat eine schlechtere Laufzeit.
Oft zeigen sich erst zur Laufzeit Mängel in der Optimierung oder Fehler, die häufig mit unvollständiger Initialisierung von Variablen (Deklarieren) oder fehlender Freigabe von alloziertem Speicher zu tun haben. Im Gegensatz zu den durch Compiler oder Interpreter auffindbaren und behebbaren Syntaxfehlern, führen Laufzeitfehler in der Regel zum Absturz des Programms. Die häufigsten Laufzeitfehler sind die, bei denen das Programm versucht nicht-initialisierte oder geschützte Speicherbereiche zu lesen oder zu beschreiben.
Laufzeit als Progamm (Runtime)
Ein Programm das als Laufzeit bzw. Runtime bezeichnet wird, ist eine Anwendung, die einen speziellen, oft compilierten Programmcode während seiner Ausführung (Laufzeit) in Maschienencode übersetzt und an den Prozessor schickt.
Siehe auch
Asymptotische Laufzeit, Maximale Laufzeit
Kategorie:Digitale SignalverarbeitungKategorie:Digitaltechnik
th:Category:การประมวลผลสัญญาณดิจิทัล
Kategorie:FernsehtechnikKategorie:Fernsehen
Kategorie:Nachrichtentechnik
Kategorie:Videotechnik
Kategorie:ProgrammierungAllgemeine Artikel über Computerprogrammierung
Siehe auch: :Kategorie:Theoretische Informatik, Programmiererjargon
Kategorie:Softwaretechnik
ja:Category:プログラミング
Kategorie:BildfehlerBei der technischen Verarbeitung von Bildern können verschiedene Fehler auftreten.
Kategorie:Videotechnik
Kategorie:Fernsehtechnik Шугаєвський ВалентинШугаєвський Валентин (1884 — 1966), історик, нумізмат і археолог родом з Києва, закінчив Ін-т Археології в Петербурзі (1908). Завідувач відділу укр. старовини Чернігівського держ. музею (1917), фонду нумізматики Лаврського Музейного Городка (1919), проф. нумізматики Київ. Ін-ту Археології, співр. АН УРСР з ділянки музеєзнавства і нумізматики та Всеукр. археологічного комітету (ВУАК). Досліджував грошовий обіг на Лівобережжі, зокрема в Чернігові 17 — 18 вв. З 1943 працював у Музеях Самбора і Праги. Після другої світової війни жив на еміграції в Німеччині, з 1949 в США, був заступником гол. ред. укр. відділу «Голосу Америки». Автор праць «Краткий обзор монетных находок Черниговской губернии» (1915), «Монета и денежный счет в Левобережной Украине в XVII в.» (1918), «До питання про грошовий обіг на Україні в XVII в.» (1924), «Чи була на Україні в XVII ст. власна монета» (1926), «До грошового обігу Чернігівщини XVII в.» (1928), «Монета і грошова лічба на Україні в XVII ст.» (Наук. зб. УВАН у США, 1, 1952).
Література
- Енциклопедія українознавства
Категорія:Статті які слід доробити Категорія:Stub
Категорія:Персоналії Шу
kaway dog breeders accommodation in valencia best online casino jastrzbia gra pensjonat
|
|
|
| :: RELATED NEWS :: |
Hahnia obliqua
Hahnia is a poorly known genus of meat-eating mammal-like reptiles (Therapsids) that lived during the Upper Triassic in Europe. This genus is based on tiny, isolated teeth, and its affinities with other cynodo
|
Edmonton, Queensland
Edmonton used to be an independent township supporting a sugar mill, but in recent times has become a suburb of Cairns, Queensland, Australia. It is located approximately 10 km south of the centre of Cairns on the Bruce Highway. The primary industry is sugar cane
|
Irish (UK) general election, 1859
The 1859 British general election in Ireland produced one of the last overall victories for the Tories in Ireland. Their win, however, did not mean that Ireland was supporting the Tories, though the party did have some strong pockets of support on the island. The win was a result of a restricted electoral franchise which saw voting restricted to the middle and upper classes, who were disproportionately supportive of the Tory Party in Irela
|
Nymphalis antiopa
The mourning cloak or Camberwell beauty Nymphalis antiopa is a butterfly with a wingspan of 62–75 mm.
The upper side of the butterfly is colored in a very dark red, with a bright, yellowish border around the wings.
It has a darker band with bright blue spots between the border and the darkred inner side.
Mourning cloaks live in the Northern hemisphere. In North America the species ranges from south of the tundra to central Mexico. It is also found throughout c
|
|
|
Balaena borealis
The Sei Whale (Balaenoptera borealis) is a large baleen whale, and as such is one of the largest animals in the world. Following large-scale hunting of Sei Whales in the Southern Ocean during middle part of the twentieth century when approximately 200,000 individuals were killed, the Sei Whale is now an internationally protected species.
Taxonomy and naming
This rorqual is in the coeducational and non-profit school located in Amman, Jordan. It caters for students aged from 3-18 years-old, and is considered to be one of the best schools in the Middle East. It is affiliated with the European Council of International Schools (ECIS) and the | |