-
GEBIET DER ERFINDUNG
-
Die vorliegende Erfindung bezieht
sich auf ein Verfahren und eine Vorrichtung zum Erkennen mit einer Fehlertoleranz
einer Menge von Bitmustern in einem Bitstrom, wobei die Menge in
Bezug auf die Anzahl von Bitmustern und Größe begrenzt ist.
-
HINTERGRUND
DER ERFINDUNG
-
In vielen Gebieten, wo eine digitale
Sendung von Daten verwendet wird, gibt es ein Bedürfnis, ein
oder eine bestimmte Anzahl von sogenannten Bitmustern oder Datenworten
in der gesendeten Menge von Daten zu erkennen. Diese Datenworte
können
z. B. sogenannte Synchronisationsworte sein. Synchronisationsworte sind
spezielle Datenworte, die verwendet werden, um einen Sender mit
einem Empfänger
zu synchronisieren, die nicht miteinander synchronisiert sind. Synchronisierung
eines Senders und eines Empfängers
muss durchgeführt
werden, damit der Empfänger
weiß,
wo die Information beginnt und endet und um in der Lage zu sein, die
Information zwischen diesen zuverlässig zu übertragen. Ein Sender und ein
Empfänger
können
auf vielen verschiedenen Wegen synchronisiert sein, aber ein preiswerter
und relativ einfacher Weg geschieht durch Gebrauch von Synchronisationsworten.
-
Eine Sendung von Daten zwischen zwei
Einheiten kann entweder parallel oder seriell auftreten. Mit serieller
Sendung ist gemeint, dass eine Menge an Information zu einem Zeitpunkt über einen
einzelnen Datenleiter übertragen
wird, wobei eine Menge an Information z. B. irgendetwas von einem
einzelnen binären
Bit (0 oder 1) bis zu Symbolen sein kann. Mit paralleler Sendung
ist normalerweise gemeint, dass eine größere Menge an Information zu
jedem Zeitpunkt über
eine Anzahl von parallelen Datenleitern gesendet wird, typischerweise
vielfache von acht Bits. Konvertierung zwischen diesen beiden Arten
und Weisen einer Sendung kann durch Verwenden von Seriell-Parallel-Wandlern
und Parallel-Seriell-Wandlern geschehen.
-
Bitmustererfassung kann in einer
vorbestimmten Anzahl von aufeinanderfolgenden Bits oder in Bits, die
in einem Bitstrom verbreitet sind, der seriell zugreifbar ist, vorgenommen
werden. Ein Kandidatenbitmuster wird aus dem Bitstrom gebildet,
wobei das Kandidatenbitmuster die vorbestimmte Anzahl von Bits hat,
die das Bitmuster hat, das zu erfassen gewünscht wird. Normalerweise ist
es wünschenswert,
dass Bitmustererfassung über
den ganzen oder Teilen von dem Bitstrom geschieht, wodurch neue
Kandidatenbitmuster mit der vorbestimmten Anzahl von Bits gebildet
werden müssen.
Kandidatenbitmuster werden durch Extraktion aus dem Bitstrom gebildet.
Neue Kandidatenbitmuster werden geeignet mit der gleichen Geschwindigkeit
wie der Bitgeschwindigkeit in dem Bitstrom gebildet, indem der Bitstrom
um eine Bitposition für
jede nachfolgende Extraktion eines neuen Kandidatenbitmusters verlagert
wird. Dies kann auch als die Bitmustererfassung bezeichnet werden,
die eine Bitposition in dem Bitstrom verlagert wird.
-
Der Wunsch, gewisse Bitmuster zu
erkennen, ist häufig
mit einem Wunsch kombiniert, dass die Erkennung so schnell wie möglich und
außerdem
mit so wenig Operationen wie möglich
sein sollte.
-
Eine bekannte Lösung basiert auf Verwendung
einer XOR-Konstruktion. Die XOR-Konstruktion vergleicht jedes Kandidaten bitmuster
eines empfangenen Bitstroms mit jedem Bitmuster, das zu erkennen
gewünscht
wird. Ein Bitmuster wird als erfasst angesehen, wenn das Ergebnis
einer XOR-Operation gleich null ist. Die Lösungen, die XOR-Konstruktionen
verwenden, führen
zu sehr hohen Kapazitätsanforderungen,
da alle XOR-Operationen
und Vergleiche auf null in ein Zeitintervall eingepasst werden müssen, das
der Bitgeschwindigkeit des Bitstroms entspricht. Außerdem müssen alle
XOR-Operationen und Vergleiche auf null für jedes Kandidatenbitmuster
wiederholt werden, das aus dem Bitstrom gebildet ist. Angesichts
der oben erwähnten
Anforderung bezüglich
der Geschwindigkeit erlegt dies der Hardware extrem große Anforderungen
auf.
-
Eine Lösung, die viele Operationen
erfordert und wo jede Operation viele Teiloperationen erfordert,
leidet an der Tatsache, dass die Taktfrequenz, mit der die Hardware
getaktet werden muss, notwendigerweise sehr hoch ist. Wenn die Bearbeitungsgeschwindigkeit
der Hardware, die sich auf ihre Taktfrequenz bezieht, nicht ausreichend
hoch ist, wird es keine Zeit geben, alle notwendigen Operationen
und Teiloperationen in einer verfügbaren Zeitdauer auszuführen. Es
gibt eine theoretische und praktische obere Grenze, wie hoch eine Taktfrequenz
einer Vorrichtung sein kann, was eine obere Grenze ergibt, wie viele
Operationen und Teiloperationen die Hardware/ Vorrichtung innerhalb
einer Zeitdauer ausführen
kann. Eine Vorrichtung, die mit einer hohen Taktfrequenz getaktet
ist, zieht unvermeidlich auch einen großen Strom, ein Merkmal, das
ein großes
Problem in mobilen und z. B. batteriebetriebenen Vorrichtungen sein
kann.
-
Das XOR-Verfahren ist tatsächlich nur
für Sendeverfahren
geeignet, die eine niedrige Bitgeschwindigkeit und eine niedrige
Fehlerintensität
haben, da das Verfahren extrem kalkulationsintensiv ist. Wegen der
Tatsache, dass das XOR-Verfahren kalkulationsintensiv ist, kann
das Verfahren nur Vergleiche für
jene Bitmuster bewältigen,
die man versucht zu finden, selbst wenn Sendeverfahren verwendet
werden, die eine niedrige Sendegeschwindigkeit haben. Das XOR-Verfahren
ist deshalb nicht fehlertolerant (störungstolerant). Um Fehlertoleranz
zu erreichen, d. h. Bitmuster mit Verfälschung (ein oder mehrere Bitfehler)
erfassen zu können, müssen die
oben erwähnten
XOR-Operationen
und Vergleiche mit XOR-Operationen und Vergleichen gegen jede "Verfälschung" (Fehler), die in
die Erfassung zu inkludieren ist, aufgestockt werden. Eine Erhöhung der Anzahl
von XOR-Operationen und Vergleichen muss außerdem innerhalb der gleichen
verfügbaren
Zeitdauer ausgeführt
werden können.
Eine Erhöhung
der Anzahl von Operationen, die innerhalb einer gegebenen Zeitdauer
ausgeführt
werden müssen,
erlegt der Hardware, die sie ausführt, zusätzliche Geschwindigkeitsanforderungen
auf. Dies führt
dazu, dass die inkludierten Komponenten aufwändiger sind, und zu einem höheren Stromverbrauch,
wenn es überhaupt
möglich
ist, dies auszuführen.
-
Eine Anzahl von mobilen Telefonsystemen
macht von TDMA (zeitgeteilter Vielfachzugriff, Time Division Multiple
Access), Gebrauch, z. B. PDC (Pacific Digital Cellular). In TDMA-Systemen
gibt es ein starkes Verlangen in der Lage zu sein, die oben erwähnten Anforderungen
in der Geschwindigkeit mit Fehlertoleranz während eines Suchens nach Bitmustern,
z. B. Synchronisationsworten, in einem Bitstrom zu kombinieren.
Fehlertoleranz ist eine besonders wichtige Charakteristik in funkbasierten
Informationssendesystemen, da funkbasierte Sendung bei weitem nicht
ideal ist. Sendung von Information in TDMA-Systemen, unter anderem
Daten und Synchronisationsworte, tritt in zugeteilten Zeitschlitzen
auf, und durch Finden der Synchronisationsworte kann der Empfänger bestimmen,
wo sich die Information in den Zeitschlitzen befindet.
-
In US-Patent
US 4 847 877 wird eine Vorrichtung
beschrieben, die zur Erfassung eines Bitmusters in einem Bitstrom
gedacht ist. Das Verfahren versucht zuerst, Teilmengen des Bitmusters,
nach dem in dem Bitstrom gesucht wird, durch getrenntes Vergleichen
von Teilkandidatenbitmustern aus dem Bitstrom mit jeder akzeptablen
Teilmenge zu erfassen. Bei Erfassung einer akzeptablen Teilmenge
wird dann jedes getrennte Bits in dem Bitstrom mit den verbleibenden
Bits in dem gesuchten Bitmuster verglichen, wodurch Zähler die
Anzahl von akzeptierten Vergleichen zählen. Es kann als ein Nachteil
bei dieser Vorrichtung gesehen werden, dass sie eine große Anzahl
von Operationen und Teiloperationen für die Bitmustererfassung erfordert
und dass sie in einem größeren Ausmaß Fehlertoleranz
auf eine einfache Art und Weise wahrscheinlich nicht erlaubt.
-
In US-Patent
US 4667334 wird unter anderem ein
Synchronisationsmodul beschrieben. Das Synchronisationsmodul wird
zu empfangenen Datenpaketen synchronisieren, nachdem zwei fehlerfreie
Synchronisationsworte empfangen sind. Daten, die von einem Binärstrom eingegeben
werden, werden verwendet, um einen PROM-Speicher zu adressieren,
der den Hamming-Abstand d = 0, d = 1 und d > 1 in Bezug auf das Synchronisationsmuster
ausgibt.
-
EP
483399 beschreibt eine Vorrichtung zum Vergleichen tatsächlicher
Daten mit einem Nennwert. Die tatsächliche Daten adressieren eine
Speichertabelle, um die Abweichung von tatsächlichen Daten von dem Nennwert
zu erhalten.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Es ist ein Ziel der Erfindung, ein
Verfahren und eine Vorrichtung für
eine schnelle Bitmustererfassung in einem Bitstrom zu definieren.
-
Ein anderes Ziel der Erfindung ist
es, ein Verfahren und eine Vorrichtung zu definieren, die eine fehlertolerante
Bitmustererfassung in einem Bitstrom erreichen kann.
-
Ein weiteres Ziel der Erfindung ist
es, ein Verfahren und eine Vorrichtung zu definieren, mittels derer verschiedene
vordefinierte Synchronisationsworte in einem Bitstrom erfasst und
mit Fehlertoleranz identifiziert werden können.
-
Noch ein weiteres Ziel der Erfindung
ist es, ein Verfahren und eine Vorrichtung zu definieren, mittels derer
die Zeitposition für
eine Menge an Information in einem Zeitschlitz bestimmt werden kann.
-
Die oben erwähnten Ziele werden in Übereinstimmung
mit der Erfindung durch ein Verfahren, wie in Anspruch 1 definiert,
und eine Vorrichtung, wie in Anspruch 5 definiert, erreicht, wobei
alle gewünschten
Bitmuster, einschließlich
bestätigter
Verfälschungen,
mit Fehlertoleranz schnell und in einer stromsparenden Art und Weise
gleichzeitig pro extrahiertem Kandidatenbitmuster in einem Bitstrom
erfasst werden. Dies wird durch Verwenden einer vordefinierten Tabelle
erreicht, die durch die Kandidatenbitmuster adressiert wird. Positionen
in der Tabelle, deren Adressen den Bitmustern entsprechen, nach
denen gesucht wird, einschließlich akzeptabler
Verfälschungen
von diesen, inkludieren Information darüber, ob es eine Erfassung an
der Adresse gibt. Die Positionen enthalten auch Information bezüglich der
Bitmuster, nach denen gesucht wird. Die Information kann daraus
bestehen, welches Bitmuster mit Fehlertoleranz erfasst wurde, und
Information darüber, wie
verfälscht
das Kandidatenbitmuster bezüglich
dem fehlertolerant erfassten Bitmuster ist. Positionen in der Tabelle,
deren Adressen nicht beliebigen der Bitmuster entsprechen, nach
denen gesucht wird, oder akzeptablen Verfälschungen von diesen, inkludieren
Information, dass es keine Erfassung an dieser Adresse gibt.
-
Die oben erwähnten Ziele werden gemäß der Erfindung
auch durch ein Verfahren zum Erfassen einer bestimmten Anzahl von
vorbestimmten Bitmustern in einem Bitstrom, und innerhalb einer
bestimmten Fehlertoleranz, Verfälschungen
der Bitmuster erreicht. Das Verfahren zur Erfassung umfasst eine
Anzahl von Schritten. Zuerst wird ein Kandidatenbitmuster in der
Form einer bestimmten Anzahl von Bits aus dem Bitstrom gebildet.
Dann wird das Kandidatenbitmuster als eine Adresse zum Adressieren
von Positionen in einer Tabelle verwendet. Jede Position in der
Tabelle umfasst Trefferinformation, die einen Treffer definiert,
wenn die Adresse einer Position beliebigen der vorbestimmten Bitmuster
oder den Verfälschungen,
die innerhalb der Fehlertoleranz liegen, entspricht. Die Trefferinformation
definiert einen Fehlschlag in anderen Positionen. Die Positionen
in der Tabelle umfassen auch Fehlerinformation, die an Positionen,
wo die Trefferinformation einen Treffer definiert, definieren, wieviel
die Adresse einer Position von dem vorbestimmten Bitmuster abweicht,
in dem die Trefferinformation einen Treffer definiert. Die Trefferinformation
in der Position, die durch das Kandidatenbitmuster adressiert wird,
wird danach evaluiert, wodurch ein Ergebnis erzeugt wird, das definiert,
ob es eine Erfassung innerhalb der definierten Fehlertoleranzen
von beliebigen der vorbestimmten Bitmuster gibt oder nicht.
-
Die Trefferinformation an den Positionen
in der Tabelle, die einen Treffer definieren, sind vorzugsweise die
gleichen wie das vorbestimmte Bitmuster, das die entsprechende Position
darstellt, oder ein Verweis auf das vorbestimmte Bitmuster, das
die entsprechende Position darstellt.
-
Die Tabelle kann auch aus mindestens
zwei Teiltabellen bestehen. Die Adressierung der Tabelle erfolgt
dann für
jede Teiltabelle mit einem entsprechenden Teil des Kandidatenbitmusters
sequenziell für
solange, wie die Trefferinformation in den Teiltabellen einen Treffer
definiert. Wo die Trefferinformation in einer Teiltabelle einen
Fehlschlag definiert oder die letzte Teiltabelle adressiert wurde,
wird die Trefferinformation aus den adressierten Teiltabellen evaluiert
und wenn ein Fehlschlag in einer Trefferinformation einer Teiltabelle
aufgetreten ist, wird das gesamte Kandidatenbitmuster verworfen.
-
Das Ergebnis kann die Zeitposition
für erfasste
vorbestimmte Bitmuster in dem Bitstrom bestimmen. Die vorbestimmten
Bitmuster können
auch Synchronisationsworte sein, die zum Synchronisieren eines Bitstroms
zwischen einem Sender und einem Empfänger verwendet werden.
-
Die oben erwähnten Ziele werden gemäß der Erfindung
auch durch eine Vorrichtung erreicht, die eine bestimmte Anzahl
von vorbestimmten Bitmustern, und innerhalb einer bestimmten Fehlertoleranz,
Verfälschungen
der Bitmuster in einem Bitstrom erfasst. Die Vorrichtung umfasst
geeignet Extraktionsmittel, mindestens eine Tabelle, Adressierungsmittel
und Evaluierungsmittel. Die Extraktionsmittel sind angeordnet, aus
dem Bitstrom ein Kandidatenbitmuster einer vorbestimmten Anzahl
von Bits zu bilden. Die Tabelle ist mit einer Anzahl von adressierbaren
Positionen angeordnet. Jede Position in der Tabelle umfasst Trefferinformation,
die einen Treffer definiert, wenn die Adresse einer Position beliebigen
der vorbestimmten Bitmuster oder den Verfälschungen, die innerhalb der
Fehlertoleranz liegen, entspricht. Die Trefferinformation definiert
in anderen Positionen einen Fehlschlag. Jede Position umfasst geeignet
auch Fehlerinformation, die an Positionen, wo die Trefferinformation
einen Treffer definiert, definiert, wie viel die Adresse einer Position
von dem vorbestimmten Bitmuster abweicht, für das die Trefferinformation
einen Treffer definiert. Das Adressierungsmittel ist angeordnet,
die Tabelle mit dem Kandidatenbitmuster zu adressieren, wodurch
die Tabelle Trefferinformation und Fehlerinformation von entsprechenden
Positionen ergibt. Das Evaluierungsmittel in der Vorrichtung ist
angeordnet, die Trefferinformation von der Adressierung eines Kandidatenbitmusters
der Tabelle zu evaluieren und erstellt aus diesem das Ergebnis,
das definiert, ob es eine Erfassung innerhalb der Fehlertoleranz
von beliebigen der vorbestimmten Bitmuster gibt oder nicht.
-
Die Trefferinformation an den Positionen,
die einen Treffer definieren, ist geeignet die gleiche wie das vorbestimmte
Bitmuster, das die entsprechende Position darstellt, oder ein Verweis
auf das vorbestimmten Bitmuster, das die entsprechende Position
darstellt.
-
Die Tabelle kann auch aus mindestens
zwei Teiltabellen bestehen. Das Adressierungsmittel adressiert dann
jede Teiltabelle mit einem entsprechenden Teil des Kandidatenbitmusters
sequenziell für
solange, wie die Trefferinformation in den Teiltabellen einen Treffer
definiert. Wenn die Trefferinformation in einer Teiltabelle einen
Fehlschlag definiert oder die letzte Teiltabelle adressiert wurde,
evaluiert das Evaluierungsmittel die Trefferinformation von den
adressierten Teiltabellen, und wenn ein Fehlschlag in einer Trefferinformation
einer Teiltabelle aufgetreten ist, wird das gesamte Kandidatenbitmuster
verworfen.
-
Das Ergebnis kann die Zeitposition
für erfasste
vorbestimmte Bitmuster in dem Bitstrom bestimmen. Die vorbestimmten
Bitmuster können
Synchronisationsworte sein, die zum Synchronisieren eines Bitstroms zwischen
einem Sender und einem Empfänger
verwendet werden.
-
Das Extraktionsmittel, das Adressierungsmittel
und das Evaluationsmittel sind geeignet in einem digitalen Signalprozessor
inkludiert.
-
Die oben erwähnten Ziele werden in Übereinstimmung
mit der Erfindung auch durch ein System zum Erfassen einer vorbestimmten
Anzahl von vorbestimmten Bitmustern in einem Bitstrom und, innerhalb
einer bestimmten Fehlertoleranz, Verfälschungen der Bitmuster erreicht.
Die vorbestimmten Bitmuster werden durch erste und zweite Teilbitmuster
gebildet und die Verfälschungen
der Bitmuster werden durch erste und zweite Teilverfälschungen
gebildet. Das System umfasst Extraktionsmittel, eine erste und eine
zweite Teiltabelle, Adressierungsmittel und Evaluationsmittel. Das
Extraktionsmittel ist angeordnet, aus dem Bitstrom ein Kandidatenbitmuster
einer vorbestimmten Anzahl von Bits zu bilden. Das Kandidatenbitmuster
bildet zwei Teilkandidatenbitmuster. Die erste und die zweite Teiltabelle
sind mit einer Anzahl von adressierbaren Positionen angeordnet.
Jede Position in beiden Teiltabellen inkludiert Trefferinformation.
Die Trefferinformation definiert einen Treffer, wenn die Adresse,
die zu der Position gehört,
jeweils beliebigen der ersten oder zweite Teilbitmuster oder jeweils
der ersten oder zweiten Teilverfälschung
entspricht. Die Trefferinformation definiert einen Fehlschlag in
anderen Positionen. Jede Position in der zweiten Teiltabelle inkludiert
auch Fehlerinformation. Die Fehlerinformation definiert, in Positionen,
wo die Trefferinformation einen Treffer definiert, wie viel die
Adresse einer Position von dem vorbestimmten Bitmuster, für das die
Trefferinformation einen Treffer definiert hat, abweicht. Das Adressierungsmittel
ist angeordnet, zuerst die erste Teiltabelle mit dem ersten Teilkandidatenbitmuster
zu adressieren und das gesamte Kandidatenbitmuster zu verwerfen,
wenn aus der Trefferinformation ein Fehlschlag eintritt, und, wenn
ein Treffer aus der Trefferinformation eintritt, fortzusetzen und
die zweite Teiltabelle mit dem zweiten Teilkandidatenbitmuster zu
adressieren. Dadurch ergibt die zweite Teiltabelle Trefferinformation
und Fehlerinformation von entsprechenden Positionen. Das Evaluierungsmittel
ist angeordnet, die Trefferinformation aus Adressierung eines jeweiligen
Teilkandidatenbitmusters von jeweiligen Teiltabellen zu evaluieren
und aus diesem ein Ergebnis zu erstellen, das bestimmt, ob es eine
fehlertolerante Erfassung von beliebigen der vorbestimmten Bitmuster
gibt oder nicht.
-
BESCHREIBUNG
DER FIGUREN
-
Die Erfindung wird nun für erläuternde
und in keinem Sinne begrenzende Zwecke mit Bezug auf die folgenden
Figuren detaillierter beschrieben, in denen
-
1 schematisch
einen TDMA-Rahmen zeigt,
-
2 schematisch
die Abdeckung für
Basisstationen in einem mobilen Telefonsystem zeigt,
-
3 schematisch
die Grundsatzfunktion der Erfindung zeigt,
-
4A ein
Flussdiagramm eines Verfahrens gemäß der Erfindung zeigt,
-
4B ein
Flussdiagramm einer weiteren Ausführungsform gemäß der Erfindung
zeigt,
-
5 ein
Blockdiagramm von einer Ausführungsform
einer Vorrichtung gemäß der Erfindung
zeigt,
-
6 ein
Blockdiagramm einer weiteren Ausführungsform einer Vorrichtung
gemäß der Erfindung zeigt.
-
BESCHREIBUNG
VON BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Mobile Telefonsysteme sind häufig sogenannte
TDMA-Systeme (zeitgeteilter Vielfachzugriff). Ein TDMA-Sendesystem
bedeutet, dass (siehe 1)
eine bestimmte Anzahl, K, von sogenannten Kanälen ein und dieselbe Frequenz
gemeinsam nutzt, in der jeder Kanal seine Information innerhalb
eines bestimmten Zeitrahmens (Zeitschlitz) 110 in einem
TDMA-Rahmen 190 sendet. Die Information, die der Kanal
während
seines Zeitschlitzes sendet, inkludiert von Daten abgesehen unter
anderen Dingen Synchronisationsworte. Synchronisationsworte erlauben
der empfangenden Seite entscheiden zu können, wo in dem Zeitschlitz
der empfangene Bitstrom platziert ist. Dies geschieht dadurch, dass
die empfangende Seite die Masse an Information in einem Zeitschlitz
nach Synchronisationsworten durchsucht. Wenn die empfangende Seite
Synchronisationsworte in dem Zeitschlitz gefunden hat, weiß die empfangende
Seite, wo sich in dem Zeitschlitz die gesuchte "nützliche" Information befindet.
-
Eine Notwendigkeit zum Synchronisieren
auf dem Gebiet von Mobiltelefonen kann z. B. bei einer sogenannten "Übergabe" ("hand-over") entstehen. Es wird
die schematische Abdeckung für
das mobile Telefonsystem in 2 betrachtet.
Der Bereich, der durch das mobile Telefonsystem abgedeckt wird,
ist in Zellen 211, 212, 213, 214, 221, 222 unterteilt.
In jeder Zelle ist zentral eine Basisstation platziert, die sowohl
mit den Mobiltelefonen, die in der Zelle sind, als auch mit einer
Telefonvermittlung 210, 220, die mit einer Anzahl
von Zellen verbunden ist, kommuniziert. In diesem Beispiel ist die
Vermittlung 210 unter anderem mit den Basisstationen in
den Zellen 211, 212, 213, 214 verbunden,
und die Vermittlung 220 ist unter anderem mit den Basisstationen
in den Zellen 221 und 222 verbunden.
-
Die Basisstationen senden ständig Information
auf sogenannten Steuerfrequenzen, einschließlich unter anderen Dingen
Information bezüglich
dessen, welche Kanäle
(Zeitschlitze) in dieser Zelle vakant sind. Diese Information wird
durch die Mobiltelefone verwendet, die neu in der Zelle sind. Ein
Mobiltelefon, das sich auf seinem Weg aus einer Zelle heraus befindet,
z. B. Zelle 211, und auf seinem Weg in die Zelle 212 ist,
kann auf diesem Weg eine Nachricht darüber empfangen, welchen Zeitschlitz
es in der neuen Zelle verwenden sollte. Das Mobiltelefon beginnt
diesen Zeitschlitz zu verwenden und mit der Hilfe des Synchronisationsworts
in dem Datenstrom synchronisiert die Basisstation den Bitstrom des
neuen Mobiltelefons. Da beide Basisstationen (in den Zellen 211 und 212)
mit der gleichen Vermittlung 210 kommunizieren, sollte
das Mobiltelefon im Idealfall zwischen den Basisstationen ohne Synchronisationsprobleme "transferiert" werden können.
-
Probleme entstehen jedoch, wenn ein
Mobiltelefon zwischen Zellen zu verlagern ist, die zu unterschiedlichen
Vermittlungen gehören,
wo die Basisstationen nicht miteinander synchronisiert sind. In
jenen Fällen,
wo ein Mobiltelefon zwischen Basisstationen zu verlagern ist, die
zu Vermittlungen mit unterschiedlichen Betreibern gehören, sind
die Probleme mit einer Synchronisation während einer Verlagerung zwischen
Basisstationen noch größer. Es
können
somit Probleme in dem Fall auftreten, wo ein Mobiltelefon von Zelle 212,
die zu Vermittlung 210 mit ihrer Basisstation verbunden
ist, zu Zelle 221 verlagert wird, die zu einer anderen
Vermittlung 220 mit ihrer Basisstation verbunden ist.
-
Um Information von Mobiltelefonen
zu synchronisieren und mit diesen synchronisiert zu bleiben, suchen
die Basisstationen in einem mobilen Telefonsystem beständig in
Zeitschlitzen nach Synchronisationsworten. Synchronisationsworte
können
ty pischerweise in einem Zeitschlitz ungefähr 20 Bit lang sein, der etwas
in der Größenordnung
von mehreren hundert Bits enthält.
Ein TDMA-Rahmen umfasst normalerweise sechs Zeitschlitze mit mindestens
einem Synchronisationswort pro Zeitschlitz.
-
Um sich gegen Fehlerfassungen von
Synchronisationsworten abzusichern, wird normalerweise eine Anforderung
gestellt, dass das gleiche Synchronisationswort an der gleichen
Stelle in dem gleichen Zeitschlitz eine bestimmte Anzahl von Malen
zu erfassen ist. Dies impliziert eine Notwendigkeit für zusätzliche
Kalkulationen, die z. B. durch Bilden von Statistiken darüber auftreten
können,
welche Synchronisationsworte erfasst wurden und wo sie in den verschiedenen
Zeitschlitzen erfasst wurden.
-
Damit das System eine gewisse Fehlertoleranz
aufweist, wird akzeptiert, dass es eine Anzahl von Fehlern in einem
erfassten Synchronisationswort gibt, wobei Fehler normalerweise
ungefähr
zwei Bitfehler betreffen können.
Die obigen zusätzlichen
Kalkulationen sollten mit anderen Worten auch die akzeptablen "Verfälschungen" der Synchronisationsworte
inkludieren, nach denen gesucht wird. Es ist deshalb ein wichtiges
Ziel, die oben erwähnten
Anforderungen für
Geschwindigkeit mit Fehlertoleranz kombinieren zu können. Fehlertoleranz
ist eine besonders wichtige Charakteristik in funkbasierten Systemen,
da die Sendung über
Funk bei Weitem nicht perfekt ist und erneute Sendungen zeitraubend
sind und unmöglich
sein können,
wenn harte Zeitanforderungen zu erfüllen sind.
-
Die Erfindung hat als ihr Ziel die
Definition eines Verfahrens und einer Vorrichtung, die die Anforderungen
nach Geschwindigkeit, die das TDMA-Sendesystem hat, während der
Suche nach Bitmustern, die z. B. Synchronisationsworte sein können, erfüllen. Um
die Erfindung zu verdeutlichen, werden nun verschiedene Ausführungsformen
ihres Gebrauchs detailliert in Verbindung mit 3 bis 6 beschrieben.
-
3 zeigt
ein Blockdiagramm einer Basisausführungsform eines Verfahrens
und einer Vorrichtung gemäß der vorliegenden
Erfindung. Um die Ausführungsform
in einer bestimmten Verbindung anzuwenden, wurde angenommen, dass
nach Synchronisationsworten geschaut wird, was nicht als eine Begrenzung
gesehen werden sollte, sondern lediglich als eine Veranschaulichung
eines Bereichs einer Anwendung für
die Erfindung. 3 zeigt
einen seriellen Bitstrom 310, in dem nach Synchronisationsworten
gesucht wird, ebenso wie eine Tabelle 340. Die Tabelle 340 ist in
zwei Teile unterteilt, einen ersten Teil 342 und einen
zweiten Teil 344.
-
Es wird angenommen, dass die Wortlänge für die Synchronisationsworte,
die in dem Bitstrom zu finden sind, L ist. In einer Basisanordnung
und gemäß einem
Basisverfahren ist in derartigen Fällen eine Tabelle mit der Größe von 2L inkludiert, die alle Synchronisationsworte
inkludiert, nach denen gesucht wird, inkludierend die akzeptablen "Verfälschungen" von diesen in einem
ersten Teil 342. Ein Kandidatenbitmuster 330 einer Länge L wird
durch L Bits gebildet, die aus den Bitstrom extrahiert werden. Das
Kandidatenbitmuster wird verwendet, um eine Position 349 in
der Tabelle zu adressieren, d. h. das Kandidatenbitmuster wird als
eine Adresse verwendet. Jede Adresse entspricht somit einer Position
in der Tabelle. Jedesmal, wenn ein neues Bit empfangen wird, wird
der Bitstrom eine Position verschoben, wodurch ein neues Kandidatenbitmuster
extrahiert wird und dadurch auch eine neue Adresse.
-
Die Positionen in der Tabelle 340,
deren Adressen nicht beliebigen der Synchronisationsworte, nach denen
gesucht wird, oder akzeptablen Verfälschungen von diesen entsprechen,
inkludieren in dem ersten Teil 342 eine Angabe, dass die
Ad resse nicht einer Erfassung entspricht und kann z. B. die Zahl
null sein. Die Positionen in der Tabelle 340, deren Adressen umgekehrt
beliebigen der Synchronisationsworte, nach denen gesucht wird, oder
akzeptablen Verfälschungen
von diesen entsprechen, inkludieren in dem ersten Teil 342 eine Angabe,
dass die Adresse einer Erfassung entspricht. Die Angabe, dass eine
Adresse einer Erfassung entspricht, kann das nicht verfälschte Synchronisationswort
sein, dem das Kandidatenbitmuster entspricht, oder ein Verweis auf
das nicht verfälschte
Synchronisationswort. Der zweite Teil 344 der Tabelle 340
inkludiert Information bezüglich
dessen, wie viele Fehler das Kandidatenbitmuster in Bezug auf das
nicht verfälschte
Synchronisationswort hat, nach dem gesucht wird.
-
Wenn die adressierte Position 349 beliebige
der Synchronisationsworte enthält,
nach denen gesucht wird, wird in dem ersten Teil 342 ein "Treffer" angezeigt. Zur gleichen
Zeit gibt es eine Angabe, wie oben beschrieben, der Anzahl von "Fehlern" in dem zweiten Teil 344.
Somit können
weitere Kalkulationen bezüglich dessen,
wo sich in dem Zeitschlitz ein mögliches
Synchronisationswort befindet, einfach vorgenommen werden.
-
Um das Verfahren in einer weiteren
Ausführungsform
zu veranschaulichen, wird nun der Einfachheit halber angenommen,
dass ein Bitmuster gesucht wird, welches fünf Bit lang ist und gleich
binär 10101
ist. In der Ausführungsform
wird ein Bitfehler als eine Verfälschung
des Bitmusters, nach dem gesucht wird, zu sein akzeptiert. Es ist
somit in diesem Fall wünschenswert,
ein Bitmuster und seine fünf
unterschiedlichen Verfälschungen
zu finden (siehe Tabelle 1).
Bitmuster | 10101 |
ein
Bitfehler | 00101 |
ein
Bitfehler | 11101 |
ein
Bitfehler | 10001 |
ein
Bitfehler | 10111 |
ein
Bitfehler | 10100 |
Tabelle
1 – gesuchtes
Bitmuster und akzeptable Verfälschungen
-
Da das Bitmuster in diesem einfachen
Beispiel fünf
Bits lang ist, wird eine Tabelle mit zweiunddreißig Positionen (25) in Übereinstimmung
mit einer Ausführungsform
der Erfindung benötigt.
Tabelle 2 zeigt, wie eine derartige Tabelle aussehen kann. Die zweiunddreißig Positionen
sind hier von null bis einunddreißig nummeriert, da dies der
binären
Adressierung entspricht, die verwendet wird. Es sollte beachtet
werden, dass es nicht eine absolute Adressierung sein muss, sondern
eine Verschiebung (Versatz, offset) in einem größeren Speicher sein kann.
-
Eine Position entspricht jeder Adresse.
Es gehören
zwei unterschiedliche Typen von Information zu jeder Position, nämlich Information
darüber,
ob ein Treffer aufgetreten ist oder nicht (Trefferdaten, die in
dem vorherigen Beispiel dem ersten Teil 342 entsprechen)
und Information darüber,
wie verfälscht
der Treffer ist (Fehlerdaten, die in dem vorherigen Beispiel dem
zweiten Teil 344 entsprechen). In dem Beispiel kann gefolgert
werden, dass der Trefferdatenteil für alle Positionen ausgenommen
der mit Adressen 5, 17, 20, 21, 23 und 29 den Wert null enthält. Eine
Null in den Trefferdaten zeigt an, dass die Position nicht ein Treffer
ist und dass die Fehlerdaten in einem derartigen Fall keine Bedeutung
haben.
-
-
Tabelle
2 – Tabelle/Positionsinhalt
-
Um das gesuchte Bitmuster und seine
akzeptablen Verfälschungen
in diesem Beispiel zu finden, wird ein Kandidatenbitmuster der selben
Länge wie
das gesuchte Bitmuster extrahiert. Das Kandidatenbitmuster wird
dann als eine Adresse zum Adres sieren einer Position in Tabelle
2 verwendet. Aus Tabelle 2 wird Information darüber, ob ein Treffer aufgetreten
ist oder nicht, und falls ein Treffer aufgetreten ist, wie verfälscht das Kandidatenbitmuster
in Bezug auf das gesuchte Bitmuster ist, erhalten. Die Information
aus der Tabelle kann dann auf einem geeigneten Weg für weitere
Kalkulationen abhängig
von der Anwendung verwendet werden. Die Prozedur startet dann erneut
mit einem neuen Kandidatenbitmuster, das gebildet wird, um dadurch
eine neue Adresse für
Tabelle 2 zu bilden usw.
-
Angenommen, dass ein Kandidatenbitmuster
extrahiert wurde, das binär
11011 ist. Dies entspricht Position 27 in Tabelle 2. Position 27
enthält
Trefferdaten mit dem Wert 0, was in diesem Fall anzeigt, dass es
keinen Treffer mit dem gesuchten Bitmuster oder selbst eine akzeptable
Verfälschung
gibt. Da die Trefferdaten "0" inkludieren, haben
die Fehlerdaten überhaupt
keine Relevanz, was in Tabelle 2 durch ein "-"-Zeichen
angezeigt wurde.
-
Wenn zu einer anderen Gelegenheit
ein Kandidatenbitmuster extrahiert wurde, das binär 11101
ist, entspricht dies stattdessen Position 29 in Tabelle 2. Die Trefferdaten
in Position 29 inkludieren den Wert 10101, der sich von 0 unterscheidet
und anzeigt, dass in diesem Fall ein Treffer aufgetreten ist.
-
Die Trefferdaten ergeben entweder
das gesuchte Bitmuster direkt, wie in diesem Fall, oder indirekt
als einen Verweis auf das Bitmuster, das aufgetreten ist. Wenn nur
ein Bitmuster gesucht wird, ist in den Trefferdaten eine 0 oder
1 ausreichend, um einen Treffer oder keinen Treffer anzuzeigen.
Wenn mehrere unterschiedliche und/oder längere Bitmuster gesucht werden,
kann es geeignet sein, eine Referenz zu verwenden, die anzeigt,
dass es einen Treffer gibt und welches der gesuchten Bitmuster einen
Treffer angezeigt hat.
-
In dem letzten Beispiel ist das Kandidatenbitmuster
11101, was nicht das gleiche wie das Bitmuster 10101 ist, nach dem
gesucht wird, aber das Kandidatenbitmuster gehört zu der Gruppe von Bitmustern
mit akzeptabler Verfälschung.
Die Fehlerdaten in der Tabelle ergeben eine Angabe, ob es ein perfekter
Treffer oder ein Treffer mit einer akzeptablen Verfälschung
ist. In Position 29 gibt es in den Fehlerdaten eine "1", was bedeutet, dass das Kandidatenbitmuster
eine akzeptable Verfälschung
mit einem Bitfehler ist.
-
Zusammengefasst kann eine Basisausführungsform
der Erfindung als eine Vorrichtung und ein Verfahren beschrieben
werden, die gleichzeitig nach allen Bitmustern N und ihren akzeptablen
Verfälschungen
M einer Länge
L für jedes
Kandidatenbitmuster suchen. Ein Kandidatenbitmuster einer Länge L wird
als eine Adresse in einer Tabelle mit einer Größe 2L verwendet.
In den Positionen, deren Adressen einem der gesuchten Bitmuster
N oder akzeptablen Verfälschungen
M entsprechen, wird ein Treffer angezeigt. Ein Treffer wird z. B.
durch die Position angezeigt, die definiert, welches der nicht verfälschten
Bitmuster N es ist, oder einen Verweis, der dem der nicht verfälschten
Muster entspricht, der es ist. In allen anderen Positionen wird
ein Fehlschlag angezeigt, z. B. dadurch, dass es eine "0" ist.
-
4A zeigt
ein Flussdiagramm einer Anwendung der Erfindung zum Erfassen von
Bitmustern. Der erste Schritt ist ein Startschritt 410,
der eine Hardware-Rücksetzung
oder ein Software-Eingangspunkt
sein kann. Der Startschritt 410 kann vorteilhafter Weise
auch eine vordefinierte Tabelle erstellen, die spätere Schritte
verwenden, in dem Fall, wo die vordefinierte Tabelle nicht früher erstellt
wurde. Dann tritt vorzugsweise ein Adaptionsschritt 420 auf,
der das Informationsflussformat auf ein Format anpasst, das für die folgenden
Schritte geeignet ist. Die Anpassung kann aus einer Seriell-Parallel-Um- wandlung bestehen,
falls das Informationsflussformat ein serieller Bitstrom ist, oder
irgendein anderer Typ einer Anpassung der Daten auf die folgenden Schritte.
Dann kommt ein Extraktionsschritt 430, der ein Kandidatenbitmuster
extrahiert.
-
Wenn ein Kandidatenbitmuster extrahiert
ist, wird dies als eine Adresse zum Adressieren einer Position in
der vordefinierten Tabelle verwendet. Die Tabellenadressierung geschieht
in einem Adressierungsschritt 440. Alle Positionen in der
Tabelle, wie oben erwähnt,
bestehen am wünschenswertesten
aus mindestens zwei Teilen, nämlich
einem ersten Teil, der Trefferdaten inkludiert, und einem zweiten
Teil, der Fehlerdaten inkludiert. Die Tabelle muss mindestens den
Trefferdatenteil inkludieren. Der Trefferdatenteil in der Position
in der Tabelle, die in dem Adressierungsschritt 440 adressiert
wurde, wird dann in dem Testschritt 450 getestet. In dem
Fall, wo kein Treffer angezeigt wird, wird das gegenwärtige Kandidatenbitmuster
verworfen und die Prozedur setzt zu einem "mehr Daten" Testschritt 470 fort. Wenn
jedoch ein Treffer angezeigt wird, geht die Prozedur zu einem Bearbeitungsschritt 460 voran.
-
In dem Bearbeitungsschritt 460 wird
eine Bestimmung bezüglich
dessen, welches gesuchte Bitmuster erfasst wurde, durch Verwenden
des Trefferdatenteils vorgenommen. Das Kandidatenbitmuster ist nicht
notwendigerweise das gleiche wie das gesuchte Bitmuster, das erfasst
wurde, kann aber eine akzeptable Verfälschung sein. Der Bearbeitungsschritt 460 bestimmt
möglicherweise
durch Verwenden des Fehlerdatenteils auch, ob es ein perfekter Treffer
war, d. h. null Fehler, oder ein Treffer innerhalb eines Fehlerspielraums
einer vorbestimmten Anzahl von Bitfehlern. Der Bearbeitungsschritt 460 kann
auch möglicherweise
Daten und Fehlerdaten weiter bearbeiten, um z. B. zu bestimmen,
wo in dem Bitstrom derartige Treffer auftreten.
-
Der Bearbeitungsschritt 460 sendet
vorzugsweise Trefferdaten und beliebige Fehlerdaten und/oder beliebige
Ergebnisse einer zusätzlichen
Bearbeitung zu anderen Behandlungsschritten weiter.
-
Wenn die Behandlung von Daten im
Behandlungsschritt 460 abgeschlossen ist, setzt die Prozedur
zu dem "mehr Daten" Testschritt 470 fort.
Der Testschritt 470 kann in bestimmten Anwendungen überflüssig sein. Bestimmte
Anwendungen verwenden die Prozedur nur einmal zu einem Zeitpunkt,
d. h. es wird nur ein Kandidatenbitmuster aus dem Bitstrom extrahiert
und die Prozedur endet und geht direkt zu dem Endschritt 480, um
dann andere Bearbeitung auszuführen,
bevor es Zeit sein kann, die gesamte Prozedur erneut zu starten. Andere
Anwendungen erlauben der Prozedur (die sowohl rein softwaremäßig oder
rein hardwaremäßig oder als
eine Kombination ausgeführt
werden kann) unaufhörlich
fortzusetzen. Dies bedeutet, dass die Prozedur fortsetzt und zu
dem Adaptionsschritt 420 und dann zu dem Extraktionsschritt 430 springt,
wo ein neues Kandidatenbitmuster aus dem Bitstrom extrahiert wird.
Der Testschritt 470 bewältigt
die extreme ebenso wie beliebiges dazwischen.
-
Falls L groß ist (L = Bitmusterlänge), d.h.
die Tabelle ist groß und
erfordert eine Menge an Speicher, kann sie durch zwei oder alternativ
vier oder mehr Adressierungsaktionen aufgelöst werden, die für jedes
Kandidatenbitmuster mit Teilkandidatenbitmustern vorgenommen werden,
wobei jedes Teilkandidatenbitmuster die Länge L/2 oder L/4 usw. hat.
Falls Synchronisationsworte von 20 Bits wie in einem typischen TDMA-System verwendet
werden, erfordert die Basisausführungsform
der Erfindung die Verwendung von einer Tabelle mit 1048576 Positionen.
-
Falls umgekehrt das Kandidatenbitmuster
z. B. in zwei gleich große
Teile unterteilt ist und das erste und das zweite Teil kandidatenbitmuster
jedes seine eigene jeweilige Tabelle mit der Größe 2L/2 adressiert,
wird jede Tabelle in dem Beispiel mit Synchronisationsworten von
20 Bits eine Größe von nur
1024 Positionen haben. In diesem Fall ergibt dies eine Einsparung
von 1046528 Positionen.
-
Zuerst adressiert das erste Teilkandidatenbitmuster
seine Tabelle und wenn ein Treffer auftritt, adressiert das zweite
Teilkandidatenbitmuster seine Tabelle. Das gesamte Kandidatenbitmuster
wird verworfen, sobald es keinen Treffer in einer der Adressen gibt.
Dies bedeutet, dass selbst in diesem Fall allgemein nur eine Adressierung
vorgenommen werden muss. Nur in den Fällen, wo das erste Teilkandidatenbitmuster
einen Treffer ergibt, muss die zweite Adressierung mit dem zweiten
Teilkandidatenbitmuster in der zweiten Tabelle durchgeführt werden.
-
4B zeigt
ein Flussdiagramm für
eine Variation der fortgeschritteneren Ausführungsform der Erfindung. Das
Flussdiagramm veranschaulicht den Fall, wo die Tabelle in zwei Teiltabellen
unterteilt ist. Die ersten drei Schritte, der Startschritt 410,
der Adaptionsschritt 420 und der Extraktionsschritt 430,
können
im wesentlichen gemäß der Beschreibung
der obigen 4A arbeiten.
Der frühere
Adressierungsschritt ist nun in zwei Teile unterteilt, von denen
der erste Teiladressierungsschritt 442 die erste Hälfte des
Kandidatenbitmusters von dem Extraktionsschritt 430 verwendet,
um eine erste Teiltabelle zu adressieren. Beide der Teiltabellen,
die verwendet werden, sind geeignet vordefiniert, wie zuvor erwähnt. Die
erste Teiladressierung ergibt mindestens Information bezüglich dessen,
ob es ein Treffer ist oder nicht. In dem Fall, wo die erste Teiladressierung
keinen Treffer anzeigt, verwirft der erste Teiltestschritt 452 das
gesamte Kandidatenbitmuster und die Prozedur setzt zu einem "mehr Daten" Testschritt 470 fort.
Wenn umgekehrt die erste Teiladressie rung einen Treffer anzeigt, sendet
der erste Teiladressierungsschritt 452 die Prozedur zu
einem zweiten Teiladressierungsschritt 444 weiter.
-
Der zweite Teiladressierungsschritt 444 verwendet
die zweite Hälfte
des Kandidatenbitmusters, um eine zweite Teiltabelle zu adressieren.
In dem Fall, dass die zweite Teiladressierung keinen Treffer anzeigt, wird
das gesamte Kandidatenbitmuster durch den zweiten Teiltestschritt 454 verworfen
und die Prozedur wird weiter zu dem "mehr Daten" Testschritt 470 gesendet.
Falls umgekehrt die zweite Teiladressierung einen Treffer anzeigt,
sendet der zweite Teiltestschritt 454 die Prozedur weiter
zu einem Bearbeitungsschritt 460. Der Bearbeitungsschritt 460 arbeitet
im Prinzip wie zuvor beschrieben in Übereinstimmung mit der obigen 4A. Der Testschritt 470 arbeitet
auch im Prinzip wie zuvor beschrieben in Übereinstimmung mit 4A und bestimmt somit, wann
die Prozedur zu beenden ist.
-
Die vorliegende Erfindung kann in
eine Vorrichtungsform entweder als reine Hardware, als reine Software
oder als eine Kombination aus Hardware und Software gebracht werden.
Falls das Verfahren gemäß der Erfindung
in der Form von Software realisiert wird, kann es vollständig unabhängig sein
oder es kann ein Teil eines größeren Programms
sein. Die Software kann sich geeignet in einem allgemeinen Computer
oder einem dedizierten Computer, wie etwa einem digitalen Signalprozessor
(DSP) befinden. 5 und 6 zeigen zwei unterschiedliche
Wege zum Umsetzen der vorliegenden Erfindung in Vorrichtungsform
und sollten nur als Beispiele möglicher
Ausführungsformen
gesehen werden.
-
5 zeigt
ein Blockdiagramm von einem Beispiel einer Ausführungsform einer Vorrichtung
gemäß der Erfindung,
im wesentlichen in der Form von Hardware. Ein Informationsfluss
in der Form eines Bitstroms ist bei 515 zugreifbar und
wird in einen Extraktionsblock 520 für Kandidatenbitmuster eingespeist.
Der Extraktionsblock 520 ist geeignet mit Mitteln zum Anpassen
des Informationsflusses 515 in andere Hardware, wie etwa
z. B. eine fortwährende
Seriell-Parallel-Wandlung mit der Hilfe von z. B. einer Schieberegisterfunktion versehen.
Während
einer Verwendung in TDMA-Systemen können Mittel für eine Rahmensynchronisierung
z. B. in dem Extraktionsblock 520 inkludiert sein.
-
Inkludiert in der Vorrichtung ist
mindestens ein Speicher 530 zum Speichern der Tabelle gemäß der Erfindung.
Der Speicher 530 kann ein flüchtiger Speicher sein, aber
für eine
Vorrichtung in reiner Hardwareform wird ein Speicher 530 bevorzugt,
der nicht-flüchtig
und mit der Tabelle gemäß der Erfindung
vordefiniert ist. Die Tabelle in dem Speicher 530 wird
durch das Kandidatenbitmuster aus dem Extraktionsblock 520 adressiert
und gibt das Ergebnis zu einem Bearbeitungsblock 540, der
geeignet Mittel, wie etwa Komparatoren, zum Bestätigen hat, ob das Kandidatenbitmuster
einen Treffer verursacht hat oder nicht. Der Bearbeitungsblock 540 versendet
das Ergebnis 555 geeignet, wie etwa welches Bitmuster ein
Treffer und wie viele Bitfehler in dem Kandidatenbitmuster von dem
gesuchten Bitmuster waren, und möglicherweise
zusätzliche
Information zu anderen Einheiten für eine mögliche weitere Bearbeitung.
-
Jeder Block gemäß 5 kann z. B. entweder mit der Hilfe von
diskreten Gattern oder Speichern in mehr oder weniger komplexen
Schaltungen oder als Gatterfunktionen in einem oder mehr durch einen
Kunden angegebenen Schaltkreisen (ASIC – applikationsspezifischer
IC) gebildet werden.
-
6 zeigt
ein Blockdiagramm einer Ausführungsform
einer Vorrichtung, die die Erfindung im wesentlichen in Softwareform
verwendet, die in einem Computer ausgeführt wird. Der Computer umfasst
geeignet mindestens zwei Schnittstelleneinheiten (I/O) 620, 630,
eine Steuereinheit (CPU) 660, einen Programmspeicher (RAM,
ROM, PROM, EPROM, EEPROM) 650 und einen Datenspeicher (RAM,
EEPROM) 640. Der Informationsfluss in der Form von z. B.
einem Bitstrom ist bei 615 zugreifbar und wird in eine erste Schnittstelleneinheit 620 eingespeist.
Die erste Schnittstelleneinheit 620 passt unter anderem
den Informationsfluss zu der Informationsübertragung zwischen den unterschiedlichen
Einheiten an, der über
ein Adress- und Datenbussystem 675 stattfindet. Das Adress-
und Datenbussystem 675 inkludiert Mittel zum Sicherstellen,
dass alle notwendigen Adressen-, Daten- und Steuersignale zwischen
allen Einheiten miteinander gekoppelt sind.
-
Die Steuereinheit 660 führt Kalkulationen
und Steuerungen durch und regelt den Informationsfluss zwischen
allen Einheiten. Der Programmspeicher 650, der vorzugsweise
vordefiniert ist, inkludiert geeignet das Steuerprogramm mit Befehlen
für die
Steuereinheit 660, sodass die Vorrichtung das Verfahren
gemäß der Erfindung
durchführen
kann. Der Datenspeicher 640 oder möglicherweise der Programmspeicher 650 enthält die Tabelle
gemäß der Erfindung.
Der Datenspeicher 640 ist vorzugsweise auch mit Raum für permanente
und zeitweilige Speicherung von unter anderem von Variablen versehen,
die durch die Steuereinheit 660 verwendet werden.
-
Dieses zweite Beispiel eines Wegs
zum Umsetzen der Erfindung in eine Vorrichtungsform umfasst auch
eine zweite Schnittstelleneinheit 630. Die zweite Schnittstelleneinheit 630 hat
geeignet die Aufgabe von zuerst möglicherweise Speichern und
dann Weiterleiten des Ergebnisses 655. Der Typ von Information
und Ergebnis, was zu anderen Einheiten weiter gesendet wird, wird
durch die spezielle Ausführungsform
bestimmt.
-
Alle diese Blöcke und Einheiten können physisch
vollständig
getrennt in unterschiedlichen Einheiten gebildet sein, jeder Block
kann sogar aus einer Vielzahl von physischen Einheiten bestehen,
oder physisch aus einer einzelnen Einheit oder irgend einer Variation
dazwischen bestehen, d. h. bestimmte Blöcke sind in einer physischen
Einheit beinhaltet, während
es andere nicht sind. Die separaten Blöcke oder der gesamte Computer
können
mit anderen Funktionen mit der Hilfe von z. B. Timesharing gemeinsam
genutzt werden. Eine bevorzugte Variation ist, dass das Verfahren
als ein Teil in einem digitalen Signalprozessor ausgeführt wird.
-
Die Erfindung ist nicht auf die oben
beschriebenen Ausführungsformen
begrenzt, sondern kann innerhalb des Bereichs der angefügten Patentansprüche variiert
werden.