-
Die
vorliegende Erfindung bezieht sich auf eine Signalverarbeitung und
insbesondere auf die Korrektur von Fehlern, die durch die Übertragung
oder Verarbeitung eines Signals in dieses Signal eingeführt werden.
-
Die
vorliegende Erfindung ist in Bezug auf ein einfaches exemplarisches
System leichter verständlich. Es
wird ein Telefongespräch
betrachtet, bei dem eine Person in ein Mikrophon spricht, dessen
Ausgabe digitalisiert und dann über
verschiedene Telefonleitungen und Umschaltsysteme an eine zweite
Person übertragen wird.
Der Lautsprecher an dem Ort der zweiten Person empfängt eine
Sequenz digitaler Werte, die dann zurück zu der zweiten Person gespielt
werden. Im allgemeinen unterscheidet sich die empfangene Sequenz
von der gesendeten Sequenz aufgrund von Fehlern, die durch das Übertragungssystem,
Digital-Analog-Wandler und Analog-Digital-Wandler eingeführt werden.
Ein Rauschen in dem Übertragungssystem
z. B. führt
dazu, dass einige der digitalen Werte in der übertragenen Sequenz verändert werden.
Ein Ziel eines Rauschbeseitigungssystems besteht darin, so viele
der Rauschfehler wie möglich
zu entfernen.
-
Das
oben erläuterte
einfache Beispiel ist ein Beispiel eines allgemeineren Problems,
das in einem breiten Bereich von Anwendungen anzutreffen ist. Im
allgemeinen wird ein digitales Eingangssignal, das aus einer Sequenz
von „Symbolen" besteht, durch eine „Kommunikationsverbindung" gesendet und als
ein digitales Ausgangssignal an dem Ausgang der Kommunikationsverbindung
empfangen. Das digitale Ausgangssignal besteht ebenso aus einer
Sequenz von „Symbolen". Jedes der Symbole
wird aus einem vorbestimmten Satz von Symbolen, die als ein Alphabet
bezeichnet werden, ausgewählt.
Es wird davon ausgegangen, dass das Ausgangssignal in dem gleichen
Alphabet wie das Eingangssignal geschrieben wird.
-
In
dem einfachsten Fall sind die Signale Binärsignale, bei denen das Alphabet
aus den Symbolen „0" und „1" besteht. In diesem
Fall bestehen die Eingangs- und Ausgangssignale aus einer Sequenz
von Nullen und Einsen. Andere Alphabete werden jedoch häufig verwendet.
Ein digitalisiertes Signal z. B., bei dem jedes Symbol durch eine
Ganzzahl zwischen 0 und M-1 dargestellt wird, wird häufig in
Breitbanddatenübertragungssystemen
zum Verbinden von Benutzern über
einen digitalen Teilnehmeranschluß (DSL) mit dem Internet verwendet.
-
Während sich
die obigen Beispiele auf Kommunikationssysteme beziehen, sollte
angemerkt werden, dass dieser Typ von Rauschproblem in einer Anzahl
von Datenverarbeitungssystemen vorhanden ist. Die Speicherung von
Datendateien auf einem Magnetplattenlaufwerk z. B. kann als die Übertragung
eines digitalen Signals durch eine Kommunikationsverbindung, das
Plattenlaufwerk, betrachtet werden. Das Eingangssignal ist eine
Sequenz von Symbolen, z. B. Bytes von Daten, die aus einem vorbestimmten
Alphabet ausgewählt
werden. In dem Fall von Bytedaten weist jedes Symbol einen ganzzahligen
Wert auf, der aus dem Satz [0, 1, ..., 255] ausgewählt wird.
Die wiedergewonnene Datei aus dem Plattenlaufwerk besteht ebenso
aus einer Sequenz von Symbolen, die aus diesem Satz ausgewählt werden.
Die Eingangssignalsymbole werden durch die Elektronik des Plattenlaufwerks
verarbeitet und in der Form lokalisierter Magnetfelder gespeichert,
die zur Erzeugung des Ausgangssignals gelesen werden. Ein Rauschen
in dem Digital-Analog-Schaltungsaufbau, der die Symbole in die und
aus den Magnetfeldern umwandelt, führt Fehler in das Ausgangssignal
ein. Zusätzlich können die
Magnetfelder während
einer Speicherung durch zufällige
Ereignisse, die zusätzliche
Fehler einführen,
verändert
werden.
-
Ähnlich kann
die Digitalphotographie als die Übertragung
eines Signals durch einen Kanal, der das Signal verfälscht, beinhaltend
betrachtet werden. In diesem Fall ist das Signal das Bild, das durch
ein Rauschen in den Photodetektoren verfälscht wird.
-
Es
ist die Aufgabe der vorliegenden Erfindung, eine Vorrichtung, ein
Verfahren oder ein computerlesbares Medium mit verbesserten Charakteristika
zu schaffen.
-
Diese
Aufgabe wird durch eine Vorrichtung gemäß Anspruch 1, ein Verfahren
gemäß Anspruch
7 oder ein computerlesbares Medium gemäß Anspruch 13 gelöst.
-
Die
vorliegende Erfindung umfasst ein Verfahren und eine Vorrichtung
zum Verarbeiten eines empfangenen digitalen Signals, das eine Sequenz
von Symbolen umfasst, die durch einen Kanal verfälscht wurde, um ein verarbeitetes
digitales Signal zu erzeugen. Das Verfahren umfasst ein Speichern
des empfangenen digitalen Signals und ein Empfangen einer teilweise
korrigierten Sequenz von Symbolen, die eine Ausgabe eines vorläufigen Rauschbeseitigungssystems
umfasst, das auf das empfangene digitale Signal wirkt. Informationen,
die eine Signalverschlechterungsfunktion spezifizieren, die die
Signalverschlechterung misst, die auftritt, wenn ein Symbol mit
dem Wert I durch ein Symbol mit einem Wert J ersetzt wird, wird
eingesetzt, um ein verarbeitetes digitales Signal zu erzeugen, indem
jedes Symbol mit einem Wert I in einem Zusammenhang dieses Symbols
in dem empfangenen digitalen Signal durch ein Symbol mit einem Wert
J ersetzt wird, wenn ein Ersetzen ein Maß einer Gesamtsignalverschlechterung
in dem verarbeiteten digitalen Signal relativ zu dem digitalen Eingangssignal,
unter Verwendung der Verschlechterungsfunktion und der teilweise
korrigierten Sequenz von Symbolen bestimmt, reduziert. Das Verfahren
kann auf einer zweckgebundenen Vorrichtung oder auf einem Universal-Datenverarbeitungssystem
ausgeführt
werden.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf
die beiliegenden Zeichnungen näher
erläutert.
Es zeigen:
-
1 ein
Blockdiagramm eines Rauschbeseitigungssystems gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung;
-
2 ein
Flussdiagramm des zur Bestimmung des Symbolwerts verwendeten Verfahrens;
und
-
3 ein
Flussdiagramm des bei dem zweiten Durchlauf verwendeten Signalverarbeitungsalgorithmus.
-
Die
vorliegende Erfindung liefert ein Verfahren zum Reduzieren der Signalverschlechterung,
die aus dem Rauschen resultiert, das in ein digitales Signal eingeführt wird,
wenn das Signal durch ein System, das Rauschfehler einführt, verarbeitet
wird. Das Verarbeitungssystem, das das Rauschen einführt, wird
in der folgenden Erläuterung
als der „Kanal" bezeichnet, da ein
derartiges System analog zu einem Übertragungskanal ist, über den
das Signal gesendet wird.
-
Im
Folgenden wird Bezug auf 1 genommen, die ein Blockdiagramm
eines Rauschbeseitigungssystems 100 gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung ist, das auf ein Signal 23 wirkt, das
durch einen Kanal 20 verfälscht wurde. Der Kanal wirkt
auf ein Eingangssignal 21, das eine Sequenz von Symbolen
y1, y2, ..., yn aus einem bekannten Alphabet aufweist,
um ein Ausgangssignal 23 zu erzeugen, das ebenso eine Sequenz
von Symbolen aus diesem Alphabet aufweist. Das rauschbehaftete Ausgangssignal wird
durch die Sequenz z1, z2,
..., zn bezeichnet. Die rauschbehafteten
Ausgangssignalsymbole werden ebenso als aus dem gleichen Alphabet
wie die Eingangssignalsymbole stammend angenommen. Dies bedeutet,
dass jedes Symbol einen Wert von 0 bis M-1 annehmen kann, wobei
M eine Ganzzahl > 1
ist. Um die folgende Erläuterung
zu vereinfachen, werden Sequenzen von Symbolen in Fettdruck angegeben.
Die Sequenz y1, y2,
..., yn z. B. wird durch y bezeichnet.
-
Es
wird angenommen, dass ein vorbereitendes Rauschbeseitigungssystem 120 auf
z wirkt, um eine erste Annäherung
eines entrauschten Signals 24 zu erzeugen, r = r1, r2, ..., rn, indem verschiedene Elemente der z-Sequenz
auf eine Art und Weise verändert
werden, die denjenigen, die r empfangen, nicht bekannt ist. Es wird
von einer Teilsequenz von 2k+1 Symbolen in z ausgegangen, die mittig
um zq ist. Hier ist k eine Ganzzahl. Die
Art und Weise, auf die k ausgewählt
wird, ist unten detaillierter erläutert. Diese Teilsequenz wird
durch z (q) angegeben. Dies bedeutet, dass z (q) = zq–k,
zq–k+1,
... zq, zq+1 ...
zq+k gilt. Die Teilsequenz z(q) wird im
folgenden manchmal als die Referenzteilsequenz für einen Index q bezeichnet.
Es wird angenommen, dass k derart ausgewählt wird, dass diese Teilsequenz
an einer Anzahl von Orten in z erscheint. Dies bedeutet, dass z(p)
= z(q) für
eine Anzahl unterschiedlicher Werte von p gilt. Die vorliegende
Erfindung basiert auf der Annahme, dass, wenn das vorbereitende
Rauschbeseitigungssystem den Wert von zq verändert, dies
auch den Wert von zp auf die gleiche Art
und Weise für
jedes weitere Auftreten dieser Teilsequenz verändern sollte.
-
Die
vorliegende Erfindung prüft
die Ausgabe des vorbereitenden Rauschbeseitigungssystems und bestimmt
einen Wert, der zq sowie jedem der zp-Werte
zugewiesen wird, basierend auf einem Maß der Signalverschlechterung,
die auftritt, wenn ein Symbol fälschlicherweise
durch ein anderes Symbol ersetzt wird. Diese resultierende neue
Sequenz 22, z',
wird dann aus der vorliegenden Erfindung ausgegeben. Die vorliegende Erfindung
nimmt an, dass es ein quantifiziertes Maß der Verschlechterung gibt,
die in das Ausgangssignal eingeführt
wird, indem ein Symbol mit dem Wert A in dem Eingangssignal durch
ein Symbol mit dem Wert B in dem Ausgangssignal ersetzt wird. Die
Verschlechterung kann sich für
unterschiedliche Werte von A und B unterscheiden. In der folgenden
Erläuterung
wird dieses Verschlechterungsmaß einfach
als die „Verschlechterung" bezeichnet und durch
C (A, B) angegeben.
-
In
Systemen, die ein Alphabet verwenden, das mehr als zwei Symbole
enthält,
hängt C(A,B)
oft von der Differenz zwischen A und B ab. Es wird z. B. ein digitales
Signal betrachtet, das durch ein Umwandeln eines analogen zeitveränderlichen
Signals in eine Sequenz digitaler Werte unter Verwendung eines 8-Bit-Analog-Digital-Wandlers
erzeugt wird. Das resultierende digitale Signal ist eine Sequenz
von Symbolen, die aus einem Alphabet mit 256 Symbolen ausgewählt werden,
die den digitalen Werten 0 bis 255 entsprechen. Es wird angenommen,
dass das Ausgangssignal wieder in ein analoges Signal zurück umgewandelt
und für
einen menschlichen Beobachter abgespielt werden soll. Der Fehler
in dem Ausgangssignal, der daraus resultiert, dass ein Symbol um
1 verändert
wird, ist sehr viel kleiner als der Fehler, der daraus resultiert,
dass ein Symbol um 2 verändert
wird, usw. So hängt
die Verschlechterungsfunktion von der Menge ab, um die das Symbol
in diesem Fall verändert
wird.
-
Die
Art und Weise, auf die die vorliegende Erfindung das korrekte Symbol
definiert, das anstelle von zq verwendet
werden soll, ist Bezug nehmend auf 2 leichter
verständlich,
die ein Flussdiagramm des zur Bestimmung des Symbolwert verwendeten
Verfahrens ist. Der Algorithmus kann in zwei Teile aufgebrochen werden.
In dem ersten Teil wird jede Teilsequenz, die mittig bei p ist,
wobei z(p) = z (q) gilt, identifiziert und die Anzahl von Malen,
die das vorbereitende Rauschbeseitigungssystem jeden möglichen
Wert für
rp ausgibt, wird für jedes derartige p bestimmt.
Es wird die Anzahl von Malen, um die rP der
Wert j durch das vorbereitende Rauschbeseitigungssystem zugewiesen
wurde, für
all diese Werte von p als N(j) bezeichnet. Der Algorithmus, der
den ersten Teil implementiert, beginnt durch ein Initialisieren
einer Anzahl von Variablen, wie bei 51 gezeigt ist. Der
Algorithmus sucht dann nach jeder Sequenz, für die z(p) = z(q) gilt. Der
Algorithmus testet z(p) für
den gegenwärtigen
Wert von p, wie bei 52 gezeigt ist. Wenn z(p) = z(q) gilt,
wird N(rp) inkrementiert, wie bei 53 gezeigt
ist. In beiden Fällen
wird p auf den nächsten
Wert inkrementiert, wie bei 54 gezeigt ist, und bei dem neuen
Wert von p wird getestet, um sicher zu sein, dass dieser innerhalb
des erlaubten Bereichs ist, wie bei 55 gezeigt ist. Wenn
weitere zu testende Teilsequenzen vorliegen, wird das Verfahren
wiederholt. Wenn alle Teilsequenzen geprüft wurden, fährt der
Algorithmus mit dem zweiten Teil fort.
-
In
dem zweiten Teil des Algorithmus werden die Zählwerte aus dem ersten Teil
verwendet, um die Verschlechterung einzuschätzen, die in dem Signal für die verschiedenen
möglichen
Auswahlen der Symbolwerte, auf die z
q verändert werden
könnte,
resultieren würde.
Es wird der Fall betrachtet, in dem zq auf den Wert K verändert wird.
Der Algorithmus berechnet die Verschlechterungsschätzung D(K)
wie folgt:
wie bei
56 gezeigt
ist. Der Algorithmus setzt dann z'
q gleich K
min, definiert als der Wert von K, für den D(K)
den minimalen Wert aufweist.
-
Die
Art und Weise, auf die der Algorithmus die Ausgabe der vorbereitenden
Rauschbeseitigungsvorrichtung verändert, ist unter Bezugnahme
auf ein einfaches Beispiel leichter verständlich. Es wird der Fall betrachtet,
in dem die Kosten für
einen Fehler für
alle Fehler gleich sind, d. h. C(I,J) = Co für alle I, die sich von J unterscheiden.
Es wird angemerkt, dass für
alle I C(I,I) = 0 gilt. In diesem Fall ist D(K) S(K) Co, wobei S(K) die
Summe von N(J) für
von K unterschiedliche J ist. Es wird nun angenommen, dass N(1) >> N(J) für von 1 unterschiedliche J
gilt. Dies bedeutet, dass bei der überwiegenden Mehrzahl der Fälle die
vorbereitende Rauschbeseitigungsvorrichtung den Wert 1 für das Symbol
in der Mitte jeder Teilsequenz gleich z(q) in dem rauschbehafteten
Signal eingesetzt hat. In diesem Fall hat D(K) seinen minimalen
Wert für
K = 1, da alle anderen Werte von D(K) N(1) in dem S(K)-Ausdruck
umfassen. So setzt der Algorithmus der vorliegenden Erfindung für diese
Verschlechterungsfunktion die Ausgabe z'p für alle p,
für die
z(p) = z(q) gilt, auf diesen Wert, der durch die Mehrzahl der rp, die Ausgabe der vorbereitenden Rauschbeseitigungsvorrichtung,
für derartige
Indizes p angenommen wird.
-
Die
oben beschriebenen Ausführungsbeispiele
verwendeten eine 2k lange Sequenz, die das gerade verarbeitete Symbol
umgibt, um die 2k+1 Symbolreferenzteilsequenzen zu definieren, deren
Instanzen in z und deren entsprechende Symbole in r untersucht werden,
um das Ausgangssymbol zu bestimmen, das anstelle des gerade verarbeiteten
Symbols eingesetzt werden soll. Um die folgende Erläuterung
der allgemeineren Fälle
zu vereinfachen, ist es nützlich,
einen „Kontext" für das gerade
verarbeitete Symbol zu definieren. Es wird ein Symbol in dem Ausgangssignal
betrachtet. Eine Teilsequenz von Symbolen, die feste Werte aufweist und
sich an einem vorbestimmten Ort in Bezug auf dieses Symbol befindet,
wird als der „Kontext" dieses Symbols bezeichnet.
Bei dem vorherigen Beispiel war der Kontext des Symbols zq die k Symbole auf jeder Seite von zq. Es
werden die k Symbole links von zq durch a = a1,
a2, ..., ak angegeben
und die k Symbole auf der rechten Seite von zq durch b = b1, b2, ..., bk. Dann kann die zur Bestimmung des Ersatzsymbols
für zq verwendete Referenzteilsequenz als z(q)
= azqb geschrieben werden. Es sollte jedoch
angemerkt werden, dass andere Kontexte bei der vorliegenden Erfindung
eingesetzt werden können.
Die Sequenz z. B., die mit dem Symbol zq endet,
d. h. azq, hätte verwendet werden können. Ähnlich hätte die
mit zq, d. h. zqb,
beginnende Sequenz verwendet werden können. Ferner könnten die
Längen
der Sequenzen a und b unterschiedlich sein.
-
Zusätzlich können Kontexte,
in denen die Sequenzen a und/oder b „Stellvertreter" oder Wild-Cards aufweisen,
ebenso eingesetzt werden. Dies bedeutet, dass a in der Form a1, a2, ..., aw, ..., ak geschrieben
werden kann, wobei aw eine Folge von Symbolen
sein kann, wobei die Symbole in der Folge jeden Wert annehmen können. Ähnlich müssen die
Symbole des Kontextes nicht benachbart zu dem gerade verarbeiteten
Symbol sein, solange sie an einem vorbestimmten Ort relativ zu diesem
Symbol sind. Die obige allgemeine Definition des Kontextes eines
Symbols und der induzierten Referenzteilsequenz trifft auch auf
mehrdimensionale Signale, wie z. B. zweidimensionale Bilddaten,
zu.
-
Im
Folgenden wird wieder Bezug auf 1 genommen.
Bei einem Ausführungsbeispiel
der vorliegenden Erfindung werden z und r durch das Rauschbeseitigungssystem 100 gelesen.
Die z-Sequenz wird in einem Speicher 113 gespeichert, wenn
diese empfangen wird. Zu Zwecken dieses Beispiels wird angenommen,
dass der Kontext jedes Symbols die k Symbole links von diesem Symbol
und die k' Symbole
rechts von diesem Symbol ist. Bei dem ersten Durchlauf speichert
die Steuerung 111 die empfangene Sequenz z in einem Speicher 113,
wenn die Symbole empfangen werden. Die Steuerung 111 erstellt
außerdem
eine Liste aller Teilsequenzen der Länge L = k+k'+1 in z. Wenn jedes Symbol empfangen
wird, prüft
die Steuerung 111 die zuletzt empfangenen L Symbole in
z, um die Referenzteilsequenz zu bestimmen, die gerade fertiggestellt
wurde. Es wird angenommen, dass das j-te Symbol in der z-Sequenz
gerade empfangen wurde. Dieses Symbol stellt z(j–k'–1) fertig,
die Referenzteilsequenz, die dem zu verarbeitenden Symbol bei j–k'–1 zugeordnet ist.
-
Die
Steuerung 111 prüft
die in dem Speicher 114 gespeicherten Sequenzen, um zu
bestimmen, ob z(j–k'–1) früher empfangen wurde. Falls
dies nicht der Fall ist, erstellt die Steuerung 111 einen
neuen Eintrag in dem Speicher 114 für die Teilsequenz. Der Eintrag
umfasst die L Symbole, die die Teilsequenz bilden, und M Zähler zur
Verfolgung der Ergebnisse aus dem vorbereitenden Rauschbeseitigungssystem 120 für diese
Sequenz. Die Steuerung 111 zeichnet dann das Ergebnis des
vorbereitenden Rauschbeseitigungssystems in dem geeigneten Zähler auf.
Dies bedeutet, dass die Steuerung 111 den Zähler entsprechend
dem Symbolwert rj–k'–1 inkrementiert.
Wenn alle Symbole aus beiden Sequenzen z und r empfangen und verarbeitet
wurden, ist der erste Durchgang abgeschlossen.
-
Bei
dem zweiten Durchlauf läuft
die Steuerung 111 sequentiell durch die gespeicherte z-Sequenz
und ersetzt jedes Symbol durch das durch den oben Bezug nehmend
auf 2 erläuterten
Algorithmus bestimmte Symbol. Die Verschlechterungsfunktion wird
bei einem Ausführungsbeispiel
der vorliegenden Erfindung in einem Speicher 113 gespeichert.
Am Anfang und Ende der Sequenz liegen zur Definition eines Kontexts
nicht ausreichend Daten vor. So werden die ersten k Symbole und
die letzten k' Symbole
auf die entsprechenden Symbole in der r-Sequenz aus dem vorbereitenden
Rauschbeseitigungssystem gesetzt.
-
Es
wird angemerkt, dass die empfangenen Signale z und r in keinem Hochgeschwindigkeitsspeicher gespeichert
werden müssen.
Zu einer bestimmten Zeit benötigt
die Steuerung 111 während
des ersten Durchlaufs L Symbole aus z und nur ein Symbol aus r.
So kann das empfangene Signal auf einem Plattenlaufwerk gespeichert
sein, mit Ausnahme eines kleinen Zwischenspeichers zum Speichern
der L Symbole, die gerade verwendet werden. Nur der Kontextspeicher 114 muss
ein Hochgeschwindigkeitsspeicher sein.
-
Die
obigen Beispiel nehmen an, dass ein Wert für L bestimmt wurde. Die vorliegende
Erfindung liefert die größten Vorteile
in denjenigen Fällen,
in denen die empfangene Sequenz z Referenzteilsequenzen aufweist,
die eine statistisch sig nifikante Anzahl von Malen wiederholt werden,
so dass die Zählerwerte,
die einer derartigen Teilsequenz entsprechen, zu einer genauen Charakterisierung
des Verhaltens der vorbereitenden Rauschbeseitigungsvorrichtung
führen.
Wenn die Anzahl beobachteter Vorkommnisse der Referenzteilsequenzen
in der empfangenen Sequenz klein ist, könnte die Genauigkeit der N(J)
Zählwerte,
wie oben erläutert, gering
sein, und so ist auch die Genauigkeit der Schätzwerte D(K) ebenso gering.
Wenn die Genauigkeit dieser Zählwerte
ausreichend gering ist, wird die falsche Entscheidung in Bezug auf
das korrekte Ausgangssymbol getroffen.
-
Die
Anzahl von Vorkommnissen einer Referenzteilsequenz hängt zu einem
bestimmten Maß von
der Länge
des Kontextes ab. Es wird der Fall betrachtet, in dem ein Symbol
z mit einer Kontextlänge
L-1 verarbeitet werden soll, wie oben beschrieben. Ferner wird angenommen,
dass die entsprechende Referenzteilsequenz azb Q Male auftritt,
wobei Q >> 1 und Q/M >> 1 gilt, die längere Referenzteilsequenz tazb
für einen
Wert von t jedoch nicht häufig
auftritt. Dann tritt eine Referenzteilsequenz, die größer als
L ist, sehr viel seltener auf und die statistische Genauigkeit der
Zählwerte
wird relativ zu dem Fall, in dem der kleinere Kontext eingesetzt wurde,
verschlechtert. So kann ein Auswählen
eines zu großen
Wertes für
L zu Entscheidungsfehlern führen.
-
Für ein festes
L kann das System nur Korrelationen unter L Abtastwerten oder weniger
in dem Eingangssignal ausnutzen. Je größer das Ausmaß der Eingangskorrelation,
die effektiv ausgenutzt werden kann, ist, desto besser ist das Verhalten.
Im Gegensatz zu den obigen Betrachtungen spricht dies dagegen, L
zu klein zu machen.
-
Aus
der obigen Erläuterung
ist klar, dass es einen optimalen Wert von L gibt. Dieses Optimum
kann empirisch bestimmt werden. Wenn die
Länge der
korrelierten Sequenzen in dem Eingangssignal sich über die Zeit
nicht wesentlich verän dert,
kann ein optimaler Wert für
L experimentell unter Verwendung exemplarischer Eingangssignale
und durch ein Vergleichen der Ergebnisse einer Rauschbeseitigung
für verschiedene
Werte von L bestimmt werden.
-
Im
Prinzip kann L für
jedes bestimmte Ausgangssignal bestimmt werden, indem eine Rauschbeseitigung
bei dem Signal unter Verwendung einer Anzahl unterschiedlicher L-Werte
durchgeführt
wird. In einem derartigen System kann der Wert von L von einer bestimmten
oberen Grenze gesenkt werden, bis ein Wert, der eine ausreichende
statistische Genauigkeit liefert, gefunden wird. Ein sinnvoller
Ausgangswert für
L ist gegeben durch [log(n)/log(M)], wobei n die Anzahl von Symbolen
in der z-Sequenz ist und M die Anzahl von Symbolen in dem Alphabet.
-
Im
Folgenden wird Bezug auf 3 genommen, die ein Flussdiagramm
des bei dem zweiten Durchlauf verwendeten Signalverarbeitungsalgorithmus
ist. Nachdem das empfangene Signal in dem Speicher 113 gespeichert
wurde, prüft
die Steuerung 111 nacheinander die empfangenen Symbole,
um zu bestimmen, ob ein Symbol auf einen anderen Wert rückgesetzt
werden soll. Wenn die Steuerung 111 bei zj ist,
liest die Steuerung 111 die k Symbole links von zj und die k' Symbole rechts von zj,
um die größte Referenzteilsequenz
z(j) für
zj zu bestimmen, für die Zählwerte in dem Speicher 114 gespeichert
wurden, wie bei 151 gezeigt ist. Die Steuerung 111 extrahiert
die dieser Referenzteilsequenz zugeordneten Zählwerte aus dem Speicher 114,
wie bei 152 gezeigt ist, und bestimmt, ob die gespeicherten
Zählwerte
eine ausreichende statistische Genauigkeit aufweisen, um fortzufahren,
wie bei 153 gezeigt ist. Wenn die Zählwerte eine ausreichende Genauigkeit
aufweisen, liest die Steuerung 111 die mit z(j) gespeicherten
Zählwerte
und schätzt
die Signalverschlechterung, die auftreten würde, wenn zj durch
einen möglichen
Symbolwert ersetzt wird, wie bei 155 gezeigt ist, unter
Verwendung der oben erläuterten
Gleichung (1) ein.
-
Das
Symbol wird dann auf den Wert gesetzt, der die Verschlechterung
minimiert hat, wie bei 156 gezeigt ist.
-
Wenn
die statistische Genauigkeit der Zählwerte für diese Referenzteilsequenz
zu niedrig ist, sucht die Steuerung 111 nach einem kleineren
Kontext, wie bei 158 gezeigt ist. Wenn ein derartiger Kontext
vorhanden ist, wird die zugeordnete Referenzteilsequenz ausgewählt und
das Verfahren wiederholt, wie bei 160 und 152 gezeigt.
Wenn kein kleinerer Kontext verfügbar
ist, wird z'j auf rj gesetzt,
d. h. den Wert, der durch das vorbereitende Rauschbeseitigungssystem
bereitgestellt wird, wie bei 159 gezeigt ist. Das Verfahren
fährt durch
ein Inkrementieren von j, wie bei 157 gezeigt ist, und
ein Wiederholen des Vorgangs, bis alle Symbole, die verarbeitet
werden sollen, verarbeitet wurden, fort. Wie oben angemerkt ist,
werden die Symbole an den Enden der Sequenz z', die zu nahe an einem Ende sind, um
einen Kontext aufzuweisen, auf die Werte in den entsprechenden Positionen
in der Sequenz r gesetzt.
-
Die
oben beschriebenen Ausführungsbeispiele
der vorliegenden Erfindung haben eine Rauschbeseitigungsvorrichtung
verwendet, die direkt das empfangene Signal verarbeitet und spezifische
Speicher zur Verwendung beim Speichern der verschiedenen Parameter,
Kontexte und Verschlechterungsfunktionen aufweist. Die vorliegende
Erfindung kann jedoch auf einem Universal-Datenverarbeitungssystem
ausgeführt
werden, an das eine Kopie des empfangenen Signals von dem Kanal
und eine Kopie der Ausgabe des vorbereitenden Rauschbeseitigungssystems übertragen
wurden, indem ein geeignetes Datenverarbeitungsprogramm in dieses
Datenverarbeitungssystem geladen wird. Ausführungsbeispiele, bei denen
das vorbereitende Rauschbeseitigungssystem auf das gleiche Datenverarbeitungssystem
wirkt, können
ebenso ausgeführt
werden.
-
Die
oben beschriebenen Ausführungsbeispiele
verwenden separate Speicher zum Speichern der Verschlechterungsfunktion,
Liste von Kontexten und empfangenen Signale. Ausführungs beispiele
jedoch, in denen ein einzelner Speicher zur Speicherung von zwei
oder mehr dieser Größen eingesetzt
wird, können
ebenso aufgebaut werden, ohne von der Lehre der vorliegenden Erfindung
abzuweichen. Folglich wird angemerkt, dass die oben erläuterten
separaten Speicher Teil eines größeren Speichers
sein können.
-
Verschiedene
Modifizierungen der vorliegenden Erfindung werden für Fachleute
auf diesem Gebiet aus der vorangegangenen Beschreibung und den beigefügten Zeichnungen
ersichtlich werden. Folglich soll die vorliegende Erfindung einzig
durch den Schutzbereich der folgenden Ansprüche eingeschränkt sein.